aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-07-03 23:14:05 -0400
committerBen Skeggs <bskeggs@redhat.com>2011-09-20 02:05:16 -0400
commit03bc9675d358ded9db07ba966f2f3f3c2fba2a9c (patch)
tree1afed55ee494fd0e25a00b334304da72f7df305d /drivers/gpu
parent1575b3646c1c2141cfb68f7581c50d8bd19f17ac (diff)
drm/nouveau: allow modeset module option to select 'headless mode'
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.c2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.h1
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_state.c9
3 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouveau_drv.c
index b30ddd8d2e2a..c1e01f37b9d1 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.c
@@ -41,7 +41,7 @@ int nouveau_agpmode = -1;
41module_param_named(agpmode, nouveau_agpmode, int, 0400); 41module_param_named(agpmode, nouveau_agpmode, int, 0400);
42 42
43MODULE_PARM_DESC(modeset, "Enable kernel modesetting"); 43MODULE_PARM_DESC(modeset, "Enable kernel modesetting");
44static int nouveau_modeset = -1; /* kms */ 44int nouveau_modeset = -1;
45module_param_named(modeset, nouveau_modeset, int, 0400); 45module_param_named(modeset, nouveau_modeset, int, 0400);
46 46
47MODULE_PARM_DESC(vbios, "Override default VBIOS location"); 47MODULE_PARM_DESC(vbios, "Override default VBIOS location");
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 0661bcc94e57..7fdfad03f96c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -798,6 +798,7 @@ nouveau_bo_ref(struct nouveau_bo *ref, struct nouveau_bo **pnvbo)
798} 798}
799 799
800/* nouveau_drv.c */ 800/* nouveau_drv.c */
801extern int nouveau_modeset;
801extern int nouveau_agpmode; 802extern int nouveau_agpmode;
802extern int nouveau_duallink; 803extern int nouveau_duallink;
803extern int nouveau_uscript_lvds; 804extern int nouveau_uscript_lvds;
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index d4570220417f..d3b026125af1 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -431,6 +431,15 @@ static int nouveau_init_engine_ptrs(struct drm_device *dev)
431 return 1; 431 return 1;
432 } 432 }
433 433
434 /* headless mode */
435 if (nouveau_modeset == 2) {
436 engine->display.early_init = nouveau_stub_init;
437 engine->display.late_takedown = nouveau_stub_takedown;
438 engine->display.create = nouveau_stub_init;
439 engine->display.init = nouveau_stub_init;
440 engine->display.destroy = nouveau_stub_takedown;
441 }
442
434 return 0; 443 return 0;
435} 444}
436 445