From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B9EDC433EF for ; Fri, 17 Sep 2021 02:56:44 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0D5E061029 for ; Fri, 17 Sep 2021 02:56:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0D5E061029 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4CA94831AC; Fri, 17 Sep 2021 04:56:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="T3P5RTY6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2EFE4831C8; Fri, 17 Sep 2021 04:56:37 +0200 (CEST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E10C282F34 for ; Fri, 17 Sep 2021 04:56:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1631847392; bh=pTjOB1797ED3XUw0mQv8i0v6m1cOMaQ4AifehJaT+j4=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=T3P5RTY6QIZrje1sB4evJ9g6xZ86VxZB6qyA8c0VJRyzhzxzDr+OJNKtDd2pFhm/t izg9bBS2HhAFPDkgH3091UNiUusVOJVu2VPi1Wu/uV5b0U4EnRN2Q75eDvLbOsFTKV /uEhB1Pk/pNHLadZL8mGxPgFZOI+qcZM/6kc2dj8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.189] ([46.253.247.86]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mel3n-1mzZrB2hvR-00anYs; Fri, 17 Sep 2021 04:56:32 +0200 Subject: Re: [PATCH 2/3] efi_loader: GOP: Add 30bpp support To: Mark Kettenis , u-boot@lists.denx.de Cc: Anatolij Gustschin , Alexander Graf References: <20210916130117.20894-1-kettenis@openbsd.org> <20210916130117.20894-3-kettenis@openbsd.org> From: Heinrich Schuchardt Message-ID: Date: Fri, 17 Sep 2021 04:56:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20210916130117.20894-3-kettenis@openbsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:JNApvSro+mUUbp3S2FiF7YiKrmkXgvaHNCYRB24UACnyx3NnWcn smW6tef/oKL0bWT8lHYWLbyiVT8dvb9KfFFQd1tBqXZOTmMmYNXqOtWxHIQx9Zew0c2ZBUx hInGB6+bUWOm1RtzontKgi61Zbn+Z2iAAFaTLfg/fiFpPYmmWU1YJ+1VYNzSEfP7DuOmohh AwZDfxWddy/ldhhaQO10Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:dKWIM0jkx60=:KPCX1PEN8avm5md6Byg4e8 Mvl4Dk33V5iQd7wRSLMLyGDJlLAkWETpna4uUqlHJcRVxu+Ah7MNO98Ied5T7rAeHaXO7fBe7 eaDYt5GFCL3VCMpsbd6Eg6/mGpn2Qi8V2zhTUxZ9gaJ8WKSke3X3DtNyZZ6I6C0JoUL9S9I1U VNFzi/5vNyRsXsz+flLQd78IfHBXCZez7+xvkmShrTiF0Z/S96inl5aR4wYTO0Vxa9XvuiEZV Ckh0GJBabuBs1vqEyCUS9V6T6F2Dx69rWxFZo+F4njGnHfs3sXYPrmzT0egtdi8Z1kqrNXOWE 3QI7aYjplKpwrooTp8LUqYoi0wJJsP5egK1BoALnJvL4D6Wzzz4J6j+OXNKsdRXNqNbHmzYsg 6W83wS5BgtltNVjT9pPSRIR6hVMuJEG7LukMubgwGyZwoFsmdpO9GWGZ3h71ehw7N2IlqNdA2 ohOjebX5GVpEihVPgZSJVx3OG49QoachP8jWHVWuzRDnWTQPw8vGcEyf5nsQ9T0IFkwJBP/mL W84Nf0/v7iqc87ZGLWrpLO9duiK0oFFoIWm2t+pS8k/HXQm/ajMcRUFC2IFpdjmyqDllbVcZp RKOS2lD6k8yGIY2Uj5ELQQyyI8PtbRVfTgcnzfQcVd3fVrrRIv9LVibASSywZykPCWJ52azkU D7J/f5nmbHQRRPUeEQT27DIUvm5UpUbMckB5lZCgiL+sz3FB739AnOxQIaODwNNBPnfWlA/gj t6njQwABjy/LYlmTg98uike6YD9Kfx+BP22wOUSo7cRoKjYNF36n7mEAb3YUiG529RWsurJl1 TZA1ahK+mwdsgonPDnsfDt6JmdAb8JDXW4zQPGkMifXzC6zRz1kKFGLkrPawAkPJHvdk2j0pa 0QMEyTrVp0VQDjU+v1YiyfnjMcEKEtDRxnSQdV8Wu9IGikwRyoKnzAiH5UqLFnddTMl/hQDJ4 ZwToJLTfbg9cpxYuFAPJGdkLDti+3qjpF3+IuA6TF21zougDBWr7V3/LDh7sn9x0yFQx8JYXp azkP0uYF3U7ZbemLFTeJWwPGgFJne3YJawiIevp6U13xEdJ7ZPQhvQ8SH5N4ZsdXmJSwKX/Zs 8bspXZ334LBEuo= X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean On 9/16/21 3:01 PM, Mark Kettenis wrote: > Provide correct framebuffer information for 30bpp modes. This is not enough to get a correct GOP implementation for the 30bpp mode. Have a look at efi_gop_pixel efi_vid16_to_blt_col() and efi_blt_col_to_vid16() and where they are used. > > Signed-off-by: Mark Kettenis > --- > lib/efi_loader/efi_gop.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c > index 1206b2d7a2..42bf49b184 100644 > --- a/lib/efi_loader/efi_gop.c > +++ b/lib/efi_loader/efi_gop.c > @@ -227,6 +227,7 @@ static efi_uintn_t gop_get_bpp(struct efi_gop *this) > > switch (gopobj->bpix) { > #ifdef CONFIG_DM_VIDEO > + case VIDEO_BPP30: > case VIDEO_BPP32: > #else > case LCD_COLOR32: > @@ -468,6 +469,7 @@ efi_status_t efi_gop_register(void) > switch (bpix) { > #ifdef CONFIG_DM_VIDEO > case VIDEO_BPP16: > + case VIDEO_BPP30: > case VIDEO_BPP32: > #else > case LCD_COLOR32: > @@ -518,6 +520,14 @@ efi_status_t efi_gop_register(void) > #endif > { > gopobj->info.pixel_format =3D EFI_GOT_BGRA8; > +#ifdef CONFIG_DM_VIDEO This symbol is not 30bpp specific. Is there a Kconfig variable that we can use to hide 30bpp support where it is not needed? Which modes does the M1 support? Best regards Heinrich > + } else if (bpix =3D=3D VIDEO_BPP30) { > + gopobj->info.pixel_format =3D EFI_GOT_BITMASK; > + gopobj->info.pixel_bitmask[0] =3D 0x3ff00000; /* red */ > + gopobj->info.pixel_bitmask[1] =3D 0x000ffc00; /* green */ > + gopobj->info.pixel_bitmask[2] =3D 0x000003ff; /* blue */ > + gopobj->info.pixel_bitmask[3] =3D 0xc0000000; /* reserved */ > +#endif > } else { > gopobj->info.pixel_format =3D EFI_GOT_BITMASK; > gopobj->info.pixel_bitmask[0] =3D 0xf800; /* red */ >