All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-25  0:52 ndesaulniers
  2019-01-25  1:03 ` Matthias Kaehlcke
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: ndesaulniers @ 2019-01-25  0:52 UTC (permalink / raw)
  To: airlied, daniel
  Cc: Nick Desaulniers, stable, S, Shirish, Matthias Kaehlcke,
	James Y Knight, Nathan Chancellor, Guenter Roeck, Harry Wentland,
	Leo Li, Alex Deucher, Christian König,
	David (ChunMing) Zhou, Matthias Kaehlcke, Michel Dänzer,
	Tony Cheng, Dmytro Laktyushkin, amd-gfx, dri-devel, linux-kernel

arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
on SSE2 to support emitting double precision floating point instructions
rather than calls to non-existent (usually available from gcc_s or
compiler_rt) floating point helper routines.

Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
Link: https://github.com/ClangBuiltLinux/linux/issues/327
Cc: stable@vger.kernel.org # 4.19
Reported-by: S, Shirish <Shirish.S@amd.com>
Reported-by: Matthias Kaehlcke <mka@google.com>
Suggested-by: James Y Knight <jyknight@google.com>
Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
 drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
index 95f332ee3e7e..dc85a3c088af 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
+++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
@@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
 	cc_stack_align := -mstack-alignment=16
 endif
 
-calcs_ccflags := -mhard-float -msse $(cc_stack_align)
+calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
 
 CFLAGS_dcn_calcs.o := $(calcs_ccflags)
 CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
index d97ca6528f9d..33c7d7588712 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
+++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
@@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
 	cc_stack_align := -mstack-alignment=16
 endif
 
-dml_ccflags := -mhard-float -msse $(cc_stack_align)
+dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
 
 CFLAGS_display_mode_lib.o := $(dml_ccflags)
 CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
-- 
2.20.1.321.g9e740568ce-goog


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
  2019-01-25  0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers
@ 2019-01-25  1:03 ` Matthias Kaehlcke
  2019-01-25  1:21 ` Nathan Chancellor
  2019-01-25 15:29   ` Wentland, Harry
  2 siblings, 0 replies; 13+ messages in thread
From: Matthias Kaehlcke @ 2019-01-25  1:03 UTC (permalink / raw)
  To: ndesaulniers
  Cc: airlied, daniel, stable, S, Shirish, James Y Knight,
	Nathan Chancellor, Guenter Roeck, Harry Wentland, Leo Li,
	Alex Deucher, Christian König, David (ChunMing) Zhou,
	Michel Dänzer, Tony Cheng, Dmytro Laktyushkin, amd-gfx,
	dri-devel, linux-kernel

On Thu, Jan 24, 2019 at 04:52:59PM -0800, ndesaulniers@google.com wrote:
> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> on SSE2 to support emitting double precision floating point instructions
> rather than calls to non-existent (usually available from gcc_s or
> compiler_rt) floating point helper routines.
> 
> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> Cc: stable@vger.kernel.org # 4.19
> Reported-by: S, Shirish <Shirish.S@amd.com>
> Reported-by: Matthias Kaehlcke <mka@google.com>
> Suggested-by: James Y Knight <jyknight@google.com>
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> Tested-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> index 95f332ee3e7e..dc85a3c088af 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> index d97ca6528f9d..33c7d7588712 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)

