diff options
Diffstat (limited to 'system/easy-kernel-power8-64k/ast-endianness.patch')
-rw-r--r-- | system/easy-kernel-power8-64k/ast-endianness.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/system/easy-kernel-power8-64k/ast-endianness.patch b/system/easy-kernel-power8-64k/ast-endianness.patch deleted file mode 100644 index 03ee209b8..000000000 --- a/system/easy-kernel-power8-64k/ast-endianness.patch +++ /dev/null @@ -1,38 +0,0 @@ -Author: Elizabeth Myers <elizabeth@adelielinux.org> - -I'm certain this fix is wrong fwiw, but it's the best I could come with - ---- linux-4.14/drivers/gpu/drm/ast/ast_fb.c.old 2017-11-12 12:46:13.000000000 -0600 -+++ linux-4.14/drivers/gpu/drm/ast/ast_fb.c 2018-06-30 20:54:43.530000000 -0500 -@@ -109,9 +109,30 @@ - unmap = true; - } - for (i = y; i <= y2; i++) { -+ int copy_width = x2 - x + 1; - /* assume equal stride for now */ - src_offset = dst_offset = i * afbdev->afb.base.pitches[0] + (x * bpp); -- memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, (x2 - x + 1) * bpp); -+ switch (bpp) { -+ case 4: -+ while (copy_width) { -+ iowrite32(*(u32 *)(afbdev->sysram + src_offset), -+ bo->kmap.virtual + src_offset); -+ src_offset += 4; -+ copy_width--; -+ } -+ break; -+ case 2: -+ while (copy_width) { -+ iowrite16(*(u16 *)(afbdev->sysram + src_offset), -+ bo->kmap.virtual + src_offset); -+ src_offset += 2; -+ copy_width--; -+ } -+ break; -+ default: -+ memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, (x2 - x + 1) * bpp); -+ break; -+ } - - } - if (unmap) |