Lines Matching refs:vmsc
352 INIT_LIST_HEAD_RCU(&comp->vmsc); in mpam_component_alloc()
397 struct mpam_vmsc *vmsc; in mpam_vmsc_alloc() local
401 vmsc = kzalloc(sizeof(*vmsc), GFP_KERNEL); in mpam_vmsc_alloc()
402 if (!vmsc) in mpam_vmsc_alloc()
404 init_garbage(&vmsc->garbage); in mpam_vmsc_alloc()
406 INIT_LIST_HEAD_RCU(&vmsc->ris); in mpam_vmsc_alloc()
407 INIT_LIST_HEAD_RCU(&vmsc->comp_list); in mpam_vmsc_alloc()
408 vmsc->comp = comp; in mpam_vmsc_alloc()
409 vmsc->msc = msc; in mpam_vmsc_alloc()
411 list_add_rcu(&vmsc->comp_list, &comp->vmsc); in mpam_vmsc_alloc()
413 return vmsc; in mpam_vmsc_alloc()
416 static void mpam_vmsc_destroy(struct mpam_vmsc *vmsc) in mpam_vmsc_destroy() argument
418 struct mpam_component *comp = vmsc->comp; in mpam_vmsc_destroy()
422 list_del_rcu(&vmsc->comp_list); in mpam_vmsc_destroy()
423 add_to_garbage(vmsc); in mpam_vmsc_destroy()
425 if (list_empty(&comp->vmsc)) in mpam_vmsc_destroy()
432 struct mpam_vmsc *vmsc; in mpam_vmsc_find() local
436 list_for_each_entry(vmsc, &comp->vmsc, comp_list) { in mpam_vmsc_find()
437 if (vmsc->msc->id == msc->id) in mpam_vmsc_find()
438 return vmsc; in mpam_vmsc_find()
507 struct mpam_vmsc *vmsc; in mpam_ris_create_locked() local
538 vmsc = mpam_vmsc_find(comp, msc); in mpam_ris_create_locked()
539 if (IS_ERR(vmsc)) { in mpam_ris_create_locked()
540 if (list_empty(&comp->vmsc)) in mpam_ris_create_locked()
542 return PTR_ERR(vmsc); in mpam_ris_create_locked()
547 if (list_empty(&vmsc->ris)) in mpam_ris_create_locked()
548 mpam_vmsc_destroy(vmsc); in mpam_ris_create_locked()
555 ris->vmsc = vmsc; in mpam_ris_create_locked()
559 list_add_rcu(&ris->vmsc_list, &vmsc->ris); in mpam_ris_create_locked()
567 struct mpam_vmsc *vmsc = ris->vmsc; in mpam_ris_destroy() local
568 struct mpam_msc *msc = vmsc->msc; in mpam_ris_destroy()
569 struct mpam_component *comp = vmsc->comp; in mpam_ris_destroy()
585 if (list_empty(&vmsc->ris)) in mpam_ris_destroy()
586 mpam_vmsc_destroy(vmsc); in mpam_ris_destroy()
640 struct mpam_msc *msc = ris->vmsc->msc; in _mpam_ris_hw_probe_hw_nrdy()
667 struct mpam_msc *msc = ris->vmsc->msc; in mpam_ris_hw_probe()
670 struct mpam_class *class = ris->vmsc->comp->class; in mpam_ris_hw_probe()
995 struct mpam_msc *msc = m->ris->vmsc->msc; in read_msmon_ctl_flt_vals()
1025 struct mpam_msc *msc = m->ris->vmsc->msc; in write_msmon_ctl_flt_vals()
1048 mpam_msc_zero_mbwu_l(m->ris->vmsc->msc); in write_msmon_ctl_flt_vals()
1082 struct mpam_msc *msc = m->ris->vmsc->msc; in __ris_msmon_read()
1191 struct mpam_vmsc *vmsc; in _msmon_read() local
1194 list_for_each_entry_srcu(vmsc, &comp->vmsc, comp_list, in _msmon_read()
1196 struct mpam_msc *msc = vmsc->msc; in _msmon_read()
1199 list_for_each_entry_srcu(ris, &vmsc->ris, vmsc_list, in _msmon_read()
1285 struct mpam_vmsc *vmsc; in mpam_msmon_reset_mbwu() local
1292 list_for_each_entry_srcu(vmsc, &comp->vmsc, comp_list, in mpam_msmon_reset_mbwu()
1294 if (!mpam_has_feature(mpam_feat_msmon_mbwu, &vmsc->props)) in mpam_msmon_reset_mbwu()
1297 msc = vmsc->msc; in mpam_msmon_reset_mbwu()
1298 list_for_each_entry_srcu(ris, &vmsc->ris, vmsc_list, in mpam_msmon_reset_mbwu()
1347 struct mpam_msc *msc = ris->vmsc->msc; in mpam_reprogram_ris_partid()
1433 struct mpam_class *class = ris->vmsc->comp->class; in mpam_restore_mbwu_state()
1457 struct mpam_msc *msc = ris->vmsc->msc; in mpam_save_mbwu_state()
1590 arg.comp = ris->vmsc->comp; in mpam_reprogram_msc()
1594 cfg = &ris->vmsc->comp->cfg[partid]; in mpam_reprogram_msc()
2093 __class_props_mismatch(struct mpam_class *class, struct mpam_vmsc *vmsc) in __class_props_mismatch() argument
2096 struct mpam_props *vprops = &vmsc->props; in __class_props_mismatch()
2097 struct device *dev = &vmsc->msc->pdev->dev; in __class_props_mismatch()
2109 __vmsc_props_mismatch(struct mpam_vmsc *vmsc, struct mpam_msc_ris *ris) in __vmsc_props_mismatch() argument
2112 struct mpam_props *vprops = &vmsc->props; in __vmsc_props_mismatch()
2113 struct device *dev = &vmsc->msc->pdev->dev; in __vmsc_props_mismatch()
2135 struct mpam_vmsc *vmsc; in mpam_enable_init_class_features() local
2140 vmsc = list_first_entry(&comp->vmsc, in mpam_enable_init_class_features()
2143 class->props = vmsc->props; in mpam_enable_init_class_features()
2148 struct mpam_vmsc *vmsc; in mpam_enable_merge_vmsc_features() local
2152 list_for_each_entry(vmsc, &comp->vmsc, comp_list) { in mpam_enable_merge_vmsc_features()
2153 list_for_each_entry(ris, &vmsc->ris, vmsc_list) { in mpam_enable_merge_vmsc_features()
2154 __vmsc_props_mismatch(vmsc, ris); in mpam_enable_merge_vmsc_features()
2156 vmsc->msc->nrdy_usec); in mpam_enable_merge_vmsc_features()
2163 struct mpam_vmsc *vmsc; in mpam_enable_merge_class_features() local
2166 list_for_each_entry(vmsc, &comp->vmsc, comp_list) in mpam_enable_merge_class_features()
2167 __class_props_mismatch(class, vmsc); in mpam_enable_merge_class_features()
2375 struct mpam_vmsc *vmsc; in __destroy_component_cfg() local
2381 list_for_each_entry(vmsc, &comp->vmsc, comp_list) { in __destroy_component_cfg()
2382 msc = vmsc->msc; in __destroy_component_cfg()
2385 list_for_each_entry(ris, &vmsc->ris, vmsc_list) in __destroy_component_cfg()
2415 struct mpam_vmsc *vmsc; in __allocate_component_cfg() local
2434 list_for_each_entry(vmsc, &comp->vmsc, comp_list) { in __allocate_component_cfg()
2439 if (!vmsc->props.num_mbwu_mon) in __allocate_component_cfg()
2442 msc = vmsc->msc; in __allocate_component_cfg()
2443 list_for_each_entry(ris, &vmsc->ris, vmsc_list) { in __allocate_component_cfg()
2539 struct mpam_vmsc *vmsc; in mpam_reset_component_locked() local
2547 list_for_each_entry_srcu(vmsc, &comp->vmsc, comp_list, in mpam_reset_component_locked()
2549 struct mpam_msc *msc = vmsc->msc; in mpam_reset_component_locked()
2552 list_for_each_entry_srcu(ris, &vmsc->ris, vmsc_list, in mpam_reset_component_locked()
2672 struct mpam_vmsc *vmsc; in mpam_apply_config() local
2687 list_for_each_entry_srcu(vmsc, &comp->vmsc, comp_list, in mpam_apply_config()
2689 msc = vmsc->msc; in mpam_apply_config()
2692 list_for_each_entry_srcu(ris, &vmsc->ris, vmsc_list, in mpam_apply_config()