lkml.org 
[lkml]   [2015]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 11/13] usb: core: hub: Notify OTG fsm when A device sets b_hnp_enable
    Date
    This is the a_set_b_hnp_enable flag in the OTG state machine
    diagram and must be set when the A-Host has successfully set
    the b_hnp_enable feature of the OTG-B-Peripheral attached to it.

    When this bit changes we kick our OTG FSM to make note of the
    change and act accordingly.

    Signed-off-by: Roger Quadros <rogerq@ti.com>
    ---
    drivers/usb/core/hub.c | 10 +++++++++-
    1 file changed, 9 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
    index 431839b..3993168 100644
    --- a/drivers/usb/core/hub.c
    +++ b/drivers/usb/core/hub.c
    @@ -2271,6 +2271,9 @@ static int usb_enumerate_device_otg(struct usb_device *udev)
    "can't set HNP mode: %d\n",
    err);
    bus->b_hnp_enable = 0;
    + } else {
    + /* notify OTG fsm about a_set_b_hnp_enable */
    + usb_otg_kick_fsm(udev->bus->controller);
    }
    }
    }
    @@ -4238,8 +4241,13 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
    */
    if (!hdev->parent) {
    delay = HUB_ROOT_RESET_TIME;
    - if (port1 == hdev->bus->otg_port)
    + if (port1 == hdev->bus->otg_port) {
    hdev->bus->b_hnp_enable = 0;
    +#ifdef CONFIG_USB_OTG
    + /* notify OTG fsm about a_set_b_hnp_enable change */
    + usb_otg_kick_fsm(hdev->bus->controller);
    +#endif
    + }
    }

    /* Some low speed devices have problems with the quick delay, so */
    --
    2.1.4


    \
     
     \ /
      Last update: 2015-08-24 15:41    [W:5.464 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site