summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorriastradh <riastradh@NetBSD.org>2021-12-19 11:14:56 +0000
committerriastradh <riastradh@NetBSD.org>2021-12-19 11:14:56 +0000
commit9182e9593bdb19cbcef2dbb25d4c8ae198f4f59f (patch)
treea32b85d96a5240f8904cafe3c50f4e10c6eab814 /sys
parentbbd0f4fafc4b28508d6534e0e63a4d2eb93ea6d2 (diff)
drm/linux: Add memset32, SZ_64K, atomic_sub_return.
Diffstat (limited to 'sys')
-rw-r--r--sys/external/bsd/drm2/include/linux/atomic.h14
-rw-r--r--sys/external/bsd/drm2/include/linux/sizes.h3
-rw-r--r--sys/external/bsd/drm2/include/linux/string.h10
3 files changed, 24 insertions, 3 deletions
diff --git a/sys/external/bsd/drm2/include/linux/atomic.h b/sys/external/bsd/drm2/include/linux/atomic.h
index 781cd1c97f3..db04fab60c6 100644
--- a/sys/external/bsd/drm2/include/linux/atomic.h
+++ b/sys/external/bsd/drm2/include/linux/atomic.h
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic.h,v 1.35 2021/12/19 11:04:28 riastradh Exp $ */
+/* $NetBSD: atomic.h,v 1.36 2021/12/19 11:14:56 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -113,6 +113,18 @@ atomic_add_return(int addend, atomic_t *atomic)
return v;
}
+static inline int
+atomic_sub_return(int subtrahend, atomic_t *atomic)
+{
+ int v;
+
+ smp_mb__before_atomic();
+ v = (int)atomic_add_int_nv(&atomic->a_u.au_uint, -subtrahend);
+ smp_mb__after_atomic();
+
+ return v;
+}
+
static inline void
atomic_inc(atomic_t *atomic)
{
diff --git a/sys/external/bsd/drm2/include/linux/sizes.h b/sys/external/bsd/drm2/include/linux/sizes.h
index d12abc13d89..8f8e81733a8 100644
--- a/sys/external/bsd/drm2/include/linux/sizes.h
+++ b/sys/external/bsd/drm2/include/linux/sizes.h
@@ -1,4 +1,4 @@
-/* $NetBSD: sizes.h,v 1.1 2021/12/19 00:30:11 riastradh Exp $ */
+/* $NetBSD: sizes.h,v 1.2 2021/12/19 11:14:56 riastradh Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -33,6 +33,7 @@
#define _LINUX_SIZES_H_
#define SZ_8K 0x00008000
+#define SZ_64K 0x00010000
#define SZ_1M 0x00100000
#define SZ_2M 0x00200000
diff --git a/sys/external/bsd/drm2/include/linux/string.h b/sys/external/bsd/drm2/include/linux/string.h
index 7d09b96b9be..745d3dc8a27 100644
--- a/sys/external/bsd/drm2/include/linux/string.h
+++ b/sys/external/bsd/drm2/include/linux/string.h
@@ -1,4 +1,4 @@
-/* $NetBSD: string.h,v 1.9 2021/12/19 10:48:00 riastradh Exp $ */
+/* $NetBSD: string.h,v 1.10 2021/12/19 11:14:56 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -116,6 +116,14 @@ strscpy(char *dst, const char *src, size_t dstsize)
}
static inline void
+memset32(uint32_t *p, uint32_t v, size_t n)
+{
+
+ while (n --> 0)
+ *p++ = v;
+}
+
+static inline void
memset64(uint64_t *p, uint64_t v, size_t n)
{