All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] ASoC: Intel: cleanups
@ 2018-11-01  1:07 Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 1/7] ASoC: acpi: define common interface for machine driver configuration Pierre-Louis Bossart
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

This patchset contain 4 different cleanups:
a) change of pdata definition to avoid using SST-specific structures
and allow for machine driver reuse w/ SOF. No new features, just
different data structures.
b) removal of remaining GFP_ATOMIC usages
c) Cleanup of machine driver tables for APL (missing SOF information
and quirk for APL RVP/LeafHill CRB boards). These boards are used
outside of Intel so it's worth sharing the fixes for the general
public.
d) typo

Bard liao (1):
  ASoC: Intel: common: add SOF information for APL RVP

Pierre-Louis Bossart (6):
  ASoC: acpi: define common interface for machine driver configuration
  ASoC: Intel: use standard interface for Hdaudio machine driver
  ASoC: Intel: use standard interface for Atom machine drivers
  ASoC: Intel: boards: fix Skylake typo
  ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL
  ASoC: Intel: common: add quirk for APL RVP boards

 include/sound/soc-acpi.h                      | 14 +++++++
 sound/soc/intel/atom/sst/sst_acpi.c           |  4 ++
 sound/soc/intel/atom/sst/sst_pvt.c            |  4 +-
 sound/soc/intel/boards/bytcr_rt5640.c         |  6 +--
 sound/soc/intel/boards/bytcr_rt5651.c         |  6 +--
 sound/soc/intel/boards/cht_bsw_rt5645.c       |  6 +--
 sound/soc/intel/boards/cht_bsw_rt5672.c       |  2 +-
 sound/soc/intel/boards/glk_rt5682_max98357a.c |  2 +-
 sound/soc/intel/boards/kbl_da7219_max98927.c  |  8 ++--
 sound/soc/intel/boards/kbl_rt5663_max98927.c  |  4 +-
 sound/soc/intel/boards/skl_hda_dsp_generic.c  | 22 +++++------
 .../soc/intel/boards/skl_nau88l25_max98357a.c |  4 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c |  4 +-
 .../intel/common/soc-acpi-intel-bxt-match.c   | 38 +++++++++++++++++++
 sound/soc/intel/skylake/skl.c                 | 10 ++---
 15 files changed, 87 insertions(+), 47 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/7] ASoC: acpi: define common interface for machine driver configuration
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 2/7] ASoC: Intel: use standard interface for Hdaudio machine driver Pierre-Louis Bossart
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

The machine drivers may need information provided by the platform
driver.  Currently the information is passed using pdata specific to
each plaform driver. This prevents other drivers, such as SOF, from
reusing machine drivers directly.

Add a new structure which contains the required fields.

This proposal requires a bit more work on the platform side but this
generic interface helps reuse code directly.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 include/sound/soc-acpi.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/include/sound/soc-acpi.h b/include/sound/soc-acpi.h
index e45b2330d16a..5154c6359609 100644
--- a/include/sound/soc-acpi.h
+++ b/include/sound/soc-acpi.h
@@ -37,6 +37,19 @@ snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN],
 struct snd_soc_acpi_mach *
 snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines);
 
