Lines Matching refs:backlight

434 		     panel->backlight.min, panel->backlight.max);  in scale_user_to_hw()
445 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw()
446 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw()
457 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user()
468 WARN_ON(panel->backlight.max == 0); in intel_panel_compute_brightness()
475 return panel->backlight.max - val; in intel_panel_compute_brightness()
508 if (panel->backlight.combination_mode) { in i9xx_get_backlight()
542 return I915_READ(BXT_BLC_PWM_DUTY(panel->backlight.controller)); in bxt_get_backlight()
550 duty_ns = pwm_get_duty_cycle(panel->backlight.pwm); in pwm_get_backlight()
563 if (panel->backlight.enabled) { in intel_panel_get_backlight()
564 val = panel->backlight.get(connector); in intel_panel_get_backlight()
599 WARN_ON(panel->backlight.max == 0); in i9xx_set_backlight()
601 if (panel->backlight.combination_mode) { in i9xx_set_backlight()
604 lbpc = level * 0xfe / panel->backlight.max + 1; in i9xx_set_backlight()
640 I915_WRITE(BXT_BLC_PWM_DUTY(panel->backlight.controller), level); in bxt_set_backlight()
648 pwm_config(panel->backlight.pwm, duty_ns, CRC_PMIC_PWM_PERIOD_NS); in pwm_set_backlight()
659 panel->backlight.set(connector, level); in intel_panel_actually_set_backlight()
671 if (!panel->backlight.present) in intel_panel_set_backlight()
676 WARN_ON(panel->backlight.max == 0); in intel_panel_set_backlight()
679 panel->backlight.level = hw_level; in intel_panel_set_backlight()
681 if (panel->backlight.enabled) in intel_panel_set_backlight()
705 if (!panel->backlight.present || pipe == INVALID_PIPE) in intel_panel_set_backlight_acpi()
710 WARN_ON(panel->backlight.max == 0); in intel_panel_set_backlight_acpi()
713 panel->backlight.level = hw_level; in intel_panel_set_backlight_acpi()
715 if (panel->backlight.device) in intel_panel_set_backlight_acpi()
716 panel->backlight.device->props.brightness = in intel_panel_set_backlight_acpi()
718 panel->backlight.level, in intel_panel_set_backlight_acpi()
719 panel->backlight.device->props.max_brightness); in intel_panel_set_backlight_acpi()
721 if (panel->backlight.enabled) in intel_panel_set_backlight_acpi()
810 tmp = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_disable_backlight()
811 I915_WRITE(BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_disable_backlight()
814 if (panel->backlight.controller == 1) { in bxt_disable_backlight()
826 pwm_config(panel->backlight.pwm, 0, CRC_PMIC_PWM_PERIOD_NS); in pwm_disable_backlight()
828 pwm_disable(panel->backlight.pwm); in pwm_disable_backlight()
837 if (!panel->backlight.present) in intel_panel_disable_backlight()
853 if (panel->backlight.device) in intel_panel_disable_backlight()
854 panel->backlight.device->props.power = FB_BLANK_POWERDOWN; in intel_panel_disable_backlight()
855 panel->backlight.enabled = false; in intel_panel_disable_backlight()
856 panel->backlight.disable(connector); in intel_panel_disable_backlight()
875 pch_ctl2 = panel->backlight.max << 16; in lpt_enable_backlight()
879 if (panel->backlight.active_low_pwm) in lpt_enable_backlight()
891 intel_panel_actually_set_backlight(connector, panel->backlight.level); in lpt_enable_backlight()
927 intel_panel_actually_set_backlight(connector, panel->backlight.level); in pch_enable_backlight()
929 pch_ctl2 = panel->backlight.max << 16; in pch_enable_backlight()
933 if (panel->backlight.active_low_pwm) in pch_enable_backlight()
954 freq = panel->backlight.max; in i9xx_enable_backlight()
955 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
959 if (panel->backlight.combination_mode) in i9xx_enable_backlight()
961 if (IS_PINEVIEW(dev) && panel->backlight.active_low_pwm) in i9xx_enable_backlight()
968 intel_panel_actually_set_backlight(connector, panel->backlight.level); in i9xx_enable_backlight()
994 freq = panel->backlight.max; in i965_enable_backlight()
995 if (panel->backlight.combination_mode) in i965_enable_backlight()
1002 if (panel->backlight.combination_mode) in i965_enable_backlight()
1004 if (panel->backlight.active_low_pwm) in i965_enable_backlight()
1010 intel_panel_actually_set_backlight(connector, panel->backlight.level); in i965_enable_backlight()
1031 ctl = panel->backlight.max << 16; in vlv_enable_backlight()
1035 intel_panel_actually_set_backlight(connector, panel->backlight.level); in vlv_enable_backlight()
1038 if (panel->backlight.active_low_pwm) in vlv_enable_backlight()
1057 if (panel->backlight.controller == 1) { in bxt_enable_backlight()
1066 if (panel->backlight.util_pin_active_low) in bxt_enable_backlight()
1072 pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
1076 I915_WRITE(BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
1080 I915_WRITE(BXT_BLC_PWM_FREQ(panel->backlight.controller), in bxt_enable_backlight()
1081 panel->backlight.max); in bxt_enable_backlight()
1083 intel_panel_actually_set_backlight(connector, panel->backlight.level); in bxt_enable_backlight()
1086 if (panel->backlight.active_low_pwm) in bxt_enable_backlight()
1089 I915_WRITE(BXT_BLC_PWM_CTL(panel->backlight.controller), pwm_ctl); in bxt_enable_backlight()
1090 POSTING_READ(BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_enable_backlight()
1091 I915_WRITE(BXT_BLC_PWM_CTL(panel->backlight.controller), in bxt_enable_backlight()
1099 pwm_enable(panel->backlight.pwm); in pwm_enable_backlight()
1100 intel_panel_actually_set_backlight(connector, panel->backlight.level); in pwm_enable_backlight()
1110 if (!panel->backlight.present) in intel_panel_enable_backlight()
1117 WARN_ON(panel->backlight.max == 0); in intel_panel_enable_backlight()
1119 if (panel->backlight.level <= panel->backlight.min) { in intel_panel_enable_backlight()
1120 panel->backlight.level = panel->backlight.max; in intel_panel_enable_backlight()
1121 if (panel->backlight.device) in intel_panel_enable_backlight()
1122 panel->backlight.device->props.brightness = in intel_panel_enable_backlight()
1124 panel->backlight.level, in intel_panel_enable_backlight()
1125 panel->backlight.device->props.max_brightness); in intel_panel_enable_backlight()
1128 panel->backlight.enable(connector); in intel_panel_enable_backlight()
1129 panel->backlight.enabled = true; in intel_panel_enable_backlight()
1130 if (panel->backlight.device) in intel_panel_enable_backlight()
1131 panel->backlight.device->props.power = FB_BLANK_UNBLANK; in intel_panel_enable_backlight()
1155 if (panel->backlight.enabled) { in intel_backlight_device_update_status()
1156 if (panel->backlight.power) { in intel_backlight_device_update_status()
1159 panel->backlight.power(connector, enable); in intel_backlight_device_update_status()
1199 if (WARN_ON(panel->backlight.device)) in intel_backlight_device_register()
1202 if (!panel->backlight.present) in intel_backlight_device_register()
1205 WARN_ON(panel->backlight.max == 0); in intel_backlight_device_register()
1214 props.max_brightness = panel->backlight.max; in intel_backlight_device_register()
1216 panel->backlight.level, in intel_backlight_device_register()
1219 if (panel->backlight.enabled) in intel_backlight_device_register()
1228 panel->backlight.device = in intel_backlight_device_register()
1234 if (IS_ERR(panel->backlight.device)) { in intel_backlight_device_register()
1236 PTR_ERR(panel->backlight.device)); in intel_backlight_device_register()
1237 panel->backlight.device = NULL; in intel_backlight_device_register()
1251 if (panel->backlight.device) { in intel_backlight_device_unregister()
1252 backlight_device_unregister(panel->backlight.device); in intel_backlight_device_unregister()
1253 panel->backlight.device = NULL; in intel_backlight_device_unregister()
1385 u16 pwm_freq_hz = dev_priv->vbt.backlight.pwm_freq_hz; in get_backlight_max_vbt()
1393 if (!panel->backlight.hz_to_pwm) { in get_backlight_max_vbt()
1398 pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz); in get_backlight_max_vbt()
1419 WARN_ON(panel->backlight.max == 0); in get_backlight_min_vbt()
1428 min = clamp_t(int, dev_priv->vbt.backlight.min_brightness, 0, 64); in get_backlight_min_vbt()
1429 if (min != dev_priv->vbt.backlight.min_brightness) { in get_backlight_min_vbt()
1431 dev_priv->vbt.backlight.min_brightness, min); in get_backlight_min_vbt()
1435 return scale(min, 0, 255, 0, panel->backlight.max); in get_backlight_min_vbt()
1446 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in lpt_setup_backlight()
1449 panel->backlight.max = pch_ctl2 >> 16; in lpt_setup_backlight()
1451 if (!panel->backlight.max) in lpt_setup_backlight()
1452 panel->backlight.max = get_backlight_max_vbt(connector); in lpt_setup_backlight()
1454 if (!panel->backlight.max) in lpt_setup_backlight()
1457 panel->backlight.min = get_backlight_min_vbt(connector); in lpt_setup_backlight()
1460 panel->backlight.level = intel_panel_compute_brightness(connector, val); in lpt_setup_backlight()
1462 panel->backlight.enabled = (pch_ctl1 & BLM_PCH_PWM_ENABLE) && in lpt_setup_backlight()
1463 panel->backlight.level != 0; in lpt_setup_backlight()
1476 panel->backlight.active_low_pwm = pch_ctl1 & BLM_PCH_POLARITY; in pch_setup_backlight()
1479 panel->backlight.max = pch_ctl2 >> 16; in pch_setup_backlight()
1481 if (!panel->backlight.max) in pch_setup_backlight()
1482 panel->backlight.max = get_backlight_max_vbt(connector); in pch_setup_backlight()
1484 if (!panel->backlight.max) in pch_setup_backlight()
1487 panel->backlight.min = get_backlight_min_vbt(connector); in pch_setup_backlight()
1490 panel->backlight.level = intel_panel_compute_brightness(connector, val); in pch_setup_backlight()
1493 panel->backlight.enabled = (cpu_ctl2 & BLM_PWM_ENABLE) && in pch_setup_backlight()
1494 (pch_ctl1 & BLM_PCH_PWM_ENABLE) && panel->backlight.level != 0; in pch_setup_backlight()
1509 panel->backlight.combination_mode = ctl & BLM_LEGACY_MODE; in i9xx_setup_backlight()
1512 panel->backlight.active_low_pwm = ctl & BLM_POLARITY_PNV; in i9xx_setup_backlight()
1514 panel->backlight.max = ctl >> 17; in i9xx_setup_backlight()
1516 if (!panel->backlight.max) { in i9xx_setup_backlight()
1517 panel->backlight.max = get_backlight_max_vbt(connector); in i9xx_setup_backlight()
1518 panel->backlight.max >>= 1; in i9xx_setup_backlight()
1521 if (!panel->backlight.max) in i9xx_setup_backlight()
1524 if (panel->backlight.combination_mode) in i9xx_setup_backlight()
1525 panel->backlight.max *= 0xff; in i9xx_setup_backlight()
1527 panel->backlight.min = get_backlight_min_vbt(connector); in i9xx_setup_backlight()
1530 panel->backlight.level = intel_panel_compute_brightness(connector, val); in i9xx_setup_backlight()
1532 panel->backlight.enabled = panel->backlight.level != 0; in i9xx_setup_backlight()
1545 panel->backlight.combination_mode = ctl2 & BLM_COMBINATION_MODE; in i965_setup_backlight()
1546 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in i965_setup_backlight()
1549 panel->backlight.max = ctl >> 16; in i965_setup_backlight()
1551 if (!panel->backlight.max) in i965_setup_backlight()
1552 panel->backlight.max = get_backlight_max_vbt(connector); in i965_setup_backlight()
1554 if (!panel->backlight.max) in i965_setup_backlight()
1557 if (panel->backlight.combination_mode) in i965_setup_backlight()
1558 panel->backlight.max *= 0xff; in i965_setup_backlight()
1560 panel->backlight.min = get_backlight_min_vbt(connector); in i965_setup_backlight()
1563 panel->backlight.level = intel_panel_compute_brightness(connector, val); in i965_setup_backlight()
1565 panel->backlight.enabled = (ctl2 & BLM_PWM_ENABLE) && in i965_setup_backlight()
1566 panel->backlight.level != 0; in i965_setup_backlight()
1582 panel->backlight.active_low_pwm = ctl2 & BLM_POLARITY_I965; in vlv_setup_backlight()
1585 panel->backlight.max = ctl >> 16; in vlv_setup_backlight()
1587 if (!panel->backlight.max) in vlv_setup_backlight()
1588 panel->backlight.max = get_backlight_max_vbt(connector); in vlv_setup_backlight()
1590 if (!panel->backlight.max) in vlv_setup_backlight()
1593 panel->backlight.min = get_backlight_min_vbt(connector); in vlv_setup_backlight()
1596 panel->backlight.level = intel_panel_compute_brightness(connector, val); in vlv_setup_backlight()
1598 panel->backlight.enabled = (ctl2 & BLM_PWM_ENABLE) && in vlv_setup_backlight()
1599 panel->backlight.level != 0; in vlv_setup_backlight()
1616 panel->backlight.controller = 0; in bxt_setup_backlight()
1618 pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller)); in bxt_setup_backlight()
1625 if (panel->backlight.controller == 1) { in bxt_setup_backlight()
1627 panel->backlight.util_pin_active_low = in bxt_setup_backlight()
1631 panel->backlight.active_low_pwm = pwm_ctl & BXT_BLC_PWM_POLARITY; in bxt_setup_backlight()
1632 panel->backlight.max = in bxt_setup_backlight()
1633 I915_READ(BXT_BLC_PWM_FREQ(panel->backlight.controller)); in bxt_setup_backlight()
1635 if (!panel->backlight.max) in bxt_setup_backlight()
1636 panel->backlight.max = get_backlight_max_vbt(connector); in bxt_setup_backlight()
1638 if (!panel->backlight.max) in bxt_setup_backlight()
1642 panel->backlight.level = intel_panel_compute_brightness(connector, val); in bxt_setup_backlight()
1644 panel->backlight.enabled = (pwm_ctl & BXT_BLC_PWM_ENABLE) && in bxt_setup_backlight()
1645 panel->backlight.level != 0; in bxt_setup_backlight()
1658 panel->backlight.pwm = pwm_get(dev->dev, "pwm_backlight"); in pwm_setup_backlight()
1659 if (IS_ERR(panel->backlight.pwm)) { in pwm_setup_backlight()
1661 panel->backlight.pwm = NULL; in pwm_setup_backlight()
1665 retval = pwm_config(panel->backlight.pwm, CRC_PMIC_PWM_PERIOD_NS, in pwm_setup_backlight()
1669 pwm_put(panel->backlight.pwm); in pwm_setup_backlight()
1670 panel->backlight.pwm = NULL; in pwm_setup_backlight()
1674 panel->backlight.min = 0; /* 0% */ in pwm_setup_backlight()
1675 panel->backlight.max = 100; /* 100% */ in pwm_setup_backlight()
1676 panel->backlight.level = DIV_ROUND_UP( in pwm_setup_backlight()
1677 pwm_get_duty_cycle(panel->backlight.pwm) * 100, in pwm_setup_backlight()
1679 panel->backlight.enabled = panel->backlight.level != 0; in pwm_setup_backlight()
1692 if (!dev_priv->vbt.backlight.present) { in intel_panel_setup_backlight()
1702 if (WARN_ON(!panel->backlight.setup)) in intel_panel_setup_backlight()
1707 ret = panel->backlight.setup(intel_connector, pipe); in intel_panel_setup_backlight()
1716 panel->backlight.present = true; in intel_panel_setup_backlight()
1720 panel->backlight.enabled ? "enabled" : "disabled", in intel_panel_setup_backlight()
1721 panel->backlight.level, panel->backlight.max); in intel_panel_setup_backlight()
1732 if (panel->backlight.pwm) in intel_panel_destroy_backlight()
1733 pwm_put(panel->backlight.pwm); in intel_panel_destroy_backlight()
1735 panel->backlight.present = false; in intel_panel_destroy_backlight()
1748 panel->backlight.setup = bxt_setup_backlight; in intel_panel_init_backlight_funcs()
1749 panel->backlight.enable = bxt_enable_backlight; in intel_panel_init_backlight_funcs()
1750 panel->backlight.disable = bxt_disable_backlight; in intel_panel_init_backlight_funcs()
1751 panel->backlight.set = bxt_set_backlight; in intel_panel_init_backlight_funcs()
1752 panel->backlight.get = bxt_get_backlight; in intel_panel_init_backlight_funcs()
1754 panel->backlight.setup = lpt_setup_backlight; in intel_panel_init_backlight_funcs()
1755 panel->backlight.enable = lpt_enable_backlight; in intel_panel_init_backlight_funcs()
1756 panel->backlight.disable = lpt_disable_backlight; in intel_panel_init_backlight_funcs()
1757 panel->backlight.set = lpt_set_backlight; in intel_panel_init_backlight_funcs()
1758 panel->backlight.get = lpt_get_backlight; in intel_panel_init_backlight_funcs()
1760 panel->backlight.hz_to_pwm = lpt_hz_to_pwm; in intel_panel_init_backlight_funcs()
1762 panel->backlight.hz_to_pwm = spt_hz_to_pwm; in intel_panel_init_backlight_funcs()
1764 panel->backlight.setup = pch_setup_backlight; in intel_panel_init_backlight_funcs()
1765 panel->backlight.enable = pch_enable_backlight; in intel_panel_init_backlight_funcs()
1766 panel->backlight.disable = pch_disable_backlight; in intel_panel_init_backlight_funcs()
1767 panel->backlight.set = pch_set_backlight; in intel_panel_init_backlight_funcs()
1768 panel->backlight.get = pch_get_backlight; in intel_panel_init_backlight_funcs()
1769 panel->backlight.hz_to_pwm = pch_hz_to_pwm; in intel_panel_init_backlight_funcs()
1772 panel->backlight.setup = pwm_setup_backlight; in intel_panel_init_backlight_funcs()
1773 panel->backlight.enable = pwm_enable_backlight; in intel_panel_init_backlight_funcs()
1774 panel->backlight.disable = pwm_disable_backlight; in intel_panel_init_backlight_funcs()
1775 panel->backlight.set = pwm_set_backlight; in intel_panel_init_backlight_funcs()
1776 panel->backlight.get = pwm_get_backlight; in intel_panel_init_backlight_funcs()
1778 panel->backlight.setup = vlv_setup_backlight; in intel_panel_init_backlight_funcs()
1779 panel->backlight.enable = vlv_enable_backlight; in intel_panel_init_backlight_funcs()
1780 panel->backlight.disable = vlv_disable_backlight; in intel_panel_init_backlight_funcs()
1781 panel->backlight.set = vlv_set_backlight; in intel_panel_init_backlight_funcs()
1782 panel->backlight.get = vlv_get_backlight; in intel_panel_init_backlight_funcs()
1783 panel->backlight.hz_to_pwm = vlv_hz_to_pwm; in intel_panel_init_backlight_funcs()
1786 panel->backlight.setup = i965_setup_backlight; in intel_panel_init_backlight_funcs()
1787 panel->backlight.enable = i965_enable_backlight; in intel_panel_init_backlight_funcs()
1788 panel->backlight.disable = i965_disable_backlight; in intel_panel_init_backlight_funcs()
1789 panel->backlight.set = i9xx_set_backlight; in intel_panel_init_backlight_funcs()
1790 panel->backlight.get = i9xx_get_backlight; in intel_panel_init_backlight_funcs()
1791 panel->backlight.hz_to_pwm = i965_hz_to_pwm; in intel_panel_init_backlight_funcs()
1793 panel->backlight.setup = i9xx_setup_backlight; in intel_panel_init_backlight_funcs()
1794 panel->backlight.enable = i9xx_enable_backlight; in intel_panel_init_backlight_funcs()
1795 panel->backlight.disable = i9xx_disable_backlight; in intel_panel_init_backlight_funcs()
1796 panel->backlight.set = i9xx_set_backlight; in intel_panel_init_backlight_funcs()
1797 panel->backlight.get = i9xx_get_backlight; in intel_panel_init_backlight_funcs()
1798 panel->backlight.hz_to_pwm = i9xx_hz_to_pwm; in intel_panel_init_backlight_funcs()