<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <blockquote type="cite" style="color: #000000;">
      <blockquote type="cite" style="color: #000000;">
        <pre wrap="">Think about two situations where:-
- Monitor supports scrambling and scdc, but we will not enable it, as 
the current mode is 1080P@148 MHz
- Monitor supports scrambling and scdc, and we will enable it, as the 
current mode is 4k@596 Mhz

To differentiate between these two, we have:
config->hdmi_scrambling which shows scrambling enabled on monitor by source
display_info->hdmi.scdc->scrambling which indicates monitor supports 
scrambling

Does it make sense ? Or you prefer some changes here ?
</pre>
      </blockquote>
      <pre wrap="">Is there any harm in disabling scrambling twice? If not I'd say just disable it
on every modeset if it is not needed. Then there's no need to know the previous
state at the moment we actually enable/disable it.
</pre>
    </blockquote>
    <pre wrap="">> Agreed. Just explicitly set the state to what we want every time.

- Cool, so I would load the crtc_state only once (in compute_config), and then disable it every time during ddi_disable. 
Thanks for this clarification guys, I will send a follow up patch series addressing all the comments soon. 

Regards
Shashank
</pre>
    <div class="moz-cite-prefix">On 2/23/2017 6:51 PM, Ville Syrjälä
      wrote:<br>
    </div>
    <blockquote cite="mid:20170223132135.GV31595@intel.com" type="cite">
      <blockquote type="cite" style="color: #000000;">
        <blockquote type="cite" style="color: #000000;">
          <pre wrap=""><span class="moz-txt-citetags">> > </span>Actually design is slightly different. The state's hdmi_scrambling/clock 
<span class="moz-txt-citetags">> > </span>bool's indicate that the sink's
<span class="moz-txt-citetags">> > </span>scrambling/high_clock_ratio is enabled/set by source (and needs to be 
<span class="moz-txt-citetags">> > </span>disabled), whereas connecotr's->display_info->scdc.scrambling
<span class="moz-txt-citetags">> > </span>is to indicate monitor's capability to support scrambling and scdc
</pre>
        </blockquote>
        <pre wrap=""><span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>The crtc_state shouldn't be changed to represent changes in the hardware state.
<span class="moz-txt-citetags">> </span>It is computed during the atomic check phase, and after that it should represent
<span class="moz-txt-citetags">> </span>the state that needs to be commited. Perhaps the code in hdmi_compute_config()
<span class="moz-txt-citetags">> </span>just needs to take the previous state into account?
</pre>
      </blockquote>
      <pre wrap="">The previous state is irrelevant. We just need to compute these things
based on what we're going to do next. And this stuff doesn't really
track the state of the sink, rather it tracks the state of the source.
The sink state just follows along to match. So in the readout path we
just want to read out the state of the source.

</pre>
      <blockquote type="cite" style="color: #000000;">
        <pre wrap=""><span class="moz-txt-citetags">> </span>
</pre>
        <blockquote type="cite" style="color: #000000;">
          <pre wrap=""><span class="moz-txt-citetags">> > </span>
<span class="moz-txt-citetags">> > </span>Think about two situations where:-
<span class="moz-txt-citetags">> > </span>- Monitor supports scrambling and scdc, but we will not enable it, as 
<span class="moz-txt-citetags">> > </span>the current mode is 1080P@148 MHz
<span class="moz-txt-citetags">> > </span>- Monitor supports scrambling and scdc, and we will enable it, as the 
<span class="moz-txt-citetags">> > </span>current mode is 4k@596 Mhz
<span class="moz-txt-citetags">> > </span>
<span class="moz-txt-citetags">> > </span>To differentiate between these two, we have:
<span class="moz-txt-citetags">> > </span>config->hdmi_scrambling which shows scrambling enabled on monitor by source
<span class="moz-txt-citetags">> > </span>display_info->hdmi.scdc->scrambling which indicates monitor supports 
<span class="moz-txt-citetags">> > </span>scrambling
<span class="moz-txt-citetags">> > </span>
<span class="moz-txt-citetags">> > </span>Does it make sense ? Or you prefer some changes here ?
</pre>
        </blockquote>
        <pre wrap=""><span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Is there any harm in disabling scrambling twice? If not I'd say just disable it
<span class="moz-txt-citetags">> </span>on every modeset if it is not needed. Then there's no need to know the previous
<span class="moz-txt-citetags">> </span>state at the moment we actually enable/disable it.
</pre>
      </blockquote>
      <pre wrap="">Agreed. Just explicitly set the state to what we want every time.
</pre>
    </blockquote>
    <br>
  </body>
</html>