]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - crypto/scatterwalk.h
h63xx: tsc2101 alsa sound support
[linux-2.6-omap-h63xx.git] / crypto / scatterwalk.h
index 02aa56c649b484bbe1ce523fce9bad5ba8693664..e79925c474a3a2eb6de0fe120d1e0151acd45530 100644 (file)
@@ -40,10 +40,10 @@ static inline int scatterwalk_samebuf(struct scatter_walk *walk_in,
               walk_in->offset == walk_out->offset;
 }
 
-static inline int scatterwalk_across_pages(struct scatter_walk *walk,
-                                          unsigned int nbytes)
+static inline unsigned int scatterwalk_clamp(struct scatter_walk *walk,
+                                            unsigned int nbytes)
 {
-       return nbytes > walk->len_this_page;
+       return nbytes > walk->len_this_page ? walk->len_this_page : nbytes;
 }
 
 static inline void scatterwalk_advance(struct scatter_walk *walk,
@@ -55,6 +55,12 @@ static inline void scatterwalk_advance(struct scatter_walk *walk,
        walk->len_this_segment -= nbytes;
 }
 
+static inline unsigned int scatterwalk_aligned(struct scatter_walk *walk,
+                                              unsigned int alignmask)
+{
+       return !(walk->offset & alignmask);
+}
+
 void scatterwalk_start(struct scatter_walk *walk, struct scatterlist *sg);
 int scatterwalk_copychunks(void *buf, struct scatter_walk *walk, size_t nbytes, int out);
 void scatterwalk_map(struct scatter_walk *walk, int out);