Lines Matching refs:muram
19 static unsigned long fman_muram_vbase_to_offset(struct muram_info *muram, in fman_muram_vbase_to_offset() argument
22 return vaddr - (unsigned long)muram->vbase; in fman_muram_vbase_to_offset()
40 struct muram_info *muram; in fman_muram_init() local
44 muram = kzalloc(sizeof(*muram), GFP_KERNEL); in fman_muram_init()
45 if (!muram) in fman_muram_init()
48 muram->pool = gen_pool_create(ilog2(64), -1); in fman_muram_init()
49 if (!muram->pool) { in fman_muram_init()
60 ret = gen_pool_add_virt(muram->pool, (unsigned long)vaddr, in fman_muram_init()
70 muram->vbase = vaddr; in fman_muram_init()
71 muram->pbase = base; in fman_muram_init()
72 return muram; in fman_muram_init()
75 gen_pool_destroy(muram->pool); in fman_muram_init()
77 kfree(muram); in fman_muram_init()
90 unsigned long fman_muram_offset_to_vbase(struct muram_info *muram, in fman_muram_offset_to_vbase() argument
93 return offset + (unsigned long)muram->vbase; in fman_muram_offset_to_vbase()
105 unsigned long fman_muram_alloc(struct muram_info *muram, size_t size) in fman_muram_alloc() argument
109 vaddr = gen_pool_alloc(muram->pool, size); in fman_muram_alloc()
115 return fman_muram_vbase_to_offset(muram, vaddr); in fman_muram_alloc()
126 void fman_muram_free_mem(struct muram_info *muram, unsigned long offset, in fman_muram_free_mem() argument
129 unsigned long addr = fman_muram_offset_to_vbase(muram, offset); in fman_muram_free_mem()
131 gen_pool_free(muram->pool, addr, size); in fman_muram_free_mem()