All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Cherian <george.cherian@ti.com>
To: <balbi@ti.com>
Cc: <linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<gregkh@linuxfoundation.org>, <sarah.a.sharp@linux.intel.com>
Subject: Re: [PATCH] usb: host: xhci-plat: Enable XHCI_SPURIOUS_SUCCESS quirk for xhci-plat
Date: Wed, 26 Jun 2013 17:46:29 +0530	[thread overview]
Message-ID: <51CADB9D.3070206@ti.com> (raw)
In-Reply-To: <20130626090213.GQ12640@arwen.pp.htv.fi>

On 6/26/2013 2:32 PM, Felipe Balbi wrote:
> Hi,
>
> On Wed, Jun 26, 2013 at 02:28:57PM +0530, George Cherian wrote:
>> Synopsis xhci controllers with hci_version > 0.96 gives spurious success
>> events on short packet completion. During webcam capture the
>> "ERROR Transfer event TRB DMA ptr not part of current TD" was observed.
>> The same application works fine with synopsis controllers hci_version 0.96.
>>
>> Signed-off-by: George Cherian<george.cherian@ti.com>
>> ---
>>   drivers/usb/host/xhci-plat.c | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
>> index 93ad67e..e63c6d3 100644
>> --- a/drivers/usb/host/xhci-plat.c
>> +++ b/drivers/usb/host/xhci-plat.c
>> @@ -25,6 +25,16 @@ static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
>>   	 * dev struct in order to setup MSI
>>   	 */
>>   	xhci->quirks |= XHCI_BROKEN_MSI;
>> +
>> +	/*
>> +	 * In some xhci controllers which follows xhci 1.0 spec gives a spurious
>> +	 * success event after a short transfer. This quirk will ignore such
>> +	 * spurious event. Hit this issue in synopsis xhci controllers with
>> +	 * hci_version > 0.96
>> +	 */
>> +
>> +	if (xhci->hci_version > 0x96)
>> +		xhci->quirks |= XHCI_SPURIOUS_SUCCESS;
>>   }
> doesn't look like the correct way to do this. What if enabling that
> quirk on hosts which don't have the quirk cause problems ?
For a controller which does not have this issue will never get a 
spurious success for short packet ( and that too for only ISOCH).

per this commit ad808333d Intel xhci: Ignore spurious successful event.

This spurious successful event behavior isn't technically disallowed by
the xHCI specification, so make the xHCI driver just ignore the spurious
completion event.
> I would suggest adding a platform_data which (in our case) dwc3 will
> pass to xhci-plat. Then you can do proper revision detection of the
> synopsys controller and set the quirk only on the failing hosts.
>
> BTW, do you have the STARS number for this errata ?
No STARS number yet.


Regards
-George

  reply	other threads:[~2013-06-26 12:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-26  8:58 [PATCH] usb: host: xhci-plat: Enable XHCI_SPURIOUS_SUCCESS quirk for xhci-plat George Cherian
2013-06-26  9:02 ` Felipe Balbi
2013-06-26 12:16   ` George Cherian [this message]
2013-06-26 12:25     ` Felipe Balbi
2013-06-26 16:53 ` Sarah Sharp
2013-06-30 21:00   ` Sarah Sharp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51CADB9D.3070206@ti.com \
    --to=george.cherian@ti.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=sarah.a.sharp@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.