<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>feel free to add my rb<br>
<br>
<p dir="ltr" style="display:inline"><span style="color:#888888"><span style="font-size:0.81em">发自坚果 Pro</span></span></p>
<style type="text/css">
<!--
* body
        {padding:0 16px 30px!important;
        margin:0!important;
        background-color:#ffffff;
        line-height:1.4;
        word-wrap:break-word;
        word-break:normal}
div
        {word-wrap:break-word;
        word-break:normal}
p
        {word-wrap:break-word;
        word-break:normal;
        text-indent:0pt!important}
span
        {word-wrap:break-word;
        word-break:normal}
a
        {word-wrap:break-word;
        word-break:normal}
td
        {word-wrap:break-word;
        word-break:break-all}
-->
</style>
<div class="x_quote">
<div style="margin:0 0px; font-size:105%"><font color="#629140" style="line-height:1.4"><span>Christian K鰊ig <ckoenig.leichtzumerken@gmail.com> 于 2018年1月12日 下午6:39写道:</span></font></div>
<br type="attribution">
</div>
</div>
<font size="2"><span style="font-size:11pt;">
<div class="PlainText">I fixed the fence issue in patch #3. Raised the dev_info to a dev_warn
<br>
in patch #4 and moved the trace into the functions in #5.<br>
<br>
Any objects or can I get your rb for the whole series?<br>
<br>
Thanks,<br>
Christian.<br>
<br>
Am 11.01.2018 um 06:50 schrieb Chunming Zhou:<br>
> Except some small nitpicks in patch #3, #4, #5, the series looks ok to <br>
> me, Reviewed-by: Chunming Zhou <david1.zhou@amd.com><br>
><br>
><br>
> Regards,<br>
> David Zhou<br>
> On 2018年01月10日 20:54, Christian König wrote:<br>
>> Print that extra information on GMC v8.<br>
>><br>
>> Signed-off-by: Christian König <christian.koenig@amd.com><br>
>> ---<br>
>>   drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 13 +++++++------<br>
>>   1 file changed, 7 insertions(+), 6 deletions(-)<br>
>><br>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c <br>
>> b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c<br>
>> index 287228315b76..5b4f6c1f0993 100644<br>
>> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c<br>
>> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c<br>
>> @@ -962,21 +962,21 @@ static void gmc_v8_0_gart_fini(struct <br>
>> amdgpu_device *adev)<br>
>>    *<br>
>>    * Print human readable fault information (CIK).<br>
>>    */<br>
>> -static void gmc_v8_0_vm_decode_fault(struct amdgpu_device *adev,<br>
>> -                     u32 status, u32 addr, u32 mc_client)<br>
>> +static void gmc_v8_0_vm_decode_fault(struct amdgpu_device *adev, u32 <br>
>> status,<br>
>> +                     u32 addr, u32 mc_client, unsigned pasid)<br>
>>   {<br>
>> -    u32 mc_id;<br>
>>       u32 vmid = REG_GET_FIELD(status, <br>
>> VM_CONTEXT1_PROTECTION_FAULT_STATUS, VMID);<br>
>>       u32 protections = REG_GET_FIELD(status, <br>
>> VM_CONTEXT1_PROTECTION_FAULT_STATUS,<br>
>>                       PROTECTIONS);<br>
>>       char block[5] = { mc_client >> 24, (mc_client >> 16) & 0xff,<br>
>>           (mc_client >> 8) & 0xff, mc_client & 0xff, 0 };<br>
>> +    u32 mc_id;<br>
>>         mc_id = REG_GET_FIELD(status, <br>
>> VM_CONTEXT1_PROTECTION_FAULT_STATUS,<br>
>>                     MEMORY_CLIENT_ID);<br>
>>   -    dev_err(adev->dev, "VM fault (0x%02x, vmid %d) at page %u, %s <br>
>> from '%s' (0x%08x) (%d)\n",<br>
>> -           protections, vmid, addr,<br>
>> +    dev_err(adev->dev, "VM fault (0x%02x, vmid %d, pasid %d) at page <br>
>> %u, %s from '%s' (0x%08x) (%d)\n",<br>
>> +           protections, vmid, pasid, addr,<br>
>>              REG_GET_FIELD(status, VM_CONTEXT1_PROTECTION_FAULT_STATUS,<br>
>>                    MEMORY_CLIENT_RW) ?<br>
>>              "write" : "read", block, mc_client, mc_id);<br>
>> @@ -1404,7 +1404,8 @@ static int gmc_v8_0_process_interrupt(struct <br>
>> amdgpu_device *adev,<br>
>>               addr);<br>
>>           dev_err(adev->dev, " VM_CONTEXT1_PROTECTION_FAULT_STATUS <br>
>> 0x%08X\n",<br>
>>               status);<br>
>> -        gmc_v8_0_vm_decode_fault(adev, status, addr, mc_client);<br>
>> +        gmc_v8_0_vm_decode_fault(adev, status, addr, mc_client,<br>
>> +                     entry->pasid);<br>
>>       }<br>
>>         return 0;<br>
><br>
<br>
</div>
</span></font>
</body>
</html>