[Nouveau] [PATCH 4/4] pmu/fuc: movw is somewhat weird on gk208, use mov instead

Ilia Mirkin imirkin at alum.mit.edu
Tue Mar 1 21:38:46 UTC 2016


On Tue, Mar 1, 2016 at 4:36 PM, Martin Peres <martin.peres at free.fr> wrote:
> On 26/02/16 17:19, Karol Herbst wrote:
>>
>> currently there is no change, because nobody uses those macros yet, but
>> they
>> shouldn't stay broken
>>
>> Signed-off-by: Karol Herbst <nouveau at karolherbst.de>
>> ---
>>   drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc
>> b/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc
>> index 0d5cbeb..bb59eb4 100644
>> --- a/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc
>> +++ b/drm/nouveau/nvkm/subdev/pmu/fuc/macros.fuc
>> @@ -252,12 +252,12 @@
>>   #endif
>>     #define st(size, addr, reg) /*
>> -*/     movw $r0 addr /*
>> +*/     mov $r0 addr /*
>
>
> First of all, I know it is annoying, but we *need* to understand exactly
> what movw is now doing.
>
> Secondly, I seem to remember that a 32 bit mov was not added until fuc3 or

fuc5

> something. Have you tried assembling this code on older fuc versions? Pretty
> sure it will fail.

That's what the imm32() macro is for.

>
>>   */    st size D[$r0] reg /*
>>   */    clear b32 $r0
>>     #define ld(size, reg, addr) /*
>> -*/     movw $r0 addr /*
>> +*/     mov $r0 addr /*
>>   */    ld size reg D[$r0] /*
>>   */    clear b32 $r0
>>
>
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau


More information about the Nouveau mailing list