scatterlist: introduce sg_unmark_end
[firefly-linux-kernel-4.4.55.git] / include / linux / scatterlist.h
index 2d8bdaef96116517cb8c6c1862a3cb82a3a863db..bfc47e0de81c6ad52e50050dd2d2acdb6c746112 100644 (file)
@@ -171,6 +171,22 @@ static inline void sg_mark_end(struct scatterlist *sg)
        sg->page_link &= ~0x01;
 }
 
+/**
+ * sg_unmark_end - Undo setting the end of the scatterlist
+ * @sg:                 SG entryScatterlist
+ *
+ * Description:
+ *   Removes the termination marker from the given entry of the scatterlist.
+ *
+ **/
+static inline void sg_unmark_end(struct scatterlist *sg)
+{
+#ifdef CONFIG_DEBUG_SG
+       BUG_ON(sg->sg_magic != SG_MAGIC);
+#endif
+       sg->page_link &= ~0x02;
+}
+
 /**
  * sg_phys - Return physical address of an sg entry
  * @sg:             SG entry