Wei Ni
2015-Jun-16 09:35 UTC
[Nouveau] [PATCH v2] drm/nouveau/clk: fix tstate to pstate calculation
According to the tstate calculation in nvkm_clk_tstate(), the range of tstate is from -(clk->state_nr - 1) to 0, it mean the tstate is negative value. But in nvkm_pstate_work(), it use (clk->state_nr - 1 - clk->tstate) to limit pstate, it's not correct. This patch fix it to use (clk->state_nr - 1 + clk->tstate) to limit pstate. Signed-off-by: Wei Ni <wni at nvidia.com> --- v2: create patch based on http://cgit.freedesktop.org/~darktama/nouveau/ drm/nouveau/nvkm/subdev/clk/base.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c index 39a83d82e0cd..77a0ab5ca3b0 100644 --- a/drm/nouveau/nvkm/subdev/clk/base.c +++ b/drm/nouveau/nvkm/subdev/clk/base.c @@ -214,7 +214,7 @@ nvkm_pstate_work(struct work_struct *work) 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 - clk->tstate); + pstate = min(pstate, clk->state_nr - 1 + clk->tstate); pstate = max(pstate, clk->dstate); } else { pstate = clk->pstate = -1; -- 1.9.1
Ben Skeggs
2015-Jun-17 09:53 UTC
[Nouveau] [PATCH v2] drm/nouveau/clk: fix tstate to pstate calculation
On 16 June 2015 at 19:35, Wei Ni <wni at nvidia.com> wrote:> According to the tstate calculation in nvkm_clk_tstate(), > the range of tstate is from -(clk->state_nr - 1) to 0, > it mean the tstate is negative value. But in nvkm_pstate_work(), > it use (clk->state_nr - 1 - clk->tstate) to limit pstate, > it's not correct. > This patch fix it to use (clk->state_nr - 1 + clk->tstate) to > limit pstate. > > Signed-off-by: Wei Ni <wni at nvidia.com> > --- > v2: create patch based on http://cgit.freedesktop.org/~darktama/nouveau/For future reference, it doesn't matter to me which tree it's based on, theres a script in that repo under scripts/ that can apply either form easily. So, use whichever is easiest for you :) I've merged the patch. Thanks, Ben.> > drm/nouveau/nvkm/subdev/clk/base.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c > index 39a83d82e0cd..77a0ab5ca3b0 100644 > --- a/drm/nouveau/nvkm/subdev/clk/base.c > +++ b/drm/nouveau/nvkm/subdev/clk/base.c > @@ -214,7 +214,7 @@ nvkm_pstate_work(struct work_struct *work) > 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 - clk->tstate); > + pstate = min(pstate, clk->state_nr - 1 + clk->tstate); > pstate = max(pstate, clk->dstate); > } else { > pstate = clk->pstate = -1; > -- > 1.9.1 > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau