[PATCH v2 0/2] ALSA: cs35l41: prevent old firmwares using unsupported commands

Stefan Binding posted 2 patches 2 years, 1 month ago
include/sound/cs35l41.h        |  2 +-
sound/pci/hda/cs35l41_hda.c    | 28 ++++++++++++----------------
sound/soc/codecs/cs35l41-lib.c |  6 ++++--
sound/soc/codecs/cs35l41.c     |  4 ++--
4 files changed, 19 insertions(+), 21 deletions(-)
[PATCH v2 0/2] ALSA: cs35l41: prevent old firmwares using unsupported commands
Posted by Stefan Binding 2 years, 1 month ago
Some systems use older firmware which does not support newer commands
which are used to enable external boost. For those systems, we can
workaround this by writing the registers directly.

We can use the firmware version, stored inside cs_dsp, to determine
whether or not the command is supported.
To achieve this, it requires a cleanup in the api, to pass the cs_dsp
struct into the function.

We can also remove the redundant boolean firmware_running from the HDA
driver, and use the equivalent state inside cs_dsp.

Changes since V1:
- Added fixes tag to all patches
- patches rebased after v6.7 release

Stefan Binding (2):
  ALSA: hda: cs35l41: Remove unnecessary boolean state variable
    firmware_running
  ALSA: cs35l41: Fix for old systems which do not support command

 include/sound/cs35l41.h        |  2 +-
 sound/pci/hda/cs35l41_hda.c    | 28 ++++++++++++----------------
 sound/soc/codecs/cs35l41-lib.c |  6 ++++--
 sound/soc/codecs/cs35l41.c     |  4 ++--
 4 files changed, 19 insertions(+), 21 deletions(-)

-- 
2.34.1
Re: [PATCH v2 0/2] ALSA: cs35l41: prevent old firmwares using unsupported commands
Posted by Takashi Iwai 2 years, 1 month ago
On Fri, 17 Nov 2023 17:36:07 +0100,
Stefan Binding wrote:
> 
> Some systems use older firmware which does not support newer commands
> which are used to enable external boost. For those systems, we can
> workaround this by writing the registers directly.
> 
> We can use the firmware version, stored inside cs_dsp, to determine
> whether or not the command is supported.
> To achieve this, it requires a cleanup in the api, to pass the cs_dsp
> struct into the function.
> 
> We can also remove the redundant boolean firmware_running from the HDA
> driver, and use the equivalent state inside cs_dsp.
> 
> Changes since V1:
> - Added fixes tag to all patches
> - patches rebased after v6.7 release
> 
> Stefan Binding (2):
>   ALSA: hda: cs35l41: Remove unnecessary boolean state variable
>     firmware_running
>   ALSA: cs35l41: Fix for old systems which do not support command

Both patches applied now.  Thanks.


Takashi