Tested-by:  Matthias Kaehlcke <mka@chromium.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
  2019-01-25  0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers
  2019-01-25  1:03 ` Matthias Kaehlcke
@ 2019-01-25  1:21 ` Nathan Chancellor
  2019-01-25 15:29   ` Wentland, Harry
  2 siblings, 0 replies; 13+ messages in thread
From: Nathan Chancellor @ 2019-01-25  1:21 UTC (permalink / raw)
  To: ndesaulniers
  Cc: airlied, daniel, stable, S, Shirish, Matthias Kaehlcke,
	James Y Knight, Guenter Roeck, Harry Wentland, Leo Li,
	Alex Deucher, Christian König, David (ChunMing) Zhou,
	Matthias Kaehlcke, Michel Dänzer, Tony Cheng,
	Dmytro Laktyushkin, amd-gfx, dri-devel, linux-kernel

On Thu, Jan 24, 2019 at 04:52:59PM -0800, ndesaulniers@google.com wrote:
> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> on SSE2 to support emitting double precision floating point instructions
> rather than calls to non-existent (usually available from gcc_s or
> compiler_rt) floating point helper routines.
> 
> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> Cc: stable@vger.kernel.org # 4.19
> Reported-by: S, Shirish <Shirish.S@amd.com>
> Reported-by: Matthias Kaehlcke <mka@google.com>
> Suggested-by: James Y Knight <jyknight@google.com>
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> Tested-by: Guenter Roeck <linux@roeck-us.net>

Tested-by: Nathan Chancellor <natechancellor@gmail.com>

> ---
>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> index 95f332ee3e7e..dc85a3c088af 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> index d97ca6528f9d..33c7d7588712 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> -- 
> 2.20.1.321.g9e740568ce-goog
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-25 15:29   ` Wentland, Harry
  0 siblings, 0 replies; 13+ messages in thread
From: Wentland, Harry @ 2019-01-25 15:29 UTC (permalink / raw)
  To: ndesaulniers, airlied, daniel
  Cc: stable, S, S, Shirish, Matthias Kaehlcke, James Y Knight,
	Nathan Chancellor, Guenter Roeck, Li, Sun peng (Leo),
	Deucher, Alexander, Koenig, Christian, Zhou, David(ChunMing),
	Matthias Kaehlcke, Daenzer, Michel, Cheng, Tony, Laktyushkin,
	Dmytro, amd-gfx, dri-devel, linux-kernel

On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> on SSE2 to support emitting double precision floating point instructions
> rather than calls to non-existent (usually available from gcc_s or
> compiler_rt) floating point helper routines.
> 
> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> Cc: stable@vger.kernel.org # 4.19
> Reported-by: S, Shirish <Shirish.S@amd.com>
> Reported-by: Matthias Kaehlcke <mka@google.com>
> Suggested-by: James Y Knight <jyknight@google.com>
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> Tested-by: Guenter Roeck <linux@roeck-us.net>

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

and applied.

Harry

> ---
>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> index 95f332ee3e7e..dc85a3c088af 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> index d97ca6528f9d..33c7d7588712 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-25 15:29   ` Wentland, Harry
  0 siblings, 0 replies; 13+ messages in thread
From: Wentland, Harry @ 2019-01-25 15:29 UTC (permalink / raw)
  To: ndesaulniers-hpIqsD4AKlfQT0dZR+AlfA, airlied-cv59FeDIM0c,
	daniel-/w4YWyX8dFk
  Cc: S, Laktyushkin, Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo),
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daenzer, Michel,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	stable-u79uwXL29TY76Z2rM5mHXA, S, Shirish, Matthias Kaehlcke,
	Matthias Kaehlcke, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	James Y Knight, Deucher, Alexander, Nathan Chancellor, Cheng,
	Tony, Koenig, Christian, Guenter Roeck

On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> on SSE2 to support emitting double precision floating point instructions
> rather than calls to non-existent (usually available from gcc_s or
> compiler_rt) floating point helper routines.
> 
> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> Cc: stable@vger.kernel.org # 4.19
> Reported-by: S, Shirish <Shirish.S@amd.com>
> Reported-by: Matthias Kaehlcke <mka@google.com>
> Suggested-by: James Y Knight <jyknight@google.com>
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> Tested-by: Guenter Roeck <linux@roeck-us.net>

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

and applied.

Harry

> ---
>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> index 95f332ee3e7e..dc85a3c088af 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> index d97ca6528f9d..33c7d7588712 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>  	cc_stack_align := -mstack-alignment=16
>  endif
>  
> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>  
>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> 
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-29 15:30     ` Alex Deucher
  0 siblings, 0 replies; 13+ messages in thread
