1. 13 11月, 2013 9 次提交
  2. 07 11月, 2013 2 次提交
  3. 22 10月, 2013 1 次提交
    • D
      drm/sysfs: sort out minor and connector device object lifetimes. · 5bdebb18
      Dave Airlie 提交于
      So drm was abusing device lifetimes, by having embedded device structures
      in the minor and connector it meant that the lifetime of the internal drm
      objects (drm_minor and drm_connector) were tied to the lifetime of the device
      files in sysfs, so if something kept those files opened the current code
      would kfree the objects and things would go downhill from there.
      
      Now in reality there is no need for these lifetimes to be so intertwined,
      especailly with hotplugging of devices where we wish to remove the sysfs
      and userspace facing pieces before we can unwind the internal objects due
      to open userspace files or mmaps, so split the objects out so the struct
      device is no longer embedded and do what fbdev does and just allocate
      and remove the sysfs inodes separately.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5bdebb18
  4. 17 10月, 2013 1 次提交
  5. 14 10月, 2013 1 次提交
  6. 01 10月, 2013 2 次提交
  7. 19 9月, 2013 1 次提交
  8. 17 9月, 2013 2 次提交
    • D
      drm/i915: re-layout intel_panel.c to obey 80 char limit · 9084e7d2
      Daniel Vetter 提交于
      Especially intel_gmch_panel_fitting was shifting way too much over the
      right edge and also was way too long. So extract two helpers, one for
      gen4+ and one for gen2/3. Now the entire thing is again almost
      readable ...
      
      Spurred by checkpatch freaking out about a Ville's pipeconfig rework
      in intel_panel.c
      
      Otherwise just two lines that needed appropriate breaking.
      
      Not functional change in this patch.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Damien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9084e7d2
    • V
      drm/i915: Add explicit pipe src size to pipe config · 37327abd
      Ville Syrjälä 提交于
      Rather that mess about with hdisplay/vdisplay from requested_mode, add
      explicit pipe src size information to pipe config.
      
      Now requested_mode is only really relevant for dvo/sdvo output timings.
      For everything else either adjusted_mode or pipe src size should be
      used.
      
      In many places where we end up using pipe source size, we should
      actually use the primary plane size, but we don't currently store
      that information explicitly. As long as we treat primaries as full
      screen only, we can get away with this. Eventually when we move
      primaries over to drm_plane, we need to fix it all up.
      
      v2: Add a comment to explain what pipe_src_{w,h} are
          Add a note about primary planes to commit message
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      37327abd
  9. 09 9月, 2013 1 次提交
  10. 04 9月, 2013 1 次提交
    • V
      drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode · 4c6df4b4
      Ville Syrjälä 提交于
      intel_fixed_panel_mode() overwrote the adjusted_mode with the fixed mode
      only partially. Notably it forgot to copy over the sync flags. The LVDS code however programmed the hardware with the sync flags from fixed mode, and then later the pipe config comparison obviously failed as we
      filled out the adjusted_mode in get_config from the real registers.
      
      Just call drm_mode_copy() in intel_fixed_panel_mode() to copy over the
      whole thing, and then just use adjusted_mode in the LVDS code to figure
      out which sync settings the hardware needs.
      
      Also constify the fixed_mode argument to intel_fixed_panel_mode().
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4c6df4b4
  11. 03 9月, 2013 1 次提交
    • I
      drm/i915: fix lvds/dp panel fitter setting · a52690e4
      Imre Deak 提交于
      If need to enable the panel fitter, the crtc timings have to be
      programmed according to the panel's native (fixed) mode. This isn't the
      case atm, since after the encoder changes adjusted_mode to fixed
      mode the crtc_* timing fields of adjusted_mode will stay at their original
      non-native values that the user passed in. This results in a corrupted
      output.
      
      One exception is when we have a second pass of computing encoder configs
      due to bandwidth limitation, since then we'll set adjusted_mode.crtc_*
      fields to the fixed mode values set in the first pass; so in this case
      things will work out.
      
      Fix this by updating the adjusted_mode.crtc_* fields when we set the
      fixed panel mode.
      
      This regression has been introduced in
      
      commit 135c81b8
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun Jul 21 21:37:09 2013 +0200
      
          drm/i915: clean up crtc timings computation
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a52690e4
  12. 07 8月, 2013 2 次提交
  13. 05 8月, 2013 1 次提交
    • D
      drm/i915: clean up crtc timings computation · 135c81b8
      Daniel Vetter 提交于
      In the old days of the crtc helpers we've only had the encoder and
      crtc ->mode_fixup callbacks. So when the lvds connector wanted to
      adjust the crtc timings it had to set a driver-private mode flag to
      tell the crtc mode fixup code to not overwrite them with the generic
      ones.
      
      When converting things to the new infrastructure I've kept the entire
      logic and only moved the flag to pipe_config->timings_set. But this
      logic is pretty tricky and already caused regressions:
      
      commit 21d8a475
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Jul 12 08:07:30 2013 +0200
      
          drm/i915: fix pfit regression for non-autoscaled resolutions
      
      So take advantage of the flexibility our own modeset infrastructure
      affords us and prefill default crtc timings. This allows us to rip out
      ->timings_set. Note that we overwrite things again when retrying the
      pipe config computation due to bandwidth constraints to avoid bogus
      crtc timings if the encoder only does relative adjustments (which is
      how the pfit code works). Only a theoretical concern though since
      platforms where we retry (pch-split platforms) do not need
      adjustements (since only the old gmch pfit needs that). But let's
      better be safe than sorry.
      
      Since we now initialize the crtc timings before calling the
      encoder->compute_config functions the crtc initialization in the gmch
      pfit code is now redudant and so can be removed.
      
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@gmail.com>
      [danvet: Add a paragraph to the commit message to explain why we can
      ditch the crtc timings initialization call from the gmch pfit code, to
      answer a question from Rodrigo's review.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      135c81b8
  14. 20 7月, 2013 1 次提交
  15. 13 7月, 2013 1 次提交
    • D
      drm/i915: fix pfit regression for non-autoscaled resolutions · 21d8a475
      Daniel Vetter 提交于
      I.e. for letter/pillarboxing. For those cases we need to adjust the
      mode a bit, but Jesse gmch pfit refactoring in
      
      commit 2dd24552
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Thu Apr 25 12:55:01 2013 -0700
      
          drm/i915: factor out GMCH panel fitting code and use for eDP v3
      
      broke that by reordering the computation of the gmch pfit state with
      the block of code that prepared the adjusted mode for it and told the
      modeset core not to overwrite the adjusted mode with default settings.
      
      We might want to switch around the core code to just fill in defaults,
      but this code predates the pipe_config modeset rework. And in the old
      crtc helpers we did not have a suitable spot to do this.
      
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Hans de Bruin <jmdebruin@xmsnet.nl>
      Reported-and-tested-by: NHans de Bruin <jmdebruin@xmsnet.nl>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      21d8a475
  16. 23 5月, 2013 1 次提交
  17. 30 4月, 2013 2 次提交
  18. 26 4月, 2013 3 次提交
  19. 25 4月, 2013 3 次提交
  20. 18 4月, 2013 1 次提交
  21. 02 4月, 2013 1 次提交
  22. 28 3月, 2013 2 次提交