PCI/ATS: Use FIELD_GET()
Use FIELD_GET() to remove dependences on the field position, i.e., the shift value. No functional change intended. Link: https://lore.kernel.org/r/20231010204436.1000644-6-helgaas@kernel.org Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
This commit is contained in:
parent
d30fea2584
commit
e0701bd0e6
@ -9,6 +9,7 @@
|
||||
* Copyright (C) 2011 Advanced Micro Devices,
|
||||
*/
|
||||
|
||||
#include <linux/bitfield.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/pci-ats.h>
|
||||
#include <linux/pci.h>
|
||||
@ -480,8 +481,6 @@ int pci_pasid_features(struct pci_dev *pdev)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_pasid_features);
|
||||
|
||||
#define PASID_NUMBER_SHIFT 8
|
||||
#define PASID_NUMBER_MASK (0x1f << PASID_NUMBER_SHIFT)
|
||||
/**
|
||||
* pci_max_pasids - Get maximum number of PASIDs supported by device
|
||||
* @pdev: PCI device structure
|
||||
@ -503,9 +502,7 @@ int pci_max_pasids(struct pci_dev *pdev)
|
||||
|
||||
pci_read_config_word(pdev, pasid + PCI_PASID_CAP, &supported);
|
||||
|
||||
supported = (supported & PASID_NUMBER_MASK) >> PASID_NUMBER_SHIFT;
|
||||
|
||||
return (1 << supported);
|
||||
return (1 << FIELD_GET(PCI_PASID_CAP_WIDTH, supported));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_max_pasids);
|
||||
#endif /* CONFIG_PCI_PASID */
|
||||
|
@ -932,6 +932,7 @@
|
||||
#define PCI_PASID_CAP 0x04 /* PASID feature register */
|
||||
#define PCI_PASID_CAP_EXEC 0x0002 /* Exec permissions Supported */
|
||||
#define PCI_PASID_CAP_PRIV 0x0004 /* Privilege Mode Supported */
|
||||
#define PCI_PASID_CAP_WIDTH 0x1f00
|
||||
#define PCI_PASID_CTRL 0x06 /* PASID control register */
|
||||
#define PCI_PASID_CTRL_ENABLE 0x0001 /* Enable bit */
|
||||
#define PCI_PASID_CTRL_EXEC 0x0002 /* Exec permissions Enable */
|
||||
|
Loading…
Reference in New Issue
Block a user