Hi Stefan,

On Thu, Jul 2, 2020 at 4:47 PM Stefan Roese <[email protected]> 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()?

> We need to use cpu_to_le64() here to ensure that the conversion is done
> correctly.
>
> Signed-off-by: Stefan Roese <[email protected]>
> Cc: Bin Meng <[email protected]>
> Cc: Marek Vasut <[email protected]>
> ---
>
>  drivers/usb/host/xhci-mem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
> index bd959b4093..3b805ecb9e 100644
> --- a/drivers/usb/host/xhci-mem.c
> +++ b/drivers/usb/host/xhci-mem.c
> @@ -562,7 +562,7 @@ int xhci_mem_init(struct xhci_ctrl *ctrl, struct 
> xhci_hccr *hccr,
>                 trb_64 = 0;
>                 trb_64 = (uintptr_t)seg->trbs;
>                 struct xhci_erst_entry *entry = &ctrl->erst.entries[val];
> -               xhci_writeq(&entry->seg_addr, trb_64);
> +               entry->seg_addr = cpu_to_le64(trb_64);
>                 entry->seg_size = cpu_to_le32(TRBS_PER_SEGMENT);
>                 entry->rsvd = 0;
>                 seg = seg->next;

Reviewed-by: Bin Meng <[email protected]>

Regards,
Bin

Reply via email to