<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Radeon: evergreen Atombios in loop during initialization on ppc64"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59982#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Radeon: evergreen Atombios in loop during initialization on ppc64"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59982">bug 59982</a>
              from <span class="vcard"><a class="email" href="mailto:lucaskt@linux.vnet.ibm.com" title="Lucas Kannebley Tavares <lucaskt@linux.vnet.ibm.com>"> <span class="fn">Lucas Kannebley Tavares</span></a>
</span></b>
        <pre>Thanks for clarifying those things!

Well, I ran into a brand new set of questions while pursuing this.

<span class="quote">>   0006: 370000            SET_ATI_PORT  0000  (INDIRECT_IO_MM)
> Select the mmio register aperture.</span >

This sounds like selecting BARs, but from what I see, Region 0 would be the
framebuffer (256M) and Region 2 would be the MMIO registers. Or how are those
addresses mapped from within the adapter? Or does that mean that there are
multiple register banks and you're picking one?

<span class="quote">>  0009: 5214              CALL_TABLE  14  
>(ASIC_StaticPwrMgtStatusChange/SetUniphyInstance)
>SetUniphyInstance updates the offset for the selected crtc based on args.ucCRTC >parameter.</span >

How are parameters passed here? Does it get the same parameters that the first
call received? I take it, the reference for param[00] there means ucCRTC, then.
Is that it?

<span class="quote">>   0010: 3d650001          COMP   param[00]  [..X.]  <-  01
> This checks the params to see is we are enabling the lock (args.ucEnable = 
> ATOM_ENABLE) or disabling the lock (args.ucEnable = ATOM_DISABLE)</span >

Ok, so, why is now param[00] referencing ucEnable? What is the reference to
ucCRTC here?

<span class="quote">>  0034: 492f00            JUMP_NotEqual  002f
> If the bit is high, we jump back to 0x002f.  If the bit is low, we're done.</span >

So, the bit being low here means we don't have an update pending. Does it being
high mean that the lock is still in effect (i.e. the CLEAR commands didn't take
the disables down?)? 

<span class="quote">>  0044: 3a0000            SET_REG_BLOCK  0000
>  0047: 5b                EOT</span >

This seems to me like stack cleanup and return (I'm guessing EOT is End Of
Table). Is that correct?

On the kernel driver side, I couldn't find who is calling, or what's the
purpose of the crtc_prepare and crtc_commit functions, which are the only ones
apparently using this call (atombios_lock_crtc). What are they meant to do?

Thanks</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>