Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 2014-12-22 02:18, Peter Chen wrote: > On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: >> The first two patches add identification register API's. These can >> be used to get controller's revision. >> >> The third patch implements an errata for revision 2.40a. Not sure >> which other SOCs implement this version of the Chipidea core but >> this fixes the usb client issue observed on Vybrids. The patch was >> tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf >> tests ran for three hours plus, with these patches applied have found >> the USB client connection to be now reliable. > > Would you help do a overnight test? It is passed, I will queue them, > thanks. > Hi Peter, Also did a short test on 3.19-rc1 here: # iperf -s Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) [ 4] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53241 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 152 MBytes 127 Mbits/sec [ 5] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53243 [ 8] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53247 [ 7] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53246 [ 6] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53245 [ 4] local 192.168.1.10 port 5001 connected with 192.168.1.1 port 53244 [ 6] 0.0-10.1 sec 30.9 MBytes 25.7 Mbits/sec [ 5] 0.0-10.1 sec 30.9 MBytes 25.7 Mbits/sec [ 7] 0.0-10.1 sec 30.9 MBytes 25.7 Mbits/sec [ 8] 0.0-10.1 sec 30.9 MBytes 25.6 Mbits/sec [ 4] 0.0-10.1 sec 30.9 MBytes 25.7 Mbits/sec [SUM] 0.0-10.1 sec 154 MBytes 128 Mbits/sec Tried also UDP mode and scp copies as well as adding some kernel level latencies by pluging and unpluging a USB mass storage device. Looks good to me as well: Tested-by: Stefan Agner Btw, this was and solves now the error I was mentioning in my patchset enabling Vybrid support: http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/274342.html @Sanchayan/Peter: Minor nits as reply to the actual patch emails. -- Stefan > Peter >> >> This patchset is based off on Shawn Guo's for-next branch >> https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/tree/?h=for-next >> >> The credit for the patches and fix goes to Matthieu Castet and Peter Chen. >> First two patches are by Peter Chen and the third patch which fixed the >> bug we observed was reported by Matthieu Castet. >> >> The discussion of the problem and the relevant testing details can be found >> at this link: http://www.spinics.net/lists/linux-usb/msg118544.html >> >> The first version of this patchset originally send by Peter Chen can be >> found at this link: http://www.spinics.net/lists/linux-usb/msg118753.html >> >> Comments for review are welcome :). >> Note: I am going on a vacation so will not be able to reply or do any further >> tests till Monday. Will attend and take care of any comments/requests for >> further changes/testing from Tuesday. Apologize for the delay in advance. >> >> Sanchayan Maity (3): >> usb: chipidea: Add identification registers access APIs >> usb: chipidea: Add chipidea revision information >> usb: chipidea: Add errata for revision 2.40a >> >> drivers/usb/chipidea/bits.h | 10 >> drivers/usb/chipidea/ci.h | 53 >> +++ >> drivers/usb/chipidea/core.c | 23 +-- >> drivers/usb/chipidea/udc.c | 20 >> 4 files changed, 104 insertions(+), 2 deletions(-) >> >> -- >> 1.7.9.5 >> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/24/2014 02:30 PM, Peter Chen wrote: > >> >> On 12/23/2014 05:39 AM, Peter Chen wrote: >>> On Mon, Dec 22, 2014 at 06:39:42PM +0530, Sanchayan Maity wrote: On 12/22/2014 06:48 AM, Peter Chen wrote: > On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: >> The first two patches add identification register API's. These can >> be used to get controller's revision. >> >> The third patch implements an errata for revision 2.40a. Not sure >> which other SOCs implement this version of the Chipidea core but >> this fixes the usb client issue observed on Vybrids. The patch was >> tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf >> tests ran for three hours plus, with these patches applied have >> found the USB client connection to be now reliable. > > Would you help do a overnight test? It is passed, I will queue them, > thanks. Yes definitely I can help with the testing. Are you looking for iperf tests only or something else? iperf tests running for 12 or 24 hours will do? I will need a bit of time to set things up here, as I am away from work, but, ya I will do them. >>> >>> iperf for g_ncm or g_ether and bonnie++ for g_mass_storage if you can >>> run, thanks. >> >> The tests were run on a Toradex Colibri Vybrid VF61 module having 256MB >> RAM with the 3.18 kernel. >> >> The iperf tests ran for around 19 hours before I stopped it. A snip of the >> iperf >> tests is below. Used the Ethernet Gadget class for this. >> >> [ 4] 70453.0-70453.5 sec 6.89 MBytes 116 Mbits/sec >> [ 4] 70453.5-70454.0 sec 6.83 MBytes 115 Mbits/sec >> [ 4] 70454.0-70454.5 sec 6.84 MBytes 115 Mbits/sec >> [ 4] 70454.5-70455.0 sec 6.89 MBytes 116 Mbits/sec >> [ 4] 70455.0-70455.5 sec 6.90 MBytes 116 Mbits/sec >> [ 4] 70455.5-70456.0 sec 6.90 MBytes 116 Mbits/sec >> [ 4] 70456.0-70456.5 sec 6.82 MBytes 114 Mbits/sec >> [ 4] 70456.5-70457.0 sec 6.80 MBytes 114 Mbits/sec >> [ 4] 70457.0-70457.5 sec 6.89 MBytes 116 Mbits/sec >> [ 4] 70457.5-70458.0 sec 6.85 MBytes 115 Mbits/sec >> [ 4] 70458.0-70458.5 sec 6.82 MBytes 114 Mbits/sec >> [ 4] 70458.5-70459.0 sec 6.82 MBytes 114 Mbits/sec >> [ 4] 0.0-70459.2 sec 946 GBytes 115 Mbits/sec >> >> Ran bonnie++ on gadget mass storage. CPU usage around the time of running >> this test was mostly around the 90% mark with the minimum at 60% plus. >> The storage directory was formatted with ext4. bonnie++ version used is >> 1.97 and was installed from the Arch repositories with pacman. >> >> The size of the file being specified for "lun" storage is 512MB. I have >> specified >> 128MB RAM in the below run with the size of file for IO performance as 256MB. >> Without this bonnie++ was giving me an error around the "Writing >> intelligently" >> point. I assume this has to do with the file size bonnie++ uses for testing. >> > > What's your backfile for mass storage, mmc? The backfile for this mass storage is a "file.img" in the /home/root directory created with the dd command as below dd if=/dev/zero of=file.img bs=1024 count=0 seek=$[1024*512] The script I use for activating mass storage is as below: /bin/mount none /mnt -t configfs /bin/mkdir /mnt/usb_gadget/g1 cd /mnt/usb_gadget/g1 /bin/mkdir configs/c.1 /bin/mkdir functions/mass_storage.0 echo /home/root/file.img > functions/mass_storage.0/lun.0/file /bin/mkdir strings/0x409 /bin/mkdir configs/c.1/strings/0x409 echo 0x006a > idProduct echo 0x15a2 > idVendor echo Freescale123 > strings/0x409/serialnumber echo Freescale > strings/0x409/manufacturer echo "Mass Storage Gadget" > strings/0x409/product echo "Conf 1" > configs/c.1/strings/0x409/configuration echo 200 > configs/c.1/MaxPower ln -s functions/mass_storage.0 configs/c.1 echo ci_hdrc.0 > UDC > You mean without this errata, running bonnie++ will meet error? No, I didn't mean that. I meant if I do something like sudo /usr/bin/bonnie++ -m Vybrid -r 256 -d /var/run/media/sanchayan/Vybrid/ -x 5 -u root -n 0 then this gives me an error. Not aware of the bonnie++ internals, but, I guess this would be because bonnie++ uses some higher multiple of the block size to write and the storage is much lesser than that. The exact output for this case is as below [sanchayan@Sanchayan-Arch ~]$ sudo /usr/bin/bonnie++ -m Vybrid -r 256 -d /var/run/media/sanchayan/Vybrid/ -x 5 -u root -n 0 [sudo] password for sanchayan: Using uid:0, gid:0. format_version,bonnie_version,name,concurrency,seed,file_size,io_chunk_size,putc,putc_cpu,put_block,put_block_cpu,rewrite,rewrite_cpu,getc,getc_cpu,get_block,get_block_cpu,seeks,seeks_cpu,num_files,max_size,min_size,num_dirs,file_chunk_size,seq_create,seq_create_cpu,seq_stat,seq_stat_cpu,seq_del,seq_del_cpu,ran_create,ran_create_cpu,ran_stat,ran_stat_cpu,ran_del,ran_del_cpu,putc_latency,put_block_latency,rewrite_latency,getc_latency,get_block_latency,seeks_latency,seq_create_latency,seq_stat_latency,seq_
RE: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
> > On 12/23/2014 05:39 AM, Peter Chen wrote: > > On Mon, Dec 22, 2014 at 06:39:42PM +0530, Sanchayan Maity wrote: > >> On 12/22/2014 06:48 AM, Peter Chen wrote: > >>> On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: > The first two patches add identification register API's. These can > be used to get controller's revision. > > The third patch implements an errata for revision 2.40a. Not sure > which other SOCs implement this version of the Chipidea core but > this fixes the usb client issue observed on Vybrids. The patch was > tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf > tests ran for three hours plus, with these patches applied have > found the USB client connection to be now reliable. > >>> > >>> Would you help do a overnight test? It is passed, I will queue them, > >>> thanks. > >> > >> Yes definitely I can help with the testing. Are you looking for iperf > >> tests only or something else? iperf tests running for 12 or 24 hours > >> will do? I will need a bit of time to set things up here, as I am > >> away from work, but, ya I will do them. > >> > > > > iperf for g_ncm or g_ether and bonnie++ for g_mass_storage if you can > > run, thanks. > > The tests were run on a Toradex Colibri Vybrid VF61 module having 256MB > RAM with the 3.18 kernel. > > The iperf tests ran for around 19 hours before I stopped it. A snip of the > iperf > tests is below. Used the Ethernet Gadget class for this. > > [ 4] 70453.0-70453.5 sec 6.89 MBytes 116 Mbits/sec > [ 4] 70453.5-70454.0 sec 6.83 MBytes 115 Mbits/sec > [ 4] 70454.0-70454.5 sec 6.84 MBytes 115 Mbits/sec > [ 4] 70454.5-70455.0 sec 6.89 MBytes 116 Mbits/sec > [ 4] 70455.0-70455.5 sec 6.90 MBytes 116 Mbits/sec > [ 4] 70455.5-70456.0 sec 6.90 MBytes 116 Mbits/sec > [ 4] 70456.0-70456.5 sec 6.82 MBytes 114 Mbits/sec > [ 4] 70456.5-70457.0 sec 6.80 MBytes 114 Mbits/sec > [ 4] 70457.0-70457.5 sec 6.89 MBytes 116 Mbits/sec > [ 4] 70457.5-70458.0 sec 6.85 MBytes 115 Mbits/sec > [ 4] 70458.0-70458.5 sec 6.82 MBytes 114 Mbits/sec > [ 4] 70458.5-70459.0 sec 6.82 MBytes 114 Mbits/sec > [ 4] 0.0-70459.2 sec 946 GBytes 115 Mbits/sec > > Ran bonnie++ on gadget mass storage. CPU usage around the time of running > this test was mostly around the 90% mark with the minimum at 60% plus. > The storage directory was formatted with ext4. bonnie++ version used is > 1.97 and was installed from the Arch repositories with pacman. > > The size of the file being specified for "lun" storage is 512MB. I have > specified > 128MB RAM in the below run with the size of file for IO performance as 256MB. > Without this bonnie++ was giving me an error around the "Writing > intelligently" > point. I assume this has to do with the file size bonnie++ uses for testing. > What's your backfile for mass storage, mmc? You mean without this errata, running bonnie++ will meet error? > [sanchayan@Sanchayan-Arch ~]$ sudo /usr/bin/bonnie++ -m Vybrid -r 128 -d > /var/run/media/sanchayan/Vybrid/ -x 5 -u root -n 0 -s 256 Using uid:0, gid:0. > format_version,bonnie_version,name,concurrency,seed,file_size,io_chunk_si > ze,putc,putc_cpu,put_block,put_block_cpu,rewrite,rewrite_cpu,getc,getc_cp > u,get_block,get_block_cpu,seeks,seeks_cpu,num_files,max_size,min_size,nu > m_dirs,file_chunk_size,seq_create,seq_create_cpu,seq_stat,seq_stat_cpu,se > q_del,seq_del_cpu,ran_create,ran_create_cpu,ran_stat,ran_stat_cpu,ran_del > ,ran_del_cpu,putc_latency,put_block_latency,rewrite_latency,getc_latency,ge > t_block_latency,seeks_latency,seq_create_latency,seq_stat_latency,seq_del_ > latency,ran_create_latency,ran_stat_latency,ran_del_latency > Writing a byte at a time...done > Writing intelligently...done > Rewriting...done > Reading a byte at a time...done > Reading intelligently...done > start 'em...done...done...done...done...done... > 1.97,1.97,Vybrid,1,1419409300,256M,,659,87,8341,1,9401,0,4222,98,+,+++, > 3539,19,,23042us,66us,59us,4482us,79us,475us,, > Writing a byte at a time...done > Writing intelligently...done > Rewriting...done > Reading a byte at a time...done > Reading intelligently...done > start 'em...done...done...done...done...done... > 1.97,1.97,Vybrid,1,1419409300,256M,,661,90,7689,1,9071,0,4011,99,+,+++, > 3426,20,,15406us,64us,62us,4667us,23us,10030us,, > Writing a byte at a time...done > Writing intelligently...done > Rewriting...done > Reading a byte at a time...done > Reading intelligently...done > start 'em...done...done...done...done...done... > 1.97,1.97,Vybrid,1,1419409300,256M,,673,89,8117,1,9451,0,3879,98,+,+++, > 3355,22,,14210us,45us,69us,5069us,21us,10052us,, > Writing a byte at a time...done > Writing intelligently...done > Rewriting...done > Reading a byte at a time...done > Reading intelligently...done > start 'em...done...done...done...done...done... > 1.97,1.97,Vybrid,1,141
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/23/2014 05:39 AM, Peter Chen wrote: > On Mon, Dec 22, 2014 at 06:39:42PM +0530, Sanchayan Maity wrote: >> On 12/22/2014 06:48 AM, Peter Chen wrote: >>> On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: The first two patches add identification register API's. These can be used to get controller's revision. The third patch implements an errata for revision 2.40a. Not sure which other SOCs implement this version of the Chipidea core but this fixes the usb client issue observed on Vybrids. The patch was tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf tests ran for three hours plus, with these patches applied have found the USB client connection to be now reliable. >>> >>> Would you help do a overnight test? It is passed, I will queue them, >>> thanks. >> >> Yes definitely I can help with the testing. Are you looking for iperf >> tests only or something else? iperf tests running for 12 or 24 hours >> will do? I will need a bit of time to set things up here, as I am away >> from work, but, ya I will do them. >> > > iperf for g_ncm or g_ether and bonnie++ for g_mass_storage if you can > run, thanks. The tests were run on a Toradex Colibri Vybrid VF61 module having 256MB RAM with the 3.18 kernel. The iperf tests ran for around 19 hours before I stopped it. A snip of the iperf tests is below. Used the Ethernet Gadget class for this. [ 4] 70453.0-70453.5 sec 6.89 MBytes 116 Mbits/sec [ 4] 70453.5-70454.0 sec 6.83 MBytes 115 Mbits/sec [ 4] 70454.0-70454.5 sec 6.84 MBytes 115 Mbits/sec [ 4] 70454.5-70455.0 sec 6.89 MBytes 116 Mbits/sec [ 4] 70455.0-70455.5 sec 6.90 MBytes 116 Mbits/sec [ 4] 70455.5-70456.0 sec 6.90 MBytes 116 Mbits/sec [ 4] 70456.0-70456.5 sec 6.82 MBytes 114 Mbits/sec [ 4] 70456.5-70457.0 sec 6.80 MBytes 114 Mbits/sec [ 4] 70457.0-70457.5 sec 6.89 MBytes 116 Mbits/sec [ 4] 70457.5-70458.0 sec 6.85 MBytes 115 Mbits/sec [ 4] 70458.0-70458.5 sec 6.82 MBytes 114 Mbits/sec [ 4] 70458.5-70459.0 sec 6.82 MBytes 114 Mbits/sec [ 4] 0.0-70459.2 sec 946 GBytes 115 Mbits/sec Ran bonnie++ on gadget mass storage. CPU usage around the time of running this test was mostly around the 90% mark with the minimum at 60% plus. The storage directory was formatted with ext4. bonnie++ version used is 1.97 and was installed from the Arch repositories with pacman. The size of the file being specified for "lun" storage is 512MB. I have specified 128MB RAM in the below run with the size of file for IO performance as 256MB. Without this bonnie++ was giving me an error around the "Writing intelligently" point. I assume this has to do with the file size bonnie++ uses for testing. [sanchayan@Sanchayan-Arch ~]$ sudo /usr/bin/bonnie++ -m Vybrid -r 128 -d /var/run/media/sanchayan/Vybrid/ -x 5 -u root -n 0 -s 256 Using uid:0, gid:0. format_version,bonnie_version,name,concurrency,seed,file_size,io_chunk_size,putc,putc_cpu,put_block,put_block_cpu,rewrite,rewrite_cpu,getc,getc_cpu,get_block,get_block_cpu,seeks,seeks_cpu,num_files,max_size,min_size,num_dirs,file_chunk_size,seq_create,seq_create_cpu,seq_stat,seq_stat_cpu,seq_del,seq_del_cpu,ran_create,ran_create_cpu,ran_stat,ran_stat_cpu,ran_del,ran_del_cpu,putc_latency,put_block_latency,rewrite_latency,getc_latency,get_block_latency,seeks_latency,seq_create_latency,seq_stat_latency,seq_del_latency,ran_create_latency,ran_stat_latency,ran_del_latency Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... 1.97,1.97,Vybrid,1,1419409300,256M,,659,87,8341,1,9401,0,4222,98,+,+++,3539,19,,23042us,66us,59us,4482us,79us,475us,, Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... 1.97,1.97,Vybrid,1,1419409300,256M,,661,90,7689,1,9071,0,4011,99,+,+++,3426,20,,15406us,64us,62us,4667us,23us,10030us,, Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... 1.97,1.97,Vybrid,1,1419409300,256M,,673,89,8117,1,9451,0,3879,98,+,+++,3355,22,,14210us,45us,69us,5069us,21us,10052us,, Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... 1.97,1.97,Vybrid,1,1419409300,256M,,668,89,7801,1,9343,0,4099,98,+,+++,3336,16,,17019us,44us,75us,4920us,20us,10234us,, Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... 1.97,1.97,V
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/23/2014 05:39 AM, Peter Chen wrote: > On Mon, Dec 22, 2014 at 06:39:42PM +0530, Sanchayan Maity wrote: >> On 12/22/2014 06:48 AM, Peter Chen wrote: >>> On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: The first two patches add identification register API's. These can be used to get controller's revision. The third patch implements an errata for revision 2.40a. Not sure which other SOCs implement this version of the Chipidea core but this fixes the usb client issue observed on Vybrids. The patch was tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf tests ran for three hours plus, with these patches applied have found the USB client connection to be now reliable. >>> >>> Would you help do a overnight test? It is passed, I will queue them, >>> thanks. >> >> Yes definitely I can help with the testing. Are you looking for iperf >> tests only or something else? iperf tests running for 12 or 24 hours >> will do? I will need a bit of time to set things up here, as I am away >> from work, but, ya I will do them. >> > > iperf for g_ncm or g_ether and bonnie++ for g_mass_storage if you can > run, thanks. Will run 12 hour iperf test for CDC ECM. I am not aware of bonnie++, but, will look into it. Will get back once I have the results. Thanks. Regards, Sanchayan. > > Peter > >> -Regards, >> Sanchayan. >>> >>> Peter This patchset is based off on Shawn Guo's for-next branch https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/tree/?h=for-next The credit for the patches and fix goes to Matthieu Castet and Peter Chen. First two patches are by Peter Chen and the third patch which fixed the bug we observed was reported by Matthieu Castet. The discussion of the problem and the relevant testing details can be found at this link: http://www.spinics.net/lists/linux-usb/msg118544.html The first version of this patchset originally send by Peter Chen can be found at this link: http://www.spinics.net/lists/linux-usb/msg118753.html Comments for review are welcome :). Note: I am going on a vacation so will not be able to reply or do any further tests till Monday. Will attend and take care of any comments/requests for further changes/testing from Tuesday. Apologize for the delay in advance. Sanchayan Maity (3): usb: chipidea: Add identification registers access APIs usb: chipidea: Add chipidea revision information usb: chipidea: Add errata for revision 2.40a drivers/usb/chipidea/bits.h | 10 drivers/usb/chipidea/ci.h | 53 +++ drivers/usb/chipidea/core.c | 23 +-- drivers/usb/chipidea/udc.c | 20 4 files changed, 104 insertions(+), 2 deletions(-) -- 1.7.9.5 >>> > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On Mon, Dec 22, 2014 at 06:39:42PM +0530, Sanchayan Maity wrote: > On 12/22/2014 06:48 AM, Peter Chen wrote: > > On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: > >> The first two patches add identification register API's. These can > >> be used to get controller's revision. > >> > >> The third patch implements an errata for revision 2.40a. Not sure > >> which other SOCs implement this version of the Chipidea core but > >> this fixes the usb client issue observed on Vybrids. The patch was > >> tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf > >> tests ran for three hours plus, with these patches applied have found > >> the USB client connection to be now reliable. > > > > Would you help do a overnight test? It is passed, I will queue them, > > thanks. > > Yes definitely I can help with the testing. Are you looking for iperf > tests only or something else? iperf tests running for 12 or 24 hours > will do? I will need a bit of time to set things up here, as I am away > from work, but, ya I will do them. > iperf for g_ncm or g_ether and bonnie++ for g_mass_storage if you can run, thanks. Peter > -Regards, > Sanchayan. > > > > Peter > >> > >> This patchset is based off on Shawn Guo's for-next branch > >> https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/tree/?h=for-next > >> > >> The credit for the patches and fix goes to Matthieu Castet and Peter Chen. > >> First two patches are by Peter Chen and the third patch which fixed the > >> bug we observed was reported by Matthieu Castet. > >> > >> The discussion of the problem and the relevant testing details can be found > >> at this link: http://www.spinics.net/lists/linux-usb/msg118544.html > >> > >> The first version of this patchset originally send by Peter Chen can be > >> found at this link: http://www.spinics.net/lists/linux-usb/msg118753.html > >> > >> Comments for review are welcome :). > >> Note: I am going on a vacation so will not be able to reply or do any > >> further > >> tests till Monday. Will attend and take care of any comments/requests for > >> further changes/testing from Tuesday. Apologize for the delay in advance. > >> > >> Sanchayan Maity (3): > >> usb: chipidea: Add identification registers access APIs > >> usb: chipidea: Add chipidea revision information > >> usb: chipidea: Add errata for revision 2.40a > >> > >> drivers/usb/chipidea/bits.h | 10 > >> drivers/usb/chipidea/ci.h | 53 > >> +++ > >> drivers/usb/chipidea/core.c | 23 +-- > >> drivers/usb/chipidea/udc.c | 20 > >> 4 files changed, 104 insertions(+), 2 deletions(-) > >> > >> -- > >> 1.7.9.5 > >> > > -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/22/2014 06:48 AM, Peter Chen wrote: > On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: >> The first two patches add identification register API's. These can >> be used to get controller's revision. >> >> The third patch implements an errata for revision 2.40a. Not sure >> which other SOCs implement this version of the Chipidea core but >> this fixes the usb client issue observed on Vybrids. The patch was >> tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf >> tests ran for three hours plus, with these patches applied have found >> the USB client connection to be now reliable. > > Would you help do a overnight test? It is passed, I will queue them, > thanks. Yes definitely I can help with the testing. Are you looking for iperf tests only or something else? iperf tests running for 12 or 24 hours will do? I will need a bit of time to set things up here, as I am away from work, but, ya I will do them. -Regards, Sanchayan. > > Peter >> >> This patchset is based off on Shawn Guo's for-next branch >> https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/tree/?h=for-next >> >> The credit for the patches and fix goes to Matthieu Castet and Peter Chen. >> First two patches are by Peter Chen and the third patch which fixed the >> bug we observed was reported by Matthieu Castet. >> >> The discussion of the problem and the relevant testing details can be found >> at this link: http://www.spinics.net/lists/linux-usb/msg118544.html >> >> The first version of this patchset originally send by Peter Chen can be >> found at this link: http://www.spinics.net/lists/linux-usb/msg118753.html >> >> Comments for review are welcome :). >> Note: I am going on a vacation so will not be able to reply or do any further >> tests till Monday. Will attend and take care of any comments/requests for >> further changes/testing from Tuesday. Apologize for the delay in advance. >> >> Sanchayan Maity (3): >> usb: chipidea: Add identification registers access APIs >> usb: chipidea: Add chipidea revision information >> usb: chipidea: Add errata for revision 2.40a >> >> drivers/usb/chipidea/bits.h | 10 >> drivers/usb/chipidea/ci.h | 53 >> +++ >> drivers/usb/chipidea/core.c | 23 +-- >> drivers/usb/chipidea/udc.c | 20 >> 4 files changed, 104 insertions(+), 2 deletions(-) >> >> -- >> 1.7.9.5 >> > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On Fri, Dec 19, 2014 at 03:25:26PM +0530, Sanchayan Maity wrote: > The first two patches add identification register API's. These can > be used to get controller's revision. > > The third patch implements an errata for revision 2.40a. Not sure > which other SOCs implement this version of the Chipidea core but > this fixes the usb client issue observed on Vybrids. The patch was > tested on a Toradex Colibri VF61 module with the 3.18 kernel. iperf > tests ran for three hours plus, with these patches applied have found > the USB client connection to be now reliable. Would you help do a overnight test? It is passed, I will queue them, thanks. Peter > > This patchset is based off on Shawn Guo's for-next branch > https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/tree/?h=for-next > > The credit for the patches and fix goes to Matthieu Castet and Peter Chen. > First two patches are by Peter Chen and the third patch which fixed the > bug we observed was reported by Matthieu Castet. > > The discussion of the problem and the relevant testing details can be found > at this link: http://www.spinics.net/lists/linux-usb/msg118544.html > > The first version of this patchset originally send by Peter Chen can be > found at this link: http://www.spinics.net/lists/linux-usb/msg118753.html > > Comments for review are welcome :). > Note: I am going on a vacation so will not be able to reply or do any further > tests till Monday. Will attend and take care of any comments/requests for > further changes/testing from Tuesday. Apologize for the delay in advance. > > Sanchayan Maity (3): > usb: chipidea: Add identification registers access APIs > usb: chipidea: Add chipidea revision information > usb: chipidea: Add errata for revision 2.40a > > drivers/usb/chipidea/bits.h | 10 > drivers/usb/chipidea/ci.h | 53 > +++ > drivers/usb/chipidea/core.c | 23 +-- > drivers/usb/chipidea/udc.c | 20 > 4 files changed, 104 insertions(+), 2 deletions(-) > > -- > 1.7.9.5 > -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/19/2014 12:19 PM, Peter Chen wrote: > >> On 12/18/2014 06:47 PM, Matthieu CASTET wrote: >>> Le Wed, 17 Dec 2014 20:40:29 +0800, >>> Peter Chen a écrit : >>> On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: > On 12/17/2014 02:05 PM, Peter Chen wrote: >> Hi all, >> >> At the first two patches, I add identification registers APIs, we >> can get controller's revision by using this APIs. Since I don't >> have enough spec, if there are any errors, tell me. >> >> At the third patch, I implement an errata for revision 2.40a, hope >> it can fix the problem Sanchayan Maity reported. >> >> http://www.spinics.net/lists/linux-usb/msg118544.html >> >> @Sanchayan, would you please have a test? >> >> Peter Chen (3): >> usb: chipidea: add identification registers access APIs >> usb: chipidea: add chipidea revision information >> usb: chipidea: udc: add errata for revision 2.40a >> >> drivers/usb/chipidea/bits.h | 10 + >> drivers/usb/chipidea/ci.h | 53 >> + >> drivers/usb/chipidea/core.c | 23 ++-- >> drivers/usb/chipidea/udc.c | 18 ++- >> 4 files changed, 101 insertions(+), 3 deletions(-) >> > > Thanks for the patches. > > I tested the patches with iperf and tried a few times to be sure. > The condition is still the same. > Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. >>> >>> For information we workarounded this errata with the attached patched. >>> It is based on a old version of the driver. >>> We never had time to clean and submit the patch, but it solve the >>> errata in our case. >>> >>> >>> Matthieu >>> >> >> I came in the morning and saw this patch. Immediately modified it and >> applied. >> Glad to say that it works. I had iperf running for an hour with no problem >> and >> 48.7GBytes of transfer at 116MBits/sec :). Going to run a longer 3 hour iperf >> test now, but, I guess it should be fine. I will spin a combination patch of >> what >> Peter and Matthieu gave me and try sending it by today evening for me, >> before going on vacation. >> > > Please try to see " mEp->qh.ptr->cap |= QH_ZLT;" in Matthieu's patch is > needed or not, > since the QH cap is initialized when the ep is enabled, and it should not be > changed. > Yes, it works without it as well. > Peter > >> Thanks a lot Matthieu, Peter and Felipe for the inputs and help. >> >> -Cheers, >> Sanchayan. > - Sanchayan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
> On 12/18/2014 06:47 PM, Matthieu CASTET wrote: > > Le Wed, 17 Dec 2014 20:40:29 +0800, > > Peter Chen a écrit : > > > >> On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: > >>> On 12/17/2014 02:05 PM, Peter Chen wrote: > Hi all, > > At the first two patches, I add identification registers APIs, we > can get controller's revision by using this APIs. Since I don't > have enough spec, if there are any errors, tell me. > > At the third patch, I implement an errata for revision 2.40a, hope > it can fix the problem Sanchayan Maity reported. > > http://www.spinics.net/lists/linux-usb/msg118544.html > > @Sanchayan, would you please have a test? > > Peter Chen (3): > usb: chipidea: add identification registers access APIs > usb: chipidea: add chipidea revision information > usb: chipidea: udc: add errata for revision 2.40a > > drivers/usb/chipidea/bits.h | 10 + > drivers/usb/chipidea/ci.h | 53 > + > drivers/usb/chipidea/core.c | 23 ++-- > drivers/usb/chipidea/udc.c | 18 ++- > 4 files changed, 101 insertions(+), 3 deletions(-) > > >>> > >>> Thanks for the patches. > >>> > >>> I tested the patches with iperf and tried a few times to be sure. > >>> The condition is still the same. > >>> > >> > >> Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. > >> > > > > For information we workarounded this errata with the attached patched. > > It is based on a old version of the driver. > > We never had time to clean and submit the patch, but it solve the > > errata in our case. > > > > > > Matthieu > > > > I came in the morning and saw this patch. Immediately modified it and applied. > Glad to say that it works. I had iperf running for an hour with no problem and > 48.7GBytes of transfer at 116MBits/sec :). Going to run a longer 3 hour iperf > test now, but, I guess it should be fine. I will spin a combination patch of > what > Peter and Matthieu gave me and try sending it by today evening for me, > before going on vacation. > Please try to see " mEp->qh.ptr->cap |= QH_ZLT;" in Matthieu's patch is needed or not, since the QH cap is initialized when the ep is enabled, and it should not be changed. Peter > Thanks a lot Matthieu, Peter and Felipe for the inputs and help. > > -Cheers, > Sanchayan. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
> >> On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: > >>> On 12/17/2014 02:05 PM, Peter Chen wrote: > Hi all, > > At the first two patches, I add identification registers APIs, we > can get controller's revision by using this APIs. Since I don't > have enough spec, if there are any errors, tell me. > > At the third patch, I implement an errata for revision 2.40a, hope > it can fix the problem Sanchayan Maity reported. > > http://www.spinics.net/lists/linux-usb/msg118544.html > > @Sanchayan, would you please have a test? > > Peter Chen (3): > usb: chipidea: add identification registers access APIs > usb: chipidea: add chipidea revision information > usb: chipidea: udc: add errata for revision 2.40a > > drivers/usb/chipidea/bits.h | 10 + > drivers/usb/chipidea/ci.h | 53 > + > drivers/usb/chipidea/core.c | 23 ++-- > drivers/usb/chipidea/udc.c | 18 ++- > 4 files changed, 101 insertions(+), 3 deletions(-) > > >>> > >>> Thanks for the patches. > >>> > >>> I tested the patches with iperf and tried a few times to be sure. > >>> The condition is still the same. > >>> > >> > >> Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. > >> > > > > For information we workarounded this errata with the attached patched. > > It is based on a old version of the driver. > > We never had time to clean and submit the patch, but it solve the > > errata in our case. > > > > > > Matthieu > > > > I came in the morning and saw this patch. Immediately modified it and applied. > Glad to say that it works. I had iperf running for an hour with no problem and > 48.7GBytes of transfer at 116MBits/sec :). Going to run a longer 3 hour iperf > test now, but, I guess it should be fine. I will spin a combination patch of > what > Peter and Matthieu gave me and try sending it by today evening for me, > before going on vacation. > Great, please add revision code for 2.40a based on my first two patches. Peter > Thanks a lot Matthieu, Peter and Felipe for the inputs and help. > > -Cheers, > Sanchayan. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/18/2014 06:47 PM, Matthieu CASTET wrote: > Le Wed, 17 Dec 2014 20:40:29 +0800, > Peter Chen a écrit : > >> On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: >>> On 12/17/2014 02:05 PM, Peter Chen wrote: Hi all, At the first two patches, I add identification registers APIs, we can get controller's revision by using this APIs. Since I don't have enough spec, if there are any errors, tell me. At the third patch, I implement an errata for revision 2.40a, hope it can fix the problem Sanchayan Maity reported. http://www.spinics.net/lists/linux-usb/msg118544.html @Sanchayan, would you please have a test? Peter Chen (3): usb: chipidea: add identification registers access APIs usb: chipidea: add chipidea revision information usb: chipidea: udc: add errata for revision 2.40a drivers/usb/chipidea/bits.h | 10 + drivers/usb/chipidea/ci.h | 53 + drivers/usb/chipidea/core.c | 23 ++-- drivers/usb/chipidea/udc.c | 18 ++- 4 files changed, 101 insertions(+), 3 deletions(-) >>> >>> Thanks for the patches. >>> >>> I tested the patches with iperf and tried a few times to be sure. The >>> condition is >>> still the same. >>> >> >> Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. >> > > For information we workarounded this errata with the attached patched. > It is based on a old version of the driver. > We never had time to clean and submit the patch, but it solve the > errata in our case. > > > Matthieu > I came in the morning and saw this patch. Immediately modified it and applied. Glad to say that it works. I had iperf running for an hour with no problem and 48.7GBytes of transfer at 116MBits/sec :). Going to run a longer 3 hour iperf test now, but, I guess it should be fine. I will spin a combination patch of what Peter and Matthieu gave me and try sending it by today evening for me, before going on vacation. Thanks a lot Matthieu, Peter and Felipe for the inputs and help. -Cheers, Sanchayan. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
Le Wed, 17 Dec 2014 20:40:29 +0800, Peter Chen a écrit : > On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: > > On 12/17/2014 02:05 PM, Peter Chen wrote: > > > Hi all, > > > > > > At the first two patches, I add identification registers APIs, we can get > > > controller's revision by using this APIs. Since I don't have enough spec, > > > if there are any errors, tell me. > > > > > > At the third patch, I implement an errata for revision 2.40a, hope it can > > > fix > > > the problem Sanchayan Maity reported. > > > > > > http://www.spinics.net/lists/linux-usb/msg118544.html > > > > > > @Sanchayan, would you please have a test? > > > > > > Peter Chen (3): > > > usb: chipidea: add identification registers access APIs > > > usb: chipidea: add chipidea revision information > > > usb: chipidea: udc: add errata for revision 2.40a > > > > > > drivers/usb/chipidea/bits.h | 10 + > > > drivers/usb/chipidea/ci.h | 53 > > > + > > > drivers/usb/chipidea/core.c | 23 ++-- > > > drivers/usb/chipidea/udc.c | 18 ++- > > > 4 files changed, 101 insertions(+), 3 deletions(-) > > > > > > > Thanks for the patches. > > > > I tested the patches with iperf and tried a few times to be sure. The > > condition is > > still the same. > > > > Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. > For information we workarounded this errata with the attached patched. It is based on a old version of the driver. We never had time to clean and submit the patch, but it solve the errata in our case. Matthieu diff Description: Binary data
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On Wed, Dec 17, 2014 at 05:31:40PM +0530, Sanchayan Maity wrote: > On 12/17/2014 02:05 PM, Peter Chen wrote: > > Hi all, > > > > At the first two patches, I add identification registers APIs, we can get > > controller's revision by using this APIs. Since I don't have enough spec, > > if there are any errors, tell me. > > > > At the third patch, I implement an errata for revision 2.40a, hope it can > > fix > > the problem Sanchayan Maity reported. > > > > http://www.spinics.net/lists/linux-usb/msg118544.html > > > > @Sanchayan, would you please have a test? > > > > Peter Chen (3): > > usb: chipidea: add identification registers access APIs > > usb: chipidea: add chipidea revision information > > usb: chipidea: udc: add errata for revision 2.40a > > > > drivers/usb/chipidea/bits.h | 10 + > > drivers/usb/chipidea/ci.h | 53 > > + > > drivers/usb/chipidea/core.c | 23 ++-- > > drivers/usb/chipidea/udc.c | 18 ++- > > 4 files changed, 101 insertions(+), 3 deletions(-) > > > > Thanks for the patches. > > I tested the patches with iperf and tried a few times to be sure. The > condition is > still the same. > Oh, bad luck. Be sure the code I added for 2.40a is ran at your board. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/3] usb: chipidea: add one errata for revision 2.40a
On 12/17/2014 02:05 PM, Peter Chen wrote: > Hi all, > > At the first two patches, I add identification registers APIs, we can get > controller's revision by using this APIs. Since I don't have enough spec, > if there are any errors, tell me. > > At the third patch, I implement an errata for revision 2.40a, hope it can fix > the problem Sanchayan Maity reported. > > http://www.spinics.net/lists/linux-usb/msg118544.html > > @Sanchayan, would you please have a test? > > Peter Chen (3): > usb: chipidea: add identification registers access APIs > usb: chipidea: add chipidea revision information > usb: chipidea: udc: add errata for revision 2.40a > > drivers/usb/chipidea/bits.h | 10 + > drivers/usb/chipidea/ci.h | 53 > + > drivers/usb/chipidea/core.c | 23 ++-- > drivers/usb/chipidea/udc.c | 18 ++- > 4 files changed, 101 insertions(+), 3 deletions(-) > Thanks for the patches. I tested the patches with iperf and tried a few times to be sure. The condition is still the same. -Sanchayan. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html