<div dir="ltr">I believe this patch should remove the gen9 part of ilk_get_aux_clock_divider.<div><br></div><div>Also there it just returns 0, but here it returns 0 or 1 depending on the index.</div><div>This also is incoherent with the commit description.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 4, 2014 at 4:26 AM, Damien Lespiau <span dir="ltr"><<a href="mailto:damien.lespiau@intel.com" target="_blank">damien.lespiau@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We need to provide a vfunc that will make the code in intel_dp_aux_ch()<br>
loop once to start the AUX transaction. The return value (clock divider)<br>
is unused on SKL, so just return 1.<br>
<br>
Signed-off-by: Damien Lespiau <<a href="mailto:damien.lespiau@intel.com">damien.lespiau@intel.com</a>><br>
---<br>
 drivers/gpu/drm/i915/intel_dp.c | 14 +++++++++++++-<br>
 1 file changed, 13 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c<br>
index a95fb47..4560ced 100644<br>
--- a/drivers/gpu/drm/i915/intel_dp.c<br>
+++ b/drivers/gpu/drm/i915/intel_dp.c<br>
@@ -489,6 +489,16 @@ static uint32_t vlv_get_aux_clock_divider(struct intel_dp *intel_dp, int index)<br>
        return index ? 0 : 100;<br>
 }<br>
<br>
+static uint32_t skl_get_aux_clock_divider(struct intel_dp *intel_dp, int index)<br>
+{<br>
+       /*<br>
+        * SKL doesn't need us to program the AUX clock divider (Hardware will<br>
+        * derive the clock from CDCLK automatically). We still implement the<br>
+        * get_aux_clock_divider vfunc to plug-in into the existing code.<br>
+        */<br>
+       return index ? 0 : 1;<br>
+}<br>
+<br>
 static uint32_t i9xx_get_aux_send_ctl(struct intel_dp *intel_dp,<br>
                                      bool has_aux_irq,<br>
                                      int send_bytes,<br>
@@ -4726,7 +4736,9 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,<br>
        int type;<br>
<br>
        /* intel_dp vfuncs */<br>
-       if (IS_VALLEYVIEW(dev))<br>
+       if (INTEL_INFO(dev)->gen >= 9)<br>
+               intel_dp->get_aux_clock_divider = skl_get_aux_clock_divider;<br>
+       else if (IS_VALLEYVIEW(dev))<br>
                intel_dp->get_aux_clock_divider = vlv_get_aux_clock_divider;<br>
        else if (IS_HASWELL(dev) || IS_BROADWELL(dev))<br>
                intel_dp->get_aux_clock_divider = hsw_get_aux_clock_divider;<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.3.1<br>
<br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org">Intel-gfx@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Rodrigo Vivi</div><div>Blog: <a href="http://blog.vivi.eng.br" target="_blank">http://blog.vivi.eng.br</a></div><div> </div>
</div>