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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 65AC2C61DC4 for ; Thu, 27 Aug 2026 14:08:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AEF3310EBA7; Thu, 27 Aug 2026 14:08:51 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.b="scWtY0Mp"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="7QnZuwy7"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="J7e/mTEp"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="NzSRZ1CL"; dkim-atps=neutral Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4FD2F10EBA7 for ; Thu, 27 Aug 2026 14:08:50 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 7D0E61F841; Thu, 27 Aug 2026 14:07:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787839656; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=inMzVHiVBcCLJ2+S7e7paRJRrABOr+WAxBkmBAGotf4=; b=scWtY0MpjphaXr5P2UwQzhPVGTt/ohsX2XliSbhDuh8Mf5u6M3Mq/VpJjVTdNrDm4S+BLM 6DbhQHVRojnY29OVlcuXdTvXDEnVlOwQVuUUCL6CsBfsMaVsMzMCwgvg+vpFNJKGWTJdEj fk/fo9rba7NPOFgZRtB50HdavfkFySc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787839656; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=inMzVHiVBcCLJ2+S7e7paRJRrABOr+WAxBkmBAGotf4=; b=7QnZuwy71biK55TMmHsWTEMR7zuvwfpCEzIIfTzWcMXPxmQiYaqctwrnjiEONxOQ36trwm 1wVh7OOPOwr+sgDQ== Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="J7e/mTEp"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=NzSRZ1CL DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787839652; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=inMzVHiVBcCLJ2+S7e7paRJRrABOr+WAxBkmBAGotf4=; b=J7e/mTEpZoVKw2gNUopxUmZ18igpsEGpQHffTL+N4eZkXgN4r2qA72tuKA+TKOb/UzG5Bz aSXN+IqBeqmVTshzKNbn+i2A4lLDP3xXp6A0XFmKFnDNxd3VG8WmVHPgnAzFRPv7iZRarR OoiGLV7k0kIyeUUIhYIOv91uKGJSMKk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787839652; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=inMzVHiVBcCLJ2+S7e7paRJRrABOr+WAxBkmBAGotf4=; b=NzSRZ1CLtTPRBUTERgxjWFBgcSKrDBCGBai0ax2S+IMOHCab/pGcICbEimCAkpVrqfVIl2 EtW7PiAxnUI7ZpCQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E5EC91352C; Thu, 27 Aug 2026 14:07:31 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id xG6WNqNEkGp0FQAAD6G6ig (envelope-from ); Thu, 27 Aug 2026 14:07:31 +0000 From: Thomas Zimmermann To: javierm@redhat.com, ardb@kernel.org, ilias.apalodimas@linaro.org, jani.nikula@linux.intel.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, simona@ffwll.ch, airlied@gmail.com Cc: dri-devel@lists.freedesktop.org, linux-efi@vger.kernel.org, sashiko-reviews@lists.linux.dev, Thomas Zimmermann Subject: [PATCH 0/3] sysfb: Fix display output on Lenovo D330 (and others) Date: Thu, 27 Aug 2026 16:01:36 +0200 Message-ID: <20260827140726.420734-1-tzimmermann@suse.de> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7D0E61F841 X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spamd-Result: default: False [-3.51 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; ARC_NA(0.00)[]; FREEMAIL_TO(0.00)[redhat.com,kernel.org,linaro.org,linux.intel.com,ffwll.ch,gmail.com]; RCPT_COUNT_TWELVE(0.00)[12]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; RCVD_TLS_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_TRACE(0.00)[suse.de:+] X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The kernel mis-interprets the display geometry given by the Lenovo D330 as incorrect. The values are correct, but the display output is rotated by 90°. With the kernel's firmware quirk applied the output is garbled. Remove the firmware quirk for the Lenovo D330 and let DRM's sysfb drivers set the correct panel orientation instead. To make this work for any display mode, use the panel size for looking up the correct orientation. Tested on a Lenovo D330-10IGM IdeaPad. Thomas Zimmermann (3): drm/edid: Add drm_edid_get_preferred_size() drm/sysfb: Use preferred panel size for panel orientation quirks firmware/sysfb: Remove rotation quirk for Lenovo D330 drivers/firmware/efi/sysfb_efi.c | 9 ------- drivers/gpu/drm/drm_edid.c | 40 ++++++++++++++++++++++++++++++++ drivers/gpu/drm/sysfb/efidrm.c | 17 +++++++++++++- drivers/gpu/drm/sysfb/ofdrm.c | 16 ++++++++++++- drivers/gpu/drm/sysfb/vesadrm.c | 17 +++++++++++++- include/drm/drm_edid.h | 2 ++ 6 files changed, 89 insertions(+), 12 deletions(-) base-commit: dc462ab791b686c48545c160ecc81be64f77a846 -- 2.55.0