diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-02-02 09:08:14 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-02-02 09:11:51 +1000 |
commit | 7ca9e1d70f147945417c70cdc751acf4c5930c98 (patch) | |
tree | 2659a943015aed102b343a0a164d0ca2c1050bb2 | |
parent | c0c11820fad9fc922c406bdd67dcbf5c9e2e46d1 (diff) | |
download | nouveau-7ca9e1d70f147945417c70cdc751acf4c5930c98.tar.gz |
device: post write to NV_PMC_BOOT_1 when flipping endian switch
fdo#88868
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drm/nouveau/nvkm/engine/device/base.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index 29bd539af..6efa8f38f 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -340,11 +340,13 @@ nvkm_devobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine, /* switch mmio to cpu's native endianness */ #ifndef __BIG_ENDIAN - if (ioread32_native(map + 0x000004) != 0x00000000) + if (ioread32_native(map + 0x000004) != 0x00000000) { #else - if (ioread32_native(map + 0x000004) == 0x00000000) + if (ioread32_native(map + 0x000004) == 0x00000000) { #endif iowrite32_native(0x01000001, map + 0x000004); + ioread32_native(map); + } /* read boot0 and strapping information */ boot0 = ioread32_native(map + 0x000000); |