RE: [PATCH 2/6] usb: gadget: mv_udc: disable HW zlt for ep0

2014-02-27 Thread Neil Zhang

 -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

2014-02-27 Thread Felipe Balbi
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

2014-02-27 Thread Fabio Estevam
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

2014-02-27 Thread Felipe Balbi
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

2014-02-26 Thread Felipe Balbi
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

2014-02-26 Thread Felipe Balbi
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

2014-02-26 Thread Felipe Balbi
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

2014-02-26 Thread Peter Chen
 

 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

2014-02-25 Thread Felipe Balbi
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

2014-02-25 Thread Neil Zhang

 -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

2014-02-25 Thread Peter Chen
 
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

2014-02-24 Thread Neil Zhang
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

2014-02-24 Thread Peter Chen
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

2014-02-24 Thread Neil Zhang



 -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

2014-02-24 Thread Peter Chen


 
  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

2014-02-24 Thread Neil Zhang

 -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

2014-02-24 Thread Peter Chen


 
 
 
 
 
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