Skip to content

Commit 232b41d

Browse files
antheasij-intel
authored andcommitted
platform/x86: oxpec: Fix turbo register for G1 AMD
Turns out that the AMD variant of the G1 uses different EC registers than the Intel variant. Differentiate them and apply the correct ones to the AMD variant. Fixes: b369395 ("platform/x86: oxpec: Add support for the OneXPlayer G1") Signed-off-by: Antheas Kapenekakis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Ilpo Järvinen <[email protected]> Signed-off-by: Ilpo Järvinen <[email protected]>
1 parent 2c402a8 commit 232b41d

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

drivers/platform/x86/oxpec.c

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ enum oxp_board {
5858
oxp_mini_amd_a07,
5959
oxp_mini_amd_pro,
6060
oxp_x1,
61-
oxp_g1,
61+
oxp_g1_i,
62+
oxp_g1_a,
6263
};
6364

6465
static enum oxp_board board;
@@ -247,14 +248,14 @@ static const struct dmi_system_id dmi_table[] = {
247248
DMI_MATCH(DMI_BOARD_VENDOR, "ONE-NETBOOK"),
248249
DMI_EXACT_MATCH(DMI_BOARD_NAME, "ONEXPLAYER G1 A"),
249250
},
250-
.driver_data = (void *)oxp_g1,
251+
.driver_data = (void *)oxp_g1_a,
251252
},
252253
{
253254
.matches = {
254255
DMI_MATCH(DMI_BOARD_VENDOR, "ONE-NETBOOK"),
255256
DMI_EXACT_MATCH(DMI_BOARD_NAME, "ONEXPLAYER G1 i"),
256257
},
257-
.driver_data = (void *)oxp_g1,
258+
.driver_data = (void *)oxp_g1_i,
258259
},
259260
{
260261
.matches = {
@@ -352,7 +353,8 @@ static umode_t tt_toggle_is_visible(struct kobject *kobj,
352353
case oxp_mini_amd_a07:
353354
case oxp_mini_amd_pro:
354355
case oxp_x1:
355-
case oxp_g1:
356+
case oxp_g1_i:
357+
case oxp_g1_a:
356358
return attr->mode;
357359
default:
358360
break;
@@ -381,12 +383,13 @@ static ssize_t tt_toggle_store(struct device *dev,
381383
case aok_zoe_a1:
382384
case oxp_fly:
383385
case oxp_mini_amd_pro:
386+
case oxp_g1_a:
384387
reg = OXP_TURBO_SWITCH_REG;
385388
mask = OXP_TURBO_TAKE_VAL;
386389
break;
387390
case oxp_2:
388391
case oxp_x1:
389-
case oxp_g1:
392+
case oxp_g1_i:
390393
reg = OXP_2_TURBO_SWITCH_REG;
391394
mask = OXP_TURBO_TAKE_VAL;
392395
break;
@@ -426,12 +429,13 @@ static ssize_t tt_toggle_show(struct device *dev,
426429
case aok_zoe_a1:
427430
case oxp_fly:
428431
case oxp_mini_amd_pro:
432+
case oxp_g1_a:
429433
reg = OXP_TURBO_SWITCH_REG;
430434
mask = OXP_TURBO_TAKE_VAL;
431435
break;
432436
case oxp_2:
433437
case oxp_x1:
434-
case oxp_g1:
438+
case oxp_g1_i:
435439
reg = OXP_2_TURBO_SWITCH_REG;
436440
mask = OXP_TURBO_TAKE_VAL;
437441
break;
@@ -520,7 +524,8 @@ static bool oxp_psy_ext_supported(void)
520524
{
521525
switch (board) {
522526
case oxp_x1:
523-
case oxp_g1:
527+
case oxp_g1_i:
528+
case oxp_g1_a:
524529
case oxp_fly:
525530
return true;
526531
default:
@@ -659,7 +664,8 @@ static int oxp_pwm_enable(void)
659664
case oxp_mini_amd_a07:
660665
case oxp_mini_amd_pro:
661666
case oxp_x1:
662-
case oxp_g1:
667+
case oxp_g1_i:
668+
case oxp_g1_a:
663669
return write_to_ec(OXP_SENSOR_PWM_ENABLE_REG, PWM_MODE_MANUAL);
664670
default:
665671
return -EINVAL;
@@ -686,7 +692,8 @@ static int oxp_pwm_disable(void)
686692
case oxp_mini_amd_a07:
687693
case oxp_mini_amd_pro:
688694
case oxp_x1:
689-
case oxp_g1:
695+
case oxp_g1_i:
696+
case oxp_g1_a:
690697
return write_to_ec(OXP_SENSOR_PWM_ENABLE_REG, PWM_MODE_AUTO);
691698
default:
692699
return -EINVAL;
@@ -713,7 +720,8 @@ static int oxp_pwm_read(long *val)
713720
case oxp_mini_amd_a07:
714721
case oxp_mini_amd_pro:
715722
case oxp_x1:
716-
case oxp_g1:
723+
case oxp_g1_i:
724+
case oxp_g1_a:
717725
return read_from_ec(OXP_SENSOR_PWM_ENABLE_REG, 1, val);
718726
default:
719727
return -EOPNOTSUPP;
@@ -742,7 +750,7 @@ static int oxp_pwm_fan_speed(long *val)
742750
return read_from_ec(ORANGEPI_SENSOR_FAN_REG, 2, val);
743751
case oxp_2:
744752
case oxp_x1:
745-
case oxp_g1:
753+
case oxp_g1_i:
746754
return read_from_ec(OXP_2_SENSOR_FAN_REG, 2, val);
747755
case aok_zoe_a1:
748756
case aya_neo_2:
@@ -757,6 +765,7 @@ static int oxp_pwm_fan_speed(long *val)
757765
case oxp_mini_amd:
758766
case oxp_mini_amd_a07:
759767
case oxp_mini_amd_pro:
768+
case oxp_g1_a:
760769
return read_from_ec(OXP_SENSOR_FAN_REG, 2, val);
761770
default:
762771
return -EOPNOTSUPP;
@@ -776,7 +785,7 @@ static int oxp_pwm_input_write(long val)
776785
return write_to_ec(ORANGEPI_SENSOR_PWM_REG, val);
777786
case oxp_2:
778787
case oxp_x1:
779-
case oxp_g1:
788+
case oxp_g1_i:
780789
/* scale to range [0-184] */
781790
val = (val * 184) / 255;
782791
return write_to_ec(OXP_SENSOR_PWM_REG, val);
@@ -796,6 +805,7 @@ static int oxp_pwm_input_write(long val)
796805
case aok_zoe_a1:
797806
case oxp_fly:
798807
case oxp_mini_amd_pro:
808+
case oxp_g1_a:
799809
return write_to_ec(OXP_SENSOR_PWM_REG, val);
800810
default:
801811
return -EOPNOTSUPP;
@@ -816,7 +826,7 @@ static int oxp_pwm_input_read(long *val)
816826
break;
817827
case oxp_2:
818828
case oxp_x1:
819-
case oxp_g1:
829+
case oxp_g1_i:
820830
ret = read_from_ec(OXP_SENSOR_PWM_REG, 1, val);
821831
if (ret)
822832
return ret;
@@ -842,6 +852,7 @@ static int oxp_pwm_input_read(long *val)
842852
case aok_zoe_a1:
843853
case oxp_fly:
844854
case oxp_mini_amd_pro:
855+
case oxp_g1_a:
845856
default:
846857
ret = read_from_ec(OXP_SENSOR_PWM_REG, 1, val);
847858
if (ret)

0 commit comments

Comments
 (0)