From: "Vivi, Rodrigo" <rodrigo.vivi@intel.com>
To: "przanoni@gmail.com" <przanoni@gmail.com>
Cc: "daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/i915: fbdev_set_par reliably invalidating frontbuffer
Date: Thu, 9 Jul 2015 16:47:21 +0000 [thread overview]
Message-ID: <1436460782.2893.1.camel@intel.com> (raw)
In-Reply-To: <CA+gsUGQJ5tkDfA-J7iY5v3mSyFcVmkhOccTmnaCmcZtbSAGrBA@mail.gmail.com>
On Thu, 2015-07-09 at 10:10 -0300, Paulo Zanoni wrote:
> 2015-07-08 20:24 GMT-03:00 Rodrigo Vivi <rodrigo.vivi@intel.com>:
> > fbdev_set_par is called when fbcon is taking over control.
> > In the past frontbuffer was being invalidated on
> > set_to_gtt_domain, but it moved to set_domain fixing that case,
> > but left this behind.
> >
> > Commit that changed this fixing set_domain case was:
> >
> > commit 031b698a77a70a6c394568034437b5486a44e868
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date: Fri Jun 26 19:35:16 2015 +0200
> >
> > drm/i915: Unconditionally do fb tracking invalidate in set_domain
> >
> > Since we are also invalidating in other fbdev cases this one
> > was masked here. At least until now that I found this corner
> > case: On boot with plymouth doing a splash screen
> > when returning to the console frontbuffer wans't being invalidated
> > causing missed screen updates with PSR enabled.
> >
> > So this patch fixes this issue.
> >
> > v2: Make invalidate directly and unconditionally and
> > fix commit message indicating the set_domain fix
> > as pointed out by Daniel.
> >
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_fbdev.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> > index 2a1724e..44c9ccc 100644
> > --- a/drivers/gpu/drm/i915/intel_fbdev.c
> > +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> > @@ -63,8 +63,8 @@ static int intel_fbdev_set_par(struct fb_info *info)
> > * now until we solve this for real.
> > */
> > mutex_lock(&fb_helper->dev->struct_mutex);
> > - ret = i915_gem_object_set_to_gtt_domain(ifbdev->fb->obj,
> > - true);
> > + if (ifbdev->fb->obj)
>
> I'm confused. Why are we doing this check now? If this is actually
> needed, then the current set_to_gtt_domain() call will blow up too. So
> this would be 2 different patches: one preventing the explosion, the
> other doing obj_invalidate. Unless we don't need the obj check.
I'm confused as well. I could swear I was just putting back an "if" that
was already here. No idea where this came from and don't see a need for
it... v++ on the way...
>
> > + intel_fb_obj_invalidate(ifbdev->fb->obj, ORIGIN_GTT);
> > mutex_unlock(&fb_helper->dev->struct_mutex);
> > }
> >
> > --
> > 2.1.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-07-09 16:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-07 23:28 [PATCH 1/7] drm/i915: Add origin to frontbuffer tracking flush Rodrigo Vivi
2015-07-07 23:28 ` [PATCH 2/7] drm/i915: PSR: Flush means invalidate + flush Rodrigo Vivi
2015-07-08 13:58 ` Paulo Zanoni
2015-07-08 23:21 ` [PATCH] " Rodrigo Vivi
2015-07-09 12:58 ` Paulo Zanoni
2015-07-07 23:28 ` [PATCH 3/7] drm/i915: PSR: dirty fb operation flushsing frontbuffer Rodrigo Vivi
2015-07-08 9:47 ` Daniel Vetter
2015-07-08 14:15 ` Paulo Zanoni
2015-07-08 23:22 ` [PATCH] drm/i915: " Rodrigo Vivi
2015-07-09 13:04 ` Paulo Zanoni
2015-07-09 15:25 ` Daniel Vetter
2015-07-07 23:28 ` [PATCH 4/7] drm/i915: PSR: Remove Low Power HW tracking mask Rodrigo Vivi
2015-07-08 14:26 ` Paulo Zanoni
2015-07-07 23:28 ` [PATCH 5/7] drm/i915: PSR: Increase idle_frames Rodrigo Vivi
2015-07-08 14:32 ` Paulo Zanoni
2015-07-07 23:28 ` [PATCH 6/7] drm/i915: fbdev_set_par reliably invalidating frontbuffer Rodrigo Vivi
2015-07-08 9:44 ` Daniel Vetter
2015-07-08 23:24 ` [PATCH] " Rodrigo Vivi
2015-07-09 13:10 ` Paulo Zanoni
2015-07-09 16:47 ` Vivi, Rodrigo [this message]
2015-07-09 16:56 ` Rodrigo Vivi
2015-07-09 18:46 ` Paulo Zanoni
2015-07-09 19:56 ` Daniel Vetter
2015-07-09 20:40 ` Vivi, Rodrigo
2015-07-07 23:28 ` [PATCH 7/7] drm/i915: fbdev restore mode needs to invalidate frontbuffer Rodrigo Vivi
2015-07-08 15:04 ` shuang.he
2015-07-08 18:05 ` Paulo Zanoni
2015-07-08 23:25 ` [PATCH] " Rodrigo Vivi
2015-07-09 13:19 ` shuang.he
2015-07-09 18:54 ` Paulo Zanoni
2015-07-09 19:00 ` Vivi, Rodrigo
2015-07-09 19:51 ` Daniel Vetter
2015-07-09 15:26 ` [PATCH 7/7] " Daniel Vetter
2015-07-09 17:08 ` [PATCH igt] tests: add kms_fbcon_fbt Paulo Zanoni
2015-07-08 13:41 ` [PATCH 1/7] drm/i915: Add origin to frontbuffer tracking flush Paulo Zanoni
2015-07-08 15:29 ` 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=1436460782.2893.1.camel@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=przanoni@gmail.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.