intel_get_backlight_register
uint32_t period = read32(intel_get_backlight_register(true));
write32(intel_get_backlight_register(false), duty);
uint32_t period = read32(intel_get_backlight_register(true)) >> 16;
write32(intel_get_backlight_register(false), duty | (period << 16));
uint32 tmp = read32(intel_get_backlight_register(true));
write32(intel_get_backlight_register(false), (duty & mask) | (tmp & ~mask));
period = read32(intel_get_backlight_register(true));
duty = read32(intel_get_backlight_register(false));
uint32 tmp = read32(intel_get_backlight_register(true));
duty = read32(intel_get_backlight_register(false)) & 0xffff;