From: Alex Deucher @ 2019-01-29 15:30 UTC (permalink / raw)
  To: Wentland, Harry
  Cc: ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou,
	David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight,
	Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig,
	Christian, Guenter Roeck

On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>
> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> > arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> > AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> > on SSE2 to support emitting double precision floating point instructions
> > rather than calls to non-existent (usually available from gcc_s or
> > compiler_rt) floating point helper routines.
> >
> > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> > Link: https://github.com/ClangBuiltLinux/linux/issues/327
> > Cc: stable@vger.kernel.org # 4.19
> > Reported-by: S, Shirish <Shirish.S@amd.com>
> > Reported-by: Matthias Kaehlcke <mka@google.com>
> > Suggested-by: James Y Knight <jyknight@google.com>
> > Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> > Tested-by: Guenter Roeck <linux@roeck-us.net>
>
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
>
> and applied.
>

This patch causes a segfault:
https://bugs.freedesktop.org/show_bug.cgi?id=109487

Any ideas?

Alex

> Harry
>
> > ---
> >  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> >  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > index 95f332ee3e7e..dc85a3c088af 100644
> > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >       cc_stack_align := -mstack-alignment=16
> >  endif
> >
> > -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >
> >  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> >  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > index d97ca6528f9d..33c7d7588712 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >       cc_stack_align := -mstack-alignment=16
> >  endif
> >
> > -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >
> >  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> >  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> >
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-29 15:30     ` Alex Deucher
  0 siblings, 0 replies; 13+ messages in thread
From: Alex Deucher @ 2019-01-29 15:30 UTC (permalink / raw)
  To: Wentland, Harry
  Cc: S, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Zhou,
	David(ChunMing),
	airlied-cv59FeDIM0c, Daenzer, Michel, Koenig, Christian,
	ndesaulniers-hpIqsD4AKlfQT0dZR+AlfA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, S, Shirish,
	Nathan Chancellor, Li, Sun peng (Leo),
	Laktyushkin, Dmytro, stable-u79uwXL29TY76Z2rM5mHXA,
	daniel-/w4YWyX8dFk, James Y Knight, Deucher, Alexander,
	Matthias Kaehlcke, Cheng, Tony

On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>
> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> > arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> > AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> > on SSE2 to support emitting double precision floating point instructions
> > rather than calls to non-existent (usually available from gcc_s or
> > compiler_rt) floating point helper routines.
> >
> > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> > Link: https://github.com/ClangBuiltLinux/linux/issues/327
> > Cc: stable@vger.kernel.org # 4.19
> > Reported-by: S, Shirish <Shirish.S@amd.com>
> > Reported-by: Matthias Kaehlcke <mka@google.com>
> > Suggested-by: James Y Knight <jyknight@google.com>
> > Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> > Tested-by: Guenter Roeck <linux@roeck-us.net>
>
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
>
> and applied.
>

This patch causes a segfault:
https://bugs.freedesktop.org/show_bug.cgi?id=109487

Any ideas?

Alex

> Harry
>
> > ---
> >  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> >  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > index 95f332ee3e7e..dc85a3c088af 100644
> > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >       cc_stack_align := -mstack-alignment=16
> >  endif
> >
> > -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >
> >  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> >  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > index d97ca6528f9d..33c7d7588712 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >       cc_stack_align := -mstack-alignment=16
> >  endif
> >
> > -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >
> >  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> >  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> >
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
  2019-01-29 15:30     ` Alex Deucher
