soundwire: cadence: move clock/SSP related inits to dedicated function
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 17 Mar 2020 16:33:21 +0000 (11:33 -0500)
committerVinod Koul <vkoul@kernel.org>
Thu, 19 Mar 2020 07:13:04 +0000 (12:43 +0530)
This helps isolate code and align with recommended programming flows

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200317163329.25501-10-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/cadence_master.c

index 7d9fc2c..fb697ff 100644 (file)
@@ -1043,11 +1043,7 @@ static u32 cdns_set_initial_frame_shape(int n_rows, int n_cols)
        return val;
 }
 
-/**
- * sdw_cdns_init() - Cadence initialization
- * @cdns: Cadence instance
- */
-int sdw_cdns_init(struct sdw_cdns *cdns)
+static void cdns_init_clock_ctrl(struct sdw_cdns *cdns)
 {
        struct sdw_bus *bus = &cdns->bus;
        struct sdw_master_prop *prop = &bus->prop;
@@ -1073,6 +1069,18 @@ int sdw_cdns_init(struct sdw_cdns *cdns)
        /* Set SSP interval to default value */
        cdns_writel(cdns, CDNS_MCP_SSP_CTRL0, CDNS_DEFAULT_SSP_INTERVAL);
        cdns_writel(cdns, CDNS_MCP_SSP_CTRL1, CDNS_DEFAULT_SSP_INTERVAL);
+}
+
+/**
+ * sdw_cdns_init() - Cadence initialization
+ * @cdns: Cadence instance
+ */
+int sdw_cdns_init(struct sdw_cdns *cdns)
+{
+       u32 val;
+       int ret;
+
+       cdns_init_clock_ctrl(cdns);
 
        /* reset msg_count to default value of FIFOLEVEL */
        cdns->msg_count = cdns_readl(cdns, CDNS_MCP_FIFOLEVEL);