lkml.org 
[lkml]   [2020]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 1/3] soundwire: qcom: clear BIT FIELDs before value set.
    Date
    According to usage (bitfields.h) of REG_FIELDS,
    Modify is:
    reg &= ~REG_FIELD_C;
    reg |= FIELD_PREP(REG_FIELD_C, c);

    Patch ("soundwire: qcom : use FIELD_{GET|PREP}") seems to have
    accidentally removed clearing bit field while modifying the register.

    Fix this by using u32p_replace_bits() to clear and set the values.

    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    ---
    drivers/soundwire/qcom.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
    index d7aabdaffee3..c1bb35884182 100644
    --- a/drivers/soundwire/qcom.c
    +++ b/drivers/soundwire/qcom.c
    @@ -311,7 +311,7 @@ static int qcom_swrm_init(struct qcom_swrm_ctrl *ctrl)

    /* Configure No pings */
    ctrl->reg_read(ctrl, SWRM_MCP_CFG_ADDR, &val);
    - val |= FIELD_PREP(SWRM_MCP_CFG_MAX_NUM_OF_CMD_NO_PINGS_BMSK, SWRM_DEF_CMD_NO_PINGS);
    + u32p_replace_bits(&val, SWRM_DEF_CMD_NO_PINGS, SWRM_MCP_CFG_MAX_NUM_OF_CMD_NO_PINGS_BMSK);
    ctrl->reg_write(ctrl, SWRM_MCP_CFG_ADDR, val);

    /* Configure number of retries of a read/write cmd */
    @@ -372,8 +372,8 @@ static int qcom_swrm_pre_bank_switch(struct sdw_bus *bus)

    ctrl->reg_read(ctrl, reg, &val);

    - val |= FIELD_PREP(SWRM_MCP_FRAME_CTRL_BANK_COL_CTRL_BMSK, SWRM_MAX_COL_VAL);
    - val |= FIELD_PREP(SWRM_MCP_FRAME_CTRL_BANK_ROW_CTRL_BMSK, SWRM_MAX_ROW_VAL);
    + u32p_replace_bits(&val, SWRM_MAX_COL_VAL, SWRM_MCP_FRAME_CTRL_BANK_COL_CTRL_BMSK);
    + u32p_replace_bits(&val, SWRM_MAX_ROW_VAL, SWRM_MCP_FRAME_CTRL_BANK_ROW_CTRL_BMSK);

    return ctrl->reg_write(ctrl, reg, val);
    }
    --
    2.21.0
    \
     
     \ /
      Last update: 2020-09-17 14:12    [W:4.146 / U:0.624 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site