[Intel-gfx] [PATCH 1/2] iosys-map: Add a helper for pointer difference

Mullati Siva siva.mullati at intel.com
Tue Mar 8 09:38:04 UTC 2022


From: Siva Mullati <siva.mullati at intel.com>

iosys_map_ptrdiff to get the difference in address of
same memory type.

Signed-off-by: Siva Mullati <siva.mullati at intel.com>
---
 include/linux/iosys-map.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/include/linux/iosys-map.h b/include/linux/iosys-map.h
index e69a002d5aa4..8987f69ec1e9 100644
--- a/include/linux/iosys-map.h
+++ b/include/linux/iosys-map.h
@@ -8,6 +8,7 @@
 
 #include <linux/io.h>
 #include <linux/string.h>
+#include <linux/types.h>
 
 /**
  * DOC: overview
@@ -208,6 +209,26 @@ static inline bool iosys_map_is_equal(const struct iosys_map *lhs,
 		return lhs->vaddr == rhs->vaddr;
 }
 
+/**
+ * iosys_map_ptrdiff - Difference of two iosys mapping addresses of same memory type
+ * @lhs:       The iosys_map structure
+ * @rhs:       A iosys_map structure to compare with
+ *
+ * Two iosys mapping structures of same memory type with the differences
+ * in address within that memory.
+ *
+ * Returns:
+ * Address difference of two memory locations with same memory type.
+ */
+static inline ptrdiff_t iosys_map_ptrdiff(const struct iosys_map *lhs,
+					  const struct iosys_map *rhs)
+{
+	if (lhs->is_iomem)
+		return lhs->vaddr_iomem - rhs->vaddr_iomem;
+	else
+		return lhs->vaddr - rhs->vaddr;
+}
+
 /**
  * iosys_map_is_null - Tests for a iosys mapping to be NULL
  * @map:	The iosys_map structure
-- 
2.33.0



More information about the Intel-gfx mailing list