dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: "open list:EFIFB FRAMEBUFFER DRIVER"
	<linux-fbdev@vger.kernel.org>, "xinhui pan" <Xinhui.Pan@amd.com>,
	"Baoquan He" <bhe@redhat.com>,
	"Samuel Iglesias Gonsálvez" <siglesias@igalia.com>,
	kernel@gpiccoli.net, kexec@lists.infradead.org,
	"amd-gfx list" <amd-gfx@lists.freedesktop.org>,
	"Deucher, Alexander" <alexander.deucher@amd.com>,
	pjones@redhat.com,
	"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
	"Dave Young" <dyoung@redhat.com>,
	"Christian Koenig" <christian.koenig@amd.com>,
	"Vivek Goyal" <vgoyal@redhat.com>
Subject: Re: Reuse framebuffer after a kexec (amdgpu / efifb)
Date: Fri, 10 Dec 2021 08:19:14 +0100	[thread overview]
Message-ID: <20211210071914.n4l2mdknbv3yeqtq@sirius.home.kraxel.org> (raw)
In-Reply-To: <eaea0143-a961-b83c-3c6c-4d612cd003bc@igalia.com>

  Hi,

> > The drivers are asic and platform specific.  E.g., the driver for
> > vangogh is different from renoir is different from skylake, etc.  The
> > display programming interfaces are asic specific.
> 
> Cool, that makes sense! But if you (or anybody here) know some of these
> GOP drivers, e.g. for the qemu/qxl device,

OvmfPkg/QemuVideoDxe in tianocore source tree.

> I'm just curious to see/understand how complex is the FW driver to
> just put the device/screen in a usable state.

Note that qemu has a paravirtual interface for vesa vga mode programming
where you basically program a handful of registers with xres, yres,
depth etc. (after resetting the device to put it into vga compatibility
mode) and you are done.

Initializing physical hardware is an order of magnitude harder than
that.

With qxl you could also go figure the current state of the hardware and
fill screen_info with that to get a working boot framebuffer in the
kexec'ed kernel.

Problem with this approach is this works only in case the framebuffer
happens to be in a format usable by vesafb/efifb.  So no modifiers
(tiling etc.) and continuous in physical address space.  That is true
for qxl.  With virtio-gpu it wouldn't work though (framebuffer can be
scattered), and I expect with most modern physical hardware it wouldn't
work either.

take care,
  Gerd


  parent reply	other threads:[~2021-12-10  7:19 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-09 16:00 Reuse framebuffer after a kexec (amdgpu / efifb) Guilherme G. Piccoli
2021-12-09 16:09 ` Christian König
2021-12-09 17:31 ` Alex Deucher
2021-12-09 17:59   ` Guilherme G. Piccoli
2021-12-09 18:06     ` Alex Deucher
2021-12-09 18:17       ` Guilherme G. Piccoli
2021-12-09 19:20         ` Alex Deucher
2021-12-10  7:19         ` Gerd Hoffmann [this message]
2021-12-10  8:24         ` Thomas Zimmermann
2021-12-10 14:08           ` Guilherme G. Piccoli
2021-12-10 14:16             ` Alex Deucher
2021-12-10 14:25               ` Guilherme G. Piccoli
2021-12-10 15:13                 ` Christian König
2021-12-10 15:24                   ` Guilherme G. Piccoli
2021-12-10 15:32                     ` Christian König
2021-12-10 19:11                     ` Alex Deucher
2021-12-11  0:54                   ` Felix Kuehling
2021-12-11  9:20                     ` Gerd Hoffmann
2021-12-10 19:05                 ` Alex Deucher

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=20211210071914.n4l2mdknbv3yeqtq@sirius.home.kraxel.org \
    --to=kraxel@redhat.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bhe@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dyoung@redhat.com \
    --cc=gpiccoli@igalia.com \
    --cc=kernel@gpiccoli.net \
    --cc=kexec@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=pjones@redhat.com \
    --cc=siglesias@igalia.com \
    --cc=vgoyal@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).