Re: [PATCH v4 1/1] PCI: endpoint: pci-epf-vntb: Fix transfer failure for fixed size BARs

From: Niklas Cassel
Date: Tue Jan 30 2024 - 14:43:57 EST


On Thu, Jan 25, 2024 at 10:33:19AM -0500, Frank Li wrote:
> On Mon, Jan 08, 2024 at 10:10:15AM -0500, Frank Li wrote:
> > For the inbound MEM/IO TLPs, iATU on the endpoint expects the target
> > address to be aligned to the size of the BAR. For configurable BARs, there
> > is no issue because both host and endpoint will know the exact size of the
> > BAR region. But for fixed size BARs available in some controllers, if the
> > BAR size advertised by the endpoint is not same as of the actual BAR size
> > used in the controller, then the MEM/IO TLPs generated by the host will not
> > be translated properly by the endpoint iATU.
> >
> > So if the fixed size BARs are available in endpoint controllers, always use
> > the actual BAR size.
> >
> > This only fixes doorbell (DB) BAR. A similar fix is needed for memory map
> > windows(MW) BARs.
> >
> > Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
> > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> > ---
>
> @lpieralisi:
>
> Could you please pick this fix patch?


Hello Frank, Lorenzo, Mani,


Frank, sorry for not seeing this patch earlier.

Could you please see if this series fixes your issue:
https://lore.kernel.org/linux-pci/20240130193214.713739-1-cassel@xxxxxxxxxx/T/#t

I think it is nicer since:
1) It doesn't add copy pasted code from pci-epf-test.c to pci-epf-vntb.c.
2) I would expect it to handle both the doorbell BAR and the MW BARs.


Kind regards,
Niklas