diff options
| author | Lyude Paul <[email protected]> | 2019-01-15 20:08:00 +0000 |
|---|---|---|
| committer | Lyude Paul <[email protected]> | 2019-01-15 21:10:43 +0000 |
| commit | 96550555a78ca3c9fda4b358549a5622810fe32c (patch) | |
| tree | 3eab6ac11b6e0554506588b61b91d506997deb02 /drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | |
| parent | staging/vboxvideo: Don't set FBINFO_MISC_ALWAYS_SETPAR (diff) | |
| download | kernel-96550555a78ca3c9fda4b358549a5622810fe32c.tar.gz kernel-96550555a78ca3c9fda4b358549a5622810fe32c.zip | |
drm/i915: Pass down rc in intel_encoder->compute_config()
Something that I completely missed when implementing the new MST VCPI
atomic helpers is that with those helpers, there's technically a chance
of us having to grab additional modeset locks in ->compute_config() and
furthermore, that means we have the potential to hit a normal modeset
deadlock. However, because ->compute_config() only returns a bool this
means we can't return -EDEADLK when we need to drop locks and try again
which means we end up just failing the atomic check permanently. Whoops.
So, fix this by modifying ->compute_config() to pass down an actual
error code instead of a bool so that the atomic check can be restarted
on modeset deadlocks.
Thanks to Ville Syrjälä for pointing this out!
Changes since v1:
* Add some newlines
* Return only -EINVAL from hsw_crt_compute_config()
* Propogate return code from intel_dp_compute_dsc_params()
* Change all of the intel_dp_compute_link_config*() variants
* Don't miss if (hdmi_port_clock_valid()) branch in
intel_hdmi_compute_config()
Signed-off-by: Lyude Paul <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Fixes: eceae1472467 ("drm/dp_mst: Start tracking per-port VCPI allocations")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109320
Reviewed-by: Ville Syrjälä <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c')
0 files changed, 0 insertions, 0 deletions