@ 2019-01-29 18:56       ` Guenter Roeck
  -1 siblings, 0 replies; 13+ messages in thread
From: Guenter Roeck @ 2019-01-29 18:56 UTC (permalink / raw)
  To: Alex Deucher
  Cc: Wentland, Harry, ndesaulniers, airlied, daniel, S, Laktyushkin,
	Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight,
	Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig,
	Christian

On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
> >
> > On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> > > arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> > > AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> > > on SSE2 to support emitting double precision floating point instructions
> > > rather than calls to non-existent (usually available from gcc_s or
> > > compiler_rt) floating point helper routines.
> > >
> > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> > > Link: https://github.com/ClangBuiltLinux/linux/issues/327
> > > Cc: stable@vger.kernel.org # 4.19
> > > Reported-by: S, Shirish <Shirish.S@amd.com>
> > > Reported-by: Matthias Kaehlcke <mka@google.com>
> > > Suggested-by: James Y Knight <jyknight@google.com>
> > > Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> > > Tested-by: Guenter Roeck <linux@roeck-us.net>
> >
> > Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> >
> > and applied.
> >
> 
> This patch causes a segfault:
> https://bugs.freedesktop.org/show_bug.cgi?id=109487
> 
> Any ideas?
> 

Set -msse2 only for clang ? I suspect, though, that this might only
solve the compile problem. If I understand correctly, the first
warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
something is seriously wrong. Maybe enabling sse2 results in different
results from floating point operations.

Unfortunately I don't have a system with the affected GPU,
so I can't run any tests on real hardware. Unless someone can test
with real hardware, I think we have no choice but to revert the
patch.

Guenter

> Alex
> 
> > Harry
> >
> > > ---
> > >  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> > >  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> > >  2 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > index 95f332ee3e7e..dc85a3c088af 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> > >       cc_stack_align := -mstack-alignment=16
> > >  endif
> > >
> > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> > > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> > >
> > >  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> > >  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > index d97ca6528f9d..33c7d7588712 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> > >       cc_stack_align := -mstack-alignment=16
> > >  endif
> > >
> > > -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> > > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> > >
> > >  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> > >  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> > >
> > _______________________________________________
> > amd-gfx mailing list
> > amd-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-29 18:56       ` Guenter Roeck
  0 siblings, 0 replies; 13+ messages in thread
From: Guenter Roeck @ 2019-01-29 18:56 UTC (permalink / raw)
  To: Alex Deucher
  Cc: Wentland, Harry, ndesaulniers, airlied, daniel, S, Laktyushkin,
	Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight

On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
> >
> > On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> > > arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> > > AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> > > on SSE2 to support emitting double precision floating point instructions
> > > rather than calls to non-existent (usually available from gcc_s or
> > > compiler_rt) floating point helper routines.
> > >
> > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> > > Link: https://github.com/ClangBuiltLinux/linux/issues/327
> > > Cc: stable@vger.kernel.org # 4.19
> > > Reported-by: S, Shirish <Shirish.S@amd.com>
> > > Reported-by: Matthias Kaehlcke <mka@google.com>
> > > Suggested-by: James Y Knight <jyknight@google.com>
> > > Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> > > Tested-by: Guenter Roeck <linux@roeck-us.net>
> >
> > Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> >
> > and applied.
> >
> 
> This patch causes a segfault:
> https://bugs.freedesktop.org/show_bug.cgi?id=109487
> 
> Any ideas?
> 

Set -msse2 only for clang ? I suspect, though, that this might only
solve the compile problem. If I understand correctly, the first
warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
something is seriously wrong. Maybe enabling sse2 results in different
results from floating point operations.

Unfortunately I don't have a system with the affected GPU,
so I can't run any tests on real hardware. Unless someone can test
with real hardware, I think we have no choice but to revert the
patch.

Guenter

> Alex
> 
> > Harry
> >
> > > ---
> > >  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> > >  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> > >  2 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > index 95f332ee3e7e..dc85a3c088af 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> > >       cc_stack_align := -mstack-alignment=16
> > >  endif
> > >
> > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> > > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> > >
> > >  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> > >  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > index d97ca6528f9d..33c7d7588712 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> > >       cc_stack_align := -mstack-alignment=16
> > >  endif
> > >
> > > -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> > > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> > >
> > >  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> > >  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> > >
> > _______________________________________________
> > amd-gfx mailing list
> > amd-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
  2019-01-29 18:56       ` Guenter Roeck
@ 2019-01-29 19:01         ` Wentland, Harry
  -1 siblings, 0 replies; 13+ messages in thread
