From cc745fcc3a16cb1ffc2ab578155dc880b862f95a Mon Sep 17 00:00:00 2001 From: Stephane Marchesin Date: Sun, 28 Oct 2007 01:59:11 +0200 Subject: nouveau: don't touch PMC_BOOT_1 on x86, it seems to be undefined on some early cards. --- shared-core/nouveau_state.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'shared-core') diff --git a/shared-core/nouveau_state.c b/shared-core/nouveau_state.c index add2d598..c617bfd3 100644 --- a/shared-core/nouveau_state.c +++ b/shared-core/nouveau_state.c @@ -283,11 +283,13 @@ nouveau_card_init(struct drm_device *dev) ret = nouveau_init_card_mappings(dev); if (ret) return ret; +#if defined(__powerpc__) /* Put the card in BE mode if it's not */ if (NV_READ(NV03_PMC_BOOT_1)) NV_WRITE(NV03_PMC_BOOT_1,0x00000001); DRM_MEMORYBARRIER(); +#endif /* Determine exact chipset we're running on */ if (dev_priv->card_type < NV_10) @@ -431,8 +433,10 @@ int nouveau_load(struct drm_device *dev, unsigned long flags) reg0 = readl(regs+NV03_PMC_BOOT_0); reg1 = readl(regs+NV03_PMC_BOOT_1); +#if defined(__powerpc__) if (reg1) reg0=___swab32(reg0); +#endif /* We're dealing with >=NV10 */ if ((reg0 & 0x0f000000) > 0 ) { -- cgit v1.2.3