<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="auto">
<div><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">Am 03.10.2019 10:25 schrieb "Pelloux-prayer, Pierre-eric" <Pierre-eric.Pelloux-prayer@amd.com>:<br type="attribution">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font size="2"><span style="font-size:11pt">
<div><br>
On 03/10/2019 10:09, Christian König wrote:<br>
> Am 03.10.19 um 10:03 schrieb Pelloux-prayer, Pierre-eric:<br>
>> This can be safely skipped entirely.<br>
>> This seems to help with <a href="https://bugs.freedesktop.org/show_bug.cgi?id=111481">
https://bugs.freedesktop.org/show_bug.cgi?id=111481</a>.<br>
> <br>
> NAK, please instead fix gmc_v10_0_flush_gpu_tlb to include at least some NOP in the submitted IBs.<br>
<br>
Is there any interest in executing an empty (or only filled with NOPs) IB?<br>
</div>
</span></font></div>
</blockquote>
</div>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Yeah, we used to have some dummy zero sized IBs for the MM engines which otherwise couldn't execute a fence command.</div>
<div dir="auto"><br>
</div>
<div dir="auto">It shouldn't matter for modern firmware/hardware, but you could actually silently break somewhere else with this, so better not do this.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Sorry should have mentioned that directly,</div>
<div dir="auto">Christian.</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font size="2"><span style="font-size:11pt">
<div><br>
Anyway I can modify the patch to do this.<br>
<br>
Thanks,<br>
Pierre-Eric<br>
<br>
> <br>
> Christian.<br>
> <br>
>><br>
>> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com><br>
>> ---<br>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 5 +++++<br>
>>   1 file changed, 5 insertions(+)<br>
>><br>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c<br>
>> index 60655834d649..aa163e679f1f 100644<br>
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c<br>
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c<br>
>> @@ -227,6 +227,11 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,<br>
>>               !amdgpu_sriov_vf(adev)) /* for SRIOV preemption, Preamble CE ib must be inserted anyway */<br>
>>               continue;<br>
>>   +        if (ib->length_dw == 0) {<!-- --><br>
>> +            /* On Navi gmc_v10_0_flush_gpu_tlb emits 0 sized IB */<br>
>> +            continue;<br>
>> +        }<br>
>> +<br>
>>           amdgpu_ring_emit_ib(ring, job, ib, status);<br>
>>           status &= ~AMDGPU_HAVE_CTX_SWITCH;<br>
>>       }<br>
> <br>
</div>
</span></font></div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</body>
</html>