+/**
+ * snd_soc_acpi_mach_params: interface for machine driver configuration
+ *
+ * @acpi_ipc_irq_index: used for BYT-CR detection
+ * @platform: string used for HDaudio codec support
+ * @codec_mask: used for HDAudio support
+ */
+struct snd_soc_acpi_mach_params {
+	u32 acpi_ipc_irq_index;
+	const char *platform;
+	u32 codec_mask;
+};
+
 /**
  * snd_soc_acpi_mach: ACPI-based machine descriptor. Most of the fields are
  * related to the hardware, except for the firmware and topology file names.
@@ -68,6 +81,7 @@ struct snd_soc_acpi_mach {
 	struct snd_soc_acpi_mach * (*machine_quirk)(void *arg);
 	const void *quirk_data;
 	void *pdata;
+	struct snd_soc_acpi_mach_params mach_params;
 	const char *sof_fw_filename;
 	const char *sof_tplg_filename;
 	const char *asoc_plat_name;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/7] ASoC: Intel: use standard interface for Hdaudio machine driver
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 1/7] ASoC: acpi: define common interface for machine driver configuration Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 3/7] ASoC: Intel: use standard interface for Atom machine drivers Pierre-Louis Bossart
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

Don't rely on internal Skylake-specific data structures, use
generic interface to let other drivers use the same machine driver
as is, e.g. SOF to support HDaudio codecs and HDMI outputs.

Tested on LeafHill CRB board, no regression seen with this change.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/skl_hda_dsp_generic.c | 20 ++++++++++----------
 sound/soc/intel/skylake/skl.c                | 10 +++-------
 2 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
index b415dd4c85f5..b6f287fa9505 100644
--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
@@ -12,8 +12,8 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include "../../codecs/hdac_hdmi.h"
-#include "../skylake/skl.h"
 #include "skl_hda_dsp_common.h"
 
 static const struct snd_soc_dapm_widget skl_hda_widgets[] = {
@@ -101,17 +101,17 @@ static struct snd_soc_card hda_soc_card = {
 #define IDISP_ROUTE_COUNT	(IDISP_DAI_COUNT * 2)
 #define IDISP_CODEC_MASK	0x4
 
-static int skl_hda_fill_card_info(struct skl_machine_pdata *pdata)
+static int skl_hda_fill_card_info(struct snd_soc_acpi_mach_params *mach_params)
 {
 	struct snd_soc_card *card = &hda_soc_card;
 	struct snd_soc_dai_link *dai_link;
 	u32 codec_count, codec_mask;
 	int i, num_links, num_route;
 
-	codec_mask = pdata->codec_mask;
+	codec_mask = mach_params->codec_mask;
 	codec_count = hweight_long(codec_mask);
 
-	if (codec_count == 1 && pdata->codec_mask & IDISP_CODEC_MASK) {
+	if (codec_count == 1 && codec_mask & IDISP_CODEC_MASK) {
 		num_links = IDISP_DAI_COUNT;
 		num_route = IDISP_ROUTE_COUNT;
 	} else if (codec_count == 2 && codec_mask & IDISP_CODEC_MASK) {
@@ -127,14 +127,14 @@ static int skl_hda_fill_card_info(struct skl_machine_pdata *pdata)
 	card->num_dapm_routes = num_route;
 
 	for_each_card_prelinks(card, i, dai_link)
-		dai_link->platform_name = pdata->platform;
+		dai_link->platform_name = mach_params->platform;
 
 	return 0;
 }
 
 static int skl_hda_audio_probe(struct platform_device *pdev)
 {
-	struct skl_machine_pdata *pdata;
+	struct snd_soc_acpi_mach *mach;
 	struct skl_hda_private *ctx;
 	int ret;
 
@@ -146,11 +146,11 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
 
 	INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
 
-	pdata = dev_get_drvdata(&pdev->dev);
-	if (!pdata)
+	mach = dev_get_drvdata(&pdev->dev);
+	if (!mach)
 		return -EINVAL;
 
-	ret = skl_hda_fill_card_info(pdata);
+	ret = skl_hda_fill_card_info(&mach->mach_params);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Unsupported HDAudio/iDisp configuration found\n");
 		return ret;
@@ -158,7 +158,7 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
 
 	ctx->pcm_count = hda_soc_card.num_links;
 	ctx->dai_index = 1; /* hdmi codec dai name starts from index 1 */
-	ctx->platform_name = pdata->platform;
+	ctx->platform_name = mach->mach_params.platform;
 
 	hda_soc_card.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&hda_soc_card, ctx);
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index 29225623b4b4..ebab04b51bc1 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -525,7 +525,6 @@ static int skl_machine_device_register(struct skl *skl)
 {
 	struct snd_soc_acpi_mach *mach = skl->mach;
 	struct hdac_bus *bus = skl_to_bus(skl);
-	struct skl_machine_pdata *pdata;
 	struct platform_device *pdev;
 	int ret;
 
@@ -542,12 +541,9 @@ static int skl_machine_device_register(struct skl *skl)
 		return -EIO;
 	}
 
-	if (mach->pdata) {
-		pdata = (struct skl_machine_pdata *)mach->pdata;
-		pdata->platform = dev_name(bus->dev);
-		pdata->codec_mask = bus->codec_mask;
-		dev_set_drvdata(&pdev->dev, mach->pdata);
-	}
+	mach->mach_params.platform = dev_name(bus->dev);
+	mach->mach_params.codec_mask = bus->codec_mask;
+	dev_set_drvdata(&pdev->dev, mach);
 
 	skl->i2s_dev = pdev;
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/7] ASoC: Intel: use standard interface for Atom machine drivers
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 1/7] ASoC: acpi: define common interface for machine driver configuration Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 2/7] ASoC: Intel: use standard interface for Hdaudio machine driver Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 4/7] ASoC: Intel: boards: fix Skylake typo Pierre-Louis Bossart
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

Don't rely on internal Atom/SST-specific data structures, use
generic interface to let other drivers use the same machine drivers
as is, e.g. SOF to support BYT-CR devices

Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/atom/sst/sst_acpi.c     | 4 ++++
 sound/soc/intel/boards/bytcr_rt5640.c   | 6 +-----
 sound/soc/intel/boards/bytcr_rt5651.c   | 6 +-----
 sound/soc/intel/boards/cht_bsw_rt5645.c | 6 +-----
 4 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/sound/soc/intel/atom/sst/sst_acpi.c b/sound/soc/intel/atom/sst/sst_acpi.c
index c90b04cc071d..ac542535b9d5 100644
--- a/sound/soc/intel/atom/sst/sst_acpi.c
+++ b/sound/soc/intel/atom/sst/sst_acpi.c
@@ -341,6 +341,10 @@ static int sst_acpi_probe(struct platform_device *pdev)
 		byt_rvp_platform_data.res_info = &bytcr_res_info;
 	}
 
+	/* update machine parameters */
+	mach->mach_params.acpi_ipc_irq_index =
+		pdata->res_info->acpi_ipc_irq_index;
+
 	plat_dev = platform_device_register_data(dev, pdata->platform, -1,
 						NULL, 0);
 	if (IS_ERR(plat_dev)) {
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index 8587bd3d1cc1..09591144ea7d 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -29,7 +29,6 @@
 #include <linux/input.h>
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -1152,10 +1151,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 	 * (will be overridden if DMI quirk is detected)
 	 */
 	if (is_valleyview()) {
-		struct sst_platform_info *p_info = mach->pdata;
-		const struct sst_res_info *res_info = p_info->res_info;
-
-		if (res_info->acpi_ipc_irq_index == 0)
+		if (mach->mach_params.acpi_ipc_irq_index == 0)
 			is_bytcr = true;
 	}
 
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index 8dffeecda55b..4c9508da8602 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -32,7 +32,6 @@
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
 #include <asm/intel-family.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -920,10 +919,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 	 * (will be overridden if DMI quirk is detected)
 	 */
 	if (x86_match_cpu(baytrail_cpu_ids)) {
-		struct sst_platform_info *p_info = mach->pdata;
-		const struct sst_res_info *res_info = p_info->res_info;
-
-		if (res_info->acpi_ipc_irq_index == 0)
+		if (mach->mach_params.acpi_ipc_irq_index == 0)
 			is_bytcr = true;
 	}
 
diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c
index f5a5ea6a093c..250a356a0cbf 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5645.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
@@ -27,7 +27,6 @@
 #include <linux/dmi.h>
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -585,10 +584,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	 * (will be overridden if DMI quirk is detected)
 	 */
 	if (is_valleyview()) {
-		struct sst_platform_info *p_info = mach->pdata;
-		const struct sst_res_info *res_info = p_info->res_info;
-
-		if (res_info->acpi_ipc_irq_index == 0)
+		if (mach->mach_params.acpi_ipc_irq_index == 0)
 			is_bytcr = true;
 	}
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/7] ASoC: Intel: boards: fix Skylake typo
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
                   ` (2 preceding siblings ...)
  2018-11-01  1:07 ` [PATCH 3/7] ASoC: Intel: use standard interface for Atom machine drivers Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 5/7] ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL Pierre-Louis Bossart
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

s/skylaye/skylake

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/kbl_da7219_max98927.c    | 6 +++---
 sound/soc/intel/boards/kbl_rt5663_max98927.c    | 4 ++--
 sound/soc/intel/boards/skl_nau88l25_max98357a.c | 4 ++--
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c   | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/sound/soc/intel/boards/kbl_da7219_max98927.c b/sound/soc/intel/boards/kbl_da7219_max98927.c
index 3fa1c3ca6d37..3bc78e3a91ee 100644
--- a/sound/soc/intel/boards/kbl_da7219_max98927.c
+++ b/sound/soc/intel/boards/kbl_da7219_max98927.c
@@ -441,7 +441,7 @@ static int kabylake_refcap_startup(struct snd_pcm_substream *substream)
 }
 
 
