]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/skbuff.h
net: Add SKB DMA mapping helper functions.
[linux-2.6-omap-h63xx.git] / include / linux / skbuff.h
index 909923717830f3a16d88cdd6d44ed53314e81f54..aa80ad9cbc88466e681a2d3a9e97e27889f061a9 100644 (file)
@@ -146,8 +146,14 @@ struct skb_shared_info {
        unsigned short  gso_segs;
        unsigned short  gso_type;
        __be32          ip6_frag_id;
+#ifdef CONFIG_HAS_DMA
+       unsigned int    num_dma_maps;
+#endif
        struct sk_buff  *frag_list;
        skb_frag_t      frags[MAX_SKB_FRAGS];
+#ifdef CONFIG_HAS_DMA
+       dma_addr_t      dma_maps[MAX_SKB_FRAGS + 1];
+#endif
 };
 
 /* We divide dataref into two halves.  The higher 16 bits hold references
@@ -353,6 +359,14 @@ struct sk_buff {
 
 #include <asm/system.h>
 
+#ifdef CONFIG_HAS_DMA
+#include <linux/dma-mapping.h>
+extern int skb_dma_map(struct device *dev, struct sk_buff *skb,
+                      enum dma_data_direction dir);
+extern void skb_dma_unmap(struct device *dev, struct sk_buff *skb,
+                         enum dma_data_direction dir);
+#endif
+
 extern void kfree_skb(struct sk_buff *skb);
 extern void           __kfree_skb(struct sk_buff *skb);
 extern struct sk_buff *__alloc_skb(unsigned int size,