[PATCH v5 00/10] add HNP polling support for usb otg fsm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 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.

changes for v3:
- Move otg status selector definition from otg-fsm.h to ch9.h
- Use delayed_work instead of timer work to avoid a workstruct
- Add a new flag hnp_polling_support in usb_gadget to indicate if HNP polling
  is supported, which should be set by controller driver.
- Add a new patch to enable hnp_polling_support for chipidea otg fsm drier.
- Move otg status selector hanlding from chipidea udc driver to composite.c
- Add a new patch to bypass otg status selector hanlding.

changes for v2:
- Move HNP polling timer from chipidea controller driver to usb-otg-fsm.c to
  make it more generically, then HNP polling can be fully handled by otg fsm
  driver.
- Add comments for host_request_flag in patch:
  usb: gadget: add host_requestf_flag in usb_gadget for OTG HNP

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: disable irq while do role switch
  usb: chipidea: otg: enable HNP polling support for gadget and host
  Documentation: usb: chipidea: Update test procedure for HNP polling
  usb: chipidea: otg: add A idle to B disconnect timer

 Documentation/usb/chipidea.txt   |  9 +++--
 drivers/usb/chipidea/otg_fsm.c   | 31 ++++++++++++--
 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, 163 insertions(+), 16 deletions(-)

-- 
1.9.1

--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux