From: Rakesh Ughreja <rakesh.a.ughreja@intel.com>
To: alsa-devel@alsa-project.org, broonie@kernel.org, tiwai@suse.de,
liam.r.girdwood@linux.intel.com
Cc: vinod.koul@intel.com, patches.audio@intel.com,
Rakesh Ughreja <rakesh.a.ughreja@intel.com>,
pierre-louis.bossart@linux.intel.com
Subject: [RFC 02/10] ASoC: Intel: Skylake: Add entry in sst_acpi_mach for HDA codecs
Date: Fri, 1 Dec 2017 14:44:00 +0530 [thread overview]
Message-ID: <1512119648-2700-3-git-send-email-rakesh.a.ughreja@intel.com> (raw)
In-Reply-To: <1512119648-2700-1-git-send-email-rakesh.a.ughreja@intel.com>
When no I2S based codecs are detected in the BIOS, check if there are
any HDA codecs present. If yes, load the corresponding machine driver.
TODO:
support for detecting the presence of HDA codec is not implemented.
it will be implemented in the next revision.
Signed-off-by: Rakesh Ughreja <rakesh.a.ughreja@intel.com>
---
sound/soc/intel/skylake/skl.c | 46 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 43 insertions(+), 3 deletions(-)
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index 27462c0..568a285 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -424,6 +424,26 @@ static int skl_free(struct hdac_bus *bus)
return 0;
}
+static struct snd_soc_acpi_mach *skl_probe_hda_machine(
+ struct snd_soc_acpi_mach *machines)
+{
+
+ struct snd_soc_acpi_mach *mach;
+
+ /*
+ * FIXME:
+ * First check if there are any HDA codecs present on the system
+ * then search the match table.
+ * For now this function is not detecting the presence of any
+ * HDA codecs.
+ */
+ for (mach = machines; mach->id[0]; mach++) {
+ if (!strcmp(mach->id, "HDA_GEN"))
+ return mach;
+ }
+ return NULL;
+}
+
static int skl_machine_device_register(struct skl *skl, void *driver_data)
{
struct hdac_bus *bus = skl_to_bus(skl);
@@ -433,9 +453,14 @@ static int skl_machine_device_register(struct skl *skl, void *driver_data)
mach = snd_soc_acpi_find_machine(mach);
if (mach == NULL) {
- dev_err(bus->dev, "No matching machine driver found\n");
- return -ENODEV;
+ dev_dbg(bus->dev, "No matching I2S machine driver found\n");
+ mach = skl_probe_hda_machine(driver_data);
+ if (mach == NULL) {
+ dev_err(bus->dev, "No matching machine driver found\n");
+ return -ENODEV;
+ }
}
+
skl->fw_name = mach->fw_filename;
pdev = platform_device_alloc(mach->drv_name, -1);
@@ -911,6 +936,14 @@ static struct snd_soc_acpi_mach sst_skl_devdata[] = {
.quirk_data = &skl_codecs,
.pdata = &skl_dmic_data
},
+ {
+ .id = "HDA_GEN",
+ .drv_name = "skl_hda_generic",
+ .fw_filename = "intel/dsp_fw_release.bin",
+ .machine_quirk = NULL,
+ .quirk_data = NULL,
+ .pdata = NULL
+ },
{}
};
@@ -973,7 +1006,14 @@ static struct snd_soc_acpi_mach sst_kbl_devdata[] = {
.drv_name = "kbl_rt5663",
.fw_filename = "intel/dsp_fw_kbl.bin",
},
-
+ {
+ .id = "HDA_GEN",
+ .drv_name = "skl_hda_generic",
+ .fw_filename = "intel/dsp_fw_kbl.bin",
+ .machine_quirk = NULL,
+ .quirk_data = NULL,
+ .pdata = NULL
+ },
{}
};
--
2.7.4
next prev parent reply other threads:[~2017-12-01 9:09 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 9:13 [RFC 00/10] Enable HDA Codec support on Intel Platforms (Series2) Rakesh Ughreja
2017-12-01 9:13 ` [RFC 01/10] ASoC: Intel: Boards: Machine driver for Intel platforms Rakesh Ughreja
2017-12-01 17:58 ` Pierre-Louis Bossart
2017-12-04 10:55 ` Ughreja, Rakesh A
2017-12-04 14:49 ` Pierre-Louis Bossart
2017-12-04 15:10 ` Ughreja, Rakesh A
2017-12-04 15:37 ` Pierre-Louis Bossart
2017-12-06 16:17 ` Vinod Koul
2017-12-07 12:27 ` Ughreja, Rakesh A
2017-12-07 13:05 ` Pierre-Louis Bossart
2017-12-07 15:21 ` Ughreja, Rakesh A
2017-12-07 16:33 ` Pierre-Louis Bossart
2017-12-01 9:14 ` Rakesh Ughreja [this message]
2017-12-01 18:15 ` [RFC 02/10] ASoC: Intel: Skylake: Add entry in sst_acpi_mach for HDA codecs Pierre-Louis Bossart
2017-12-04 16:27 ` Ughreja, Rakesh A
2017-12-01 9:14 ` [RFC 03/10] ASoC: Intel: Skylake: add HDA BE DAIs Rakesh Ughreja
2017-12-01 18:20 ` Pierre-Louis Bossart
2017-12-04 16:14 ` Ughreja, Rakesh A
2017-12-04 16:40 ` Pierre-Louis Bossart
2017-12-04 16:44 ` Ughreja, Rakesh A
2017-12-04 16:51 ` Pierre-Louis Bossart
2017-12-04 17:01 ` Takashi Iwai
2017-12-01 9:14 ` [RFC 04/10] ASoC: Intel: Skylake: use hda_bus instead of hdac_bus Rakesh Ughreja
2017-12-01 18:27 ` Pierre-Louis Bossart
2017-12-04 16:09 ` Ughreja, Rakesh A
2017-12-01 9:14 ` [RFC 05/10] ALSA: hda - make some of the functions externally visible Rakesh Ughreja
2017-12-01 19:26 ` Pierre-Louis Bossart
2017-12-04 15:43 ` Ughreja, Rakesh A
2017-12-04 16:23 ` Takashi Iwai
2017-12-01 9:14 ` [RFC 06/10] ASoC: hdac_hda: add ASoC based HDA codec driver Rakesh Ughreja
2017-12-01 19:36 ` Pierre-Louis Bossart
2017-12-04 15:35 ` Ughreja, Rakesh A
2017-12-01 9:14 ` [RFC 07/10] ALSA: hda: add new API snd_hda_asoc_codec_new for ASoC codec drivers Rakesh Ughreja
2017-12-01 9:14 ` [RFC 08/10] ASoC: hdac_hda: add DAI, widgets and related ops Rakesh Ughreja
2017-12-01 9:14 ` [RFC 09/10] ASoC: hdac_hda: add runtime PM support Rakesh Ughreja
2017-12-01 9:14 ` [RFC 10/10] ASoC: Intel: Boards: add support for HDA codecs Rakesh Ughreja
2017-12-01 14:56 ` [RFC 00/10] Enable HDA Codec support on Intel Platforms (Series2) Takashi Iwai
2017-12-01 19:45 ` Pierre-Louis Bossart
2017-12-01 20:03 ` Takashi Iwai
2017-12-03 17:20 ` Vinod Koul
2017-12-04 3:15 ` Pierre-Louis Bossart
2017-12-04 3:22 ` Vinod Koul
2017-12-04 3:44 ` Pierre-Louis Bossart
2017-12-04 4:21 ` Vinod Koul
2017-12-04 14:52 ` Pierre-Louis Bossart
2017-12-04 17:17 ` Vinod Koul
2017-12-04 10:43 ` Ughreja, Rakesh A
2017-12-06 16:06 ` Vinod Koul
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=1512119648-2700-3-git-send-email-rakesh.a.ughreja@intel.com \
--to=rakesh.a.ughreja@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=patches.audio@intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.de \
--cc=vinod.koul@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).