diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-07-03 23:14:05 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-09-20 02:05:16 -0400 |
commit | 03bc9675d358ded9db07ba966f2f3f3c2fba2a9c (patch) | |
tree | 1afed55ee494fd0e25a00b334304da72f7df305d /drivers/gpu | |
parent | 1575b3646c1c2141cfb68f7581c50d8bd19f17ac (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.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_state.c | 9 |
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; | |||
41 | module_param_named(agpmode, nouveau_agpmode, int, 0400); | 41 | module_param_named(agpmode, nouveau_agpmode, int, 0400); |
42 | 42 | ||
43 | MODULE_PARM_DESC(modeset, "Enable kernel modesetting"); | 43 | MODULE_PARM_DESC(modeset, "Enable kernel modesetting"); |
44 | static int nouveau_modeset = -1; /* kms */ | 44 | int nouveau_modeset = -1; |
45 | module_param_named(modeset, nouveau_modeset, int, 0400); | 45 | module_param_named(modeset, nouveau_modeset, int, 0400); |
46 | 46 | ||
47 | MODULE_PARM_DESC(vbios, "Override default VBIOS location"); | 47 | MODULE_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 */ |
801 | extern int nouveau_modeset; | ||
801 | extern int nouveau_agpmode; | 802 | extern int nouveau_agpmode; |
802 | extern int nouveau_duallink; | 803 | extern int nouveau_duallink; |
803 | extern int nouveau_uscript_lvds; | 804 | extern 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 | ||