diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-10-30 22:16:06 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-10-30 23:27:30 -0400 |
commit | e412e95a268fa8544858ebfe066826b290430d51 (patch) | |
tree | 4a2dd158ac377671fbc58032f42cd9109306348d /drivers | |
parent | 9430738d80223a1cd791a2baa74fa170d3df1262 (diff) |
drm/nouveau: headless mode by default if pci class != vga display
This is to prevent nouveau from taking over the console on headless boards
such as Tesla.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drm.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 0185837d9862..86124b131f4f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c | |||
@@ -290,6 +290,7 @@ nouveau_display_create(struct drm_device *dev) | |||
290 | struct nouveau_drm *drm = nouveau_drm(dev); | 290 | struct nouveau_drm *drm = nouveau_drm(dev); |
291 | struct nouveau_disp *pdisp = nouveau_disp(drm->device); | 291 | struct nouveau_disp *pdisp = nouveau_disp(drm->device); |
292 | struct nouveau_display *disp; | 292 | struct nouveau_display *disp; |
293 | u32 pclass = dev->pdev->class >> 8; | ||
293 | int ret, gen; | 294 | int ret, gen; |
294 | 295 | ||
295 | disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL); | 296 | disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL); |
@@ -360,7 +361,8 @@ nouveau_display_create(struct drm_device *dev) | |||
360 | drm_kms_helper_poll_init(dev); | 361 | drm_kms_helper_poll_init(dev); |
361 | drm_kms_helper_poll_disable(dev); | 362 | drm_kms_helper_poll_disable(dev); |
362 | 363 | ||
363 | if (nouveau_modeset == 1) { | 364 | if (nouveau_modeset == 1 || |
365 | (nouveau_modeset < 0 && pclass == PCI_CLASS_DISPLAY_VGA)) { | ||
364 | if (nv_device(drm->device)->card_type < NV_50) | 366 | if (nv_device(drm->device)->card_type < NV_50) |
365 | ret = nv04_display_create(dev); | 367 | ret = nv04_display_create(dev); |
366 | else | 368 | else |
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 9cc83f18f9dc..0910125cbbc3 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c | |||
@@ -670,9 +670,7 @@ nouveau_drm_init(void) | |||
670 | #ifdef CONFIG_VGA_CONSOLE | 670 | #ifdef CONFIG_VGA_CONSOLE |
671 | if (vgacon_text_force()) | 671 | if (vgacon_text_force()) |
672 | nouveau_modeset = 0; | 672 | nouveau_modeset = 0; |
673 | else | ||
674 | #endif | 673 | #endif |
675 | nouveau_modeset = 1; | ||
676 | } | 674 | } |
677 | 675 | ||
678 | if (!nouveau_modeset) | 676 | if (!nouveau_modeset) |