ASoC: fsl: Fix lockups with recent cache changes
authorMark Brown <broonie@kernel.org>
Thu, 29 Sep 2016 18:22:52 +0000 (11:22 -0700)
committerMark Brown <broonie@kernel.org>
Thu, 29 Sep 2016 19:36:57 +0000 (12:36 -0700)
The recent series of changes to the caching in the SSI driver have
caused a number of problems to appear in some test systems.  These are
still not fully understood but we're coming up to the merge window so
for now let's revert commit 7de2763d9b3 (ASoC: fsl_ssi: Remove
.num_reg_defaults_raw from regmap_config) as backing that out seems to
resolve the problem on affected systems.

Reported-by: Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Marek Vasut <marex@denx.de>
sound/soc/fsl/fsl_ssi.c

index b73c102..5034943 100644 (file)
@@ -177,6 +177,7 @@ static const struct regmap_config fsl_ssi_regconfig = {
        .val_bits = 32,
        .reg_stride = 4,
        .val_format_endian = REGMAP_ENDIAN_NATIVE,
+       .num_reg_defaults_raw = CCSR_SSI_SACCDIS / sizeof(uint32_t) + 1,
        .readable_reg = fsl_ssi_readable_reg,
        .volatile_reg = fsl_ssi_volatile_reg,
        .precious_reg = fsl_ssi_precious_reg,
@@ -1500,6 +1501,8 @@ static int fsl_ssi_probe(struct platform_device *pdev)
                 * don't have SACC{ST,EN,DIS} regs.
                 */
                regconfig.max_register = CCSR_SSI_SRMSK;
+               regconfig.num_reg_defaults_raw =
+                       CCSR_SSI_SRMSK / sizeof(uint32_t) + 1;
        }
 
        ret = of_property_match_string(np, "clock-names", "ipg");