Message ID | 20191002120136.1777161-5-arnd@arndb.de |
---|---|
State | Accepted |
Commit | c0e70e10b11b1b7ca0f537e7ce4404a0459cdc7c |
Headers | show |
Series | [1/6] drm/amdgpu: make pmu support optional, again | expand |
On Wed, Oct 2, 2019 at 8:03 AM Arnd Bergmann <arnd@arndb.de> wrote: > > Just like all the other variants, this one passes invalid > compile-time options with clang after the new code got > merged: > > clang: error: unknown argument: '-mpreferred-stack-boundary=4' > scripts/Makefile.build:265: recipe for target 'drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o' failed > > Use the same variant that we have for dcn20 to fix compilation. > > Fixes: eced51f9babb ("drm/amd/display: Add hubp block for Renoir (v2)") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> I'm getting an error with gcc with this patch: CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c: In function ‘calculate_wm_set_for_vlevel’: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c:964:22: error: SSE register return with SSE disabled wm_set->urgent_ns = get_wm_urgent(dml, pipes, pipe_cnt) * 1000; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [scripts/Makefile.build:273: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o] Error 1 make[3]: *** [scripts/Makefile.build:490: drivers/gpu/drm/amd/amdgpu] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:490: drivers/gpu/drm] Error 2 make[1]: *** [scripts/Makefile.build:490: drivers/gpu] Error 2 make: *** [Makefile:1080: drivers] Error 2 Alex > --- > drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > index 8cd9de8b1a7a..ef673bffc241 100644 > --- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > @@ -3,7 +3,17 @@ > > DCN21 = dcn21_hubp.o dcn21_hubbub.o dcn21_resource.o > > -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 > +ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) > + cc_stack_align := -mpreferred-stack-boundary=4 > +else ifneq ($(call cc-option, -mstack-alignment=16),) > + cc_stack_align := -mstack-alignment=16 > +endif > + > +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse $(cc_stack_align) > + > +ifdef CONFIG_CC_IS_CLANG > +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2 > +endif > > AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21)) > > -- > 2.20.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Wed, Oct 2, 2019 at 4:17 PM Alex Deucher <alexdeucher@gmail.com> wrote: > > I'm getting an error with gcc with this patch: > CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o > drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c: In > function ‘calculate_wm_set_for_vlevel’: > drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c:964:22: > error: SSE register return with SSE disabled I checked again with gcc-8, but do not see that error message. > > -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 > > +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse $(cc_stack_align) Nothing should really change with regards to the -msse flag here, only the stack alignment flag changed. Maybe there was some other change in your Makefile that conflicts with my my patch? Arnd
On Wed, Oct 2, 2019 at 10:51 AM Arnd Bergmann <arnd@arndb.de> wrote: > > On Wed, Oct 2, 2019 at 4:17 PM Alex Deucher <alexdeucher@gmail.com> wrote: > > > > I'm getting an error with gcc with this patch: > > CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o > > drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c: In > > function ‘calculate_wm_set_for_vlevel’: > > drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.c:964:22: > > error: SSE register return with SSE disabled > > I checked again with gcc-8, but do not see that error message. > > > > -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 > > > +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse $(cc_stack_align) > > Nothing should really change with regards to the -msse flag here, only > the stack alignment flag changed. Maybe there was some other change > in your Makefile that conflicts with my my patch? This patch on top of yours seems to fix it and aligns better with the other Makefiles: diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile index ef673bffc241..e71f3ee76cd1 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile @@ -9,10 +9,10 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) cc_stack_align := -mstack-alignment=16 endif -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse $(cc_stack_align) +CFLAGS_dcn21_resource.o := -mhard-float -msse $(cc_stack_align) ifdef CONFIG_CC_IS_CLANG -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2 +CFLAGS_dcn21_resource.o += -msse2 endif AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21))
On Wed, Oct 2, 2019 at 5:12 PM Alex Deucher <alexdeucher@gmail.com> wrote: > On Wed, Oct 2, 2019 at 10:51 AM Arnd Bergmann <arnd@arndb.de> wrote: > > > > Nothing should really change with regards to the -msse flag here, only > > the stack alignment flag changed. Maybe there was some other change > > in your Makefile that conflicts with my my patch? > > This patch on top of yours seems to fix it and aligns better with the > other Makefiles: > > diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > index ef673bffc241..e71f3ee76cd1 100644 > --- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile > @@ -9,10 +9,10 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse > $(cc_stack_align) > +CFLAGS_dcn21_resource.o := -mhard-float -msse $(cc_stack_align) > > ifdef CONFIG_CC_IS_CLANG > -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2 > +CFLAGS_dcn21_resource.o += -msse2 > endif Ok, so there is clearly a global change that went into your tree, or is missing from it: I see that as of linux-5.4-rc1, I have commit 54b8ae66ae1a ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)"), which changed all these path names to include the AMDDALPATH. It seems you are either on an older kernel that does not yet have this, or you have applied another patch that reverts it. Arnd
diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile index 8cd9de8b1a7a..ef673bffc241 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn21/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dcn21/Makefile @@ -3,7 +3,17 @@ DCN21 = dcn21_hubp.o dcn21_hubbub.o dcn21_resource.o -CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 +ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) + cc_stack_align := -mpreferred-stack-boundary=4 +else ifneq ($(call cc-option, -mstack-alignment=16),) + cc_stack_align := -mstack-alignment=16 +endif + +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse $(cc_stack_align) + +ifdef CONFIG_CC_IS_CLANG +CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2 +endif AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21))
Just like all the other variants, this one passes invalid compile-time options with clang after the new code got merged: clang: error: unknown argument: '-mpreferred-stack-boundary=4' scripts/Makefile.build:265: recipe for target 'drivers/gpu/drm/amd/amdgpu/../display/dc/dcn21/dcn21_resource.o' failed Use the same variant that we have for dcn20 to fix compilation. Fixes: eced51f9babb ("drm/amd/display: Add hubp block for Renoir (v2)") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)