libdrm: adjust the ARM patch to work on ARMv4/ARMv5
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 22 Mar 2016 21:29:00 +0000 (22:29 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 26 Mar 2016 17:54:21 +0000 (18:54 +0100)
commit60a8c5c7894ae034ace50f5f5f231f7bdbe0e203
tree1b77dffd13cffbb35693f67e8a71bfddb9f19211
parent3c955d784bfbcd632be4ca2065875bd9da847822
libdrm: adjust the ARM patch to work on ARMv4/ARMv5

The ARM patch that was added in commit
94841d87fd2ff8ebf7af84d49e5095074958febf ("libdrm: fix support for
xserver with Vivante drivers") makes the assumption that ldrex/strex
is available on ARM. While this is true on ARMv6+, it is not true on
ARMv4/ARMv5. Due to this, we had to make follow-up commits like
7bac31ceea1b52986b1773a1bd4841110672f923
("package/x11r7/xserver_xorg-server: dri needs arm >= v6") and more is
needed in the reverse dependencies to disable DRI usage on
ARMv4/ARMv5.

In fact, it turns out that the CAS code in libdrm is only an
optimization, and it will gracefully fall back to a system call based
lock/unlock mechanism.

So we simply change the patch to only provide the optimized CAS
implementation on ARMv6+. The original reason for this patch was to
fix Vivante drivers, and Vivante GPUs are only used in ARMv6+ cores,
so we should be fine (famous last words).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch