ALSA: hda: cs35l56: Disable low-power hibernation mode
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Tue, 12 Sep 2023 13:27:39 +0000 (14:27 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Sep 2023 07:42:33 +0000 (09:42 +0200)
Do not allow the CS35L56 to be put into its lowest power
"hibernation" mode. This only affects I2C because "hibernation"
is already disabled on SPI.

Recent firmwares need a different wake-up sequence. Until
that sequence has been specified, the chip "hibernation" mode
must be disabled otherwise it can intermittently fail to wake.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230912132739.3478441-1-rf@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l56_hda_i2c.c

index 83e4acd..757a4d1 100644 (file)
@@ -21,7 +21,6 @@ static int cs35l56_hda_i2c_probe(struct i2c_client *clt)
                return -ENOMEM;
 
        cs35l56->base.dev = &clt->dev;
-       cs35l56->base.can_hibernate = true;
        cs35l56->base.regmap = devm_regmap_init_i2c(clt, &cs35l56_regmap_i2c);
        if (IS_ERR(cs35l56->base.regmap)) {
                ret = PTR_ERR(cs35l56->base.regmap);