linux/drivers/gpu/drm/gma500
Daniel Vetter 737292a3c0 drm/gma500: Add driver private mutex for the fault handler
There's currently two places where the gma500 fault handler relies
upon dev->struct_mutex:
- To protect r->mappping
- To make sure vm_insert_pfn isn't called concurrently (in which case
  the 2nd thread would get an error code).

Everything else (specifically psb_gtt_pin) is already protected by
some other locks. Hence just create a new driver-private mmap_mutex
just for this function.

With this gma500 is complete dev->struct_mutex free!

Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448271183-20523-21-git-send-email-daniel.vetter@ffwll.ch
2015-12-01 10:05:11 +01:00
..
accel_2d.c drm/gma500: Use new drm_fb_helper functions 2015-08-06 14:12:59 +02: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/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
cdv_intel_dp.c drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition 2015-09-24 20:14:25 +02:00
cdv_intel_hdmi.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
cdv_intel_lvds.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
framebuffer.c drm/gma500: Drop dev->struct_mutex from fbdev init/teardown code 2015-12-01 10:05:03 +01:00
framebuffer.h drm/gma500: Rename psb_intel_connector to gma_connector 2013-07-24 01:47:34 +02:00
gem.c drm/gma500: Add driver private mutex for the fault handler 2015-12-01 10:05:11 +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/gma500: Drop dev->struct_mutex from modeset code 2015-12-01 10:04:59 +01:00
gma_display.h drm/gma500: Unify encoder mode fixup 2014-03-17 20:14:01 +01:00
gtt.c drm/gma500: Add driver private mutex for the fault handler 2015-12-01 10:05:11 +01:00
gtt.h drm: Extract <drm/drm_gem.h> 2014-09-24 11:43:41 +10:00
intel_bios.c drm/gma500: Renaming DP training vswing pre emph defines 2014-09-03 11:05:38 +02: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
Kconfig ACPI / gpu / drm: Stop selecting VIDEO_OUTPUT_CONTROL 2014-03-20 02:37:22 +01:00
Makefile drm/gma500: add support for atom e6xx lpc lvds i2c 2014-12-02 13:42:49 +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: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +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/gma500: mdfld: Reuse video/mipi_display.h 2014-11-13 10:44:41 +01:00
mdfld_dsi_pkg_sender.h drm/gma500: mdfld: Reuse video/mipi_display.h 2014-11-13 10:44:41 +01:00
mdfld_intel_display.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02: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 gma500: remove duplicate FB_REG09 define 2014-06-19 15:12:41 +02: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_crtc.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02: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_i2c.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
oaktrail_hdmi.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
oaktrail_lvds_i2c.c drm/gma500: add support for atom e6xx lpc lvds i2c 2014-12-02 13:42:49 +10:00
oaktrail_lvds.c drm/gma500: add support for atom e6xx lpc lvds i2c 2014-12-02 13:42:49 +10:00
oaktrail.h gma600: Enable HDMI support 2012-11-07 10:59:32 +10: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/gma500: add support for atom e6xx lpc lvds i2c 2014-12-02 13:42:49 +10:00
psb_drv.h drm/gma500: Add driver private mutex for the fault handler 2015-12-01 10:05:11 +01:00
psb_intel_display.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
psb_intel_drv.h drm/gma500: add support for atom e6xx lpc lvds i2c 2014-12-02 13:42:49 +10:00
psb_intel_lvds.c drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +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_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: Don't destroy DRM properties in the driver 2014-10-31 18:38:21 +01:00
psb_irq.c drm/irq: Use unsigned int pipe in public API 2015-10-06 12:57:47 +02:00
psb_irq.h drm/irq: Use unsigned int pipe in public API 2015-10-06 12:57:47 +02: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