summaryrefslogtreecommitdiff
path: root/drivers/pci/access.c
diff options
context:
space:
mode:
authorMaxime Ripard <mripard@kernel.org>2024-01-22 09:44:15 +0100
committerMaxime Ripard <mripard@kernel.org>2024-01-22 09:44:15 +0100
commitcf79f291f985662150363b4a93d16f88f12643bc (patch)
treea803f6e9b1e34f100783538955b9ce34628cd5dd /drivers/pci/access.c
parenta20f1b02bafcbf5a32d96a1d4185d6981cf7d016 (diff)
parent6613476e225e090cc9aad49be7fa504e290dd33d (diff)
Merge v6.8-rc1 into drm-misc-fixes
Let's kickstart the 6.8 fix cycle. Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'drivers/pci/access.c')
-rw-r--r--drivers/pci/access.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pci/access.c b/drivers/pci/access.c
index 6554a2e89d36..6449056b57dd 100644
--- a/drivers/pci/access.c
+++ b/drivers/pci/access.c
@@ -598,3 +598,15 @@ int pci_write_config_dword(const struct pci_dev *dev, int where,
return pci_bus_write_config_dword(dev->bus, dev->devfn, where, val);
}
EXPORT_SYMBOL(pci_write_config_dword);
+
+void pci_clear_and_set_config_dword(const struct pci_dev *dev, int pos,
+ u32 clear, u32 set)
+{
+ u32 val;
+
+ pci_read_config_dword(dev, pos, &val);
+ val &= ~clear;
+ val |= set;
+ pci_write_config_dword(dev, pos, val);
+}
+EXPORT_SYMBOL(pci_clear_and_set_config_dword);