linux-stable/Documentation/gpu
Noralf Trønnes 03a9606e7f drm/fb-helper: Avoid race with DRM userspace
drm_fb_helper_is_bound() is used to check if DRM userspace is in control.
This is done by looking at the fb on the primary plane. By the time
fb-helper gets around to committing, it's possible that the facts have
changed.

Avoid this race by holding the drm_device->master_mutex lock while
committing. When DRM userspace does its first open, it will now wait
until fb-helper is done. The helper will stay away if there's a master.

Two igt tests fail with the new 'bail out if master' rule. Work around
this by relaxing this rule for drm_fb_helper_restore_fbdev_mode_unlocked()
until the tests have been fixed. Add todo entry for this.

Locking rule: Always take the fb-helper lock first.

v5: drm_fb_helper_restore_fbdev_mode_unlocked(): Use
    restore_fbdev_mode_force()

v2:
- Remove drm_fb_helper_is_bound() (Daniel Vetter)
- No need to check fb_helper->dev->master in
  drm_fb_helper_single_fb_probe(), restore_fbdev_mode() has the check.

Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20190506180139.6913-3-noralf@tronnes.org
2019-05-14 16:11:28 +02:00
..
bridge
dp-mst drm/dp_mst: Introduce new refcounting scheme for mstbs and ports 2019-01-10 20:12:19 -05:00
afbc.rst drm/afbc: Add AFBC modifier usage documentation 2019-01-11 17:52:06 +00:00
amdgpu-dc.rst drm/amd/display: Initial documentation for AMDgpu DC 2018-11-05 14:21:37 -05:00
amdgpu.rst drm/amdgpu: update documentation for amdgpu_drv.c 2018-07-05 16:40:04 -05:00
conf.py
drivers.rst drm/doc: Add initial komeda driver documentation 2019-01-14 11:20:11 +00:00
drm-client.rst drm: Begin an API for in-kernel clients 2018-07-10 14:51:37 +02:00
drm-internals.rst drm/doc: document recommended component helper usage 2019-02-19 12:22:24 +01:00
drm-kms-helpers.rst drm: add drm_format_helper.c to kerneldoc 2019-04-17 09:39:22 +02:00
drm-kms.rst drm/doc: Drop chapter "KMS Initialization and Cleanup" 2019-01-30 22:16:18 +01:00
drm-mm.rst Documentation: drm: Remove dangling pointer from drm-mm.rst 2018-11-30 08:55:37 +10:00
drm-uapi.rst drm/doc: Make igts for cross-driver stuff strongly suggested 2019-02-07 11:13:12 +01:00
i915.rst drm/i915: Move a bunch of workaround-related code to its own file 2018-04-11 22:47:01 +01:00
index.rst drm: Begin an API for in-kernel clients 2018-07-10 14:51:37 +02:00
introduction.rst
kms-properties.csv drm/doc: Drop "content type" from the legacy kms property table 2019-03-26 14:18:51 +01:00
komeda-kms.rst drm/doc: Add initial komeda driver documentation 2019-01-14 11:20:11 +00:00
meson.rst Documentation/gpu/meson: Remove link to meson_canvas.c 2019-04-05 08:35:05 -04:00
msm-crash-dump.rst drm/msm/gpu: Add the buffer objects from the submit to the crash dump 2018-07-30 08:50:10 -04:00
pl111.rst drm/pl111: Initial drm/kms driver for pl111 2017-05-08 12:24:06 -07:00
tegra.rst drm/tegra: Add driver documentation 2017-06-15 13:58:56 +02:00
tinydrm.rst drm/tinydrm: Remove tinydrm_device 2019-03-04 15:31:27 +01:00
todo.rst drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
tve200.rst drm/tve200: fix kernel-doc documentation comment include 2018-02-21 09:26:38 +02:00
v3d.rst drm/v3d: Add missing v3d documentation structure. 2018-07-05 11:42:50 -07:00
vc4.rst
vga-switcheroo.rst
vgaarbiter.rst
vkms.rst drm/doc: Remove solved "VBlank issues" 2019-02-06 21:40:56 +01:00
xen-front.rst drm/xen-front: Remove CMA support 2018-04-18 10:18:27 +03:00