Hi Felipe, > -----Original Message----- > From: Jun Li > Sent: Tuesday, January 26, 2016 3:19 PM > To: Peter Chen <peter.chen@xxxxxxx>; hzpeterchen@xxxxxxxxx; balbi@xxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx > Cc: linux-usb@xxxxxxxxxxxxxxx; Jun Li <jun.li@xxxxxxx> > Subject: [PATCH v6 00/10] add HNP polling support for usb otg fsm > > HNP polling is a mechanism which allows the OTG device currently acting as > host to determine when the other attached OTG device wishes to take the > host role. When an OTG host, which supports HNP, is connected to an OTG > peripheral which also supports HNP it shall poll the peripheral regularly > to determine whether it requires a role-swap and grant this at the > earliest opportunity. > This patchset adds OTG HNP polling support, and enable for chipidea usb > otg fsm driver, more patches for pass OTG certification will come later. > > changes for v6: > - Remove patch of disable irq while stop host role. > - Split B_AIDL_BDIS timer patch to be 2 patches(9/10 and 10/10). > - Add Peter's ack for patch 3, 7, 8/10. > > changes for v5: > - Instead of use stack memory, use kmalloc to allocate memory for host > request flag one byte buffer(DMA read), and add host_req_flag pointer > in struct otg_fsm for reference to that flag buffer. > - Add one patch to disable irq while stop host role(7/10). > - Add one patch to fix B_AIDL_BDIS timing issue(10/10). > > changes for v4: > - Add OTG HNP capable check for connected device before sending HNP > polling > in patch 3/8. > - Add comment to explain HNP test update in chipidea.txt in patch 8/8. > - Fix some typo. > - Add Peter's Ack in patch 1,2,4,5,6,7/8 of the series. > > Li Jun (10): > usb: gadget: add hnp_polling_support and host_request_flag in > usb_gadget > usb: add OTG status selector definition for HNP polling > usb: common: otg-fsm: add HNP polling support > usb: chipidea: udc: bypass otg status selector handling to gadget > driver > usb: gadget: composite: handle otg status selector request from OTG > host > usb: chipidea: otg: set host_request_flag for gadget > usb: chipidea: otg: enable HNP polling support for gadget and host > Documentation: usb: chipidea: Update test procedure for HNP polling > usb: otg-fsm: add B_AIDL_BDIS timer > usb: chipidea: otg: add A idle to B disconnect timer > > Documentation/usb/chipidea.txt | 9 +++-- > drivers/usb/chipidea/otg_fsm.c | 29 ++++++++++++-- > drivers/usb/chipidea/otg_fsm.h | 2 + > drivers/usb/chipidea/udc.c | 3 +- > drivers/usb/common/usb-otg-fsm.c | 87 > ++++++++++++++++++++++++++++++++++++++++ > drivers/usb/gadget/composite.c | 25 ++++++++---- > include/linux/usb/gadget.h | 6 +++ > include/linux/usb/otg-fsm.h | 15 +++++++ > include/uapi/linux/usb/ch9.h | 1 + > 9 files changed, 161 insertions(+), 16 deletions(-) > > -- > 1.9.1 Could you please take look this series again? Basically this is a updated version based on v4 you reviewed, for common and gadget part, the only major change is use dedicated buffer through kmalloc instead of use a stack variable for host request flag(usb control transfer, DMA read). Other changes are for chipidea driver. The common HNP polling implementation is generic so does not depend on any specific controller drivers, also Roger's OTG core. If you still think the chipidea driver ABI change is not in right direction since Roger will introduce OTG core concept, I can drop that part. Thanks! Li Jun -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html