-static struct snd_soc_ops skylaye_refcap_ops = {
+static struct snd_soc_ops skylake_refcap_ops = {
 	.startup = kabylake_refcap_startup,
 };
 
@@ -525,7 +525,7 @@ static struct snd_soc_dai_link kabylake_dais[] = {
 		.dpcm_capture = 1,
 		.nonatomic = 1,
 		.dynamic = 1,
-		.ops = &skylaye_refcap_ops,
+		.ops = &skylake_refcap_ops,
 	},
 	[KBL_DPCM_AUDIO_DMIC_CP] = {
 		.name = "Kbl Audio DMIC cap",
@@ -736,7 +736,7 @@ static struct snd_soc_dai_link kabylake_max98927_dais[] = {
 		.dpcm_capture = 1,
 		.nonatomic = 1,
 		.dynamic = 1,
-		.ops = &skylaye_refcap_ops,
+		.ops = &skylake_refcap_ops,
 	},
 	[KBL_DPCM_AUDIO_DMIC_CP] = {
 		.name = "Kbl Audio DMIC cap",
diff --git a/sound/soc/intel/boards/kbl_rt5663_max98927.c b/sound/soc/intel/boards/kbl_rt5663_max98927.c
index 99e1320c485f..6ea969c0a5fb 100644
--- a/sound/soc/intel/boards/kbl_rt5663_max98927.c
+++ b/sound/soc/intel/boards/kbl_rt5663_max98927.c
@@ -586,7 +586,7 @@ static int kabylake_refcap_startup(struct snd_pcm_substream *substream)
 				&constraints_16000);
 }
 
-static struct snd_soc_ops skylaye_refcap_ops = {
+static struct snd_soc_ops skylake_refcap_ops = {
 	.startup = kabylake_refcap_startup,
 };
 
@@ -655,7 +655,7 @@ static struct snd_soc_dai_link kabylake_dais[] = {
 		.dpcm_capture = 1,
 		.nonatomic = 1,
 		.dynamic = 1,
-		.ops = &skylaye_refcap_ops,
+		.ops = &skylake_refcap_ops,
 	},
 	[KBL_DPCM_AUDIO_DMIC_CP] = {
 		.name = "Kbl Audio DMIC cap",
diff --git a/sound/soc/intel/boards/skl_nau88l25_max98357a.c b/sound/soc/intel/boards/skl_nau88l25_max98357a.c
index d31482b8c9bb..552958ce736d 100644
--- a/sound/soc/intel/boards/skl_nau88l25_max98357a.c
+++ b/sound/soc/intel/boards/skl_nau88l25_max98357a.c
@@ -400,7 +400,7 @@ static int skylake_refcap_startup(struct snd_pcm_substream *substream)
 				&constraints_16000);
 }
 
-static const struct snd_soc_ops skylaye_refcap_ops = {
+static const struct snd_soc_ops skylake_refcap_ops = {
 	.startup = skylake_refcap_startup,
 };
 
@@ -447,7 +447,7 @@ static struct snd_soc_dai_link skylake_dais[] = {
 		.dpcm_capture = 1,
 		.nonatomic = 1,
 		.dynamic = 1,
-		.ops = &skylaye_refcap_ops,
+		.ops = &skylake_refcap_ops,
 	},
 	[SKL_DPCM_AUDIO_DMIC_CP] = {
 		.name = "Skl Audio DMIC cap",
diff --git a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
index e877bb60beb1..f985b30a1d0e 100644
--- a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
+++ b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
@@ -449,7 +449,7 @@ static int skylake_refcap_startup(struct snd_pcm_substream *substream)
 			&constraints_16000);
 }
 
-static const struct snd_soc_ops skylaye_refcap_ops = {
+static const struct snd_soc_ops skylake_refcap_ops = {
 	.startup = skylake_refcap_startup,
 };
 
@@ -496,7 +496,7 @@ static struct snd_soc_dai_link skylake_dais[] = {
 		.dpcm_capture = 1,
 		.nonatomic = 1,
 		.dynamic = 1,
-		.ops = &skylaye_refcap_ops,
+		.ops = &skylake_refcap_ops,
 	},
 	[SKL_DPCM_AUDIO_DMIC_CP] = {
 		.name = "Skl Audio DMIC cap",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 5/7] ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
                   ` (3 preceding siblings ...)
  2018-11-01  1:07 ` [PATCH 4/7] ASoC: Intel: boards: fix Skylake typo Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 6/7] ASoC: Intel: common: add SOF information for APL RVP Pierre-Louis Bossart
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

GFP_ATOMIC is not required on any Intel drivers, use GFP_KERNEL
instead. A first cleanup was merged in April but missed a number
occurrences and new ones were added by copy/paste inertia.

While we are at it, make checkpatch happy with a sizeof(*msg)

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/atom/sst/sst_pvt.c            | 4 ++--
 sound/soc/intel/boards/cht_bsw_rt5672.c       | 2 +-
 sound/soc/intel/boards/glk_rt5682_max98357a.c | 2 +-
 sound/soc/intel/boards/kbl_da7219_max98927.c  | 2 +-
 sound/soc/intel/boards/skl_hda_dsp_generic.c  | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sound/soc/intel/atom/sst/sst_pvt.c b/sound/soc/intel/atom/sst/sst_pvt.c
index af93244b4868..00a37a09dc9b 100644
--- a/sound/soc/intel/atom/sst/sst_pvt.c
+++ b/sound/soc/intel/atom/sst/sst_pvt.c
@@ -166,11 +166,11 @@ int sst_create_ipc_msg(struct ipc_post **arg, bool large)
 {
 	struct ipc_post *msg;
 
-	msg = kzalloc(sizeof(struct ipc_post), GFP_ATOMIC);
+	msg = kzalloc(sizeof(*msg), GFP_KERNEL);
 	if (!msg)
 		return -ENOMEM;
 	if (large) {
-		msg->mailbox_data = kzalloc(SST_MAILBOX_SIZE, GFP_ATOMIC);
+		msg->mailbox_data = kzalloc(SST_MAILBOX_SIZE, GFP_KERNEL);
 		if (!msg->mailbox_data) {
 			kfree(msg);
 			return -ENOMEM;
diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c
index 51f0d45d6f8f..9de64f447e7b 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5672.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5672.c
@@ -403,7 +403,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	const char *i2c_name;
 	int i;
 
-	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_ATOMIC);
+	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
 	if (!drv)
 		return -ENOMEM;
 
diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c
index c4b94e2617c5..c74c4f17316f 100644
--- a/sound/soc/intel/boards/glk_rt5682_max98357a.c
+++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c
@@ -603,7 +603,7 @@ static int geminilake_audio_probe(struct platform_device *pdev)
 {
 	struct glk_card_private *ctx;
 
-	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC);
+	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
 		return -ENOMEM;
 
diff --git a/sound/soc/intel/boards/kbl_da7219_max98927.c b/sound/soc/intel/boards/kbl_da7219_max98927.c
index 3bc78e3a91ee..58eb0fe69978 100644
--- a/sound/soc/intel/boards/kbl_da7219_max98927.c
+++ b/sound/soc/intel/boards/kbl_da7219_max98927.c
@@ -935,7 +935,7 @@ static int kabylake_audio_probe(struct platform_device *pdev)
 {
 	struct kbl_codec_private *ctx;
 
-	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC);
+	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
 		return -ENOMEM;
 
diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
index b6f287fa9505..15c502d6774d 100644
--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
@@ -140,7 +140,7 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
 
 	dev_dbg(&pdev->dev, "%s: entry\n", __func__);
 
-	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC);
+	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
 		return -ENOMEM;
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 6/7] ASoC: Intel: common: add SOF information for APL RVP
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
                   ` (4 preceding siblings ...)
  2018-11-01  1:07 ` [PATCH 5/7] ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  1:07 ` [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards Pierre-Louis Bossart
  2018-11-01 14:12 ` [PATCH 0/7] ASoC: Intel: cleanups Andy Shevchenko
  7 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko, Bard liao

From: Bard liao <bard.liao@intel.com>

Add firmware/topology information for APL RVP

Signed-off-by: Bard liao <bard.liao@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/common/soc-acpi-intel-bxt-match.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
index f39386e540d3..2756fa4ab552 100644
--- a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
@@ -19,6 +19,9 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[] = {
 		.id = "INT343A",
 		.drv_name = "bxt_alc298s_i2s",
 		.fw_filename = "intel/dsp_fw_bxtn.bin",
+		.sof_fw_filename = "intel/sof-apl.ri",
+		.sof_tplg_filename = "intel/sof-apl-rt298.tplg",
+		.asoc_plat_name = "0000:00:0e.0",
 	},
 	{
 		.id = "DLGS7219",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
                   ` (5 preceding siblings ...)
  2018-11-01  1:07 ` [PATCH 6/7] ASoC: Intel: common: add SOF information for APL RVP Pierre-Louis Bossart
@ 2018-11-01  1:07 ` Pierre-Louis Bossart
  2018-11-01  2:35   ` Keyon Jie
  2018-11-01 14:11   ` Andy Shevchenko
  2018-11-01 14:12 ` [PATCH 0/7] ASoC: Intel: cleanups Andy Shevchenko
  7 siblings, 2 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01  1:07 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, Pierre-Louis Bossart, liam.r.girdwood, vinod.koul,
	broonie, andriy.shevchenko

For some reason the RVP/LeafHill SSDT exposes an INT34C3 ID which is
used on other boards to point to the TDF8532 amplifier. Yay BIOS.

Add a DMI-quirk to ignore this ID and check for other valid machine
driver descriptors.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 .../intel/common/soc-acpi-intel-bxt-match.c   | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
index 2756fa4ab552..752a1bbff7f7 100644
--- a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
@@ -6,9 +6,43 @@
  *
  */
 
+#include <linux/dmi.h>
 #include <sound/soc-acpi.h>
 #include <sound/soc-acpi-intel-match.h>
 
+static unsigned long apl_machine_id;
+
+#define APL_RVP  1
+
+static int apl_rvp_quirk_cb(const struct dmi_system_id *id)
+{
+	apl_machine_id = APL_RVP;
+	return 1;
+}
+
+static const struct dmi_system_id apl_table[] = {
+	{
+		.callback = apl_rvp_quirk_cb,
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
+			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
+		},
+	},
+	{},
+};
+
+static struct snd_soc_acpi_mach *apl_quirk(void *arg)
+{
+	struct snd_soc_acpi_mach *mach = arg;
+
+	dmi_check_system(apl_table);
+
+	if (apl_machine_id == APL_RVP)
+		return NULL;
+	else
+		return mach;
+}
+
 static struct snd_soc_acpi_codecs bxt_codecs = {
 	.num_codecs = 1,
 	.codecs = {"MX98357A"}
@@ -50,6 +84,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[] = {
 	{
 		.id = "INT34C3",
 		.drv_name = "bxt_tdf8532",
+		.machine_quirk = apl_quirk,
 		.sof_fw_filename = "intel/sof-apl.ri",
 		.sof_tplg_filename = "intel/sof-apl-tdf8532.tplg",
 		.asoc_plat_name = "0000:00:0e.0",
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards
  2018-11-01  1:07 ` [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards Pierre-Louis Bossart
@ 2018-11-01  2:35   ` Keyon Jie
  2018-11-01 14:11   ` Andy Shevchenko
  1 sibling, 0 replies; 12+ messages in thread
From: Keyon Jie @ 2018-11-01  2:35 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, liam.r.girdwood, broonie, vinod.koul, andriy.shevchenko



On 2018年11月01日 09:07, Pierre-Louis Bossart wrote:
> For some reason the RVP/LeafHill SSDT exposes an INT34C3 ID which is
> used on other boards to point to the TDF8532 amplifier. Yay BIOS.
> 
> Add a DMI-quirk to ignore this ID and check for other valid machine
> driver descriptors.
> 
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> ---
>   .../intel/common/soc-acpi-intel-bxt-match.c   | 35 +++++++++++++++++++
>   1 file changed, 35 insertions(+)
> 
> diff --git a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
> index 2756fa4ab552..752a1bbff7f7 100644
> --- a/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
> +++ b/sound/soc/intel/common/soc-acpi-intel-bxt-match.c
> @@ -6,9 +6,43 @@
>    *
>    */
>   
> +#include <linux/dmi.h>
>   #include <sound/soc-acpi.h>
>   #include <sound/soc-acpi-intel-match.h>
>   
> +static unsigned long apl_machine_id;
> +
> +#define APL_RVP  1
> +
> +static int apl_rvp_quirk_cb(const struct dmi_system_id *id)
> +{
> +	apl_machine_id = APL_RVP;
> +	return 1;
> +}
> +
> +static const struct dmi_system_id apl_table[] = {
> +	{
> +		.callback = apl_rvp_quirk_cb,
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
> +			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
> +		},
> +	},
> +	{},
> +};
> +
> +static struct snd_soc_acpi_mach *apl_quirk(void *arg)
> +{
> +	struct snd_soc_acpi_mach *mach = arg;
> +
> +	dmi_check_system(apl_table);
> +
> +	if (apl_machine_id == APL_RVP)
> +		return NULL;
> +	else
> +		return mach;
> +}
> +
>   static struct snd_soc_acpi_codecs bxt_codecs = {
>   	.num_codecs = 1,
>   	.codecs = {"MX98357A"}
> @@ -50,6 +84,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[] = {
>   	{
>   		.id = "INT34C3",
>   		.drv_name = "bxt_tdf8532",
> +		.machine_quirk = apl_quirk,
>   		.sof_fw_filename = "intel/sof-apl.ri",
>   		.sof_tplg_filename = "intel/sof-apl-tdf8532.tplg",
>   		.asoc_plat_name = "0000:00:0e.0",
> 

I believe this can work, but when I went through 
snd_soc_acpi_find_machine(), I find a possible bug there, it won't 
continue matching search when the machine_quirk() return NULL.

Let me send a fix for that.

Thanks,
~Keyon
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards
  2018-11-01  1:07 ` [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards Pierre-Louis Bossart
  2018-11-01  2:35   ` Keyon Jie
@ 2018-11-01 14:11   ` Andy Shevchenko
  2018-11-01 15:08     ` Pierre-Louis Bossart
  1 sibling, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2018-11-01 14:11 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: tiwai, vinod.koul, alsa-devel, broonie, liam.r.girdwood

On Wed, Oct 31, 2018 at 08:07:18PM -0500, Pierre-Louis Bossart wrote:
> For some reason the RVP/LeafHill SSDT exposes an INT34C3 ID which is
> used on other boards to point to the TDF8532 amplifier. Yay BIOS.
> 
> Add a DMI-quirk to ignore this ID and check for other valid machine
> driver descriptors.

> +static unsigned long apl_machine_id;
> +
> +#define APL_RVP  1
> +
> +static int apl_rvp_quirk_cb(const struct dmi_system_id *id)
> +{
> +	apl_machine_id = APL_RVP;
> +	return 1;
> +}
> +
> +static const struct dmi_system_id apl_table[] = {
> +	{
> +		.callback = apl_rvp_quirk_cb,
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
> +			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
> +		},
> +	},

> +	{},

Terminator entry doesn't need a comma. It would prevent from (unlikely)
mistakes when extending the list.

> +};
> +
> +static struct snd_soc_acpi_mach *apl_quirk(void *arg)
> +{
> +	struct snd_soc_acpi_mach *mach = arg;
> +

> +	dmi_check_system(apl_table);

Can't we just use driver_data of the table above and get rid of at least global variable?

> +
> +	if (apl_machine_id == APL_RVP)
> +		return NULL;
> +	else
> +		return mach;
> +}

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/7] ASoC: Intel: cleanups
  2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
                   ` (6 preceding siblings ...)
  2018-11-01  1:07 ` [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards Pierre-Louis Bossart
@ 2018-11-01 14:12 ` Andy Shevchenko
  7 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2018-11-01 14:12 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: tiwai, vinod.koul, alsa-devel, broonie, liam.r.girdwood

On Wed, Oct 31, 2018 at 08:07:11PM -0500, Pierre-Louis Bossart wrote:
> This patchset contain 4 different cleanups:
> a) change of pdata definition to avoid using SST-specific structures
> and allow for machine driver reuse w/ SOF. No new features, just
> different data structures.
> b) removal of remaining GFP_ATOMIC usages
> c) Cleanup of machine driver tables for APL (missing SOF information
> and quirk for APL RVP/LeafHill CRB boards). These boards are used
> outside of Intel so it's worth sharing the fixes for the general
> public.
> d) typo
> 

Looks like a nice clean up!
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

P.S. Nevertheless, please consider comments to the quirk adding patch

> Bard liao (1):
>   ASoC: Intel: common: add SOF information for APL RVP
> 
> Pierre-Louis Bossart (6):
>   ASoC: acpi: define common interface for machine driver configuration
>   ASoC: Intel: use standard interface for Hdaudio machine driver
>   ASoC: Intel: use standard interface for Atom machine drivers
>   ASoC: Intel: boards: fix Skylake typo
>   ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL
>   ASoC: Intel: common: add quirk for APL RVP boards
> 
>  include/sound/soc-acpi.h                      | 14 +++++++
>  sound/soc/intel/atom/sst/sst_acpi.c           |  4 ++
>  sound/soc/intel/atom/sst/sst_pvt.c            |  4 +-
>  sound/soc/intel/boards/bytcr_rt5640.c         |  6 +--
>  sound/soc/intel/boards/bytcr_rt5651.c         |  6 +--
>  sound/soc/intel/boards/cht_bsw_rt5645.c       |  6 +--
>  sound/soc/intel/boards/cht_bsw_rt5672.c       |  2 +-
>  sound/soc/intel/boards/glk_rt5682_max98357a.c |  2 +-
>  sound/soc/intel/boards/kbl_da7219_max98927.c  |  8 ++--
>  sound/soc/intel/boards/kbl_rt5663_max98927.c  |  4 +-
>  sound/soc/intel/boards/skl_hda_dsp_generic.c  | 22 +++++------
>  .../soc/intel/boards/skl_nau88l25_max98357a.c |  4 +-
>  sound/soc/intel/boards/skl_nau88l25_ssm4567.c |  4 +-
>  .../intel/common/soc-acpi-intel-bxt-match.c   | 38 +++++++++++++++++++
>  sound/soc/intel/skylake/skl.c                 | 10 ++---
>  15 files changed, 87 insertions(+), 47 deletions(-)
> 
> -- 
> 2.17.1
> 

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards
  2018-11-01 14:11   ` Andy Shevchenko
@ 2018-11-01 15:08     ` Pierre-Louis Bossart
  0 siblings, 0 replies; 12+ messages in thread
From: Pierre-Louis Bossart @ 2018-11-01 15:08 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, alsa-devel


On 11/1/18 9:11 AM, Andy Shevchenko wrote:
> On Wed, Oct 31, 2018 at 08:07:18PM -0500, Pierre-Louis Bossart wrote:
>> For some reason the RVP/LeafHill SSDT exposes an INT34C3 ID which is
>> used on other boards to point to the TDF8532 amplifier. Yay BIOS.
>>
>> Add a DMI-quirk to ignore this ID and check for other valid machine
>> driver descriptors.
>> +static unsigned long apl_machine_id;
>> +
>> +#define APL_RVP  1
>> +
>> +static int apl_rvp_quirk_cb(const struct dmi_system_id *id)
>> +{
>> +	apl_machine_id = APL_RVP;
>> +	return 1;
>> +}
>> +
>> +static const struct dmi_system_id apl_table[] = {
>> +	{
>> +		.callback = apl_rvp_quirk_cb,
>> +		.matches = {
>> +			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
>> +			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
>> +		},
>> +	},
>> +	{},
> Terminator entry doesn't need a comma. It would prevent from (unlikely)
> mistakes when extending the list.
Indeed. I don't know how many tables use this though... will update.
>
>> +};
>> +
>> +static struct snd_soc_acpi_mach *apl_quirk(void *arg)
>> +{
>> +	struct snd_soc_acpi_mach *mach = arg;
>> +
>> +	dmi_check_system(apl_table);
> Can't we just use driver_data of the table above and get rid of at least global variable?

Yes. The code is pretty much copy-pasted from other BYT quirks but can 
be written in a better way

Will send a v2 later today, thanks Andy for the suggestion.


>
>> +
>> +	if (apl_machine_id == APL_RVP)
>> +		return NULL;
>> +	else
>> +		return mach;
>> +}

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-11-01 15:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-01  1:07 [PATCH 0/7] ASoC: Intel: cleanups Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 1/7] ASoC: acpi: define common interface for machine driver configuration Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 2/7] ASoC: Intel: use standard interface for Hdaudio machine driver Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 3/7] ASoC: Intel: use standard interface for Atom machine drivers Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 4/7] ASoC: Intel: boards: fix Skylake typo Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 5/7] ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 6/7] ASoC: Intel: common: add SOF information for APL RVP Pierre-Louis Bossart
2018-11-01  1:07 ` [PATCH 7/7] ASoC: Intel: common: add quirk for APL RVP boards Pierre-Louis Bossart
2018-11-01  2:35   ` Keyon Jie
2018-11-01 14:11   ` Andy Shevchenko
2018-11-01 15:08     ` Pierre-Louis Bossart
2018-11-01 14:12 ` [PATCH 0/7] ASoC: Intel: cleanups Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.