linux/drivers/gpu/drm/gma500
Daniel Vetter c7d73f6a8a drm/<drivers>: reorder framebuffer init sequence
With more fine-grained locking we can no longer rely on the big
mode_config lock to prevent concurrent access to mode resources
like framebuffers. Instead a framebuffer becomes accessible to
other threads as soon as it is added to the relevant lookup
structures. Hence it needs to be fully set up by the time drivers
call drm_framebuffer_init.

This patch here is the drivers part of that reorg. Nothing really fancy
going on safe for three special cases.

- exynos needs to be careful to properly unref all handles.
- nouveau gets a resource leak fixed for free: one of the error
  cases didn't cleanup the framebuffer, which is now moot since
  the framebuffer is only registered once it is fully set up.
- vmwgfx requires a slight reordering of operations, I'm hoping I didn't
  break anything (but it's refcount management only, so should be safe).

v2: Split out exynos, since it's a bit more hairy than expected.

v3: Drop bogus cirrus hunk noticed by Richard Wilbur.

v4: Split out vmwgfx since there's a small change in return values.

Reviewed-by: Rob Clark <rob@ti.com> (core + omapdrm)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-01-20 15:29:24 +01:00
..
accel_2d.c drm: Replace pitch with pitches[] in drm_framebuffer 2011-12-20 10:06:27 +00:00
backlight.c gma500/cdv: Add eDP support 2012-08-24 09:29:25 +10:00
cdv_device.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
cdv_device.h gma500: fix cdv_intel_wait_for_vblank() prototype 2012-03-10 13:06:15 +00:00
cdv_intel_crt.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
cdv_intel_display.c gma500: psb_intel_crtc: Drop crtc_enable flag. 2012-08-24 09:43:27 +10:00
cdv_intel_dp.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
cdv_intel_hdmi.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
cdv_intel_lvds.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
framebuffer.c drm/<drivers>: reorder framebuffer init sequence 2013-01-20 15:29:24 +01:00
framebuffer.h gma500: kill virtual mapping support 2011-12-06 09:55:29 +00:00
gem.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
gtt.c gma500: Clean up some of the noise 2012-05-11 17:35:52 +01:00
gtt.h gma500: gtt based hardware scrolling console 2011-12-06 09:55:39 +00:00
intel_bios.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
intel_bios.h gma500/cdv: Add eDP support 2012-08-24 09:29:25 +10:00
intel_gmbus.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_i2c.c gma500: fixup build versus latest header changes. 2011-11-16 12:14:04 +00:00
Kconfig gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
Makefile drm: gma500: Kill the GEM glue layer 2012-08-24 09:30:02 +10: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/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
mdfld_dsi_output.h drivers: gpu: drm: gma500: mdfld_dsi_output.h: Remove not unneeded include of version.h 2012-04-19 14:38:02 +01:00
mdfld_dsi_pkg_sender.c gma500: use the register map to clean up 2012-05-11 17:35:51 +01:00
mdfld_dsi_pkg_sender.h gma500: initial medfield merge 2012-03-10 13:05:48 +00:00
mdfld_intel_display.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06: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 2012-03-22 13:08:22 -07:00
oaktrail_crtc.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
oaktrail_device.c gma600: Enable HDMI support 2012-11-07 10:59:32 +10:00
oaktrail_hdmi_i2c.c gma500: oaktrail_hdmi_i2c_handler(): base should be __iomem 2012-05-07 10:58:55 +01:00
oaktrail_hdmi.c gma600: Enable HDMI support 2012-11-07 10:59:32 +10:00
oaktrail_lvds.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
oaktrail.h gma600: Enable HDMI support 2012-11-07 10:59:32 +10:00
opregion.c gma500/cdv: Add eDP support 2012-08-24 09:29:25 +10:00
opregion.h gma500: move the ASLE enable 2012-07-16 09:20:33 -07:00
power.c gma500: suspend/resume support for Cedartrail 2012-03-15 09:46:22 +00:00
power.h gma500: Add device framework 2011-11-16 11:25:08 +00:00
psb_device.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
psb_drv.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
psb_drv.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
psb_intel_display.c gma500: Consider CRTC initially active. 2012-08-30 10:33:53 +10:00
psb_intel_display.h gma500: Add Poulsbo support 2011-11-16 11:26:55 +00:00
psb_intel_drv.h gma500: fix incorrect declaration. 2012-08-24 13:53:49 +10:00
psb_intel_lvds.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06: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 gma500: Disable the clock gating of display controller to make DP/eDP work well 2012-08-24 09:29:31 +10: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_intel_sdvo.c drm/gma500: drm_connector_property -> drm_object_property 2012-11-30 10:20:11 -06:00
psb_irq.c gma500: psb_irq_turn_off_dpst() fix bit operation 2012-05-07 10:58:53 +01:00
psb_irq.h gma500: initial medfield merge 2012-03-10 13:05:48 +00: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