[PATCH v3 1/3] drm/amd/display: Add ASSERT_BUG() macro definition
Tiezhu Yang
yangtiezhu at loongson.cn
Tue Jan 14 11:52:20 UTC 2025
On 01/14/2025 04:29 PM, Huacai Chen wrote:
> Hi, Tiezhu,
>
> On Tue, Jan 14, 2025 at 2:16 PM Tiezhu Yang <yangtiezhu at loongson.cn> wrote:
>>
>> In order to keep the current ability for the aim of debugging and avoid
>> printing the warning message twice, add ASSERT_BUG() macro definition to
>> harden the callers of division functions.
>>
>> Signed-off-by: Tiezhu Yang <yangtiezhu at loongson.cn>
>> ---
>> drivers/gpu/drm/amd/display/dc/os_types.h | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/display/dc/os_types.h b/drivers/gpu/drm/amd/display/dc/os_types.h
>> index f2ba76c1e0c0..932bbe05ee0a 100644
>> --- a/drivers/gpu/drm/amd/display/dc/os_types.h
>> +++ b/drivers/gpu/drm/amd/display/dc/os_types.h
>> @@ -79,6 +79,11 @@
>> dc_breakpoint(); \
>> } while (0)
>>
>> +#define ASSERT_BUG(expr) do { \
>> + dc_breakpoint(); \
>> + BUG_ON(!(expr)); \
>> + } while (0)
> I don't think this is correct, if KGDB is enabled, then whether expr
> is true or false, ASSERT_BUG() will break to KGDB.
It should check expr first, something like this:
#define ASSERT_BUG(expr) do { \
if (!(expr)) { \
dc_breakpoint(); \
BUG(); \
} \
} while (0)
I will send v4 later.
Thanks,
Tiezhu
More information about the amd-gfx
mailing list