Lines Matching refs:lmb

32 static u32 drmem_lmb_flags(struct drmem_lmb *lmb)  in drmem_lmb_flags()  argument
38 return lmb->flags & ~DRMEM_LMB_RESERVED; in drmem_lmb_flags()
70 struct drmem_lmb *lmb; in drmem_update_dt_v1() local
82 for_each_drmem_lmb(lmb) { in drmem_update_dt_v1()
83 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in drmem_update_dt_v1()
84 dr_cell->drc_index = cpu_to_be32(lmb->drc_index); in drmem_update_dt_v1()
85 dr_cell->aa_index = cpu_to_be32(lmb->aa_index); in drmem_update_dt_v1()
86 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb)); in drmem_update_dt_v1()
96 struct drmem_lmb *lmb) in init_drconf_v2_cell() argument
98 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in init_drconf_v2_cell()
99 dr_cell->drc_index = cpu_to_be32(lmb->drc_index); in init_drconf_v2_cell()
100 dr_cell->aa_index = cpu_to_be32(lmb->aa_index); in init_drconf_v2_cell()
101 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb)); in init_drconf_v2_cell()
109 struct drmem_lmb *lmb, *prev_lmb; in drmem_update_dt_v2() local
116 for_each_drmem_lmb(lmb) { in drmem_update_dt_v2()
118 prev_lmb = lmb; in drmem_update_dt_v2()
123 if (prev_lmb->aa_index != lmb->aa_index || in drmem_update_dt_v2()
124 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb)) in drmem_update_dt_v2()
127 prev_lmb = lmb; in drmem_update_dt_v2()
143 for_each_drmem_lmb(lmb) { in drmem_update_dt_v2()
146 prev_lmb = lmb; in drmem_update_dt_v2()
147 init_drconf_v2_cell(dr_cell, lmb); in drmem_update_dt_v2()
152 if (prev_lmb->aa_index != lmb->aa_index || in drmem_update_dt_v2()
153 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb)) { in drmem_update_dt_v2()
158 init_drconf_v2_cell(dr_cell, lmb); in drmem_update_dt_v2()
164 prev_lmb = lmb; in drmem_update_dt_v2()
196 static void __init read_drconf_v1_cell(struct drmem_lmb *lmb, in read_drconf_v1_cell() argument
201 lmb->base_addr = dt_mem_next_cell(dt_root_addr_cells, &p); in read_drconf_v1_cell()
202 lmb->drc_index = of_read_number(p++, 1); in read_drconf_v1_cell()
206 lmb->aa_index = of_read_number(p++, 1); in read_drconf_v1_cell()
207 lmb->flags = of_read_number(p++, 1); in read_drconf_v1_cell()
215 struct drmem_lmb lmb; in __walk_drmem_v1_lmbs() local
223 read_drconf_v1_cell(&lmb, &prop); in __walk_drmem_v1_lmbs()
224 func(&lmb, &usm); in __walk_drmem_v1_lmbs()
246 struct drmem_lmb lmb; in __walk_drmem_v2_lmbs() local
257 lmb.base_addr = dr_cell.base_addr; in __walk_drmem_v2_lmbs()
260 lmb.drc_index = dr_cell.drc_index; in __walk_drmem_v2_lmbs()
263 lmb.aa_index = dr_cell.aa_index; in __walk_drmem_v2_lmbs()
264 lmb.flags = dr_cell.flags; in __walk_drmem_v2_lmbs()
266 func(&lmb, &usm); in __walk_drmem_v2_lmbs()
358 struct drmem_lmb *lmb; in init_drmem_v1_lmbs() local
364 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb), in init_drmem_v1_lmbs()
369 for_each_drmem_lmb(lmb) in init_drmem_v1_lmbs()
370 read_drconf_v1_cell(lmb, &prop); in init_drmem_v1_lmbs()
375 struct drmem_lmb *lmb; in init_drmem_v2_lmbs() local
392 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb), in init_drmem_v2_lmbs()
405 lmb = &drmem_info->lmbs[lmb_index++]; in init_drmem_v2_lmbs()
407 lmb->base_addr = dr_cell.base_addr; in init_drmem_v2_lmbs()
410 lmb->drc_index = dr_cell.drc_index; in init_drmem_v2_lmbs()
413 lmb->aa_index = dr_cell.aa_index; in init_drmem_v2_lmbs()
414 lmb->flags = dr_cell.flags; in init_drmem_v2_lmbs()