<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - Backlight flicker after suspend on certain Intel CherryTrail tablets"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111095#c21">Comment # 21</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - Backlight flicker after suspend on certain Intel CherryTrail tablets"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111095">bug 111095</a>
              from <span class="vcard"><a class="email" href="mailto:jwrdegoede@fedoraproject.org" title="Hans de Goede <jwrdegoede@fedoraproject.org>"> <span class="fn">Hans de Goede</span></a>
</span></b>
        <pre>(In reply to Jani Nikula from <a href="show_bug.cgi?id=111095#c13">comment #13</a>)
<span class="quote">> Hmm, I think the VBT says it uses the CPU PWM.</span >

I have access to both a Miix320 and an Irbis TW90 for testing, both my models
use a DSI panel. AFAIK DSI panels always either the Crystal Cove PMIC PWM, or
the LPSS PWM (which is part of the SoC).

I guess you are basing this "I think the VBT says it uses the CPU PWM" on the
dev_priv->vbt.dsi.config->pwm_blc bit ?  When that is PPS_BLC_SOC then the LPSS
PWM is used, not the PWM which is part of the display controller. Also see:
drivers/gpu/drm/i915/display/intel_panel.c which has:

        } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
                if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) {
                        panel->backlight.setup = pwm_setup_backlight;
                        panel->backlight.enable = pwm_enable_backlight;
                        panel->backlight.disable = pwm_disable_backlight;
                        panel->backlight.set = pwm_set_backlight;
                        panel->backlight.get = pwm_get_backlight;
                } else {
                        ...

And pwm_setup_backlight() does:

        /* Get the PWM chip for backlight control */
        panel->backlight.pwm = pwm_get(dev->dev, "pwm_backlight");

Which means it uses the pwm subsystem to talk to either the CRC or LPSS pwm
controller.

So AFAICT dumping the registers of the display-block PWM controller does not
provide any useful info here. I actually wonder if the displayblock on CHT
devices has the PWM controller at all.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>