From: Keith Packard <keithp@keithp.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Share the common work of disabling active FBC before updating
Date: Thu, 07 Jul 2011 13:52:26 -0700 [thread overview]
Message-ID: <yuny609lsol.fsf@aiko.keithp.com> (raw)
In-Reply-To: <1310070619-19730-1-git-send-email-chris@chris-wilson.co.uk>
[-- Attachment #1.1: Type: text/plain, Size: 1692 bytes --]
On Thu, 7 Jul 2011 21:30:19 +0100, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Upon review, all path share the same dependencies for updating the
> registers and so we can benefit from sharing the code and checking
> early.
yeah, looks good.
> + if (intel_fbc_enabled(dev)) {
> + /* We update FBC along two paths, after changing fb/crtc
> + * configuration (modeswitching) and after page-flipping
> + * finishes. For the latter, we know that not only did
> + * we disable the FBC at the start of the page-flip
> + * sequence, but also more than one vblank has passed.
> + *
> + * For the former case of modeswitching, it is possible
> + * to switch between two FBC valid configurations
> + * instantaneously so we do need to disable the FBC
> + * before we can modify its control registers. We also
> + * have to wait for the next vblank for that to take
> + * effect.
> + *
> + * In the scenario that we go from a valid to invalid
> + * and then back to valid FBC configuration we have
> + * no strict enforcement that a vblank occurred since
> + * disabling the FBC. However, along all current pipe
> + * disabling paths we do need to wait for a vblank at
> + * some point...
> + */
> + DRM_DEBUG_KMS("disabling active FBC for update\n");
> + intel_disable_fbc(dev);
> + intel_wait_for_vblank(dev, intel_crtc->pipe);
> + }
> +
> intel_enable_fbc(crtc, 500);
Should this path queue a worker function to re-enable FBC after 'a
while'? Is there any particular reason it needs to be done synchronously
here? That would avoid a 'wait_for_vblank' call with the mutex held.
--
keith.packard@intel.com
[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2011-07-07 20:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-07 11:48 FBC fixes for review and testing Chris Wilson
2011-07-07 11:48 ` [PATCH 1/6] drm/i915: Remove vestigial pitch from post-gen2 FBC control routines Chris Wilson
2011-07-07 16:12 ` Jesse Barnes
2011-07-07 11:48 ` [PATCH 2/6] drm/i915: Use of a CPU fence is mandatory to update FBC regions upon CPU writes Chris Wilson
2011-07-07 16:13 ` Jesse Barnes
2011-07-07 11:48 ` [PATCH 3/6] drm/i915: Set persistent-mode for ILK/SNB framebuffer compression Chris Wilson
2011-07-07 16:14 ` Jesse Barnes
2011-07-07 11:48 ` [PATCH 4/6] drm/i915: Disable FBC across page-flipping Chris Wilson
2011-07-07 16:15 ` Jesse Barnes
2011-07-07 11:48 ` [PATCH 5/6] drm/i915: Only export the generic intel_disable_fbc() interface Chris Wilson
2011-07-07 16:16 ` Jesse Barnes
2011-07-07 17:19 ` [PATCH] drm/i915: Replace direct calls to vfunc.disable_fbc with intel_disable_fbc() Chris Wilson
2011-07-07 11:48 ` [PATCH 6/6] drm/i915: Perform intel_enable_fbc() from a delayed task Chris Wilson
2011-07-07 16:20 ` Jesse Barnes
2011-07-07 17:12 ` [PATCH] drm/i915: Flush any scheduled tasks during unload Chris Wilson
2011-07-07 15:45 ` FBC fixes for review and testing Keith Packard
2011-07-07 20:30 ` [PATCH] drm/i915: Share the common work of disabling active FBC before updating Chris Wilson
2011-07-07 20:52 ` Keith Packard [this message]
2011-07-07 21:14 ` Chris Wilson
2011-07-07 21:26 ` Keith Packard
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=yuny609lsol.fsf@aiko.keithp.com \
--to=keithp@keithp.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/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.