[Nouveau] [PATCH 05/32] clk: Improve names of pstate/cstate related variables and fields
Karol Herbst
karolherbst at gmail.com
Fri Nov 17 00:04:09 UTC 2017
From: Karol Herbst <kherbst at redhat.com>
id: id of the state
idx: index of the state inside the parent list
pstate/cstate: the struct itself
Signed-off-by: Karol Herbst <kherbst at redhat.com>
---
drm/nouveau/include/nvkm/subdev/bios/boost.h | 2 +-
drm/nouveau/include/nvkm/subdev/bios/perf.h | 2 +-
drm/nouveau/include/nvkm/subdev/clk.h | 4 +-
drm/nouveau/nouveau_debugfs.c | 14 +++---
drm/nouveau/nvkm/engine/device/ctrl.c | 4 +-
drm/nouveau/nvkm/subdev/bios/boost.c | 11 +++--
drm/nouveau/nvkm/subdev/bios/perf.c | 2 +-
drm/nouveau/nvkm/subdev/clk/base.c | 70 ++++++++++++++--------------
drm/nouveau/nvkm/subdev/clk/gk20a.c | 2 +-
drm/nouveau/nvkm/subdev/pmu/gk20a.c | 4 +-
10 files changed, 59 insertions(+), 56 deletions(-)
diff --git a/drm/nouveau/include/nvkm/subdev/bios/boost.h b/drm/nouveau/include/nvkm/subdev/bios/boost.h
index 2ff64a20..74791349 100644
--- a/drm/nouveau/include/nvkm/subdev/bios/boost.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/boost.h
@@ -3,7 +3,7 @@
u32 nvbios_boostTe(struct nvkm_bios *, u8 *, u8 *, u8 *, u8 *, u8 *, u8 *);
struct nvbios_boostE {
- u8 pstate;
+ u8 pstate_id;
u32 min;
u32 max;
};
diff --git a/drm/nouveau/include/nvkm/subdev/bios/perf.h b/drm/nouveau/include/nvkm/subdev/bios/perf.h
index 478b1c0d..69800168 100644
--- a/drm/nouveau/include/nvkm/subdev/bios/perf.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/perf.h
@@ -4,7 +4,7 @@ u32 nvbios_perf_table(struct nvkm_bios *, u8 *ver, u8 *hdr,
u8 *cnt, u8 *len, u8 *snr, u8 *ssz);
struct nvbios_perfE {
- u8 pstate;
+ u8 pstate_id;
u8 fanspeed;
u8 voltage;
u32 core;
diff --git a/drm/nouveau/include/nvkm/subdev/clk.h b/drm/nouveau/include/nvkm/subdev/clk.h
index 506f8cc6..1f4fa5f5 100644
--- a/drm/nouveau/include/nvkm/subdev/clk.h
+++ b/drm/nouveau/include/nvkm/subdev/clk.h
@@ -63,7 +63,7 @@ struct nvkm_pstate {
struct list_head head;
struct list_head list; /* c-states */
struct nvkm_cstate base;
- u8 pstate;
+ u8 id;
u8 fanspeed;
enum nvkm_pcie_speed pcie_speed;
u8 pcie_width;
@@ -95,7 +95,7 @@ struct nvkm_clk {
struct nvkm_notify pwrsrc_ntfy;
int pwrsrc;
- int pstate; /* current */
+ int pstate_idx; /* current */
int ustate_ac; /* user-requested (-1 disabled, -2 perfmon) */
int ustate_dc; /* user-requested (-1 disabled, -2 perfmon) */
int astate; /* perfmon adjustment (base) */
diff --git a/drm/nouveau/nouveau_debugfs.c b/drm/nouveau/nouveau_debugfs.c
index 9109b69c..df7e2f29 100644
--- a/drm/nouveau/nouveau_debugfs.c
+++ b/drm/nouveau/nouveau_debugfs.c
@@ -63,10 +63,10 @@ nouveau_debugfs_pstate_get(struct seq_file *m, void *data)
return ret;
for (i = 0; i < info.count + 1; i++) {
- const s32 state = i < info.count ? i :
+ const s32 state_idx = i < info.count ? i :
NVIF_CONTROL_PSTATE_ATTR_V0_STATE_CURRENT;
struct nvif_control_pstate_attr_v0 attr = {
- .state = state,
+ .state = state_idx,
.index = 0,
};
@@ -83,7 +83,7 @@ nouveau_debugfs_pstate_get(struct seq_file *m, void *data)
attr.index = 0;
do {
- attr.state = state;
+ attr.state = state_idx;
ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_ATTR,
&attr, sizeof(attr));
if (ret)
@@ -95,12 +95,12 @@ nouveau_debugfs_pstate_get(struct seq_file *m, void *data)
seq_printf(m, " %s", attr.unit);
} while (attr.index);
- if (state >= 0) {
- if (info.ustate_ac == state)
+ if (state_idx >= 0) {
+ if (info.ustate_ac == state_idx)
seq_printf(m, " AC");
- if (info.ustate_dc == state)
+ if (info.ustate_dc == state_idx)
seq_printf(m, " DC");
- if (info.pstate == state)
+ if (info.pstate == state_idx)
seq_printf(m, " *");
} else {
if (info.ustate_ac < -1)
diff --git a/drm/nouveau/nvkm/engine/device/ctrl.c b/drm/nouveau/nvkm/engine/device/ctrl.c
index b0ece71a..e07948e6 100644
--- a/drm/nouveau/nvkm/engine/device/ctrl.c
+++ b/drm/nouveau/nvkm/engine/device/ctrl.c
@@ -52,7 +52,7 @@ nvkm_control_mthd_pstate_info(struct nvkm_control *ctrl, void *data, u32 size)
args->v0.ustate_ac = clk->ustate_ac;
args->v0.ustate_dc = clk->ustate_dc;
args->v0.pwrsrc = clk->pwrsrc;
- args->v0.pstate = clk->pstate;
+ args->v0.pstate = clk->pstate_idx;
} else {
args->v0.count = 0;
args->v0.ustate_ac = NVIF_CONTROL_PSTATE_INFO_V0_USTATE_DISABLE;
@@ -115,7 +115,7 @@ nvkm_control_mthd_pstate_attr(struct nvkm_control *ctrl, void *data, u32 size)
hi = max(hi, cstate->domain[domain->name]);
}
- args->v0.state = pstate->pstate;
+ args->v0.state = pstate->id;
} else {
lo = max(nvkm_clk_read(clk, domain->name), 0);
hi = lo;
diff --git a/drm/nouveau/nvkm/subdev/bios/boost.c b/drm/nouveau/nvkm/subdev/bios/boost.c
index 8ab896dd..6554e937 100644
--- a/drm/nouveau/nvkm/subdev/bios/boost.c
+++ b/drm/nouveau/nvkm/subdev/bios/boost.c
@@ -78,20 +78,21 @@ nvbios_boostEp(struct nvkm_bios *bios, int idx,
u32 data = nvbios_boostEe(bios, idx, ver, hdr, cnt, len);
memset(info, 0x00, sizeof(*info));
if (data) {
- info->pstate = (nvbios_rd16(bios, data + 0x00) & 0x01e0) >> 5;
- info->min = nvbios_rd16(bios, data + 0x02) * 1000;
- info->max = nvbios_rd16(bios, data + 0x04) * 1000;
+ info->pstate_id =
+ (nvbios_rd16(bios, data + 0x00) & 0x01e0) >> 5;
+ info->min = nvbios_rd16(bios, data + 0x02) * 1000;
+ info->max = nvbios_rd16(bios, data + 0x04) * 1000;
}
return data;
}
u32
-nvbios_boostEm(struct nvkm_bios *bios, u8 pstate,
+nvbios_boostEm(struct nvkm_bios *bios, u8 pstate_id,
u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_boostE *info)
{
u32 data, idx = 0;
while ((data = nvbios_boostEp(bios, idx++, ver, hdr, cnt, len, info))) {
- if (info->pstate == pstate)
+ if (info->pstate_id == pstate_id)
break;
}
return data;
diff --git a/drm/nouveau/nvkm/subdev/bios/perf.c b/drm/nouveau/nvkm/subdev/bios/perf.c
index c3068358..82ba4300 100644
--- a/drm/nouveau/nvkm/subdev/bios/perf.c
+++ b/drm/nouveau/nvkm/subdev/bios/perf.c
@@ -97,7 +97,7 @@ nvbios_perfEp(struct nvkm_bios *bios, int idx,
{
u32 perf = nvbios_perf_entry(bios, idx, ver, hdr, cnt, len);
memset(info, 0x00, sizeof(*info));
- info->pstate = nvbios_rd08(bios, perf + 0x00);
+ info->pstate_id = nvbios_rd08(bios, perf + 0x00);
switch (!!perf * *ver) {
case 0x12:
case 0x13:
diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c
index 0b28dbb9..77a0624a 100644
--- a/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drm/nouveau/nvkm/subdev/clk/base.c
@@ -39,14 +39,15 @@
*****************************************************************************/
static u32
nvkm_clk_adjust(struct nvkm_clk *clk, bool adjust,
- u8 pstate, u8 domain, u32 input)
+ u8 pstate_id, u8 domain, u32 input)
{
struct nvkm_bios *bios = clk->subdev.device->bios;
struct nvbios_boostE boostE;
u8 ver, hdr, cnt, len;
u32 data;
- data = nvbios_boostEm(bios, pstate, &ver, &hdr, &cnt, &len, &boostE);
+ data = nvbios_boostEm(bios, pstate_id, &ver, &hdr, &cnt, &len,
+ &boostE);
if (data) {
struct nvbios_boostS boostS;
u8 idx = 0, sver, shdr;
@@ -143,14 +144,14 @@ nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
}
static struct nvkm_cstate *
-nvkm_cstate_get(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
+nvkm_cstate_get(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstate_id)
{
struct nvkm_cstate *cstate;
- if (cstatei == NVKM_CLK_CSTATE_HIGHEST)
+ if (cstate_id == NVKM_CLK_CSTATE_HIGHEST)
return list_last_entry(&pstate->list, typeof(*cstate), head);
else {
list_for_each_entry(cstate, &pstate->list, head) {
- if (cstate->id == cstatei)
+ if (cstate->id == cstate_id)
return cstate;
}
}
@@ -158,7 +159,8 @@ nvkm_cstate_get(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
}
static int
-nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
+nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
+ int cstate_id)
{
struct nvkm_subdev *subdev = &clk->subdev;
struct nvkm_device *device = subdev->device;
@@ -168,7 +170,7 @@ nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
int ret;
if (!list_empty(&pstate->list)) {
- cstate = nvkm_cstate_get(clk, pstate, cstatei);
+ cstate = nvkm_cstate_get(clk, pstate, cstate_id);
cstate = nvkm_cstate_find_best(clk, pstate, cstate);
} else {
cstate = &pstate->base;
@@ -248,7 +250,7 @@ nvkm_cstate_new(struct nvkm_clk *clk, int idx, struct nvkm_pstate *pstate)
while (domain && domain->name != nv_clk_src_max) {
if (domain->flags & NVKM_CLK_DOM_FLAG_CORE) {
- u32 freq = nvkm_clk_adjust(clk, true, pstate->pstate,
+ u32 freq = nvkm_clk_adjust(clk, true, pstate->id,
domain->bios, cstepX.freq);
cstate->domain[domain->name] = freq;
}
@@ -263,7 +265,7 @@ nvkm_cstate_new(struct nvkm_clk *clk, int idx, struct nvkm_pstate *pstate)
* P-States
*****************************************************************************/
static int
-nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
+nvkm_pstate_prog(struct nvkm_clk *clk, int pstate_idx)
{
struct nvkm_subdev *subdev = &clk->subdev;
struct nvkm_fb *fb = subdev->device->fb;
@@ -272,12 +274,12 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei)
int ret, idx = 0;
list_for_each_entry(pstate, &clk->states, head) {
- if (idx++ == pstatei)
+ if (idx++ == pstate_idx)
break;
}
- nvkm_debug(subdev, "setting performance state %d\n", pstatei);
- clk->pstate = pstatei;
+ nvkm_debug(subdev, "setting performance state %d\n", pstate_idx);
+ clk->pstate_idx = pstate_idx;
nvkm_pcie_set_link(pci, pstate->pcie_speed, pstate->pcie_width);
@@ -300,31 +302,31 @@ nvkm_pstate_work(struct work_struct *work)
{
struct nvkm_clk *clk = container_of(work, typeof(*clk), work);
struct nvkm_subdev *subdev = &clk->subdev;
- int pstate;
+ int pstate_idx;
if (!atomic_xchg(&clk->waiting, 0))
return;
clk->pwrsrc = power_supply_is_system_supplied();
nvkm_trace(subdev, "P %d PWR %d U(AC) %d U(DC) %d A %d T %d°C D %d\n",
- clk->pstate, clk->pwrsrc, clk->ustate_ac, clk->ustate_dc,
+ clk->pstate_idx, clk->pwrsrc, clk->ustate_ac, clk->ustate_dc,
clk->astate, clk->temp, clk->dstate);
- pstate = clk->pwrsrc ? clk->ustate_ac : clk->ustate_dc;
- if (clk->state_nr && pstate != -1) {
- pstate = (pstate < 0) ? clk->astate : pstate;
- pstate = min(pstate, clk->state_nr - 1);
- pstate = max(pstate, clk->dstate);
+ pstate_idx = clk->pwrsrc ? clk->ustate_ac : clk->ustate_dc;
+ if (clk->state_nr && pstate_idx != -1) {
+ pstate_idx = (pstate_idx < 0) ? clk->astate : pstate_idx;
+ pstate_idx = min(pstate_idx, clk->state_nr - 1);
+ pstate_idx = max(pstate_idx, clk->dstate);
} else {
- pstate = clk->pstate = -1;
+ pstate_idx = clk->pstate_idx = -1;
}
- nvkm_trace(subdev, "-> %d\n", pstate);
- if (pstate != clk->pstate) {
- int ret = nvkm_pstate_prog(clk, pstate);
+ nvkm_trace(subdev, "-> %d\n", pstate_idx);
+ if (pstate_idx != clk->pstate_idx) {
+ int ret = nvkm_pstate_prog(clk, pstate_idx);
if (ret) {
nvkm_error(subdev, "error setting pstate %d: %d\n",
- pstate, ret);
+ pstate_idx, ret);
}
}
@@ -352,8 +354,8 @@ nvkm_pstate_info(struct nvkm_clk *clk, struct nvkm_pstate *pstate)
char name[4] = "--";
int i = -1;
- if (pstate->pstate != 0xff)
- snprintf(name, sizeof(name), "%02x", pstate->pstate);
+ if (pstate->id != 0xff)
+ snprintf(name, sizeof(name), "%02x", pstate->id);
while ((++clock)->name != nv_clk_src_max) {
u32 lo = pstate->base.domain[clock->name];
@@ -413,7 +415,7 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
data = nvbios_perfEp(bios, idx, &ver, &hdr, &cnt, &len, &perfE);
if (!data)
return -EINVAL;
- if (perfE.pstate == 0xff)
+ if (perfE.pstate_id == 0xff)
return 0;
pstate = kzalloc(sizeof(*pstate), GFP_KERNEL);
@@ -423,7 +425,7 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
INIT_LIST_HEAD(&pstate->list);
- pstate->pstate = perfE.pstate;
+ pstate->id = perfE.pstate_id;
pstate->fanspeed = perfE.fanspeed;
pstate->pcie_speed = perfE.pcie_speed;
pstate->pcie_width = perfE.pcie_width;
@@ -444,7 +446,7 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
if (domain->flags & NVKM_CLK_DOM_FLAG_CORE) {
perfS.v40.freq = nvkm_clk_adjust(clk, false,
- pstate->pstate,
+ pstate->id,
domain->bios,
perfS.v40.freq);
}
@@ -452,7 +454,7 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
cstate->domain[domain->name] = perfS.v40.freq;
}
- data = nvbios_cstepEm(bios, pstate->pstate, &ver, &hdr, &cstepE);
+ data = nvbios_cstepEm(bios, pstate->id, &ver, &hdr, &cstepE);
if (data) {
int idx = cstepE.index;
do {
@@ -480,12 +482,12 @@ nvkm_clk_ustate_update(struct nvkm_clk *clk, int req)
if (req != -1 && req != -2) {
list_for_each_entry(pstate, &clk->states, head) {
- if (pstate->pstate == req)
+ if (pstate->id == req)
break;
i++;
}
- if (pstate->pstate != req)
+ if (pstate->id != req)
return -EINVAL;
req = i;
}
@@ -597,7 +599,7 @@ nvkm_clk_init(struct nvkm_subdev *subdev)
memset(&clk->bstate, 0x00, sizeof(clk->bstate));
INIT_LIST_HEAD(&clk->bstate.list);
- clk->bstate.pstate = 0xff;
+ clk->bstate.id = 0xff;
while (clock->name != nv_clk_src_max) {
ret = nvkm_clk_read(clk, clock->name);
@@ -616,7 +618,7 @@ nvkm_clk_init(struct nvkm_subdev *subdev)
clk->astate = clk->state_nr - 1;
clk->dstate = 0;
- clk->pstate = -1;
+ clk->pstate_idx = -1;
clk->temp = 90; /* reasonable default value */
nvkm_pstate_calc(clk, true);
return 0;
diff --git a/drm/nouveau/nvkm/subdev/clk/gk20a.c b/drm/nouveau/nvkm/subdev/clk/gk20a.c
index 218893e3..dc98ad62 100644
--- a/drm/nouveau/nvkm/subdev/clk/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/clk/gk20a.c
@@ -622,7 +622,7 @@ gk20a_clk_ctor(struct nvkm_device *device, int index,
/* Finish initializing the pstates */
for (i = 0; i < func->nr_pstates; i++) {
INIT_LIST_HEAD(&func->pstates[i].list);
- func->pstates[i].pstate = i + 1;
+ func->pstates[i].id = i + 1;
}
clk->params = params;
diff --git a/drm/nouveau/nvkm/subdev/pmu/gk20a.c b/drm/nouveau/nvkm/subdev/pmu/gk20a.c
index 05e81855..0c169215 100644
--- a/drm/nouveau/nvkm/subdev/pmu/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/pmu/gk20a.c
@@ -60,7 +60,7 @@ gk20a_pmu_dvfs_get_cur_state(struct gk20a_pmu *pmu, int *state)
{
struct nvkm_clk *clk = pmu->base.subdev.device->clk;
- *state = clk->pstate;
+ *state = clk->pstate_idx;
}
static int
@@ -72,7 +72,7 @@ gk20a_pmu_dvfs_get_target_state(struct gk20a_pmu *pmu,
int cur_level, level;
/* For GK20A, the performance level is directly mapped to pstate */
- level = cur_level = clk->pstate;
+ level = cur_level = clk->pstate_idx;
if (load > data->p_load_max) {
level = min(clk->state_nr - 1, level + (clk->state_nr / 3));
--
2.15.0
More information about the Nouveau
mailing list