<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:等线;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@等线";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Courier New \;color\:\#D4D4D4";
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Courier New \;color\:\#569CD6";
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Courier New \;color\:\#DCDCAA";
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Courier New \;color\:\#B5CEA8";
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Courier New \;color\:\#9CDCFE";
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Courier New \;color\:\#C586C0";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;
color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;
color:black;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
{mso-style-name:x_msonormal;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;
color:black;}
p.xmsonormal0, li.xmsonormal0, div.xmsonormal0
{mso-style-name:x_msonormal0;
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;
color:black;}
p.xmsochpdefault, li.xmsochpdefault, div.xmsochpdefault
{mso-style-name:x_msochpdefault;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:宋体;
color:black;}
span.xemailstyle21
{mso-style-name:x_emailstyle21;
font-family:等线;
color:windowtext;}
span.xxapple-converted-space
{mso-style-name:x_xapple-converted-space;}
span.EmailStyle23
{mso-style-type:personal;
font-family:等线;
color:windowtext;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New",serif;
color:black;}
span.EmailStyle28
{mso-style-type:personal-reply;
font-family:等线;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">Yeah, I agree with you we’d better find all those registers<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">Stitch together the REQ and ACK part only avoid this issue for vm flush only, and we may still hit the issue in other place, I knew it.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">The frustrating job is how can we find all those registers ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">And more is since this CC_RB_BACKEND_DISABLE register is not deprecated (confirmed with David M), and driver indeed nee to read it<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">How could we avoid this reading cause vm hub broken ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">I believe like you said there are a bunch of registers (not really deprecated ) reading would cause vm hub broken, how could we still read<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">Them when we want but also not to trigger the world switch issue ?
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">looks to me there is no way to do that, even if you already find out all of those registers, we still need to access them, so the world switch (or other issues)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">are still going to fail, and that’s why I think the plan B at least have its reason to stand there.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">any thought ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext">/Monk<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线;color:windowtext"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"> Christian König [mailto:ckoenig.leichtzumerken@gmail.com]
<br>
<b>Sent:</b> 2018</span><span style="font-size:11.0pt;color:windowtext">年</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">3</span><span style="font-size:11.0pt;color:windowtext">月</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">8</span><span style="font-size:11.0pt;color:windowtext">日</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
17:41<br>
<b>To:</b> Liu, Monk <Monk.Liu@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Mao, David <David.Mao@amd.com><br>
<b>Cc:</b> Jin, Jian-Rong <Jian-Rong.Jin@amd.com>; amd-gfx@lists.freedesktop.org<br>
<b>Subject:</b> Re: deprecated register issues<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi Monk,<br>
<br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">While we can avoid such vm flush failure by stitch together of the sending REQ and reading ACK part, at least for compute ring this is confirmed.</span><span lang="EN-US"><o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">Well there are two misunderstanding here.
<br>
<br>
First of all this solution doesn't really work, it just hides the problem because we don't do a world switch in between those two packets any more. And while we could change the SDMA, UVD and VCE firmware do to something similar you can't apply this solution
to CPU based flushes.<br>
<br>
The second issue is that this isn't related to VMHUB flushing at all, it's just that VMHUB flushing is the first thing where you notice that something is wrong.<br>
<br>
The real problem is that when you access </span><span lang="EN-US" style="font-family:"Calibri",sans-serif">CC_RB_BACKEND_DISABLE and a bunch of other registers the bus on Vega10 sometimes gets a hickup and drops other reads and writes.<br>
<br>
So we need to identify those registers and removes all accesses to them, otherwise working with the hardware will just be horrible unreliable in general.<br>
<br>
Regards,<br>
Christian.<br>
</span><span lang="EN-US"><br>
Am 08.03.2018 um 04:05 schrieb Liu, Monk:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Hi Alex</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">While we can avoid such vm flush failure by stitch together of the sending REQ and reading ACK part, at least for compute ring this is confirmed.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">And I believe for SDMA ring (even UVD/VCE ring) it could also be achieved.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">But
<a id="OWAAM88494E83DC8949F581E2AEBF1FC603DA" href="mailto:Christian.Koenig@amd.com">
<span style="font-family:等线;text-decoration:none">@Koenig, Christian</span></a> insist stitching together the REQ AND ACK part is not a formal way to fix the issue, instead just a walkaround and I cannot debate that</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">What make me worry more is what if there are more registers like Alex said that behaves like this CC_RB_BACKEND_DISABLE,
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">since we don</span><span style="font-size:10.5pt;font-family:等线">’<span lang="EN-US">t know their names(too hard to filter them out!) so we couldn</span>’<span lang="EN-US">t remove
them all from SR list, </span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">So I still think we need plan B to handle above case, A.K.A use one package for the REQ and ACK job</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">/Monk</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Deucher, Alexander
<br>
<b>Sent:</b> 2018</span><span style="font-size:11.0pt">年</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">3</span><span style="font-size:11.0pt">月</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">8</span><span style="font-size:11.0pt">日</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">
10:53<br>
<b>To:</b> Liu, Monk <a href="mailto:Monk.Liu@amd.com"><Monk.Liu@amd.com></a>; Koenig, Christian
<a href="mailto:Christian.Koenig@amd.com"><Christian.Koenig@amd.com></a>; Mao, David
<a href="mailto:David.Mao@amd.com"><David.Mao@amd.com></a><br>
<b>Cc:</b> <a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>; Jin, Jian-Rong
<a href="mailto:Jian-Rong.Jin@amd.com"><Jian-Rong.Jin@amd.com></a><br>
<b>Subject:</b> Re: deprecated register issues</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"> <o:p></o:p></span></p>
<div id="divtagdefaultwrapper">
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif">I think there are more than just CC_RB_BACKEND_DISABLE that could cause this problem. IIRC, some entire class of gfx registers could cause it, it just happened that this was one of the only ones
we readback via mmio. Also for the save and restore list, I think the RLC uses a different interface to read back the registers so it may not be affected the same way.</span><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif">Alex</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US">
<hr size="3" width="98%" align="center">
</span></div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Liu, Monk<br>
<b>Sent:</b> Wednesday, March 7, 2018 9:42:41 PM<br>
<b>To:</b> Deucher, Alexander; Koenig, Christian; Mao, David<br>
<b>Cc:</b> <a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>; Jin, Jian-Rong<br>
<b>Subject:</b> RE: deprecated register issues</span><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Hi guys
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">According to Christian</span><span style="font-size:10.5pt;font-family:等线">’<span lang="EN-US">s found, reading this register would make vm hub failed to finish the vm flush request
, e.g.: sdma is doing vm flush which first write data to vm_invalidat_req and read result from vm_invalidate_ack, but found driver will forever failed to get the correct value from vm_invalidate_ack if the meantime BIF is reading this CC_RB_BACKEND_DISABLE
register.</span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Now SR-IOV world switch also may get such similar trouble, see below save_restore_list ( during world_switch, RLCV will save current VF</span><span style="font-size:10.5pt;font-family:等线">’<span lang="EN-US">s
register according to this list and restore all those registers when loading back this VF)</span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">uint32 register_restore[] = {</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmPA_SC_FIFO_SIZE), /* SC */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmCC_RB_BACKEND_DISABLE), /* SC SC PER_SE */</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000000,</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3400 << 18) | mmCC_RB_BACKEND_DISABLE), /* SC SC PER_SE */</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000000,</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3800 << 18) | mmCC_RB_BACKEND_DISABLE), /* SC SC PER_SE */</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000000,</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3c00 << 18) | mmCC_RB_BACKEND_DISABLE), /* SC SC PER_SE */</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000000,</span></b><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_VTX_VECT_EJECT_REG),
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_DMA_DATA_FIFO_DEPTH), /* IA WD */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_DMA_REQ_FIFO_DEPTH), /* WD */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_DRAW_INIT_FIFO_DEPTH), /* WD */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_CACHE_INVALIDATION), /* IA */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_RESET_DEBUG), /* WD */</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> 0x00000001,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> (uint32)((0x3000 << 18) | mmVGT_FIFO_DEPTHS),
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">I will do some test against this CC_RB_BACKEND_DISABLE register, see if vm flush failure issue could be avoided by removing those four register from SR list
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Thanks</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">/Monk</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Deucher, Alexander
<br>
<b>Sent:</b> 2018</span><span style="font-size:11.0pt">年</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">3</span><span style="font-size:11.0pt">月</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">7</span><span style="font-size:11.0pt">日</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">
23:13<br>
<b>To:</b> Koenig, Christian <<a href="mailto:Christian.Koenig@amd.com">Christian.Koenig@amd.com</a>>; Mao, David <<a href="mailto:David.Mao@amd.com">David.Mao@amd.com</a>>; Liu, Monk <<a href="mailto:Monk.Liu@amd.com">Monk.Liu@amd.com</a>><br>
<b>Cc:</b> <a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>; Jin, Jian-Rong <<a href="mailto:Jian-Rong.Jin@amd.com">Jian-Rong.Jin@amd.com</a>><br>
<b>Subject:</b> Re: deprecated register issues</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<p class="xmsonormal"><span lang="EN-US"> <o:p></o:p></span></p>
<div id="x_divtagdefaultwrapper">
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif">Right. We ran into issues with reading back that register at runtime when UMDs queried it when other stuff was in flight, so we just read it once at startup and cache the results. Now when UMDs
request it, we return the cached value.</span><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US" style="font-family:"Calibri",sans-serif">Alex</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US">
<hr size="3" width="98%" align="center">
</span></div>
<div id="x_divRplyFwdMsg">
<p class="xmsonormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Koenig, Christian<br>
<b>Sent:</b> Wednesday, March 7, 2018 9:31:13 AM<br>
<b>To:</b> Mao, David; Liu, Monk<br>
<b>Cc:</b> Deucher, Alexander; <a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>; Jin, Jian-Rong<br>
<b>Subject:</b> Re: deprecated register issues</span><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<p class="xmsonormal"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">Hi David,<br>
<br>
well I just figured that this is a misunderstanding.<br>
<br>
Accessing this register and some other deprecated registers can cause problem when invalidating VMHUBs.<br>
<br>
This register itself isn't deprecated, the wording in a patch fixing things is just a bit unclear.<br>
<br>
Question is is that register still accessed regularly or is it value cached after startup?
<br>
<br>
Regards,<br>
Christian.<br>
<br>
Am 07.03.2018 um 15:25 schrieb Mao, David:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="xmsonormal" style="background:white"><span lang="EN-US">We requires base driver to provide the mask of disabled RB.
<o:p></o:p></span></p>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">This is why kernel read the CC_RB_BACKEND_DISABLE to collect the harvest configuration.<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">Where did you get to know that the register is deprecated?<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">I think it should still be there.<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">Best Regards,<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">David<o:p></o:p></span></p>
<div>
<p class="xmsonormal" style="margin-bottom:12.0pt;background:white"><span lang="EN-US"> <o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">On Mar 7, 2018, at 9:49 PM, Liu, Monk <<a href="mailto:Monk.Liu@amd.com">Monk.Liu@amd.com</a>> wrote:<o:p></o:p></span></p>
</div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">+ UMD guys</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Hi David</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线">Do you know if<span class="xxapple-converted-space"> </span></span><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New",serif">GC_USER_RB_BACKEND_DISABLE
is still exist for gfx9/vega10 ?</span></b><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New",serif"> </span></b><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New",serif">We found<span class="xxapple-converted-space"> </span></span></b><span lang="EN-US">CC_RB_BACKEND_DISABLE was deprecated but looks
it is still in use in kmd, so<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">I want to check with you both of above registers<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">Thanks<span class="xxapple-converted-space"> </span><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">/Monk<o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:10.5pt;font-family:等线"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="xmsonormal" style="background:white"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">amd-gfx
[<a href="mailto:amd-gfx-bounces@lists.freedesktop.org">mailto:amd-gfx-bounces@lists.freedesktop.org</a>]<span class="xxapple-converted-space"> </span><b>On Behalf Of<span class="xxapple-converted-space"> </span></b>Christian K?nig<br>
<b>Sent:</b><span class="xxapple-converted-space"> </span>2018</span><span style="font-size:11.0pt">年</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">3</span><span style="font-size:11.0pt">月</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">7</span><span style="font-size:11.0pt">日</span><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">20:26<br>
<b>To:</b><span class="xxapple-converted-space"> </span>Liu, Monk <<a href="mailto:Monk.Liu@amd.com">Monk.Liu@amd.com</a>>; Deucher, Alexander <<a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a>><br>
<b>Cc:</b><span class="xxapple-converted-space"> </span><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
<b>Subject:</b><span class="xxapple-converted-space"> </span>Re: deprecated register issues</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US">Hi Monk,<br>
<br>
I honestly don't have the slightest idea why we are still accessing CC_RB_BACKEND_DISABLE. Maybe it still contains some useful values?<br>
<br>
Key point was that we needed to stop accessing it all the time to avoid triggering problems.<br>
<br>
Regards,<br>
Christian.<br>
<br>
Am 07.03.2018 um 13:11 schrieb Liu, Monk:<o:p></o:p></span></p>
</div>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">Hi Christian</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">I remember you and AlexD mentioned that a handful registers are deprecated for greenland (gfx9)</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">e.g. CC_RB_BACKEND_DISABLE</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">do you know why we still have this routine ?</span><span lang="EN-US"><o:p></o:p></span></p>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#569CD6",serif">static</span><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">u32</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#DCDCAA",serif">gfx_v9_0_get_rb_active_bitmap</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">(</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#569CD6",serif">struct</span><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">amdgpu_device
*adev)</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">{</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> u32 data, mask;</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> data =<span class="xxapple-converted-space"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#DCDCAA",serif">RREG32_SOC15</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">(GC,</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#B5CEA8",serif">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">,
mmCC_RB_BACKEND_DISABLE);</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> data |=<span class="xxapple-converted-space"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#DCDCAA",serif">RREG32_SOC15</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">(GC,</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#B5CEA8",serif">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">,
mmGC_USER_RB_BACKEND_DISABLE);</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> data &= CC_RB_BACKEND_DISABLE__BACKEND_DISABLE_MASK;</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> data >>= GC_USER_RB_BACKEND_DISABLE__BACKEND_DISABLE__SHIFT;</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> mask =<span class="xxapple-converted-space"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#DCDCAA",serif">amdgpu_gfx_create_bitmask</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">(adev-></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#9CDCFE",serif">gfx</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#9CDCFE",serif">config</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#9CDCFE",serif">max_backends_per_se</span><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">/</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> adev-></span><span lang="EN-US">gfx</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#9CDCFE",serif">config</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">.</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#9CDCFE",serif">max_sh_per_se</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">);</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#C586C0",serif">return</span><span class="xxapple-converted-space"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span></span><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">(~data)
& mask;</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif">}</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="line-height:14.25pt;background:#1E1E1E"><span lang="EN-US" style="font-size:10.5pt;font-family:"Courier New ;color:#D4D4D4",serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">see that it still read CC_RB_BACKEND_DISABLE</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">thanks</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif">/Monk</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="xmsonormal" style="background:white"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif"> </span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</blockquote>
<div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
</div>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</blockquote>
<p class="xmsonormal" style="background:white"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre><span lang="EN-US">_______________________________________________<o:p></o:p></span></pre>
<pre><span lang="EN-US">amd-gfx mailing list<o:p></o:p></span></pre>
<pre><span lang="EN-US"><a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><o:p></o:p></span></pre>
<pre><span lang="EN-US"><a href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><o:p></o:p></span></pre>
</blockquote>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>