Add more WMBB debugging

This commit is contained in:
Jeremy Soller 2018-03-09 21:28:49 -07:00
parent 7994d6ab1f
commit 94fd181572
2 changed files with 77 additions and 48 deletions

View File

@ -197,11 +197,23 @@ static struct device_attribute kb_led_color_extra_dev_attr = {
.store = kb_led_color_extra_store,
};
static void kb_led_enable(void) {
S76_INFO("kb_led_enable\n");
s76_wmbb(SET_KB_LED, 0xE007F001, NULL);
}
static void kb_led_disable(void) {
S76_INFO("kb_led_disable\n");
s76_wmbb(SET_KB_LED, 0xE0003001, NULL);
}
static void kb_led_suspend(void) {
S76_INFO("kb_led_suspend\n");
// Disable keyboard backlight
s76_wmbb(SET_KB_LED, 0xE0003001, NULL);
kb_led_disable();
}
static void kb_led_resume(void) {
@ -210,24 +222,24 @@ static void kb_led_resume(void) {
S76_INFO("kb_led_resume\n");
// Disable keyboard backlight
s76_wmbb(SET_KB_LED, 0xE0003001, NULL);
kb_led_disable();
msleep(1000);
//msleep(1000);
// Reset current color
for (region = 0; region < sizeof(kb_led_regions)/sizeof(union kb_led_color); region++) {
kb_led_color_set(region, kb_led_regions[region]);
}
msleep(1000);
//msleep(1000);
// Reset current brightness
kb_led_set(&kb_led, kb_led_brightness);
msleep(1000);
//msleep(1000);
// Enable keyboard backlight
s76_wmbb(SET_KB_LED, 0xE007F001, NULL);
kb_led_enable();
}
static int __init kb_led_init(struct device *dev) {

View File

@ -101,48 +101,66 @@ static void s76_debug_wmi(void) {
u32 val = 0;
#define DEBUG_WMI(N, V) { \
#define DEBUG_WMI(V, N) { \
s76_wmbb(V, 0, &val); \
S76_INFO("%s %x = %x\n", N, V, val); \
S76_INFO("%x %s = %x\n", V, #N, val); \
}
DEBUG_WMI("?", 0x01);
DEBUG_WMI("A2", 0x05);
DEBUG_WMI("Webcam", 0x06);
DEBUG_WMI("Bluetooth", 0x07);
DEBUG_WMI("Touchpad", 0x09);
DEBUG_WMI("A4", 0x0A);
DEBUG_WMI("?", 0x10);
DEBUG_WMI("A7", 0x11);
DEBUG_WMI("?", 0x12);
DEBUG_WMI("?", 0x32);
DEBUG_WMI("?", 0x33);
DEBUG_WMI("?", 0x34);
DEBUG_WMI("?", 0x38);
DEBUG_WMI("?", 0x39);
DEBUG_WMI("?", 0x3B);
DEBUG_WMI("?", 0x3C);
DEBUG_WMI("Keyboard Backlight", 0x3D);
DEBUG_WMI("?", 0x3F);
DEBUG_WMI("?", 0x40);
DEBUG_WMI("?", 0x41);
DEBUG_WMI("?", 0x42);
DEBUG_WMI("?", 0x43);
DEBUG_WMI("?", 0x44);
DEBUG_WMI("?", 0x45);
DEBUG_WMI("?", 0x51);
DEBUG_WMI("?", 0x52);
DEBUG_WMI("VGA", 0x54);
DEBUG_WMI("?", 0x62);
DEBUG_WMI("?", 0x63);
DEBUG_WMI("?", 0x64);
DEBUG_WMI("?", 0x6E);
DEBUG_WMI("?", 0x6F);
DEBUG_WMI("?", 0x70);
DEBUG_WMI("?", 0x71);
DEBUG_WMI("?", 0x73);
DEBUG_WMI("?", 0x77);
DEBUG_WMI("?", 0x7A);
DEBUG_WMI(1, GetEvent)
DEBUG_WMI(5, GetRadioStateForWirless)
DEBUG_WMI(6, GetPowerStateForCamera)
DEBUG_WMI(7, GetPowerStateForBluetooth)
DEBUG_WMI(8, GetSRSState)
DEBUG_WMI(9, GetTouchPadState)
DEBUG_WMI(10, GetPowerStateFor3G)
DEBUG_WMI(11, GetPowerStateForODD)
DEBUG_WMI(12, GetECLiveInfo)
DEBUG_WMI(13, PackageReadEC)
DEBUG_WMI(15, GetVGA2tempThermalIC)
DEBUG_WMI(16, GetCPUPerformance)
DEBUG_WMI(17, GetCPUFANControl)
DEBUG_WMI(18, GetXMP)
DEBUG_WMI(50, GetBatteryDesignCpacity)
DEBUG_WMI(51, GetBatteryAverageTimeToFullCharge)
DEBUG_WMI(52, GetBatteryAverageTimeToEmpty)
DEBUG_WMI(53, GetCPUFANDuty)
DEBUG_WMI(54, GetVGA1FANDuty)
DEBUG_WMI(55, GetVGA2FANDuty)
DEBUG_WMI(56, GetFANCount)
DEBUG_WMI(57, GetBoardId)
DEBUG_WMI(58, GetOem1)
DEBUG_WMI(59, GetLCDResolution)
DEBUG_WMI(60, GetHDMIport)
DEBUG_WMI(61, GetWhiteLedKB)
DEBUG_WMI(62, GetGSensorMode)
DEBUG_WMI(63, GetHDPollingTime)
DEBUG_WMI(64, GetRFID)
DEBUG_WMI(66, GetBarCode)
DEBUG_WMI(67, GetBIOS_SF)
DEBUG_WMI(68, GetVolumeLED)
DEBUG_WMI(69, GetCurrentBrightness)
DEBUG_WMI(70, GetAP)
DEBUG_WMI(71, SetFactoryMode)
DEBUG_WMI(72, OS_S3_S4)
DEBUG_WMI(74, RapidStarMode)
DEBUG_WMI(80, GetACmA)
DEBUG_WMI(81, GetDCmAmV)
DEBUG_WMI(82, BIOS_special_feature_list)
DEBUG_WMI(83, GetLux)
DEBUG_WMI(84, Aero)
DEBUG_WMI(96, GetTP_SW)
DEBUG_WMI(97, GetFanStatus)
DEBUG_WMI(98, RapidStar)
DEBUG_WMI(99, Fan1Info)
DEBUG_WMI(100, Fan2Info)
DEBUG_WMI(109, AirplaneButton)
DEBUG_WMI(110, Fan3Info)
DEBUG_WMI(111, Fan4Info)
DEBUG_WMI(112, GetFan12RPM)
DEBUG_WMI(113, GetFan34RPM)
DEBUG_WMI(115, GetH2RAMData)
DEBUG_WMI(119, GetChargingStatus)
DEBUG_WMI(122, BiosSpecialFeature)
}
static void s76_wmi_notify(u32 value, void *context) {
@ -171,11 +189,10 @@ static void s76_wmi_notify(u32 value, void *context) {
kb_led_suspend();
break;
case 0x95:
//s76_debug_wmi();
kb_led_resume();
s76_debug_wmi();
break;
case 0x9F:
kb_wmi_toggle();
//TODO: Fn+Backspace
break;
case 0xF4:
s76_input_airplane_wmi();