alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: alsa-devel@alsa-project.org, broonie@kernel.org
Subject: Re: [alsa-devel] [PATCH] ASoC: SOF: Intel: add PCI ID for CometLake-S
Date: Wed, 18 Dec 2019 07:32:20 +0100	[thread overview]
Message-ID: <s5hd0cm16vf.wl-tiwai@suse.de> (raw)
In-Reply-To: <0131b134-46dc-991f-230b-fe843f43f078@linux.intel.com>

On Wed, 18 Dec 2019 01:50:42 +0100,
Pierre-Louis Bossart wrote:
> 
> 
> >> diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
> >> index bbeffd932de7..0b39ea6117cf 100644
> >> --- a/sound/soc/sof/sof-pci-dev.c
> >> +++ b/sound/soc/sof/sof-pci-dev.c
> >> @@ -417,6 +417,10 @@ static const struct pci_device_id sof_pci_ids[] = {
> >>   	{ PCI_DEVICE(0x8086, 0x06c8),
> >>   		.driver_data = (unsigned long)&cml_desc},
> >>   #endif
> >> +#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_S)
> >> +	{ PCI_DEVICE(0x8086, 0xa3f0),
> >> +		.driver_data = (unsigned long)&cml_desc},
> >> +#endif
> >>   #if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE)
> >>   	{ PCI_DEVICE(0x8086, 0xa0c8),
> >>   		.driver_data = (unsigned long)&tgl_desc},
> 
> Sorry Takashi, I was checking why this patch wasn't merged and only
> realized now that I missed your feedback (likely an effect of the
> Thanksgiving holiday).
> 
> > I guess the change in ifdef for cml_desc definition is still missing.
> 
> Not sure what change you are referring to?

Take a look at the definition of cml_desc.  It's wrapped with

#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) || \
        IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)

but this wasn't updated for the new COMETLAKE_S.

> > But, I wonder whether it'd be simpler to have Kconfigs only per
> > sof_dev_desc?  That is, have CONFIG_SND_SOC_SOF_COMETLAKE, and all CML
> > model PCI entries are enabled by that as long as they use the same
> > cml_desc definition.
> 
> it's difficult to have a classification that's complete and accurate,
> some PCH versions are reused in products that use a different family
> name. For example you will find the same PCI ID for CNL and WHL, and
> in others the -H, -U and -Y skews are not identical. Even Intel folks
> get lost at times, myself included.
> 
> For now we prefer having one Kconfig per PCI ID, and we try to provide
> a name for the Kconfig that is the most accurate without being
> cryptic. One of the reasons for having different Kconfigs is that we
> have multiple versions of the audio IP, and the ability to narrow the
> selection to a single device helps make sure the code is in the right
> place/module and dependencies are correct.
> 
> > Also, can we reduce even the ifdef around sof_dev_desc definitions by
> > __maybe_unused atttribute?
> 
> Sorry, I am not following your suggestion. I would really like to keep
> the ifdefs for now, and while it can be seen as overkill to have
> descriptors that are identical in some cases the past experience shows
> it's useful when we have to add quirks for specific 'hardware
> recommended programming sequences'.

What I suggested was simple, just dropping ifdef by something like

diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
index bbeffd932de7..297632a54f1b 100644
--- a/sound/soc/sof/sof-pci-dev.c
+++ b/sound/soc/sof/sof-pci-dev.c
@@ -36,8 +36,7 @@ MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
 
 #define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
 
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
-static const struct sof_dev_desc bxt_desc = {
+static const struct sof_dev_desc __maybe_unused bxt_desc = {
 	.machines		= snd_soc_acpi_intel_bxt_machines,
 	.resindex_lpe_base	= 0,
 	.resindex_pcicfg_base	= -1,
@@ -52,10 +51,8 @@ static const struct sof_dev_desc bxt_desc = {
 	.ops = &sof_apl_ops,
 	.arch_ops = &sof_xtensa_arch_ops
 };
-#endif
 
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
-static const struct sof_dev_desc glk_desc = {
+static const struct sof_dev_desc __maybe_unused glk_desc = {
 	.machines		= snd_soc_acpi_intel_glk_machines,
 	.resindex_lpe_base	= 0,
 	.resindex_pcicfg_base	= -1,
@@ -70,10 +67,8 @@ static const struct sof_dev_desc glk_desc = {
 	.ops = &sof_apl_ops,
 	.arch_ops = &sof_xtensa_arch_ops
 };
-#endif
.....
 

Then the issue I pointed above can be solved as well.


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2019-12-18  6:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26 14:14 [alsa-devel] [PATCH] ASoC: SOF: Intel: add PCI ID for CometLake-S Pierre-Louis Bossart
2019-11-26 14:23 ` Takashi Iwai
2019-12-18  0:50   ` Pierre-Louis Bossart
2019-12-18  6:32     ` Takashi Iwai [this message]
2019-12-18 15:21       ` Pierre-Louis Bossart
2019-12-18 16:28         ` Takashi Iwai
2019-12-18 16:42           ` Pierre-Louis Bossart
2019-12-18 18:45             ` Takashi Iwai
2019-12-18 19:01               ` Pierre-Louis Bossart
2019-12-18 20:02                 ` Takashi Iwai
2019-12-18 20:07                   ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hd0cm16vf.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=pierre-louis.bossart@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).