1. 26 4月, 2013 5 次提交
    • D
      drm/i915: don't force matching p1 for g4x/ilk+ reduced pll settings · 4f4134ac
      Daniel Vetter 提交于
      g4x dplls and ilk+ pch plls have a separate field for the reduced p1
      setting, so this restriction does not apply. Only older platforms have
      the restriction that the p1 divisors must match.
      
      This unnecessary restriction has been introduced in
      
      commit cec2f356
      Author: Sean Paul <seanpaul@chromium.org>
      Date:   Tue Jan 10 15:09:36 2012 -0800
      
          drm/i915: Only look for matching clocks for LVDS downcloc
      
      Note that with lvds the p2 divisors _always_ match for LVDS, and we
      don't support auto-downclocking anywhere else. On eDP downclocking
      works with separate data m/n settings, using the same link clock.
      
      Cc: Sean Paul <seanpaul@chromium.org>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4f4134ac
    • D
      drm/i915: use pipe_config for lvds dithering · d8b32247
      Daniel Vetter 提交于
      Up to now we've relied on the bios to get this right for us. Let's try
      out whether our code has improved a bit, since we should dither
      always when the output bpp doesn't match the plane bpp.
      - gen5+ should be fine, since we only use the bios hint as an upgrade.
      - gen4 changes, since here dithering is still controlled in the lvds
        register.
      - gen2/3 has implicit dithering depeding upon whether you use 2 or 3
        lvds pairs (which makes sense, since it only supports 8bpc pipe
        outpu configurations).
      - hsw doesn't support lvds.
      
      v2: Remove redudant dither setting.
      
      v3: Completly drop reliance on dev_priv->lvds_dither.
      
      v4: Enable dithering on gen2/3 only when we have a 18bpp panel, since
      up-dithering to a 24bpp panel is not supported by the hw. Spotted by
      Ville.
      
      v5: Also only enable lvds port dithering on gen4 for 18bpp modes. In
      practice this only excludes dithering a 10bpc plane down for a 24bpp
      lvds panel. Not something we truly care about. Again noticed by Ville.
      
      v6: Actually git add.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d8b32247
    • D
      drm/i915: move dp clock computations to encoder->compute_config · c6bb3538
      Daniel Vetter 提交于
      With the exception of hsw, which has dedicated DP clocks which run at
      the fixed frequency already, and vlv, which doesn't have optmized
      pre-defined dp clock parameters (yet).
      
      v2: Ville asked me to elaborate a bit more on the longer-term goals
      wrt dpll settings computation:
      
      So ultimately my idea is that in the compute config stage first the crtc
      code puts the default platform pll limits into the pipe_config. Then
      encoders can either overwrite that limit structure with their own special
      stuff (mostly for lvds madness). Or they can pick some or all of the
      parameters (e.g. just the p2 switchover on hdmi, or all the clock
      parameters for dp/sdvo tv).
      
      Once that's done then the generic crtc code can fill out any missing bits
      (using the find_best_pll code) and then try to assign which pll to use (if
      it's a platform with shared plls). In the end the modeset could should
      simply write the computed stuff into registers and never be able to fail.
      
      Of course there's still a lot of data to be moved into pipe_config to make
      this all happen, hence some of the temporary ugliness.
      
      Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> (v1)
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c6bb3538
    • D
      drm/i915: shovel compute clock into crtc->config.dpll on ilk · 7429e9d4
      Daniel Vetter 提交于
      This was somehow lost in the pipe_config->dpll introduction in
      
      commit f47709a9
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Mar 28 10:42:02 2013 +0100
      
          drm/i915: create pipe_config->dpll for clock state
      
      While at it, extract a few small helpers for common computations.
      
      v2: Use the newly added helpers more thanks to Ville's trick to
      typedef the legacy intel_clock_t as the new-world struct dpll.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      7429e9d4
    • D
      drm/i915: consolidate pch pll computations a bit · cbbab5bd
      Daniel Vetter 提交于
      We need the dpll/fp/fp2 values only when we need a pch pll. So move
      them together with the code to acquire such a pll.
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      cbbab5bd
  2. 25 4月, 2013 7 次提交
  3. 24 4月, 2013 6 次提交
  4. 23 4月, 2013 9 次提交
  5. 22 4月, 2013 3 次提交
  6. 20 4月, 2013 1 次提交
  7. 19 4月, 2013 9 次提交