drm/amd/display: Get backlight controller id from link
authorDavid Francis <David.Francis@amd.com>
Thu, 25 Oct 2018 19:47:43 +0000 (15:47 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Nov 2018 20:27:41 +0000 (15:27 -0500)
[Why]
dc_link_set_backlight_level can be called from a context
where the stream is unknown.  In this case, we can still
find which controller is driving this particular backlight

[How]
Compare links for equality instead of streams

Signed-off-by: David Francis <David.Francis@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index abcfc05..948596a 100644 (file)
@@ -2173,11 +2173,11 @@ bool dc_link_set_backlight_level(const struct dc_link *link,
                        backlight_pwm_u16_16, backlight_pwm_u16_16);
 
        if (dc_is_embedded_signal(link->connector_signal)) {
-               if (stream != NULL) {
-                       for (i = 0; i < MAX_PIPES; i++) {
+               for (i = 0; i < MAX_PIPES; i++) {
+                       if (core_dc->current_state->res_ctx.pipe_ctx[i].stream) {
                                if (core_dc->current_state->res_ctx.
-                                               pipe_ctx[i].stream
-                                               == stream)
+                                               pipe_ctx[i].stream->sink->link
+                                               == link)
                                        /* DMCU -1 for all controller id values,
                                         * therefore +1 here
                                         */