mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
ASoC: Intel: bytcr_rt5651: Add quirk for Chuwi Hi8 with generic DMI strings
Some Chuwi Hi8 tablets with model number CWI513 ship with a BIOS (American Megatrends 5.11, dated 05/21/2016) whose DMI sys_vendor and product_name are both "Default string". The tested unit is labelled just "Hi8", but its model number is the same as the existing "Chuwi Hi8 Pro (CWI513)" entry, and it needs the same quirks. That entry matches on sys_vendor "Hampoo" and product_name "X1D3_C806N", so it never applies to these units. Without its quirks the internal speaker, whose amplifier has a differential input wired across LOUT left and right, cancels to a faint distorted residual for any centred (L == R) content, and the headphone channels are swapped. Add an entry matching board_vendor "Hampoo" and board_name "Cherry Trail CR", plus the BIOS date since those two are too generic on their own. drivers/platform/x86/touchscreen_dmi.c already matches the Chuwi HiBook the same way. The quirks are those of the existing Hi8 Pro entry, except for the over-current detection scale factor: 1.0 instead of the 0.75 from BYT_RT5651_DEFAULT_QUIRKS. With 0.75 and a CTIA headset (inline mic and one button), loud speech into the mic, and headphone playback coupling onto the mic line, were reported as spurious KEY_PLAYPAUSE presses, one of them held for a whole 8 second speech window. With 1.0 the same test gave no spurious events, and 3 real button presses were reported as exactly 3 press/release pairs. Tested on a unit with the generic DMI strings, with a module built from this patch and no quirk module parameter. The quirks were applied via the new entry, the card components read "cfg-spk:1 cfg-mic:in2 cfg-hp:lrswap", and the following all work: speaker, headphone left/right order, jack and headset-mic detection, headset button, and the internal and headset mics. The problem was diagnosed with the help of an AI coding assistant, which also drafted this changelog. Assisted-by: Claude Opus 5.5 Signed-off-by: Jasper Firth <jasper.m.f@hotmail.com> Link: https://patch.msgid.link/20260925-hi8-quirk-v1-1-ffd00b0447f9@hotmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
fbb13f2483
commit
c5a8fc2abe
|
|
@ -410,6 +410,23 @@ static const struct dmi_system_id byt_rt5651_quirk_table[] = {
|
|||
BYT_RT5651_HP_LR_SWAPPED |
|
||||
BYT_RT5651_MONO_SPEAKER),
|
||||
},
|
||||
{
|
||||
/* Chuwi Hi8 (CWI513) with a BIOS using generic DMI strings */
|
||||
.callback = byt_rt5651_quirk_cb,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"),
|
||||
/* Above matches are too generic, add bios-date match */
|
||||
DMI_MATCH(DMI_BIOS_DATE, "05/21/2016"),
|
||||
},
|
||||
.driver_data = (void *)(BYT_RT5651_MCLK_EN |
|
||||
BYT_RT5651_JD1_1 |
|
||||
BYT_RT5651_OVCD_TH_2000UA |
|
||||
BYT_RT5651_OVCD_SF_1P0 |
|
||||
BYT_RT5651_IN2_MAP |
|
||||
BYT_RT5651_HP_LR_SWAPPED |
|
||||
BYT_RT5651_MONO_SPEAKER),
|
||||
},
|
||||
{
|
||||
/* Chuwi Vi8 Plus (CWI519) */
|
||||
.callback = byt_rt5651_quirk_cb,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user