From: Wentland, Harry @ 2019-01-29 19:01 UTC (permalink / raw)
  To: Guenter Roeck, Alex Deucher
  Cc: ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou,
	David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight,
	Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig,
	Christian

On 2019-01-29 1:56 p.m., Guenter Roeck wrote:
> On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
>> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>>>
>>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
>>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
>>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
>>>> on SSE2 to support emitting double precision floating point instructions
>>>> rather than calls to non-existent (usually available from gcc_s or
>>>> compiler_rt) floating point helper routines.
>>>>
>>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
>>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327
>>>> Cc: stable@vger.kernel.org # 4.19
>>>> Reported-by: S, Shirish <Shirish.S@amd.com>
>>>> Reported-by: Matthias Kaehlcke <mka@google.com>
>>>> Suggested-by: James Y Knight <jyknight@google.com>
>>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
>>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
>>>
>>> and applied.
>>>
>>
>> This patch causes a segfault:
>> https://bugs.freedesktop.org/show_bug.cgi?id=109487
>>
>> Any ideas?
>>
> 
> Set -msse2 only for clang ? I suspect, though, that this might only
> solve the compile problem. If I understand correctly, the first
> warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
> something is seriously wrong. Maybe enabling sse2 results in different
> results from floating point operations.
> 
> Unfortunately I don't have a system with the affected GPU,
> so I can't run any tests on real hardware. Unless someone can test
> with real hardware, I think we have no choice but to revert the
> patch.
> 

Might be a good idea. Even though, best to revert for now until we understand what's going on.

It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash.

Harry

> Guenter
> 
>> Alex
>>
>>> Harry
>>>
>>>> ---
>>>>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>>>>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>>>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> index 95f332ee3e7e..dc85a3c088af 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>>>>       cc_stack_align := -mstack-alignment=16
>>>>  endif
>>>>
>>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
>>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>>>>
>>>>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>>>>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> index d97ca6528f9d..33c7d7588712 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>>>>       cc_stack_align := -mstack-alignment=16
>>>>  endif
>>>>
>>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
>>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>>>>
>>>>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>>>>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
>>>>
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-29 19:01         ` Wentland, Harry
  0 siblings, 0 replies; 13+ messages in thread
From: Wentland, Harry @ 2019-01-29 19:01 UTC (permalink / raw)
  To: Guenter Roeck, Alex Deucher
  Cc: ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou,
	David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight,
	Deucher, Alexander

On 2019-01-29 1:56 p.m., Guenter Roeck wrote:
> On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
>> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>>>
>>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
>>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
>>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
>>>> on SSE2 to support emitting double precision floating point instructions
>>>> rather than calls to non-existent (usually available from gcc_s or
>>>> compiler_rt) floating point helper routines.
>>>>
>>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
>>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327
>>>> Cc: stable@vger.kernel.org # 4.19
>>>> Reported-by: S, Shirish <Shirish.S@amd.com>
>>>> Reported-by: Matthias Kaehlcke <mka@google.com>
>>>> Suggested-by: James Y Knight <jyknight@google.com>
>>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
>>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
>>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
>>>
>>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
>>>
>>> and applied.
>>>
>>
>> This patch causes a segfault:
>> https://bugs.freedesktop.org/show_bug.cgi?id=109487
>>
>> Any ideas?
>>
> 
> Set -msse2 only for clang ? I suspect, though, that this might only
> solve the compile problem. If I understand correctly, the first
> warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
> something is seriously wrong. Maybe enabling sse2 results in different
> results from floating point operations.
> 
> Unfortunately I don't have a system with the affected GPU,
> so I can't run any tests on real hardware. Unless someone can test
> with real hardware, I think we have no choice but to revert the
> patch.
> 

Might be a good idea. Even though, best to revert for now until we understand what's going on.

It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash.

Harry

> Guenter
> 
>> Alex
>>
>>> Harry
>>>
>>>> ---
>>>>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
>>>>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
>>>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> index 95f332ee3e7e..dc85a3c088af 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
>>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>>>>       cc_stack_align := -mstack-alignment=16
>>>>  endif
>>>>
>>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
>>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>>>>
>>>>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
>>>>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
>>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> index d97ca6528f9d..33c7d7588712 100644
>>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
>>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
>>>>       cc_stack_align := -mstack-alignment=16
>>>>  endif
>>>>
>>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
>>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
>>>>
>>>>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
>>>>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
>>>>
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
  2019-01-29 19:01         ` Wentland, Harry
