From: Chi Ding <chix.ding@intel.com>
To: yetundex.adebisi@intel.com, maarten.lankhorst@linux.intel.com,
ville.syrjala@linux.intel.com, matthew.d.roper@intel.com,
intel-gfx@lists.freedesktop.org, isg-gms@eclists.intel.com
Cc: root <root@localhost.localdomain>, Chi Ding <chix.ding@intel.com>
Subject: [RFC 0/8] Add two-stage watermark programming for VLV/CHV (v5)
Date: Thu, 23 Jun 2016 14:36:20 +0200 [thread overview]
Message-ID: <1466685388-16504-1-git-send-email-chix.ding@intel.com> (raw)
From: root <root@localhost.localdomain>
In addition to calculating final watermarks, we also pre-calculate
a set of intermediate watermark values at atomic check time. These
intermediate watermarks are a combination of the watermarks for the
old state and the new state; they should satisfy the requirements of
both states which means they can be programmed immediately when we
commit the atomic state (without waiting for a vblank). Once the
vblank does happen, we can then re-program watermarks to the more
optimal final value.
The DSPARB Display Arbitration Control register is double buffered.
The FIFO repartitioning happens atomically with plane updates but
how the register double buffering works isn't clear at the moment.
It needs to be figured out to fix the watermark updates.
v2: Split the first patch of v1 into the following patches
- Remove unused parameters from intel_plane_wm_parameters.
- Rename skl_plane_id to wm_plane_id.
- Move fifo_size from intel_plane_wm_parameters to vlv_wm_state.
v3: Split the 3rd patch of v2 into the following two patches
- Move fifo_size from intel_plane_wm_parameters to vlv_wm_state
- Change to use intel_crtc_state instead of base CRTC object
- The patch headlines are also changed to fit the requirement.
v4:
- Split the 3rd patch of v3 "Move fifo_size from intel_plane_wm_parameters
to vlv_wm_state" to add a new one "return EINVAL when computed
watermark exceeds system limitation"
- Add a new patch "Move active watermarks into intel_crtc->wm.active.vlv"
to be consistent with what we do on other platforms
- Change the patch "Add intermediate field in intel_crtc_wm_state and handlers
for two-level watermark" to use macro drm_atomic_crtc_state_for_each_plane_state
to simplify the code
- Change the patch "Add optimal field in intel_crtc_wm_state" to
use mutex in vlv_update_wm to make assigning currently active wm_state
and merging multiple wm_state become one atomic operation
v5: recreated the patches because v4 patches were created with drm-intel
kernel 4.7.0-rc1+ and can't be applied on the current version 4.7.0-rc4+
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Chi Ding <chix.ding@intel.com>
Maarten Lankhorst (8):
drm/i915: Remove unused parameters from intel_plane_wm_parameters
drm/i915: Rename skl_wm_plane_id to wm_plane_id
drm/i915/vlv: Move fifo_size from intel_plane_wm_parameters to
vlv_wm_state
drm/i915/vlv: return EINVAL when computed watermark exceeds system
limitation
drm/i915/vlv: Change to use intel_crtc_state instead of base CRTC
object
drm/i915/vlv: Add optimal field in intel_crtc_wm_state
drm/i915/vlv: Move active watermarks into intel_crtc->wm.active.vlv
drm/i915/vlv: Add intermediate field in intel_crtc_wm_state and
handlers for two-level watermark
drivers/gpu/drm/i915/intel_display.c | 8 +-
drivers/gpu/drm/i915/intel_drv.h | 52 ++----
drivers/gpu/drm/i915/intel_pm.c | 326 +++++++++++++++++++++++------------
3 files changed, 232 insertions(+), 154 deletions(-)
--
1.8.0.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2016-06-23 12:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-23 12:36 Chi Ding [this message]
2016-06-23 12:36 ` [RFC 1/8] drm/i915: Remove unused parameters from intel_plane_wm_parameters Chi Ding
2016-06-23 12:36 ` [RFC 2/8] drm/i915: Rename skl_wm_plane_id to wm_plane_id Chi Ding
2016-06-23 12:36 ` [RFC 3/8] drm/i915/vlv: Move fifo_size from intel_plane_wm_parameters to vlv_wm_state Chi Ding
2016-06-23 12:36 ` [RFC 4/8] drm/i915/vlv: return EINVAL when computed watermark exceeds system limitation Chi Ding
2016-06-23 12:36 ` [RFC 5/8] drm/i915/vlv: Change to use intel_crtc_state instead of base CRTC object Chi Ding
2016-06-23 12:36 ` [RFC 6/8] drm/i915/vlv: Add optimal field in intel_crtc_wm_state Chi Ding
2016-06-23 12:36 ` [RFC 7/8] drm/i915/vlv: Move active watermarks into intel_crtc->wm.active.vlv Chi Ding
2016-06-23 12:36 ` [RFC 8/8] drm/i915/vlv: Add intermediate field in intel_crtc_wm_state and handlers for two-level watermark Chi Ding
2016-06-28 10:44 ` Maarten Lankhorst
2016-06-24 10:11 ` ✗ Ro.CI.BAT: failure for Add two-stage watermark programming for VLV/CHV (v5) Patchwork
2016-07-19 15:14 ` [PATCH] drm/i915/vlv: Fix off-by-1 error in calculating num_levels Maarten Lankhorst
2016-07-19 15:25 ` Ville Syrjälä
2016-07-19 15:50 ` Chris Wilson
2016-07-19 16:21 ` Ville Syrjälä
2016-07-25 11:32 ` Maarten Lankhorst
2016-07-25 11:51 ` Ville Syrjälä
2016-07-25 12:46 ` Maarten Lankhorst
2016-07-25 13:42 ` Ville Syrjälä
2016-07-20 9:16 ` Maarten Lankhorst
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1466685388-16504-1-git-send-email-chix.ding@intel.com \
--to=chix.ding@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=isg-gms@eclists.intel.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthew.d.roper@intel.com \
--cc=root@localhost.localdomain \
--cc=ville.syrjala@linux.intel.com \
--cc=yetundex.adebisi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox