Re: [PATCH v2] MIPS: Octeon: Set OHCI and EHCI MMIO byte order to match CPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2015-05-26 at 11:46 -0400, Alan Stern wrote:
> On Mon, 25 May 2015, Ben Hutchings wrote:
> 
> > The Octeon OHCI is now supported by the ohci-platform driver, and
> > USB_OCTEON_OHCI is marked as deprecated.  However, it is currently
> > still necessary to enable it in order to select
> > USB_OHCI_BIG_ENDIAN_MMIO.  Make CPU_CAVIUM_OCTEON select that as well,
> > so that USB_OCTEON_OHCI is really obsolete.
> 
> Good catch.
> 
> > The old ohci-octeon and ehci-octeon drivers also only enabled big-endian
> > MMIO in case the CPU was big-endian.
> 
> This is true in the current kernel as well.  [eo]hci-platform.c enables
> big-endian MMIO only if the appropriate flag is set in the platform
> data or OF properties.

Oh, I see.

> >  Make the selections of
> > USB_EHCI_BIG_ENDIAN_MMIO and USB_OHCI_BIG_ENDIAN_MMIO conditional, to
> > match this.
> 
> I'm not sure you want to do this.  [eo]hci-platform.c will fail with an 
> error if the platform/OF data has the big-endian flag set but 
> CONFIG_USB_[EO]HCI_BIG_ENDIAN_MMIO isn't defined.

The conditional selection should match the platform data in
arch/mips/cavium-octeon/octeon-platform.c

> > Fixes: 2193dda5eec6 ("USB: host: Remove ehci-octeon and ohci-octeon drivers")
> > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> > ---
> > v2: Make selections conditional
> > 
> > This is also untested; I'm just comparing the old and new code.
> 
> Is there anyone who can test this with both big-endian and 
> little-endian hardware?

Failing that, the previous version of this patch ("MIPS: Octeon: Select
USB_OHCI_BIG_ENDIAN_MMIO") should be a safe fix.

The conditional selection in this patch is a possible optimisation on
top of that, and not a necessary fix as I thought.

Ben,

-- 
Ben Hutchings
Reality is just a crutch for people who can't handle science fiction.

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux