History log of /openbmc/linux/sound/pci/hda/cs35l41_hda.c (Results 51 – 74 of 74)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 14e42cee 09-May-2022 Stefan Binding <sbinding@opensource.cirrus.com>

ALSA: hda: cs35l41: Remove Set Channel Map api from binding

This API was required for CLSA0100 laptop, which did not
have correct properties inside ACPI. The required values
are now hardcoded inside

ALSA: hda: cs35l41: Remove Set Channel Map api from binding

This API was required for CLSA0100 laptop, which did not
have correct properties inside ACPI. The required values
are now hardcoded inside the driver so this is no longer
needed.
Without this api, there CLSA0100 can now use the generic
cs35l41 fixup, like the other laptops.
All other laptops will read the Speaker Position from
ACPI and set the channel map from within the driver.

Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220509214703.4482-4-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 775d6675 09-May-2022 Stefan Binding <sbinding@opensource.cirrus.com>

ALSA: hda: cs35l41: Set Speaker Position for CLSA0100 Laptop

This laptop does not contain required properties inside ACPI,
instead the values are be hardcoded inside the driver.

Signed-off-by: Stef

ALSA: hda: cs35l41: Set Speaker Position for CLSA0100 Laptop

This laptop does not contain required properties inside ACPI,
instead the values are be hardcoded inside the driver.

Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220509214703.4482-3-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


Revision tags: v5.15.38, v5.15.37, v5.15.36, v5.15.35, v5.15.34
# 5577dd23 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use

To add support for external boost for ASoC move the HDA external
boost implementation to the shared lib.

Signed-off-by: Lucas Ta

ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use

To add support for external boost for ASoC move the HDA external
boost implementation to the shared lib.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-15-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 734b965e 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Handle all external boost setups the same way

External boost enables sequences for devices with or without GPIO1 as
VSPK switch are the same if devices are put in safe mode from

ALSA: hda: cs35l41: Handle all external boost setups the same way

External boost enables sequences for devices with or without GPIO1 as
VSPK switch are the same if devices are put in safe mode from reset.
As a previous patch put all external boost devices into safe mode
from reset, all external boost devices can be handled in the same way
for stream open and close.

The only difference is that devices without an VSPK switch can not be
put in reset and devices with it can be put into reset if a
configuration is applied.
The function cs35l41_hda_safe_reset is created to handle the safe reset
of the chip, and as systems without VSPK switch are not supported
anymore, only the CS35L41 HDA driver should check its return.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-14-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# b50a9997 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Reorganize log for playback actions

For each case, only log the last regmap access, so it doesn't get
overwritten, and as all regmap access should show the same issues
logging th

ALSA: hda: cs35l41: Reorganize log for playback actions

For each case, only log the last regmap access, so it doesn't get
overwritten, and as all regmap access should show the same issues
logging the last one should be enough.
Change to dev_err to log this error.

Also, differentiate between a regmap access failure and invalid
playback action.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-13-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# fabcf7f1 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct

Remove cs35l41_hd_reg_sequence as it adds a layer of flexibility not needed.
As cs35l41_hda_(start/stop)_bst is a single register, it can b

ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct

Remove cs35l41_hd_reg_sequence as it adds a layer of flexibility not needed.
As cs35l41_hda_(start/stop)_bst is a single register, it can be replaced by
regmap_update_bits with usleep_range to wait for the same 3000us that
reg_sequence had.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-12-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 5fdb68a7 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Move boost config to initialization code

Having CS35L41_PWR_CTRL2 on cs35l41_hda_config overwrites the boost
configuration for internal boost.
So move it to the initialization pa

ALSA: hda: cs35l41: Move boost config to initialization code

Having CS35L41_PWR_CTRL2 on cs35l41_hda_config overwrites the boost
configuration for internal boost.
So move it to the initialization part and use regmap_update_bits to
only change the correct bits.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-11-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# f29db089 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Mute the device before shutdown

Mute the device before shutdown to avoid pops and clicks for all types
of boost.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Lin

ALSA: hda: cs35l41: Mute the device before shutdown

Mute the device before shutdown to avoid pops and clicks for all types
of boost.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-9-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# f04bb4ca 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Put the device into safe mode for external boost

To facilitate the configuration of external boost devices, put all
devices, with or without VSPK switch, into safe mode from the

ALSA: hda: cs35l41: Put the device into safe mode for external boost

To facilitate the configuration of external boost devices, put all
devices, with or without VSPK switch, into safe mode from the start.
That allows the following parts of the driver to handle all external
boost devices in the same way.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-8-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# b8388a1a 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Add Boost type flag

Replace vspk_always_on by a enum that better characterizes the boost
type, as there is 3 types of boost hardware.
And with the new boost type other parts of t

ALSA: hda: cs35l41: Add Boost type flag

Replace vspk_always_on by a enum that better characterizes the boost
type, as there is 3 types of boost hardware.
And with the new boost type other parts of the driver can better handle
the configuration of the chip.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-7-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 0256949b 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Always configure the DAI

The dai configuration is always the same and should always configured
during the opening the stream.

Signed-off-by: Lucas Tanure <tanureal@opensource.ci

ALSA: hda: cs35l41: Always configure the DAI

The dai configuration is always the same and should always configured
during the opening the stream.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-6-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 1e616a9c 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Fix I2S params comments

Fix clock and slot size comments

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-5-tanu

ALSA: hda: cs35l41: Fix I2S params comments

