b17d48e...
by
Maarten Lankhorst <email address hidden>
drm/i915: Do not use atomic modesets in hw readout.
This should fix fallout caused by making intel_crtc_control
and update_dpms atomic, which became a problem after reverting the
atomic hw readout patch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90929
Reported-by: Ville Syrjälä <email address hidden>
Signed-off-by: Maarten Lankhorst <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>
f721790...
by
Maarten Lankhorst <email address hidden>
Revert "drm/i915: Read hw state into an atomic state struct, v2."
This reverts commit 3bae26eb2991c00670df377cf6c3bc2b0577e82a.
Seems it introduces regressions for 3 different reasons, oh boy..
In bug #90868 as I can see the atomic state will be restored on
resume without the planes being set up properly. Because plane
setup here requires the atomic state, we'll have to settle
for committing atomic planes first.
In bug #90861 the failure appears to affect mostly DP devices,
and happens because reading out the atomic state prevents a modeset
on boot, which would require better hw state readout.
In bug #90874 it's shown that cdclk should be part of the atomic
state, so only performing a single modeset during resume excarbated
the issue.
It's better to fix those issues first, and then commit this patch,
so do that temporarily.
5c2db18...
by
Maarten Lankhorst <email address hidden>
drm/i915: use calculated state for vblank evasion
crtc->active will be gone eventually, and this check should be just as good.
Signed-off-by: Maarten Lankhorst <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>
3538b9d...
by
Maarten Lankhorst <email address hidden>
drm/i915: Use atomic state for calculating DVO_2X_MODE on i830.
This is a small behavioral change because it leaves DVO_2X_MODE
set between crtc_disable and crtc_enable. This is probably harmless
though and if not should be fixed by calculating 2x mode before
enable/disable pll.
This is needed because intel_crtc->active will be removed eventually.
Signed-off-by: Maarten Lankhorst <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>
99d736a...
by
Maarten Lankhorst <email address hidden>
drm/i915: Calculate haswell plane workaround, v5.
This needs to be done last after all modesets have been calculated.
A modeset first disables all crtc's, so any crtc that undergoes a
modeset counts as inactive.
If no modeset's done, or > 1 crtc's stay w/a doesn't apply.
Apply workaround on the first crtc if 1 crtc stays active.
Apply workaround on the second crtc if no crtc was active.
Changes since v1:
- Use intel_crtc->atomic as a place to put hsw_workaround_pipe.
- Make sure quirk only applies to haswell.
- Use first loop to iterate over newly enabled crtc's only.
This increases readability.
Changes since v2:
- Move hsw_workaround_pipe back to crtc_state.
Changes since v3:
- Return errors from haswell_mode_set_planes_workaround.
Changes since v4:
- Clean up commit message.
Signed-off-by: Maarten Lankhorst <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>
f77076c...
by
Maarten Lankhorst <email address hidden>
drm/i915: Remove use of crtc->config from i915_debugfs.c
crtc->config is updated to always contain to the active crtc_state
and only differs from crtc_state during crtc_disable. It will
eventually be removed, so start with some low hanging fruit.
For crtc->active the situation is the same; it will be removed
eventually. Instead use crtc->state->active.
Signed-off-by: Maarten Lankhorst <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>