/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to driver/kmem.h

  • Committer: Suren A. Chilingaryan
  • Date: 2016-03-02 18:37:30 UTC
  • Revision ID: csa@suren.me-20160302183730-nlrgi7h3yuizcizc
Restructure driver headers

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _PCIDRIVER_KMEM_H
 
2
#define _PCIDRIVER_KMEM_H
 
3
 
 
4
#include <linux/sysfs.h>
 
5
 
 
6
#include "../pcilib/kmem.h"
 
7
#include "ioctl.h"
 
8
 
 
9
/* Define an entry in the kmem list (this list is per device) */
 
10
/* This list keeps references to the allocated kernel buffers */
 
11
typedef struct {
 
12
    int id;
 
13
    enum dma_data_direction direction;
 
14
 
 
15
    struct list_head list;
 
16
    dma_addr_t dma_handle;
 
17
    unsigned long cpua;
 
18
    unsigned long size;
 
19
    unsigned long type;
 
20
    unsigned long align;
 
21
 
 
22
    unsigned long use;
 
23
    unsigned long item;
 
24
 
 
25
    spinlock_t lock;
 
26
    unsigned long mode;
 
27
    unsigned long refs;
 
28
 
 
29
    struct device_attribute sysfs_attr; /* initialized when adding the entry */
 
30
} pcidriver_kmem_entry_t;
 
31
 
 
32
 
1
33
int pcidriver_kmem_alloc( pcidriver_privdata_t *privdata, kmem_handle_t *kmem_handle );
2
34
int pcidriver_kmem_free(  pcidriver_privdata_t *privdata, kmem_handle_t *kmem_handle );
3
35
int pcidriver_kmem_sync_entry( pcidriver_privdata_t *privdata, pcidriver_kmem_entry_t *kmem_entry, int direction );
7
39
pcidriver_kmem_entry_t *pcidriver_kmem_find_entry_id( pcidriver_privdata_t *privdata, int id );
8
40
pcidriver_kmem_entry_t *pcidriver_kmem_find_entry_use(pcidriver_privdata_t *privdata, unsigned long use, unsigned long item);
9
41
int pcidriver_kmem_free_entry( pcidriver_privdata_t *privdata, pcidriver_kmem_entry_t *kmem_entry );
 
42
 
 
43
int pcidriver_mmap_kmem( pcidriver_privdata_t *privdata, struct vm_area_struct *vmap );
 
44
 
 
45
#endif /* _PCIDRIVER_KMEM_H */