Re: [PATCH] USB: ehci-mxc: i.MX35: add workaround for ENGcm11601

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

 



Hello,

On Wed, March 11, 2015 2:16 pm, Uwe Kleine-König wrote:
> Hello,
>
> On Wed, Mar 11, 2015 at 01:42:42PM +0100, Bas Vermeulen wrote:
>> i.MX35 has an issue that when USB DMA (SINGLE) transfers
>> are interrupted, the usb core can hang.
>>
>> This patch implements the workaround described in ENGcm11601
>> by setting the AHB to use INCR transfers instead of SINGLE
>> transfers.
>>
>> Signed-off-by: Bas Vermeulen <bas.vermeulen@xxxxxxxxxxxx>
>> CC: Sasha Hauer <kernel@xxxxxxxxxxxxxx>
> s/Sasha/Sascha/

I'll change that.

>> +static int ehci_mxc_reset(struct usb_hcd *hcd)
>> +{
>> +	int retval;
>> +
>> +	retval = ehci_setup(hcd);
>> +	if (retval)
>> +		return retval;
>> +
>> +	/* workaround for ENGcm11601 */
>> +	if (of_machine_is_compatible("fsl,imx35"))
> This is not pretty. The usb device in the dts looks as follows:
>
> 	usbhost1: usb@53ff4400 {
> 		compatible = "fsl,imx35-usb", "fsl,imx27-usb";
> 		...
> 	}
>
> so it would be good to match on fsl,imx35-usb instead of the machine id.
> Also it seems that currently the driver binds to this device because of
> the i.MX27 compatible entry assuming that these are identical. The same
> holds true for i.MX23 (really?), i.MX25, i.MX50, i.MX51, i.MX53 and
> i.MX6*.
> Among these SoCs is really only the i.MX35 affected?

I don't know. I have only seen the problem on an i.MX35 with a very old
(2.6.31.14) kernel. I found a patch for u-boot that implements it with an
#ifdef CONFIG_MX35, implying that only the i.MX35 is affected.

I am unable to test this on other hardware. I wanted to make sure that the
code is only executed when the i.MX35 is used. In the 2.6.31.14 case, I
used cpu_is_mx35(). I'm not sure what the current syntax would be, but the
of_machine_is_compatible("fsl,imx35") seemed to fit.

Regards,

Bas Vermeulen

-- 
Blackstar Embedded Services
Hoofdweg 128 * 9626AJ * Schildwolde * The Netherlands
T: +31 598 423928 * F: +31 598 423991 * M: +31 6 45622453
E-mail: bas.vermeulen@xxxxxxxxxxxx
KvK: 01163970 * BTW-nummer: NL142605608B01


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux