<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)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{mso-style-priority:99;
mso-style-link:"Plain Text Char";
margin:0cm;
font-size:11.0pt;
font-family:"Arial",sans-serif;
mso-ligatures:standardcontextual;}
span.PlainTextChar
{mso-style-name:"Plain Text Char";
mso-style-priority:99;
mso-style-link:"Plain Text";
font-family:"Arial",sans-serif;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 102.5pt 72.0pt 102.5pt;}
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 lang="EN-US" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<p style="font-family:Calibri;font-size:10pt;color:#0000FF;margin:5pt;font-style:normal;font-weight:normal;text-decoration:none;" align="Left">
[AMD Official Use Only - AMD Internal Distribution Only]<br>
</p>
<br>
<div>
<div class="WordSection1">
<p class="MsoPlainText"><span style="font-family:DengXian">Thanks <a id="OWAAM3EE4F17E803042019E18015B453C3045" href="mailto:Lijo.Lazar@amd.com">
<span style="font-family:DengXian;text-decoration:none">@Lazar, Lijo</span></a> for the review.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:DengXian">And initializing the gb_addr_config_fields is part of sw_init although the callback has the name of early_init in it.<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:DengXian">Will remove the part of "</span>
<span style="font-family:DengXian">Fix it temporarily by using the golden value in sw_init as well." in comment.
</span><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> -----Original Message-----</p>
<p class="MsoPlainText">> From: Lazar, Lijo <Lijo.Lazar@amd.com></p>
<p class="MsoPlainText">> Sent: Wednesday, March 5, 2025 4:02 PM</p>
<p class="MsoPlainText">> To: Zhang, Morris <Shiwu.Zhang@amd.com>; Ma, Le <Le.Ma@amd.com>; Zhang,</p>
<p class="MsoPlainText">> Hawking <Hawking.Zhang@amd.com>; amd-gfx@lists.freedesktop.org</p>
<p class="MsoPlainText">> Subject: Re: [PATCH 2/2] drm/amdgpu: fix the gb_addr_config_fields init value</p>
<p class="MsoPlainText">> mismatch</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> On 3/5/2025 12:14 PM, Shiwu Zhang wrote:</p>
<p class="MsoPlainText">> > For gfx_v9_4_3 specifically, before regGB_ADDR_CONFIG is overwritten</p>
<p class="MsoPlainText">> > in gfx hw_init it is read out to popluate the gb_addr_config_fields in</p>
<p class="MsoPlainText">> > the sw_init stage, which causes mismatch.</p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > Fix it temporarily by using the golden value in sw_init as well.</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> sw_init => early_init</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> > The final fix should be by vBIOS/IFWI.</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> This is supposed to be a driver-set golden reg. Most likely will remain this way.</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> Series is -</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> Reviewed-by: Lijo Lazar <<a href="mailto:lijo.lazar@amd.com"><span style="color:windowtext;text-decoration:none">lijo.lazar@amd.com</span></a>></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> Thanks,</p>
<p class="MsoPlainText">> Lijo</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > Signed-off-by: Shiwu Zhang <<a href="mailto:shiwu.zhang@amd.com"><span style="color:windowtext;text-decoration:none">shiwu.zhang@amd.com</span></a>></p>
<p class="MsoPlainText">> > ---</p>
<p class="MsoPlainText">> > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 6 +-----</p>
<p class="MsoPlainText">> > 1 file changed, 1 insertion(+), 5 deletions(-)</p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c</p>
<p class="MsoPlainText">> > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c</p>
<p class="MsoPlainText">> > index 2705f0cdd6da..af9b784eb78d 100644</p>
<p class="MsoPlainText">> > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c</p>
<p class="MsoPlainText">> > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c</p>
<p class="MsoPlainText">> > @@ -918,8 +918,6 @@ static const struct aca_info gfx_v9_4_3_aca_info =</p>
<p class="MsoPlainText">> > {</p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > static int gfx_v9_4_3_gpu_early_init(struct amdgpu_device *adev) {</p>
<p class="MsoPlainText">> > - u32 gb_addr_config;</p>
<p class="MsoPlainText">> > -</p>
<p class="MsoPlainText">> > adev->gfx.funcs = &gfx_v9_4_3_gfx_funcs;</p>
<p class="MsoPlainText">> > adev->gfx.ras = &gfx_v9_4_3_ras;</p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > @@ -928,9 +926,7 @@ static int gfx_v9_4_3_gpu_early_init(struct</p>
<p class="MsoPlainText">> amdgpu_device *adev)</p>
<p class="MsoPlainText">> > adev->gfx.config.sc_prim_fifo_size_backend = 0x100;</p>
<p class="MsoPlainText">> > adev->gfx.config.sc_hiz_tile_fifo_size = 0x30;</p>
<p class="MsoPlainText">> > adev->gfx.config.sc_earlyz_tile_fifo_size = 0x4C0;</p>
<p class="MsoPlainText">> > - gb_addr_config = RREG32_SOC15(GC, GET_INST(GC, 0),</p>
<p class="MsoPlainText">> regGB_ADDR_CONFIG);</p>
<p class="MsoPlainText">> > -</p>
<p class="MsoPlainText">> > - adev->gfx.config.gb_addr_config = gb_addr_config;</p>
<p class="MsoPlainText">> > + adev->gfx.config.gb_addr_config = GOLDEN_GB_ADDR_CONFIG;</p>
<p class="MsoPlainText">> ></p>
<p class="MsoPlainText">> > adev->gfx.config.gb_addr_config_fields.num_pipes = 1 <<</p>
<p class="MsoPlainText">> > REG_GET_FIELD(</p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</div>
</body>
</html>