Re: [PATCH v2 0/5] PCI: dwc: improve msi handling

Vidya Sagar
2020-10-08T05:35:41Z

On 10/6/2020 12:06 PM, Jisheng Zhang wrote:
> External email: Use caution opening links or attachments
>
>
> On Tue, 6 Oct 2020 11:56:34 +0530 Vidya Sagar wrote:
>
>>
>>
>> Hi,
>
> Hi,
>
>> I would like to verify this series along with the other series "PCI:
>> dwc: fix two MSI issues" on Tegra194. I tried to apply these series on
>> both linux-next and Lorenzo's pci/dwc branches but there seem to be non
>> trivial conflicts. Could you please tell me which branch I can use and
>> apply these series cleanly?
>
> This is a fix, so I thought the series would be picked up in v5.9, so the
> series is patched against v5.9-rcN
>
> could you please try v5 https://lkml.org/lkml/2020/9/29/2511 on v5.9-rc7?
I tried this series on top of v5.9-rc7 and it worked as expected on
Tegra194 platform. Also, I couldn't cleanly apply the other series 'PCI:
dwc: fix two MSI issues' on top. Could you please rebase them?

Thanks,
Vidya Sagar
>
>
> Thanks
>
>> FWIW, I acknowledge that the existing code does leak MSI target page
>> every time system goes through suspend-resume sequence on Tegra194.
>>
>> Thanks,
>> Vidya Sagar
>>
>> On 9/24/2020 4:35 PM, Jisheng Zhang wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> Improve the msi code:
>>> 1. Add proper error handling.
>>> 2. Move dw_pcie_msi_init() from each users to designware host to solve
>>> msi page leakage in resume path.
>>>
>>> Since v1:
>>> - add proper error handling patches.
>>> - solve the msi page leakage by moving dw_pcie_msi_init() from each
>>> users to designware host
>>>
>>>
>>> Jisheng Zhang (5):
>>> PCI: dwc: Call dma_unmap_page() before freeing the msi page
>>> PCI: dwc: Check alloc_page() return value
>>> PCI: dwc: Rename dw_pcie_free_msi to dw_pcie_msi_deinit
>>> PCI: dwc: Skip PCIE_MSI_INTR0* programming if MSI is disabled
>>> PCI: dwc: Move dw_pcie_msi_init() from each users to designware host
>>>
>>> drivers/pci/controller/dwc/pci-dra7xx.c | 1 +
>>> drivers/pci/controller/dwc/pci-exynos.c | 2 -
>>> drivers/pci/controller/dwc/pci-imx6.c | 3 --
>>> drivers/pci/controller/dwc/pci-meson.c | 8 ----
>>> drivers/pci/controller/dwc/pcie-artpec6.c | 10 -----
>>> .../pci/controller/dwc/pcie-designware-host.c | 43 +++++++++++++------
>>> .../pci/controller/dwc/pcie-designware-plat.c | 3 --
>>> drivers/pci/controller/dwc/pcie-designware.h | 9 +++-
>>> drivers/pci/controller/dwc/pcie-histb.c | 3 --
>>> drivers/pci/controller/dwc/pcie-kirin.c | 3 --
>>> drivers/pci/controller/dwc/pcie-qcom.c | 3 --
>>> drivers/pci/controller/dwc/pcie-spear13xx.c | 1 -
>>> drivers/pci/controller/dwc/pcie-tegra194.c | 2 -
>>> drivers/pci/controller/dwc/pcie-uniphier.c | 9 +---
>>> 14 files changed, 38 insertions(+), 62 deletions(-)
>>>
>>> --
>>> 2.28.0
>>>