Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9dfcce42 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-fix-v4.11-rc4' of...

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

ASoC: Fixes for v4.11

A relatively large pile of fixes for mainline, the first since the merge
window.  The biggest block of changes here by volume is the sun8i-codec
set, the driver was newly added in the merge window but it was realized
that renaming some of the user visible controls was required so these
are being pushed for v4.11 to avoid the original code appearing in a
release.  Otherwise it's all fairly standard bugfix stuff.
parents 2d7d5400 2ddaa676
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -113,8 +113,8 @@
		simple-audio-card,mclk-fs = <512>;
		simple-audio-card,aux-devs = <&codec_analog>;
		simple-audio-card,routing =
			"Left DAC", "Digital Left DAC",
			"Right DAC", "Digital Right DAC";
			"Left DAC", "AIF1 Slot 0 Left",
			"Right DAC", "AIF1 Slot 0 Right";
		status = "disabled";

		simple-audio-card,cpu {
+1 −1
Original line number Diff line number Diff line
@@ -349,7 +349,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai,
}

#define CLASSD_ACLK_RATE_11M2896_MPY_8 (112896 * 100 * 8)
#define CLASSD_ACLK_RATE_12M288_MPY_8  (12228 * 1000 * 8)
#define CLASSD_ACLK_RATE_12M288_MPY_8  (12288 * 1000 * 8)

static struct {
	int rate;
+8 −8
Original line number Diff line number Diff line
@@ -1534,23 +1534,22 @@ static void hdac_hdmi_eld_notify_cb(void *aptr, int port, int pipe)
			pin->mst_capable = false;
			/* if not MST, default is port[0] */
			hport = &pin->ports[0];
			goto out;
		} else {
			for (i = 0; i < pin->num_ports; i++) {
				pin->mst_capable = true;
				if (pin->ports[i].id == pipe) {
					hport = &pin->ports[i];
					goto out;
				}
					break;
				}
			}
		}

out:
	if (pin && hport)
		if (hport)
			hdac_hdmi_present_sense(pin, hport);
	}

}

static struct i915_audio_component_audio_ops aops = {
	.pin_eld_notify	= hdac_hdmi_eld_notify_cb,
};
@@ -1998,7 +1997,7 @@ static int hdac_hdmi_dev_remove(struct hdac_ext_device *edev)
	struct hdac_hdmi_pin *pin, *pin_next;
	struct hdac_hdmi_cvt *cvt, *cvt_next;
	struct hdac_hdmi_pcm *pcm, *pcm_next;
	struct hdac_hdmi_port *port;
	struct hdac_hdmi_port *port, *port_next;
	int i;

	snd_soc_unregister_codec(&edev->hdac.dev);
@@ -2008,8 +2007,9 @@ static int hdac_hdmi_dev_remove(struct hdac_ext_device *edev)
		if (list_empty(&pcm->port_list))
			continue;

		list_for_each_entry(port, &pcm->port_list, head)
			port = NULL;
		list_for_each_entry_safe(port, port_next,
					&pcm->port_list, head)
			list_del(&port->head);

		list_del(&pcm->head);
		kfree(pcm);
+7 −3
Original line number Diff line number Diff line
@@ -1241,7 +1241,7 @@ static irqreturn_t rt5665_irq(int irq, void *data)
static void rt5665_jd_check_handler(struct work_struct *work)
{
	struct rt5665_priv *rt5665 = container_of(work, struct rt5665_priv,
		calibrate_work.work);
		jd_check_work.work);

	if (snd_soc_read(rt5665->codec, RT5665_AJD1_CTRL) & 0x0010) {
		/* jack out */
@@ -2252,7 +2252,7 @@ static const char * const rt5665_if2_1_adc_in_src[] = {

static const SOC_ENUM_SINGLE_DECL(
	rt5665_if2_1_adc_in_enum, RT5665_DIG_INF2_DATA,
	RT5665_IF3_ADC_IN_SFT, rt5665_if2_1_adc_in_src);
	RT5665_IF2_1_ADC_IN_SFT, rt5665_if2_1_adc_in_src);

static const struct snd_kcontrol_new rt5665_if2_1_adc_in_mux =
	SOC_DAPM_ENUM("IF2_1 ADC IN Source", rt5665_if2_1_adc_in_enum);
@@ -3178,6 +3178,9 @@ static const struct snd_soc_dapm_route rt5665_dapm_routes[] = {
	{"DAC Mono Right Filter", NULL, "DAC Mono R ASRC", is_using_asrc},
	{"DAC Stereo1 Filter", NULL, "DAC STO1 ASRC", is_using_asrc},
	{"DAC Stereo2 Filter", NULL, "DAC STO2 ASRC", is_using_asrc},
	{"I2S1 ASRC", NULL, "CLKDET"},
	{"I2S2 ASRC", NULL, "CLKDET"},
	{"I2S3 ASRC", NULL, "CLKDET"},

	/*Vref*/
	{"Mic Det Power", NULL, "Vref2"},
@@ -3912,6 +3915,7 @@ static const struct snd_soc_dapm_route rt5665_dapm_routes[] = {
	{"Mono MIX", "MONOVOL Switch", "MONOVOL"},
	{"Mono Amp", NULL, "Mono MIX"},
	{"Mono Amp", NULL, "Vref2"},
	{"Mono Amp", NULL, "Vref3"},
	{"Mono Amp", NULL, "CLKDET SYS"},
	{"Mono Amp", NULL, "CLKDET MONO"},
	{"Mono Playback", "Switch", "Mono Amp"},
@@ -4798,7 +4802,7 @@ static int rt5665_i2c_probe(struct i2c_client *i2c,
	/* Enhance performance*/
	regmap_update_bits(rt5665->regmap, RT5665_PWR_ANLG_1,
		RT5665_HP_DRIVER_MASK | RT5665_LDO1_DVO_MASK,
		RT5665_HP_DRIVER_5X | RT5665_LDO1_DVO_09);
		RT5665_HP_DRIVER_5X | RT5665_LDO1_DVO_12);

	INIT_DELAYED_WORK(&rt5665->jack_detect_work,
				rt5665_jack_detect_handler);
+1 −1
Original line number Diff line number Diff line
@@ -1106,7 +1106,7 @@
#define RT5665_HP_DRIVER_MASK			(0x3 << 2)
#define RT5665_HP_DRIVER_1X			(0x0 << 2)
#define RT5665_HP_DRIVER_3X			(0x1 << 2)
#define RT5665_HP_DRIVER_5X			(0x2 << 2)
#define RT5665_HP_DRIVER_5X			(0x3 << 2)
#define RT5665_LDO1_DVO_MASK			(0x3)
#define RT5665_LDO1_DVO_09			(0x0)
#define RT5665_LDO1_DVO_10			(0x1)
Loading