@ 2019-01-29 19:10           ` Nick Desaulniers
  -1 siblings, 0 replies; 13+ messages in thread
From: Nick Desaulniers @ 2019-01-29 19:10 UTC (permalink / raw)
  To: Wentland, Harry
  Cc: Guenter Roeck, Alex Deucher, airlied, daniel, S, Laktyushkin,
	Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight,
	Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig,
	Christian

Suggestions:
1. revert patch
2. get me the disassembly from gcc of the translation unit in question.
3. land patch that adds clang guards or something different based on 2.

Revert first; ask questions later.

On Tue, Jan 29, 2019 at 11:01 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>
> On 2019-01-29 1:56 p.m., Guenter Roeck wrote:
> > On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
> >> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
> >>>
> >>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> >>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> >>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> >>>> on SSE2 to support emitting double precision floating point instructions
> >>>> rather than calls to non-existent (usually available from gcc_s or
> >>>> compiler_rt) floating point helper routines.
> >>>>
> >>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> >>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> >>>> Cc: stable@vger.kernel.org # 4.19
> >>>> Reported-by: S, Shirish <Shirish.S@amd.com>
> >>>> Reported-by: Matthias Kaehlcke <mka@google.com>
> >>>> Suggested-by: James Y Knight <jyknight@google.com>
> >>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> >>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> >>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>>
> >>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> >>>
> >>> and applied.
> >>>
> >>
> >> This patch causes a segfault:
> >> https://bugs.freedesktop.org/show_bug.cgi?id=109487
> >>
> >> Any ideas?
> >>
> >
> > Set -msse2 only for clang ? I suspect, though, that this might only
> > solve the compile problem. If I understand correctly, the first
> > warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
> > something is seriously wrong. Maybe enabling sse2 results in different
> > results from floating point operations.
> >
> > Unfortunately I don't have a system with the affected GPU,
> > so I can't run any tests on real hardware. Unless someone can test
> > with real hardware, I think we have no choice but to revert the
> > patch.
> >
>
> Might be a good idea. Even though, best to revert for now until we understand what's going on.
>
> It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash.
>
> Harry
>
> > Guenter
> >
> >> Alex
> >>
> >>> Harry
> >>>
> >>>> ---
> >>>>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> >>>>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> >>>>  2 files changed, 2 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> index 95f332ee3e7e..dc85a3c088af 100644
> >>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >>>>       cc_stack_align := -mstack-alignment=16
> >>>>  endif
> >>>>
> >>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> >>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >>>>
> >>>>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> >>>>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> index d97ca6528f9d..33c7d7588712 100644
> >>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >>>>       cc_stack_align := -mstack-alignment=16
> >>>>  endif
> >>>>
> >>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> >>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >>>>
> >>>>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> >>>>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> >>>>
> >>> _______________________________________________
> >>> amd-gfx mailing list
> >>> amd-gfx@lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines
@ 2019-01-29 19:10           ` Nick Desaulniers
  0 siblings, 0 replies; 13+ messages in thread
