All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amit Virdi <amit.virdi@st.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/4] USB:gadget:designware Fix memory nonalignment issue
Date: Tue, 6 Mar 2012 15:06:05 +0530	[thread overview]
Message-ID: <4F55DA85.8070909@st.com> (raw)
In-Reply-To: <201203051921.20956.marex@denx.de>

Dear Marek,

On 3/5/2012 11:51 PM, Marek Vasut wrote:
> Dear Amit Virdi,
>
>> From: Shiraz Hashim<shiraz.hashim@st.com>
>>
>> While receiving packets from FIFO sometimes the buffer provided was
>> nonaligned. Fix this by taking a temporary aligned buffer and then
>> copying the content to nonaligned buffer.
>>
>> Signed-off-by: Shiraz Hashim<shiraz.hashim@st.com>
>> Signed-off-by: Amit Virdi<amit.virdi@st.com>
>> ---
>>   drivers/usb/gadget/designware_udc.c |   15 ++++++++++++++-
>>   1 files changed, 14 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/usb/gadget/designware_udc.c
>> b/drivers/usb/gadget/designware_udc.c index d4b53a2..878123c 100644
>> --- a/drivers/usb/gadget/designware_udc.c
>> +++ b/drivers/usb/gadget/designware_udc.c
>> @@ -202,6 +202,7 @@ static int usbgetpckfromfifo(int epNum, u8 *bufp, u32
>> len) u32 i, nw, nb;
>>   	u32 *wrdp;
>>   	u8 *bytp;
>> +	u32 tmp[128];
>>
>>   	if (readl(&udc_regs_p->dev_stat)&  DEV_STAT_RXFIFO_EMPTY)
>>   		return -1;
>> @@ -209,7 +210,12 @@ static int usbgetpckfromfifo(int epNum, u8 *bufp, u32
>> len) nw = len / sizeof(u32);
>>   	nb = len % sizeof(u32);
>>
>> -	wrdp = (u32 *)bufp;
>> +	/* use tmp buf if bufp is not word aligned */
>> +	if ((int)bufp&  0x3)
>> +		wrdp = (u32 *)&tmp[0];
>> +	else
>> +		wrdp = (u32 *)bufp;
>> +
>>   	for (i = 0; i<  nw; i++) {
>>   		writel(readl(fifo_ptr), wrdp);
>>   		wrdp++;
>> @@ -223,6 +229,13 @@ static int usbgetpckfromfifo(int epNum, u8 *bufp, u32
>> len) }
>>   	readl(&outep_regs_p[epNum].write_done);
>>
>> +	/* copy back tmp buffer to bufp if bufp is not word aligned */
>> +	if ((int)bufp&  0x3) {
>> +		bytp = (u8 *)&tmp[0];
>> +		for (i = 0; i<  len; i++)
>> +			bufp[i] = bytp[i];
>> +	}
>> +
>>   	return 0;
>>   }
>
> This addresses EHCI cache problem, that's why you need bounce buffer, right?
>

No. The problem was we were copying data word-by-word to a non-word 
aligned memory in the USB gadget. So, this is different from the USB 
host controller issue.


Thanks n Regards
Amit Virdi

> This is the patch from Puneet, can you give it a go and tell me if EHCI works
> for you without 4/4 patch from your series or do you still see issues?
>
> http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/126447
>
> Thanks in advance!
>
> Best regards,
> Marek Vasut
> .
>

  reply	other threads:[~2012-03-06  9:36 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16 12:03 [U-Boot] [PATCH 0/4] USB: Add support for designware UDC Amit Virdi
2012-02-16 12:03 ` [U-Boot] [PATCH 1/4] USB:gadget:designware USB device controller (UDC) implementation Amit Virdi
2012-03-05 18:12   ` Marek Vasut
2012-03-06  4:32     ` Amit Virdi
2012-02-16 12:03 ` [U-Boot] [PATCH 2/4] USB:gadget:designware Device controller bugfixes Amit Virdi
2012-03-05 18:13   ` Marek Vasut
2012-03-06  4:34     ` Amit Virdi
2012-02-16 12:03 ` [U-Boot] [PATCH 3/4] USB:gadget:designware Support high speed Amit Virdi
2012-03-05 18:15   ` Marek Vasut
2012-03-06  5:44     ` Amit Virdi
2012-02-16 12:03 ` [U-Boot] [PATCH 4/4] USB:gadget:designware Fix memory nonalignment issue Amit Virdi
2012-03-05 18:21   ` Marek Vasut
2012-03-06  9:36     ` Amit Virdi [this message]
2012-03-06  9:51       ` Marek Vasut
2012-03-06 16:08         ` Mike Frysinger
2012-03-07  7:14           ` Amit Virdi
2012-03-06 16:09   ` Mike Frysinger
2012-03-07  7:04     ` Amit Virdi
2012-02-24 11:56 ` [U-Boot] [PATCH 0/4] USB: Add support for designware UDC Amit Virdi
2012-03-05 18:06   ` Marek Vasut

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=4F55DA85.8070909@st.com \
    --to=amit.virdi@st.com \
    --cc=u-boot@lists.denx.de \
    /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.