Subversion Repositories Kolibri OS

Rev

Rev 3039 | Rev 3262 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3039 Rev 3243
Line 329... Line 329...
329
        printk("Info %s " format , __func__, ## arg)
329
        printk("Info %s " format , __func__, ## arg)
Line 330... Line 330...
330
 
330
 
Line 331... Line -...
331
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
-
 
332
 
-
 
333
 
-
 
334
struct scatterlist {
-
 
335
    unsigned long   page_link;
-
 
336
    unsigned int    offset;
-
 
337
    unsigned int    length;
-
 
338
    dma_addr_t      dma_address;
-
 
339
    unsigned int    dma_length;
-
 
340
};
-
 
341
 
-
 
342
struct sg_table {
-
 
343
    struct scatterlist *sgl;        /* the list */
-
 
344
    unsigned int nents;             /* number of mapped entries */
-
 
345
    unsigned int orig_nents;        /* original size of list */
-
 
346
};
-
 
347
 
-
 
348
#define SG_MAX_SINGLE_ALLOC             (4096 / sizeof(struct scatterlist))
-
 
349
 
-
 
350
struct scatterlist *sg_next(struct scatterlist *sg);
-
 
351
 
-
 
352
#define sg_dma_address(sg)      ((sg)->dma_address)
-
 
353
#define sg_dma_len(sg)         ((sg)->length)
-
 
354
 
-
 
355
#define sg_is_chain(sg)         ((sg)->page_link & 0x01)
-
 
356
#define sg_is_last(sg)          ((sg)->page_link & 0x02)
-
 
357
#define sg_chain_ptr(sg)        \
-
 
358
        ((struct scatterlist *) ((sg)->page_link & ~0x03))
-
 
359
 
-
 
360
static inline addr_t sg_page(struct scatterlist *sg)
-
 
361
{
-
 
362
    return (addr_t)((sg)->page_link & ~0x3);
-
 
363
}
-
 
Line 364... Line 331...
364
 
331
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
365
#define for_each_sg(sglist, sg, nr, __i)        \
332
 
366
        for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
333
 
367
 
334
 
Line -... Line 335...
-
 
335
 
Line 368... Line 336...
368
 
336
 
369
 
337
struct page
370
struct page
338
{
371
{
339
    unsigned int addr;
Line 388... Line 356...
388
struct pagelist {
356
struct pagelist {
389
    dma_addr_t    *page;
357
    dma_addr_t    *page;
390
    unsigned int   nents;
358
    unsigned int   nents;
391
};
359
};
Line -... Line 360...
-
 
360
 
-
 
361
#define page_cache_release(page)        FreePage((addr_t)(page))
-
 
362
 
-
 
363
#define alloc_page(gfp_mask) (struct page*)AllocPage()
392
 
364