Module Name: src
Committed By: riastradh
Date: Sun Dec 19 11:14:56 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/include/linux: atomic.h sizes.h string.h
Log Message:
drm/linux: Add memset32, SZ_64K, atomic_sub_return.
To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/external/bsd/drm2/include/linux/atomic.h
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/include/linux/sizes.h
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/include/linux/string.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/include/linux/atomic.h
diff -u src/sys/external/bsd/drm2/include/linux/atomic.h:1.35 src/sys/external/bsd/drm2/include/linux/atomic.h:1.36
--- src/sys/external/bsd/drm2/include/linux/atomic.h:1.35 Sun Dec 19 11:04:28 2021
+++ src/sys/external/bsd/drm2/include/linux/atomic.h Sun Dec 19 11:14:56 2021
@@ -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 *
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)
{
Index: src/sys/external/bsd/drm2/include/linux/sizes.h
diff -u src/sys/external/bsd/drm2/include/linux/sizes.h:1.1 src/sys/external/bsd/drm2/include/linux/sizes.h:1.2
--- src/sys/external/bsd/drm2/include/linux/sizes.h:1.1 Sun Dec 19 00:30:11 2021
+++ src/sys/external/bsd/drm2/include/linux/sizes.h Sun Dec 19 11:14:56 2021
@@ -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
Index: src/sys/external/bsd/drm2/include/linux/string.h
diff -u src/sys/external/bsd/drm2/include/linux/string.h:1.9 src/sys/external/bsd/drm2/include/linux/string.h:1.10
--- src/sys/external/bsd/drm2/include/linux/string.h:1.9 Sun Dec 19 10:48:00 2021
+++ src/sys/external/bsd/drm2/include/linux/string.h Sun Dec 19 11:14:56 2021
@@ -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
}
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)
{