From: Nick Desaulniers @ 2019-01-29 19:10 UTC (permalink / raw)
  To: Wentland, Harry
  Cc: Guenter Roeck, Alex Deucher, airlied, daniel, S, Laktyushkin,
	Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo),
	dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish,
	Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight

Suggestions:
1. revert patch
2. get me the disassembly from gcc of the translation unit in question.
3. land patch that adds clang guards or something different based on 2.

Revert first; ask questions later.

On Tue, Jan 29, 2019 at 11:01 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
>
> On 2019-01-29 1:56 p.m., Guenter Roeck wrote:
> > On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote:
> >> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote:
> >>>
> >>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote:
> >>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel.  The
> >>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2.  Turn
> >>>> on SSE2 to support emitting double precision floating point instructions
> >>>> rather than calls to non-existent (usually available from gcc_s or
> >>>> compiler_rt) floating point helper routines.
> >>>>
> >>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html
> >>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327
> >>>> Cc: stable@vger.kernel.org # 4.19
> >>>> Reported-by: S, Shirish <Shirish.S@amd.com>
> >>>> Reported-by: Matthias Kaehlcke <mka@google.com>
> >>>> Suggested-by: James Y Knight <jyknight@google.com>
> >>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> >>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> >>>> Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>>
> >>> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> >>>
> >>> and applied.
> >>>
> >>
> >> This patch causes a segfault:
> >> https://bugs.freedesktop.org/show_bug.cgi?id=109487
> >>
> >> Any ideas?
> >>
> >
> > Set -msse2 only for clang ? I suspect, though, that this might only
> > solve the compile problem. If I understand correctly, the first
> > warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that
> > something is seriously wrong. Maybe enabling sse2 results in different
> > results from floating point operations.
> >
> > Unfortunately I don't have a system with the affected GPU,
> > so I can't run any tests on real hardware. Unless someone can test
> > with real hardware, I think we have no choice but to revert the
> > patch.
> >
>
> Might be a good idea. Even though, best to revert for now until we understand what's going on.
>
> It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash.
>
> Harry
>
> > Guenter
> >
> >> Alex
> >>
> >>> Harry
> >>>
> >>>> ---
> >>>>  drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +-
> >>>>  drivers/gpu/drm/amd/display/dc/dml/Makefile   | 2 +-
> >>>>  2 files changed, 2 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> index 95f332ee3e7e..dc85a3c088af 100644
> >>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile
> >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >>>>       cc_stack_align := -mstack-alignment=16
> >>>>  endif
> >>>>
> >>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align)
> >>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >>>>
> >>>>  CFLAGS_dcn_calcs.o := $(calcs_ccflags)
> >>>>  CFLAGS_dcn_calc_auto.o := $(calcs_ccflags)
> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> index d97ca6528f9d..33c7d7588712 100644
> >>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile
> >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),)
> >>>>       cc_stack_align := -mstack-alignment=16
> >>>>  endif
> >>>>
> >>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align)
> >>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align)
> >>>>
> >>>>  CFLAGS_display_mode_lib.o := $(dml_ccflags)
> >>>>  CFLAGS_display_pipe_clocks.o := $(dml_ccflags)
> >>>>
> >>> _______________________________________________
> >>> amd-gfx mailing list
> >>> amd-gfx@lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-01-29 19:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25  0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers
2019-01-25  1:03 ` Matthias Kaehlcke
2019-01-25  1:21 ` Nathan Chancellor
2019-01-25 15:29 ` Wentland, Harry
2019-01-25 15:29   ` Wentland, Harry
2019-01-29 15:30   ` Alex Deucher
2019-01-29 15:30     ` Alex Deucher
2019-01-29 18:56     ` Guenter Roeck
2019-01-29 18:56       ` Guenter Roeck
2019-01-29 19:01       ` Wentland, Harry
2019-01-29 19:01         ` Wentland, Harry
2019-01-29 19:10         ` Nick Desaulniers
2019-01-29 19:10           ` Nick Desaulniers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.