diff mbox

[RFC,2/7] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies

Message ID 20171118000202.22302-3-pierre-louis.bossart@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pierre-Louis Bossart Nov. 18, 2017, 12:01 a.m. UTC
PCI/ACPI selections should not happen in Kconfig for machine drivers,
move to SOC selections.

Add distinction between PCI and ACPI HiFi2 platforms. The PCI-based
platforms may be removed at some point since Medfield is not really
supported by anyone and there is no publicly available firmware for
Merrifield.

There should be no functionality change.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/Kconfig        | 16 ++++++++++++----
 sound/soc/intel/boards/Kconfig | 14 ++++----------
 2 files changed, 16 insertions(+), 14 deletions(-)

Comments

Andy Shevchenko Nov. 18, 2017, 4:53 p.m. UTC | #1
On Fri, 2017-11-17 at 18:01 -0600, Pierre-Louis Bossart wrote:
> PCI/ACPI selections should not happen in Kconfig for machine drivers,
> move to SOC selections.
> 
> Add distinction between PCI and ACPI HiFi2 platforms.


>  The PCI-based
> platforms may be removed at some point since Medfield is not really
> supported by anyone

This is rather true,

>  and there is no publicly available firmware for
> Merrifield.

while this is not true. Intel Edison board is based on Merrifield SoC
and I'm sure people are able to make a sound out of it.
Andy Shevchenko Nov. 18, 2017, 4:55 p.m. UTC | #2
On Sat, 2017-11-18 at 18:53 +0200, Andy Shevchenko wrote:
> On Fri, 2017-11-17 at 18:01 -0600, Pierre-Louis Bossart wrote:
> > PCI/ACPI selections should not happen in Kconfig for machine
> > drivers,
> > move to SOC selections.
> > 
> > Add distinction between PCI and ACPI HiFi2 platforms.
> 
> 
> >  The PCI-based
> > platforms may be removed at some point since Medfield is not really
> > supported by anyone
> 
> This is rather true,
> 
> >  and there is no publicly available firmware for
> > Merrifield.
> 
> while this is not true. Intel Edison board is based on Merrifield SoC

s/SoC/platform/

> and I'm sure people are able to make a sound out of it.
>
Alan Cox Nov. 20, 2017, 3:23 p.m. UTC | #3
On Fri, 17 Nov 2017 18:01:57 -0600
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> wrote:

> PCI/ACPI selections should not happen in Kconfig for machine drivers,
> move to SOC selections.
> 
> Add distinction between PCI and ACPI HiFi2 platforms. The PCI-based
> platforms may be removed at some point since Medfield is not really
> supported by anyone and there is no publicly available firmware for
> Merrifield.

Merrifield is (Intel secret decoder ring translation - 'Edison')

I don't thionk anyone would care if Medfield and Moorestown kicked the
bucket upstream however. Moorestown wouldn't make much difference
code-wise as it has a 'real computer' twin (Oaktrail), but dumping the
Medfield code would be IMHO fine.

Alan
Pierre-Louis Bossart Nov. 20, 2017, 4:23 p.m. UTC | #4
On 11/18/2017 10:53 AM, Andy Shevchenko wrote:
> On Fri, 2017-11-17 at 18:01 -0600, Pierre-Louis Bossart wrote:
>> PCI/ACPI selections should not happen in Kconfig for machine drivers,
>> move to SOC selections.
>>
>> Add distinction between PCI and ACPI HiFi2 platforms.
>
>>   The PCI-based
>> platforms may be removed at some point since Medfield is not really
>> supported by anyone
> This is rather true,
>
>>   and there is no publicly available firmware for
>> Merrifield.
> while this is not true. Intel Edison board is based on Merrifield SoC
> and I'm sure people are able to make a sound out of it.

I am aware that Edison could run with a modified 4.4 kernel, I just 
don't know where the firmware is. I don't see anything for Merrifield in 
/lib/firmware/intel?
If there is a simple way of testing this I don't mind looking into this, 
I just don't have the pointers.

>
Alan Cox Nov. 20, 2017, 4:58 p.m. UTC | #5
> I am aware that Edison could run with a modified 4.4 kernel, I just 
> don't know where the firmware is. I don't see anything for Merrifield in 
> /lib/firmware/intel?

https://downloadmirror.intel.com/25028/eng/edison-image-from-src-package-ww25.5-15.zip

I have no idea why it never made it into the standard Linux firmware
package but with Edison now defunct I also don't have anyone I can ask
about that !

