drm/nouveau/device: post write to NV_PMC_BOOT_1 when flipping endian switch
authorBen Skeggs <bskeggs@redhat.com>
Sun, 1 Feb 2015 23:08:14 +0000 (09:08 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 16 Mar 2015 23:44:22 +0000 (09:44 +1000)
fdo#88868

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c

index 29bd539af183d6d366ef2cafd79c8a5b0ad49ea9..6efa8f38ff5472b42ec9895c7a5505c9992a50c1 100644 (file)
@@ -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);