[PATCH v1 2/4] usb: xhci: xhci_mem_init: Use cpu_to_le64() and not xhci_writeq()
Bin Meng
bmeng.cn at gmail.com
Fri Jul 17 12:09:17 CEST 2020
Hi Stefan,
On Fri, Jul 17, 2020 at 6:04 PM Stefan Roese <sr at denx.de> wrote:
>
> On 17.07.20 07:24, Bin Meng wrote:
> > Hi Stefan,
> >
> > On Thu, Jul 2, 2020 at 4:47 PM Stefan Roese <sr at denx.de> wrote:
> >>
> >> xhci_writeq() makes the CPU->LE swapping only when addressing registers
> >> in the xHCI controller address range and not in the local memory (RAM).
> >
> > Is the above behavior exposed by the MIPS platform's writel()?
>
> Not sure what you mean with this. Without this patch, xhci_writeq()
> will not swap on Octeon MIPS, as the destination address is located
> in local memory (DDR).
I wonder why xhci_writeq() does not swap? Is this due to the writel()
implementation on Octeon MIPS?
> Using the xhci_read/write accessor functions
> should be restricted to accessing the controller registers.
Yes, this is the supposed usage that xhci_read/write should be called
to operate on xHCI registers. However my question was why
xhci_read/write does not swap even it is called on memory space, hence
the writel() question.
>
> BTW: The Octeon MIPS writel will swap to little-endian, when the
> location is in the xHCI controller address space (and PCI etc). This
> support for selective swapping is not pushed into mainline yet. I
> will send it in some follow up patches.
>
Regards,
Bin
More information about the U-Boot
mailing list