diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-06-03 21:03:07 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-06-03 21:03:07 +0200 |
commit | b16f4ddd7e5422a842beaeaeea0c411bd432d0f4 (patch) | |
tree | 3268a5a64dd96a1ebc80d1af24cdaa093d496385 /0001-device-detect-if-changing-endianness-failed.patch | |
parent | d5e4e88fb9466ff04a7cd07c1ae8323bbbc36b8b (diff) | |
parent | 95dc4cf28c756d993d2080a495935006100a62a2 (diff) | |
download | kernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc31.tar.gz kernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc31.tar.xz kernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc31.zip |
Merge remote-tracking branch 'origin/master' into rawhide-user-thl-vanilla-fedorakernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc33kernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc32kernel-5.8.0-0.rc0.20200603gitd6f9469a03d8.1.vanilla.1.fc31
Diffstat (limited to '0001-device-detect-if-changing-endianness-failed.patch')
-rw-r--r-- | 0001-device-detect-if-changing-endianness-failed.patch | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/0001-device-detect-if-changing-endianness-failed.patch b/0001-device-detect-if-changing-endianness-failed.patch deleted file mode 100644 index 1089b7e87..000000000 --- a/0001-device-detect-if-changing-endianness-failed.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst <kherbst@redhat.com> -Date: Tue, 28 Apr 2020 18:54:03 +0200 -Subject: [PATCH] device: detect if changing endianness failed - -v2: relax the checks a little - -Signed-off-by: Karol Herbst <kherbst@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 26 +++++++++++++++---- - 1 file changed, 21 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index 37589f36546d..c732074bf790 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2924,6 +2924,20 @@ nvkm_device_del(struct nvkm_device **pdevice) - } - } - -+static inline bool -+nvkm_device_endianness(void __iomem *pri) -+{ -+ u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; -+#ifdef __BIG_ENDIAN -+ if (!boot1) -+ return false; -+#else -+ if (boot1) -+ return false; -+#endif -+ return true; -+} -+ - int - nvkm_device_ctor(const struct nvkm_device_func *func, - const struct nvkm_device_quirk *quirk, -@@ -2973,13 +2987,15 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* identify the chipset, and determine classes of subdev/engines */ - if (detect) { - /* switch mmio to cpu's native endianness */ --#ifndef __BIG_ENDIAN -- if (ioread32_native(map + 0x000004) != 0x00000000) { --#else -- if (ioread32_native(map + 0x000004) == 0x00000000) { --#endif -+ if (!nvkm_device_endianness(map)) { - iowrite32_native(0x01000001, map + 0x000004); - ioread32_native(map); -+ if (!nvkm_device_endianness(map)) { -+ nvdev_error(device, -+ "GPU not supported on big-endian\n"); -+ ret = -ENOSYS; -+ goto done; -+ } - } - - /* read boot0 and strapping information */ --- -2.26.2 - |