Re: [PATCH] s3c2410_udc: Add handling for S3C244X dual-packet mode

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

 



В сообщении от 30 августа 2010 17:34:22 автор Vasily Khoruzhick написал:
> From: Fabian Godehardt <fg@xxxxxxxxx>
> 
> This is a patch that seems to make the USB hangs on the S3C244X go away.
> At least a good amount of ping torture didn't make them come back so far.
> 
> The issue is that, if there are several back-to-back packets, sometimes no
> interrupt is generated for one of them. This seems to be caused by the
> mysterious dual packet mode, which the USB hardware enters automatically
> if the endpoint size is half that of the FIFO. (On the 244X, this is the
> normal situation for bulk data endpoints.)
> 
> There is also a timing factor in this. It seems that what happens is that
> the USB hardware automatically sends an acknowledgement if there is only
> one packet in the FIFO (the FIFO has space for two). If another packet
> arrives before the host has retrieved and acknowledged the previous one,
> no interrupt is generated for that second one.
> 
> However, there may be an indication. There is one undocumented bit (none
> of the 244x manuals document it), OUT_CRS1_REG[1], that seems to be set
> suspiciously often when this condition occurs. There is also
> CLR_DATA_TOGGLE, OUT_CRS1_REG[7], which may have a function related to
> this. (The Samsung manual is rather terse on that, as usual.)
> 
> This needs to be examined further. For now, the patch seems to do the
> trick.

Ping

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


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

  Powered by Linux