ASoC: Intel: avs: Fix debug-slot offset calculation
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 5 Apr 2024 09:09:18 +0000 (11:09 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 5 Apr 2024 12:13:02 +0000 (13:13 +0100)
For resources with ID other than 0 the current calculus is incorrect.

Fixes: 275b583d047a ("ASoC: Intel: avs: ICL-based platforms support")
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://msgid.link/r/20240405090929.1184068-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/icl.c

index 9d9921e1cd4dedcb2ff4f8e9b59a3b4560d7fa4c..3e0716160f5a6411853739c40679f45d59421c84 100644 (file)
@@ -66,7 +66,7 @@ struct avs_icl_memwnd2 {
                struct avs_icl_memwnd2_desc slot_desc[AVS_ICL_MEMWND2_SLOTS_COUNT];
                u8 rsvd[PAGE_SIZE];
        };
-       u8 slot_array[AVS_ICL_MEMWND2_SLOTS_COUNT][PAGE_SIZE];
+       u8 slot_array[AVS_ICL_MEMWND2_SLOTS_COUNT][SZ_4K];
 } __packed;
 
 #define AVS_ICL_SLOT_UNUSED \
@@ -89,8 +89,7 @@ static int avs_icl_slot_offset(struct avs_dev *adev, union avs_icl_memwnd2_slot_
 
        for (i = 0; i < AVS_ICL_MEMWND2_SLOTS_COUNT; i++)
                if (desc[i].slot_id.val == slot_type.val)
-                       return offsetof(struct avs_icl_memwnd2, slot_array) +
-                              avs_skl_log_buffer_offset(adev, i);
+                       return offsetof(struct avs_icl_memwnd2, slot_array) + i * SZ_4K;
        return -ENXIO;
 }