Re: [PATCH v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Tue, Mar 18, 2014 at 10:36:17AM +0800, Peter Chen wrote: > On Mon, Mar 17, 2014 at 01:43:05PM +0800, Li Jun wrote: > > On Wed, Mar 12, 2014 at 04:21:28PM +0800, Peter Chen wrote: > > > On Wed, Mar 12, 2014 at 03:12:48PM +0800, Li Jun wrote: > > > > On Wed, Mar 12, 2014 at 03:01:15PM +0800, Peter Chen wrote: > > > > > On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > > > > > > Add b_hnp_enable request handling and enable gadget->is_otg > > > > > > > > > > > > Signed-off-by: Li Jun > > > > > > --- > > > > > > drivers/usb/chipidea/udc.c | 11 ++- > > > > > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > > > > > > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > > > > > index fe30dcc..602bbf3 100644 > > > > > > --- a/drivers/usb/chipidea/udc.c > > > > > > +++ b/drivers/usb/chipidea/udc.c > > > > > > @@ -20,6 +20,7 @@ > > > > > > #include > > > > > > #include > > > > > > #include > > > > > > +#include > > > > > > #include > > > > > > > > > > > > #include "ci.h" > > > > > > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > > > > > > default: > > > > > > break; > > > > > > } > > > > > > + break; > > > > > > > > > > This break is needed? > > > > > > > > > > > > > Yes, needed. > > > > > > Why, the case USB_DEVICE_TEST_MODE should alway break, isn't it? > > > > > > > yes, I don't think the case USB_DEVICE_TEST_MODE should always fall through > > to > > enable HNP here. > > The case USB_DEVICE_TEST_MODE will always break without your patch. > Have a look again, I was wrong, this fix is ok Peter > Peter > > > > > > > > > > > > > + case USB_DEVICE_B_HNP_ENABLE: > > > > > > + if (gadget_is_otg(&ci->gadget)) > > > > > > { > > > > > > + ci->gadget.b_hnp_enable > > > > > > = 1; > > > > > > + err = > > > > > > isr_setup_status_phase( > > > > > > + ci); > > > > > > + } > > > > > > + break; > > > > > > default: > > > > > > goto delegate; > > > > > > } > > > > > > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > > > > > > ci->gadget.ops = &usb_gadget_ops; > > > > > > ci->gadget.speed= USB_SPEED_UNKNOWN; > > > > > > ci->gadget.max_speed= USB_SPEED_HIGH; > > > > > > - ci->gadget.is_otg = 0; > > > > > > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > > > > > > ci->gadget.name = ci->platdata->name; > > > > > > > > > > > > INIT_LIST_HEAD(&ci->gadget.ep_list); > > > > > > -- > > > > > > 1.7.9.5 > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, > > > > > Peter Chen > > > > > > > > > > > > > > > -- > > > > > > Best Regards, > > > Peter Chen > > > > > > > -- > > 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 > > -- 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 v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Mon, Mar 17, 2014 at 01:43:05PM +0800, Li Jun wrote: > On Wed, Mar 12, 2014 at 04:21:28PM +0800, Peter Chen wrote: > > On Wed, Mar 12, 2014 at 03:12:48PM +0800, Li Jun wrote: > > > On Wed, Mar 12, 2014 at 03:01:15PM +0800, Peter Chen wrote: > > > > On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > > > > > Add b_hnp_enable request handling and enable gadget->is_otg > > > > > > > > > > Signed-off-by: Li Jun > > > > > --- > > > > > drivers/usb/chipidea/udc.c | 11 ++- > > > > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > > > > index fe30dcc..602bbf3 100644 > > > > > --- a/drivers/usb/chipidea/udc.c > > > > > +++ b/drivers/usb/chipidea/udc.c > > > > > @@ -20,6 +20,7 @@ > > > > > #include > > > > > #include > > > > > #include > > > > > +#include > > > > > #include > > > > > > > > > > #include "ci.h" > > > > > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > > > > > default: > > > > > break; > > > > > } > > > > > + break; > > > > > > > > This break is needed? > > > > > > > > > > Yes, needed. > > > > Why, the case USB_DEVICE_TEST_MODE should alway break, isn't it? > > > > yes, I don't think the case USB_DEVICE_TEST_MODE should always fall through to > enable HNP here. The case USB_DEVICE_TEST_MODE will always break without your patch. Peter > > > > > > > > > + case USB_DEVICE_B_HNP_ENABLE: > > > > > + if (gadget_is_otg(&ci->gadget)) > > > > > { > > > > > + ci->gadget.b_hnp_enable > > > > > = 1; > > > > > + err = > > > > > isr_setup_status_phase( > > > > > + ci); > > > > > + } > > > > > + break; > > > > > default: > > > > > goto delegate; > > > > > } > > > > > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > > > > > ci->gadget.ops = &usb_gadget_ops; > > > > > ci->gadget.speed= USB_SPEED_UNKNOWN; > > > > > ci->gadget.max_speed= USB_SPEED_HIGH; > > > > > - ci->gadget.is_otg = 0; > > > > > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > > > > > ci->gadget.name = ci->platdata->name; > > > > > > > > > > INIT_LIST_HEAD(&ci->gadget.ep_list); > > > > > -- > > > > > 1.7.9.5 > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, > > > > Peter Chen > > > > > > > > > > > -- > > > > Best Regards, > > Peter Chen > > > -- 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 v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Wed, Mar 12, 2014 at 04:21:28PM +0800, Peter Chen wrote: > On Wed, Mar 12, 2014 at 03:12:48PM +0800, Li Jun wrote: > > On Wed, Mar 12, 2014 at 03:01:15PM +0800, Peter Chen wrote: > > > On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > > > > Add b_hnp_enable request handling and enable gadget->is_otg > > > > > > > > Signed-off-by: Li Jun > > > > --- > > > > drivers/usb/chipidea/udc.c | 11 ++- > > > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > > > index fe30dcc..602bbf3 100644 > > > > --- a/drivers/usb/chipidea/udc.c > > > > +++ b/drivers/usb/chipidea/udc.c > > > > @@ -20,6 +20,7 @@ > > > > #include > > > > #include > > > > #include > > > > +#include > > > > #include > > > > > > > > #include "ci.h" > > > > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > > > > default: > > > > break; > > > > } > > > > + break; > > > > > > This break is needed? > > > > > > > Yes, needed. > > Why, the case USB_DEVICE_TEST_MODE should alway break, isn't it? > yes, I don't think the case USB_DEVICE_TEST_MODE should always fall through to enable HNP here. > > > > > > + case USB_DEVICE_B_HNP_ENABLE: > > > > + if (gadget_is_otg(&ci->gadget)) > > > > { > > > > + ci->gadget.b_hnp_enable > > > > = 1; > > > > + err = > > > > isr_setup_status_phase( > > > > + ci); > > > > + } > > > > + break; > > > > default: > > > > goto delegate; > > > > } > > > > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > > > > ci->gadget.ops = &usb_gadget_ops; > > > > ci->gadget.speed= USB_SPEED_UNKNOWN; > > > > ci->gadget.max_speed= USB_SPEED_HIGH; > > > > - ci->gadget.is_otg = 0; > > > > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > > > > ci->gadget.name = ci->platdata->name; > > > > > > > > INIT_LIST_HEAD(&ci->gadget.ep_list); > > > > -- > > > > 1.7.9.5 > > > > > > > > > > > > > > -- > > > > > > Best Regards, > > > Peter Chen > > > > > > > -- > > 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 v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Wed, Mar 12, 2014 at 03:12:48PM +0800, Li Jun wrote: > On Wed, Mar 12, 2014 at 03:01:15PM +0800, Peter Chen wrote: > > On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > > > Add b_hnp_enable request handling and enable gadget->is_otg > > > > > > Signed-off-by: Li Jun > > > --- > > > drivers/usb/chipidea/udc.c | 11 ++- > > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > > index fe30dcc..602bbf3 100644 > > > --- a/drivers/usb/chipidea/udc.c > > > +++ b/drivers/usb/chipidea/udc.c > > > @@ -20,6 +20,7 @@ > > > #include > > > #include > > > #include > > > +#include > > > #include > > > > > > #include "ci.h" > > > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > > > default: > > > break; > > > } > > > + break; > > > > This break is needed? > > > > Yes, needed. Why, the case USB_DEVICE_TEST_MODE should alway break, isn't it? > > > > + case USB_DEVICE_B_HNP_ENABLE: > > > + if (gadget_is_otg(&ci->gadget)) { > > > + ci->gadget.b_hnp_enable = 1; > > > + err = isr_setup_status_phase( > > > + ci); > > > + } > > > + break; > > > default: > > > goto delegate; > > > } > > > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > > > ci->gadget.ops = &usb_gadget_ops; > > > ci->gadget.speed= USB_SPEED_UNKNOWN; > > > ci->gadget.max_speed= USB_SPEED_HIGH; > > > - ci->gadget.is_otg = 0; > > > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > > > ci->gadget.name = ci->platdata->name; > > > > > > INIT_LIST_HEAD(&ci->gadget.ep_list); > > > -- > > > 1.7.9.5 > > > > > > > > > > -- > > > > Best Regards, > > Peter Chen > > > -- 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 v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Wed, Mar 12, 2014 at 03:01:15PM +0800, Peter Chen wrote: > On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > > Add b_hnp_enable request handling and enable gadget->is_otg > > > > Signed-off-by: Li Jun > > --- > > drivers/usb/chipidea/udc.c | 11 ++- > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > index fe30dcc..602bbf3 100644 > > --- a/drivers/usb/chipidea/udc.c > > +++ b/drivers/usb/chipidea/udc.c > > @@ -20,6 +20,7 @@ > > #include > > #include > > #include > > +#include > > #include > > > > #include "ci.h" > > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > > default: > > break; > > } > > + break; > > This break is needed? > Yes, needed. > > + case USB_DEVICE_B_HNP_ENABLE: > > + if (gadget_is_otg(&ci->gadget)) { > > + ci->gadget.b_hnp_enable = 1; > > + err = isr_setup_status_phase( > > + ci); > > + } > > + break; > > default: > > goto delegate; > > } > > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > > ci->gadget.ops = &usb_gadget_ops; > > ci->gadget.speed= USB_SPEED_UNKNOWN; > > ci->gadget.max_speed= USB_SPEED_HIGH; > > - ci->gadget.is_otg = 0; > > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > > ci->gadget.name = ci->platdata->name; > > > > INIT_LIST_HEAD(&ci->gadget.ep_list); > > -- > > 1.7.9.5 > > > > > > -- > > 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 v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
On Thu, Feb 27, 2014 at 07:38:23AM +0800, Li Jun wrote: > Add b_hnp_enable request handling and enable gadget->is_otg > > Signed-off-by: Li Jun > --- > drivers/usb/chipidea/udc.c | 11 ++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > index fe30dcc..602bbf3 100644 > --- a/drivers/usb/chipidea/udc.c > +++ b/drivers/usb/chipidea/udc.c > @@ -20,6 +20,7 @@ > #include > #include > #include > +#include > #include > > #include "ci.h" > @@ -1098,6 +1099,14 @@ __acquires(ci->lock) > default: > break; > } > + break; This break is needed? > + case USB_DEVICE_B_HNP_ENABLE: > + if (gadget_is_otg(&ci->gadget)) { > + ci->gadget.b_hnp_enable = 1; > + err = isr_setup_status_phase( > + ci); > + } > + break; > default: > goto delegate; > } > @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) > ci->gadget.ops = &usb_gadget_ops; > ci->gadget.speed= USB_SPEED_UNKNOWN; > ci->gadget.max_speed= USB_SPEED_HIGH; > - ci->gadget.is_otg = 0; > + ci->gadget.is_otg = ci->is_otg ? 1 : 0; > ci->gadget.name = ci->platdata->name; > > INIT_LIST_HEAD(&ci->gadget.ep_list); > -- > 1.7.9.5 > > -- 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
[PATCH v3 05/13] usb: chipidea: udc: driver update for OTG HNP.
Add b_hnp_enable request handling and enable gadget->is_otg Signed-off-by: Li Jun --- drivers/usb/chipidea/udc.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index fe30dcc..602bbf3 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include "ci.h" @@ -1098,6 +1099,14 @@ __acquires(ci->lock) default: break; } + break; + case USB_DEVICE_B_HNP_ENABLE: + if (gadget_is_otg(&ci->gadget)) { + ci->gadget.b_hnp_enable = 1; + err = isr_setup_status_phase( + ci); + } + break; default: goto delegate; } @@ -1765,7 +1774,7 @@ static int udc_start(struct ci_hdrc *ci) ci->gadget.ops = &usb_gadget_ops; ci->gadget.speed= USB_SPEED_UNKNOWN; ci->gadget.max_speed= USB_SPEED_HIGH; - ci->gadget.is_otg = 0; + ci->gadget.is_otg = ci->is_otg ? 1 : 0; ci->gadget.name = ci->platdata->name; INIT_LIST_HEAD(&ci->gadget.ep_list); -- 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