linux_dsm_epyc7002/drivers/gpu/drm
Lyude Paul 96550555a7 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 <lyude@redhat.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: eceae14724 ("drm/dp_mst: Start tracking per-port VCPI allocations")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109320
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190115200800.3121-1-lyude@redhat.com
2019-01-15 16:10:43 -05:00
..
amd drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
arc drm/arc: Don't set the dpms hook 2019-01-11 22:54:37 +01:00
arm
armada drm: armada: Cleanup drm_display_mode print str 2019-01-15 13:20:48 +01:00
ast drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
atmel-hlcdc
bochs drm/bochs: move remaining fb bits to kms 2019-01-14 08:39:17 +01:00
bridge drm/panel: Small documentation polish 2019-01-12 13:08:12 +01:00
cirrus drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
etnaviv drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
exynos Merge drm/drm-next into drm-misc-next 2019-01-11 16:32:10 +01:00
fsl-dcu
gma500
hisilicon drm/hisilicon/kirin: Use drm_fbdev_generic_setup() 2019-01-14 12:33:36 +01:00
i2c drm/tda998x: Don't set dpms hook 2019-01-11 22:54:52 +01:00
i810
i915 drm/i915: Pass down rc in intel_encoder->compute_config() 2019-01-15 16:10:43 -05:00
imx
lib
mediatek Merge drm/drm-next into drm-misc-next 2019-01-11 16:32:10 +01:00
meson drm/meson: remove firmware framebuffers 2019-01-14 16:56:11 +01:00
mga
mgag200 drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
msm drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
mxsfb drm/mxsfb: Use drm_fbdev_generic_setup() 2019-01-14 12:35:05 +01:00
nouveau drm: Move the legacy kms disable_all helper to crtc helpers 2019-01-11 22:54:29 +01:00
omapdrm drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
panel drm/panel: Add a driver for the TPO TPG110 2019-01-11 19:51:09 +01:00
pl111
qxl drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
r128
radeon drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
rcar-du Merge drm/drm-next into drm-misc-next 2019-01-11 16:32:10 +01:00
rockchip drm: rockchip: vop: add rk3066 vop definitions 2019-01-12 19:42:58 +01:00
savage
scheduler
selftests
shmobile
sis
sti drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
stm
sun4i drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
tdfx
tegra Merge drm/drm-next into drm-misc-next 2019-01-11 16:32:10 +01:00
tilcdc tilcdc pull request for Linux v4.22 2019-01-11 06:29:31 +10:00
tinydrm drm/tinydrm: do not reply on drmP.h from drm_gem_cma_helper.h 2019-01-09 22:48:56 +01:00
ttm
tve200
udl
v3d
vc4 drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
vgem
via
virtio drm/virtio: Drop deprecated load/unload initialization 2019-01-09 09:38:49 +01:00
vkms
vmwgfx IOMMU Updates for Linux v4.21 2019-01-01 15:55:29 -08:00
xen drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
zte drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_atomic.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c drm: un-inline drm_legacy_findmap() 2019-01-02 11:37:11 +02:00
drm_cache.c
drm_client.c
drm_color_mgmt.c
drm_connector.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_context.c drm: Fix error handling in drm_legacy_addctx 2019-01-07 11:26:31 +01:00
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Remove use of drm_mode_object 2019-01-15 13:20:56 +01:00
drm_crtc_internal.h drm: Unexport drm_crtc_force_disable 2019-01-11 15:56:40 +01:00
drm_crtc.c drm: Move the legacy kms disable_all helper to crtc helpers 2019-01-11 22:54:29 +01:00
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: annotate implicit fall throughs 2019-01-15 12:50:24 +01:00
drm_dp_mst_topology.c drm/dp_mst: Check payload count in drm_dp_mst_atomic_check() 2019-01-10 20:45:25 -05:00
drm_drv.c drm/docs: improve docs for drm_drv.c 2019-01-12 13:07:30 +01:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: Add display_info.rgb_quant_range_selectable 2019-01-10 19:01:06 +02:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c Merge drm/drm-next into drm-misc-next 2019-01-11 16:32:10 +01:00
drm_file.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
drm_flip_work.c drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
drm_fourcc.c
drm_framebuffer.c drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h 2019-01-14 10:58:37 +01:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_gem.c drm/gem: Mark pinned pages as unevictable 2019-01-09 21:24:50 +00:00
drm_hashtab.c
drm_internal.h drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_mode_object.c drm: Reorder set_property_atomic to avoid returning with an active ww_ctx 2019-01-03 09:54:26 +00:00
drm_modes.c drm: Remove use of drm_mode_object 2019-01-15 13:20:56 +01:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm/of: Fix kerneldoc 2019-01-12 13:07:58 +01:00
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: Small documentation polish 2019-01-12 13:08:12 +01:00
drm_pci.c
drm_plane_helper.c
drm_plane.c drm: Auto-set allow_fb_modifiers when given modifiers at plane init 2019-01-11 16:53:55 +01:00
drm_prime.c
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c drm/vblank: Allow dynamic per-crtc max_vblank_count 2019-01-14 21:23:55 +02:00
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig
Makefile