mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
x86/resctrl: Simplify call convention for MSR update functions
The per-resource MSR update functions cat_wrmsr(), mba_wrmsr_intel(), and mba_wrmsr_amd() all take three arguments: (struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r) struct msr_param contains pointers to both struct rdt_resource and struct rdt_domain, thus only struct msr_param is necessary. Pass struct msr_param as a single parameter. Clean up formatting and fix some fir tree declaration ordering. No functional change. Suggested-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Babu Moger <babu.moger@amd.com> Tested-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com> Link: https://lore.kernel.org/r/20240308213846.77075-3-tony.luck@intel.com
This commit is contained in:
parent
e3ca96e479
commit
bd4955d4bc
|
|
@ -56,14 +56,9 @@ int max_name_width, max_data_width;
|
|||
*/
|
||||
bool rdt_alloc_capable;
|
||||
|
||||
static void
|
||||
mba_wrmsr_intel(struct rdt_domain *d, struct msr_param *m,
|
||||
struct rdt_resource *r);
|
||||
static void
|
||||
cat_wrmsr(struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r);
|
||||
static void
|
||||
mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m,
|
||||
struct rdt_resource *r);
|
||||
static void mba_wrmsr_intel(struct msr_param *m);
|
||||
static void cat_wrmsr(struct msr_param *m);
|
||||
static void mba_wrmsr_amd(struct msr_param *m);
|
||||
|
||||
#define domain_init(id) LIST_HEAD_INIT(rdt_resources_all[id].r_resctrl.domains)
|
||||
|
||||
|
|
@ -309,12 +304,11 @@ static void rdt_get_cdp_l2_config(void)
|
|||
rdt_get_cdp_config(RDT_RESOURCE_L2);
|
||||
}
|
||||
|
||||
static void
|
||||
mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r)
|
||||
static void mba_wrmsr_amd(struct msr_param *m)
|
||||
{
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(m->res);
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(m->dom);
|
||||
unsigned int i;
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d);
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
|
||||
|
||||
for (i = m->low; i < m->high; i++)
|
||||
wrmsrl(hw_res->msr_base + i, hw_dom->ctrl_val[i]);
|
||||
|
|
@ -334,25 +328,22 @@ static u32 delay_bw_map(unsigned long bw, struct rdt_resource *r)
|
|||
return r->default_ctrl;
|
||||
}
|
||||
|
||||
static void
|
||||
mba_wrmsr_intel(struct rdt_domain *d, struct msr_param *m,
|
||||
struct rdt_resource *r)
|
||||
static void mba_wrmsr_intel(struct msr_param *m)
|
||||
{
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(m->res);
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(m->dom);
|
||||
unsigned int i;
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d);
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
|
||||
|
||||
/* Write the delay values for mba. */
|
||||
for (i = m->low; i < m->high; i++)
|
||||
wrmsrl(hw_res->msr_base + i, delay_bw_map(hw_dom->ctrl_val[i], r));
|
||||
wrmsrl(hw_res->msr_base + i, delay_bw_map(hw_dom->ctrl_val[i], m->res));
|
||||
}
|
||||
|
||||
static void
|
||||
cat_wrmsr(struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r)
|
||||
static void cat_wrmsr(struct msr_param *m)
|
||||
{
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(m->res);
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(m->dom);
|
||||
unsigned int i;
|
||||
struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d);
|
||||
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
|
||||
|
||||
for (i = m->low; i < m->high; i++)
|
||||
wrmsrl(hw_res->msr_base + i, hw_dom->ctrl_val[i]);
|
||||
|
|
@ -384,7 +375,7 @@ void rdt_ctrl_update(void *arg)
|
|||
struct msr_param *m = arg;
|
||||
|
||||
hw_res = resctrl_to_arch_res(m->res);
|
||||
hw_res->msr_update(m->dom, m, m->res);
|
||||
hw_res->msr_update(m);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -457,10 +448,11 @@ static int domain_setup_ctrlval(struct rdt_resource *r, struct rdt_domain *d)
|
|||
hw_dom->ctrl_val = dc;
|
||||
setup_default_ctrlval(r, dc);
|
||||
|
||||
m.res = r;
|
||||
m.dom = d;
|
||||
m.low = 0;
|
||||
m.high = hw_res->num_closid;
|
||||
hw_res->msr_update(d, &m, r);
|
||||
hw_res->msr_update(&m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -289,7 +289,7 @@ int resctrl_arch_update_one(struct rdt_resource *r, struct rdt_domain *d,
|
|||
msr_param.dom = d;
|
||||
msr_param.low = idx;
|
||||
msr_param.high = idx + 1;
|
||||
hw_res->msr_update(d, &msr_param, r);
|
||||
hw_res->msr_update(&msr_param);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,8 +445,7 @@ struct rdt_hw_resource {
|
|||
struct rdt_resource r_resctrl;
|
||||
u32 num_closid;
|
||||
unsigned int msr_base;
|
||||
void (*msr_update) (struct rdt_domain *d, struct msr_param *m,
|
||||
struct rdt_resource *r);
|
||||
void (*msr_update)(struct msr_param *m);
|
||||
unsigned int mon_scale;
|
||||
unsigned int mbm_width;
|
||||
unsigned int mbm_cfg_mask;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user