[PATCH 7/8] xhci: translate virtual addresses into the bus's address space

Stefan Roese sr at denx.de
Fri Nov 20 07:15:40 CET 2020


Hi Bin,
Hi Nicolas,

On 20.11.20 01:31, Bin Meng wrote:
> +Stefan
> 
> On Fri, Nov 20, 2020 at 1:49 AM Nicolas Saenz Julienne
> <nsaenzjulienne at suse.de> wrote:
>>
>> So far we've been content with passing physical addresses when
>> configuring memory addresses into XHCI controllers, but not all
>> platforms have buses with transparent mappings. Specifically the
>> Raspberry Pi 4 might introduce an offset to memory accesses incoming
>> from its PCIe port.
>>
>> Introduce xhci_virt_to_bus() and xhci_bus_to_virt() to cater with these
>> limitations and make sure we don't break non DM users.
> 
> I believe this was already addressed by Stefan before, to support xHCI in MIPS.

I believe from taking a quick look at the code, that Nicolas not only
needs to transfer between phys and virt addresses, but also needs to
support different "offsets" on multiple devices. IIUTC, it's an
extension to the already available support for mapped addresses (virtual
!= physical).

BTW: Do we really need to support non-DM code with this new approach in
this late phase of DM conversion?

Thanks,
Stefan

>>
>> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
>> ---
>>   drivers/usb/host/xhci-mem.c  | 45 +++++++++++++++++++-----------------
>>   drivers/usb/host/xhci-ring.c | 11 +++++----
>>   drivers/usb/host/xhci.c      |  4 ++--
>>   include/usb/xhci.h           | 22 +++++++++++++++++-
>>   4 files changed, 54 insertions(+), 28 deletions(-)
>>
> 
> Regards,
> Bin
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list