1. 08 11月, 2014 5 次提交
    • D
      drm/i915/skl: Program the DDB allocation · 8211bd5b
      Damien Lespiau 提交于
      v2: Adapt to the planes/cursor split
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      8211bd5b
    • D
      drm/i915/skl: Allocate DDB portions for display planes · b9cec075
      Damien Lespiau 提交于
      v2: Fix the 3rd plane/cursor logic (Pradeep Bhat)
      v3: Fix one-by-one error in the DDB allocation code
      v4: Rebase on top of the skl_pipe_pixel_rate() argument change
      v5: Replace the available/start/end output parameters of
          skl_ddb_get_pipe_allocation_limits() by a single ddb entry constify
          a few arguments
          Make nth_active_pipe 0 indexed
          Use sizeof(variable) instead of sizeof(type)
          (Ville)
      v6: Use the for_each_crtc() macro instead of list_for_each_entry()
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b9cec075
    • P
      drm/i915/skl: SKL Watermark Computation · 2d41c0b5
      Pradeep Bhat 提交于
      This patch implements the watermark algorithm and its necessary
      functions. Two function pointers skl_update_wm and
      skl_update_sprite_wm are provided. The skl_update_wm will update
      the watermarks for the crtc provided as an argument and then
      checks for change in DDB allocation for other active pipes and
      recomputes the watermarks for those Pipes and planes as well.
      Finally it does the register programming for all dirty pipes.
      The trigger of the Watermark double buffer registers will have
      to be once the plane configurations are done by the caller.
      
      v2: fixed the divide-by-0 error in the results computation func.
          Also reworked the PLANE_WM register values computation func to
          make it more compact. Incorporated all other review comments
          from Damien.
      
      v3: Changed the skl_compute_plane_wm function to now return success
          or failure. Also the result blocks and lines are computed here
          instead of in skl_compute_wm_results function.
      
      v4: Adjust skl_ddb_alloc_changed() to the new planes/cursor split
          (Damien)
      
      v5: Reworked the affected functions to implement new plane/cursor
          split.
      
      v6: Rework the logic that triggers the DDB allocation and WM computation
          of skl_update_other_pipe_wm() to not depend on non-computed DDB
          values.
          Always give a valid cursor_width (at boot it's 0) to keep the
          invariant that we consider the cursor plane always enabled.
          Otherwise we end up dividing by 0 in skl_compute_plane_wm()
          (Damien Lespiau)
      
      v7: Spell out allocation
          skl_ddb_ functions should have the ddb as first argument
          Make the skl_ddb_alloc_changed() parameters const
          (Damien)
      
      v8: Rebase on top of the crtc->primary changes
      
      v9: Split the staging results structure to not exceed the 1Kb stack
          allocation in skl_update_wm()
      
      v10: Make skl_pipe_pixel_rate() take a pointer to the pipe config
           Add a comment about overflow considerations for skl_wm_method1()
           Various additions of const
           Various use of sizeof(variable) instead of sizeof(type)
           Various move of variable definitons to a narrower scope
           Zero initialize some stack allocated structures to make sure we
           don't have garbage in case we don't write all the values
           (Ville)
      
      v11: Remove non-necessary default number of blocks/lines when the plane
           is disabled (Ville)
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2d41c0b5
    • P
      drm/i915/skl: Definition of SKL WM param structs for pipe/plane · 2ac96d2a
      Pradeep Bhat 提交于
      This patch defines the structures needed for computation of
      watermarks of pipes and planes for SKL.
      
      v2: Incorporated Damien's review comments and removed unused fields
          in structs for future features like rotation, drrs and scaling.
          The skl_wm_values struct is now made more generic across planes
          and cursor planes for all pipes.
      
      v3: implemented the plane/cursor split.
      
      v4: Change the wm union back to a structure (Ville, Daniel)
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2ac96d2a
    • P
      drm/i915/skl: Read the Memory Latency Values for WM computation · 2af30a5c
      Pradeep Bhat 提交于
      This patch reads the memory latency values for all the 8 levels for
      SKL. These values are needed for the Watermark computation.
      
      v2: Incorporated the review comments from Damien on register
          indentation.
      
      v3: Updated the code to use the sandybridge_pcode_read for reading
          memory latencies for GEN9.
      
      v4: Don't put gen 9 in the middle of an ordered list of ifs
          (Damien)
      
      v5: take the rps.hw_lock around sandybridge_pcode_read() (Damien)
      
      v6: Use gen >= 9 in the pcode_read() function for data1.
          Move the defines near the gen6 ones and prefix them with PCODE.
          Remove unused timeout define (the pcode_read() code has a larger
          timeout already).
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2af30a5c
  2. 24 10月, 2014 3 次提交
  3. 03 10月, 2014 1 次提交
  4. 01 10月, 2014 1 次提交
  5. 29 9月, 2014 3 次提交
  6. 24 9月, 2014 6 次提交
  7. 23 9月, 2014 2 次提交
  8. 19 9月, 2014 3 次提交
  9. 04 9月, 2014 1 次提交
  10. 03 9月, 2014 14 次提交
  11. 11 8月, 2014 1 次提交