Lines Matching refs:ocm
109 struct ocm_info *ocm; in ocm_init_node() local
118 ocm = ocm_get_node(count); in ocm_init_node()
125 ocm->index = *cell_index; in ocm_init_node()
128 ocm->status = OCM_ENABLED; in ocm_init_node()
132 ocm->cache_size = *cache_size; in ocm_init_node()
136 ocm->index); in ocm_init_node()
140 ocm->phys = rsrc.start; in ocm_init_node()
141 ocm->memtotal = (rsrc.end - rsrc.start + 1); in ocm_init_node()
144 ocm->index, ocm->memtotal, in ocm_init_node()
145 (ocm->status == OCM_DISABLED) ? "disabled" : "enabled"); in ocm_init_node()
147 if (ocm->status == OCM_DISABLED) in ocm_init_node()
152 if (!request_mem_region(ocm->phys, ocm->memtotal, "ppc4xx_ocm")) { in ocm_init_node()
154 ocm->index); in ocm_init_node()
160 ocm->nc.phys = ocm->phys; in ocm_init_node()
161 ocm->nc.memtotal = ocm->memtotal - ocm->cache_size; in ocm_init_node()
162 ocm->nc.memfree = ocm->nc.memtotal; in ocm_init_node()
164 ocm->c.phys = ocm->phys + ocm->nc.memtotal; in ocm_init_node()
165 ocm->c.memtotal = ocm->cache_size; in ocm_init_node()
166 ocm->c.memfree = ocm->c.memtotal; in ocm_init_node()
168 if (ocm->nc.memtotal == 0) in ocm_init_node()
169 ocm->nc.phys = 0; in ocm_init_node()
171 if (ocm->c.memtotal == 0) in ocm_init_node()
172 ocm->c.phys = 0; in ocm_init_node()
175 ocm->index, ocm->nc.memtotal); in ocm_init_node()
178 ocm->index, ocm->c.memtotal); in ocm_init_node()
181 if (ocm->nc.memtotal) { in ocm_init_node()
183 ocm->nc.virt = __ioremap(ocm->nc.phys, ocm->nc.memtotal, in ocm_init_node()
186 if (!ocm->nc.virt) { in ocm_init_node()
189 ocm->index); in ocm_init_node()
190 ocm->nc.memfree = 0; in ocm_init_node()
197 if (ocm->c.memtotal) { in ocm_init_node()
199 ocm->c.virt = __ioremap(ocm->c.phys, ocm->c.memtotal, in ocm_init_node()
202 if (!ocm->c.virt) { in ocm_init_node()
205 ocm->index); in ocm_init_node()
206 ocm->c.memfree = 0; in ocm_init_node()
213 ocm->alignment = 4; /* default 4 byte alignment */ in ocm_init_node()
215 if (ocm->nc.virt) { in ocm_init_node()
216 ocm->nc.rh = rh_create(ocm->alignment); in ocm_init_node()
217 rh_attach_region(ocm->nc.rh, 0, ocm->nc.memtotal); in ocm_init_node()
220 if (ocm->c.virt) { in ocm_init_node()
221 ocm->c.rh = rh_create(ocm->alignment); in ocm_init_node()
222 rh_attach_region(ocm->c.rh, 0, ocm->c.memtotal); in ocm_init_node()
225 INIT_LIST_HEAD(&ocm->nc.list); in ocm_init_node()
226 INIT_LIST_HEAD(&ocm->c.list); in ocm_init_node()
228 ocm->ready = 1; in ocm_init_node()
239 struct ocm_info *ocm = ocm_get_node(i); in ocm_debugfs_show() local
241 if (!ocm || !ocm->ready) in ocm_debugfs_show()
244 seq_printf(m, "PPC4XX OCM : %d\n", ocm->index); in ocm_debugfs_show()
245 seq_printf(m, "PhysAddr : 0x%llx\n", ocm->phys); in ocm_debugfs_show()
246 seq_printf(m, "MemTotal : %d Bytes\n", ocm->memtotal); in ocm_debugfs_show()
247 seq_printf(m, "MemTotal(NC) : %d Bytes\n", ocm->nc.memtotal); in ocm_debugfs_show()
248 seq_printf(m, "MemTotal(C) : %d Bytes\n", ocm->c.memtotal); in ocm_debugfs_show()
252 seq_printf(m, "NC.PhysAddr : 0x%llx\n", ocm->nc.phys); in ocm_debugfs_show()
253 seq_printf(m, "NC.VirtAddr : 0x%p\n", ocm->nc.virt); in ocm_debugfs_show()
254 seq_printf(m, "NC.MemTotal : %d Bytes\n", ocm->nc.memtotal); in ocm_debugfs_show()
255 seq_printf(m, "NC.MemFree : %d Bytes\n", ocm->nc.memfree); in ocm_debugfs_show()
257 list_for_each_entry_safe(blk, tmp, &ocm->nc.list, list) { in ocm_debugfs_show()
264 seq_printf(m, "C.PhysAddr : 0x%llx\n", ocm->c.phys); in ocm_debugfs_show()
265 seq_printf(m, "C.VirtAddr : 0x%p\n", ocm->c.virt); in ocm_debugfs_show()
266 seq_printf(m, "C.MemTotal : %d Bytes\n", ocm->c.memtotal); in ocm_debugfs_show()
267 seq_printf(m, "C.MemFree : %d Bytes\n", ocm->c.memfree); in ocm_debugfs_show()
269 list_for_each_entry_safe(blk, tmp, &ocm->c.list, list) { in ocm_debugfs_show()
315 struct ocm_info *ocm; in ppc4xx_ocm_alloc() local
321 ocm = ocm_get_node(i); in ppc4xx_ocm_alloc()
323 if (!ocm || !ocm->ready) in ppc4xx_ocm_alloc()
327 ocm_reg = &ocm->nc; in ppc4xx_ocm_alloc()
329 ocm_reg = &ocm->c; in ppc4xx_ocm_alloc()
334 if (align < ocm->alignment) in ppc4xx_ocm_alloc()
335 align = ocm->alignment; in ppc4xx_ocm_alloc()
374 struct ocm_info *ocm = ocm_get_node(i); in ppc4xx_ocm_free() local
376 if (!ocm || !ocm->ready) in ppc4xx_ocm_free()
379 if (ocm_free_region(&ocm->nc, addr) || in ppc4xx_ocm_free()
380 ocm_free_region(&ocm->c, addr)) in ppc4xx_ocm_free()