[PATCH 00/13] some stuff, and then connector_list locking
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Dec 13 23:08:01 UTC 2016
Hi all,
I finally clued up about connector_list locking and here is a fix for that
little issue that's not totally horribly nightmare fuel. As usual I ended up
reading too much other code, so there's a few random bits in here too. Some of
the earlier randomness I submitted already and it's in drm-misc by now.
Anyway, core is all fixed up (and lost 2 FIXME and all unprotected
connector_list walkers). Helpers are converted (again all of it), plus i915 as
an example. Well, not all: The ones in intel_display.c look like (at least some)
that they should instead walk the connectors in some atomic update. An I just
couldn't be bothered to change the code in intel_sdvo.c since meh. Otherwise all
the existing connector_list walkers (whether drm_for_each_connector,
for_each_intel_connector or raw walk) are now all connected.
Seems to not immediately blow up, and even after a few nights of sleep I still
think this is correct.
Kerneldoc is also polished and updated.
Feedback and review highly welcome.
Cheers, Daniel
Daniel Vetter (13):
drm/irq: drm_legacy_ prefix for legacy ioctls
drm: Move atomic debugfs functions into drm_crtc_internal.h
drm/radeon|amdgpu: Remove redundant num_connectors check
drm: Drop locking cargo-cult from drm_mode_config_init
drm: locking&new iterators for connector_list
drm: Convert all helpers to drm_connector_list_iter
drm: Clean up connectors by unreferencing them
drm: prevent double-(un)registration for connectors
drm: Tighten locking in drm_mode_getconnector
drm/i915: Use drm_connector_list_iter in debugfs
drm/i915: use drm_connector_list_iter in intel_hotplug.c
drm/i915: use drm_connector_list_iter in intel_opregion.c
drm/i915: Make intel_get_pipe_from_connector atomic
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +-
drivers/gpu/drm/drm_atomic.c | 14 +-
drivers/gpu/drm/drm_atomic_helper.c | 39 ++++--
drivers/gpu/drm/drm_connector.c | 226 ++++++++++++++++++++++----------
drivers/gpu/drm/drm_crtc_helper.c | 49 +++++--
drivers/gpu/drm/drm_crtc_internal.h | 6 +
drivers/gpu/drm/drm_debugfs.c | 1 +
drivers/gpu/drm/drm_encoder.c | 6 +-
drivers/gpu/drm/drm_fb_helper.c | 12 +-
drivers/gpu/drm/drm_internal.h | 8 +-
drivers/gpu/drm/drm_ioctl.c | 4 +-
drivers/gpu/drm/drm_irq.c | 30 +----
drivers/gpu/drm/drm_mode_config.c | 51 +++----
drivers/gpu/drm/drm_modeset_helper.c | 2 +
drivers/gpu/drm/drm_plane_helper.c | 5 +-
drivers/gpu/drm/drm_probe_helper.c | 18 ++-
drivers/gpu/drm/i915/i915_debugfs.c | 62 ++++++---
drivers/gpu/drm/i915/i915_drv.h | 3 +
drivers/gpu/drm/i915/intel_display.c | 5 +-
drivers/gpu/drm/i915/intel_hotplug.c | 28 ++--
drivers/gpu/drm/i915/intel_opregion.c | 15 ++-
drivers/gpu/drm/radeon/radeon_irq_kms.c | 12 +-
include/drm/drm_atomic.h | 6 -
include/drm/drm_connector.h | 73 ++++++++++-
include/drm/drm_mode_config.h | 12 +-
25 files changed, 466 insertions(+), 227 deletions(-)
--
2.11.0
More information about the dri-devel
mailing list