On Thu, Oct 10, 2024 at 05:41:56PM +0900, Damien Le Moal wrote: > On 2024/10/10 16:02, Manivannan Sadhasivam wrote: > > On Mon, Oct 07, 2024 at 01:12:07PM +0900, Damien Le Moal wrote: > >> The rockchip PCIe endpoint controller handles PCIe transfers addresses > >> by masking the lower bits of the programmed PCI address and using the > >> same number of lower bits masked from the CPU address space used for the > >> mapping. For a PCI mapping of <size> bytes starting from <pci_addr>, > >> the number of bits masked is the number of address bits changing in the > >> address range [pci_addr..pci_addr + size - 1]. > >> > >> However, rockchip_pcie_prog_ep_ob_atu() calculates num_pass_bits only > >> using the size of the mapping, resulting in an incorrect number of mask > >> bits depending on the value of the PCI address to map. > >> > >> Fix this by introducing the helper function > >> rockchip_pcie_ep_ob_atu_num_bits() to correctly calculate the number of > >> mask bits to use to program the address translation unit. The number of > >> mask bits iscalculated depending on both the PCI address and size of the > >> mapping, and clamped between 8 and 20 using the macros > >> ROCKCHIP_PCIE_AT_MIN_NUM_BITS and ROCKCHIP_PCIE_AT_MAX_NUM_BITS. > >> > > > > How did you end up with these clamping values? Are the values (at least MAX > > applicable to all SoCs)? > > > > Btw, it would be helpful if you referenced the TRM and the section that > > describes the outbound mapping. I'm able to find the reference: > > > > Rockchip RK3399 TRM V1.3 Part2, Section 17.5.5.1.1 > > OK. Will add that. > > I really appreciate very much all the reviews you are sending, but given that > this patch series depends on the series "[PATCH v4 0/7] Improve PCI memory > mapping API", could we start with that one and get it queued ASAP ? > Sure. Sorry for being late btw. Personal errands are eating up the review time. - Mani -- மணிவண்ணன் சதாசிவம்