ASoC: Intel: Skylake: Update for ssp node index in copier cfg
authorJeeja KP <jeeja.kp@intel.com>
Thu, 22 Oct 2015 17:52:38 +0000 (23:22 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 23 Oct 2015 16:31:34 +0000 (01:31 +0900)
DSP firmware has interface change for SSP node index structure.
New FW interface removes the dual_mono field and adds 4 bits for
TDM slot group index. This patch updates the ssp dma to align with
the DSP firmware structure.

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-messages.c
sound/soc/intel/skylake/skl-topology.h

index 826d4fd8930a5ca802f07bef5542bc26c199ffdf..77c0736d3c9e98103fcd862a60e2cfdc2c498e33 100644 (file)
@@ -303,6 +303,7 @@ static void skl_setup_cpr_gateway_cfg(struct skl_sst *ctx,
                        struct skl_cpr_cfg *cpr_mconfig)
 {
        union skl_connector_node_id node_id = {0};
+       union skl_ssp_dma_node ssp_node  = {0};
        struct skl_pipe_params *params = mconfig->pipe->p_params;
 
        switch (mconfig->dev_type) {
@@ -320,9 +321,9 @@ static void skl_setup_cpr_gateway_cfg(struct skl_sst *ctx,
                        (SKL_CONN_SOURCE == mconfig->hw_conn_type) ?
                        SKL_DMA_I2S_LINK_OUTPUT_CLASS :
                        SKL_DMA_I2S_LINK_INPUT_CLASS;
-               node_id.node.vindex = params->host_dma_id +
-                                        (mconfig->time_slot << 1) +
-                                        (mconfig->vbus_id << 3);
+               ssp_node.dma_node.time_slot_index = mconfig->time_slot;
+               ssp_node.dma_node.i2s_instance = mconfig->vbus_id;
+               node_id.node.vindex = ssp_node.val;
                break;
 
        case SKL_DEVICE_DMIC:
index 0c83dc3ea3e2427fd1394e58aaeb50e5e67e7706..2399535a196aa8e2c1b2814061f8ac9e6db844bb 100644 (file)
@@ -153,8 +153,7 @@ enum skl_dma_type {
 union skl_ssp_dma_node {
        u8 val;
        struct {
-               u8 dual_mono:1;
-               u8 time_slot:3;
+               u8 time_slot_index:4;
                u8 i2s_instance:4;
        } dma_node;
 };