Lines Matching full:backlight
499 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw()
500 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw()
511 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user()
520 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in intel_panel_invert_pwm_level()
527 return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min; in intel_panel_invert_pwm_level()
539 drm_dbg_kms(&i915->drm, "set backlight PWM = %d\n", val); in intel_panel_set_pwm_level()
540 panel->backlight.pwm_funcs->set(conn_state, val); in intel_panel_set_pwm_level()
549 panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0); in intel_panel_backlight_level_to_pwm()
551 val = scale(val, panel->backlight.min, panel->backlight.max, in intel_panel_backlight_level_to_pwm()
552 panel->backlight.pwm_level_min, panel->backlight.pwm_level_max); in intel_panel_backlight_level_to_pwm()
563 panel->backlight.max == 0 || panel->backlight.pwm_level_max == 0); in intel_panel_backlight_level_from_pwm()
567 val = panel->backlight.pwm_level_max - (val - panel->backlight.pwm_level_min); in intel_panel_backlight_level_from_pwm()
569 return scale(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max, in intel_panel_backlight_level_from_pwm()
570 panel->backlight.min, panel->backlight.max); in intel_panel_backlight_level_from_pwm()
597 if (panel->backlight.combination_mode) { in i9xx_get_backlight()
623 BXT_BLC_PWM_DUTY(panel->backlight.controller)); in bxt_get_backlight()
631 pwm_get_state(panel->backlight.pwm, &state); in ext_pwm_get_backlight()
661 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in i9xx_set_backlight()
663 if (panel->backlight.combination_mode) { in i9xx_set_backlight()
666 lbpc = level * 0xfe / panel->backlight.pwm_level_max + 1; in i9xx_set_backlight()
700 BXT_BLC_PWM_DUTY(panel->backlight.controller), level); in bxt_set_backlight()
707 pwm_set_relative_duty_cycle(&panel->backlight.pwm_state, level, 100); in ext_pwm_set_backlight()
708 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_set_backlight()
718 drm_dbg_kms(&i915->drm, "set backlight level = %d\n", level); in intel_panel_actually_set_backlight()
720 panel->backlight.funcs->set(conn_state, level); in intel_panel_actually_set_backlight()
723 /* set backlight brightness to level in range [0..max], assuming hw min is
736 * connection_mutex isn't held across the entire backlight in intel_panel_set_backlight_acpi()
740 if (!panel->backlight.present || !conn_state->crtc) in intel_panel_set_backlight_acpi()
745 drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); in intel_panel_set_backlight_acpi()
748 panel->backlight.level = hw_level; in intel_panel_set_backlight_acpi()
750 if (panel->backlight.device) in intel_panel_set_backlight_acpi()
751 panel->backlight.device->props.brightness = in intel_panel_set_backlight_acpi()
753 panel->backlight.level, in intel_panel_set_backlight_acpi()
754 panel->backlight.device->props.max_brightness); in intel_panel_set_backlight_acpi()
756 if (panel->backlight.enabled) in intel_panel_set_backlight_acpi()
781 "cpu backlight was enabled, disabling\n"); in lpt_disable_backlight()
845 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_disable_backlight()
846 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_disable_backlight()
849 if (panel->backlight.controller == 1) { in bxt_disable_backlight()
866 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_disable_backlight()
867 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_disable_backlight()
876 panel->backlight.pwm_state.enabled = false; in ext_pwm_disable_backlight()
877 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_disable_backlight()
886 if (!panel->backlight.present) in intel_panel_disable_backlight()
890 * Do not disable backlight on the vga_switcheroo path. When switching in intel_panel_disable_backlight()
892 * backlight. This will leave the backlight on unnecessarily when in intel_panel_disable_backlight()
897 "Skipping backlight disable on vga switch\n"); in intel_panel_disable_backlight()
903 if (panel->backlight.device) in intel_panel_disable_backlight()
904 panel->backlight.device->props.power = FB_BLANK_POWERDOWN; in intel_panel_disable_backlight()
905 panel->backlight.enabled = false; in intel_panel_disable_backlight()
906 panel->backlight.funcs->disable(old_conn_state, 0); in intel_panel_disable_backlight()
921 drm_dbg_kms(&dev_priv->drm, "pch backlight already enabled\n"); in lpt_enable_backlight()
928 if (panel->backlight.alternate_pwm_increment) in lpt_enable_backlight()
935 if (panel->backlight.alternate_pwm_increment) in lpt_enable_backlight()
942 pch_ctl2 = panel->backlight.pwm_level_max << 16; in lpt_enable_backlight()
946 if (panel->backlight.active_low_pwm) in lpt_enable_backlight()
973 drm_dbg_kms(&dev_priv->drm, "cpu backlight already enabled\n"); in pch_enable_backlight()
980 drm_dbg_kms(&dev_priv->drm, "pch backlight already enabled\n"); in pch_enable_backlight()
996 pch_ctl2 = panel->backlight.pwm_level_max << 16; in pch_enable_backlight()
1000 if (panel->backlight.active_low_pwm) in pch_enable_backlight()
1019 drm_dbg_kms(&dev_priv->drm, "backlight already enabled\n"); in i9xx_enable_backlight()
1023 freq = panel->backlight.pwm_level_max; in i9xx_enable_backlight()
1024 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
1028 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
1030 if (IS_PINEVIEW(dev_priv) && panel->backlight.active_low_pwm) in i9xx_enable_backlight()
1040 * Needed to enable backlight on some 855gm models. BLC_HIST_CTL is in i9xx_enable_backlight()
1042 * that has backlight. in i9xx_enable_backlight()
1059 drm_dbg_kms(&dev_priv->drm, "backlight already enabled\n"); in i965_enable_backlight()
1064 freq = panel->backlight.pwm_level_max; in i965_enable_backlight()
1065 if (panel->backlight.combination_mode) in i965_enable_backlight()
1072 if (panel->backlight.combination_mode) in i965_enable_backlight()
1074 if (panel->backlight.active_low_pwm) in i965_enable_backlight()
1094 drm_dbg_kms(&dev_priv->drm, "backlight already enabled\n"); in vlv_enable_backlight()
1099 ctl = panel->backlight.pwm_level_max << 16; in vlv_enable_backlight()
1106 if (panel->backlight.active_low_pwm) in vlv_enable_backlight()
1124 if (panel->backlight.controller == 1) { in bxt_enable_backlight()
1134 if (panel->backlight.util_pin_active_low) in bxt_enable_backlight()
1141 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
1143 drm_dbg_kms(&dev_priv->drm, "backlight already enabled\n"); in bxt_enable_backlight()
1146 BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
1151 BXT_BLC_PWM_FREQ(panel->backlight.controller), in bxt_enable_backlight()
1152 panel->backlight.pwm_level_max); in bxt_enable_backlight()
1157 if (panel->backlight.active_low_pwm) in bxt_enable_backlight()
1160 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
1163 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
1164 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
1177 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_enable_backlight()
1179 drm_dbg_kms(&dev_priv->drm, "backlight already enabled\n"); in cnp_enable_backlight()
1182 BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
1187 BXT_BLC_PWM_FREQ(panel->backlight.controller), in cnp_enable_backlight()
1188 panel->backlight.pwm_level_max); in cnp_enable_backlight()
1193 if (panel->backlight.active_low_pwm) in cnp_enable_backlight()
1196 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
1199 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_enable_backlight()
1200 intel_de_write(dev_priv, BXT_BLC_PWM_CTL(panel->backlight.controller), in cnp_enable_backlight()
1210 pwm_set_relative_duty_cycle(&panel->backlight.pwm_state, level, 100); in ext_pwm_enable_backlight()
1211 panel->backlight.pwm_state.enabled = true; in ext_pwm_enable_backlight()
1212 pwm_apply_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_enable_backlight()
1221 WARN_ON(panel->backlight.max == 0); in __intel_panel_enable_backlight()
1223 if (panel->backlight.level <= panel->backlight.min) { in __intel_panel_enable_backlight()
1224 panel->backlight.level = panel->backlight.max; in __intel_panel_enable_backlight()
1225 if (panel->backlight.device) in __intel_panel_enable_backlight()
1226 panel->backlight.device->props.brightness = in __intel_panel_enable_backlight()
1228 panel->backlight.level, in __intel_panel_enable_backlight()
1229 panel->backlight.device->props.max_brightness); in __intel_panel_enable_backlight()
1232 panel->backlight.funcs->enable(crtc_state, conn_state, panel->backlight.level); in __intel_panel_enable_backlight()
1233 panel->backlight.enabled = true; in __intel_panel_enable_backlight()
1234 if (panel->backlight.device) in __intel_panel_enable_backlight()
1235 panel->backlight.device->props.power = FB_BLANK_UNBLANK; in __intel_panel_enable_backlight()
1246 if (!panel->backlight.present) in intel_panel_enable_backlight()
1267 if (panel->backlight.enabled) in intel_panel_get_backlight()
1268 val = panel->backlight.funcs->get(connector, intel_connector_get_pipe(connector)); in intel_panel_get_backlight()
1272 drm_dbg_kms(&dev_priv->drm, "get backlight PWM = %d\n", val); in intel_panel_get_backlight()
1283 panel->backlight.min, panel->backlight.max); in scale_user_to_hw()
1286 /* set backlight brightness to level in range [0..max], scaling wrt hw min */
1295 if (!panel->backlight.present) in intel_panel_set_backlight()
1300 drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); in intel_panel_set_backlight()
1303 panel->backlight.level = hw_level; in intel_panel_set_backlight()
1305 if (panel->backlight.enabled) in intel_panel_set_backlight()
1325 * backlight class device does not make it easy to to differentiate in intel_backlight_device_update_status()
1329 if (panel->backlight.enabled) { in intel_backlight_device_update_status()
1330 if (panel->backlight.power) { in intel_backlight_device_update_status()
1333 panel->backlight.power(connector, enable); in intel_backlight_device_update_status()
1380 if (WARN_ON(panel->backlight.device)) in intel_backlight_device_register()
1383 if (!panel->backlight.present) in intel_backlight_device_register()
1386 WARN_ON(panel->backlight.max == 0); in intel_backlight_device_register()
1392 * Note: Everything should work even if the backlight device max in intel_backlight_device_register()
1395 props.max_brightness = panel->backlight.max; in intel_backlight_device_register()
1397 panel->backlight.level, in intel_backlight_device_register()
1400 if (panel->backlight.enabled) in intel_backlight_device_register()
1414 * prevents registration of multiple backlight devices in the in intel_backlight_device_register()
1416 * compatibility. Use unique names for subsequent backlight devices as a in intel_backlight_device_register()
1421 name = kasprintf(GFP_KERNEL, "card%d-%s-backlight", in intel_backlight_device_register()
1432 "[CONNECTOR:%d:%s] backlight device %s register failed: %ld\n", in intel_backlight_device_register()
1438 panel->backlight.device = bd; in intel_backlight_device_register()
1441 "[CONNECTOR:%d:%s] backlight device %s registered\n", in intel_backlight_device_register()
1454 if (panel->backlight.device) { in intel_backlight_device_unregister()
1455 backlight_device_unregister(panel->backlight.device); in intel_backlight_device_unregister()
1456 panel->backlight.device = NULL; in intel_backlight_device_unregister()
1491 if (panel->backlight.alternate_pwm_increment) in spt_hz_to_pwm()
1510 if (panel->backlight.alternate_pwm_increment) in lpt_hz_to_pwm()
1537 * clock frequency/32) in total for a complete cycle of modulated backlight
1600 u16 pwm_freq_hz = dev_priv->vbt.backlight.pwm_freq_hz; in get_vbt_pwm_freq()
1604 "VBT defined backlight frequency %u Hz\n", in get_vbt_pwm_freq()
1609 "default backlight frequency %u Hz\n", in get_vbt_pwm_freq()
1623 if (!panel->backlight.pwm_funcs->hz_to_pwm) { in get_backlight_max_vbt()
1625 "backlight frequency conversion not supported\n"); in get_backlight_max_vbt()
1629 pwm = panel->backlight.pwm_funcs->hz_to_pwm(connector, pwm_freq_hz); in get_backlight_max_vbt()
1632 "backlight frequency conversion failed\n"); in get_backlight_max_vbt()
1648 drm_WARN_ON(&dev_priv->drm, panel->backlight.pwm_level_max == 0); in get_backlight_min_vbt()
1657 min = clamp_t(int, dev_priv->vbt.backlight.min_brightness, 0, 64); in get_backlight_min_vbt()
1658 if (min != dev_priv->vbt.backlight.min_brightness) { in get_backlight_min_vbt()
1660 "clamping VBT min backlight %d/255 to %d/255\n", in get_backlight_min_vbt()
1661 dev_priv->vbt.backlight.min_brightness, min); in get_backlight_min_vbt()
1665 return scale(min, 0, 255, 0, panel->backlight.pwm_level_max); in get_backlight_min_vbt()
1679 panel->backlight.alternate_pwm_increment = alt; in lpt_setup_backlight()
1682 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in lpt_setup_backlight()
1685 panel->backlight.pwm_level_max = pch_ctl2 >> 16; in lpt_setup_backlight()
1689 if (!panel->backlight.pwm_level_max) in lpt_setup_backlight()
1690 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in lpt_setup_backlight()
1692 if (!panel->backlight.pwm_level_max) in lpt_setup_backlight()
1695 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in lpt_setup_backlight()
1697 panel->backlight.pwm_enabled = pch_ctl1 & BLM_PCH_PWM_ENABLE; in lpt_setup_backlight()
1699 cpu_mode = panel->backlight.pwm_enabled && HAS_PCH_LPT(dev_priv) && in lpt_setup_backlight()
1707 "CPU backlight register was enabled, switching to PCH override\n"); in lpt_setup_backlight()
1728 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in pch_setup_backlight()
1731 panel->backlight.pwm_level_max = pch_ctl2 >> 16; in pch_setup_backlight()
1733 if (!panel->backlight.pwm_level_max) in pch_setup_backlight()
1734 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in pch_setup_backlight()
1736 if (!panel->backlight.pwm_level_max) in pch_setup_backlight()
1739 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in pch_setup_backlight()
1742 panel->backlight.pwm_enabled = (cpu_ctl2 & BLM_PWM_ENABLE) && in pch_setup_backlight()
1757 panel->backlight.combination_mode = ctl & BLM_LEGACY_MODE; in i9xx_setup_backlight()
1760 panel->backlight.active_low_pwm = ctl & BLM_POLARITY_PNV; in i9xx_setup_backlight()
1762 panel->backlight.pwm_level_max = ctl >> 17; in i9xx_setup_backlight()
1764 if (!panel->backlight.pwm_level_max) { in i9xx_setup_backlight()
1765 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in i9xx_setup_backlight()
1766 panel->backlight.pwm_level_max >>= 1; in i9xx_setup_backlight()
1769 if (!panel->backlight.pwm_level_max) in i9xx_setup_backlight()
1772 if (panel->backlight.combination_mode) in i9xx_setup_backlight()
1773 panel->backlight.pwm_level_max *= 0xff; in i9xx_setup_backlight()
1775 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in i9xx_setup_backlight()
1779 val = clamp(val, panel->backlight.pwm_level_min, panel->backlight.pwm_level_max); in i9xx_setup_backlight()
1781 panel->backlight.pwm_enabled = val != 0; in i9xx_setup_backlight()
1793 panel->backlight.combination_mode = ctl2 & BLM_COMBINATION_MODE; in i965_setup_backlight()
1794 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in i965_setup_backlight()
1797 panel->backlight.pwm_level_max = ctl >> 16; in i965_setup_backlight()
1799 if (!panel->backlight.pwm_level_max) in i965_setup_backlight()
1800 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in i965_setup_backlight()
1802 if (!panel->backlight.pwm_level_max) in i965_setup_backlight()
1805 if (panel->backlight.combination_mode) in i965_setup_backlight()
1806 panel->backlight.pwm_level_max *= 0xff; in i965_setup_backlight()
1808 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in i965_setup_backlight()
1810 panel->backlight.pwm_enabled = ctl2 & BLM_PWM_ENABLE; in i965_setup_backlight()
1825 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in vlv_setup_backlight()
1828 panel->backlight.pwm_level_max = ctl >> 16; in vlv_setup_backlight()
1830 if (!panel->backlight.pwm_level_max) in vlv_setup_backlight()
1831 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in vlv_setup_backlight()
1833 if (!panel->backlight.pwm_level_max) in vlv_setup_backlight()
1836 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in vlv_setup_backlight()
1838 panel->backlight.pwm_enabled = ctl2 & BLM_PWM_ENABLE; in vlv_setup_backlight()
1850 panel->backlight.controller = dev_priv->vbt.backlight.controller; in bxt_setup_backlight()
1853 BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_setup_backlight()
1856 if (panel->backlight.controller == 1) { in bxt_setup_backlight()
1858 panel->backlight.util_pin_active_low = in bxt_setup_backlight()
1862 panel->backlight.active_low_pwm = pwm_ctl & BXT_BLC_PWM_POLARITY; in bxt_setup_backlight()
1863 panel->backlight.pwm_level_max = in bxt_setup_backlight()
1864 intel_de_read(dev_priv, BXT_BLC_PWM_FREQ(panel->backlight.controller)); in bxt_setup_backlight()
1866 if (!panel->backlight.pwm_level_max) in bxt_setup_backlight()
1867 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in bxt_setup_backlight()
1869 if (!panel->backlight.pwm_level_max) in bxt_setup_backlight()
1872 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in bxt_setup_backlight()
1874 panel->backlight.pwm_enabled = pwm_ctl & BXT_BLC_PWM_ENABLE; in bxt_setup_backlight()
1887 * CNP has the BXT implementation of backlight, but with only one in cnp_setup_backlight()
1891 panel->backlight.controller = 0; in cnp_setup_backlight()
1894 BXT_BLC_PWM_CTL(panel->backlight.controller)); in cnp_setup_backlight()
1896 panel->backlight.active_low_pwm = pwm_ctl & BXT_BLC_PWM_POLARITY; in cnp_setup_backlight()
1897 panel->backlight.pwm_level_max = in cnp_setup_backlight()
1898 intel_de_read(dev_priv, BXT_BLC_PWM_FREQ(panel->backlight.controller)); in cnp_setup_backlight()
1900 if (!panel->backlight.pwm_level_max) in cnp_setup_backlight()
1901 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector); in cnp_setup_backlight()
1903 if (!panel->backlight.pwm_level_max) in cnp_setup_backlight()
1906 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in cnp_setup_backlight()
1908 panel->backlight.pwm_enabled = pwm_ctl & BXT_BLC_PWM_ENABLE; in cnp_setup_backlight()
1922 /* Get the right PWM chip for DSI backlight according to VBT */ in ext_pwm_setup_backlight()
1924 panel->backlight.pwm = pwm_get(dev->dev, "pwm_pmic_backlight"); in ext_pwm_setup_backlight()
1927 panel->backlight.pwm = pwm_get(dev->dev, "pwm_soc_backlight"); in ext_pwm_setup_backlight()
1931 if (IS_ERR(panel->backlight.pwm)) { in ext_pwm_setup_backlight()
1934 panel->backlight.pwm = NULL; in ext_pwm_setup_backlight()
1938 panel->backlight.pwm_level_max = 100; /* 100% */ in ext_pwm_setup_backlight()
1939 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector); in ext_pwm_setup_backlight()
1941 if (pwm_is_enabled(panel->backlight.pwm)) { in ext_pwm_setup_backlight()
1943 pwm_get_state(panel->backlight.pwm, &panel->backlight.pwm_state); in ext_pwm_setup_backlight()
1945 level = pwm_get_relative_duty_cycle(&panel->backlight.pwm_state, in ext_pwm_setup_backlight()
1948 panel->backlight.pwm_enabled = true; in ext_pwm_setup_backlight()
1951 NSEC_PER_SEC / (unsigned long)panel->backlight.pwm_state.period, in ext_pwm_setup_backlight()
1955 panel->backlight.pwm_state.period = in ext_pwm_setup_backlight()
1959 drm_info(&dev_priv->drm, "Using %s PWM for LCD backlight control\n", in ext_pwm_setup_backlight()
1969 panel->backlight.pwm_funcs->set(conn_state, in intel_pwm_set_backlight()
1978 panel->backlight.pwm_funcs->get(connector, pipe)); in intel_pwm_get_backlight()
1987 panel->backlight.pwm_funcs->enable(crtc_state, conn_state, in intel_pwm_enable_backlight()
1996 panel->backlight.pwm_funcs->disable(conn_state, in intel_pwm_disable_backlight()
2003 int ret = panel->backlight.pwm_funcs->setup(connector, pipe); in intel_pwm_setup_backlight()
2008 panel->backlight.min = panel->backlight.pwm_level_min; in intel_pwm_setup_backlight()
2009 panel->backlight.max = panel->backlight.pwm_level_max; in intel_pwm_setup_backlight()
2010 panel->backlight.level = intel_pwm_get_backlight(connector, pipe); in intel_pwm_setup_backlight()
2011 panel->backlight.enabled = panel->backlight.pwm_enabled; in intel_pwm_setup_backlight()
2025 if (!panel->backlight.present) in intel_panel_update_backlight()
2029 if (!panel->backlight.enabled) in intel_panel_update_backlight()
2042 if (!dev_priv->vbt.backlight.present) { in intel_panel_setup_backlight()
2045 "no backlight present per VBT, but present per quirk\n"); in intel_panel_setup_backlight()
2048 "no backlight present per VBT\n"); in intel_panel_setup_backlight()
2054 if (drm_WARN_ON(&dev_priv->drm, !panel->backlight.funcs)) in intel_panel_setup_backlight()
2059 ret = panel->backlight.funcs->setup(intel_connector, pipe); in intel_panel_setup_backlight()
2064 "failed to setup backlight for connector %s\n", in intel_panel_setup_backlight()
2069 panel->backlight.present = true; in intel_panel_setup_backlight()
2072 "Connector %s backlight initialized, %s, brightness %u/%u\n", in intel_panel_setup_backlight()
2074 enableddisabled(panel->backlight.enabled), in intel_panel_setup_backlight()
2075 panel->backlight.level, panel->backlight.max); in intel_panel_setup_backlight()
2083 if (panel->backlight.pwm) in intel_panel_destroy_backlight()
2084 pwm_put(panel->backlight.pwm); in intel_panel_destroy_backlight()
2086 panel->backlight.present = false; in intel_panel_destroy_backlight()
2177 /* Set up chip specific backlight functions */
2190 panel->backlight.pwm_funcs = &bxt_pwm_funcs; in intel_panel_init_backlight_funcs()
2192 panel->backlight.pwm_funcs = &cnp_pwm_funcs; in intel_panel_init_backlight_funcs()
2195 panel->backlight.pwm_funcs = &lpt_pwm_funcs; in intel_panel_init_backlight_funcs()
2197 panel->backlight.pwm_funcs = &spt_pwm_funcs; in intel_panel_init_backlight_funcs()
2199 panel->backlight.pwm_funcs = &pch_pwm_funcs; in intel_panel_init_backlight_funcs()
2202 panel->backlight.pwm_funcs = &ext_pwm_funcs; in intel_panel_init_backlight_funcs()
2204 panel->backlight.pwm_funcs = &vlv_pwm_funcs; in intel_panel_init_backlight_funcs()
2207 panel->backlight.pwm_funcs = &i965_pwm_funcs; in intel_panel_init_backlight_funcs()
2209 panel->backlight.pwm_funcs = &i9xx_pwm_funcs; in intel_panel_init_backlight_funcs()
2216 /* We're using a standard PWM backlight interface */ in intel_panel_init_backlight_funcs()
2217 panel->backlight.funcs = &pwm_bl_funcs; in intel_panel_init_backlight_funcs()