mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Koenig, Christian" <Christian.Koenig@amd.com>
To: Nathan Chancellor <natechancellor@gmail.com>,
	"Pan, Xinhui" <Xinhui.Pan@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Zhou, David(ChunMing)" <David1.Zhou@amd.com>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"clang-built-linux@googlegroups.com" 
	<clang-built-linux@googlegroups.com>
Subject: Re: Clang warning in drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
Date: Wed, 20 Mar 2019 09:37:09 +0000	[thread overview]
Message-ID: <63518f1f-b808-77b0-aac6-ee1ece669c4b@amd.com> (raw)
In-Reply-To: <20190320043440.GA23335@archlinux-ryzen>

Am 20.03.19 um 05:34 schrieb Nathan Chancellor:
> On Wed, Mar 20, 2019 at 01:31:27AM +0000, Pan, Xinhui wrote:
>> these two enumerated types are same for now. both of them might change in the future.
>>
>> I have not used clang, but would  .block_id =  (int)head->block fix your warning? If such change is acceptable, I can make one then.
>>
>> Thanks
>> xinhui
>>
>>
>> -----Original Message-----
>> From: Nathan Chancellor <natechancellor@gmail.com>
>> Sent: 2019年3月20日 8:54
>> To: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Zhou, David(ChunMing) <David1.Zhou@amd.com>; Pan, Xinhui <Xinhui.Pan@amd.com>
>> Cc: amd-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; clang-built-linux@googlegroups.com
>> Subject: Clang warning in drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
>>
>> Hi all,
>>
>> The introduction of this file in commit dbd249c24427 ("drm/amdgpu: add amdgpu_ras.c to support ras (v2)") introduces the following Clang
>> warnings:
>>
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:544:23: warning: implicit conversion from enumeration type 'enum amdgpu_ras_block' to different enumeration type 'enum ta_ras_block' [-Wenum-conversion]
>>                          .block_id =  head->block,
>>                                       ~~~~~~^~~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:545:24: warning: implicit conversion from enumeration type 'enum amdgpu_ras_error_type' to different enumeration type 'enum ta_ras_error_type' [-Wenum-conversion]
>>                          .error_type = head->type,
>>                                        ~~~~~~^~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:549:23: warning: implicit conversion from enumeration type 'enum amdgpu_ras_block' to different enumeration type 'enum ta_ras_block' [-Wenum-conversion]
>>                          .block_id =  head->block,
>>                                       ~~~~~~^~~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:550:24: warning: implicit conversion from enumeration type 'enum amdgpu_ras_error_type' to different enumeration type 'enum ta_ras_error_type' [-Wenum-conversion]
>>                          .error_type = head->type,
>>                                        ~~~~~~^~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:650:26: warning: implicit conversion from enumeration type 'enum amdgpu_ras_block' to different enumeration type 'enum ta_ras_block' [-Wenum-conversion]
>>                  .block_id = info->head.block,
>>                              ~~~~~~~~~~~^~~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:651:35: warning: implicit conversion from enumeration type 'enum amdgpu_ras_error_type' to different enumeration type 'enum ta_ras_error_type' [-Wenum-conversion]
>>                  .inject_error_type = info->head.type,
>>                                       ~~~~~~~~~~~^~~~
>> 6 warnings generated.
>>
>> Normally, I would sent a fix for this myself but I am not entirely sure why these two enumerated types exist when one would do since they have the same values minus the prefix. In fact, the ta_ras_{block,error_type} values are never used aside from being defined. Some clarification would be appreciated.
>>
>> Thank you,
>> Nathan
> Hi Xinhui,
>
> Yes, explicitly casting these six spots to int would resolve this
> warning.

Another question is if it is such a good idea to just silence the warning?

Maybe add a amdgpu_ras_error_to_ta() helper to do this casting?

When the enums drift away from each other then we can still add warnings 
to that helper to make sure we don't accidentally cast invalid values 
around.

Regards,
Christian.

>
> Thank you for the quick response!
> Nathan


  reply	other threads:[~2019-03-20  9:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-20  0:54 Nathan Chancellor
2019-03-20  1:31 ` Pan, Xinhui
2019-03-20  4:34   ` Nathan Chancellor
2019-03-20  9:37     ` Koenig, Christian [this message]
     [not found]       ` <CAAzmS6_LL1bveq0HaHMqE-T2ciuZu=zd4HOFfwW99P1n0cmakA@mail.gmail.com>
2019-03-20 15:32         ` Stephen Hines
2019-03-20 15:44         ` Nathan Chancellor
2019-03-21  6:58           ` Pan, Xinhui
2019-03-20 17:19       ` Nick Desaulniers
2019-03-21  4:44         ` Alex Deucher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=63518f1f-b808-77b0-aac6-ee1ece669c4b@amd.com \
    --to=christian.koenig@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=David1.Zhou@amd.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=natechancellor@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome