Message ID | 1445536362-26670-6-git-send-email-vinod.koul@intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d7b188131c4823a85d17b992083bf8a8c32a2be3 |
Headers | show |
On Thu, Oct 22, 2015 at 11:22:38PM +0530, Vinod Koul wrote: > From: Jeeja KP <jeeja.kp@intel.com> > > 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. This probably doesn't matter right now since things haven't been released yet but it's going to become an ABI issue...
On Sat, Oct 24, 2015 at 01:30:52AM +0900, Mark Brown wrote: > On Thu, Oct 22, 2015 at 11:22:38PM +0530, Vinod Koul wrote: > > From: Jeeja KP <jeeja.kp@intel.com> > > > > 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. > > This probably doesn't matter right now since things haven't been > released yet but it's going to become an ABI issue... Yes, I am trying to ensure after this cycle is done we dont have any more interface changes..
diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c index 826d4fd8930a..77c0736d3c9e 100644 --- a/sound/soc/intel/skylake/skl-messages.c +++ b/sound/soc/intel/skylake/skl-messages.c @@ -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: diff --git a/sound/soc/intel/skylake/skl-topology.h b/sound/soc/intel/skylake/skl-topology.h index 0c83dc3ea3e2..2399535a196a 100644 --- a/sound/soc/intel/skylake/skl-topology.h +++ b/sound/soc/intel/skylake/skl-topology.h @@ -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; };