Lines Matching refs:lmb
30 static u32 drmem_lmb_flags(struct drmem_lmb *lmb) in drmem_lmb_flags() argument
36 return lmb->flags & ~DRMEM_LMB_RESERVED; in drmem_lmb_flags()
68 struct drmem_lmb *lmb; in drmem_update_dt_v1() local
80 for_each_drmem_lmb(lmb) { in drmem_update_dt_v1()
81 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in drmem_update_dt_v1()
82 dr_cell->drc_index = cpu_to_be32(lmb->drc_index); in drmem_update_dt_v1()
83 dr_cell->aa_index = cpu_to_be32(lmb->aa_index); in drmem_update_dt_v1()
84 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb)); in drmem_update_dt_v1()
94 struct drmem_lmb *lmb) in init_drconf_v2_cell() argument
96 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in init_drconf_v2_cell()
97 dr_cell->drc_index = cpu_to_be32(lmb->drc_index); in init_drconf_v2_cell()
98 dr_cell->aa_index = cpu_to_be32(lmb->aa_index); in init_drconf_v2_cell()
99 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb)); in init_drconf_v2_cell()
107 struct drmem_lmb *lmb, *prev_lmb; in drmem_update_dt_v2() local
114 for_each_drmem_lmb(lmb) { in drmem_update_dt_v2()
116 prev_lmb = lmb; in drmem_update_dt_v2()
121 if (prev_lmb->aa_index != lmb->aa_index || in drmem_update_dt_v2()
122 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb)) in drmem_update_dt_v2()
125 prev_lmb = lmb; in drmem_update_dt_v2()
141 for_each_drmem_lmb(lmb) { in drmem_update_dt_v2()
144 prev_lmb = lmb; in drmem_update_dt_v2()
145 init_drconf_v2_cell(dr_cell, lmb); in drmem_update_dt_v2()
150 if (prev_lmb->aa_index != lmb->aa_index || in drmem_update_dt_v2()
151 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb)) { in drmem_update_dt_v2()
156 init_drconf_v2_cell(dr_cell, lmb); in drmem_update_dt_v2()
162 prev_lmb = lmb; in drmem_update_dt_v2()
194 static void read_drconf_v1_cell(struct drmem_lmb *lmb, in read_drconf_v1_cell() argument
199 lmb->base_addr = of_read_number(p, n_root_addr_cells); in read_drconf_v1_cell()
201 lmb->drc_index = of_read_number(p++, 1); in read_drconf_v1_cell()
205 lmb->aa_index = of_read_number(p++, 1); in read_drconf_v1_cell()
206 lmb->flags = of_read_number(p++, 1); in read_drconf_v1_cell()
215 struct drmem_lmb lmb; in __walk_drmem_v1_lmbs() local
221 read_drconf_v1_cell(&lmb, &prop); in __walk_drmem_v1_lmbs()
222 ret = func(&lmb, &usm, data); in __walk_drmem_v1_lmbs()
250 struct drmem_lmb lmb; in __walk_drmem_v2_lmbs() local
259 lmb.base_addr = dr_cell.base_addr; in __walk_drmem_v2_lmbs()
262 lmb.drc_index = dr_cell.drc_index; in __walk_drmem_v2_lmbs()
265 lmb.aa_index = dr_cell.aa_index; in __walk_drmem_v2_lmbs()
266 lmb.flags = dr_cell.flags; in __walk_drmem_v2_lmbs()
268 ret = func(&lmb, &usm, data); in __walk_drmem_v2_lmbs()
381 struct drmem_lmb *lmb; in init_drmem_v1_lmbs() local
387 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb), in init_drmem_v1_lmbs()
392 for_each_drmem_lmb(lmb) in init_drmem_v1_lmbs()
393 read_drconf_v1_cell(lmb, &prop); in init_drmem_v1_lmbs()
398 struct drmem_lmb *lmb; in init_drmem_v2_lmbs() local
415 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb), in init_drmem_v2_lmbs()
428 lmb = &drmem_info->lmbs[lmb_index++]; in init_drmem_v2_lmbs()
430 lmb->base_addr = dr_cell.base_addr; in init_drmem_v2_lmbs()
433 lmb->drc_index = dr_cell.drc_index; in init_drmem_v2_lmbs()
436 lmb->aa_index = dr_cell.aa_index; in init_drmem_v2_lmbs()
437 lmb->flags = dr_cell.flags; in init_drmem_v2_lmbs()