Re: [PATCH 10/10] PCI/portdrv: Use FIELD_GET()

Ilpo Järvinen
2023-10-11T11:41:08Z

[-- Attachment #1: Type: text/plain, Size: 1824 bytes --]

On Tue, 10 Oct 2023, Bjorn Helgaas wrote:

> From: Bjorn Helgaas <bhelgaas@google.com>
>
> Use FIELD_GET() to remove dependences on the field position, i.e., the
> shift value. No functional change intended.
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
> drivers/pci/pcie/portdrv.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/pcie/portdrv.c b/drivers/pci/pcie/portdrv.c
> index 46fad0d813b2..14a4b89a3b83 100644
> --- a/drivers/pci/pcie/portdrv.c
> +++ b/drivers/pci/pcie/portdrv.c
> @@ -6,6 +6,7 @@
> * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
> */
>
> +#include <linux/bitfield.h>
> #include <linux/dmi.h>
> #include <linux/init.h>
> #include <linux/module.h>
> @@ -69,7 +70,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
> if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP |
> PCIE_PORT_SERVICE_BWNOTIF)) {
> pcie_capability_read_word(dev, PCI_EXP_FLAGS, &reg16);
> - *pme = (reg16 & PCI_EXP_FLAGS_IRQ) >> 9;
> + *pme = FIELD_GET(PCI_EXP_FLAGS_IRQ, reg16);
> nvec = *pme + 1;
> }
>
> @@ -81,7 +82,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
> if (pos) {
> pci_read_config_dword(dev, pos + PCI_ERR_ROOT_STATUS,
> &reg32);
> - *aer = (reg32 & PCI_ERR_ROOT_AER_IRQ) >> 27;
> + *aer = FIELD_GET(PCI_ERR_ROOT_AER_IRQ, reg32);
> nvec = max(nvec, *aer + 1);
> }
> }
> @@ -92,7 +93,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
> if (pos) {
> pci_read_config_word(dev, pos + PCI_EXP_DPC_CAP,
> &reg16);
> - *dpc = reg16 & PCI_EXP_DPC_IRQ;
> + *dpc = FIELD_GET(PCI_EXP_DPC_IRQ, reg16);
> nvec = max(nvec, *dpc + 1);

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

--
i.