summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Rhodes <david.rhodes@cirrus.com>2019-06-17 15:06:04 -0500
committerAlexander Deucher <alexander.deucher@amd.com>2021-08-31 23:53:54 -0400
commit5c5aee153d01660ca1e4bf10248d17c0eb7a7b40 (patch)
tree290a8eb7c1d52728f190525ce1d3a46ceb36b55d /include
parentca69e1df549bb226231668c6899a2d48d0f74f51 (diff)
ASoC: cs35l41: Cache values for each AMP separately
Move hibernation cache storage from global to AMP private structure to have separate values per AMP Signed-off-by: David Rhodes <david.rhodes@cirrus.com>
Diffstat (limited to 'include')
-rw-r--r--include/sound/cs35l41.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/sound/cs35l41.h b/include/sound/cs35l41.h
index 60c927e76f94..684855de0530 100644
--- a/include/sound/cs35l41.h
+++ b/include/sound/cs35l41.h
@@ -49,6 +49,19 @@ struct cs35l41_platform_data {
struct classh_cfg classh_config;
};
+struct cs35l41_rst_cache {
+ bool extclk_cfg;
+ int asp_width;
+ int asp_wl;
+ int asp_fmt;
+ int lrclk_fmt;
+ int sclk_fmt;
+ int slave_mode;
+ int fs_cfg;
+};
+
+#define CS35L41_CTR_CACHE_SIZE 9
+
struct cs35l41_vol_ctl {
struct workqueue_struct *ramp_wq;
struct work_struct ramp_work;
@@ -102,6 +115,8 @@ struct cs35l41_private {
struct delayed_work hb_work;
struct workqueue_struct *wq;
struct mutex hb_lock;
+ struct cs35l41_rst_cache reset_cache;
+ struct reg_sequence ctl_cache[CS35L41_CTR_CACHE_SIZE];
struct mutex rate_lock;
struct mutex force_int_lock;
struct cs35l41_vol_ctl vol_ctl;