[Nouveau] [PATCH v2] drm/nouveau/clk: fix tstate to pstate calculation

Ben Skeggs skeggsb at gmail.com
Wed Jun 17 02:53:15 PDT 2015


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


More information about the Nouveau mailing list