lkml.org 
[lkml]   [2017]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 014/177] usb: xhci: fix TDS for MTK xHCI1.1
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

    From: Chunfeng Yun <chunfeng.yun@mediatek.com>

    commit 72b663a99c074a8d073e7ecdae446cfb024ef551 upstream.

    For MTK's xHCI 1.0 or latter, TD size is the number of max
    packet sized packets remaining in the TD, not including
    this TRB (following spec).

    For MTK's xHCI 0.96 and older, TD size is the number of max
    packet sized packets remaining in the TD, including this TRB
    (not following spec).

    Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/host/xhci-ring.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/drivers/usb/host/xhci-ring.c
    +++ b/drivers/usb/host/xhci-ring.c
    @@ -3132,7 +3132,7 @@ static u32 xhci_td_remainder(struct xhci
    {
    u32 maxp, total_packet_count;

    - /* MTK xHCI is mostly 0.97 but contains some features from 1.0 */
    + /* MTK xHCI 0.96 contains some features from 1.0 */
    if (xhci->hci_version < 0x100 && !(xhci->quirks & XHCI_MTK_HOST))
    return ((td_total_len - transferred) >> 10);

    @@ -3141,8 +3141,8 @@ static u32 xhci_td_remainder(struct xhci
    trb_buff_len == td_total_len)
    return 0;

    - /* for MTK xHCI, TD size doesn't include this TRB */
    - if (xhci->quirks & XHCI_MTK_HOST)
    + /* for MTK xHCI 0.96, TD size include this TRB, but not in 1.x */
    + if ((xhci->quirks & XHCI_MTK_HOST) && (xhci->hci_version < 0x100))
    trb_buff_len = 0;

    maxp = GET_MAX_PACKET(usb_endpoint_maxp(&urb->ep->desc));

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