This patch changes ep maxpacket value from 512 to 1024, because it's needed to handle interupt and isochronous endpoints in high-speed mode. This change doesn't affect on driver functioning, because fifo size (3072) is still enough for the maximum transaction payload (3*1024 for high-speed high-bandwidtch endpoints). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> --- Hello, This is update for my patch. From last version I have fixed typos pointed out by Felipe Balbi. On 10/01/2013 03:56 PM, Felipe Balbi wrote:> Hi, > > On Fri, Sep 27, 2013 at 12:31:09PM +0200, Robert Baldyga wrote: >> This patch changes ep maxpacket value from 512 to 1024, becouse it's needed > > shouldn't you use 3072 instead to cope with high bandwidth ISO > endpoints ? > No, because this value indicates maximum size of single transaction. In high bandwidth transfers there are up to three transactions per microframe which gives up to 3072 bytes. Number of additional transactions per microframe is indicated by bits 11 and 12 of wMaxPacketSize field of endpoint descriptor and does not depend on endpoint maxpacket value. Best regards Robert Baldyga Samsung R&D Institute Poland drivers/usb/gadget/s3c-hsotg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c index 8a9e2c6..0d1dcbd 100644 --- a/drivers/usb/gadget/s3c-hsotg.c +++ b/drivers/usb/gadget/s3c-hsotg.c @@ -3146,7 +3146,7 @@ static void s3c_hsotg_initep(struct s3c_hsotg *hsotg, hs_ep->parent = hsotg; hs_ep->ep.name = hs_ep->name; - hs_ep->ep.maxpacket = epnum ? 512 : EP0_MPS_LIMIT; + hs_ep->ep.maxpacket = epnum ? 1024 : EP0_MPS_LIMIT; hs_ep->ep.ops = &s3c_hsotg_ep_ops; /* -- 1.7.9.5 -- 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