答复: [PATCH] drm/amdgpu: replace BUG_ON() and BUG()
Qu, Jim
Jim.Qu at amd.com
Thu Jul 14 04:53:11 UTC 2016
Are there any comments for patch?
Thanks
JimQu
________________________________
发件人: Qu, Jim
发送时间: 2016年7月12日 17:44:51
收件人: Christian König; Dave Airlie
抄送: amd-gfx mailing list
主题: 答复: [PATCH] drm/amdgpu: replace BUG_ON() and BUG()
Hi Christian:
Yes, my patch is for this issue in the vce fence interrupt. and I am also working on an S3 issue on Polaris10. I found that system may be blocked after ring ib test for the VCE ring.
Could you share any points about the S3 issue?
Thanks
JimQu
________________________________
发件人: Christian König <deathsimple at vodafone.de>
发送时间: 2016年7月12日 17:15:56
收件人: Dave Airlie; Qu, Jim
抄送: amd-gfx mailing list
主题: Re: [PATCH] drm/amdgpu: replace BUG_ON() and BUG()
Am 12.07.2016 um 05:35 schrieb Dave Airlie:
> On 12 July 2016 at 10:16, jimqu <Jim.Qu at amd.com> wrote:
>> Sometimes, it maybe a ring test failure during S3 resume. When that
>> happens, it will be kernel panic in the fence interrupt and will
>> hangs up system. it is difficult to get any information from kernel
>> for debug.
> Please just use WARN or WARN_ON.
And I already completely changed the code to neither BUG() nor WARN()
because of this.
VCE just sends spurious fence values during resume and I'm still working
on a way to fully sort them out.
Christian.
>
> Dave.
>
>> Change-Id: Iafa6c3793be151b8b85cf4299b929ba333b6174e
>> Signed-off-by: JimQu <Jim.Qu at amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 15 +++++++++++++++
>> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 4 ++--
>> 2 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> index c3bf33f..15b6c5d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -2242,6 +2242,21 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
>> }
>>
>> /*
>> + * Debug helpers
>> + */
>> +#define AMDGPU_BUG() do { \
>> + printk(KERN_ERR "BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
>> + dump_stack(); \
>> + for (;;); \
>> + } while (0)
>> +
>> +#define AMDGPU_BUG_ON(condition) do { \
>> + if (unlikely((condition)!= 0)) { \
>> + AMDGPU_BUG(); \
>> + } \
>> + } while (0)
>> +
>> +/*
>> * ASICs macro.
>> */
>> #define amdgpu_asic_set_vga_state(adev, state) (adev)->asic_funcs->set_vga_state((adev), (state))
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
>> index d155876..b8e5fa7 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
>> @@ -213,13 +213,13 @@ void amdgpu_fence_process(struct amdgpu_ring *ring)
>> fence = rcu_dereference_protected(*ptr, 1);
>> RCU_INIT_POINTER(*ptr, NULL);
>>
>> - BUG_ON(!fence);
>> + AMDGPU_BUG_ON(!fence);
>>
>> r = fence_signal(fence);
>> if (!r)
>> FENCE_TRACE(fence, "signaled from irq context\n");
>> else
>> - BUG();
>> + AMDGPU_BUG();
>>
>> fence_put(fence);
>> }
>> --
>> 1.9.1
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20160714/a48cf484/attachment-0001.html>
More information about the amd-gfx
mailing list