Re: [PATCH] drm/i915: Fix clang -Wimplicit-fallthrough in intel_async_flip_check_hw()

Jani Nikula
2023-05-26T09:25:11Z

On Wed, 24 May 2023, Nick Desaulniers <ndesaulniers@google.com> wrote:
> On Wed, May 24, 2023 at 8:38 AM Nathan Chancellor <nathan@kernel.org> wrote:
>>
>> Clang warns:
>>
>> drivers/gpu/drm/i915/display/intel_display.c:6012:3: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
>> case I915_FORMAT_MOD_X_TILED:
>> ^
>> drivers/gpu/drm/i915/display/intel_display.c:6012:3: note: insert 'break;' to avoid fall-through
>> case I915_FORMAT_MOD_X_TILED:
>> ^
>> break;
>> 1 error generated.
>>
>> Clang is a little more pedantic than GCC, which does not warn when
>> falling through to a case that is just break or return. Clang's version
>> is more in line with the kernel's own stance in deprecated.rst, which
>> states that all switch/case blocks must end in either break,
>> fallthrough, continue, goto, or return. Add the missing break to silence
>> the warning.
>>
>> Fixes: 937859485aef ("drm/i915: Support Async Flip on Linear buffers")
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/202305241902.UvHtMoxa-lkp@intel.com/
>> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
>> Closes: https://lore.kernel.org/CA+G9fYv68V3ewK0Qj-syQj7qX-hQr0H1MFL=QFNuDoE_J2Zu-g@mail.gmail.com/
>> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>
> Thanks for the patch! I've never seen the closes tag before, that's
> new to me. Can you tell me more about it?
>
> A few more tags
>
> Reported-by: Tom Rix <trix@redhat.com>
> Link: https://lore.kernel.org/all/20230523125116.1669057-1-trix@redhat.com/
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Thanks for the patch and review, pushed to drm-intel-next with
s/Link/Closes/.

BR,
Jani.

>
>
>> ---
>> drivers/gpu/drm/i915/display/intel_display.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 0490c6412ab5..6d49e0ab3e85 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -6008,6 +6008,7 @@ static int intel_async_flip_check_hw(struct intel_atomic_state *state, struct in
>> plane->base.base.id, plane->base.name);
>> return -EINVAL;
>> }
>> + break;
>>
>> case I915_FORMAT_MOD_X_TILED:
>> case I915_FORMAT_MOD_Y_TILED:
>>
>> ---
>> base-commit: 9a2cb1b31c040e2f1b313e2f7921f0f5e6b66d82
>> change-id: 20230524-intel_async_flip_check_hw-implicit-fallthrough-c4c40b03802f
>>
>> Best regards,
>> --
>> Nathan Chancellor <nathan@kernel.org>
>>

--
Jani Nikula, Intel Open Source Graphics Center