diff options
| author | Thomas Hellström <thomas.hellstrom@linux.intel.com> | 2024-11-04 11:21:20 +0300 |
|---|---|---|
| committer | Thomas Hellström <thomas.hellstrom@linux.intel.com> | 2024-11-04 11:21:20 +0300 |
| commit | c787c2901e2c03008e536b86cb0103ce6fd05e2d (patch) | |
| tree | 06966989052f14f98c9b1ede0ea98822f317a586 /tools/include/linux/bits.h | |
| parent | a19d1db9a3fa89fabd7c83544b84f393ee9b851f (diff) | |
| parent | 30169bb64580bd7bce9290c1952bf0aa6cc37fe5 (diff) | |
| download | linux-c787c2901e2c03008e536b86cb0103ce6fd05e2d.tar.xz | |
Merge drm/drm-next into drm-xe-next
Backmerging to get up-to-date and to bring in a fix that was
merged through drm-misc-fixes.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Diffstat (limited to 'tools/include/linux/bits.h')
| -rw-r--r-- | tools/include/linux/bits.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/include/linux/bits.h b/tools/include/linux/bits.h index 0eb24d21aac2..60044b608817 100644 --- a/tools/include/linux/bits.h +++ b/tools/include/linux/bits.h @@ -36,4 +36,19 @@ #define GENMASK_ULL(h, l) \ (GENMASK_INPUT_CHECK(h, l) + __GENMASK_ULL(h, l)) +#if !defined(__ASSEMBLY__) +/* + * Missing asm support + * + * __GENMASK_U128() depends on _BIT128() which would not work + * in the asm code, as it shifts an 'unsigned __init128' data + * type instead of direct representation of 128 bit constants + * such as long and unsigned long. The fundamental problem is + * that a 128 bit constant will get silently truncated by the + * gcc compiler. + */ +#define GENMASK_U128(h, l) \ + (GENMASK_INPUT_CHECK(h, l) + __GENMASK_U128(h, l)) +#endif + #endif /* __LINUX_BITS_H */ |
