[alsa-devel] [PATCH v1 0/2] ASoC: Intel: Add Cometlake PCI IDs
This small series adds PCI IDs for Cometlake platforms, for a dazzling audio experience.
Evan Green (2): ASoC: SOF: Add Comet Lake PCI ID ASoC: Intel: Skylake: Add Cometlake PCI IDs
sound/soc/intel/Kconfig | 9 +++++++++ sound/soc/intel/skylake/skl-messages.c | 8 ++++++++ sound/soc/intel/skylake/skl.c | 5 +++++ sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 5 files changed, 42 insertions(+)
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
Signed-off-by: Evan Green evgreen@chromium.org ---
sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 2 files changed, 20 insertions(+)
diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig index 32ee0fabab92..0b616d025f05 100644 --- a/sound/soc/sof/intel/Kconfig +++ b/sound/soc/sof/intel/Kconfig @@ -24,6 +24,7 @@ config SND_SOC_SOF_INTEL_PCI select SND_SOC_SOF_CANNONLAKE if SND_SOC_SOF_CANNONLAKE_SUPPORT select SND_SOC_SOF_COFFEELAKE if SND_SOC_SOF_COFFEELAKE_SUPPORT select SND_SOC_SOF_ICELAKE if SND_SOC_SOF_ICELAKE_SUPPORT + select SND_SOC_SOF_COMETLAKE if SND_SOC_SOF_COMETLAKE_SUPPORT help This option is not user-selectable but automagically handled by 'select' statements at a higher level @@ -179,6 +180,21 @@ config SND_SOC_SOF_ICELAKE This option is not user-selectable but automagically handled by 'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE + tristate + select SND_SOC_SOF_CANNONLAKE + help + This option is not user-selectable but automagically handled by + 'select' statements at a higher level + +config SND_SOC_SOF_COMETLAKE_SUPPORT + bool "SOF support for CometLake" + help + This adds support for Sound Open Firmware for Intel(R) platforms + using the Cometlake processors. + Say Y if you have such a device. + If unsure select "N". + config SND_SOC_SOF_HDA_COMMON tristate select SND_SOC_SOF_INTEL_COMMON diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index b778dffb2d25..5f0128337e40 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -353,6 +353,10 @@ static const struct pci_device_id sof_pci_ids[] = { #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) { PCI_DEVICE(0x8086, 0x34C8), .driver_data = (unsigned long)&icl_desc}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE) + { PCI_DEVICE(0x8086, 0x02c8), + .driver_data = (unsigned long)&cnl_desc}, #endif { 0, } };
On 5/6/19 5:53 PM, Evan Green wrote:
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
This is odd. I checked internally a few weeks back and the CML PCI ID was 9dc8, same as WHL and CNL, so we did not add a PCI ID on purpose. To the best of my knowledge SOF probes fine on CML and the known issues can be found on the SOF github [1].
Care to send the log of sudo lspci -s 0:1f.3 -vn ?
[1] https://github.com/thesofproject/sof/issues?q=is%3Aopen+is%3Aissue+label%3AC...
Signed-off-by: Evan Green evgreen@chromium.org
sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 2 files changed, 20 insertions(+)
diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig index 32ee0fabab92..0b616d025f05 100644 --- a/sound/soc/sof/intel/Kconfig +++ b/sound/soc/sof/intel/Kconfig @@ -24,6 +24,7 @@ config SND_SOC_SOF_INTEL_PCI select SND_SOC_SOF_CANNONLAKE if SND_SOC_SOF_CANNONLAKE_SUPPORT select SND_SOC_SOF_COFFEELAKE if SND_SOC_SOF_COFFEELAKE_SUPPORT select SND_SOC_SOF_ICELAKE if SND_SOC_SOF_ICELAKE_SUPPORT
- select SND_SOC_SOF_COMETLAKE if SND_SOC_SOF_COMETLAKE_SUPPORT help This option is not user-selectable but automagically handled by 'select' statements at a higher level
@@ -179,6 +180,21 @@ config SND_SOC_SOF_ICELAKE This option is not user-selectable but automagically handled by 'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE
- tristate
- select SND_SOC_SOF_CANNONLAKE
- help
This option is not user-selectable but automagically handled by
'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE_SUPPORT
- bool "SOF support for CometLake"
- help
This adds support for Sound Open Firmware for Intel(R) platforms
using the Cometlake processors.
Say Y if you have such a device.
If unsure select "N".
- config SND_SOC_SOF_HDA_COMMON tristate select SND_SOC_SOF_INTEL_COMMON
diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index b778dffb2d25..5f0128337e40 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -353,6 +353,10 @@ static const struct pci_device_id sof_pci_ids[] = { #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) { PCI_DEVICE(0x8086, 0x34C8), .driver_data = (unsigned long)&icl_desc}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE)
- { PCI_DEVICE(0x8086, 0x02c8),
#endif { 0, } };.driver_data = (unsigned long)&cnl_desc},
-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Tuesday, May 7, 2019 7:11 AM To: Evan Green evgreen@chromium.org; Liam Girdwood liam.r.girdwood@linux.intel.com; Mark Brown broonie@kernel.org Cc: M, Naveen naveen.m@intel.com; M R, Sathya Prakash sathya.prakash.m.r@intel.com; Ben Zhang benzh@chromium.org; Rajat Jain rajatja@chromium.org; Jaroslav Kysela perex@perex.cz; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; Takashi Iwai tiwai@suse.com; Liam Girdwood lgirdwood@gmail.com Subject: Re: [PATCH v1 1/2] ASoC: SOF: Add Comet Lake PCI ID
On 5/6/19 5:53 PM, Evan Green wrote:
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
This is odd. I checked internally a few weeks back and the CML PCI ID was 9dc8, same as WHL and CNL, so we did not add a PCI ID on purpose. To the best of my knowledge SOF probes fine on CML and the known issues can be found on the SOF github [1].
The PCI ID change is seen on later production Si versions. The PCI ID is 02c8.
Care to send the log of sudo lspci -s 0:1f.3 -vn ?
Here you go: localhost ~ # sudo lspci -s 0:1f.3 -vn 00:1f.3 0401: 8086:02c8 Subsystem: 8086:7270 Flags: fast devsel, IRQ 11 Memory at d1114000 (64-bit, non-prefetchable) [size=16K] Memory at d1000000 (64-bit, non-prefetchable) [size=1M] Capabilities: [50] Power Management version 3 Capabilities: [80] Vendor Specific Information: Len=14 <?> Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
[1] https://github.com/thesofproject/sof/issues?q=is%3Aopen+is%3Aissue+label%3AC...
Signed-off-by: Evan Green evgreen@chromium.org
sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 2 files changed, 20 insertions(+)
diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig index 32ee0fabab92..0b616d025f05 100644 --- a/sound/soc/sof/intel/Kconfig +++ b/sound/soc/sof/intel/Kconfig @@ -24,6 +24,7 @@ config SND_SOC_SOF_INTEL_PCI select SND_SOC_SOF_CANNONLAKE if SND_SOC_SOF_CANNONLAKE_SUPPORT select SND_SOC_SOF_COFFEELAKE if SND_SOC_SOF_COFFEELAKE_SUPPORT select SND_SOC_SOF_ICELAKE if SND_SOC_SOF_ICELAKE_SUPPORT
- select SND_SOC_SOF_COMETLAKE if SND_SOC_SOF_COMETLAKE_SUPPORT help This option is not user-selectable but automagically handled by 'select' statements at a higher level @@ -179,6 +180,21 @@ config
SND_SOC_SOF_ICELAKE This option is not user-selectable but automagically handled by 'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE
- tristate
- select SND_SOC_SOF_CANNONLAKE
- help
This option is not user-selectable but automagically handled by
'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE_SUPPORT
- bool "SOF support for CometLake"
- help
This adds support for Sound Open Firmware for Intel(R) platforms
using the Cometlake processors.
Say Y if you have such a device.
If unsure select "N".
- config SND_SOC_SOF_HDA_COMMON tristate select SND_SOC_SOF_INTEL_COMMON
diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index b778dffb2d25..5f0128337e40 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -353,6 +353,10 @@ static const struct pci_device_id sof_pci_ids[] = { #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) { PCI_DEVICE(0x8086, 0x34C8), .driver_data = (unsigned long)&icl_desc}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE)
- { PCI_DEVICE(0x8086, 0x02c8),
#endif { 0, } };.driver_data = (unsigned long)&cnl_desc},
On 5/6/19 10:34 PM, M R, Sathya Prakash wrote:
-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Tuesday, May 7, 2019 7:11 AM To: Evan Green evgreen@chromium.org; Liam Girdwood liam.r.girdwood@linux.intel.com; Mark Brown broonie@kernel.org Cc: M, Naveen naveen.m@intel.com; M R, Sathya Prakash sathya.prakash.m.r@intel.com; Ben Zhang benzh@chromium.org; Rajat Jain rajatja@chromium.org; Jaroslav Kysela perex@perex.cz; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; Takashi Iwai tiwai@suse.com; Liam Girdwood lgirdwood@gmail.com Subject: Re: [PATCH v1 1/2] ASoC: SOF: Add Comet Lake PCI ID
On 5/6/19 5:53 PM, Evan Green wrote:
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
This is odd. I checked internally a few weeks back and the CML PCI ID was 9dc8, same as WHL and CNL, so we did not add a PCI ID on purpose. To the best of my knowledge SOF probes fine on CML and the known issues can be found on the SOF github [1].
The PCI ID change is seen on later production Si versions. The PCI ID is 02c8.
we must be talking about a different skew. I'll check, give me a couple of days.
Care to send the log of sudo lspci -s 0:1f.3 -vn ?
Here you go: localhost ~ # sudo lspci -s 0:1f.3 -vn 00:1f.3 0401: 8086:02c8 Subsystem: 8086:7270 Flags: fast devsel, IRQ 11 Memory at d1114000 (64-bit, non-prefetchable) [size=16K] Memory at d1000000 (64-bit, non-prefetchable) [size=1M] Capabilities: [50] Power Management version 3 Capabilities: [80] Vendor Specific Information: Len=14 <?> Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
[1] https://github.com/thesofproject/sof/issues?q=is%3Aopen+is%3Aissue+label%3AC...
Signed-off-by: Evan Green evgreen@chromium.org
sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 2 files changed, 20 insertions(+)
diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig index 32ee0fabab92..0b616d025f05 100644 --- a/sound/soc/sof/intel/Kconfig +++ b/sound/soc/sof/intel/Kconfig @@ -24,6 +24,7 @@ config SND_SOC_SOF_INTEL_PCI select SND_SOC_SOF_CANNONLAKE if SND_SOC_SOF_CANNONLAKE_SUPPORT select SND_SOC_SOF_COFFEELAKE if SND_SOC_SOF_COFFEELAKE_SUPPORT select SND_SOC_SOF_ICELAKE if SND_SOC_SOF_ICELAKE_SUPPORT
- select SND_SOC_SOF_COMETLAKE if SND_SOC_SOF_COMETLAKE_SUPPORT help This option is not user-selectable but automagically handled by 'select' statements at a higher level @@ -179,6 +180,21 @@ config
SND_SOC_SOF_ICELAKE This option is not user-selectable but automagically handled by 'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE
- tristate
- select SND_SOC_SOF_CANNONLAKE
- help
This option is not user-selectable but automagically handled by
'select' statements at a higher level
+config SND_SOC_SOF_COMETLAKE_SUPPORT
- bool "SOF support for CometLake"
- help
This adds support for Sound Open Firmware for Intel(R) platforms
using the Cometlake processors.
Say Y if you have such a device.
If unsure select "N".
- config SND_SOC_SOF_HDA_COMMON tristate select SND_SOC_SOF_INTEL_COMMON
diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index b778dffb2d25..5f0128337e40 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -353,6 +353,10 @@ static const struct pci_device_id sof_pci_ids[] = { #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) { PCI_DEVICE(0x8086, 0x34C8), .driver_data = (unsigned long)&icl_desc}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE)
- { PCI_DEVICE(0x8086, 0x02c8),
#endif { 0, } };.driver_data = (unsigned long)&cnl_desc},
Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On 5/6/19 5:53 PM, Evan Green wrote:
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
This is odd. I checked internally a few weeks back and the CML PCI ID was 9dc8, same as WHL and CNL, so we did not add a PCI ID on purpose. To the best of my knowledge SOF probes fine on CML and the known issues can be found on the SOF github [1].
The PCI ID change is seen on later production Si versions. The PCI ID is 02c8.
As I suspected, we are talking about different skews and generations of the chipset and a board-level change, not silicon change.
The CNL PCH-LP PCI ID is 0x9DC8, the CNL PCH-H PCI ID is 0xA348 (used for CoffeeLake). Both are supported by SOF.
What we are missing are the PCI IDs for CML PCH-LP (0x02C8) and CML PCH-H (0x06C8).
Can we respin this patchset to add support for those last two instead of just the -LP case?
I'll send a patch to add those IDs for the HDaudio legacy driver for consistency.
Thanks! -Pierre
On Tue, May 7, 2019 at 1:26 PM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
On 5/6/19 5:53 PM, Evan Green wrote:
Add support for Intel Comet Lake platforms by adding a new Kconfig for CometLake and the appropriate PCI ID.
This is odd. I checked internally a few weeks back and the CML PCI ID was 9dc8, same as WHL and CNL, so we did not add a PCI ID on purpose. To the best of my knowledge SOF probes fine on CML and the known issues can be found on the SOF github [1].
The PCI ID change is seen on later production Si versions. The PCI ID is 02c8.
As I suspected, we are talking about different skews and generations of the chipset and a board-level change, not silicon change.
The CNL PCH-LP PCI ID is 0x9DC8, the CNL PCH-H PCI ID is 0xA348 (used for CoffeeLake). Both are supported by SOF.
What we are missing are the PCI IDs for CML PCH-LP (0x02C8) and CML PCH-H (0x06C8).
Can we respin this patchset to add support for those last two instead of just the -LP case?
Sure. So just to clarify, you want the entry for 0x02c8, and you want an additional entry for 0x06c8 under the same config. Will do.
I'll send a patch to add those IDs for the HDaudio legacy driver for consistency.
Actually I've got that change ready to go too, I'm happy to send that out.
Thanks! -Pierre
What we are missing are the PCI IDs for CML PCH-LP (0x02C8) and CML PCH-H (0x06C8).
Can we respin this patchset to add support for those last two instead of just the -LP case?
Sure. So just to clarify, you want the entry for 0x02c8, and you want an additional entry for 0x06c8 under the same config. Will do.
I'd like both entries but with different Kconfigs (e.g. CometLake-LP and CometLake-H). We have one PCI ID per Kconfig so far.
I'll send a patch to add those IDs for the HDaudio legacy driver for consistency.
Actually I've got that change ready to go too, I'm happy to send that out.
I guess I beat you to it. Thanks for reporting all this. -Pierre
Add PCI IDs for Intel CometLake platforms, which from a software point of view are extremely similar to Cannonlake platforms.
Signed-off-by: Evan Green evgreen@chromium.org ---
sound/soc/intel/Kconfig | 9 +++++++++ sound/soc/intel/skylake/skl-messages.c | 8 ++++++++ sound/soc/intel/skylake/skl.c | 5 +++++ 3 files changed, 22 insertions(+)
diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index fc1396adde71..6b45082f8bd1 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -110,6 +110,7 @@ config SND_SOC_INTEL_SKYLAKE select SND_SOC_INTEL_GLK select SND_SOC_INTEL_CNL select SND_SOC_INTEL_CFL + select SND_SOF_INTEL_CML help This is a backwards-compatible option to select all devices supported by the Intel SST/Skylake driver. This option is no @@ -165,6 +166,14 @@ config SND_SOC_INTEL_CFL If you have a Intel CoffeeLake platform with the DSP enabled in the BIOS then enable this option by saying Y or m.
+config SND_SOC_INTEL_CML + tristate "CometLake Platforms" + depends on PCI && ACPI + select SND_SOC_INTEL_SKYLAKE_FAMILY + help + If you have a Intel CometLake platform with the DSP + enabled in the BIOS then enable this option by saying Y or m. + config SND_SOC_INTEL_SKYLAKE_FAMILY tristate select SND_SOC_INTEL_SKYLAKE_COMMON diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c index 4bf70b4429f0..e0e404b08627 100644 --- a/sound/soc/intel/skylake/skl-messages.c +++ b/sound/soc/intel/skylake/skl-messages.c @@ -255,6 +255,14 @@ static const struct skl_dsp_ops dsp_ops[] = { .init_fw = cnl_sst_init_fw, .cleanup = cnl_sst_dsp_cleanup }, + { + .id = 0x02c8, + .num_cores = 4, + .loader_ops = bxt_get_loader_ops, + .init = cnl_sst_dsp_init, + .init_fw = cnl_sst_init_fw, + .cleanup = cnl_sst_dsp_cleanup + }, };
const struct skl_dsp_ops *skl_get_dsp_ops(int pci_id) diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c index 4ed5b7e17d44..a9f6f5184639 100644 --- a/sound/soc/intel/skylake/skl.c +++ b/sound/soc/intel/skylake/skl.c @@ -1166,6 +1166,11 @@ static const struct pci_device_id skl_ids[] = { /* CFL */ { PCI_DEVICE(0x8086, 0xa348), .driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML) + /* CML */ + { PCI_DEVICE(0x8086, 0x02c8), + .driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines}, #endif { 0, } };
On Mon, May 6, 2019 at 3:53 PM Evan Green evgreen@chromium.org wrote:
This small series adds PCI IDs for Cometlake platforms, for a dazzling audio experience.
Evan Green (2): ASoC: SOF: Add Comet Lake PCI ID ASoC: Intel: Skylake: Add Cometlake PCI IDs
sound/soc/intel/Kconfig | 9 +++++++++ sound/soc/intel/skylake/skl-messages.c | 8 ++++++++ sound/soc/intel/skylake/skl.c | 5 +++++ sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ sound/soc/sof/sof-pci-dev.c | 4 ++++ 5 files changed, 42 insertions(+)
-- 2.20.1
I should have mentioned that I based this off of linux-next next-20190506. -Evan
participants (3)
-
Evan Green
-
M R, Sathya Prakash
-
Pierre-Louis Bossart