1. 13 10月, 2015 1 次提交
  2. 05 10月, 2015 1 次提交
  3. 30 9月, 2015 6 次提交
    • M
      drm/i915/skl: Simplify wm structures slightly (v2) · 4969d33e
      Matt Roper 提交于
      A bunch of SKL watermark-related structures have the cursor plane as a
      separate entry from the rest of the planes.  Since a previous patch
      updated I915_MAX_PLANES such that those plane arrays now have a slot for
      the cursor, update the code to use the new slot in the existing plane
      arrays and kill off the cursor-specific structures.
      
      There shouldn't be any functional change here; this is just shuffling
      around how the data is stored in some of the data structures.  The whole
      patch is generated with Coccinelle via the following semantic patch:
      
              @@ struct skl_pipe_wm_parameters WMP; @@
              - WMP.cursor
              + WMP.plane[PLANE_CURSOR]
      
              @@ struct skl_pipe_wm_parameters *WMP; @@
              - WMP->cursor
              + WMP->plane[PLANE_CURSOR]
      
              @@ @@
              struct skl_pipe_wm_parameters {
              ...
              - struct intel_plane_wm_parameters cursor;
              ...
              };
      
              @@
              struct skl_ddb_allocation DDB;
              expression E;
              @@
              - DDB.cursor[E]
              + DDB.plane[E][PLANE_CURSOR]
      
              @@
              struct skl_ddb_allocation *DDB;
              expression E;
              @@
              - DDB->cursor[E]
              + DDB->plane[E][PLANE_CURSOR]
      
              @@ @@
              struct skl_ddb_allocation {
              ...
              - struct skl_ddb_entry cursor[I915_MAX_PIPES];
              ...
              };
      
              @@
              struct skl_wm_values WMV;
              expression E1, E2;
              @@
              (
              - WMV.cursor[E1][E2]
              + WMV.plane[E1][PLANE_CURSOR][E2]
              |
              - WMV.cursor_trans[E1]
              + WMV.plane_trans[E1][PLANE_CURSOR]
              )
      
              @@
              struct skl_wm_values *WMV;
              expression E1, E2;
              @@
              (
              - WMV->cursor[E1][E2]
              + WMV->plane[E1][PLANE_CURSOR][E2]
              |
              - WMV->cursor_trans[E1]
              + WMV->plane_trans[E1][PLANE_CURSOR]
              )
      
              @@ @@
              struct skl_wm_values {
              ...
              - uint32_t cursor[I915_MAX_PIPES][8];
              ...
              - uint32_t cursor_trans[I915_MAX_PIPES];
              ...
              };
      
              @@ struct skl_wm_level WML; @@
              (
              - WML.cursor_en
              + WML.plane_en[PLANE_CURSOR]
              |
              - WML.cursor_res_b
              + WML.plane_res_b[PLANE_CURSOR]
              |
              - WML.cursor_res_l
              + WML.plane_res_l[PLANE_CURSOR]
              )
      
              @@ struct skl_wm_level *WML; @@
              (
              - WML->cursor_en
              + WML->plane_en[PLANE_CURSOR]
              |
              - WML->cursor_res_b
              + WML->plane_res_b[PLANE_CURSOR]
              |
              - WML->cursor_res_l
              + WML->plane_res_l[PLANE_CURSOR]
              )
      
              @@ @@
              struct skl_wm_level {
              ...
              - bool cursor_en;
              ...
              - uint16_t cursor_res_b;
              - uint8_t cursor_res_l;
              ...
              };
      
      v2: Use a PLANE_CURSOR enum entry rather than making the code reference
          I915_MAX_PLANES or I915_MAX_PLANES+1, which was confusing.  (Ander)
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4969d33e
    • Ł
      drm/i915/bdw: Check for slice, subslice and EU count for BDW · 91bedd34
      Łukasz Daniluk 提交于
      Added checks for available slices, subslices and EUs for Broadwell. This
      information is filled in intel_device_info and is available to user with
      GET_PARAM.
      Added checks for enabled slices, subslices and EU for Broadwell. This
      information is based on available counts but takes power gated slices
      into account. It can be read in debugfs.
      Introduce new register defines that contain information on slices on
      Broadwell.
      
      v2:
      - Introduce GT_SLICE_INFO register
      - Change Broadwell sseu_device_status function to use GT_SLICE_INFO
        register instead of RPCS register
      - Undo removal of dev_priv variables in Cherryview and Gen9
        sseu_device_satus functions
      
      v3:
      - Fix style issues
      
      v4:
      - Corrected comment
      - Reverted reordering of defines
      
      Cc: Jeff Mcgee <jeff.mcgee@intel.com>
      Cc: Arun Siluvery <arun.siluvery@linux.intel.com>
      Signed-off-by: NŁukasz Daniluk <lukasz.daniluk@intel.com>
      Reviewed-by: NJeff McGee <jeff.mcgee@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      91bedd34
    • R
      drm/i915: Fix comparison bug · 2d05fa16
      Rasmus Villemoes 提交于
      ->stolen->start has type u64 aka unsigned long long; relying on the
      difference (effectively cast to int) for sorting is wrong.
      
      It wouldn't be a problem in practice if the values compared are always
      within INT_MAX of each other (so that the difference is actually
      representable in an int), but 440fd528 ("drm/mm: Support 4 GiB and
      larger ranges") strongly suggests that's not the case.
      
      Note: atm we don't support more than about 1G of stolen, so this is
      impossible currenlty.
      Signed-off-by: NRasmus Villemoes <linux@rasmusvillemoes.dk>
      [danvet: Add note that this is impossible currently.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2d05fa16
    • M
      drm/i915: Add CD and pixel clock information · 1170f28c
      Mika Kahola 提交于
      This patch adds information of current and maximum CD clock
      frequency and pixel clock frequency information on 'i915_debugfs.c'.
      
      v2:
      - combined seperate patches for current CD clock, maximum CD clock
        and maximum pixel clock
      - space added between the frequency value and the unit
      Signed-off-by: NMika Kahola <mika.kahola@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1170f28c
    • V
      drm/i915: s/_CURACNTR/CURCNTR(PIPE_A)/ · 0b87c24e
      Ville Syrjälä 提交于
      v2: Deal with _CURABASE too
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      0b87c24e
    • V
  4. 25 9月, 2015 1 次提交
  5. 23 9月, 2015 1 次提交
  6. 10 9月, 2015 1 次提交
  7. 04 9月, 2015 1 次提交
  8. 02 9月, 2015 1 次提交
  9. 31 8月, 2015 1 次提交
  10. 26 8月, 2015 1 次提交
  11. 15 8月, 2015 5 次提交
  12. 14 8月, 2015 1 次提交
  13. 11 8月, 2015 1 次提交
  14. 22 7月, 2015 1 次提交
  15. 21 7月, 2015 2 次提交
  16. 15 7月, 2015 1 次提交
  17. 13 7月, 2015 1 次提交
  18. 08 7月, 2015 1 次提交
  19. 06 7月, 2015 2 次提交
    • P
      drm/i915: FBC doesn't need struct_mutex anymore · c80ac854
      Paulo Zanoni 提交于
      Everything is covered either by fbc.lock or mm.stolen_lock, and
      intel_fbc.c is already responsible for grabbing the appropriate locks
      when it needs them.
      Reviewed-by: NChris wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c80ac854
    • P
      drm/i915: add the FBC mutex · 25ad93fd
      Paulo Zanoni 提交于
      Make sure we're not going to have weird races in really weird cases
      where a lot of different CRTCs are doing rendering and modesets at the
      same time.
      
      With this change and the stolen_lock from the previous patch, we can
      start removing the struct_mutex locking we have around FBC in the next
      patches.
      
      v2:
       - Rebase (6 months later)
       - Also lock debugfs and stolen.
      v3:
       - Don't lock a single value read (Chris).
       - Replace lockdep assertions with WARNs (Daniel).
       - Improve commit message.
       - Don't forget intel_pre_plane_update() locking.
      v4:
       - Don't remove struct_mutex at intel_pre_plane_update() (Chris).
       - Add comment regarding locking dependencies (Chris).
       - Rebase after the stolen code rework.
       - Rebase again after drm-intel-nightly changes.
      v5:
       - Rebase after the new stolen_lock patch.
      
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v4)
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      25ad93fd
  20. 03 7月, 2015 1 次提交
  21. 29 6月, 2015 1 次提交
  22. 27 6月, 2015 1 次提交
  23. 26 6月, 2015 2 次提交
  24. 24 6月, 2015 1 次提交
  25. 16 6月, 2015 3 次提交
  26. 15 6月, 2015 1 次提交