summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-02-02 09:08:14 +1000
committerBen Skeggs <bskeggs@redhat.com>2015-03-17 09:36:03 +1000
commit8acb1676f9152066a58ed6a28ffb76e3824db3ac (patch)
tree4d9816762418837bef26de654430d72b524bc26c
parent8267ede7214e062b2226c06f35b7eda5d63c6d17 (diff)
downloadnouveau-8acb1676f9152066a58ed6a28ffb76e3824db3ac.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.c6
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);