Alan
Andy Shevchenko Nov. 21, 2017, 12:05 p.m. UTC | #6
On Mon, 2017-11-20 at 10:23 -0600, Pierre-Louis Bossart wrote:
> On 11/18/2017 10:53 AM, Andy Shevchenko wrote:
> > On Fri, 2017-11-17 at 18:01 -0600, Pierre-Louis Bossart wrote:

> >   and there is no publicly available firmware for
> > > Merrifield.
> > 
> > while this is not true. Intel Edison board is based on Merrifield
> > SoC
> > and I'm sure people are able to make a sound out of it.
> 
> I am aware that Edison could run with a modified 4.4 kernel,

Edison can just run vanilla (with some caveats, though not related to
LPE). But okay, there was last official Yocto kernel v3.10.98 based and
v4.4 with Brillo.

>  I just 
> don't know where the firmware is. I don't see anything for Merrifield
> in 
> /lib/firmware/intel?
> If there is a simple way of testing this I don't mind looking into
> this, 
> I just don't have the pointers.

In any case the official bundle has it (sha1):

fcedef11ac49405389b0fb83d526600e0bd933a3  /lib/firmware/fw_sst_119a.bin
diff mbox

Patch

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index 98ef2273665f..175b2965ca21 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -39,7 +39,7 @@  config SND_SOC_INTEL_SST_ACPI
 
 config SND_SOC_INTEL_HASWELL
 	tristate "Intel ASoC SST driver for Haswell/Broadwell"
-	depends on SND_DMA_SGBUF
+	depends on SND_DMA_SGBUF && ACPI
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
@@ -47,14 +47,22 @@  config SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_BAYTRAIL
 	tristate "Intel ASoC SST driver for Baytrail (legacy)"
-	depends on DMADEVICES
+	depends on DMADEVICES && ACPI
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
 	select SND_SOC_INTEL_COMMON
 
+config SND_SST_ATOM_HIFI2_PLATFORM_PCI
+	tristate "Intel ASoC SST driver for PCI HiFi2 platforms (Medfield, Merrifield)"
+	depends on X86 && PCI
+	select SND_SST_IPC_PCI
+	select SND_SOC_COMPRESS
+	select SND_SOC_INTEL_COMMON
+
 config SND_SST_ATOM_HIFI2_PLATFORM
-	tristate "Intel ASoC SST driver for HiFi2 platforms (*field, *trail)"
-	depends on X86
+	tristate "Intel ASoC SST driver for ACPI HiFi2 platforms (Baytrail, Cherrytrail)"
+	depends on X86 && ACPI
+	select SND_SST_IPC_ACPI
 	select SND_SOC_COMPRESS
 	select SND_SOC_INTEL_COMMON
 
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 4ae44b0cea0a..bb40f042962f 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -12,18 +12,20 @@  config  SND_SOC_INTEL_MACH
 
 if SND_SOC_INTEL_MACH
 
+if SND_SST_ATOM_HIFI2_PLATFORM_PCI
+
 config SND_MFLD_MACHINE
 	tristate "SOC Machine Audio driver for Intel Medfield MID platform"
 	depends on INTEL_SCU_IPC
 	select SND_SOC_SN95031
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
-	select SND_SST_IPC_PCI
 	help
           This adds support for ASoC machine driver for Intel(R) MID Medfield platform
           used as alsa device in audio substem in Intel(R) MID devices
           Say Y if you have such a device.
           If unsure select "N".
 
+endif
+
 if SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_HASWELL_MACH
@@ -88,7 +90,6 @@  config SND_SOC_INTEL_BYTCR_RT5640_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5640
-	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5640 audio codec.
@@ -99,7 +100,6 @@  config SND_SOC_INTEL_BYTCR_RT5651_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5651
-	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5651 audio codec.
@@ -110,7 +110,6 @@  config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
         tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
         select SND_SOC_RT5670
-        select SND_SST_IPC_ACPI
         help
           This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
           platforms with RT5672 audio codec.
@@ -121,7 +120,6 @@  config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
 	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT5645
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with RT5645/5650 audio codec.
@@ -133,7 +131,6 @@  config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_MAX98090
 	select SND_SOC_TS3A227E
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
@@ -144,7 +141,6 @@  config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_DA7213
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
 	  platforms with DA7212/7213 audio codec.
@@ -155,7 +151,6 @@  config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with ES8316 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_ES8316
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail &
 	  Cherrytrail platforms with ES8316 audio codec.
@@ -166,7 +161,6 @@  config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
 	default n
 	depends on X86_INTEL_LPSS && I2C && ACPI
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for the MinnowBoard Max or
 	  Up boards and provides access to I2S signals on the Low-Speed