Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp903436pxb; Tue, 1 Feb 2022 12:50:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVYvqZ1bbRaIvP/BnsPdZUo9Y0/E0EUh2e3HoQhlHVeX+1M2qnOCf5eq5EdyTvfGzAQ/xQ X-Received: by 2002:a17:902:b190:: with SMTP id s16mr27666504plr.119.1643748601543; Tue, 01 Feb 2022 12:50:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643748601; cv=none; d=google.com; s=arc-20160816; b=cdvhUntz0J9JS42PtrGyymmdS+c/7gcP0lI8ZXjQpQVYGUPAXejCgAgKqBDTKYQQpF ZdgD5N/q4hD2Bv1UwmaQmIOzIejCkSFFpnzv3BxiS/qnyL03CMWMhxTKZgq1c68TQEUs pDnlCouq6lbo3p5F6oO2CFq0XkNpn15CYRWNMGCi6T7akSwBLu9aaADF3VMNbsl+sRif tOI9slBWJbM+Zgy+WNFh7D8DpX6RkTptTwOc+xg03ISVInGYhzVn8+ogxToAELA1mFBi K2++b+kLensUopG4nZ8g9VaL3sI0JJgvzfcpB6UJssPc73C0fB+OxQ5e2wHd9LyacLBW etkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=YEN1WalulXHp5psdK77RRQL6YIodekwef+OLqnVkw3U=; b=Y3vN+NIoGWpnnn5ylBuEw5GbSNrb6y3XnWupUfgOSJhEBX00WYxEAGQ6VNTyEkr5LD Ak3t6ZvU7wY9JEuNKrklNGu4v6jjsHtrLd5LVCNH7/q5JEZpOWj5Aj6IyVlfyMIIk2VV 8GSCWiS8fBJIGeQV41VuA18tcfT2tEymVUTYQJwwh0f8XJGroAadimGrywfalNdHSdnm nqAvlIC7SOe0EM9jaw7EyiB+KB1ChYJiEwA1oao4ZVJ6I9tawglWRH4vT3lZ3180JAT9 9nrS5Z93SV5AoSfv9oEueCLfRGcmKGw5m4NFCrX5P/eafk4tb+mfltee4JOGO0lyK4R/ ynSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=BXlMSbrQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v4si16667569plz.62.2022.02.01.12.49.50; Tue, 01 Feb 2022 12:50:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=BXlMSbrQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356881AbiAaVGh (ORCPT + 99 others); Mon, 31 Jan 2022 16:06:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231445AbiAaVGg (ORCPT ); Mon, 31 Jan 2022 16:06:36 -0500 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B6FFC061714 for ; Mon, 31 Jan 2022 13:06:36 -0800 (PST) Received: by mail-wm1-x330.google.com with SMTP id m13-20020a05600c3b0d00b00353951c3f62so119228wms.5 for ; Mon, 31 Jan 2022 13:06:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=YEN1WalulXHp5psdK77RRQL6YIodekwef+OLqnVkw3U=; b=BXlMSbrQQm45vIk8G32qbGBElJQXMtQzu20EGflvpycDYmJI5dd/dpdizoRxFh9F6A Q12yPGrID201GhrqQY0R0n9gUPWn9gxBXaGIedKulXZuktfd/I9uM7X8oO7R29VT8fzx NV157eRcr1zgYtAH7SrPMYSIVYhCix3PV5+i8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=YEN1WalulXHp5psdK77RRQL6YIodekwef+OLqnVkw3U=; b=GZW2nwjkCpWDjstJy4yPTXLDSJxDz8rS8qYjR39skfSN26YmXb07+hFHNkM8KuyaMR 3LtfWxiPQDzwJYZon82kJa98AcfM8eSePyGOoX7u5+xk1c3T/Q6S4uk5F0FX3wtSf0bt kmj4kdOblDt5SkWNn1zP6N4HLfaqPIBq6eRMEBjobCXSGhg+spq6yuJOm6+o2Cfauu7L uZNTgCIO2gcdZJ7uwLWuoPtvnBF2I+0X6kOaBIw5fUeRAvHlL2naZp+qDlDh5uMUS+Ei E4GESRBS0bSyG17HCHg1fSoetyfSAT1uReTQDzskdAeFikB7tHHUzA4vuNGQe82IpUmE HmRg== X-Gm-Message-State: AOAM531Dk8ZC1Llz5Bad6vco6aqfemOI6VtuRivk8/tV7YbP0RED1Exh Co29MRjoczwXh1+MHnqP9zArRg== X-Received: by 2002:a05:600c:288:: with SMTP id 8mr28455267wmk.25.1643663194637; Mon, 31 Jan 2022 13:06:34 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id b11sm314961wmq.46.2022.01.31.13.06.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jan 2022 13:06:34 -0800 (PST) From: Daniel Vetter To: DRI Development Cc: Intel Graphics Development , linux-fbdev@vger.kernel.org, LKML , Daniel Vetter Subject: [PATCH 00/21] some fbcon patches, mostly locking Date: Mon, 31 Jan 2022 22:05:31 +0100 Message-Id: <20220131210552.482606-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, This took way longer than I hoped, but well I got lost in head-scratching locking problems. Anyway ended up typing a pile of fbcon patches. Rough overview: - MAINTAINER entry for fbdev core in drm-misc, with the usual group maintainering - The reverts, but with a compile time option. I looked into combining this with the RFC from Helge, but it looked like worse than either approach, so I've kept mine. I think merging either is fine, no personal stake here on the bikeshed color. - The real distraction, aka a bunch of cleanups and mostly locking work for fbcon. I managed to ditch at least one locking FIXME from fbcon.c. The bad news that I spent a bunch more time pondering about the bigger locking issues in fbcon.c, and I think as-is they're unfixable. We need the threaded printk support to land first, so that we're not adding lock_fb_info() to all printk() contexts. Because that just cannot work. That also means we'll likely have another fbcon regression to face, in the form of worse oops printing ability. And that one I don't think we can fix with clever application of #ifdef, because changing locking rules at compile time in fundamental ways is just not a very good idea. Anyway, testing, review, feedback and all that very much welcome, as usual. Cheers, Daniel Daniel Vetter (21): MAINTAINERS: Add entry for fbdev core fbcon: Resurrect fbcon accelerated scrolling code fbcon: Restore fbcon scrolling acceleration fbcon: delete a few unneeded forward decl fbcon: Introduce wrapper for console->fb_info lookup fbcon: delete delayed loading code fbdev/sysfs: Fix locking fbcon: Use delayed work for cursor fbcon: Replace FBCON_FLAGS_INIT with a boolean fb: Delete fb_info->queue fbcon: Extract fbcon_open/release helpers fbcon: Ditch error handling for con2fb_release_oldinfo fbcon: move more common code into fb_open() fbcon: use lock_fb_info in fbcon_open/release fbcon: Consistently protect deferred_takeover with console_lock() fbcon: Move console_lock for register/unlink/unregister fbcon: Move more code into fbcon_release fbcon: untangle fbcon_exit fbcon: Maintain a private array of fb_info Revert "fbdev: Prevent probing generic drivers if a FB is already registered" fbdev: Make registered_fb[] private to fbmem.c Documentation/gpu/todo.rst | 13 +- MAINTAINERS | 6 + drivers/video/console/Kconfig | 11 + drivers/video/fbdev/core/bitblit.c | 16 + drivers/video/fbdev/core/fbcon.c | 1072 +++++++++++++++++------ drivers/video/fbdev/core/fbcon.h | 67 +- drivers/video/fbdev/core/fbcon_ccw.c | 28 +- drivers/video/fbdev/core/fbcon_cw.c | 28 +- drivers/video/fbdev/core/fbcon_rotate.h | 21 + drivers/video/fbdev/core/fbcon_ud.c | 37 +- drivers/video/fbdev/core/fbmem.c | 35 +- drivers/video/fbdev/core/fbsysfs.c | 2 + drivers/video/fbdev/core/tileblit.c | 16 + drivers/video/fbdev/efifb.c | 11 - drivers/video/fbdev/simplefb.c | 11 - drivers/video/fbdev/skeletonfb.c | 12 +- include/linux/fb.h | 10 +- 17 files changed, 1017 insertions(+), 379 deletions(-) -- 2.33.0