1. 23 3月, 2017 3 次提交
  2. 14 3月, 2017 2 次提交
  3. 13 3月, 2017 1 次提交
  4. 09 3月, 2017 1 次提交
  5. 08 3月, 2017 1 次提交
  6. 06 3月, 2017 1 次提交
  7. 17 2月, 2017 1 次提交
  8. 01 2月, 2017 1 次提交
  9. 30 1月, 2017 2 次提交
  10. 19 1月, 2017 1 次提交
  11. 15 12月, 2016 2 次提交
    • V
      drm: Nuke fb->pixel_format · 438b74a5
      Ville Syrjälä 提交于
      Replace uses of fb->pixel_format with fb->format->format.
      Less duplicated information is a good thing.
      
      Note that coccinelle failed to eliminate the
      "/* fourcc format */" comment from drm_framebuffer.h, so I had
      to do that part manually.
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       drm_helper_mode_fill_fb_struct(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       i9xx_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       ironlake_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       skylake_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *a;
      struct drm_framebuffer b;
      @@
      (
      - a->pixel_format
      + a->format->format
      |
      - b.pixel_format
      + b.format->format
      )
      
      @@
      struct drm_plane_state *a;
      struct drm_plane_state b;
      @@
      (
      - a->fb->pixel_format
      + a->fb->format->format
      |
      - b.fb->pixel_format
      + b.fb->format->format
      )
      
      @@
      struct drm_crtc *CRTC;
      @@
      (
      - CRTC->primary->fb->pixel_format
      + CRTC->primary->fb->format->format
      |
      - CRTC->primary->state->fb->pixel_format
      + CRTC->primary->state->fb->format->format
      )
      
      @@
      struct drm_mode_set *set;
      @@
      (
      - set->fb->pixel_format
      + set->fb->format->format
      |
      - set->crtc->primary->fb->pixel_format
      + set->crtc->primary->fb->format->format
      )
      
      @@
      @@
       struct drm_framebuffer {
      	 ...
      -	 uint32_t pixel_format;
      	 ...
       };
      
      v2: Fix commit message (Laurent)
          Rebase due to earlier removal of many fb->pixel_format uses,
          including the 'fb->format = drm_format_info(fb->format->format);'
          snafu
      v3: Adjusted the semantic patch a bit and regenerated due to code
          changes
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1481751175-18463-1-git-send-email-ville.syrjala@linux.intel.com
      438b74a5
    • V
      drm: Replace drm_format_plane_cpp() with fb->format->cpp[] · 353c8598
      Ville Syrjälä 提交于
      Replace drm_format_plane_cpp(fb->pixel_format) with just
      fb->format->cpp[]. Avoids the expensive format info lookup.
      
      @@
      struct drm_framebuffer *a;
      struct drm_framebuffer b;
      expression E;
      @@
      (
      - drm_format_plane_cpp(a->pixel_format, E)
      + a->format->cpp[E]
      |
      - drm_format_plane_cpp(b.pixel_format, E)
      + b.format->cpp[E]
      )
      
      @@
      struct drm_plane_state *a;
      struct drm_plane_state b;
      expression E;
      @@
      (
      - drm_format_plane_cpp(a->fb->pixel_format, E)
      + a->fb->format->cpp[E]
      |
      - drm_format_plane_cpp(b.fb->pixel_format, E)
      + b.fb->format->cpp[E]
      )
      
      @@
      struct drm_framebuffer *a;
      identifier T;
      expression E;
      @@
        T = a->pixel_format
      <+...
      - drm_format_plane_cpp(T, E)
      + a->format->cpp[E]
      ...+>
      
      @@
      struct drm_framebuffer b;
      identifier T;
      expression E;
      @@
        T = b.pixel_format
      <+...
      - drm_format_plane_cpp(T, E)
      + b.format->cpp[E]
      ...+>
      
      v2: Rerun spatch due to code changes
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Suggested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1481751057-18123-1-git-send-email-ville.syrjala@linux.intel.com
      353c8598
  12. 24 11月, 2016 3 次提交
  13. 17 11月, 2016 1 次提交
  14. 15 11月, 2016 4 次提交
  15. 11 11月, 2016 1 次提交
  16. 09 11月, 2016 1 次提交
  17. 08 11月, 2016 1 次提交
  18. 01 11月, 2016 1 次提交
  19. 31 10月, 2016 3 次提交
  20. 22 10月, 2016 1 次提交
  21. 20 10月, 2016 1 次提交
    • C
      drm/i915/gen9: Get rid of redundant watermark values · d8c0fafc
      cpaul@redhat.com 提交于
      Now that we've make skl_wm_levels make a little more sense, we can
      remove all of the redundant wm information. Up until now we'd been
      storing two copies of all of the skl watermarks: one being the
      skl_pipe_wm structs, the other being the global wm struct in
      drm_i915_private containing the raw register values. This is confusing
      and problematic, since it means we're prone to accidentally letting the
      two copies go out of sync. So, get rid of all of the functions
      responsible for computing the register values and just use a single
      helper, skl_write_wm_level(), to convert and write the new watermarks on
      the fly.
      
      Changes since v1:
      - Fixup skl_write_wm_level()
      - Fixup skl_wm_level_from_reg_val()
      - Don't forget to copy *active to intel_crtc->wm.active.skl
      Changes since v2:
      - Fix usage of wrong cstate
      Changes since v3 (by Paulo):
      - Rebase
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> (v2)
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NLyude <cpaul@redhat.com>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1476814189-6062-1-git-send-email-paulo.r.zanoni@intel.com
      d8c0fafc
  22. 17 10月, 2016 1 次提交
  23. 14 10月, 2016 5 次提交
  24. 07 9月, 2016 1 次提交
    • L
      drm/i915/skl: Don't try to update plane watermarks if they haven't changed · ccebc23b
      Lyude 提交于
      i915 sometimes needs to disable planes in the middle of an atomic
      commit, and then reenable them later in the same commit. Because of
      this, we can't make the assumption that the state of the plane actually
      changed. Since the state of the plane hasn't actually changed, neither
      have it's watermarks. And if the watermarks hasn't changed then we
      haven't populated skl_results with anything, which means we'll end up
      zeroing out a plane's watermarks in the middle of the atomic commit
      without restoring them later.
      
      Simple reproduction recipe:
       - Get a SKL laptop, launch any kind of X session
       - Get two extra monitors
       - Keep hotplugging both displays (so that the display configuration
         jumps from 1 active pipe to 3 active pipes and back)
       - Eventually underrun
      
      Changes since v1:
       - Fix incorrect use of "it's"
      Changes since v2:
       - Add reproduction recipe
      Signed-off-by: NLyude <cpaul@redhat.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Fixes: 62e0fb88 ("drm/i915/skl: Update plane watermarks atomically during plane updates")
      Signed-off-by: NLyude <cpaul@redhat.com>
      Testcase: kms_plane
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1472488288-27280-1-git-send-email-cpaul@redhat.com
      Cc: drm-intel-fixes@lists.freedesktop.org
      ccebc23b