From patchwork Thu Mar 7 10:34:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 10842663 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0252E922 for ; Thu, 7 Mar 2019 10:35:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E38B12C831 for ; Thu, 7 Mar 2019 10:35:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D460B2E482; Thu, 7 Mar 2019 10:35:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 804D82C831 for ; Thu, 7 Mar 2019 10:35:09 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9C47E6E288; Thu, 7 Mar 2019 10:35:06 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 006166E288 for ; Thu, 7 Mar 2019 10:35:03 +0000 (UTC) Received: from wuerfel.lan ([109.192.41.194]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.129]) with ESMTPA (Nemesis) id 1Mbies-1gWMtr0jzK-00dGhs; Thu, 07 Mar 2019 11:34:57 +0100 From: Arnd Bergmann To: Harry Wentland , Leo Li , Alex Deucher , =?utf-8?q?Christian_K=C3=B6nig?= , "David (ChunMing) Zhou" Subject: [PATCH] drm/amd/display: avoid passing enum as NULL pointer Date: Thu, 7 Mar 2019 11:34:29 +0100 Message-Id: <20190307103454.1637485-1-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:pCjZDQjfR9i7ray0JlfRKGU/jikmFyHTIEHQ2rP8x9gyfadNyak sX8fbIDdM3uRvDmjga6vVzvY5nipvPQogOVy7F9na0zO88bLJTuAy3vJ8q01DYMZb7Jm0It 9I7LkoSCAXFTJ9a9zkgkRl8TVDVfaxXoOnHRmUAQc4YKhYEaUL/+lFHAn9LYns3LAlCoA0k Qkw8yFUn2T73SPu/z4n5Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:/PAeGTnAZUc=:c5Qe5F8Vk185Dv7HLyLF+b fJy5gyKkPke0hxjuD7SRacHOuItAOKGbQKKSOUaOCcrpNXTCfGASJiwWqFQtKZryWh/pHtNIt j+oBaQEv/1Kid6vOskUPlPg/E6LHVwUVcZTq4fcmB+RlFyqB2irRGvA0zjOrrVnUca0ntyac3 yHNHWhJRwoxCokecZpUwsrmhYG6Xxxy0DASxGuMOvduzcDWIqV5poxHWeYsKloSRnztc+y5az bG2SfZ3gx6PXvnarYsMxGtLo54wX4nfxFBItn4xAX+zY3fBl7lxlnfIEjRkAGkW36XnvRHmEz uxQZDPZ2hUP24jkoBFzai9FjyF1rBg9WruuSzTnmHgT1SDgQUCGYeVrrrjnyACYjasbNVgQQ+ zQUA0d9I9sOpEctREXDyf3dlkMzD1PKLHWreLy35QfkpJeEfYFAbFypqS8TN327ihbMRlX9qY cLjpAnveditXbd8eQZPo+GeDVDAjHsdHCnqNL2kiljn9nn27SjUuV9RM/mF19FKx4xn3emOJY 4+A2b6UUegIDijrItQUBQ1JS0tjApYL019xK/XYHlygYpj8ckYn0WhrlwW7TgX8p+hZWxfGeK 7t8EjdZGtpDdDAi1cH62HoAcdkTjwJayZglSW2W3SlcuhCpxNI+TCj1lN63mhHoPzOBlwSIph 9J/cKs6HIkKQAbx/3rRSE7dmKWD/OHI/7Frh06en8+wOlRii5l2r6L3WeKv4BVw2fZZFKRwRI M2bJKlB8kaiHjo4n8CmMjnCyLkHbmPijciRiCw== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kees Cook , Arnd Bergmann , David Airlie , Bayan Zabihiyan , Nick Desaulniers , linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, Harmanprit Tatla , Tony Cheng , dri-devel@lists.freedesktop.org, Anthony Koo , SivapiriyanKumarasamy , Ken Chalmers Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP The mod_freesync_build_vrr_infopacket() function uses rather obscure calling conventions, where an enum is passed in through a pointer, and a NULL pointer is expected to behave the same way as the zero-value (TRANSFER_FUNC_UNKNOWN). Trying to build this with clang results in a warning: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:4601:3: error: expression which evaluates to zero treated as a null pointer constant of type 'const enum color_transfer_func *' [-Werror,-Wnon-literal-null-conversion] Passing it by value instead of by reference makes the code simpler and more conventional but should not change the behavior at all. Fixes: c2791297013e ("drm/amd/display: Add color bit info to freesync infoframe") Signed-off-by: Arnd Bergmann --- drivers/gpu/drm/amd/display/modules/freesync/freesync.c | 7 +++---- drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c index 94a84bc57c7a..6f32fe129880 100644 --- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c @@ -724,7 +724,7 @@ static void build_vrr_infopacket_v1(enum signal_type signal, static void build_vrr_infopacket_v2(enum signal_type signal, const struct mod_vrr_params *vrr, - const enum color_transfer_func *app_tf, + const enum color_transfer_func app_tf, struct dc_info_packet *infopacket) { unsigned int payload_size = 0; @@ -732,8 +732,7 @@ static void build_vrr_infopacket_v2(enum signal_type signal, build_vrr_infopacket_header_v2(signal, infopacket, &payload_size); build_vrr_infopacket_data(vrr, infopacket); - if (app_tf != NULL) - build_vrr_infopacket_fs2_data(*app_tf, infopacket); + build_vrr_infopacket_fs2_data(app_tf, infopacket); build_vrr_infopacket_checksum(&payload_size, infopacket); @@ -757,7 +756,7 @@ void mod_freesync_build_vrr_infopacket(struct mod_freesync *mod_freesync, const struct dc_stream_state *stream, const struct mod_vrr_params *vrr, enum vrr_packet_type packet_type, - const enum color_transfer_func *app_tf, + const enum color_transfer_func app_tf, struct dc_info_packet *infopacket) { /* SPD info packet for FreeSync diff --git a/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h b/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h index 4222e403b151..645793b924cf 100644 --- a/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h +++ b/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h @@ -145,7 +145,7 @@ void mod_freesync_build_vrr_infopacket(struct mod_freesync *mod_freesync, const struct dc_stream_state *stream, const struct mod_vrr_params *vrr, enum vrr_packet_type packet_type, - const enum color_transfer_func *app_tf, + const enum color_transfer_func app_tf, struct dc_info_packet *infopacket); void mod_freesync_build_vrr_params(struct mod_freesync *mod_freesync,