[PATCH v2] USB: gadget: s3c-hsotg: fix maxpacket size

From: Robert Baldyga
Date: Wed Oct 02 2013 - 05:18:00 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/