From: Matt Roper <matthew.d.roper@intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 8/8] drm/i915/gen9+: Preserve old allocation from crtc_state.
Date: Thu, 20 Oct 2016 15:09:46 -0700 [thread overview]
Message-ID: <20161020220946.GE22654@intel.com> (raw)
In-Reply-To: <1476278901-15750-9-git-send-email-maarten.lankhorst@linux.intel.com>
On Wed, Oct 12, 2016 at 03:28:21PM +0200, Maarten Lankhorst wrote:
> This is the last bit required for making nonblocking modesets work
> correctly. The state in intel_crtc->hw_ddb is not updated until
> somewhere in atomic commit, while the previous crtc state should be
> accurate if the ddb hasn't changed.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Can we get rid of hw_ddb completely and always pull from old state? It
looks like the only other place it's still used is
skl_update_crtcs() -> skl_ddb_allocation_overlaps().
Matt
> ---
> drivers/gpu/drm/i915/intel_display.c | 2 +-
> drivers/gpu/drm/i915/intel_pm.c | 6 +++++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index d3d7d9dc14a8..93e16da0aa51 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14332,7 +14332,7 @@ static void skl_update_crtcs(struct drm_atomic_state *state,
> * new ddb allocation to take effect.
> */
> if (!skl_ddb_entry_equal(&cstate->wm.skl.ddb,
> - &intel_crtc->hw_ddb) &&
> + &to_intel_crtc_state(old_crtc_state)->wm.skl.ddb) &&
> !crtc->state->active_changed &&
> intel_state->wm_results.dirty_pipes != updated)
> vbl_wait = true;
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 18c62d1eea19..182e6b30b60a 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -3091,7 +3091,11 @@ skl_ddb_get_pipe_allocation_limits(struct drm_device *dev,
> * we currently hold.
> */
> if (!intel_state->active_pipe_changes) {
> - *alloc = to_intel_crtc(for_crtc)->hw_ddb;
> + /*
> + * alloc may be cleared by clear_intel_crtc_state,
> + * copy from old state to be sure
> + */
> + *alloc = to_intel_crtc_state(for_crtc->state)->wm.skl.ddb;
> return;
> }
>
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-10-20 22:11 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-12 13:28 [PATCH 0/8] drm/i915/gen9+: Atomic wm fixes Maarten Lankhorst
2016-10-12 13:28 ` [PATCH 1/8] drm/i915/skl+: Prepare for removing data rate from skl watermark state Maarten Lankhorst
2016-10-19 22:13 ` Matt Roper
2016-10-20 8:14 ` Maarten Lankhorst
2016-10-20 13:11 ` Paulo Zanoni
2016-10-24 7:00 ` Maarten Lankhorst
2016-10-12 13:28 ` [PATCH 2/8] drm/i915/skl+: Remove data_rate from watermark struct Maarten Lankhorst
2016-10-19 22:13 ` Matt Roper
2016-10-20 17:18 ` Paulo Zanoni
2016-10-20 17:20 ` Paulo Zanoni
2016-10-24 7:09 ` Maarten Lankhorst
2016-10-12 13:28 ` [PATCH 3/8] drm/i915/skl+: Remove minimum block allocation from crtc state Maarten Lankhorst
2016-10-19 22:13 ` Matt Roper
2016-10-20 17:24 ` Paulo Zanoni
2016-10-12 13:28 ` [PATCH 4/8] drm/i915/skl+: Clean up minimum allocations Maarten Lankhorst
2016-10-19 22:55 ` Matt Roper
2016-10-20 17:36 ` Paulo Zanoni
2016-10-12 13:28 ` [PATCH 5/8] drm/i915: Add a atomic evasion step to watermark programming Maarten Lankhorst
2016-10-19 23:15 ` Matt Roper
2016-10-19 23:26 ` Matt Roper
2016-10-20 6:05 ` Maarten Lankhorst
2016-10-20 17:51 ` Paulo Zanoni
2016-10-24 7:13 ` Maarten Lankhorst
2016-10-12 13:28 ` [PATCH 6/8] drm/i915/gen9+: Use the watermarks from crtc_state for everything Maarten Lankhorst
2016-10-20 17:55 ` Matt Roper
2016-10-20 17:59 ` Paulo Zanoni
2016-10-12 13:28 ` [PATCH 7/8] drm/i915/gen9+: Program watermarks as a separate step during evasion Maarten Lankhorst
2016-10-12 17:03 ` Lyude
2016-10-12 17:04 ` Lyude
2016-10-12 17:15 ` Lyude
2016-10-13 7:26 ` Maarten Lankhorst
2016-10-20 18:35 ` Matt Roper
2016-10-24 8:59 ` Maarten Lankhorst
2016-10-20 21:57 ` Matt Roper
2016-11-01 8:38 ` Maarten Lankhorst
2016-10-12 13:28 ` [PATCH 8/8] drm/i915/gen9+: Preserve old allocation from crtc_state Maarten Lankhorst
2016-10-20 22:09 ` Matt Roper [this message]
2016-10-24 8:49 ` 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=20161020220946.GE22654@intel.com \
--to=matthew.d.roper@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.