<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:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ks_c_5601-1987">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C68F95.29D1C430">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="time"/>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:EnvelopeVis/>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:¹ÙÅÁ;
        panose-1:2 3 6 0 0 1 1 1 1 1;
        mso-font-alt:Batang;
        mso-font-charset:129;
        mso-generic-font-family:roman;
        mso-font-pitch:variable;
        mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
        {font-family:±¼¸²;
        panose-1:2 11 6 0 0 1 1 1 1 1;
        mso-font-alt:Gulim;
        mso-font-charset:129;
        mso-generic-font-family:modern;
        mso-font-pitch:variable;
        mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
        {font-family:"\@¹ÙÅÁ";
        panose-1:2 3 6 0 0 1 1 1 1 1;
        mso-font-charset:129;
        mso-generic-font-family:roman;
        mso-font-pitch:variable;
        mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
        {font-family:"\@±¼¸²";
        panose-1:2 11 6 0 0 1 1 1 1 1;
        mso-font-charset:129;
        mso-generic-font-family:modern;
        mso-font-pitch:variable;
        mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        text-autospace:none;
        word-break:break-hangul;
        font-size:10.0pt;
        mso-bidi-font-size:12.0pt;
        font-family:¹ÙÅÁ;
        mso-hansi-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";
        mso-font-kerning:1.0pt;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:±¼¸²;
        mso-ascii-font-family:±¼¸²;
        mso-fareast-font-family:±¼¸²;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:windowtext;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
/* Page Definitions */
@page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:99.25pt 3.0cm 3.0cm 3.0cm;
        mso-header-margin:42.55pt;
        mso-footer-margin:49.6pt;
        mso-paper-source:0;
        layout-grid:18.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Ç¥ÁØ Ç¥";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--><!--[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=KO link=blue vlink=purple style='tab-interval:40.0pt'>
<div class=Section1 style='layout-grid:18.0pt'>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>For better explanation, I break down the page fault
handling into steps:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>1) There is a page fault caused by DMA operation
initiated by SPU and DMA is suspended.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>2) The interrupt handler 'spu_irq_class_<span
class=GramE>1(</span>)/__<span class=SpellE>spu_trap_data_map</span>()' is<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>called</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> and it just wakes up the sleeping <span
class=SpellE>spe</span>-manager thread.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>3) <span class=GramE>by</span> PPE scheduler, the
corresponding bottom half,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>spu_irq_class_1_<span class=GramE>bottom(</span>)
is called in process context and DMA is restarted.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>There can be a quite large time gap between 2) and
3) and I found<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>the</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> following problem:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>Between 2) and 3) If the context becomes unbound,
3) is not executed<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>because</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> when the <span class=SpellE>spe</span>-manager
thread is awaken, the context is already<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>saved</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>. (This situation can happen, for example,
when a high priority <span class=SpellE>spe</span><o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>thread</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> newly started in that time gap)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>But the actual problem is that the corresponding
SPU context does not work even<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>if</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> it is bound again to a SPU.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>Besides I can see the following warning in mambo
simulator when the context becomes<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>unbound(</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>in <span class=SpellE>save_mfc_cmd</span>()),
i.e. when unbind() is called for the context after step</span></font><st1:time
Hour="14" Minute="58"><font face=±¼¸²><span lang=EN-US style='mso-bidi-font-size:
10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;mso-bidi-font-family:Arial'>
2) before 3)</span></font></st1:time><font face=±¼¸²><span lang=EN-US
style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'> :<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>'WARNING: 61392752237: SPE2: MFC_CMD_QUEUE channel
count of 15 is inconsistent with number of available DMA queue entries of 16'<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>After I go through available documents, I found
that the problem is<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>because</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> the suspended DMA is not restarted when it
is bound again.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>So I fixed the kernel codes like following:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>Before:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>static</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> inline void <span class=SpellE>restore_mfc_cntl</span>(<span
class=SpellE>struct</span> <span class=SpellE>spu_state</span> *<span
class=SpellE>csa</span>, <span class=SpellE>struct</span> <span class=SpellE>spu</span>
*<span class=SpellE>spu</span>)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>{<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
class=SpellE><span class=GramE>struct</span></span> spu_priv2 __<span
class=SpellE>iomem</span> *priv2 = <span class=SpellE>spu</span>->priv2;<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span>/*
Restore, Step 72:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
style='mso-spacerun:yes'> </span>*<span
style='mso-spacerun:yes'> </span>Restore the MFC_CNTL
register for the CSA.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
style='mso-spacerun:yes'> </span>*/<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span>out_<span
class=GramE>be64(</span>&priv2-><span class=SpellE>mfc_control_RW</span>,
<span class=SpellE>csa</span>->priv2.mfc_control_RW);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
class=SpellE><span class=GramE>eieio</span></span><span class=GramE>(</span>);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>After:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>static</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'> inline void <span class=SpellE>restore_mfc_cntl</span>(<span
class=SpellE>struct</span> <span class=SpellE>spu_state</span> *<span
class=SpellE>csa</span>, <span class=SpellE>struct</span> <span class=SpellE>spu</span>
*<span class=SpellE>spu</span>)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>{<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
class=SpellE><span class=GramE>struct</span></span> spu_priv2 __<span
class=SpellE>iomem</span> *priv2 = <span class=SpellE>spu</span>->priv2;<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span>/*
Restore, Step 72:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
style='mso-spacerun:yes'> </span>*<span
style='mso-spacerun:yes'> </span>Restore the MFC_CNTL
register for the CSA.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
style='mso-spacerun:yes'> </span>*/<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span>out_<span
class=GramE>be64(</span>&priv2-><span class=SpellE>mfc_control_RW</span>,
<span class=SpellE>csa</span>->priv2.mfc_control_RW);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
class=SpellE><span class=GramE>eieio</span></span><span class=GramE>(</span>);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span><span
class=GramE>if(</span> (<span class=SpellE>csa</span>->priv2.mfc_control_RW
& MFC_CNTL_SUSPEND_DMA_QUEUE_MASK)) {<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:2'> </span>out_<span
class=GramE>be64(</span>&priv2-><span class=SpellE>mfc_control_RW</span>,
MFC_CNTL_RESTART_DMA_COMMAND);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:2'> </span><span
class=SpellE><span class=GramE>eieio</span></span><span class=GramE>(</span>);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-tab-count:1'> </span>}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>It seems to work.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>Now I have two <span class=GramE>questions :</span><o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>1) My fix is <span class=GramE>correct ?</span> <span
class=GramE>or</span> are there any side effects of it ?<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>2) Why there is following warning on mambo
simulator? :<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><span style='mso-spacerun:yes'>
</span>'WARNING: 61392752237: SPE2: MFC_CMD_QUEUE channel count of 15 is
inconsistent with number of available DMA queue entries of 16'<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'>Regards,<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'>Jang.</span></font></span><font face=±¼¸²><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:
Arial;mso-bidi-font-family:Arial'><o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:10.0pt;font-family:±¼¸²;mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial'><o:p> </o:p></span></font></p>
</div>
</body>
</html>