diff mbox series

[1/3] vfio/pci: Remove shadow rom specific code paths

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

Commit Message

Li, Yunxiang (Teddy) Dec. 12, 2024, 8:50 p.m. UTC
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(-)

Comments

Alex Williamson Dec. 12, 2024, 11 p.m. UTC | #1
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 mbox series

Patch

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;