Author: dumbbell
Date: Sat Aug 24 16:41:14 2013
New Revision: 254796
URL: http://svnweb.freebsd.org/changeset/base/254796

Log:
  drm/i915: Import Linux commit 71244653a8fb0f46bc12ae421f1d5f72af6a75da
  
  Author: Daniel Vetter <daniel.vet...@ffwll.ch>
  Date:   Mon Jun 4 18:39:20 2012 +0200
  
      drm/i915: adjusted_mode->clock in the dp mode_fixup
  
      ... instead of changing mode->clock, which we should leave as-is.
  
      After the previous patch we only touch that if it's a panel, and then
      adjusted mode->clock equals adjusted_mode->clock. Outside of
      intel_dp.c we only use ajusted_mode->clock in the mode_set functions.
  
      Within intel_dp.c we only use it to calculate the dp dithering
      and link bw parameters, so that's the only thing we need to fix
      up.
  
      As a temporary ugliness (until the cleanup in the next patch) we
      pass the adjusted_mode into dp_dither for both parameters (because
      that one still looks at mode->clock).
  
      Note that we do overwrite adjusted_mode->clock with the selected dp
      link clock, but that only happens after we've calculated everything we
      need based on the dotclock of the adjusted output configuration.
  
      Outside of intel_dp.c only intel_display.c uses adjusted_mode->clock,
      and that stays the same after this patch (still equals the selected dp
      link clock). intel_display.c also needs the actual dotclock (as
      target_clock), but that has been fixed up in the previous patch.
  
      v2: Adjust the debug message to also use adjusted_mode->clock.
  
      Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
      Reviewed-by: Jesse Barnes <jbar...@virtuousgeek.org>
      Signed-off-by: Daniel Vetter <daniel.vet...@ffwll.ch>

Modified:
  head/sys/dev/drm2/i915/intel_dp.c

Modified: head/sys/dev/drm2/i915/intel_dp.c
==============================================================================
--- head/sys/dev/drm2/i915/intel_dp.c   Sat Aug 24 16:17:33 2013        
(r254795)
+++ head/sys/dev/drm2/i915/intel_dp.c   Sat Aug 24 16:41:14 2013        
(r254796)
@@ -691,14 +691,9 @@ intel_dp_mode_fixup(struct drm_encoder *
                intel_fixed_panel_mode(intel_dp->panel_fixed_mode, 
adjusted_mode);
                intel_pch_panel_fitting(dev, DRM_MODE_SCALE_FULLSCREEN,
                                        mode, adjusted_mode);
-               /*
-                * the mode->clock is used to calculate the Data&Link M/N
-                * of the pipe. For the eDP the fixed clock should be used.
-                */
-               mode->clock = intel_dp->panel_fixed_mode->clock;
        }
 
-       if (!intel_dp_adjust_dithering(intel_dp, mode, adjusted_mode))
+       if (!intel_dp_adjust_dithering(intel_dp, adjusted_mode, adjusted_mode))
                return false;
 
        bpp = adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 24;
@@ -707,7 +702,7 @@ intel_dp_mode_fixup(struct drm_encoder *
                for (clock = 0; clock <= max_clock; clock++) {
                        int link_avail = 
intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count);
 
-                       if (intel_dp_link_required(mode->clock, bpp)
+                       if (intel_dp_link_required(adjusted_mode->clock, bpp)
                                        <= link_avail) {
                                intel_dp->link_bw = bws[clock];
                                intel_dp->lane_count = lane_count;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to