Lines Matching refs:lmb

31 static u32 drmem_lmb_flags(struct drmem_lmb *lmb)
34 * Return the value of the lmb flags field minus the reserved
37 return lmb->flags & ~DRMEM_LMB_RESERVED;
69 struct drmem_lmb *lmb;
81 for_each_drmem_lmb(lmb) {
82 dr_cell->base_addr = cpu_to_be64(lmb->base_addr);
83 dr_cell->drc_index = cpu_to_be32(lmb->drc_index);
84 dr_cell->aa_index = cpu_to_be32(lmb->aa_index);
85 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb));
95 struct drmem_lmb *lmb)
97 dr_cell->base_addr = cpu_to_be64(lmb->base_addr);
98 dr_cell->drc_index = cpu_to_be32(lmb->drc_index);
99 dr_cell->aa_index = cpu_to_be32(lmb->aa_index);
100 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb));
108 struct drmem_lmb *lmb, *prev_lmb;
115 for_each_drmem_lmb(lmb) {
117 prev_lmb = lmb;
122 if (prev_lmb->aa_index != lmb->aa_index ||
123 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb))
126 prev_lmb = lmb;
142 for_each_drmem_lmb(lmb) {
145 prev_lmb = lmb;
146 init_drconf_v2_cell(dr_cell, lmb);
151 if (prev_lmb->aa_index != lmb->aa_index ||
152 drmem_lmb_flags(prev_lmb) != drmem_lmb_flags(lmb)) {
157 init_drconf_v2_cell(dr_cell, lmb);
163 prev_lmb = lmb;
201 static void read_drconf_v1_cell(struct drmem_lmb *lmb,
206 lmb->base_addr = of_read_number(p, n_root_addr_cells);
208 lmb->drc_index = of_read_number(p++, 1);
212 lmb->aa_index = of_read_number(p++, 1);
213 lmb->flags = of_read_number(p++, 1);
222 struct drmem_lmb lmb;
228 read_drconf_v1_cell(&lmb, &prop);
229 ret = func(&lmb, &usm, data);
257 struct drmem_lmb lmb;
266 lmb.base_addr = dr_cell.base_addr;
269 lmb.drc_index = dr_cell.drc_index;
272 lmb.aa_index = dr_cell.aa_index;
273 lmb.flags = dr_cell.flags;
275 ret = func(&lmb, &usm, data);
291 prop = of_get_flat_dt_prop(node, "ibm,lmb-size", &len);
324 struct drmem_lmb *lmb;
326 for_each_drmem_lmb(lmb) {
327 if (lmb->drc_index != updated_lmb->drc_index)
330 lmb->aa_index = updated_lmb->aa_index;
366 prop = of_get_property(dn, "ibm,lmb-size", &len);
427 struct drmem_lmb *lmb;
433 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb),
438 for_each_drmem_lmb(lmb)
439 read_drconf_v1_cell(lmb, &prop);
444 struct drmem_lmb *lmb;
461 drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb),
474 lmb = &drmem_info->lmbs[lmb_index++];
476 lmb->base_addr = dr_cell.base_addr;
479 lmb->drc_index = dr_cell.drc_index;
482 lmb->aa_index = dr_cell.aa_index;
483 lmb->flags = dr_cell.flags;