Unverified Commit 461b56f2 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Merge fixes

So they can be used as a basis for new work.
parents f769fcef e3720f92
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -269,6 +269,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
			DMI_MATCH(DMI_BOARD_NAME, "8A43"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
			DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
			DMI_MATCH(DMI_BOARD_NAME, "8A22"),
		}
	},
	{}
};

+6 −0
Original line number Diff line number Diff line
@@ -2022,6 +2022,11 @@ static int da7213_i2c_probe(struct i2c_client *i2c)
	return ret;
}

static void da7213_i2c_remove(struct i2c_client *i2c)
{
	pm_runtime_disable(&i2c->dev);
}

static int __maybe_unused da7213_runtime_suspend(struct device *dev)
{
	struct da7213_priv *da7213 = dev_get_drvdata(dev);
@@ -2065,6 +2070,7 @@ static struct i2c_driver da7213_i2c_driver = {
		.pm = &da7213_pm,
	},
	.probe_new	= da7213_i2c_probe,
	.remove		= da7213_i2c_remove,
	.id_table	= da7213_i2c_id,
};

+11 −6
Original line number Diff line number Diff line
@@ -436,23 +436,28 @@ static int hdac_hdmi_setup_audio_infoframe(struct hdac_device *hdev,
	return 0;
}

static int hdac_hdmi_set_tdm_slot(struct snd_soc_dai *dai,
		unsigned int tx_mask, unsigned int rx_mask,
		int slots, int slot_width)
static int hdac_hdmi_set_stream(struct snd_soc_dai *dai,
				void *stream, int direction)
{
	struct hdac_hdmi_priv *hdmi = snd_soc_dai_get_drvdata(dai);
	struct hdac_device *hdev = hdmi->hdev;
	struct hdac_hdmi_dai_port_map *dai_map;
	struct hdac_hdmi_pcm *pcm;
	struct hdac_stream *hstream;

	dev_dbg(&hdev->dev, "%s: strm_tag: %d\n", __func__, tx_mask);
	if (!stream)
		return -EINVAL;

	hstream = (struct hdac_stream *)stream;

	dev_dbg(&hdev->dev, "%s: strm_tag: %d\n", __func__, hstream->stream_tag);

	dai_map = &hdmi->dai_map[dai->id];

	pcm = hdac_hdmi_get_pcm_from_cvt(hdmi, dai_map->cvt);

	if (pcm)
		pcm->stream_tag = (tx_mask << 4);
		pcm->stream_tag = (hstream->stream_tag << 4);

	return 0;
}
@@ -1544,7 +1549,7 @@ static const struct snd_soc_dai_ops hdmi_dai_ops = {
	.startup = hdac_hdmi_pcm_open,
	.shutdown = hdac_hdmi_pcm_close,
	.hw_params = hdac_hdmi_set_hw_params,
	.set_tdm_slot = hdac_hdmi_set_tdm_slot,
	.set_stream = hdac_hdmi_set_stream,
};

/*
+2 −2
Original line number Diff line number Diff line
@@ -3688,9 +3688,9 @@ static int __maybe_unused rx_macro_runtime_suspend(struct device *dev)
	regcache_cache_only(rx->regmap, true);
	regcache_mark_dirty(rx->regmap);

	clk_disable_unprepare(rx->mclk);
	clk_disable_unprepare(rx->npl);
	clk_disable_unprepare(rx->fsgen);
	clk_disable_unprepare(rx->npl);
	clk_disable_unprepare(rx->mclk);

	return 0;
}
+2 −2
Original line number Diff line number Diff line
@@ -2104,9 +2104,9 @@ static int __maybe_unused tx_macro_runtime_suspend(struct device *dev)
	regcache_cache_only(tx->regmap, true);
	regcache_mark_dirty(tx->regmap);

	clk_disable_unprepare(tx->mclk);
	clk_disable_unprepare(tx->npl);
	clk_disable_unprepare(tx->fsgen);
	clk_disable_unprepare(tx->npl);
	clk_disable_unprepare(tx->mclk);

	return 0;
}
Loading