diff mbox

nouveau reclocking on nv40 not working since 77145f1cbdf8d28b46ff8070ca749bad821e0774

Message ID 23735105.M9MNGeX3Gc@pali (mailing list archive)
State New, archived
Headers show

Commit Message

Pali Rohár Aug. 13, 2013, 9:28 a.m. UTC
Hello,

in commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 was introduced
error which cause that on my Nvidia 6600GT card reclocking not working
anymore. There is missing assigment of return value from pll_calc to ret.

After this patch reclocking on my card working fine again. Above broken
commit was introduced in kernel 3.7, so consider backporting this patch
to older kernels too.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>

Comments

Pali Rohár Aug. 15, 2013, 5:46 p.m. UTC | #1
On Tuesday 13 August 2013 11:28:01 Pali Rohár wrote:
> Hello,
> 
> in commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 was
> introduced error which cause that on my Nvidia 6600GT card
> reclocking not working anymore. There is missing assigment of
> return value from pll_calc to ret.
> 
> After this patch reclocking on my card working fine again.
> Above broken commit was introduced in kernel 3.7, so consider
> backporting this patch to older kernels too.
> 
> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> 
> diff --git a/drivers/gpu/drm/nouveau/nv40_pm.c
> b/drivers/gpu/drm/nouveau/nv40_pm.c index 3af5bcd..625f80d
> 100644
> --- a/drivers/gpu/drm/nouveau/nv40_pm.c
> +++ b/drivers/gpu/drm/nouveau/nv40_pm.c
> @@ -131,7 +131,7 @@ nv40_calc_pll(struct drm_device *dev, u32
> reg, struct nvbios_pll *pll, if (clk < pll->vco1.max_freq)
>  		pll->vco2.max_freq = 0;
> 
> -	pclk->pll_calc(pclk, pll, clk, &coef);
> +	ret = pclk->pll_calc(pclk, pll, clk, &coef);
>  	if (ret == 0)
>  		return -ERANGE;

Martin, can you look at another problem with my graphics card?
Martin Peres Aug. 15, 2013, 10:23 p.m. UTC | #2
On 15/08/2013 13:46, Pali Rohár wrote:
> On Tuesday 13 August 2013 11:28:01 Pali Rohár wrote:
>> Hello,
>>
>> in commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 was
>> introduced error which cause that on my Nvidia 6600GT card
>> reclocking not working anymore. There is missing assigment of
>> return value from pll_calc to ret.
>>
>> After this patch reclocking on my card working fine again.
>> Above broken commit was introduced in kernel 3.7, so consider
>> backporting this patch to older kernels too.
>>
>> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
>>
>> diff --git a/drivers/gpu/drm/nouveau/nv40_pm.c
>> b/drivers/gpu/drm/nouveau/nv40_pm.c index 3af5bcd..625f80d
>> 100644
>> --- a/drivers/gpu/drm/nouveau/nv40_pm.c
>> +++ b/drivers/gpu/drm/nouveau/nv40_pm.c
>> @@ -131,7 +131,7 @@ nv40_calc_pll(struct drm_device *dev, u32
>> reg, struct nvbios_pll *pll, if (clk < pll->vco1.max_freq)
>>   		pll->vco2.max_freq = 0;
>>
>> -	pclk->pll_calc(pclk, pll, clk, &coef);
>> +	ret = pclk->pll_calc(pclk, pll, clk, &coef);
>>   	if (ret == 0)
>>   		return -ERANGE;
> Martin, can you look at another problem with my graphics card?
As I told you before, I'm away from my computers, so I cannot test the 
patch. However,
this one seems quite obvious and should be pushed. Thanks.
Pali Rohár Aug. 16, 2013, 7:16 a.m. UTC | #3
On Thursday 15 August 2013 18:23:06 Martin Peres wrote:
> On 15/08/2013 13:46, Pali Rohár wrote:
> > On Tuesday 13 August 2013 11:28:01 Pali Rohár wrote:
> >> Hello,
> >> 
> >> in commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 was
> >> introduced error which cause that on my Nvidia 6600GT card
> >> reclocking not working anymore. There is missing assigment of
> >> return value from pll_calc to ret.
> >> 
> >> After this patch reclocking on my card working fine again.
> >> Above broken commit was introduced in kernel 3.7, so consider
> >> backporting this patch to older kernels too.
> >> 
> >> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> >> 
> >> diff --git a/drivers/gpu/drm/nouveau/nv40_pm.c
> >> b/drivers/gpu/drm/nouveau/nv40_pm.c index 3af5bcd..625f80d
> >> 100644
> >> --- a/drivers/gpu/drm/nouveau/nv40_pm.c
> >> +++ b/drivers/gpu/drm/nouveau/nv40_pm.c
> >> @@ -131,7 +131,7 @@ nv40_calc_pll(struct drm_device *dev, u32
> >> reg, struct nvbios_pll *pll, if (clk < pll->vco1.max_freq)
> >> 
> >>   		pll->vco2.max_freq = 0;
> >> 
> >> -	pclk->pll_calc(pclk, pll, clk, &coef);
> >> +	ret = pclk->pll_calc(pclk, pll, clk, &coef);
> >> 
> >>   	if (ret == 0)
> >>   	
> >>   		return -ERANGE;
> > 
> > Martin, can you look at another problem with my graphics card?
> 
> As I told you before, I'm away from my computers, so I cannot test the
> patch. However,
> this one seems quite obvious and should be pushed. Thanks.

Yes, look at that diff of that problematic commit and you will see that ret 
here is missing. It is possible to push this patch to 3.11?
Martin Peres Aug. 16, 2013, 10:23 a.m. UTC | #4
On 16/08/2013 03:16, Pali Rohár wrote:
> On Thursday 15 August 2013 18:23:06 Martin Peres wrote:
>> On 15/08/2013 13:46, Pali Rohár wrote:
>>> On Tuesday 13 August 2013 11:28:01 Pali Rohár wrote:
>>>> Hello,
>>>>
>>>> in commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 was
>>>> introduced error which cause that on my Nvidia 6600GT card
>>>> reclocking not working anymore. There is missing assigment of
>>>> return value from pll_calc to ret.
>>>>
>>>> After this patch reclocking on my card working fine again.
>>>> Above broken commit was introduced in kernel 3.7, so consider
>>>> backporting this patch to older kernels too.
>>>>
>>>> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
>>>>
>>>> diff --git a/drivers/gpu/drm/nouveau/nv40_pm.c
>>>> b/drivers/gpu/drm/nouveau/nv40_pm.c index 3af5bcd..625f80d
>>>> 100644
>>>> --- a/drivers/gpu/drm/nouveau/nv40_pm.c
>>>> +++ b/drivers/gpu/drm/nouveau/nv40_pm.c
>>>> @@ -131,7 +131,7 @@ nv40_calc_pll(struct drm_device *dev, u32
>>>> reg, struct nvbios_pll *pll, if (clk < pll->vco1.max_freq)
>>>>
>>>>    		pll->vco2.max_freq = 0;
>>>>
>>>> -	pclk->pll_calc(pclk, pll, clk, &coef);
>>>> +	ret = pclk->pll_calc(pclk, pll, clk, &coef);
>>>>
>>>>    	if (ret == 0)
>>>>    	
>>>>    		return -ERANGE;
>>> Martin, can you look at another problem with my graphics card?
>> As I told you before, I'm away from my computers, so I cannot test the
>> patch. However,
>> this one seems quite obvious and should be pushed. Thanks.
> Yes, look at that diff of that problematic commit and you will see that ret
> here is missing. It is possible to push this patch to 3.11?
Please make a proper patch (generated by git format-patch or git 
send-email) and
Ben will push it.

You add my Signed-off-by: Martin Peres <martin.peres@labri.fr>

Cheers
diff mbox

Patch

diff --git a/drivers/gpu/drm/nouveau/nv40_pm.c b/drivers/gpu/drm/nouveau/nv40_pm.c
index 3af5bcd..625f80d 100644
--- a/drivers/gpu/drm/nouveau/nv40_pm.c
+++ b/drivers/gpu/drm/nouveau/nv40_pm.c
@@ -131,7 +131,7 @@  nv40_calc_pll(struct drm_device *dev, u32 reg, struct nvbios_pll *pll,
 	if (clk < pll->vco1.max_freq)
 		pll->vco2.max_freq = 0;
 
-	pclk->pll_calc(pclk, pll, clk, &coef);
+	ret = pclk->pll_calc(pclk, pll, clk, &coef);
 	if (ret == 0)
 		return -ERANGE;