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 peter.c...@freescale.com 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 peter.c...@freescale.com 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
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
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
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
[PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0
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. Signed-off-by: Neil Zhang zhan...@marvell.com --- 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
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 zhan...@marvell.com --- 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 zhan...@marvell.com --- 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