1
0
Fork 0
alistair23-linux/drivers/gpu/drm/gma500
Thierry Reding 10a2310265 drm: Introduce drm_fb_helper_prepare()
To implement hotplug detection in a race-free manner, drivers must call
drm_kms_helper_poll_init() before hotplug events can be triggered. Such
events can be triggered right after any of the encoders or connectors
are initialized. At the same time, if the drm_fb_helper_hotplug_event()
helper is used by a driver, then the poll helper requires some parts of
the FB helper to be initialized to prevent a crash.

At the same time, drm_fb_helper_init() requires information that is not
necessarily available at such an early stage (number of CRTCs and
connectors), so it cannot be used yet.

Add a new helper, drm_fb_helper_prepare(), that initializes the bare
minimum needed to allow drm_kms_helper_poll_init() to execute and any
subsequent hotplug events to be processed properly.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-07-08 11:31:28 +10:00
..
Kconfig ACPI / gpu / drm: Stop selecting VIDEO_OUTPUT_CONTROL 2014-03-20 02:37:22 +01:00
Makefile drm/gma500: Unify _get_core_freq for cdv and psb 2014-03-17 20:13:24 +01:00
accel_2d.c drm: Kill DRM_HZ 2013-12-18 11:33:24 +10:00
backlight.c drivers/gpu/drm/gma500/backlight.c: fix a defined-but-not-used warning for do_gma_backlight_set() 2014-01-23 16:36:55 -08:00
blitter.c drm/gma500: Add first piece of blitter code 2014-03-17 20:11:51 +01:00
blitter.h drm/gma500: Add first piece of blitter code 2014-03-17 20:11:51 +01:00
cdv_device.c drm/gma500: Unify _get_core_freq for cdv and psb 2014-03-17 20:13:24 +01:00
cdv_device.h drm/gma500/cdv: Add and hook up chip op for disabling sr 2013-08-15 00:54:44 +02:00
cdv_intel_crt.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
cdv_intel_display.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
cdv_intel_dp.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
cdv_intel_hdmi.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
cdv_intel_lvds.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
framebuffer.c drm: Introduce drm_fb_helper_prepare() 2014-07-08 11:31:28 +10:00
framebuffer.h drm/gma500: Rename psb_intel_connector to gma_connector 2013-07-24 01:47:34 +02:00
gem.c drm/gma500: Remove dead code 2014-03-17 20:12:02 +01:00
gem.h drm/gma500: Add backing type and base align to psb_gem_create() 2014-03-17 20:11:59 +01:00
gma_device.c drm/gma500: Unify _get_core_freq for cdv and psb 2014-03-17 20:13:24 +01:00
gma_device.h drm/gma500: Unify _get_core_freq for cdv and psb 2014-03-17 20:13:24 +01:00
gma_display.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
gma_display.h drm/gma500: Unify encoder mode fixup 2014-03-17 20:14:01 +01:00
gtt.c drm/gem: remove misleading gfp parameter to get_pages() 2014-07-08 00:29:53 +02:00
gtt.h drm/gma500: Add backing type and base align to psb_gem_create() 2014-03-17 20:11:59 +01:00
intel_bios.c drivers: gpu: drm: gma500: Replaced calls kzalloc & memcpy with kmemdup 2013-03-13 22:37:32 +01:00
intel_bios.h drm/gma500: Clean up various defines 2013-03-17 18:32:56 +01:00
intel_gmbus.c drm/gma500: Add aux device support for gmbus 2013-11-08 16:22:08 +01:00
intel_i2c.c gma500: fixup build versus latest header changes. 2011-11-16 12:14:04 +00:00
mdfld_device.c gma500: handle poulsbo cursor restriction 2012-05-22 10:15:34 +01:00
mdfld_dsi_dpi.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
mdfld_dsi_dpi.h drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
mdfld_dsi_output.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
mdfld_dsi_output.h intel_mid: Renamed *mrst* to *intel_mid* 2013-10-17 16:40:36 -07:00
mdfld_dsi_pkg_sender.c drm: Remove spurious ';' 2014-06-10 09:35:42 +10:00
mdfld_dsi_pkg_sender.h gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
mdfld_intel_display.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
mdfld_output.c gma500: mdfld_dsi_output_init() drop unused parameter 2012-03-10 13:05:51 +00:00
mdfld_output.h gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
mdfld_tmd_vid.c gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
mdfld_tpo_vid.c gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
mid_bios.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
mid_bios.h gma500: Add the glue to the various BIOS and firmware interfaces 2011-11-16 11:25:28 +00:00
mmu.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-04-08 09:52:16 -07:00
mmu.h drm/gma500: Give MMU code it's own header file 2014-03-17 20:11:48 +01:00
oaktrail.h gma600: Enable HDMI support 2012-11-07 10:59:32 +10:00
oaktrail_crtc.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
oaktrail_device.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-11-15 14:19:54 +09:00
oaktrail_hdmi.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
oaktrail_hdmi_i2c.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
oaktrail_lvds.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
opregion.c drm/gma500: Move asle interrupt work into a work task 2014-03-17 20:12:04 +01:00
opregion.h gma500: move the ASLE enable 2012-07-16 09:20:33 -07:00
power.c drm/gma500: Add hooks for hibernation 2013-04-07 17:09:34 +02:00
power.h drm/gma500: Add hooks for hibernation 2013-04-07 17:09:34 +02:00
psb_device.c drm/gma500: Unify _get_core_freq for cdv and psb 2014-03-17 20:13:24 +01:00
psb_device.h drm/gma500/psb: Make use of generic clock code 2013-07-24 01:47:18 +02:00
psb_drv.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
psb_drv.h drm/gma500: Code cleanup - inline documentation 2014-03-17 20:14:10 +01:00
psb_intel_display.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
psb_intel_drv.h drm/gma500: Remove unused ioctls 2014-03-17 20:11:57 +01:00
psb_intel_lvds.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
psb_intel_modes.c gma500: Remove psb_intel_output from ddc_probe and ddc_get_modes 2011-12-20 10:23:06 +00:00
psb_intel_reg.h drm/gma500: Clean up various defines 2013-03-17 18:32:56 +01:00
psb_intel_sdvo.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
psb_intel_sdvo_regs.h gma500: Replace SDVO code with slightly modified version from i915 2011-12-20 10:23:14 +00:00
psb_irq.c drm/gma500: Add support for SGX interrupts 2014-03-17 20:11:38 +01:00
psb_irq.h drm: Kill DRM_IRQ_ARGS 2013-12-18 11:33:46 +10:00
psb_lid.c gma500: Prevent endless loop in panel power up sequence 2012-05-22 10:15:29 +01:00
psb_reg.h gma500: Add the core DRM files and headers 2011-11-16 11:26:35 +00:00
tc35876x-dsi-lvds.c Drivers: gpu: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
tc35876x-dsi-lvds.h gma500: initial medfield merge 2012-03-10 13:05:48 +00:00