Message ID | 20241212205050.5737-1-Yunxiang.Li@amd.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/3] vfio/pci: Remove shadow rom specific code paths | expand |
Please us a cover letter for any multi-part series to describe your overall goal with the series. On Thu, 12 Dec 2024 15:50:48 -0500 Yunxiang Li <Yunxiang.Li@amd.com> wrote: > After 0c0e0736acad, the shadow rom works the same as regular ROM BARs so > these code paths are no longer needed. Commit references should be in the form of: After commit 0c0e0736acad ("PCI: Set ROM shadow location in arch code, not in PCI core"), the shadow... Thanks, Alex > Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com> > --- > drivers/vfio/pci/vfio_pci_config.c | 8 ++------ > drivers/vfio/pci/vfio_pci_core.c | 10 ++-------- > drivers/vfio/pci/vfio_pci_rdwr.c | 3 --- > 3 files changed, 4 insertions(+), 17 deletions(-) > > diff --git a/drivers/vfio/pci/vfio_pci_config.c b/drivers/vfio/pci/vfio_pci_config.c > index ea2745c1ac5e6..e41c3a965663e 100644 > --- a/drivers/vfio/pci/vfio_pci_config.c > +++ b/drivers/vfio/pci/vfio_pci_config.c > @@ -511,13 +511,9 @@ static void vfio_bar_fixup(struct vfio_pci_core_device *vdev) > mask = ~(pci_resource_len(pdev, PCI_ROM_RESOURCE) - 1); > mask |= PCI_ROM_ADDRESS_ENABLE; > *vbar &= cpu_to_le32((u32)mask); > - } else if (pdev->resource[PCI_ROM_RESOURCE].flags & > - IORESOURCE_ROM_SHADOW) { > - mask = ~(0x20000 - 1); > - mask |= PCI_ROM_ADDRESS_ENABLE; > - *vbar &= cpu_to_le32((u32)mask); > - } else > + } else { > *vbar = 0; > + } > > vdev->bardirty = false; > } > diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c > index 1ab58da9f38a6..b49dd9cdc072a 100644 > --- a/drivers/vfio/pci/vfio_pci_core.c > +++ b/drivers/vfio/pci/vfio_pci_core.c > @@ -1057,14 +1057,8 @@ static int vfio_pci_ioctl_get_region_info(struct vfio_pci_core_device *vdev, > > /* Report the BAR size, not the ROM size */ > info.size = pci_resource_len(pdev, info.index); > - if (!info.size) { > - /* Shadow ROMs appear as PCI option ROMs */ > - if (pdev->resource[PCI_ROM_RESOURCE].flags & > - IORESOURCE_ROM_SHADOW) > - info.size = 0x20000; > - else > - break; > - } > + if (!info.size) > + break; > > /* > * Is it really there? Enable memory decode for implicit access > diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c > index 66b72c2892841..a1eeacad82120 100644 > --- a/drivers/vfio/pci/vfio_pci_rdwr.c > +++ b/drivers/vfio/pci/vfio_pci_rdwr.c > @@ -244,9 +244,6 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_core_device *vdev, char __user *buf, > > if (pci_resource_start(pdev, bar)) > end = pci_resource_len(pdev, bar); > - else if (bar == PCI_ROM_RESOURCE && > - pdev->resource[bar].flags & IORESOURCE_ROM_SHADOW) > - end = 0x20000; > else > return -EINVAL; >
diff --git a/drivers/vfio/pci/vfio_pci_config.c b/drivers/vfio/pci/vfio_pci_config.c index ea2745c1ac5e6..e41c3a965663e 100644 --- a/drivers/vfio/pci/vfio_pci_config.c +++ b/drivers/vfio/pci/vfio_pci_config.c @@ -511,13 +511,9 @@ static void vfio_bar_fixup(struct vfio_pci_core_device *vdev) mask = ~(pci_resource_len(pdev, PCI_ROM_RESOURCE) - 1); mask |= PCI_ROM_ADDRESS_ENABLE; *vbar &= cpu_to_le32((u32)mask); - } else if (pdev->resource[PCI_ROM_RESOURCE].flags & - IORESOURCE_ROM_SHADOW) { - mask = ~(0x20000 - 1); - mask |= PCI_ROM_ADDRESS_ENABLE; - *vbar &= cpu_to_le32((u32)mask); - } else + } else { *vbar = 0; + } vdev->bardirty = false; } diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c index 1ab58da9f38a6..b49dd9cdc072a 100644 --- a/drivers/vfio/pci/vfio_pci_core.c +++ b/drivers/vfio/pci/vfio_pci_core.c @@ -1057,14 +1057,8 @@ static int vfio_pci_ioctl_get_region_info(struct vfio_pci_core_device *vdev, /* Report the BAR size, not the ROM size */ info.size = pci_resource_len(pdev, info.index); - if (!info.size) { - /* Shadow ROMs appear as PCI option ROMs */ - if (pdev->resource[PCI_ROM_RESOURCE].flags & - IORESOURCE_ROM_SHADOW) - info.size = 0x20000; - else - break; - } + if (!info.size) + break; /* * Is it really there? Enable memory decode for implicit access diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c index 66b72c2892841..a1eeacad82120 100644 --- a/drivers/vfio/pci/vfio_pci_rdwr.c +++ b/drivers/vfio/pci/vfio_pci_rdwr.c @@ -244,9 +244,6 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_core_device *vdev, char __user *buf, if (pci_resource_start(pdev, bar)) end = pci_resource_len(pdev, bar); - else if (bar == PCI_ROM_RESOURCE && - pdev->resource[bar].flags & IORESOURCE_ROM_SHADOW) - end = 0x20000; else return -EINVAL;
After 0c0e0736acad, the shadow rom works the same as regular ROM BARs so these code paths are no longer needed. Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com> --- drivers/vfio/pci/vfio_pci_config.c | 8 ++------ drivers/vfio/pci/vfio_pci_core.c | 10 ++-------- drivers/vfio/pci/vfio_pci_rdwr.c | 3 --- 3 files changed, 4 insertions(+), 17 deletions(-)