#
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 ...
|