Skip to content

Commit b3c18a5

Browse files
committed
Merge tag 'asoc-fix-v6.11-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v6.11 A relatively large collection of fixes here, all driver specific and none of them particularly major, plus one MAINTAINERS update. There's been a bunch of work on module autoloading from several people.
2 parents 1fa7b09 + bb44855 commit b3c18a5

File tree

17 files changed

+88
-26
lines changed

17 files changed

+88
-26
lines changed

MAINTAINERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18525,7 +18525,6 @@ F: drivers/crypto/intel/qat/
1852518525

1852618526
QCOM AUDIO (ASoC) DRIVERS
1852718527
M: Srinivas Kandagatla <[email protected]>
18528-
M: Banajit Goswami <[email protected]>
1852918528
L: [email protected] (moderated for non-subscribers)
1853018529
1853118530
S: Supported

sound/soc/amd/acp/acp-legacy-mach.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ static const struct platform_device_id board_ids[] = {
227227
},
228228
{ }
229229
};
230+
MODULE_DEVICE_TABLE(platform, board_ids);
231+
230232
static struct platform_driver acp_asoc_audio = {
231233
.driver = {
232234
.pm = &snd_soc_pm_ops,

sound/soc/amd/acp/acp-sof-mach.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ static const struct platform_device_id board_ids[] = {
158158
},
159159
{ }
160160
};
161+
MODULE_DEVICE_TABLE(platform, board_ids);
162+
161163
static struct platform_driver acp_asoc_audio = {
162164
.driver = {
163165
.name = "sof_mach",

sound/soc/au1x/db1200.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ static const struct platform_device_id db1200_pids[] = {
4444
},
4545
{},
4646
};
47+
MODULE_DEVICE_TABLE(platform, db1200_pids);
4748

4849
/*------------------------- AC97 PART ---------------------------*/
4950

sound/soc/codecs/cs-amp-lib-test.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ static void cs_amp_lib_test_init_dummy_cal_blob(struct kunit *test, int num_amps
3838
{
3939
struct cs_amp_lib_test_priv *priv = test->priv;
4040
unsigned int blob_size;
41+
int i;
4142

4243
blob_size = offsetof(struct cirrus_amp_efi_data, data) +
4344
sizeof(struct cirrus_amp_cal_data) * num_amps;
@@ -49,6 +50,14 @@ static void cs_amp_lib_test_init_dummy_cal_blob(struct kunit *test, int num_amps
4950
priv->cal_blob->count = num_amps;
5051

5152
get_random_bytes(priv->cal_blob->data, sizeof(struct cirrus_amp_cal_data) * num_amps);
53+
54+
/* Ensure all timestamps are non-zero to mark the entry valid. */
55+
for (i = 0; i < num_amps; i++)
56+
priv->cal_blob->data[i].calTime[0] |= 1;
57+
58+
/* Ensure that all UIDs are non-zero and unique. */
59+
for (i = 0; i < num_amps; i++)
60+
*(u8 *)&priv->cal_blob->data[i].calTarget[0] = i + 1;
5261
}
5362

5463
static u64 cs_amp_lib_test_get_target_uid(struct kunit *test)

sound/soc/codecs/cs-amp-lib.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ static int _cs_amp_get_efi_calibration_data(struct device *dev, u64 target_uid,
182182
for (i = 0; i < efi_data->count; ++i) {
183183
u64 cal_target = cs_amp_cal_target_u64(&efi_data->data[i]);
184184

185+
/* Skip empty entries */
186+
if (!efi_data->data[i].calTime[0] && !efi_data->data[i].calTime[1])
187+
continue;
188+
185189
/* Skip entries with unpopulated silicon ID */
186190
if (cal_target == 0)
187191
continue;
@@ -193,7 +197,8 @@ static int _cs_amp_get_efi_calibration_data(struct device *dev, u64 target_uid,
193197
}
194198
}
195199

196-
if (!cal && (amp_index >= 0) && (amp_index < efi_data->count)) {
200+
if (!cal && (amp_index >= 0) && (amp_index < efi_data->count) &&
201+
(efi_data->data[amp_index].calTime[0] || efi_data->data[amp_index].calTime[1])) {
197202
u64 cal_target = cs_amp_cal_target_u64(&efi_data->data[amp_index]);
198203

199204
/*

sound/soc/codecs/lpass-macro-common.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ static inline void lpass_macro_pds_exit_action(void *pds)
4949
static inline const char *lpass_macro_get_codec_version_string(int version)
5050
{
5151
switch (version) {
52+
case LPASS_CODEC_VERSION_1_0:
53+
return "v1.0";
54+
case LPASS_CODEC_VERSION_1_1:
55+
return "v1.1";
56+
case LPASS_CODEC_VERSION_1_2:
57+
return "v1.2";
5258
case LPASS_CODEC_VERSION_2_0:
5359
return "v2.0";
5460
case LPASS_CODEC_VERSION_2_1:

sound/soc/codecs/lpass-va-macro.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,6 +1485,10 @@ static void va_macro_set_lpass_codec_version(struct va_macro *va)
14851485
if ((core_id_0 == 0x02) && (core_id_1 == 0x0F) && (core_id_2 == 0x80 || core_id_2 == 0x81))
14861486
version = LPASS_CODEC_VERSION_2_8;
14871487

1488+
if (version == LPASS_CODEC_VERSION_UNKNOWN)
1489+
dev_warn(va->dev, "Unknown Codec version, ID: %02x / %02x / %02x\n",
1490+
core_id_0, core_id_1, core_id_2);
1491+
14881492
lpass_macro_set_codec_version(version);
14891493

14901494
dev_dbg(va->dev, "LPASS Codec Version %s\n", lpass_macro_get_codec_version_string(version));

sound/soc/codecs/wcd937x.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,9 @@ static const struct regmap_irq_chip wcd937x_regmap_irq_chip = {
242242

243243
static void wcd937x_reset(struct wcd937x_priv *wcd937x)
244244
{
245-
usleep_range(20, 30);
246-
247245
gpiod_set_value(wcd937x->reset_gpio, 1);
248-
246+
usleep_range(20, 30);
247+
gpiod_set_value(wcd937x->reset_gpio, 0);
249248
usleep_range(20, 30);
250249
}
251250

sound/soc/mediatek/mt8188/mt8188-afe-pcm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2748,6 +2748,7 @@ static bool mt8188_is_volatile_reg(struct device *dev, unsigned int reg)
27482748
case AFE_ASRC12_NEW_CON9:
27492749
case AFE_LRCK_CNT:
27502750
case AFE_DAC_MON0:
2751+
case AFE_DAC_CON0:
27512752
case AFE_DL2_CUR:
27522753
case AFE_DL3_CUR:
27532754
case AFE_DL6_CUR:

0 commit comments

Comments
 (0)