All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/6] drm/i915: retrieve current fb config into new plane_config structure at init
Date: Mon, 16 Dec 2013 16:01:41 -0800	[thread overview]
Message-ID: <20131216160141.64ef8685@jbarnes-desktop> (raw)
In-Reply-To: <20131214110147.GJ9804@phenom.ffwll.local>

On Sat, 14 Dec 2013 12:01:47 +0100
Daniel Vetter <daniel@ffwll.ch> wrote:
> But I still think the fb lifetime management is a bit broken here and we
> need a few small changes:
> 
> 1. Right here in this loop we need to assign the fb from the plane_config
> ot the crtc->fb pointer and grab an fb reference for that.
> 
> If we don't do that we'll fall over for CONFIG_FB=n
> 
> A side-effect of that is that plane_config is now fairly redundant and we
> have the problem of cleaning up the fb referenced in there somehow
> (especially for CONFIG_FB=n). That's kinda the reason why I don't like it
> very much ...
> 
> The below points are for the next patch, just noting them here for the
> full picture. I haven't read carefully through that patch yet, so might
> all be correct already.
> 
> 2. We need to clean up fb reference in the plane config. Iirc your current
> patch 3 fails that for CONFIG_FB=n

Hm yeah the ownership is less clear in the CONFIG_FB=n case.  I think
the driver will own the buffer, and it'll get dropped on the first mode
set with a new buffer.  But even then there will be no process to deref
the object finally, so it'll stick around.  Hm... maybe just disable it
if CONFIG_FB=n is the right answer for now.

> 3. fbdev needs to grab one more reference (if it decides to steal the bios
> framebuffer) to make sure the fbdev survives. But besides that I don't
> think we need anything else - any subsequent modeset will update
> references correctly. And for the fbdev config we can rely on the fastboot
> modeset paths to ellide any real updates when fbcon sets its desired
> config (which hopefully matches what the bios has set up already).

I thought this was correct already... I'll post with the CONFIG_FB
changes and you can check again.  But I take a ref in the fbdev layer
on both the GEM object and the fb that we end up using, so it should
have the appropriate ref in that case.

> > -
> > -	drm_modeset_lock_all(dev);
> > -	drm_mode_config_reset(dev);
> > -	intel_modeset_setup_hw_state(dev, false);
> > -	drm_modeset_unlock_all(dev);
> 
> As mention in the dpio fixup patch I'd like this code block move to be
> split out in a small prep patch.

Ok will do.

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center

  reply	other threads:[~2013-12-16 23:59 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 [this message]
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
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=20131216160141.64ef8685@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 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.