drm/i915/dp: Fix the t11_t12 panel power cycle delay from VBT read
authorManasi Navare <manasi.d.navare@intel.com>
Mon, 26 Jun 2017 19:21:44 +0000 (12:21 -0700)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 27 Jun 2017 09:55:15 +0000 (12:55 +0300)
When we read the VBT t11_t12 value for panel power cycle delay,
it is a zero based value so we need to 100ms to that. And then it
needs to be multiplied by 10 to store it in 100usecs unit same as
SW VBT.

v3:
* Add it as part of series
v2:
* Change the VBT value instead of HW readout and pp div (Ville Syrjala)

Reviewed-by: Ville Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1498504905-21067-1-git-send-email-manasi.d.navare@intel.com
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drivers/gpu/drm/i915/intel_dp.c

index 2eb6e0ff143a9a17463de1a4984c370b424ee264..95ff5d6784729f0740913164a5058f275e8cb44b 100644 (file)
@@ -5259,6 +5259,11 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
        intel_pps_dump_state("cur", &cur);
 
        vbt = dev_priv->vbt.edp.pps;
+       /* T11_T12 delay is special and actually in units of 100ms, but zero
+        * based in the hw (so we need to add 100 ms). But the sw vbt
+        * table multiplies it with 1000 to make it in units of 100usec,
+        * too. */
+       vbt.t11_t12 += 100 * 10;
 
        /* Upper limits from eDP 1.3 spec. Note that we use the clunky units of
         * our hw here, which are all in 100usec. */