diff options
author | Yijing Wang <wangyijing@huawei.com> | 2013-04-15 08:45:10 -0600 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2013-04-15 08:45:10 -0600 |
commit | aa2cba51a0a85dfbd5be58239e59bc5e8b5fb7cf (patch) | |
tree | 78d34a8efe088c0cbec88c152f1f47c61e247247 /drivers/vfio/pci/vfio_pci_config.c | |
parent | a7d1ea1c11b33bda2691f3294b4d735ed635535a (diff) | |
download | lwn-aa2cba51a0a85dfbd5be58239e59bc5e8b5fb7cf.tar.gz lwn-aa2cba51a0a85dfbd5be58239e59bc5e8b5fb7cf.zip |
PCI/VFIO: use pcie_flags_reg instead of access PCI-E Capabilities Register
Currently, we use pcie_flags_reg to cache PCI-E Capabilities Register,
because PCI-E Capabilities Register bits are almost read-only. This patch
use pcie_caps_reg() instead of another access PCI-E Capabilities Register.
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/pci/vfio_pci_config.c')
-rw-r--r-- | drivers/vfio/pci/vfio_pci_config.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/vfio/pci/vfio_pci_config.c b/drivers/vfio/pci/vfio_pci_config.c index 072fdacb6f96..0e83e8ead142 100644 --- a/drivers/vfio/pci/vfio_pci_config.c +++ b/drivers/vfio/pci/vfio_pci_config.c @@ -1037,13 +1037,9 @@ static int vfio_cap_len(struct vfio_pci_device *vdev, u8 cap, u8 pos) return byte; case PCI_CAP_ID_EXP: /* length based on version */ - ret = pci_read_config_word(pdev, pos + PCI_EXP_FLAGS, &word); - if (ret) - return pcibios_err_to_errno(ret); - vdev->extended_caps = true; - if ((word & PCI_EXP_FLAGS_VERS) == 1) + if ((pcie_caps_reg(pdev) & PCI_EXP_FLAGS_VERS) == 1) return PCI_CAP_EXP_ENDPOINT_SIZEOF_V1; else return PCI_CAP_EXP_ENDPOINT_SIZEOF_V2; |