lkml.org 
[lkml]   [2019]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 09/22] thunderbolt: Convert basic adapter register names to follow the USB4 spec
    Date
    Now that USB4 spec has names for these basic registers we can use them
    instead. This makes it easier to match certain register to the spec.

    No functional changes.

    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    ---
    drivers/thunderbolt/switch.c | 18 +++++++++---------
    drivers/thunderbolt/tb_regs.h | 15 ++++++++-------
    drivers/thunderbolt/tunnel.c | 10 +++++-----
    3 files changed, 22 insertions(+), 21 deletions(-)

    diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
    index f7547287be68..8d17398e3349 100644
    --- a/drivers/thunderbolt/switch.c
    +++ b/drivers/thunderbolt/switch.c
    @@ -553,17 +553,17 @@ int tb_port_add_nfc_credits(struct tb_port *port, int credits)
    if (credits == 0 || port->sw->is_unplugged)
    return 0;

    - nfc_credits = port->config.nfc_credits & TB_PORT_NFC_CREDITS_MASK;
    + nfc_credits = port->config.nfc_credits & ADP_CS_4_NFC_BUFFERS_MASK;
    nfc_credits += credits;

    - tb_port_dbg(port, "adding %d NFC credits to %lu",
    - credits, port->config.nfc_credits & TB_PORT_NFC_CREDITS_MASK);
    + tb_port_dbg(port, "adding %d NFC credits to %lu", credits,
    + port->config.nfc_credits & ADP_CS_4_NFC_BUFFERS_MASK);

    - port->config.nfc_credits &= ~TB_PORT_NFC_CREDITS_MASK;
    + port->config.nfc_credits &= ~ADP_CS_4_NFC_BUFFERS_MASK;
    port->config.nfc_credits |= nfc_credits;

    return tb_port_write(port, &port->config.nfc_credits,
    - TB_CFG_PORT, 4, 1);
    + TB_CFG_PORT, ADP_CS_4, 1);
    }

    /**
    @@ -578,14 +578,14 @@ int tb_port_set_initial_credits(struct tb_port *port, u32 credits)
    u32 data;
    int ret;

    - ret = tb_port_read(port, &data, TB_CFG_PORT, 5, 1);
    + ret = tb_port_read(port, &data, TB_CFG_PORT, ADP_CS_5, 1);
    if (ret)
    return ret;

    - data &= ~TB_PORT_LCA_MASK;
    - data |= (credits << TB_PORT_LCA_SHIFT) & TB_PORT_LCA_MASK;
    + data &= ~ADP_CS_5_LCA_MASK;
    + data |= (credits << ADP_CS_5_LCA_SHIFT) & ADP_CS_5_LCA_MASK;

    - return tb_port_write(port, &data, TB_CFG_PORT, 5, 1);
    + return tb_port_write(port, &data, TB_CFG_PORT, ADP_CS_5, 1);
    }

    /**
    diff --git a/drivers/thunderbolt/tb_regs.h b/drivers/thunderbolt/tb_regs.h
    index 6d4e072f1f63..0ac22fc26a5f 100644
    --- a/drivers/thunderbolt/tb_regs.h
    +++ b/drivers/thunderbolt/tb_regs.h
    @@ -211,13 +211,14 @@ struct tb_regs_port_header {

    } __packed;

    -/* DWORD 4 */
    -#define TB_PORT_NFC_CREDITS_MASK GENMASK(19, 0)
    -#define TB_PORT_MAX_CREDITS_SHIFT 20
    -#define TB_PORT_MAX_CREDITS_MASK GENMASK(26, 20)
    -/* DWORD 5 */
    -#define TB_PORT_LCA_SHIFT 22
    -#define TB_PORT_LCA_MASK GENMASK(28, 22)
    +/* Basic adapter configuration registers */
    +#define ADP_CS_4 0x04
    +#define ADP_CS_4_NFC_BUFFERS_MASK GENMASK(9, 0)
    +#define ADP_CS_4_TOTAL_BUFFERS_MASK GENMASK(29, 20)
    +#define ADP_CS_4_TOTAL_BUFFERS_SHIFT 20
    +#define ADP_CS_5 0x05
    +#define ADP_CS_5_LCA_MASK GENMASK(28, 22)
    +#define ADP_CS_5_LCA_SHIFT 22

    /* Lane adapter registers */
    #define LANE_ADP_CS_0 0x00
    diff --git a/drivers/thunderbolt/tunnel.c b/drivers/thunderbolt/tunnel.c
    index ff55a114825a..c901fa488478 100644
    --- a/drivers/thunderbolt/tunnel.c
    +++ b/drivers/thunderbolt/tunnel.c
    @@ -341,12 +341,12 @@ static void tb_dp_init_video_path(struct tb_path *path, bool discover)
    path->weight = 1;

    if (discover) {
    - path->nfc_credits = nfc_credits & TB_PORT_NFC_CREDITS_MASK;
    + path->nfc_credits = nfc_credits & ADP_CS_4_NFC_BUFFERS_MASK;
    } else {
    u32 max_credits;

    - max_credits = (nfc_credits & TB_PORT_MAX_CREDITS_MASK) >>
    - TB_PORT_MAX_CREDITS_SHIFT;
    + max_credits = (nfc_credits & ADP_CS_4_TOTAL_BUFFERS_MASK) >>
    + ADP_CS_4_TOTAL_BUFFERS_SHIFT;
    /* Leave some credits for AUX path */
    path->nfc_credits = min(max_credits - 2, 12U);
    }
    @@ -495,8 +495,8 @@ static u32 tb_dma_credits(struct tb_port *nhi)
    {
    u32 max_credits;

    - max_credits = (nhi->config.nfc_credits & TB_PORT_MAX_CREDITS_MASK) >>
    - TB_PORT_MAX_CREDITS_SHIFT;
    + max_credits = (nhi->config.nfc_credits & ADP_CS_4_TOTAL_BUFFERS_MASK) >>
    + ADP_CS_4_TOTAL_BUFFERS_SHIFT;
    return min(max_credits, 13U);
    }

    --
    2.23.0
    \
     
     \ /
      Last update: 2019-10-01 13:40    [W:4.527 / U:0.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site