lkml.org 
[lkml]   [2017]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 102/204] usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
    3.16.52-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>

    commit 29c7f3e68eec4ae94d85ad7b5dfdafdb8089f513 upstream.

    The DREQE bit of the DnFIFOSEL should be set to 1 after the DE bit of
    USB-DMAC on R-Car SoCs is set to 1 after the USB-DMAC received a
    zero-length packet. Otherwise, a transfer completion interruption
    of USB-DMAC doesn't happen. Even if the driver changes the sequence,
    normal operations (transmit/receive without zero-length packet) will
    not cause any side-effects. So, this patch fixes the sequence anyway.

    Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
    [shimoda: revise the commit log]
    Fixes: e73a9891b3a1 ("usb: renesas_usbhs: add DMAEngine support")
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    [bwh: Backported to 3.16: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/usb/renesas_usbhs/fifo.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/usb/renesas_usbhs/fifo.c
    +++ b/drivers/usb/renesas_usbhs/fifo.c
    @@ -828,9 +828,9 @@ static void xfer_work(struct work_struct
    dev_dbg(dev, " %s %d (%d/ %d)\n",
    fifo->name, usbhs_pipe_number(pipe), pkt->length, pkt->zero);

    - usbhsf_dma_start(pipe, fifo);
    usbhs_pipe_set_trans_count_if_bulk(pipe, pkt->trans);
    dma_async_issue_pending(chan);
    + usbhsf_dma_start(pipe, fifo);
    usbhs_pipe_enable(pipe);

    xfer_work_end:
    \
     
     \ /
      Last update: 2017-12-28 18:55    [W:2.470 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site