]> git.alsa-project.org Git - alsa-utils.git/commitdiff
Topology: NHLT: Intel: Fix DMA slots config in SSP blob
authorSeppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Wed, 15 Jan 2025 13:35:30 +0000 (15:35 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 23 Jan 2025 17:30:05 +0000 (18:30 +0100)
This fixes a mistake in function ssp_calculate_intern_v30().
The rx_dir[0] and tx_dir[0] value was hard-coded to 0x3 for
typical stereo slots configuration. It should be instead
retrieved from topology parameters for the SSP.

Closes: https://github.com/alsa-project/alsa-utils/pull/289
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
topology/nhlt/intel/ssp/ssp-process.c

index 6a5a5e239011aa5f3cb943f79ae08a000c7653a9..3a1db9fccbd047950ad400d350bfbe11400bbe68 100644 (file)
@@ -60,11 +60,11 @@ static void ssp_calculate_intern_v30(struct intel_nhlt_params *nhlt, int hwi)
        blob30->rsvd2 = 0;
        blob30->ssioc = blob->ssioc;
 
-       blob30->rx_dir[0].ssmidytsa = 3;
+       blob30->rx_dir[0].ssmidytsa = ssp->ssp_prm[di].hw_cfg[hwi].rx_slots;
        for (i = 1; i < I2SIPCMC; i++)
                blob30->rx_dir[i].ssmidytsa = 0;
 
-       blob30->tx_dir[0].ssmodytsa = 3;
+       blob30->tx_dir[0].ssmodytsa = ssp->ssp_prm[di].hw_cfg[hwi].tx_slots;
        for (i = 1; i < I2SOPCMC; i++)
                blob30->tx_dir[i].ssmodytsa = 0;