All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/6] drm/i915: unconditionally copy mode into crtc at boot time
Date: Fri, 13 Dec 2013 00:04:44 +0100	[thread overview]
Message-ID: <20131212230444.GU9804@phenom.ffwll.local> (raw)
In-Reply-To: <20131212144433.600fb66b@jbarnes-desktop>

On Thu, Dec 12, 2013 at 02:44:33PM -0800, Jesse Barnes wrote:
> On Thu, 12 Dec 2013 23:39:39 +0100
> Daniel Vetter <daniel@ffwll.ch> wrote:
> 
> > On Thu, Dec 12, 2013 at 01:29:39PM -0800, Jesse Barnes wrote:
> > > On Thu, 12 Dec 2013 22:21:29 +0100
> > > Daniel Vetter <daniel@ffwll.ch> wrote:
> > > 
> > > > On Thu, Dec 12, 2013 at 12:41:52PM -0800, Jesse Barnes wrote:
> > > > > The BIOS code will need this to properly inherit the mode.
> > > > > 
> > > > > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> > > > > ---
> > > > >  drivers/gpu/drm/i915/intel_display.c | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > > > > index af3717a..1ae3d44 100644
> > > > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > > > @@ -11175,7 +11175,7 @@ void intel_modeset_setup_hw_state(struct drm_device *dev,
> > > > >  	 */
> > > > >  	list_for_each_entry(crtc, &dev->mode_config.crtc_list,
> > > > >  			    base.head) {
> > > > > -		if (crtc->active && i915_fastboot) {
> > > > > +		if (crtc->active) {
> > > > 
> > > > That's just enabling half of the fastboot hack, so nacked.
> > > 
> > > This part isn't the hack, but is required for fastboot.  Without this,
> > > we'll end up with a bogus mode when we try to inherit from the BIOS.
> > > So if you want to nack this I'll have to put the other BIOS bits under
> > > fastboot as well.
> > 
> > crtc->config.pipe_src_w/h not good enough? I've thought that's what you've
> > used in the last iteration, hence my suprise why we suddenly need to
> > resurrect this hack here. All the information this hack exposes to
> > crtc->mode is available in the pipe config, so I really don't think you
> > neeed it.
> > 
> > Count me confused for now, please explain.
> 
> Yes, we read out all the data into the pipe config.  But if we don't
> put that data into the CRTC proper, any subsequent code that uses the
> CRTC mode will fail and think there's nothing there (resulting in fail
> at fbcon DPMS time for example).

If fbcon dpms is fumbling around in crtc->mode that's a bug (or at least a
pretty blantant layering violation). The one I know of is the crtc->hwmode
fumbling the vblank code does. But iirc Ville has patches for that
somewhere, and it's not really the worse offense in drm_irq.c.

We obviously need crtc->fb for our code to be happy (since we haven't
split off the primary planes yet). But anything beyond that shouldn't be
required. So I'm still confused ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  reply	other threads:[~2013-12-12 23:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-12 20:41 [PATCH 1/6] drm/i915: unconditionally copy mode into crtc at boot time Jesse Barnes
2013-12-12 20:41 ` [PATCH 2/6] drm/i915: retrieve current fb config into new plane_config structure at init Jesse Barnes
2013-12-14 11:01   ` Daniel Vetter
2013-12-17  0:01     ` Jesse Barnes
2013-12-17  8:38       ` Daniel Vetter
2013-12-17 21:04         ` Jesse Barnes
2013-12-17 21:19           ` Daniel Vetter
2013-12-12 20:41 ` [PATCH 3/6] drm/i915: Wrap the preallocated BIOS framebuffer and preserve for KMS fbcon v7 Jesse Barnes
2013-12-12 22:54   ` Daniel Vetter
2013-12-12 23:45     ` Jesse Barnes
2013-12-13 19:09     ` Jesse Barnes
2013-12-13 20:47       ` Daniel Vetter
2013-12-14  0:43         ` Jesse Barnes
2013-12-14 10:44           ` Daniel Vetter
2013-12-14 11:33             ` Daniel Vetter
2013-12-14 11:13   ` Daniel Vetter
2013-12-14 11:36     ` Daniel Vetter
2014-02-05 14:57       ` Jesse Barnes
2013-12-12 20:41 ` [PATCH 4/6] drm/i915: don't memset the fb buffer if preallocated Jesse Barnes
2013-12-14 11:28   ` Daniel Vetter
2013-12-17  0:17     ` Jesse Barnes
2013-12-17  7:56       ` Daniel Vetter
2013-12-12 20:41 ` [PATCH 5/6] drm/i915/vlv: move DPIO init earlier v2 Jesse Barnes
2013-12-14 10:47   ` Daniel Vetter
2013-12-17  0:02     ` Jesse Barnes
2013-12-12 20:41 ` [PATCH 6/6] drm/i915: inform drm_fb_helper if we abandoned a connected output Jesse Barnes
2013-12-12 22:30   ` Chris Wilson
2013-12-12 22:34     ` Jesse Barnes
2013-12-17  0:18     ` Jesse Barnes
2013-12-12 21:21 ` [PATCH 1/6] drm/i915: unconditionally copy mode into crtc at boot time Daniel Vetter
2013-12-12 21:29   ` Jesse Barnes
2013-12-12 22:39     ` Daniel Vetter
2013-12-12 22:44       ` Jesse Barnes
2013-12-12 23:04         ` Daniel Vetter [this message]
2013-12-17  0:35         ` Jesse Barnes
2013-12-17  8:00           ` Daniel Vetter

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=20131212230444.GU9804@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jbarnes@virtuousgeek.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.