Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F110745638
D43017.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D43017.diff
View Options
Index: sys/compat/linuxkpi/common/include/linux/dma-buf-map.h
===================================================================
--- sys/compat/linuxkpi/common/include/linux/dma-buf-map.h
+++ sys/compat/linuxkpi/common/include/linux/dma-buf-map.h
@@ -1,5 +1,14 @@
/* Public domain. */
+/*
+ * FreeBSD:
+ * <linux/dma-buf-map.h> was renamed to <linux/iosys-map.h> in Linux 5.18. The
+ * exported functions and constants were also renamed accordingly.
+ *
+ * We still have <linux/dma-buf-map.h> to maintain compatibility for all the
+ * DRM driver version we support.
+ */
+
#ifndef _LINUX_DMA_BUF_MAP_H
#define _LINUX_DMA_BUF_MAP_H
Index: sys/compat/linuxkpi/common/include/linux/iosys-map.h
===================================================================
--- /dev/null
+++ sys/compat/linuxkpi/common/include/linux/iosys-map.h
@@ -0,0 +1,100 @@
+/* Public domain. */
+
+/*
+ * FreeBSD:
+ * <linux/dma-buf-map.h> was renamed to <linux/iosys-map.h> in Linux 5.18. The
+ * exported functions and constants were also renamed accordingly.
+ *
+ * We still have <linux/dma-buf-map.h> to maintain compatibility for all the
+ * DRM driver version we support.
+ */
+
+#ifndef _LINUX_IOSYS_MAP_H
+#define _LINUX_IOSYS_MAP_H
+
+#include <linux/io.h>
+#include <linux/string.h>
+
+struct iosys_map {
+ union {
+ void *vaddr_iomem;
+ void *vaddr;
+ };
+ bool is_iomem;
+};
+
+static inline void
+iosys_map_incr(struct iosys_map *dbm, size_t n)
+{
+ if (dbm->is_iomem)
+ dbm->vaddr_iomem += n;
+ else
+ dbm->vaddr += n;
+}
+
+static inline void
+iosys_map_memcpy_to(struct iosys_map *dbm, const void *src, size_t len)
+{
+ if (dbm->is_iomem)
+ memcpy_toio(dbm->vaddr_iomem, src, len);
+ else
+ memcpy(dbm->vaddr, src, len);
+}
+
+static inline bool
+iosys_map_is_null(const struct iosys_map *dbm)
+{
+ if (dbm->is_iomem)
+ return (dbm->vaddr_iomem == NULL);
+ else
+ return (dbm->vaddr == NULL);
+}
+
+static inline bool
+iosys_map_is_set(const struct iosys_map *dbm)
+{
+ if (dbm->is_iomem)
+ return (dbm->vaddr_iomem != NULL);
+ else
+ return (dbm->vaddr != NULL);
+}
+
+static inline bool
+iosys_map_is_equal(
+ const struct iosys_map *dbm_a, const struct iosys_map *dbm_b)
+{
+ if (dbm_a->is_iomem != dbm_b->is_iomem)
+ return (false);
+
+ if (dbm_a->is_iomem)
+ return (dbm_a->vaddr_iomem == dbm_b->vaddr_iomem);
+ else
+ return (dbm_a->vaddr == dbm_b->vaddr);
+}
+
+static inline void
+iosys_map_clear(struct iosys_map *dbm)
+{
+ if (dbm->is_iomem) {
+ dbm->vaddr_iomem = NULL;
+ dbm->is_iomem = false;
+ } else {
+ dbm->vaddr = NULL;
+ }
+}
+
+static inline void
+iosys_map_set_vaddr_iomem(struct iosys_map *dbm, void *addr)
+{
+ dbm->vaddr_iomem = addr;
+ dbm->is_iomem = true;
+}
+
+static inline void
+iosys_map_set_vaddr(struct iosys_map *dbm, void *addr)
+{
+ dbm->vaddr = addr;
+ dbm->is_iomem = false;
+}
+
+#endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Feb 23, 2:11 PM (4 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16799903
Default Alt Text
D43017.diff (2 KB)
Attached To
Mode
D43017: linuxkpi: Copy <linux/dma-buf-map.h> to <linux/iosys-map.h>
Attached
Detach File
Event Timeline
Log In to Comment