Re: [PATCH] powerpc/powernv/pci: Drop VF MPS fixup
On Wed, 2 Sep 2020 13:51:59 +1000, Oliver O'Halloran wrote: > The MPS field in the VF config space is marked as reserved in current > versions of the SR-IOV spec. In other words, this fixup doesn't do > anything. > > Applied to powerpc/next. [1/1] powerpc/powernv/pci: Drop VF MPS fixup https://git.kernel.org/powerpc/c/a5d28039ecb288f4788ae98c8291e092961e8742 cheers
Re: [PATCH] powerpc/powernv/pci: Drop VF MPS fixup
"Oliver O'Halloran" writes: > On Thu, May 19, 2022 at 10:38 PM Michael Ellerman wrote: >> Christophe Leroy writes: >> > Le 02/09/2020 à 05:51, Oliver O'Halloran a écrit : >> >> The MPS field in the VF config space is marked as reserved in current >> >> versions of the SR-IOV spec. In other words, this fixup doesn't do >> >> anything. >> >> >> >> Signed-off-by: Oliver O'Halloran >> > >> > A lot of cleanup patches from Oliver were merged in Septembre 2020 but >> > not this one. >> > >> > Any reason ? >> >> It wasn't clear to me that it's safe to remove. The commit that added it >> seemed to think it was important. >> >> The fact that it's out-of-spec doesn't mean we don't have some hardware >> somewhere that relies on that. > > There is no hardware that depends on it. It was added in response to a > bug report on the IBM internal bugzilla about virtual functions not > reporting the same MPS as the physical function in the output of > lspci. This is by design since MPS is a property that is only relevant > to the PF. There was a corresponding patch to skiboot to intercept > writes to the MPS field of VFs which was used to fake a writable MPS > field in firmware. I removed that hack in 2019 > (https://github.com/open-power/skiboot/commit/22057f868f3b2b1fd02647a738f6da0858b5eb6c) > since it was pointless and was causing other problems. There's no real > reason to keep this code around IMO. Thanks for the extra detail, I am persuaded :) cheers
Re: [PATCH] powerpc/powernv/pci: Drop VF MPS fixup
On Thu, May 19, 2022 at 10:38 PM Michael Ellerman wrote: > > Christophe Leroy writes: > > Le 02/09/2020 à 05:51, Oliver O'Halloran a écrit : > >> The MPS field in the VF config space is marked as reserved in current > >> versions of the SR-IOV spec. In other words, this fixup doesn't do > >> anything. > >> > >> Signed-off-by: Oliver O'Halloran > > > > A lot of cleanup patches from Oliver were merged in Septembre 2020 but > > not this one. > > > > Any reason ? > > It wasn't clear to me that it's safe to remove. The commit that added it > seemed to think it was important. > > The fact that it's out-of-spec doesn't mean we don't have some hardware > somewhere that relies on that. There is no hardware that depends on it. It was added in response to a bug report on the IBM internal bugzilla about virtual functions not reporting the same MPS as the physical function in the output of lspci. This is by design since MPS is a property that is only relevant to the PF. There was a corresponding patch to skiboot to intercept writes to the MPS field of VFs which was used to fake a writable MPS field in firmware. I removed that hack in 2019 (https://github.com/open-power/skiboot/commit/22057f868f3b2b1fd02647a738f6da0858b5eb6c) since it was pointless and was causing other problems. There's no real reason to keep this code around IMO.
Re: [PATCH] powerpc/powernv/pci: Drop VF MPS fixup
Christophe Leroy writes: > Le 02/09/2020 à 05:51, Oliver O'Halloran a écrit : >> The MPS field in the VF config space is marked as reserved in current >> versions of the SR-IOV spec. In other words, this fixup doesn't do >> anything. >> >> Signed-off-by: Oliver O'Halloran > > A lot of cleanup patches from Oliver were merged in Septembre 2020 but > not this one. > > Any reason ? It wasn't clear to me that it's safe to remove. The commit that added it seemed to think it was important. The fact that it's out-of-spec doesn't mean we don't have some hardware somewhere that relies on that. cheers
Re: [PATCH] powerpc/powernv/pci: Drop VF MPS fixup
Le 02/09/2020 à 05:51, Oliver O'Halloran a écrit : The MPS field in the VF config space is marked as reserved in current versions of the SR-IOV spec. In other words, this fixup doesn't do anything. Signed-off-by: Oliver O'Halloran A lot of cleanup patches from Oliver were merged in Septembre 2020 but not this one. Any reason ? Thanks Christophe --- arch/powerpc/platforms/powernv/eeh-powernv.c | 18 -- 1 file changed, 18 deletions(-) diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c index 9af8c3b98853..0cabe4e632e3 100644 --- a/arch/powerpc/platforms/powernv/eeh-powernv.c +++ b/arch/powerpc/platforms/powernv/eeh-powernv.c @@ -1689,24 +1689,6 @@ static struct eeh_ops pnv_eeh_ops = { .notify_resume = NULL }; -#ifdef CONFIG_PCI_IOV -static void pnv_pci_fixup_vf_mps(struct pci_dev *pdev) -{ - struct pci_dn *pdn = pci_get_pdn(pdev); - int parent_mps; - - if (!pdev->is_virtfn) - return; - - /* Synchronize MPS for VF and PF */ - parent_mps = pcie_get_mps(pdev->physfn); - if ((128 << pdev->pcie_mpss) >= parent_mps) - pcie_set_mps(pdev, parent_mps); - pdn->mps = pcie_get_mps(pdev); -} -DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pnv_pci_fixup_vf_mps); -#endif /* CONFIG_PCI_IOV */ - /** * eeh_powernv_init - Register platform dependent EEH operations *
[PATCH] powerpc/powernv/pci: Drop VF MPS fixup
The MPS field in the VF config space is marked as reserved in current versions of the SR-IOV spec. In other words, this fixup doesn't do anything. Signed-off-by: Oliver O'Halloran --- arch/powerpc/platforms/powernv/eeh-powernv.c | 18 -- 1 file changed, 18 deletions(-) diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c index 9af8c3b98853..0cabe4e632e3 100644 --- a/arch/powerpc/platforms/powernv/eeh-powernv.c +++ b/arch/powerpc/platforms/powernv/eeh-powernv.c @@ -1689,24 +1689,6 @@ static struct eeh_ops pnv_eeh_ops = { .notify_resume = NULL }; -#ifdef CONFIG_PCI_IOV -static void pnv_pci_fixup_vf_mps(struct pci_dev *pdev) -{ - struct pci_dn *pdn = pci_get_pdn(pdev); - int parent_mps; - - if (!pdev->is_virtfn) - return; - - /* Synchronize MPS for VF and PF */ - parent_mps = pcie_get_mps(pdev->physfn); - if ((128 << pdev->pcie_mpss) >= parent_mps) - pcie_set_mps(pdev, parent_mps); - pdn->mps = pcie_get_mps(pdev); -} -DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pnv_pci_fixup_vf_mps); -#endif /* CONFIG_PCI_IOV */ - /** * eeh_powernv_init - Register platform dependent EEH operations * -- 2.26.2