Re: [PATCH v4 4/8] ASoC: qcom: lpass-va-macro: Add shikra compatible
From: Ajay Kumar Nandam
Date: Fri Sep 25 2026 - 03:24:02 EST
On 9/22/2026 3:12 PM, Mohammad Rafi Shaik wrote:
Add shikra specific VA macro data and register programming needed by
the LPASS codec v4.1 implementation.
LPASS codec v4.1 extends the VA macro with four adaptive filter (ADPT)
blocks at 0x0800..0x09a4 and requires the FS counter to be bypassed
before it is enabled.
Add the new registers as a separate reg_default array, used by a v4.1
specific regmap config.
The register layout has to be chosen before the regmap exists, i.e.
before CDC_VA_TOP_CSR_CORE_ID_* can be read, so it comes from match data;
probe then cross checks it against the version reported by the hardware.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@xxxxxxxxxxxxxxxx>
---
sound/soc/codecs/lpass-va-macro.c | 281 +++++++++++++++++++++++++++++++++++++-
1 file changed, 274 insertions(+), 7 deletions(-)
+
+static const struct va_macro_data shikra_va_data = {
+ .has_swr_master = true,
+ .has_npl_clk = true,
+ .version = LPASS_CODEC_VERSION_4_1,
+ .regmap_config = &va_4_1_regmap_config,
+};
+
The commit message says probe cross-checks the match-data-selected register layout against the hardware-reported codec version, but setting .version here means va_macro_probe() takes the data->version path and skips va_macro_set_lpass_codec_version(), so the hardware version is not read.
Should this leave .version unset for Shikra, let va_macro_set_lpass_codec_version() read/validate the hardware version, and then compare the detected version against the selected regmap_config?
Thanks
Ajay Kumar Nandam