From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [Intel-gfx] [PATCH v5] drm/i915: Pin the ifbdev for the info->system_base GGTT mmapping Date: Wed, 23 Dec 2015 13:07:37 +0200 Message-ID: <87twn95sp2.fsf@intel.com> References: <20151124212049.GA26526@wunner.de> <1449245126-26158-1-git-send-email-chris@chris-wilson.co.uk> <20151210163604.GC4437@intel.com> <20151217155953.GA30437@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20151217155953.GA30437@phenom.ffwll.local> Sender: stable-owner@vger.kernel.org To: Daniel Vetter , Takashi Iwai Cc: Ville =?utf-8?B?U3lyasOkbMOk?= , Chris Wilson , intel-gfx@lists.freedesktop.org, Daniel Vetter , stable@vger.kernel.org, "Goel, Akash" List-Id: intel-gfx@lists.freedesktop.org On Thu, 17 Dec 2015, Daniel Vetter wrote: > On Thu, Dec 10, 2015 at 05:41:30PM +0100, Takashi Iwai wrote: >> On Thu, 10 Dec 2015 17:36:04 +0100, >> Ville Syrj=C3=A4l=C3=A4 wrote: >> >=20 >> > On Fri, Dec 04, 2015 at 04:05:26PM +0000, Chris Wilson wrote: >> > > A long time ago (before 3.14) we relied on a permanent pinning o= f the >> > > ifbdev to lock the fb in place inside the GGTT. However, the >> > > introduction of stealing the BIOS framebuffer and reusing its ad= dress in >> > > the GGTT for the fbdev has muddied waters and we use an inherite= d fb. >> > > However, the inherited fb is only pinned whilst it is active and= we no >> > > longer have an explicit pin for the info->system_base mmapping u= sed by >> > > the fbdev. The result is that after some aperture pressure the f= bdev may >> > > be evicted, but we continue to write the fbcon into the same GGT= T >> > > address - overwriting anything else that may be put into that of= fset. >> > > The effect is most pronounced across suspend/resume as >> > > intel_fbdev_set_suspend() does a full clear over the whole scano= ut. >> > >=20 >> > > v2: Only unpin the intel_fb is we allocate it. If we inherit the= fb from >> > > the BIOS, we do not own the pinned vma (except for the reference= we add >> > > in this patch for our access via info->screen_base). >> > >=20 >> > > v3: Finish balancing the vma pinning for the normal !preallocate= d case. >> > >=20 >> > > v4: Try to simplify the pinning even further. >> > > v5: Leak the VMA (cleaned up by object-free) to avoid complicate= d error paths. >> > >=20 >> > > Signed-off-by: Chris Wilson >> > > Cc: "Goel, Akash" >> > > Cc: Daniel Vetter >> > > Cc: Jesse Barnes >> > > Cc: Lukas Wunner >> > > Cc: stable@vger.kernel.org >> >=20 >> > This seems to have fixed my garbled text+fbcon dead after >> > suspend/hibernate issues. Well, only had the patch in for a day or= so, >> > but so far so good. >> >=20 >> > Tested-by: Ville Syrj=C3=A4l=C3=A4 >> >=20 >> > Takashi, don't know if you already found this patch, but it's defi= nitely >> > something you should try as well. >>=20 >> Great, I'll give this a try. Thanks! > > Pulled both patches into dinq. Jani, can you please cherry-pick? Picked the first, but I don't have the time to fix the conflicts on the second one. BR, Jani. --=20 Jani Nikula, Intel Open Source Technology Center