2022-07-20 20:06:30

by Melissa Wen

[permalink] [raw]
Subject: [PATCH 0/5] drm/amd/display: FPU cleanup in clk_mgr files for powerpc

An initial report from Guenter[1] shows some soft-fp vs hard-fp error
from DCN31 clk mgr for powerpc. I was not able to reproduce it
cross-compiling with gcc-powerpc-linux-gnu and gcc-11.3, but thanks to
Maíra tips, I can reproduce the issue using make.cross, as follows:

- wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
- chmod +x ~/bin/make.cross
- mkdir build_dir
- COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 ~/make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash

with a config file generate by allmodconfig

So, the first patch fix the issue reported by Guenter. The second is
just a cleanup in dcn31_resource file to remove useless DC_FP_ wrapper.
Finally, the last three patches I'm removing the -mno-gnu-attribute
option, that was just hiding FPU-associated code in clk mgr files of
dcn21/30/301, and moving them to DML folder. This series doesn't cover
recent drivers dcn32/314.

Thanks Guenter, Maíra, Siqueira and Alex for all inputs on this
debugging process. Let me know your thoughts on this approach.

Melissa

[1] https://lore.kernel.org/amd-gfx/[email protected]/

Melissa Wen (5):
drm/amd/display: fix soft-fp vs hard-fp on DCN 3.1 family for powerpc
drm/amd/display: remove useless FPU protection wrapper from
dcn31_resource file
drm/amd/display: move FPU code on dcn21 clk_mgr
drm/amd/display: move FPU code from dcn30 clk mgr to DML folder
drm/amd/display: move FPU code from dcn301 clk mgr to DML folder

.../gpu/drm/amd/display/dc/clk_mgr/Makefile | 18 --
.../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 234 +----------------
.../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.h | 7 +
.../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 63 +----
.../display/dc/clk_mgr/dcn301/vg_clk_mgr.c | 86 +------
.../display/dc/clk_mgr/dcn301/vg_clk_mgr.h | 3 +
.../drm/amd/display/dc/dcn31/dcn31_resource.c | 11 +-
.../amd/display/dc/dcn315/dcn315_resource.c | 5 +-
.../amd/display/dc/dcn316/dcn316_resource.c | 5 +-
.../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 235 ++++++++++++++++++
.../drm/amd/display/dc/dml/dcn20/dcn20_fpu.h | 2 +
.../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 63 ++++-
.../drm/amd/display/dc/dml/dcn30/dcn30_fpu.h | 1 +
.../amd/display/dc/dml/dcn301/dcn301_fpu.c | 74 ++++++
.../drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 11 +
.../drm/amd/display/dc/dml/dcn31/dcn31_fpu.h | 3 +
16 files changed, 423 insertions(+), 398 deletions(-)

--
2.35.1


2022-07-21 19:15:38

by Rodrigo Siqueira Jordao

[permalink] [raw]
Subject: Re: [PATCH 0/5] drm/amd/display: FPU cleanup in clk_mgr files for powerpc



On 2022-07-20 15:32, Melissa Wen wrote:
> An initial report from Guenter[1] shows some soft-fp vs hard-fp error
> from DCN31 clk mgr for powerpc. I was not able to reproduce it
> cross-compiling with gcc-powerpc-linux-gnu and gcc-11.3, but thanks to
> Maíra tips, I can reproduce the issue using make.cross, as follows:
>
> - wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> - chmod +x ~/bin/make.cross
> - mkdir build_dir
> - COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 ~/make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash

Hi Melissa,

I didn't know about these steps, I was trying to reproduce this issue by
using the standard cross compile package provided by my distro (Debian
testing and ArchLinux), and as a result, I was never able to see the
problem. Anyway, I can now reproduce this issue, thanks a lot.

> with a config file generate by allmodconfig
>
> So, the first patch fix the issue reported by Guenter. The second is
> just a cleanup in dcn31_resource file to remove useless DC_FP_ wrapper.
> Finally, the last three patches I'm removing the -mno-gnu-attribute
> option, that was just hiding FPU-associated code in clk mgr files of
> dcn21/30/301, and moving them to DML folder. This series doesn't cover
> recent drivers dcn32/314.

I validated this series in our internal CI by running multiple IGT tests
in numerous ASICs. Tomorrow we will also send some extra patches
associated with this FPU effort; hopefully, after that, we will finally
have all the FPU code under DML. Again, thanks a lot for your effort!

Thanks
Siqueira

> Thanks Guenter, Maíra, Siqueira and Alex for all inputs on this
> debugging process. Let me know your thoughts on this approach.
>
> Melissa
>
> [1] https://lore.kernel.org/amd-gfx/[email protected]/>>
> Melissa Wen (5):
> drm/amd/display: fix soft-fp vs hard-fp on DCN 3.1 family for powerpc
> drm/amd/display: remove useless FPU protection wrapper from
> dcn31_resource file
> drm/amd/display: move FPU code on dcn21 clk_mgr
> drm/amd/display: move FPU code from dcn30 clk mgr to DML folder
> drm/amd/display: move FPU code from dcn301 clk mgr to DML folder
>
> .../gpu/drm/amd/display/dc/clk_mgr/Makefile | 18 --
> .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 234 +----------------
> .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.h | 7 +
> .../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 63 +----
> .../display/dc/clk_mgr/dcn301/vg_clk_mgr.c | 86 +------
> .../display/dc/clk_mgr/dcn301/vg_clk_mgr.h | 3 +
> .../drm/amd/display/dc/dcn31/dcn31_resource.c | 11 +-
> .../amd/display/dc/dcn315/dcn315_resource.c | 5 +-
> .../amd/display/dc/dcn316/dcn316_resource.c | 5 +-
> .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 235 ++++++++++++++++++
> .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.h | 2 +
> .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 63 ++++-
> .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.h | 1 +
> .../amd/display/dc/dml/dcn301/dcn301_fpu.c | 74 ++++++
> .../drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 11 +
> .../drm/amd/display/dc/dml/dcn31/dcn31_fpu.h | 3 +
> 16 files changed, 423 insertions(+), 398 deletions(-)
>