Commit 08c9aa7c authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-fix-v6.4-rc6' of...

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

ASoC: Fixes for v6.4

A lot of routine driver specific fixes here, nothing in the core though
there are a couple of fixes for the generic cards.  There's also a few
new quirks for x86 platforms.
parents 5c219a34 32cf0046
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -211,8 +211,7 @@ static int create_acp63_platform_devs(struct pci_dev *pci, struct acp63_dev_data
	case ACP63_PDM_DEV_MASK:
		adata->pdm_dev_index  = 0;
		acp63_fill_platform_dev_info(&pdevinfo[0], parent, NULL, "acp_ps_pdm_dma",
					     0, adata->res, 1, &adata->acp_lock,
					     sizeof(adata->acp_lock));
					     0, adata->res, 1, NULL, 0);
		acp63_fill_platform_dev_info(&pdevinfo[1], parent, NULL, "dmic-codec",
					     0, NULL, 0, NULL, 0);
		acp63_fill_platform_dev_info(&pdevinfo[2], parent, NULL, "acp_ps_mach",
+5 −5
Original line number Diff line number Diff line
@@ -361,12 +361,12 @@ static int acp63_pdm_audio_probe(struct platform_device *pdev)
{
	struct resource *res;
	struct pdm_dev_data *adata;
	struct acp63_dev_data *acp_data;
	struct device *parent;
	int status;

	if (!pdev->dev.platform_data) {
		dev_err(&pdev->dev, "platform_data not retrieved\n");
		return -ENODEV;
	}
	parent = pdev->dev.parent;
	acp_data = dev_get_drvdata(parent);
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!res) {
		dev_err(&pdev->dev, "IORESOURCE_MEM FAILED\n");
@@ -382,7 +382,7 @@ static int acp63_pdm_audio_probe(struct platform_device *pdev)
		return -ENOMEM;

	adata->capture_stream = NULL;
	adata->acp_lock = pdev->dev.platform_data;
	adata->acp_lock = &acp_data->acp_lock;
	dev_set_drvdata(&pdev->dev, adata);
	status = devm_snd_soc_register_component(&pdev->dev,
						 &acp63_pdm_component,
+7 −0
Original line number Diff line number Diff line
@@ -171,6 +171,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "21CL"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
			DMI_MATCH(DMI_PRODUCT_NAME, "21EF"),
		}
	},
	{
		.driver_data = &acp6x_card,
		.matches = {
+0 −3
Original line number Diff line number Diff line
@@ -704,9 +704,6 @@ static int cs35l56_sdw_dai_hw_free(struct snd_pcm_substream *substream,
static int cs35l56_sdw_dai_set_stream(struct snd_soc_dai *dai,
				      void *sdw_stream, int direction)
{
	if (!sdw_stream)
		return 0;

	snd_soc_dai_dma_data_set(dai, direction, sdw_stream);

	return 0;
+2 −2
Original line number Diff line number Diff line
@@ -211,7 +211,7 @@ static int max98363_io_init(struct sdw_slave *slave)
}

#define MAX98363_RATES SNDRV_PCM_RATE_8000_192000
#define MAX98363_FORMATS (SNDRV_PCM_FMTBIT_S32_LE)
#define MAX98363_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE)

static int max98363_sdw_dai_hw_params(struct snd_pcm_substream *substream,
				      struct snd_pcm_hw_params *params,
@@ -246,7 +246,7 @@ static int max98363_sdw_dai_hw_params(struct snd_pcm_substream *substream,
	stream_config.frame_rate = params_rate(params);
	stream_config.bps = snd_pcm_format_width(params_format(params));
	stream_config.direction = direction;
	stream_config.ch_count = params_channels(params);
	stream_config.ch_count = 1;

	if (stream_config.ch_count > runtime->hw.channels_max) {
		stream_config.ch_count = runtime->hw.channels_max;
Loading