Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/alpm: Disable LOBF around transitioning for LRR/seamless MN

When enabling LRR/seamless MN disable LOBF first and re-enable
afterwards.
- pre_plane_update: if LOBF was enabled, disable LOBF before the
update_lrr/update_m_n transition.
- post_plane_update: Re-enable LOBF after the transition.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Link: https://patch.msgid.link/20260204050250.762718-6-ankit.k.nautiyal@intel.com

+6 -2
+6 -2
drivers/gpu/drm/i915/display/intel_display.c
··· 1014 1014 if (!new_crtc_state->hw.active) 1015 1015 return false; 1016 1016 1017 - return is_enabling(has_lobf, old_crtc_state, new_crtc_state); 1017 + return is_enabling(has_lobf, old_crtc_state, new_crtc_state) || 1018 + (new_crtc_state->has_lobf && 1019 + (new_crtc_state->update_lrr || new_crtc_state->update_m_n)); 1018 1020 } 1019 1021 1020 1022 static bool intel_crtc_lobf_disabling(const struct intel_crtc_state *old_crtc_state, ··· 1025 1023 if (!old_crtc_state->hw.active) 1026 1024 return false; 1027 1025 1028 - return is_disabling(has_lobf, old_crtc_state, new_crtc_state); 1026 + return is_disabling(has_lobf, old_crtc_state, new_crtc_state) || 1027 + (old_crtc_state->has_lobf && 1028 + (new_crtc_state->update_lrr || new_crtc_state->update_m_n)); 1029 1029 } 1030 1030 1031 1031 #undef is_disabling