Rev 2967 | Rev 3039 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2967 | Rev 3031 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | #define LONG_MIN (-LONG_MAX - 1) |
27 | #define LONG_MIN (-LONG_MAX - 1) |
28 | #define ULONG_MAX (~0UL) |
28 | #define ULONG_MAX (~0UL) |
29 | #define LLONG_MAX ((long long)(~0ULL>>1)) |
29 | #define LLONG_MAX ((long long)(~0ULL>>1)) |
30 | #define LLONG_MIN (-LLONG_MAX - 1) |
30 | #define LLONG_MIN (-LLONG_MAX - 1) |
31 | #define ULLONG_MAX (~0ULL) |
31 | #define ULLONG_MAX (~0ULL) |
- | 32 | #define SIZE_MAX (~(size_t)0) |
|
Line 32... | Line 33... | ||
32 | 33 | ||
33 | #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) |
34 | #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) |
34 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) |
35 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) |
35 | #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) |
36 | #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) |
Line 304... | Line 305... | ||
304 | { |
305 | { |
305 | writel(val, addr); |
306 | writel(val, addr); |
306 | writel(val >> 32, addr+4); |
307 | writel(val >> 32, addr+4); |
307 | } |
308 | } |
Line -... | Line 309... | ||
- | 309 | ||
- | 310 | #define swap(a, b) \ |
|
- | 311 | do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) |
|
Line 308... | Line 312... | ||
308 | 312 | ||
Line 309... | Line 313... | ||
309 | 313 | ||
310 | #define mmiowb() barrier() |
314 | #define mmiowb() barrier() |
Line 327... | Line 331... | ||
327 | unsigned int length; |
331 | unsigned int length; |
328 | dma_addr_t dma_address; |
332 | dma_addr_t dma_address; |
329 | unsigned int dma_length; |
333 | unsigned int dma_length; |
330 | }; |
334 | }; |
Line -... | Line 335... | ||
- | 335 | ||
- | 336 | struct sg_table { |
|
- | 337 | struct scatterlist *sgl; /* the list */ |
|
- | 338 | unsigned int nents; /* number of mapped entries */ |
|
- | 339 | unsigned int orig_nents; /* original size of list */ |
|
- | 340 | }; |
|
- | 341 | ||
- | 342 | #define SG_MAX_SINGLE_ALLOC (4096 / sizeof(struct scatterlist)) |
|
- | 343 | ||
- | 344 | struct scatterlist *sg_next(struct scatterlist *sg); |
|
- | 345 | ||
- | 346 | #define sg_dma_address(sg) ((sg)->dma_address) |
|
- | 347 | #define sg_dma_len(sg) ((sg)->length) |
|
- | 348 | ||
- | 349 | #define sg_is_chain(sg) ((sg)->page_link & 0x01) |
|
- | 350 | #define sg_is_last(sg) ((sg)->page_link & 0x02) |
|
- | 351 | #define sg_chain_ptr(sg) \ |
|
- | 352 | ((struct scatterlist *) ((sg)->page_link & ~0x03)) |
|
- | 353 | ||
- | 354 | static inline addr_t sg_page(struct scatterlist *sg) |
|
- | 355 | { |
|
- | 356 | return (addr_t)((sg)->page_link & ~0x3); |
|
- | 357 | } |
|
- | 358 | ||
- | 359 | #define for_each_sg(sglist, sg, nr, __i) \ |
|
- | 360 | for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg)) |
|
- | 361 | ||
- | 362 | ||
331 | 363 | ||
332 | struct page |
364 | struct page |
333 | { |
365 | { |
334 | unsigned int addr; |
366 | unsigned int addr; |
Line 345... | Line 377... | ||
345 | * is set (which is also implied by |
377 | * is set (which is also implied by |
346 | * VM_FAULT_ERROR). |
378 | * VM_FAULT_ERROR). |
347 | */ |
379 | */ |
348 | }; |
380 | }; |
Line -... | Line 381... | ||
- | 381 | ||
- | 382 | struct pagelist { |
|
- | 383 | dma_addr_t *page; |
|
- | 384 | unsigned int nents; |
|
Line 349... | Line 385... | ||
349 | 385 | }; |