diff options
author | Uma Shankar <[email protected]> | 2020-03-26 18:21:11 +0530 |
---|---|---|
committer | Uma Shankar <[email protected]> | 2020-03-26 20:01:10 +0530 |
commit | d5e56705927e00f703b2eb5a98299dd6622d16e5 (patch) | |
tree | 6e805208bac52ef0e33ac449128fded29c162f14 | |
parent | d121f63c00e3b82f2e72b1db0de3e233c2ba2126 (diff) |
drm/i915/display: Fix mode private_flags comparison at atomic_check
This patch fixes the private_flags of mode to be checked and
compared against uapi.mode and not from hw.mode. This helps
properly trigger modeset at boot if desired by driver.
It helps resolve audio_codec initialization issues if display
is connected at boot. Initial discussion on this issue has happened
on below thread:
https://patchwork.freedesktop.org/series/74828/
v2: No functional change. Fixed the Closes tag and added
Maarten's RB.
v3: Added Fixes tag.
Cc: Ville Syrjä <[email protected]>
Cc: Maarten Lankhorst <[email protected]>
Cc: Kai Vehmanen <[email protected]>
Cc: Souza, Jose <[email protected]>
Fixes: 58d124ea2739 ("drm/i915: Complete crtc hw/uapi split, v6.")
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1363
Suggested-by: Ville Syrjä <[email protected]>
Signed-off-by: Uma Shankar <[email protected]>
Signed-off-by: SweeAun Khor <[email protected]>
Reviewed-by: Maarten Lankhorst <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_display.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 7d20c060b56c..f745027800d5 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -14747,8 +14747,8 @@ static int intel_atomic_check(struct drm_device *dev, /* Catch I915_MODE_FLAG_INHERITED */ for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { - if (new_crtc_state->hw.mode.private_flags != - old_crtc_state->hw.mode.private_flags) + if (new_crtc_state->uapi.mode.private_flags != + old_crtc_state->uapi.mode.private_flags) new_crtc_state->uapi.mode_changed = true; } |