Commit fbbc69d2 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-fix-v6.7-rc4' of...

Merge tag 'asoc-fix-v6.7-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v6.7

A crop of fixes for v6.7, one core fix for a merge issue and a bunch of
driver specific fixes and new IDs, mostly for x86 platforms.
parents 2b3a7a30 0a10d152
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -103,6 +103,20 @@ static const struct config_entry config_table[] = {
			{}
		},
	},
	{
		.flags = FLAG_AMD_LEGACY,
		.device = ACP_PCI_DEV_ID,
		.dmi_table = (const struct dmi_system_id []) {
			{
				.matches = {
					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HVY-WXX9"),
					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1010"),
				},
			},
			{}
		},
	},
	{
		.flags = FLAG_AMD_LEGACY,
		.device = ACP_PCI_DEV_ID,
+21 −0
Original line number Diff line number Diff line
@@ -283,6 +283,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "M6500RC"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
			DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
			DMI_MATCH(DMI_PRODUCT_NAME, "E1504FA"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
@@ -367,6 +374,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
			DMI_MATCH(DMI_BOARD_NAME, "8A3E"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
			DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
			DMI_MATCH(DMI_BOARD_NAME, "8B2F"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
@@ -381,6 +395,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
			DMI_MATCH(DMI_PRODUCT_VERSION, "pang12"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
			DMI_MATCH(DMI_BOARD_VENDOR, "System76"),
			DMI_MATCH(DMI_PRODUCT_VERSION, "pang13"),
		}
	},
	{}
};

+3 −3
Original line number Diff line number Diff line
@@ -578,7 +578,7 @@ static int cs43130_set_sp_fmt(int dai_id, unsigned int bitwidth_sclk,
		break;
	case SND_SOC_DAIFMT_LEFT_J:
		hi_size = bitwidth_sclk;
		frm_delay = 2;
		frm_delay = 0;
		frm_phase = 1;
		break;
	case SND_SOC_DAIFMT_DSP_A:
@@ -1682,7 +1682,7 @@ static ssize_t hpload_dc_r_show(struct device *dev,
	return cs43130_show_dc(dev, buf, HP_RIGHT);
}

static u16 const cs43130_ac_freq[CS43130_AC_FREQ] = {
static const u16 cs43130_ac_freq[CS43130_AC_FREQ] = {
	24,
	43,
	93,
@@ -2362,7 +2362,7 @@ static const struct regmap_config cs43130_regmap = {
	.use_single_write	= true,
};

static u16 const cs43130_dc_threshold[CS43130_DC_THRESHOLD] = {
static const u16 cs43130_dc_threshold[CS43130_DC_THRESHOLD] = {
	50,
	120,
};
+1 −1
Original line number Diff line number Diff line
@@ -696,7 +696,7 @@ static struct da7219_aad_pdata *da7219_aad_fw_to_pdata(struct device *dev)
		aad_pdata->mic_det_thr =
			da7219_aad_fw_mic_det_thr(dev, fw_val32);
	else
		aad_pdata->mic_det_thr = DA7219_AAD_MIC_DET_THR_500_OHMS;
		aad_pdata->mic_det_thr = DA7219_AAD_MIC_DET_THR_200_OHMS;

	if (fwnode_property_read_u32(aad_np, "dlg,jack-ins-deb", &fw_val32) >= 0)
		aad_pdata->jack_ins_deb =
+20 −3
Original line number Diff line number Diff line
@@ -132,6 +132,9 @@ static struct snd_soc_dai_driver hdac_hda_dais[] = {
		.sig_bits = 24,
	},
},
};

static struct snd_soc_dai_driver hdac_hda_hdmi_dais[] = {
{
	.id = HDAC_HDMI_0_DAI_ID,
	.name = "intel-hdmi-hifi1",
@@ -607,8 +610,16 @@ static const struct snd_soc_component_driver hdac_hda_codec = {
	.endianness		= 1,
};

static const struct snd_soc_component_driver hdac_hda_hdmi_codec = {
	.probe			= hdac_hda_codec_probe,
	.remove			= hdac_hda_codec_remove,
	.idle_bias_on		= false,
	.endianness		= 1,
};

static int hdac_hda_dev_probe(struct hdac_device *hdev)
{
	struct hdac_hda_priv *hda_pvt = dev_get_drvdata(&hdev->dev);
	struct hdac_ext_link *hlink;
	int ret;

@@ -621,9 +632,15 @@ static int hdac_hda_dev_probe(struct hdac_device *hdev)
	snd_hdac_ext_bus_link_get(hdev->bus, hlink);

	/* ASoC specific initialization */
	if (hda_pvt->need_display_power)
		ret = devm_snd_soc_register_component(&hdev->dev,
						&hdac_hda_hdmi_codec, hdac_hda_hdmi_dais,
						ARRAY_SIZE(hdac_hda_hdmi_dais));
	else
		ret = devm_snd_soc_register_component(&hdev->dev,
						&hdac_hda_codec, hdac_hda_dais,
						ARRAY_SIZE(hdac_hda_dais));

	if (ret < 0) {
		dev_err(&hdev->dev, "failed to register HDA codec %d\n", ret);
		return ret;
Loading