Subversion Repositories Kolibri OS

Rev

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
};