ALSA: hda: tas2781: reorder tas2563 calibration variables
authorGergo Koteles <soyer@irl.hu>
Fri, 29 Aug 2025 16:04:50 +0000 (18:04 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sat, 30 Aug 2025 07:41:33 +0000 (09:41 +0200)
The tasdev_load_calibrated_data() function expects the calibration data
values in the cali_data buffer as R0, R0Low, InvR0, Power, TLim which
is not the same as what tas2563_save_calibration() writes to the buffer.

Reorder the EFI variables in the tas2563_save_calibration() function
to put the values in the buffer in the correct order.

Fixes: 4fe238513407 ("ALSA: hda/tas2781: Move and unified the calibrated-data getting function for SPI and I2C into the tas2781_hda lib")
Cc: <stable@vger.kernel.org>
Signed-off-by: Gergo Koteles <soyer@irl.hu>
Link: https://patch.msgid.link/20250829160450.66623-2-soyer@irl.hu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c

index 46a43f0352aa1a8ea0cb59cc1794ea9aac33d147..45a70fbf620537ff54826310819ada5cc8610d7e 100644 (file)
@@ -300,7 +300,7 @@ static int tas2563_save_calibration(struct tas2781_hda *h)
 {
        efi_guid_t efi_guid = tasdev_fct_efi_guid[LENOVO];
        char *vars[TASDEV_CALIB_N] = {
-               "R0_%d", "InvR0_%d", "R0_Low_%d", "Power_%d", "TLim_%d"
+               "R0_%d", "R0_Low_%d", "InvR0_%d", "Power_%d", "TLim_%d"
        };
        efi_char16_t efi_name[TAS2563_CAL_VAR_NAME_MAX];
        unsigned long max_size = TAS2563_CAL_DATA_SIZE;