summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/skylake/skl.h
diff options
context:
space:
mode:
authorPradeep Tewani <pradeep.d.tewani@intel.com>2017-12-06 16:34:02 +0530
committerMark Brown <broonie@kernel.org>2017-12-06 17:44:54 +0000
commit437623554e89f388648a31c35e1e5e4c7cb09004 (patch)
treef9f72c4542895a5183eeb9d0effca7ba2cc0f79a /sound/soc/intel/skylake/skl.h
parentb2ca3bdd07f68ca63fdb8e45f1fe039ba6af54a2 (diff)
downloadlinux-437623554e89f388648a31c35e1e5e4c7cb09004.tar.bz2
ASoC: Intel: Skylake: Parse vendor tokens to build A-State table
A-State table is a power management table which allows the driver to configure the DSP clock source corresponding to various load thresholds. The table contains upto 3 A-State entries. The patch adds and parses the corresponding A-State tokens to build the table. Signed-off-by: Pradeep Tewani <pradeep.d.tewani@intel.com> Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com> Acked-By: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/skylake/skl.h')
-rw-r--r--sound/soc/intel/skylake/skl.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl.h b/sound/soc/intel/skylake/skl.h
index 554ad6b5a823..46dda88ba139 100644
--- a/sound/soc/intel/skylake/skl.h
+++ b/sound/soc/intel/skylake/skl.h
@@ -29,6 +29,8 @@
#define SKL_SUSPEND_DELAY 2000
+#define SKL_MAX_ASTATE_CFG 3
+
#define AZX_PCIREG_PGCTL 0x44
#define AZX_PGCTL_LSRMD_MASK (1 << 4)
#define AZX_PCIREG_CGCTL 0x48
@@ -46,6 +48,20 @@ struct skl_dsp_resource {
struct skl_debug;
+struct skl_astate_param {
+ u32 kcps;
+ u32 clk_src;
+};
+
+struct skl_astate_config {
+ u32 count;
+ struct skl_astate_param astate_table[0];
+};
+
+struct skl_fw_config {
+ struct skl_astate_config *astate_cfg;
+};
+
struct skl {
struct hdac_ext_bus ebus;
struct pci_dev *pci;
@@ -77,6 +93,7 @@ struct skl {
u8 nr_modules;
struct skl_module **modules;
bool use_tplg_pcm;
+ struct skl_fw_config cfg;
};
#define skl_to_ebus(s) (&(s)->ebus)