Stefan Binding
1ff954f9ab
ALSA: hda/cs8409: Support new Dolphin Variants
...
Add 4 new Dolphin Systems, same configuration as older systems.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220816151901.1398007-1-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-08-17 11:34:25 +02:00
Tom Rix
65123b8998
ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static
...
sparse reports
sound/pci/hda/patch_cs8409-tables.c:79:25: warning: symbol 'cs8409_cs42l42_pincfgs_no_dmic' was not declared. Should it be static?
cs8409_cs42l42_pincfgs_no_dmic is only used by cs8409_fixups table as an
initializer for the hda_fixup element v.pins. Both are defined in the
patch_cs8408-table.c file but only cs8409_fixups is used externally in
patch_cs8409.c. So cs8409_cs42l42_pincfgs_no_dmic should have a static
storage class specifier.
The other v.pins initializers in cs8409_fixups table, though declared
extern in patch_cs8409.h are also only used in patch_cs8409-tables.c.
So change all the v.pins initializers to static.
Fixes: 9e7647b507
("ALSA: hda/cs8409: Move arrays of configuration to a new file")
Signed-off-by: Tom Rix <trix@redhat.com >
Link: https://lore.kernel.org/r/20220704142836.636204-1-trix@redhat.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-07-05 09:45:21 +02:00
Stefan Binding
22bb82264c
ALSA: hda/cs8409: Support new Odin Variants
...
Odin Variants have the internal mic connected
directly to the CPU rather than codec.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220511100207.1268321-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-05-12 11:52:34 +02:00
Stefan Binding
ec6a8aaafb
ALSA: hda/cs8409: Support manual mode detection for CS42L42
...
For Jack detection on CS42L42, detection is normally done using
"auto" mode, which automatically detects what type of jack is
connected to the device. However, some headsets are not
automatically detected, and as such and alternative detection
method "manual mode" can be used to detect these headsets.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Tested-by: Chris Chiu <chris.chiu@canonical.com >
Link: https://lore.kernel.org/r/20220504161236.2490532-4-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-05-09 10:46:14 +02:00
Stefan Binding
9cd8273813
ALSA: hda/cs8409: Use general cs42l42 include in cs8409 hda driver
...
This is to improve maintainability of the driver.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220504161236.2490532-3-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-05-09 10:45:07 +02:00
Vitaly Rodionov
5e2baa04e4
ALSA: hda/cs8409: Add new Dolphin HW variants
...
Add 5 new Dolphin Systems, same configuration as older systems.
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220328115614.15761-7-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-03-28 18:33:20 +02:00
Stefan Binding
6581a045d5
ALSA: hda/cs8409: Support new Warlock MLK Variants
...
Added 15 new laptops, with 2 variants:
Warlock MLK and Warlock MLK with Dual Mic
The only difference between the variants, is the
the dual Mic variants use a stereo DMIC.
These variants do no use reduce volume (Full Scale Volume)
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220328115614.15761-5-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-03-28 18:32:36 +02:00
Stefan Binding
bdc159dfda
ALSA: hda/cs8409: Re-order quirk table into ascending order
...
To ensure consistency, the quirk table should be re-ordered
in ascending order
[ a typo fix in the patch description by tiwai ]
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220328115614.15761-3-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-03-28 18:31:41 +02:00
Stefan Binding
2a1355f0bf
ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409
...
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20220120105618.249144-1-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-01-20 14:32:26 +01:00
Christian A. Ehrhardt
57f234248f
ALSA: hda/cs8409: Fix Jack detection after resume
...
The suspend code unconditionally sets ->hp_jack_in and ->mic_jack_in
to zero but without reporting this status change to the HDA core.
To compensate for this, always assume a status change on the
first unsol event after boot or resume.
Fixes: 424e531b47
("ALSA: hda/cs8409: Ensure Type Detection is only run on startup when necessary")
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de >
Link: https://lore.kernel.org/r/20211231134432.atwmuzeceqiklcoa@cae.in-ulm.de
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2022-01-04 17:05:50 +01:00
Stefan Binding
7482ec7111
ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops
...
Codec is muted on init, and then unmuted when the stream starts.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-28-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:42:01 +02:00
Stefan Binding
fed0aaca0b
ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42
...
CS42L42 is configured to use a fixed sample rate of 48kHz.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-24-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:57 +02:00
Stefan Binding
e4e6c584f5
ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin
...
Headphones codec will keep reduced maximum volume.
Line Out codec will have increased maximum volume.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-23-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:57 +02:00
Lucas Tanure
20e5077241
ALSA: hda/cs8409: Add support for dolphin
...
Dolphin devices have CS8409 HDA Bridge connected to two CS42L42 codecs.
Codec 1 supports Headphone and Headset Mic.
Codec 2 supports Line Out.
Features:
- Front and Read Jacks appear as separate jacks; Removal or connection
of on jack should not affect the connection of the other.
- Front Jack only shows up on jack detection.
- Rear Jack is Phantom Jack.
- Separate Volume Controls for each Jack
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-22-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:55 +02:00
Stefan Binding
404e770a9c
ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42
...
Some hardware configurations do not support jack type detection.
Instead, for those configurations, only tip detection is supported.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-21-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:54 +02:00
Lucas Tanure
24f7ac3d3b
ALSA: hda/cs8409: Move codec properties to its own struct
...
To accommodate move, cs42l42_resume has been added to mirror
the existing function cs42l42_suspend.
Function cs42l42_reset is no longer required, since cs42l42_resume
and cs42l42_suspend perform the same operations.
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-19-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:53 +02:00
Lucas Tanure
636eb9d26f
ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions
...
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-18-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:51 +02:00
Lucas Tanure
165b81c4ac
ALSA: hda/cs8409: Support i2c bulk read/write functions
...
This allows mutex locks to be moved into i2c functions, as
the bulk read/write functions can lock/unlock themselves to
prevent interruption of sequence reads/writes.
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-17-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:50 +02:00
Lucas Tanure
b2a887748e
ALSA: hda/cs8409: Generalize volume controls
...
Use amp offsets as indexes for saved volumes.
Remove dependencies on NID inside volume control functions.
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-13-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:47 +02:00
Stefan Binding
1f03db6865
ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye
...
Also remove unnecessary repeated register writes.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-7-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:43 +02:00
Stefan Binding
cab82a222f
ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization
...
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-5-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:41 +02:00
Stefan Binding
ccff0064a7
ALSA: hda/cs8409: Use enums for register names and coefficients
...
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-4-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:40 +02:00
Lucas Tanure
9e7647b507
ALSA: hda/cs8409: Move arrays of configuration to a new file
...
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com >
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20210811185654.6837-3-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2021-08-12 13:41:39 +02:00