From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Jones Date: Mon, 31 Aug 2015 15:23:31 +0000 Subject: Re: [PATCH] efifb: Add support for 64-bit frame buffer addresses Message-Id: <20150831152330.GC17921@redhat.com> List-Id: References: <1440763939-17027-1-git-send-email-matt@codeblueprint.co.uk> In-Reply-To: <1440763939-17027-1-git-send-email-matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Matt Fleming Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Matt Fleming , Pete Hawkins , Matthew Garrett , Chad Page On Fri, Aug 28, 2015 at 01:12:19PM +0100, Matt Fleming wrote: > From: Matt Fleming > > The EFI Graphics Output Protocol uses 64-bit frame buffer addresses > but these get truncated to 32-bit by the EFI boot stub when storing > the address in the 'lfb_base' field of 'struct screen_info'. > > Add a 'ext_lfb_base' field for the upper 32-bits of the frame buffer > address and set VIDEO_TYPE_CAPABILITY_64BIT_BASE when the field is > useable. > > It turns out that the reason no one has required this support so far > is that there's actually code in tianocore to "downgrade" PCI > resources that have option ROMs and 64-bit BARS from 64-bit to 32-bit > to cope with legacy option ROMs that can't handle 64-bit addresses. > The upshot is that basically all GOP devices in the wild use a 32-bit > frame buffer address. > > Still, it is possible to build firmware that uses a full 64-bit GOP > frame buffer address. Chad did, which led to him reporting this issue. > > Add support in anticipation of GOP devices using 64-bit addresses more > widely, and so that efifb works out of the box when that happens. > > Reported-by: Chad Page > Cc: Pete Hawkins > Cc: Peter Jones > Cc: Matthew Garrett > Signed-off-by: Matt Fleming Looks good to me. Acked-by: Peter Jones -- Peter