public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 0/6] Enabling DRRS support in the kernel
Date: Thu, 5 Dec 2013 07:52:42 -0800	[thread overview]
Message-ID: <20131205075242.78b4e6df@jbarnes-desktop> (raw)
In-Reply-To: <20131128131409.GI27344@phenom.ffwll.local>

On Thu, 28 Nov 2013 14:14:09 +0100
Daniel Vetter <daniel@ffwll.ch> wrote:
> > 	[Vandana/Pradeep]	This patch series is for seamless DRRS
> > 	support and has to be a separate path from mode set as we just
> > 	toggle the PIPE_CONF_RR_SWTICH for seamless RR transition without
> > 	flicker. Complete modeset using setCrtc will result in partial
> > 	blanking or flicker. We are not implementing fast boot as part of
> > 	this series.  Most eDP panels today which support multiple refresh
> > 	rates, support seamless DRRS. This means that hardware capability
> > 	is made use of by toggling a bit in pipe config to switch between
> > 	refresh rates on the fly. The patch series is aimed to take
> > 	advantage of this capability to switch refresh rates based on
> > 	idleness or video playback requirement. Hence, we chose the
> > 	connector attribute/ set property path.  Also in order to support
> > 	the Media refresh rates of 50/48 we thought it incorrect to
> > 	populate those modes in probed_mode list as those values are not
> > 	from the EDID. So in order for User space to know the media
> > 	refresh rates supported we have exposed a set_property interface
> > 	which makes User space aware of these media refresh rates. Also we
> > 	do not intend to do a complete mode set on media use cases in
> > 	which case we think using setCrtc is not needed. Using setCrtc
> > 	will invariably result in intermittant blanking or flicker which
> > 	cannot be avoided, and gives undesirable effect during playback.
> > 	Seamless DRRS doesn't need a complete modeset and hence no flicker
> > 	or temporary blanking. Changing the toggle RR bit in PIPE_CONF is
> > 	faster. Also since BDW has only single M/N/TU register the current
> > 	code takes care of it easily. Kindly let us know your opinion.
> > 	Since Seamless DRRS for eDP is separate path from modeset we can
> > 	keep the connector property attribute as it is.
> 
> First the technical stuff:
> 
> - Adding the additional modes to the mode list is imo totally ok and as
>   the design intents. We are already adding other modes from the vbt here
>   if those are available. The only restriction is that the kernel may not
>   add modes which don't work. But as long as the vbt tells us that 48Hz
>   will work we can (and imo should) use it.
> 
> - Second changing the frequency changes the refresh rate. Atm both our
>   userspace and the kernel support code assume that this can only be done
>   through a SetCrtc call. So adjusting the dotclock is actually the right
>   interface and we don't need any additional property.
> 
> Now the more political stuff:
> 
> - We have the long-term goal of solid fastboot support. We've the designed
>   we've picked that actually means 95% effort to get flicker-free SetCrtc
>   going and 5% actual code for fastboot. We're not there yet, there's only
>   a preview available which is disabled by default and uses a few hacks.
>   But generally all features that are relevant need to use the new
>   infrastructure and help move things forward.
> 
> - Upstream has a time horizon of 5-10 years for the kernel/userspace
>   interface. Which means quick hacks are not allowed. And in my opinion
>   your property is a quick hack, which nicely simplified the
>   implementation.
> 
> So in short I know that my request extends the scope of your patches. But
> upstream also imposes differing constraints than a product tree.

It should be possible to still merge the automatic, in-kernel only DRRS
bits though, right?  Then work on making dotclock/refresh changes from
mode sets flicker free (shouldn't be a massive amount of work).

-- 
Jesse Barnes, Intel Open Source Technology Center

      reply	other threads:[~2013-12-05 15:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19  6:06 [PATCH 0/6] Enabling DRRS support in the kernel Vandana Kannan
2013-11-19  6:06 ` [PATCH 1/6] drm/i915: Adding VBT fields to support eDP DRRS feature Vandana Kannan
2013-11-19  6:07 ` [PATCH 2/6] drm/i915: Parse EDID probed modes for DRRS support Vandana Kannan
2013-11-19  6:07 ` [PATCH 3/6] drm/i915: Add support for DRRS set property to switch RR Vandana Kannan
2013-11-19  6:07 ` [PATCH 4/6] drm/i915: Idleness detection for DRRS Vandana Kannan
2013-11-19  6:07 ` [PATCH 5/6] drm/i915: Support to read DMRRS field from VBT structure Vandana Kannan
2013-11-19  6:07 ` [PATCH 6/6] drm/i915: Adding support for DMRRS for media playback Vandana Kannan
2013-11-26 18:26 ` [PATCH 0/6] Enabling DRRS support in the kernel Daniel Vetter
2013-11-28 10:22   ` Kannan, Vandana
2013-11-28 13:14     ` Daniel Vetter
2013-12-05 15:52       ` Jesse Barnes [this message]

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=20131205075242.78b4e6df@jbarnes-desktop \
    --to=jbarnes@virtuousgeek.org \
    --cc=daniel@ffwll.ch \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox