Lines Matching refs:backlight

59 	hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max);  in clamp_user_to_hw()
60 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw()
71 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user()
80 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in intel_backlight_invert_pwm_level()
87 return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min; in intel_backlight_invert_pwm_level()
100 panel->backlight.pwm_funcs->set(conn_state, val); in intel_backlight_set_pwm_level()
109 panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0); in intel_backlight_level_to_pwm()
111 val = scale(val, panel->backlight.min, panel->backlight.max, in intel_backlight_level_to_pwm()
112 panel->backlight.pwm_level_min, panel->backlight.pwm_level_max); in intel_backlight_level_to_pwm()
123 panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0); in intel_backlight_level_from_pwm()
127 val = panel->backlight.pwm_level_max - (val - panel->backlight.pwm_level_min); in intel_backlight_level_from_pwm()
129 return scale(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max, in intel_backlight_level_from_pwm()
130 panel->backlight.min, panel->backlight.max); in intel_backlight_level_from_pwm()
157 if (panel->backlight.combination_mode) { in i9xx_get_backlight()
183 BXT_BLC_PWM_DUTY(panel->backlight.controller)); in bxt_get_backlight()
191 pwm_get_state(panel->backlight.pwm, &state); in ext_pwm_get_backlight()
221 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in i9xx_set_backlight()
223 if (panel->backlight.combination_mode) { in i9xx_set_backlight()
226 lbpc = level * 0xfe / panel->backlight.pwm_level_max + 1; in i9xx_set_backlight()
260 BXT_BLC_PWM_DUTY(panel->backlight.controller), level); in bxt_set_backlight()
267 pwm_set_relative_duty_cycle(&panel->backlight.pwm_state, level, 100); in ext_pwm_set_backlight()
268 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_set_backlight()
280 panel->backlight.funcs->set(conn_state, level); in intel_panel_actually_set_backlight()
300 if (!panel->backlight.present || !conn_state->crtc) in intel_backlight_set_acpi()
305 drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); in intel_backlight_set_acpi()
308 panel->backlight.level = hw_level; in intel_backlight_set_acpi()
310 if (panel->backlight.device) in intel_backlight_set_acpi()
311 panel->backlight.device->props.brightness = in intel_backlight_set_acpi()
313 panel->backlight.level, in intel_backlight_set_acpi()
314 panel->backlight.device->props.max_brightness); in intel_backlight_set_acpi()
316 if (panel->backlight.enabled) in intel_backlight_set_acpi()
405 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_disable_backlight()
406 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_disable_backlight()
409 if (panel->backlight.controller == 1) { in bxt_disable_backlight()
426 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_disable_backlight()
427 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_disable_backlight()
436 panel->backlight.pwm_state.enabled = false; in ext_pwm_disable_backlight()
437 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_disable_backlight()
446 if (!panel->backlight.present) in intel_backlight_disable()
463 if (panel->backlight.device) in intel_backlight_disable()
464 panel->backlight.device->props.power = FB_BLANK_POWERDOWN; in intel_backlight_disable()
465 panel->backlight.enabled = false; in intel_backlight_disable()
466 panel->backlight.funcs->disable(old_conn_state, 0); in intel_backlight_disable()
488 if (panel->backlight.alternate_pwm_increment) in lpt_enable_backlight()
495 if (panel->backlight.alternate_pwm_increment) in lpt_enable_backlight()
502 pch_ctl2 = panel->backlight.pwm_level_max << 16; in lpt_enable_backlight()
506 if (panel->backlight.active_low_pwm) in lpt_enable_backlight()
556 pch_ctl2 = panel->backlight.pwm_level_max << 16; in pch_enable_backlight()
560 if (panel->backlight.active_low_pwm) in pch_enable_backlight()
583 freq = panel->backlight.pwm_level_max; in i9xx_enable_backlight()
584 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
588 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
590 if (IS_PINEVIEW(dev_priv) && panel->backlight.active_low_pwm) in i9xx_enable_backlight()
624 freq = panel->backlight.pwm_level_max; in i965_enable_backlight()
625 if (panel->backlight.combination_mode) in i965_enable_backlight()
632 if (panel->backlight.combination_mode) in i965_enable_backlight()
634 if (panel->backlight.active_low_pwm) in i965_enable_backlight()
659 ctl = panel->backlight.pwm_level_max << 16; in vlv_enable_backlight()
666 if (panel->backlight.active_low_pwm) in vlv_enable_backlight()
684 if (panel->backlight.controller == 1) { in bxt_enable_backlight()
694 if (panel->backlight.util_pin_active_low) in bxt_enable_backlight()
701 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
706 BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
711 BXT_BLC_PWM_FREQ(panel->backlight.controller), in bxt_enable_backlight()
712 panel->backlight.pwm_level_max); in bxt_enable_backlight()
717 if (panel->backlight.active_low_pwm) in bxt_enable_backlight()
720 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
723 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
724 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
737 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_enable_backlight()
742 BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
747 BXT_BLC_PWM_FREQ(panel->backlight.controller), in cnp_enable_backlight()
748 panel->backlight.pwm_level_max); in cnp_enable_backlight()
753 if (panel->backlight.active_low_pwm) in cnp_enable_backlight()
756 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
759 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_enable_backlight()
760 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
770 pwm_set_relative_duty_cycle(&panel->backlight.pwm_state, level, 100); in ext_pwm_enable_backlight()
771 panel->backlight.pwm_state.enabled = true; in ext_pwm_enable_backlight()
772 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_enable_backlight()
781 WARN_ON(panel->backlight.max == 0); in __intel_backlight_enable()
783 if (panel->backlight.level <= panel->backlight.min) { in __intel_backlight_enable()
784 panel->backlight.level = panel->backlight.max; in __intel_backlight_enable()
785 if (panel->backlight.device) in __intel_backlight_enable()
786 panel->backlight.device->props.brightness = in __intel_backlight_enable()
788 panel->backlight.level, in __intel_backlight_enable()
789 panel->backlight.device->props.max_brightness); in __intel_backlight_enable()
792 panel->backlight.funcs->enable(crtc_state, conn_state, panel->backlight.level); in __intel_backlight_enable()
793 panel->backlight.enabled = true; in __intel_backlight_enable()
794 if (panel->backlight.device) in __intel_backlight_enable()
795 panel->backlight.device->props.power = FB_BLANK_UNBLANK; in __intel_backlight_enable()
806 if (!panel->backlight.present) in intel_backlight_enable()
827 if (panel->backlight.enabled) in intel_panel_get_backlight()
828 val = panel->backlight.funcs->get(connector, intel_connector_get_pipe(connector)); in intel_panel_get_backlight()
843 panel->backlight.min, panel->backlight.max); in scale_user_to_hw()
855 if (!panel->backlight.present) in intel_panel_set_backlight()
860 drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); in intel_panel_set_backlight()
863 panel->backlight.level = hw_level; in intel_panel_set_backlight()
865 if (panel->backlight.enabled) in intel_panel_set_backlight()
889 if (panel->backlight.enabled) { in intel_backlight_device_update_status()
890 if (panel->backlight.power) { in intel_backlight_device_update_status()
893 panel->backlight.power(connector, enable); in intel_backlight_device_update_status()
940 if (WARN_ON(panel->backlight.device)) in intel_backlight_device_register()
943 if (!panel->backlight.present) in intel_backlight_device_register()
946 WARN_ON(panel->backlight.max == 0); in intel_backlight_device_register()
955 props.max_brightness = panel->backlight.max; in intel_backlight_device_register()
957 panel->backlight.level, in intel_backlight_device_register()
960 if (panel->backlight.enabled) in intel_backlight_device_register()
998 panel->backlight.device = bd; in intel_backlight_device_register()
1014 if (panel->backlight.device) { in intel_backlight_device_unregister()
1015 backlight_device_unregister(panel->backlight.device); in intel_backlight_device_unregister()
1016 panel->backlight.device = NULL; in intel_backlight_device_unregister()
1051 if (panel->backlight.alternate_pwm_increment) in spt_hz_to_pwm()
1070 if (panel->backlight.alternate_pwm_increment) in lpt_hz_to_pwm()
1160 u16 pwm_freq_hz = dev_priv->vbt.backlight.pwm_freq_hz; in get_vbt_pwm_freq()
1183 if (!panel->backlight.pwm_funcs->hz_to_pwm) { in get_backlight_max_vbt()
1189 pwm = panel->backlight.pwm_funcs->hz_to_pwm(connector, pwm_freq_hz); in get_backlight_max_vbt()
1208 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in get_backlight_min_vbt()
1217 min = clamp_t(int, dev_priv->vbt.backlight.min_brightness, 0, 64); in get_backlight_min_vbt()
1218 if (min != dev_priv->vbt.backlight.min_brightness) { in get_backlight_min_vbt()
1221 dev_priv->vbt.backlight.min_brightness, min); in get_backlight_min_vbt()
1225 return scale(min, 0, 255, 0, panel->backlight.pwm_level_max); in get_backlight_min_vbt()
1239 panel->backlight.alternate_pwm_increment = alt; in lpt_setup_backlight()
1242 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in lpt_setup_backlight()
1245 panel->backlight.pwm_level_max = pch_ctl2 >> 16; in lpt_setup_backlight()
1249 if (!panel->backlight.pwm_level_max) in lpt_setup_backlight()
1250 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in lpt_setup_backlight()
1252 if (!panel->backlight.pwm_level_max) in lpt_setup_backlight()
1255 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in lpt_setup_backlight()
1257 panel->backlight.pwm_enabled = pch_ctl1 & BLM_PCH_PWM_ENABLE; in lpt_setup_backlight()
1259 cpu_mode = panel->backlight.pwm_enabled && HAS_PCH_LPT(dev_priv) && in lpt_setup_backlight()
1288 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in pch_setup_backlight()
1291 panel->backlight.pwm_level_max = pch_ctl2 >> 16; in pch_setup_backlight()
1293 if (!panel->backlight.pwm_level_max) in pch_setup_backlight()
1294 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in pch_setup_backlight()
1296 if (!panel->backlight.pwm_level_max) in pch_setup_backlight()
1299 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in pch_setup_backlight()
1302 panel->backlight.pwm_enabled = (cpu_ctl2 & BLM_PWM_ENABLE) && in pch_setup_backlight()
1317 panel->backlight.combination_mode = ctl & BLM_LEGACY_MODE; in i9xx_setup_backlight()
1320 panel->backlight.active_low_pwm = ctl & BLM_POLARITY_PNV; in i9xx_setup_backlight()
1322 panel->backlight.pwm_level_max = ctl >> 17; in i9xx_setup_backlight()
1324 if (!panel->backlight.pwm_level_max) { in i9xx_setup_backlight()
1325 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in i9xx_setup_backlight()
1326 panel->backlight.pwm_level_max >>= 1; in i9xx_setup_backlight()
1329 if (!panel->backlight.pwm_level_max) in i9xx_setup_backlight()
1332 if (panel->backlight.combination_mode) in i9xx_setup_backlight()
1333 panel->backlight.pwm_level_max *= 0xff; in i9xx_setup_backlight()
1335 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in i9xx_setup_backlight()
1339 val = clamp(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max); in i9xx_setup_backlight()
1341 panel->backlight.pwm_enabled = val != 0; in i9xx_setup_backlight()
1353 panel->backlight.combination_mode = ctl2 & BLM_COMBINATION_MODE; in i965_setup_backlight()
1354 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in i965_setup_backlight()
1357 panel->backlight.pwm_level_max = ctl >> 16; in i965_setup_backlight()
1359 if (!panel->backlight.pwm_level_max) in i965_setup_backlight()
1360 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in i965_setup_backlight()
1362 if (!panel->backlight.pwm_level_max) in i965_setup_backlight()
1365 if (panel->backlight.combination_mode) in i965_setup_backlight()
1366 panel->backlight.pwm_level_max *= 0xff; in i965_setup_backlight()
1368 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in i965_setup_backlight()
1370 panel->backlight.pwm_enabled = ctl2 & BLM_PWM_ENABLE; in i965_setup_backlight()
1385 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in vlv_setup_backlight()
1388 panel->backlight.pwm_level_max = ctl >> 16; in vlv_setup_backlight()
1390 if (!panel->backlight.pwm_level_max) in vlv_setup_backlight()
1391 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in vlv_setup_backlight()
1393 if (!panel->backlight.pwm_level_max) in vlv_setup_backlight()
1396 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in vlv_setup_backlight()
1398 panel->backlight.pwm_enabled = ctl2 & BLM_PWM_ENABLE; in vlv_setup_backlight()
1410 panel->backlight.controller = dev_priv->vbt.backlight.controller; in bxt_setup_backlight()
1413 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_setup_backlight()
1416 if (panel->backlight.controller == 1) { in bxt_setup_backlight()
1418 panel->backlight.util_pin_active_low = in bxt_setup_backlight()
1422 panel->backlight.active_low_pwm = pwm_ctl & BXT_BLC_PWM_POLARITY; in bxt_setup_backlight()
1423 panel->backlight.pwm_level_max = in bxt_setup_backlight()
1424 intel_de_read(dev_priv, BXT_BLC_PWM_FREQ(panel->backlight.controller)); in bxt_setup_backlight()
1426 if (!panel->backlight.pwm_level_max) in bxt_setup_backlight()
1427 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in bxt_setup_backlight()
1429 if (!panel->backlight.pwm_level_max) in bxt_setup_backlight()
1432 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in bxt_setup_backlight()
1434 panel->backlight.pwm_enabled = pwm_ctl & BXT_BLC_PWM_ENABLE; in bxt_setup_backlight()
1451 panel->backlight.controller = 0; in cnp_setup_backlight()
1454 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_setup_backlight()
1456 panel->backlight.active_low_pwm = pwm_ctl & BXT_BLC_PWM_POLARITY; in cnp_setup_backlight()
1457 panel->backlight.pwm_level_max = in cnp_setup_backlight()
1458 intel_de_read(dev_priv, BXT_BLC_PWM_FREQ(panel->backlight.controller)); in cnp_setup_backlight()
1460 if (!panel->backlight.pwm_level_max) in cnp_setup_backlight()
1461 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in cnp_setup_backlight()
1463 if (!panel->backlight.pwm_level_max) in cnp_setup_backlight()
1466 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in cnp_setup_backlight()
1468 panel->backlight.pwm_enabled = pwm_ctl & BXT_BLC_PWM_ENABLE; in cnp_setup_backlight()
1484 panel->backlight.pwm = pwm_get(dev->dev, "pwm_pmic_backlight"); in ext_pwm_setup_backlight()
1487 panel->backlight.pwm = pwm_get(dev->dev, "pwm_soc_backlight"); in ext_pwm_setup_backlight()
1491 if (IS_ERR(panel->backlight.pwm)) { in ext_pwm_setup_backlight()
1494 panel->backlight.pwm = NULL; in ext_pwm_setup_backlight()
1498 panel->backlight.pwm_level_max = 100; /* 100% */ in ext_pwm_setup_backlight()
1499 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in ext_pwm_setup_backlight()
1501 if (pwm_is_enabled(panel->backlight.pwm)) { in ext_pwm_setup_backlight()
1503 pwm_get_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_setup_backlight()
1505 level = pwm_get_relative_duty_cycle(&panel->backlight.pwm_state, in ext_pwm_setup_backlight()
1508 panel->backlight.pwm_enabled = true; in ext_pwm_setup_backlight()
1511 NSEC_PER_SEC / (unsigned long)panel->backlight.pwm_state.period, in ext_pwm_setup_backlight()
1515 panel->backlight.pwm_state.period = in ext_pwm_setup_backlight()
1529 panel->backlight.pwm_funcs->set(conn_state, in intel_pwm_set_backlight()
1538 panel->backlight.pwm_funcs->get(connector, pipe)); in intel_pwm_get_backlight()
1547 panel->backlight.pwm_funcs->enable(crtc_state, conn_state, in intel_pwm_enable_backlight()
1556 panel->backlight.pwm_funcs->disable(conn_state, in intel_pwm_disable_backlight()
1563 int ret = panel->backlight.pwm_funcs->setup(connector, pipe); in intel_pwm_setup_backlight()
1568 panel->backlight.min = panel->backlight.pwm_level_min; in intel_pwm_setup_backlight()
1569 panel->backlight.max = panel->backlight.pwm_level_max; in intel_pwm_setup_backlight()
1570 panel->backlight.level = intel_pwm_get_backlight(connector, pipe); in intel_pwm_setup_backlight()
1571 panel->backlight.enabled = panel->backlight.pwm_enabled; in intel_pwm_setup_backlight()
1585 if (!panel->backlight.present) in intel_backlight_update()
1589 if (!panel->backlight.enabled) in intel_backlight_update()
1601 if (!dev_priv->vbt.backlight.present) { in intel_backlight_setup()
1613 if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.funcs)) in intel_backlight_setup()
1618 ret = panel->backlight.funcs->setup(connector, pipe); in intel_backlight_setup()
1628 panel->backlight.present = true; in intel_backlight_setup()
1633 enableddisabled(panel->backlight.enabled), in intel_backlight_setup()
1634 panel->backlight.level, panel->backlight.max); in intel_backlight_setup()
1642 if (panel->backlight.pwm) in intel_backlight_destroy()
1643 pwm_put(panel->backlight.pwm); in intel_backlight_destroy()
1645 panel->backlight.present = false; in intel_backlight_destroy()
1748 panel->backlight.pwm_funcs = &bxt_pwm_funcs; in intel_backlight_init_funcs()
1750 panel->backlight.pwm_funcs = &cnp_pwm_funcs; in intel_backlight_init_funcs()
1753 panel->backlight.pwm_funcs = &lpt_pwm_funcs; in intel_backlight_init_funcs()
1755 panel->backlight.pwm_funcs = &spt_pwm_funcs; in intel_backlight_init_funcs()
1757 panel->backlight.pwm_funcs = &pch_pwm_funcs; in intel_backlight_init_funcs()
1760 panel->backlight.pwm_funcs = &ext_pwm_funcs; in intel_backlight_init_funcs()
1762 panel->backlight.pwm_funcs = &vlv_pwm_funcs; in intel_backlight_init_funcs()
1765 panel->backlight.pwm_funcs = &i965_pwm_funcs; in intel_backlight_init_funcs()
1767 panel->backlight.pwm_funcs = &i9xx_pwm_funcs; in intel_backlight_init_funcs()
1775 panel->backlight.funcs = &pwm_bl_funcs; in intel_backlight_init_funcs()