Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp1148363imw; Wed, 13 Jul 2022 14:41:48 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u0fQ0bNwB2KOupcw+a5wjDd+Y92WNH1+wFZOdqo6VwNRqmDQ6k0EV9QGWkdGh6qknPpwNm X-Received: by 2002:a05:6402:e08:b0:43a:f435:ff1a with SMTP id h8-20020a0564020e0800b0043af435ff1amr7515415edh.123.1657748508679; Wed, 13 Jul 2022 14:41:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657748508; cv=none; d=google.com; s=arc-20160816; b=rPT6K8CVcaRZGHHBYogwKCE7BFnY1JmjOKF6am7AG/9Ugkj3TBuLa1k0Gqv1f4GOng 4NBatOT5x4i3Q6atfR+b90fFXq6jqptrC/iFgOorXYvOxb6XB7YJa7JjS3Cg/f4AQLQv P7cR9ALJFpllOYZh4+JznVlcLkRiA5H4398mPZpzvXi1F5Brb5QwSYSplN6l5rZT9Ozw E23W3aajp91x6EP8qtp41qvOk6b6DrcelXIGFfaNHXF6ek1QNHfrm2yMYei8WqZY84/g W2POqktgYW+cmPoAJ0syJCBuv3ianH5haOaZ17FIDr4Q/PztWgOD0SQ6W07/AdmGfn6l eL6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:subject :from:references:cc:to:content-language:user-agent:mime-version:date :message-id:sender:dkim-signature; bh=kvmBdvQg/8Gn5GQ6ktKwyk40airFB+prdhQxh8nJVNk=; b=siR574ym6YMXpwMZINz6LPu1rR2NouOX6tpsR7NL5qgYPm54eJErV0f2NVcll6/dtc 9aNLtiavGcxiaQHjy+NTFtbDHa+OX3NpoumAaKjtxnlZSB8KyAZR+Yywpk4+vL4khnGb /CC65ui5P3LM5QkwPKSxebR49u9sW50mDsXR4/e/LBoAW5WbJo2i3iz239zcmVs5tdDe KfFhmLu/bABSw0jenU70hRvCWYKA6Dg1x9xtKzzmU0H2gDKpWPX0WNeY7SAm8+Oe2MBI XUn+KwwkzlSB29DaxAypbZQ0wdE8EM1nDgWWFX+s7Fj7W6Ehrd+/3+b6kyjn8n0vpgaI eZrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=MK1MDSnT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c30-20020a50f61e000000b00437d7316b1dsi20375749edn.528.2022.07.13.14.41.23; Wed, 13 Jul 2022 14:41:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=MK1MDSnT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237430AbiGMVTZ (ORCPT + 99 others); Wed, 13 Jul 2022 17:19:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237455AbiGMVSv (ORCPT ); Wed, 13 Jul 2022 17:18:51 -0400 Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6388A62D8 for ; Wed, 13 Jul 2022 14:18:36 -0700 (PDT) Received: by mail-pj1-x102a.google.com with SMTP id q5-20020a17090a304500b001efcc885cc4so162769pjl.4 for ; Wed, 13 Jul 2022 14:18:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:content-language:to :cc:references:from:subject:in-reply-to:content-transfer-encoding; bh=kvmBdvQg/8Gn5GQ6ktKwyk40airFB+prdhQxh8nJVNk=; b=MK1MDSnTj2CTaHexfUNMmag9cCZXdmf5weL/rz2GyjxeNfnihO/vyOyT/J65swUz2Q D/sJuMaua1GG412SFdfLHkl4rZPSkZeMhhOHLCA7vdvJX8Duuu8+ukuAqJdgMS4Tj5QS 0l/u0JDkoeDYtp+GonY9rA0lP0raEMwKwrYA6d/qSmAvD2HcAT1HSqyHxx6e55uTMaIp YzzowDbrStxkYKOxI0s8P7NdNE6ZkByfLA3ogvn35r5Ly18XVHt+NoLXe4vGtO0bhmfm b6r3mK0CjooeFEtwcL98eHdI2xjq/ellSfJrJJs8Jp+pbUIUZ3t68BDoz7/pvjwSZYht NnPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :content-language:to:cc:references:from:subject:in-reply-to :content-transfer-encoding; bh=kvmBdvQg/8Gn5GQ6ktKwyk40airFB+prdhQxh8nJVNk=; b=2ToqbQigKOdlE5AS88TLgUswx1K+7kqGcAzYRD8Aj5Jgy0SQJUPDr22Il/VOnMrxkA vEVuic+4x/0u62nG0E9+dAIWXNfOv5WI3GDVRjCspD9XVEgLPkWFYjoEu1VtHvsvFp6R e2oO2mjHmZ+tgSnKF80IY2vFRquLj1Oj0ey0R/G3FwxhFZh2w55uqXXmM38IVNDp/k4s Kok3aY0Vvmer0n9xbUx6hUTH5B5bwoO0Hmc6nPtfPgicE/oToQx2naYIZoyAV/V7522a Zj+QhyOQCP39q5+Dp82PcfpLzgiuKt7IrN4hGMkRSwcW8TGahivQiu0sc86jY4i+lj1W Igpw== X-Gm-Message-State: AJIora+87V5jSn+vM7OKs9oWj/xOjB0Us/WzmHvogKbhrwuvBzoSF9Uq py60le9TzSvD3IGEeCMR1lZCArZC+6WOdw== X-Received: by 2002:a17:902:9a07:b0:16c:39bc:876 with SMTP id v7-20020a1709029a0700b0016c39bc0876mr4931225plp.42.1657747115831; Wed, 13 Jul 2022 14:18:35 -0700 (PDT) Received: from ?IPV6:2600:1700:e321:62f0:329c:23ff:fee3:9d7c? ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id rm8-20020a17090b3ec800b001eff36b1f2asm2104283pjb.0.2022.07.13.14.18.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Jul 2022 14:18:34 -0700 (PDT) Sender: Guenter Roeck Message-ID: <6a026c9a-c4ee-deba-e028-4c0f478c1911@roeck-us.net> Date: Wed, 13 Jul 2022 14:18:33 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Content-Language: en-US To: Alex Deucher , Rodrigo Siqueira Jordao Cc: Harry Wentland , Leo Li , Michael Ellerman , LKML , amd-gfx list , David Airlie , Maling list - DRI developers , Alex Deucher , =?UTF-8?Q?Christian_K=c3=b6nig?= , Daniel Axtens References: <20220618232737.2036722-1-linux@roeck-us.net> <584fc348-7a60-26a2-af61-9edc4f4830e4@amd.com> From: Guenter Roeck Subject: Re: [PATCH] drm/amd/display: Add missing hard-float compile flags for PPC64 builds In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/13/22 13:57, Alex Deucher wrote: > On Thu, Jun 30, 2022 at 5:01 PM Rodrigo Siqueira Jordao > wrote: >> >> >> >> On 2022-06-18 19:27, Guenter Roeck wrote: >>> ppc:allmodconfig builds fail with the following error. >>> >>> powerpc64-linux-ld: >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o >>> uses hard float, >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn31/dcn31_resource.o >>> uses soft float >>> powerpc64-linux-ld: >>> failed to merge target specific data of file >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn31/dcn31_resource.o >>> powerpc64-linux-ld: >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o >>> uses hard float, >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn315/dcn315_resource.o >>> uses soft float >>> powerpc64-linux-ld: >>> failed to merge target specific data of >>> file drivers/gpu/drm/amd/amdgpu/../display/dc/dcn315/dcn315_resource.o >>> powerpc64-linux-ld: >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o >>> uses hard float, >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn316/dcn316_resource.o >>> uses soft float >>> powerpc64-linux-ld: >>> failed to merge target specific data of file >>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn316/dcn316_resource.o >>> >>> The problem was introduced with commit 41b7a347bf14 ("powerpc: Book3S >>> 64-bit outline-only KASAN support") which adds support for KASAN. This >>> commit in turn enables DRM_AMD_DC_DCN because KCOV_INSTRUMENT_ALL and >>> KCOV_ENABLE_COMPARISONS are no longer enabled. As result, new files are >>> compiled which lack the selection of hard-float. >>> >>> Fixes: 41b7a347bf14 ("powerpc: Book3S 64-bit outline-only KASAN support") >>> Cc: Michael Ellerman >>> Cc: Daniel Axtens >>> Signed-off-by: Guenter Roeck >>> --- >>> drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 4 ++++ >>> drivers/gpu/drm/amd/display/dc/dcn315/Makefile | 4 ++++ >>> drivers/gpu/drm/amd/display/dc/dcn316/Makefile | 4 ++++ >>> 3 files changed, 12 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/amd/display/dc/dcn31/Makefile b/drivers/gpu/drm/amd/display/dc/dcn31/Makefile >>> index ec041e3cda30..74be02114ae4 100644 >>> --- a/drivers/gpu/drm/amd/display/dc/dcn31/Makefile >>> +++ b/drivers/gpu/drm/amd/display/dc/dcn31/Makefile >>> @@ -15,6 +15,10 @@ DCN31 = dcn31_resource.o dcn31_hubbub.o dcn31_hwseq.o dcn31_init.o dcn31_hubp.o >>> dcn31_apg.o dcn31_hpo_dp_stream_encoder.o dcn31_hpo_dp_link_encoder.o \ >>> dcn31_afmt.o dcn31_vpg.o >>> >>> +ifdef CONFIG_PPC64 >>> +CFLAGS_$(AMDDALPATH)/dc/dcn31/dcn31_resource.o := -mhard-float -maltivec >>> +endif >>> + >>> AMD_DAL_DCN31 = $(addprefix $(AMDDALPATH)/dc/dcn31/,$(DCN31)) >>> >>> AMD_DISPLAY_FILES += $(AMD_DAL_DCN31) >>> diff --git a/drivers/gpu/drm/amd/display/dc/dcn315/Makefile b/drivers/gpu/drm/amd/display/dc/dcn315/Makefile >>> index 59381d24800b..1395c1ced8c5 100644 >>> --- a/drivers/gpu/drm/amd/display/dc/dcn315/Makefile >>> +++ b/drivers/gpu/drm/amd/display/dc/dcn315/Makefile >>> @@ -25,6 +25,10 @@ >>> >>> DCN315 = dcn315_resource.o >>> >>> +ifdef CONFIG_PPC64 >>> +CFLAGS_$(AMDDALPATH)/dc/dcn315/dcn315_resource.o := -mhard-float -maltivec >>> +endif >>> + >>> AMD_DAL_DCN315 = $(addprefix $(AMDDALPATH)/dc/dcn315/,$(DCN315)) >>> >>> AMD_DISPLAY_FILES += $(AMD_DAL_DCN315) >>> diff --git a/drivers/gpu/drm/amd/display/dc/dcn316/Makefile b/drivers/gpu/drm/amd/display/dc/dcn316/Makefile >>> index 819d44a9439b..c3d2dd78f1e2 100644 >>> --- a/drivers/gpu/drm/amd/display/dc/dcn316/Makefile >>> +++ b/drivers/gpu/drm/amd/display/dc/dcn316/Makefile >>> @@ -25,6 +25,10 @@ >>> >>> DCN316 = dcn316_resource.o >>> >>> +ifdef CONFIG_PPC64 >>> +CFLAGS_$(AMDDALPATH)/dc/dcn316/dcn316_resource.o := -mhard-float -maltivec >>> +endif >>> + >>> AMD_DAL_DCN316 = $(addprefix $(AMDDALPATH)/dc/dcn316/,$(DCN316)) >>> >>> AMD_DISPLAY_FILES += $(AMD_DAL_DCN316) >> >> Hi, >> >> I don't want to re-introduce those FPU flags for DCN31/DCN314/DCN316 >> since we fully isolate FPU operations for those ASICs inside the DML > > I don't understand why we don't need to add the hard-float flags back > on the other DCN blocks. Did we miss something in the DML cleanup for > DCN 3.1.x? Anyway, at this point, the patch is: > Acked-by: Alex Deucher > We can sort the rest out for 5.20. > The problem is not the FPU operations, but the fact that soft-float and hard-float compiled code is linked together. The soft-float and hard-float ABIs on powerpc are not compatible, so one ends up with an object file which is partially soft-float and partially hard-float compiled and thus uses different ABIs. That can only create chaos, so the linker complains about it. Guenter