RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> -Original Message- > From: Felipe Balbi [mailto:ba...@ti.com] > Sent: 2014年2月26日 2:13 > To: Peter Chen > Cc: Neil Zhang; ba...@ti.com; gre...@linuxfoundation.org; > linux-usb@vger.kernel.org; linux-ker...@vger.kernel.org; Alexander Shishkin > Subject: Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0 > > Hi, > > On Tue, Feb 25, 2014 at 07:46:08AM +, Peter Chen wrote: > > > > > > > Hardware zlt will try to send the zero length packet > > > > > > > automatically when the data transferd is multiple times of > > > > > > > max packet, this will cause issues on Windows. > > > > > > > So let's disable HW zlt by default. > > > > > > > > > > > > Would you have description that what kinds of issue on Windows > > > > > > if zlt is is selected? > > > > > > > > > > > > > > > > Enumeration will fail. > > > > > > > > > > > > > What causes enumeration fail, why it does not occur before? > > > > > > > A unexpected zero packet cause enumeration fail. > > > It's not easy that the descriptor is actually 1024 bytes, so not > > > easy to be found. > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data Stage, USB > 2.0 spec? > > wait, this is a chipidea core ? Why aren't you guys using the chipidea driver > yet ? You need to switch over to that driver dude, we can't have duplicated > code in the tree. > > I'm sorry, but I won't be taking this series, please use chipidea driver, it > should > be very simple to add a glue layer for your core to the chipidea driver. > Yes, it use chipidea IP. But the driver is earlier than the chipidea one and we use it for our products. So it may be not that easy to switch to chipidea driver due to the stability. > -- > Balbi Best Regards, Neil Zhang N�Р骒r��yb�X�肚�v�^�)藓{.n�+�伐�{焙柒��^n�r■�z���h�ㄨ��&Ⅷ�G���h�(�茛j"���m赇z罐��帼f"�h���~�m�
RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> > > > easy to be found. > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > Stage, USB > > 2.0 spec? > > > > wait, this is a chipidea core ? Why aren't you guys using the chipidea > > driver yet ? You need to switch over to that driver dude, we can't > > have duplicated code in the tree. > > > > I'm sorry, but I won't be taking this series, please use chipidea > > driver, it should be very simple to add a glue layer for your core to > the chipidea driver. > > > > Yes, it use chipidea IP. > But the driver is earlier than the chipidea one and we use it for our > products. > So it may be not that easy to switch to chipidea driver due to the > stability. > Freescale i.mx SoC used fsl_udc_core.c before which was the one of the oldest chipidea drivers, now, all i.mx SoC uses chipidea driver including old hardware. Peter -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
Hi, On Tue, Feb 25, 2014 at 05:48:17PM -0800, Neil Zhang wrote: > > > > > > > > Hardware zlt will try to send the zero length packet > > > > > > > > automatically when the data transferd is multiple times of > > > > > > > > max packet, this will cause issues on Windows. > > > > > > > > So let's disable HW zlt by default. > > > > > > > > > > > > > > Would you have description that what kinds of issue on Windows > > > > > > > if zlt is is selected? > > > > > > > > > > > > > > > > > > > Enumeration will fail. > > > > > > > > > > > > > > > > What causes enumeration fail, why it does not occur before? > > > > > > > > > A unexpected zero packet cause enumeration fail. > > > > It's not easy that the descriptor is actually 1024 bytes, so not > > > > easy to be found. > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data Stage, > > > USB > > 2.0 spec? > > > > wait, this is a chipidea core ? Why aren't you guys using the chipidea > > driver > > yet ? You need to switch over to that driver dude, we can't have duplicated > > code in the tree. > > > > I'm sorry, but I won't be taking this series, please use chipidea driver, > > it should > > be very simple to add a glue layer for your core to the chipidea driver. > > > > Yes, it use chipidea IP. > But the driver is earlier than the chipidea one and we use it for our > products. > So it may be not that easy to switch to chipidea driver due to the > stability. that's nonsense, the average chipidea glue layer is ~80 LOCs. You can write that in less than 2 hours and give it a try. We cannot have duplicate drivers in the tree and development effort *must* be shared. If you guys use the same IP, why wouldn't you use the same chipidea driver ? sorry, you didn't convince me. -- balbi signature.asc Description: Digital signature
Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Wed, Feb 26, 2014 at 02:36:19AM +, Peter Chen wrote: > > > > > > easy to be found. > > > > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > > Stage, USB > > > 2.0 spec? > > > > > > wait, this is a chipidea core ? Why aren't you guys using the chipidea > > > driver yet ? You need to switch over to that driver dude, we can't > > > have duplicated code in the tree. > > > > > > I'm sorry, but I won't be taking this series, please use chipidea > > > driver, it should be very simple to add a glue layer for your core to > > the chipidea driver. > > > > > > > Yes, it use chipidea IP. > > But the driver is earlier than the chipidea one and we use it for our > > products. > > So it may be not that easy to switch to chipidea driver due to the > > stability. > > > > Freescale i.mx SoC used fsl_udc_core.c before which was the one of the > oldest chipidea drivers, now, all i.mx SoC uses chipidea driver including > old hardware. Exactly, Freescale and Intel folks have shown that chipidea driver is pretty good and ready for production. -- balbi signature.asc Description: Digital signature
Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Wed, Feb 26, 2014 at 02:36:19AM +, Peter Chen wrote: > > > > > > easy to be found. > > > > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > > Stage, USB > > > 2.0 spec? > > > > > > wait, this is a chipidea core ? Why aren't you guys using the chipidea > > > driver yet ? You need to switch over to that driver dude, we can't > > > have duplicated code in the tree. > > > > > > I'm sorry, but I won't be taking this series, please use chipidea > > > driver, it should be very simple to add a glue layer for your core to > > the chipidea driver. > > > > > > > Yes, it use chipidea IP. > > But the driver is earlier than the chipidea one and we use it for our > > products. > > So it may be not that easy to switch to chipidea driver due to the > > stability. > > > > Freescale i.mx SoC used fsl_udc_core.c before which was the one of the btw, when can I remove fsl_udc_core.c from the tree ? -- balbi signature.asc Description: Digital signature
RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > > > Stage, USB > > > > 2.0 spec? > > > > > > > > wait, this is a chipidea core ? Why aren't you guys using the > > > > chipidea driver yet ? You need to switch over to that driver dude, > > > > we can't have duplicated code in the tree. > > > > > > > > I'm sorry, but I won't be taking this series, please use chipidea > > > > driver, it should be very simple to add a glue layer for your core > > > > to > > > the chipidea driver. > > > > > > > > > > Yes, it use chipidea IP. > > > But the driver is earlier than the chipidea one and we use it for > > > our products. > > > So it may be not that easy to switch to chipidea driver due to the > > > stability. > > > > > > > Freescale i.mx SoC used fsl_udc_core.c before which was the one of the > > btw, when can I remove fsl_udc_core.c from the tree ? > Freescale has other processor group (PowerPC, etc) has used this code now. Peter -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> -Original Message- > From: Felipe Balbi [mailto:ba...@ti.com] > Sent: 2014年2月26日 23:19 > To: Neil Zhang > Cc: ba...@ti.com; Peter Chen; gre...@linuxfoundation.org; > linux-usb@vger.kernel.org; linux-ker...@vger.kernel.org; Alexander Shishkin > Subject: Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0 > > Hi, > > On Tue, Feb 25, 2014 at 05:48:17PM -0800, Neil Zhang wrote: > > > > > > > > > Hardware zlt will try to send the zero length packet > > > > > > > > > automatically when the data transferd is multiple times > > > > > > > > > of max packet, this will cause issues on Windows. > > > > > > > > > So let's disable HW zlt by default. > > > > > > > > > > > > > > > > Would you have description that what kinds of issue on > > > > > > > > Windows if zlt is is selected? > > > > > > > > > > > > > > > > > > > > > > Enumeration will fail. > > > > > > > > > > > > > > > > > > > What causes enumeration fail, why it does not occur before? > > > > > > > > > > > A unexpected zero packet cause enumeration fail. > > > > > It's not easy that the descriptor is actually 1024 bytes, so not > > > > > easy to be found. > > > > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > > Stage, USB > > > 2.0 spec? > > > > > > wait, this is a chipidea core ? Why aren't you guys using the > > > chipidea driver yet ? You need to switch over to that driver dude, > > > we can't have duplicated code in the tree. > > > > > > I'm sorry, but I won't be taking this series, please use chipidea > > > driver, it should be very simple to add a glue layer for your core to the > chipidea driver. > > > > > > > Yes, it use chipidea IP. > > But the driver is earlier than the chipidea one and we use it for our > > products. > > So it may be not that easy to switch to chipidea driver due to the > > stability. > > that's nonsense, the average chipidea glue layer is ~80 LOCs. You can write > that in less than 2 hours and give it a try. We cannot have duplicate drivers > in > the tree and development effort *must* be shared. > > If you guys use the same IP, why wouldn't you use the same chipidea driver ? > > sorry, you didn't convince me. It's too sad! Anyway we will estimate the chipidea driver to see whether it meets our requirement. > > -- > Balbi Best Regards, Neil Zhang N�Р骒r��yb�X�肚�v�^�)藓{.n�+�伐�{焙柒��^n�r■�z���h�ㄨ��&Ⅷ�G���h�(�茛j"���m赇z罐��帼f"�h���~�m�
Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Thu, Feb 27, 2014 at 03:30:03AM +, Peter Chen wrote: > > > > > > > > > > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data > > > > > > Stage, USB > > > > > 2.0 spec? > > > > > > > > > > wait, this is a chipidea core ? Why aren't you guys using the > > > > > chipidea driver yet ? You need to switch over to that driver dude, > > > > > we can't have duplicated code in the tree. > > > > > > > > > > I'm sorry, but I won't be taking this series, please use chipidea > > > > > driver, it should be very simple to add a glue layer for your core > > > > > to > > > > the chipidea driver. > > > > > > > > > > > > > Yes, it use chipidea IP. > > > > But the driver is earlier than the chipidea one and we use it for > > > > our products. > > > > So it may be not that easy to switch to chipidea driver due to the > > > > stability. > > > > > > > > > > Freescale i.mx SoC used fsl_udc_core.c before which was the one of the > > > > btw, when can I remove fsl_udc_core.c from the tree ? > > > > Freescale has other processor group (PowerPC, etc) has used this code > now. Can we move those to chipidea too ? It would be real nice to remove the duplicated driver by 3.16. -- balbi signature.asc Description: Digital signature
Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Thu, Feb 27, 2014 at 12:30 AM, Peter Chen wrote: >> btw, when can I remove fsl_udc_core.c from the tree ? >> > > Freescale has other processor group (PowerPC, etc) has used this code now. Not only PowerPC, but also the imx platforms that have not been converted to device tree yet. -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Thu, Feb 27, 2014 at 03:05:14PM -0300, Fabio Estevam wrote: > On Thu, Feb 27, 2014 at 12:30 AM, Peter Chen wrote: > > >> btw, when can I remove fsl_udc_core.c from the tree ? > >> > > > > Freescale has other processor group (PowerPC, etc) has used this code now. > > Not only PowerPC, but also the imx platforms that have not been > converted to device tree yet. hmm, but chipidea supports non-DT, right ? I would rather have pdata added to your chipidea glue layer than maintaining the old driver in the tree. -- balbi signature.asc Description: Digital signature
Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
On Mon, Feb 24, 2014 at 04:03:12PM +0800, Neil Zhang wrote: > Hardware zlt will try to send the zero length packet automatically > when the data transferd is multiple times of max packet, this will > cause issues on Windows. > So let's disable HW zlt by default. Would you have description that what kinds of issue on Windows if zlt is is selected? Peter > > Signed-off-by: Neil Zhang > --- > drivers/usb/gadget/mv_udc_core.c |2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/mv_udc_core.c > b/drivers/usb/gadget/mv_udc_core.c > index ebc0dfd..657ac5c 100644 > --- a/drivers/usb/gadget/mv_udc_core.c > +++ b/drivers/usb/gadget/mv_udc_core.c > @@ -89,7 +89,7 @@ static void ep0_reset(struct mv_udc *udc) > /* configure ep0 endpoint capabilities in dQH */ > ep->dqh->max_packet_length = > (EP0_MAX_PKT_SIZE << EP_QUEUE_HEAD_MAX_PKT_LEN_POS) > - | EP_QUEUE_HEAD_IOS; > + | EP_QUEUE_HEAD_IOS | EP_QUEUE_HEAD_ZLT_SEL; > > ep->dqh->next_dtd_ptr = EP_QUEUE_HEAD_NEXT_TERMINATE; > > -- > 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 > > -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> -Original Message- > From: Peter Chen [mailto:peter.c...@freescale.com] > Sent: 2014年2月25日 9:19 > To: Neil Zhang > Cc: ba...@ti.com; gre...@linuxfoundation.org; linux-usb@vger.kernel.org; > linux-ker...@vger.kernel.org > Subject: Re: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0 > > On Mon, Feb 24, 2014 at 04:03:12PM +0800, Neil Zhang wrote: > > Hardware zlt will try to send the zero length packet automatically > > when the data transferd is multiple times of max packet, this will > > cause issues on Windows. > > So let's disable HW zlt by default. > > Would you have description that what kinds of issue on Windows if zlt is is > selected? > Enumeration will fail. > Peter > > > > > Signed-off-by: Neil Zhang > > --- > > drivers/usb/gadget/mv_udc_core.c |2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/usb/gadget/mv_udc_core.c > > b/drivers/usb/gadget/mv_udc_core.c > > index ebc0dfd..657ac5c 100644 > > --- a/drivers/usb/gadget/mv_udc_core.c > > +++ b/drivers/usb/gadget/mv_udc_core.c > > @@ -89,7 +89,7 @@ static void ep0_reset(struct mv_udc *udc) > > /* configure ep0 endpoint capabilities in dQH */ > > ep->dqh->max_packet_length = > > (EP0_MAX_PKT_SIZE << EP_QUEUE_HEAD_MAX_PKT_LEN_POS) > > - | EP_QUEUE_HEAD_IOS; > > + | EP_QUEUE_HEAD_IOS | EP_QUEUE_HEAD_ZLT_SEL; > > > > ep->dqh->next_dtd_ptr = EP_QUEUE_HEAD_NEXT_TERMINATE; > > > > -- > > 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 > > > > > > -- > > Best Regards, > Peter Chen Best Regards, Neil Zhang N�Р骒r��yb�X�肚�v�^�)藓{.n�+�伐�{焙柒��^n�r■�z���h�ㄨ��&Ⅷ�G���h�(�茛j"���m赇z罐��帼f"�h���~�m�
RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> > On Mon, Feb 24, 2014 at 04:03:12PM +0800, Neil Zhang wrote: > > > Hardware zlt will try to send the zero length packet automatically > > > when the data transferd is multiple times of max packet, this will > > > cause issues on Windows. > > > So let's disable HW zlt by default. > > > > Would you have description that what kinds of issue on Windows if zlt > > is is selected? > > > > Enumeration will fail. > What causes enumeration fail, why it does not occur before? Peter -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> -Original Message- > From: Peter Chen [mailto:peter.c...@freescale.com] > Sent: 2014年2月25日 13:15 > To: Neil Zhang > Cc: ba...@ti.com; gre...@linuxfoundation.org; linux-usb@vger.kernel.org; > linux-ker...@vger.kernel.org > Subject: RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0 > > > > > > > On Mon, Feb 24, 2014 at 04:03:12PM +0800, Neil Zhang wrote: > > > > Hardware zlt will try to send the zero length packet automatically > > > > when the data transferd is multiple times of max packet, this will > > > > cause issues on Windows. > > > > So let's disable HW zlt by default. > > > > > > Would you have description that what kinds of issue on Windows if > > > zlt is is selected? > > > > > > > Enumeration will fail. > > > > What causes enumeration fail, why it does not occur before? > A unexpected zero packet cause enumeration fail. It's not easy that the descriptor is actually 1024 bytes, so not easy to be found. > Peter Best Regards, Neil Zhang N�Р骒r��yb�X�肚�v�^�)藓{.n�+�伐�{焙柒��^n�r■�z���h�ㄨ��&Ⅷ�G���h�(�茛j"���m赇z罐��帼f"�h���~�m�
RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
> > > > > > > > > > > > On Mon, Feb 24, 2014 at 04:03:12PM +0800, Neil Zhang wrote: > > > > > Hardware zlt will try to send the zero length packet > > > > > automatically when the data transferd is multiple times of max > > > > > packet, this will cause issues on Windows. > > > > > So let's disable HW zlt by default. > > > > > > > > Would you have description that what kinds of issue on Windows if > > > > zlt is is selected? > > > > > > > > > > Enumeration will fail. > > > > > > > What causes enumeration fail, why it does not occur before? > > > A unexpected zero packet cause enumeration fail. > It's not easy that the descriptor is actually 1024 bytes, so not easy to > be found. > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data Stage, USB 2.0 spec? Peter -- 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 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
Hi, On Tue, Feb 25, 2014 at 07:46:08AM +, Peter Chen wrote: > > > > > > Hardware zlt will try to send the zero length packet > > > > > > automatically when the data transferd is multiple times of max > > > > > > packet, this will cause issues on Windows. > > > > > > So let's disable HW zlt by default. > > > > > > > > > > Would you have description that what kinds of issue on Windows if > > > > > zlt is is selected? > > > > > > > > > > > > > Enumeration will fail. > > > > > > > > > > What causes enumeration fail, why it does not occur before? > > > > > A unexpected zero packet cause enumeration fail. > > It's not easy that the descriptor is actually 1024 bytes, so not easy to > > be found. > > > > Chipidea bug too? Does it follow ch 8.5.3.2 Variable-length Data Stage, USB > 2.0 spec? wait, this is a chipidea core ? Why aren't you guys using the chipidea driver yet ? You need to switch over to that driver dude, we can't have duplicated code in the tree. I'm sorry, but I won't be taking this series, please use chipidea driver, it should be very simple to add a glue layer for your core to the chipidea driver. -- balbi signature.asc Description: Digital signature