diff options
author | David Francis <David.Francis@amd.com> | 2018-11-20 09:42:58 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-01-16 17:11:47 -0500 |
commit | 35dad45d5cad3c9ca8d6a338cbf668cd7ea86469 (patch) | |
tree | 6bdfec59b4ed6ed87e5019e004464da4f269b226 | |
parent | 92b0730eaf2d549fdfb10ecc8b71f34b9f472c12 (diff) |
drm/amd/display: Detach backlight from stream
[Why]
Backlight is conceptually a property of links, not streams.
All backlight programming is done on links, but there is a
stream property bl_pwm_level that is used to restore backlight
on dpms on and s3 resume. This is unnecessary, as backlight
is already restored by hardware with no driver intervention.
[How]
Remove bl_pwm_level, and the stream argument to set_backlight
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=109375
Signed-off-by: David Francis <David.Francis@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Acked-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 923fe4951282cbdfce05186c10380bbc45b5e03b)
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_link.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_link.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_stream.h | 1 |
4 files changed, 3 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 903dbafc144d..f4fa40c387d3 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |||
@@ -1772,7 +1772,7 @@ static int amdgpu_dm_backlight_update_status(struct backlight_device *bd) | |||
1772 | + caps.min_input_signal * 0x101; | 1772 | + caps.min_input_signal * 0x101; |
1773 | 1773 | ||
1774 | if (dc_link_set_backlight_level(dm->backlight_link, | 1774 | if (dc_link_set_backlight_level(dm->backlight_link, |
1775 | brightness, 0, 0)) | 1775 | brightness, 0)) |
1776 | return 0; | 1776 | return 0; |
1777 | else | 1777 | else |
1778 | return 1; | 1778 | return 1; |
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c index 52deacf39841..b0265dbebd4c 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c | |||
@@ -2190,8 +2190,7 @@ int dc_link_get_backlight_level(const struct dc_link *link) | |||
2190 | 2190 | ||
2191 | bool dc_link_set_backlight_level(const struct dc_link *link, | 2191 | bool dc_link_set_backlight_level(const struct dc_link *link, |
2192 | uint32_t backlight_pwm_u16_16, | 2192 | uint32_t backlight_pwm_u16_16, |
2193 | uint32_t frame_ramp, | 2193 | uint32_t frame_ramp) |
2194 | const struct dc_stream_state *stream) | ||
2195 | { | 2194 | { |
2196 | struct dc *core_dc = link->ctx->dc; | 2195 | struct dc *core_dc = link->ctx->dc; |
2197 | struct abm *abm = core_dc->res_pool->abm; | 2196 | struct abm *abm = core_dc->res_pool->abm; |
@@ -2206,10 +2205,6 @@ bool dc_link_set_backlight_level(const struct dc_link *link, | |||
2206 | (abm->funcs->set_backlight_level_pwm == NULL)) | 2205 | (abm->funcs->set_backlight_level_pwm == NULL)) |
2207 | return false; | 2206 | return false; |
2208 | 2207 | ||
2209 | if (stream) | ||
2210 | ((struct dc_stream_state *)stream)->bl_pwm_level = | ||
2211 | backlight_pwm_u16_16; | ||
2212 | |||
2213 | use_smooth_brightness = dmcu->funcs->is_dmcu_initialized(dmcu); | 2208 | use_smooth_brightness = dmcu->funcs->is_dmcu_initialized(dmcu); |
2214 | 2209 | ||
2215 | DC_LOG_BACKLIGHT("New Backlight level: %d (0x%X)\n", | 2210 | DC_LOG_BACKLIGHT("New Backlight level: %d (0x%X)\n", |
@@ -2637,11 +2632,6 @@ void core_link_enable_stream( | |||
2637 | 2632 | ||
2638 | if (dc_is_dp_signal(pipe_ctx->stream->signal)) | 2633 | if (dc_is_dp_signal(pipe_ctx->stream->signal)) |
2639 | enable_stream_features(pipe_ctx); | 2634 | enable_stream_features(pipe_ctx); |
2640 | |||
2641 | dc_link_set_backlight_level(pipe_ctx->stream->sink->link, | ||
2642 | pipe_ctx->stream->bl_pwm_level, | ||
2643 | 0, | ||
2644 | pipe_ctx->stream); | ||
2645 | } | 2635 | } |
2646 | 2636 | ||
2647 | } | 2637 | } |
diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h index 29f19d57ff7a..b2243e0dad1f 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_link.h +++ b/drivers/gpu/drm/amd/display/dc/dc_link.h | |||
@@ -146,8 +146,7 @@ static inline struct dc_link *dc_get_link_at_index(struct dc *dc, uint32_t link_ | |||
146 | */ | 146 | */ |
147 | bool dc_link_set_backlight_level(const struct dc_link *dc_link, | 147 | bool dc_link_set_backlight_level(const struct dc_link *dc_link, |
148 | uint32_t backlight_pwm_u16_16, | 148 | uint32_t backlight_pwm_u16_16, |
149 | uint32_t frame_ramp, | 149 | uint32_t frame_ramp); |
150 | const struct dc_stream_state *stream); | ||
151 | 150 | ||
152 | int dc_link_get_backlight_level(const struct dc_link *dc_link); | 151 | int dc_link_get_backlight_level(const struct dc_link *dc_link); |
153 | 152 | ||
diff --git a/drivers/gpu/drm/amd/display/dc/dc_stream.h b/drivers/gpu/drm/amd/display/dc/dc_stream.h index be34d638e15d..d70c9e1cda3d 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_stream.h +++ b/drivers/gpu/drm/amd/display/dc/dc_stream.h | |||
@@ -91,7 +91,6 @@ struct dc_stream_state { | |||
91 | 91 | ||
92 | /* DMCU info */ | 92 | /* DMCU info */ |
93 | unsigned int abm_level; | 93 | unsigned int abm_level; |
94 | unsigned int bl_pwm_level; | ||
95 | 94 | ||
96 | /* from core_stream struct */ | 95 | /* from core_stream struct */ |
97 | struct dc_context *ctx; | 96 | struct dc_context *ctx; |