linux/drivers/gpu/drm
Ville Syrjälä da47125070 drm/i915: Fix fastset vs. pfit on/off on HSW EDP transcoder
On HSW the pipe A panel fitter lives inside the display power well,
and the input MUX for the EDP transcoder needs to be configured
appropriately to route the data through the power well as needed.
Changing the MUX setting is not allowed while the pipe is active,
so we need to force a full modeset whenever we need to change it.

Currently we may end up doing a fastset which won't change the
MUX settings, but it will drop the power well reference, and that
kills the pipe.

Cc: stable@vger.kernel.org
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: d19f958db2 ("drm/i915: Enable fastset for non-boot modesets.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190425162906.5242-1-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
(cherry picked from commit 13b7648b7e)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-05-13 13:45:51 +03:00
..
amd Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-24 11:46:19 +10:00
arc drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
arm Merge commit 'refs/for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next 2019-04-03 13:44:40 +10:00
armada drm/armada: Use drm_fb_helper_fill_info 2019-03-27 09:56:14 +01:00
aspeed drm: aspeed: Clean up Kconfig options 2019-04-16 16:39:24 +02:00
ast Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
atmel-hlcdc drm/irq: Don't check for DRIVER_HAVE_IRQ in drm_irq_(un)install 2019-01-29 15:45:06 +01:00
bochs Merge drm/drm-next into drm-misc-next 2019-04-10 15:50:49 -04:00
bridge drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
cirrus drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
etnaviv drm-misc-next for 5.2: 2019-03-25 11:05:12 +01:00
exynos drm/ipp: clean up debug messages 2019-04-24 11:23:20 +09:00
fsl-dcu drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
gma500 drm/gma500: Use drm_fb_helper_fill_info 2019-03-27 09:57:28 +01:00
hisilicon Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
i2c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
i810
i915 drm/i915: Fix fastset vs. pfit on/off on HSW EDP transcoder 2019-05-13 13:45:51 +03:00
imx drm-misc-next for 5.2: 2019-03-25 11:05:12 +01:00
lib
lima drm/lima: Make lima_sched_ops static 2019-04-17 20:56:40 +08:00
mediatek drm/mediatek: no change parent rate in round_rate() for MT2701 hdmi phy 2019-04-09 17:47:01 +08:00
meson drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
mga drm/irq: Ditch DRIVER_IRQ_SHARED 2019-01-29 15:45:21 +01:00
mgag200 Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
msm Merge tag 'drm-msm-next-2019-04-21' of https://gitlab.freedesktop.org/drm/msm into drm-next 2019-04-24 11:56:32 +10:00
mxsfb drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
nouveau Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
omapdrm Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
panel drm/panel: simple: add lg,acx467akm-7 panel 2019-04-17 23:02:44 +02:00
panfrost drm/panfrost: Add support for 2MB page entries 2019-04-12 13:33:58 -05:00
pl111 drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
qxl Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
r128 drm/irq: Ditch DRIVER_IRQ_SHARED 2019-01-29 15:45:21 +01:00
radeon Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
rcar-du drm: rcar-du: lvds: Set LVEN and LVRES bits together on D3 2019-03-28 06:12:42 +02:00
rockchip Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
savage drm/savage: mark expected switch fall-throughs 2019-01-30 17:35:29 +01:00
scheduler Merge branch 'drm-next-5.1' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-02-22 15:56:42 +10:00
selftests drm/selftests/mm: Switch to bitmap_zalloc() 2019-03-20 17:36:06 +00:00
shmobile drm/irq: Don't check for DRIVER_HAVE_IRQ in drm_irq_(un)install 2019-01-29 15:45:06 +01:00
sis
sti drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
stm drm/stm: add sleep power management 2019-04-01 11:00:18 +02:00
sun4i drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
tdfx
tegra drm/tegra: Changes for v5.2-rc1 2019-04-24 10:30:45 +10:00
tilcdc drm/irq: Don't check for DRIVER_HAVE_IRQ in drm_irq_(un)install 2019-01-29 15:45:06 +01:00
tinydrm drm/tinydrm: Fix fbdev pixel format 2019-04-11 16:16:06 +02:00
ttm drm/ttm: Fix spelling of "KiB" 2019-03-19 15:04:03 -05:00
tve200 drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
udl drm/udl: move to embedding drm device inside udl device. 2019-04-24 13:48:45 +10:00
v3d drm/v3d: fix a missing check of pm_runtime_get_sync 2019-04-01 10:45:59 -07:00
vboxvideo Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
vc4 drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
vgem drm/vgem: fix use-after-free when drm_gem_handle_create() fails 2019-03-18 08:45:57 +01:00
via drm/via: mark expected switch fall-throughs 2019-01-30 17:35:29 +01:00
virtio drm-misc-next for 5.2: 2019-04-05 11:38:02 +10:00
vkms Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
vmwgfx drm/vmwgfx: Remove set but not used variable 'fb_offset, fb_depth' 2019-04-08 10:29:05 -07:00
xen drm/drv: drm_dev_unplug(): Move out drm_dev_put() call 2019-02-21 12:11:58 +01:00
zte drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
ati_pcigart.c drm/ati_pcigart: Fix error code in drm_ati_pcigart_init() 2018-12-17 10:47:17 +01:00
drm_agpsupport.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_atomic.c drm-misc-next for 5.1: 2019-01-10 05:58:52 +10:00
drm_atomic_helper.c Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
drm_atomic_state_helper.c drm: writeback: Fix leak of writeback job 2019-03-18 17:24:32 +02:00
drm_atomic_uapi.c drm-misc-next for 5.2: 2019-03-25 11:05:12 +01:00
drm_auth.c drm: set is_master to 0 upon drm_new_set_master() failure 2018-11-26 16:14:27 -05:00
drm_blend.c drm: Clarify DRM_MODE_REFLECT_X/Y documentation 2018-09-11 11:21:30 +01:00
drm_bridge.c drm: bridge: Constify mode arguments to bridge .mode_set() operation 2019-01-14 03:51:14 +02:00
drm_bufs.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_cache.c
drm_client.c drm/client: Rename drm_client_add() to drm_client_register() 2019-04-11 16:14:49 +02:00
drm_color_mgmt.c drm: Constify drm_color_lut_check() 2019-01-29 23:26:12 +02:00
drm_connector.c drm/dp: Set the connector's TILE property even for DP SST connectors 2019-03-14 11:33:17 -07:00
drm_context.c drm: Fix error handling in drm_legacy_addctx 2019-01-07 11:26:31 +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_crtc_helper.c drm: Remove use of drm_mode_object 2019-01-15 13:20:56 +01:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: Unexport drm_crtc_force_disable 2019-01-11 15:56:40 +01:00
drm_damage_helper.c drm: prepare for drmP.h removal from drm_modeset_helper.h 2019-02-07 21:48:28 +01:00
drm_debugfs.c drm: Merge drm_info.c into drm_debugfs.c 2018-11-22 09:52:27 +01:00
drm_debugfs_crc.c Revert "drm: crc: Wait for a frame before returning from open()" 2018-08-22 09:50:16 -07:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c drm: Do not call drm_dp_cec_set_edid() while registering DP connectors 2018-10-11 10:52:35 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dsc: Add kernel documentation for DRM DP DSC helpers 2019-02-08 13:38:51 -08:00
drm_dp_mst_topology.c drm/dp: Set the connector's TILE property even for DP SST connectors 2019-03-14 11:33:17 -07:00
drm_drv.c drm/drv: Fix incorrect resolution of merge conflict 2019-04-18 06:42:22 +10:00
drm_dsc.c drm/dsc: Split DSC PPS and SDP header initialisations 2019-03-05 13:24:34 -05:00
drm_dumb_buffers.c
drm_edid.c drm/edid: Remove defunct EDID_QUIRK_FIRST_DETAILED_PREFERRED 2019-03-27 13:55:13 +02:00
drm_edid_load.c
drm_encoder.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c drm/cma-helper: Remove unused fbdev code 2019-01-17 10:56:38 +01:00
drm_fb_helper.c drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
drm_file.c drm: Fix drm_release() and device unplug 2019-03-25 15:58:05 +10:00
drm_flip_work.c drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
drm_format_helper.c drm: add drm_format_helper.c to kerneldoc 2019-04-17 09:39:22 +02:00
drm_fourcc.c drm/fourcc: Fix conflicting Y41x definitions 2019-03-21 09:49:04 +01:00
drm_framebuffer.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_gem.c drm: Add helpers for setting up an array of dma_fence dependencies. 2019-04-16 15:32:20 -07:00
drm_gem_cma_helper.c drm/cma-helper: Add DRM_GEM_CMA_VMAP_DRIVER_OPS 2018-11-20 14:57:25 +01:00
drm_gem_framebuffer_helper.c drm/gem-fb-helper: Add drm_gem_fb_create_with_dirty() 2019-01-17 10:56:45 +01:00
drm_gem_shmem_helper.c drm: shmem: Off by one in drm_gem_shmem_fault() 2019-04-01 10:44:34 -07:00
drm_hashtab.c
drm_internal.h drm/syncobj: add timeline signal ioctl for syncobj v5 2019-04-01 12:09:00 +02:00
drm_ioc32.c drm: add __user attribute to ptr_to_compat() 2019-03-04 09:55:31 -05:00
drm_ioctl.c Revert "drm: allow render capable master with DRM_AUTH ioctls" 2019-04-18 06:46:33 +10:00
drm_irq.c drm/irq: Ditch DRIVER_IRQ_SHARED 2019-01-29 15:45:21 +01:00
drm_kms_helper_common.c drm: fix spelling mistake "intead" -> "instead" 2019-03-04 11:18:50 -05:00
drm_lease.c Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
drm_legacy.h
drm_lock.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_memory.c drm: fallback to dma_alloc_coherent when memory encryption is active 2019-04-01 11:43:42 +02:00
drm_mipi_dsi.c
drm_mm.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_mode_config.c drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only 2019-04-16 15:13:23 -07:00
drm_mode_object.c gpu/drm: Fix lock held when returning to user space. 2019-01-10 11:31:58 +01:00
drm_modes.c drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
drm_modeset_helper.c drm: prepare for drmP.h removal from drm_modeset_helper.h 2019-02-07 21:48:28 +01:00
drm_modeset_lock.c drm/atomic: integrate modeset lock with private objects 2018-12-11 15:24:30 +01:00
drm_of.c drm/of: Fix kerneldoc 2019-01-12 13:07:58 +01:00
drm_panel.c drm/panel: Small documentation polish 2019-01-12 13:08:12 +01:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo Ideapad D330 2019-03-01 09:15:55 +02:00
drm_pci.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
drm_plane.c drm: Auto-set allow_fb_modifiers when given modifiers at plane init 2019-01-11 16:53:55 +01:00
drm_plane_helper.c drm: Unexport drm_plane_helper_check_update 2018-10-05 22:45:19 +02:00
drm_prime.c drm: Add reservation_object to drm_gem_object 2019-02-19 11:08:40 +01:00
drm_print.c drm: Add a helper function for printing a debugfs_regset32. 2019-04-01 10:44:34 -07:00
drm_probe_helper.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
drm_property.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_rect.c drm: Nuke drm_calc_{h,v}scale_relaxed() 2019-02-07 13:14:06 +02:00
drm_scatter.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_scdc_helper.c
drm_simple_kms_helper.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
drm_syncobj.c drm/syncobj: add timeline signal ioctl for syncobj v5 2019-04-01 12:09:00 +02:00
drm_sysfs.c drm/lease: Send a distinct uevent 2018-11-30 10:57:18 +01:00
drm_trace.h
drm_trace_points.c
drm_vblank.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_vm.c drm/drm_vm: Mark expected switch fall-throughs 2019-02-19 12:20:41 +01:00
drm_vma_manager.c drm: Remove "protection" around drm_vma_offset_manager_destroy() 2018-09-04 19:00:32 +01:00
drm_writeback.c drm: writeback: Add job prepare and cleanup operations 2019-03-18 17:24:38 +02:00
Kconfig drm/panfrost: Add initial panfrost driver 2019-04-12 12:56:46 -05:00
Makefile drm/panfrost: Add initial panfrost driver 2019-04-12 12:56:46 -05:00