Merge branch 'gpu-switcher' of /ssd/git//linux-2.6 into drm-next-stage
Dave Airlie [Mon, 1 Mar 2010 06:22:38 +0000 (16:22 +1000)]
* 'gpu-switcher' of /ssd/git//linux-2.6:
  vga_switcheroo: initial implementation (v15)
  fb: for framebuffer handover don't exit the loop early.

Conflicts:
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/radeon/Makefile
drivers/gpu/drm/radeon/radeon.h

15 files changed:
1  2 
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/nouveau/nouveau_drv.c
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_fbcon.c
drivers/gpu/drm/nouveau/nouveau_state.c
drivers/gpu/drm/radeon/Makefile
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_bios.c
drivers/gpu/drm/radeon/radeon_device.c
drivers/gpu/drm/radeon/radeon_drv.c
drivers/gpu/drm/radeon/radeon_drv.h
drivers/gpu/drm/radeon/radeon_fb.c
drivers/gpu/drm/radeon/radeon_kms.c

@@@ -35,8 -35,7 +35,9 @@@
  #include "i915_drv.h"
  #include "i915_trace.h"
  #include <linux/vgaarb.h>
 +#include <linux/acpi.h>
 +#include <linux/pnp.h>
+ #include <linux/vga_switcheroo.h>
  
  /* Really want an OS-independent resettable timer.  Would like to have
   * this loop run for (eg) 3 sec, but have the timer reset every time
Simple merge
Simple merge
Simple merge
@@@ -847,22 -847,11 +849,11 @@@ nouveau_debugfs_channel_fini(struct nou
  /* nouveau_dma.c */
  extern void nouveau_dma_pre_init(struct nouveau_channel *);
  extern int  nouveau_dma_init(struct nouveau_channel *);
 -extern int  nouveau_dma_wait(struct nouveau_channel *, int size);
 +extern int  nouveau_dma_wait(struct nouveau_channel *, int slots, int size);
  
  /* nouveau_acpi.c */
- #ifdef CONFIG_ACPI
- extern int nouveau_hybrid_setup(struct drm_device *dev);
- extern bool nouveau_dsm_probe(struct drm_device *dev);
- #else
- static inline int nouveau_hybrid_setup(struct drm_device *dev)
- {
-       return 0;
- }
- static inline bool nouveau_dsm_probe(struct drm_device *dev)
- {
-       return false;
- }
- #endif
+ void nouveau_register_dsm_handler(void);
+ void nouveau_unregister_dsm_handler(void);
  
  /* nouveau_backlight.c */
  #ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT
@@@ -60,7 -55,7 +60,7 @@@ radeon-y += radeon_device.o radeon_kms.
        rs400.o rs600.o rs690.o rv515.o r520.o r600.o rv770.o radeon_test.o \
        r200.o radeon_legacy_tv.o r600_cs.o r600_blit.o r600_blit_shaders.o \
        r600_blit_kms.o radeon_pm.o atombios_dp.o r600_audio.o r600_hdmi.o \
-       evergreen.o
 -      radeon_atpx_handler.o
++      evergreen.o radeon_atpx_handler.o
  
  radeon-$(CONFIG_COMPAT) += radeon_ioc32.o
  
@@@ -1165,8 -1048,8 +1171,10 @@@ extern void radeon_legacy_set_clock_gat
  extern void radeon_atom_set_clock_gating(struct radeon_device *rdev, int enable);
  extern void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain);
  extern bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo);
 +extern void radeon_vram_location(struct radeon_device *rdev, struct radeon_mc *mc, u64 base);
 +extern void radeon_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc);
+ extern int radeon_resume_kms(struct drm_device *dev);
+ extern int radeon_suspend_kms(struct drm_device *dev, pm_message_t state);
  
  /* r100,rv100,rs100,rv200,rs200,r200,rv250,rs300,rv280 */
  struct r100_mc_save {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge