kernel
Revision | c2f7c825fcb14fd735d65918df00e0bdb541824a (tree) |
---|---|
Time | 2019-06-13 01:04:55 |
Author | lambdadroid <lambdadroid@gmai...> |
Commiter | Chih-Wei Huang |
drm/i915: Change maximum brightness for CRC PWM to 255
The Crystalcove (CRC) PMIC PWM driver supports 255 levels.
Currently, these are mapped to a percentage, making it impossible
to choose all available brightness levels. Change the maximum
brightness level to 255 so all available levels can be used.
@@ -524,7 +524,7 @@ static u32 pwm_get_backlight(struct intel_connector *connector) | ||
524 | 524 | int duty_ns; |
525 | 525 | |
526 | 526 | duty_ns = pwm_get_duty_cycle(panel->backlight.pwm); |
527 | - return DIV_ROUND_UP(duty_ns * 100, CRC_PMIC_PWM_PERIOD_NS); | |
527 | + return DIV_ROUND_UP(duty_ns * panel->backlight.max, CRC_PMIC_PWM_PERIOD_NS); | |
528 | 528 | } |
529 | 529 | |
530 | 530 | static void lpt_set_backlight(const struct drm_connector_state *conn_state, u32 level) |
@@ -597,7 +597,7 @@ static void bxt_set_backlight(const struct drm_connector_state *conn_state, u32 | ||
597 | 597 | static void pwm_set_backlight(const struct drm_connector_state *conn_state, u32 level) |
598 | 598 | { |
599 | 599 | struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; |
600 | - int duty_ns = DIV_ROUND_UP(level * CRC_PMIC_PWM_PERIOD_NS, 100); | |
600 | + int duty_ns = DIV_ROUND_UP(level * CRC_PMIC_PWM_PERIOD_NS, panel->backlight.max); | |
601 | 601 | |
602 | 602 | pwm_config(panel->backlight.pwm, duty_ns, CRC_PMIC_PWM_PERIOD_NS); |
603 | 603 | } |
@@ -1763,10 +1763,10 @@ static int pwm_setup_backlight(struct intel_connector *connector, | ||
1763 | 1763 | return retval; |
1764 | 1764 | } |
1765 | 1765 | |
1766 | - panel->backlight.min = 0; /* 0% */ | |
1767 | - panel->backlight.max = 100; /* 100% */ | |
1766 | + panel->backlight.min = 0; | |
1767 | + panel->backlight.max = 0xFF; | |
1768 | 1768 | panel->backlight.level = DIV_ROUND_UP( |
1769 | - pwm_get_duty_cycle(panel->backlight.pwm) * 100, | |
1769 | + pwm_get_duty_cycle(panel->backlight.pwm) * panel->backlight.max, | |
1770 | 1770 | CRC_PMIC_PWM_PERIOD_NS); |
1771 | 1771 | panel->backlight.enabled = panel->backlight.level != 0; |
1772 | 1772 |