[PATCH 3/4] dma-buf: Add callback and enable signaling on debug

Yadav, Arvind arvyadav at amd.com
Mon Sep 5 13:50:03 UTC 2022


On 9/5/2022 4:56 PM, Christian König wrote:
>
>
> Am 05.09.22 um 12:56 schrieb Arvind Yadav:
>> Here's on debug adding an enable_signaling callback for the stub
>> fences and enabling software signaling for the stub fence which
>> is always signaled. This fence should enable software signaling
>> otherwise the AMD GPU scheduler will cause a GPU reset due to a
>> GPU scheduler cleanup activity timeout.
>>
>> Signed-off-by: Arvind Yadav <Arvind.Yadav at amd.com>
>> ---
>>   drivers/dma-buf/dma-fence.c | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>
>> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
>> index 066400ed8841..0a67af945ef8 100644
>> --- a/drivers/dma-buf/dma-fence.c
>> +++ b/drivers/dma-buf/dma-fence.c
>> @@ -27,6 +27,10 @@ EXPORT_TRACEPOINT_SYMBOL(dma_fence_signaled);
>>   static DEFINE_SPINLOCK(dma_fence_stub_lock);
>>   static struct dma_fence dma_fence_stub;
>>   +#ifdef CONFIG_DEBUG_FS
>> +static bool __dma_fence_enable_signaling(struct dma_fence *fence);
>> +#endif
>> +
>>   /*
>>    * fence context counter: each execution context should have its own
>>    * fence context, this allows checking if fences belong to the same
>> @@ -116,9 +120,19 @@ static const char 
>> *dma_fence_stub_get_name(struct dma_fence *fence)
>>           return "stub";
>>   }
>>   +#ifdef CONFIG_DEBUG_FS
>> +static bool dma_fence_stub_enable_signaling(struct dma_fence *f)
>> +{
>> +    return true;
>> +}
>> +#endif
>
> Again, adding the callback is unnecessary.

sure, I will remove callback from here and other patch also.

~arvind

>
>> +
>>   static const struct dma_fence_ops dma_fence_stub_ops = {
>>       .get_driver_name = dma_fence_stub_get_name,
>>       .get_timeline_name = dma_fence_stub_get_name,
>> +#ifdef CONFIG_DEBUG_FS
>> +    .enable_signaling =  dma_fence_stub_enable_signaling,
>> +#endif
>>   };
>>     /**
>> @@ -136,6 +150,9 @@ struct dma_fence *dma_fence_get_stub(void)
>>                      &dma_fence_stub_ops,
>>                      &dma_fence_stub_lock,
>>                      0, 0);
>> +#ifdef CONFIG_DEBUG_FS
>> +        __dma_fence_enable_signaling(&dma_fence_stub);
>> +#endif
>>           dma_fence_signal_locked(&dma_fence_stub);
>>       }
>>       spin_unlock(&dma_fence_stub_lock);
>


More information about the dri-devel mailing list