aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_state.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_state.c116
1 files changed, 58 insertions, 58 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index 38ea662568c1..731acea865b5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -563,68 +563,68 @@ nouveau_card_init(struct drm_device *dev)
563 if (ret) 563 if (ret)
564 goto out_timer; 564 goto out_timer;
565 565
566 switch (dev_priv->card_type) { 566 if (!nouveau_noaccel) {
567 case NV_04: 567 switch (dev_priv->card_type) {
568 nv04_graph_create(dev); 568 case NV_04:
569 break; 569 nv04_graph_create(dev);
570 case NV_10: 570 break;
571 nv10_graph_create(dev); 571 case NV_10:
572 break; 572 nv10_graph_create(dev);
573 case NV_20: 573 break;
574 case NV_30: 574 case NV_20:
575 nv20_graph_create(dev); 575 case NV_30:
576 break; 576 nv20_graph_create(dev);
577 case NV_40: 577 break;
578 nv40_graph_create(dev); 578 case NV_40:
579 break; 579 nv40_graph_create(dev);
580 case NV_50: 580 break;
581 nv50_graph_create(dev); 581 case NV_50:
582 break; 582 nv50_graph_create(dev);
583 case NV_C0: 583 break;
584 nvc0_graph_create(dev); 584 case NV_C0:
585 break; 585 nvc0_graph_create(dev);
586 default: 586 break;
587 break; 587 default:
588 } 588 break;
589 589 }
590 switch (dev_priv->chipset) {
591 case 0x84:
592 case 0x86:
593 case 0x92:
594 case 0x94:
595 case 0x96:
596 case 0xa0:
597 nv84_crypt_create(dev);
598 break;
599 }
600 590
601 switch (dev_priv->card_type) {
602 case NV_50:
603 switch (dev_priv->chipset) { 591 switch (dev_priv->chipset) {
604 case 0xa3: 592 case 0x84:
605 case 0xa5: 593 case 0x86:
606 case 0xa8: 594 case 0x92:
607 case 0xaf: 595 case 0x94:
608 nva3_copy_create(dev); 596 case 0x96:
597 case 0xa0:
598 nv84_crypt_create(dev);
609 break; 599 break;
610 } 600 }
611 break;
612 case NV_C0:
613 nvc0_copy_create(dev, 0);
614 nvc0_copy_create(dev, 1);
615 break;
616 default:
617 break;
618 }
619 601
620 if (dev_priv->card_type == NV_40) 602 switch (dev_priv->card_type) {
621 nv40_mpeg_create(dev); 603 case NV_50:
622 else 604 switch (dev_priv->chipset) {
623 if (dev_priv->card_type == NV_50 && 605 case 0xa3:
624 (dev_priv->chipset < 0x98 || dev_priv->chipset == 0xa0)) 606 case 0xa5:
625 nv50_mpeg_create(dev); 607 case 0xa8:
608 case 0xaf:
609 nva3_copy_create(dev);
610 break;
611 }
612 break;
613 case NV_C0:
614 nvc0_copy_create(dev, 0);
615 nvc0_copy_create(dev, 1);
616 break;
617 default:
618 break;
619 }
620
621 if (dev_priv->card_type == NV_40)
622 nv40_mpeg_create(dev);
623 else
624 if (dev_priv->card_type == NV_50 &&
625 (dev_priv->chipset < 0x98 || dev_priv->chipset == 0xa0))
626 nv50_mpeg_create(dev);
626 627
627 if (!nouveau_noaccel) {
628 for (e = 0; e < NVOBJ_ENGINE_NR; e++) { 628 for (e = 0; e < NVOBJ_ENGINE_NR; e++) {
629 if (dev_priv->eng[e]) { 629 if (dev_priv->eng[e]) {
630 ret = dev_priv->eng[e]->init(dev, e); 630 ret = dev_priv->eng[e]->init(dev, e);
@@ -880,8 +880,8 @@ int nouveau_load(struct drm_device *dev, unsigned long flags)
880 880
881#ifdef __BIG_ENDIAN 881#ifdef __BIG_ENDIAN
882 /* Put the card in BE mode if it's not */ 882 /* Put the card in BE mode if it's not */
883 if (nv_rd32(dev, NV03_PMC_BOOT_1)) 883 if (nv_rd32(dev, NV03_PMC_BOOT_1) != 0x01000001)
884 nv_wr32(dev, NV03_PMC_BOOT_1, 0x00000001); 884 nv_wr32(dev, NV03_PMC_BOOT_1, 0x01000001);
885 885
886 DRM_MEMORYBARRIER(); 886 DRM_MEMORYBARRIER();
887#endif 887#endif