brintos

brintos / linux-shallow public Read only

0
0
Text · 704 B · 52e060f Raw
33 lines · c
1#ifndef _QLA_DSD_H_2#define _QLA_DSD_H_3 4#include <linux/unaligned.h>5 6/* 32-bit data segment descriptor (8 bytes) */7struct dsd32 {8	__le32 address;9	__le32 length;10};11 12static inline void append_dsd32(struct dsd32 **dsd, struct scatterlist *sg)13{14	put_unaligned_le32(sg_dma_address(sg), &(*dsd)->address);15	put_unaligned_le32(sg_dma_len(sg),     &(*dsd)->length);16	(*dsd)++;17}18 19/* 64-bit data segment descriptor (12 bytes) */20struct dsd64 {21	__le64 address;22	__le32 length;23} __packed;24 25static inline void append_dsd64(struct dsd64 **dsd, struct scatterlist *sg)26{27	put_unaligned_le64(sg_dma_address(sg), &(*dsd)->address);28	put_unaligned_le32(sg_dma_len(sg),     &(*dsd)->length);29	(*dsd)++;30}31 32#endif33