Hi all, This series is mostly just a bit of fallout from my modeset locking rework which just landed, and some other things I've noticed while rearchitecting the modeset infrastructure for i915.k in 3.7. First two patches are for omapdrm, but included here since they depend upon the locking rework in drm-next. Dunno what to do with these patches, so I'll just drop them here. Rob, you really need to put the finishing touches on omapdrm and move it out of staging! The remainder just mostly cleans up the fb helper interfaces and how the helper code calls down into drivers. Icing on the cake is a good doc update. I'm rather happy with what the fbdev helper code now looks like after this. A few areas with potential for improvement remain though: - Locking around setup/teardown smells a bit fishy, but that ties in with the fbdev setup locking (which is insane) and the drm core setup locking (which is riddled with legacy stuff and also ripe for some overhaul). I think most of pertaining the fbdev emulation is safe though. - Much worse is the situation around the panic, sysrq and kdbg handlers - those simply grab no locks at all. Safe for the ->blank callback, which may not sleep since it can be called while the kernel panics in interrupt context. Bug spotted by Konstantin Khlebnikov, I've only simplified his originally proposed patch a bit. - The fb helpers have their own special interface for handling gamma/luts. I've looked a bit at the code, and I'm pretty sure this can be reworked to only use the real kms interfaces for updating the gamma table. That would leave the fb helpers with ->best_encoder and ->fb_probe as the two only special interfaces. But reworking the gamma code is a bit of work, so I've postponed it for now. Comments, flames, reviews and testing highly welcome. Cheers, Daniel Daniel Vetter (16): omapdrm: only take crtc->mutex in crtc callbacks omapdrm: simply locking in the fb debugfs file drm: review locking for drm_fb_helper_restore_fbdev_mode drm/fb-helper: kill drm_fb_helper_restore drm/fb-helper: unexport drm_fb_helper_panic drm/fb-helper: inline drm_fb_helper_single_add_all_connectors drm/fb-helper: unexport drm_fb_helper_single_fb_probe drm/tegra: don't set up initial fbcon config twice drm/fb-helper: don't disable everything in initial_config drm/i915: rip out helper->disable noop functions drm/fb-helper: fixup up set_config semantics drm/fb-helper: directly call set_par from the hotplug handler drm/fb-helper: streamline drm_fb_helper_single_fb_probe drm/<drivers>: simplify ->fb_probe callback drm/fb-helper: improve kerneldoc drm/fb-helper: don't sleep for screen unblank when an oopps is in progress drivers/gpu/drm/ast/ast_fb.c | 26 +--- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 26 +--- drivers/gpu/drm/drm_fb_cma_helper.c | 27 +--- drivers/gpu/drm/drm_fb_helper.c | 216 +++++++++++++++++++++-------- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 40 +----- drivers/gpu/drm/gma500/framebuffer.c | 14 +- drivers/gpu/drm/i915/intel_crt.c | 1 - drivers/gpu/drm/i915/intel_ddi.c | 1 - drivers/gpu/drm/i915/intel_display.c | 20 +-- drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_drv.h | 1 - drivers/gpu/drm/i915/intel_dvo.c | 1 - drivers/gpu/drm/i915/intel_fb.c | 23 +-- drivers/gpu/drm/i915/intel_hdmi.c | 1 - drivers/gpu/drm/i915/intel_lvds.c | 1 - drivers/gpu/drm/i915/intel_sdvo.c | 1 - drivers/gpu/drm/i915/intel_tv.c | 1 - drivers/gpu/drm/mgag200/mgag200_fb.c | 26 +--- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 27 +--- drivers/gpu/drm/radeon/radeon_fb.c | 25 +--- drivers/gpu/drm/tegra/fb.c | 4 - drivers/gpu/drm/udl/udl_fb.c | 26 +--- drivers/staging/omapdrm/omap_crtc.c | 12 +- drivers/staging/omapdrm/omap_debugfs.c | 14 -- drivers/staging/omapdrm/omap_fbdev.c | 21 +-- include/drm/drm_fb_helper.h | 5 - 26 files changed, 227 insertions(+), 334 deletions(-) -- 1.7.10.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel