OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [driver/] [pexdrv/] [memory.h] - Diff between revs 7 and 54

Show entire file | Details | Blame | View Log

Rev 7 Rev 54
Line 34... Line 34...
    struct list_head        m_MemList;
    struct list_head        m_MemList;
    struct mem_t            m_MemStub;
    struct mem_t            m_MemStub;
};
};
 
 
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
 
 
 
typedef struct _SHARED_PHYSMEMORY_DESCRIPTION {
 
    void                    *PhysAddress;   // OUT - user memory address
 
    void                    *KernAddress;   // OUT - user memory address
 
    void                    *UserAddress;   // OUT - user memory address
 
} SHARED_PHYSMEMORY_DESCRIPTION, *PSHARED_PHYSMEMORY_DESCRIPTION;
 
 
 
//-----------------------------------------------------------------------------
 
 
 
typedef struct _SHARED_MEMORY_DESCRIPTION {
 
 
 
        void*           SystemAddress;  // адрес блока памяти выделенного в пространстве ядра
 
        dma_addr_t      LogicalAddress; // физический адрес блока памяти выделенного в пространстве ядра
 
        struct page**   LockedPages;    // указатели на страницы блока памяти выделенного в пространстве пользователя
 
        size_t          PageCount;      // количество страниц составляющи блок памяти выделенный в пространстве пользователя
 
 
 
} SHARED_MEMORY_DESCRIPTION, *PSHARED_MEMORY_DESCRIPTION;
 
 
 
//-----------------------------------------------------------------------------
 
 
struct pex_device;
struct pex_device;
struct memory_block;
struct memory_block;
 
struct CDmaChannel;
 
 
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
 
 
int lock_pages( void *va, u32 size );
int lock_pages( void *va, u32 size );
int unlock_pages( void *va, u32 size );
int unlock_pages( void *va, u32 size );
void* allocate_memory_block(struct pex_device *brd, size_t block_size, dma_addr_t *dma_addr);
void* allocate_memory_block(struct pex_device *brd, size_t block_size, dma_addr_t *dma_addr);
int free_memory_block(struct pex_device *brd, struct memory_block mb);
int free_memory_block(struct pex_device *brd, struct memory_block mb);
 
int lock_user_memory( SHARED_MEMORY_DESCRIPTION *MemDscr, void* userSpaceAddress, size_t userSpaceSize );
 
int unlock_user_memory( SHARED_MEMORY_DESCRIPTION *MemDscr );
 
 
//--------------------------------------------------------------------
//--------------------------------------------------------------------
 
 
#endif //_MEMORY_H_
#endif //_MEMORY_H_
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.