lkml.org 
[lkml]   [2023]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/16] soundwire: cadence: split access to IP_MCP_CMDCTRL fields
    Date
    From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

    The latest Cadence IP splits the MCP_CMDCTRL fields in two registers:
    MCP_CMDCTRL and IP_MCP_CMDCTRL. Rename the relevant fields and change
    the access methods used for those fields.

    In practice we only use the Parity error insertion in IP_CMD_CTRL.

    For existing solutions, this is an iso-functionality change.

    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    ---
    drivers/soundwire/cadence_master.c | 16 ++++++++--------
    1 file changed, 8 insertions(+), 8 deletions(-)

    diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
    index 4c82712944b9..5128923f051e 100644
    --- a/drivers/soundwire/cadence_master.c
    +++ b/drivers/soundwire/cadence_master.c
    @@ -54,9 +54,9 @@ MODULE_PARM_DESC(cdns_mcp_int_mask, "Cadence MCP IntMask");
    #define CDNS_IP_MCP_CONTROL_CMD_ACCEPT BIT(1)
    #define CDNS_IP_MCP_CONTROL_BLOCK_WAKEUP BIT(0)

    -#define CDNS_MCP_CMDCTRL 0x8
    +#define CDNS_IP_MCP_CMDCTRL 0x8 /* IP offset added at run-time */

    -#define CDNS_MCP_CMDCTRL_INSERT_PARITY_ERR BIT(2)
    +#define CDNS_IP_MCP_CMDCTRL_INSERT_PARITY_ERR BIT(2)

    #define CDNS_MCP_SSPSTAT 0xC
    #define CDNS_MCP_FRAME_SHAPE 0x10
    @@ -428,9 +428,9 @@ static int cdns_parity_error_injection(void *data, u64 value)
    mutex_lock(&bus->bus_lock);

    /* program hardware to inject parity error */
    - cdns_updatel(cdns, CDNS_MCP_CMDCTRL,
    - CDNS_MCP_CMDCTRL_INSERT_PARITY_ERR,
    - CDNS_MCP_CMDCTRL_INSERT_PARITY_ERR);
    + cdns_ip_updatel(cdns, CDNS_IP_MCP_CMDCTRL,
    + CDNS_IP_MCP_CMDCTRL_INSERT_PARITY_ERR,
    + CDNS_IP_MCP_CMDCTRL_INSERT_PARITY_ERR);

    /* commit changes */
    cdns_updatel(cdns, CDNS_MCP_CONFIG_UPDATE,
    @@ -442,9 +442,9 @@ static int cdns_parity_error_injection(void *data, u64 value)
    dev_info(cdns->dev, "parity error injection, read: %d\n", ret);

    /* program hardware to disable parity error */
    - cdns_updatel(cdns, CDNS_MCP_CMDCTRL,
    - CDNS_MCP_CMDCTRL_INSERT_PARITY_ERR,
    - 0);
    + cdns_ip_updatel(cdns, CDNS_IP_MCP_CMDCTRL,
    + CDNS_IP_MCP_CMDCTRL_INSERT_PARITY_ERR,
    + 0);

    /* commit changes */
    cdns_updatel(cdns, CDNS_MCP_CONFIG_UPDATE,
    --
    2.25.1
    \
     
     \ /
      Last update: 2023-03-27 00:57    [W:2.233 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site