Fix clock and slot size comments

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-5-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# fcad8950 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: cs35l41: Move cs35l41_gpio_config to shared lib

ASoC and HDA can use a single function to configure the chip gpios.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Char

ALSA: cs35l41: Move cs35l41_gpio_config to shared lib

ASoC and HDA can use a single function to configure the chip gpios.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-4-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 2603c974 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: cs35l41: Check hw_config before using it

The driver can receive an empty hw_config, so mark as valid if
successfully read from device tree/ACPI or set by the driver itself.
Platforms not marke

ALSA: cs35l41: Check hw_config before using it

The driver can receive an empty hw_config, so mark as valid if
successfully read from device tree/ACPI or set by the driver itself.
Platforms not marked with a valid hw config will not be supported.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-3-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# f7f20737 13-Apr-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: cs35l41: Unify hardware configuration

Both ASoC and HDA require to configure the GPIOs and Boost, so
create a single shared struct for hardware configuration.

Signed-off-by: Lucas Tanure <tan

ALSA: cs35l41: Unify hardware configuration

Both ASoC and HDA require to configure the GPIOs and Boost, so
create a single shared struct for hardware configuration.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-2-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


Revision tags: v5.15.33, v5.15.32, v5.15.31, v5.17, v5.15.30, v5.15.29, v5.15.28, v5.15.27, v5.15.26, v5.15.25, v5.15.24, v5.15.23, v5.15.22, v5.15.21, v5.15.20, v5.15.19, v5.15.18, v5.15.17, v5.4.173, v5.15.16
# 85c25662 17-Jan-2022 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void

Up to now cs35l41_hda_remove() returns zero unconditionally. Make it
return void instead which makes it easier to see in the callers that
th

ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void

Up to now cs35l41_hda_remove() returns zero unconditionally. Make it
return void instead which makes it easier to see in the callers that
there is no error to handle.

Also the return value of i2c and spi remove callbacks is ignored anyway.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117220055.120955-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 8c286a0f 17-Jan-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Tidyup code

Clean up and simplify cs35l41_hda_bind function

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-6-

ALSA: hda: cs35l41: Tidyup code

Clean up and simplify cs35l41_hda_bind function

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-6-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# a025df02 17-Jan-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Make use of the helper function dev_err_probe()

When possible use dev_err_probe help to properly deal with the
PROBE_DEFER error, the benefit is that DEFER issue will be logged
i

ALSA: hda: cs35l41: Make use of the helper function dev_err_probe()

When possible use dev_err_probe help to properly deal with the
PROBE_DEFER error, the benefit is that DEFER issue will be logged
in the devices_deferred debugfs file.
Using dev_err_probe() can reduce code size, and the error value
gets printed.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-5-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# cd8abf7d 17-Jan-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Add missing default cases

Add switch default cases at gpio pins configs

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/202201171608

ALSA: hda: cs35l41: Add missing default cases

Add switch default cases at gpio pins configs

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-4-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 77dc3a6e 17-Jan-2022 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace

Create own namespace and avoid polluting the global namespace

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link:

ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace

Create own namespace and avoid polluting the global namespace

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-3-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 6e4320d8 17-Jan-2022 Charles Keepax <ckeepax@opensource.cirrus.com>

ALSA: hda: cs35l41: Add calls to newly added test key function

The test key now needs to be manually held when calling
cs35l41_register_errata_patch, after patch:

Add the missing function calls to

ALSA: hda: cs35l41: Add calls to newly added test key function

The test key now needs to be manually held when calling
cs35l41_register_errata_patch, after patch:

Add the missing function calls to this driver.

Fixes: f517ba4924ad ("ASoC: cs35l41: Add support for hibernate memory retention mode")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-2-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


# 2cb52046 17-Jan-2022 Charles Keepax <ckeepax@opensource.cirrus.com>

ALSA: hda: cs35l41: Avoid overwriting register patch

regmap_register_patch can't be used to apply the probe sequence as a
patch is already registers with the regmap by
cs35l41_register_errata_patch

ALSA: hda: cs35l41: Avoid overwriting register patch

regmap_register_patch can't be used to apply the probe sequence as a
patch is already registers with the regmap by
cs35l41_register_errata_patch and only a single patch can be attached to
a single regmap. The driver doesn't currently rely on a cache sync to
re-apply this probe sequence so simply switch it to a multi write.

Fixes: 7b2f3eb492da ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-1-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


Revision tags: v5.15.15
# 10b1a5a9 11-Jan-2022 Dan Carpenter <dan.carpenter@oracle.com>

ALSA: hda: cs35l41: fix double free on error in probe()

If we encounter an error after the kfree(acpi_hw_cfg); then the goto
err; will result in a double free.

Fixes: 7b2f3eb492da ("ALSA: hda: cs35

ALSA: hda: cs35l41: fix double free on error in probe()

If we encounter an error after the kfree(acpi_hw_cfg); then the goto
err; will result in a double free.

Fixes: 7b2f3eb492da ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220111072232.GG11243@kili
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


Revision tags: v5.16
# 7b2f3eb4 17-Dec-2021 Lucas Tanure <tanureal@opensource.cirrus.com>

ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems

Add support for CS35L41 using a new separated driver
that can be used in all upcoming designs

Signed-off-by: Lucas Tanure <tanureal@openso

ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems

Add support for CS35L41 using a new separated driver
that can be used in all upcoming designs

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211217115708.882525-8-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

show more ...


123