Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4134374rdb; Thu, 14 Sep 2023 12:51:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJltj0JsTjmBGuA6p5dEgxXCZM/xU6HDExOSW0bkWpIbG3DrsyUvUmenSoKvTO7kZ+gUz7 X-Received: by 2002:a05:6a20:549a:b0:159:c2d0:9fc6 with SMTP id i26-20020a056a20549a00b00159c2d09fc6mr4123879pzk.8.1694721068901; Thu, 14 Sep 2023 12:51:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694721068; cv=none; d=google.com; s=arc-20160816; b=x/rvXbTPQFKnS0GTEB63WbL86zaIMqwxdxbc5s3Gbc3u0k3RyHBZVW7KhLZZrssdaB Ak/UzwetzmIGoWLWMcaW4pob4h7r+cAgnRdbtNeGzSZhPQtWe47uQbnwD9/Fy6qnu7Ms EAEP72Z69qwuD7JQhR0AJ6s/ECqm4GyxfQAkoFK7NixfFS4u3+DCCHP/+3Pe9MbJzdUs y/cNqg2Iq1JI8ze8zlCSv6zpZ27PBcFBHcG4K6CCt7gnaCyy8cm4NK1GhkRRJD+TOy7P RjyHdNa+wqeBn402TRinbPF4vpilI0dRpClpLbYTX8kvVHiox9v9mbK4xjQH2kB1oTut LYBg== 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 :references:in-reply-to:message-id:date:subject:cc:to:dkim-signature :dkim-signature:from; bh=VwAuYpYc3fWXqol8AKchJjd2gF2BZfWOXYVLA/beRQc=; fh=Y+QjKVSLZ017m4vxECn4y0ZLKbCUXIIL53OD6nLnLGg=; b=dST6EbBawpwC7DkKW+g3VxSvJDSvMXzubAEQhcUGF+DCas5wyXyPYca776Mc1WsKSJ 3rDbrynUrydQlSqYLuifHdy+wROEpXbDT/llnm84EOcEA8Xj1SIMtNQRLQ9eXpN3X79v HwctCtLpJUyH9I59s6ne2vbk9ICjBeuAQNZMu8Yf/7FkQBf7KqtcPdp9bgG5Zq9j0FH7 zjqFin/dbjQR6IfrP6KNh8A+GgXFXuCSciQvFhOa8jrxBCe5Jfa9PNG1OsSFoPoniw39 bjAlSPt/laure1kyo44qCBCuF/HooAPs4ddirnCzSeBqxs7K5UyVvNDNqwMGWlZuIHw5 zglQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=vSKwIdxZ; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id by33-20020a056a0205a100b00563796a3ec6si2243758pgb.570.2023.09.14.12.50.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 12:51:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=vSKwIdxZ; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 26E6582A1F7F; Thu, 14 Sep 2023 11:39:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241794AbjINSi7 (ORCPT + 99 others); Thu, 14 Sep 2023 14:38:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241423AbjINSis (ORCPT ); Thu, 14 Sep 2023 14:38:48 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED74C1FFC; Thu, 14 Sep 2023 11:38:43 -0700 (PDT) From: John Ogness DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1694716722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VwAuYpYc3fWXqol8AKchJjd2gF2BZfWOXYVLA/beRQc=; b=vSKwIdxZS0Wy8y0+/xBxwuLThTEsw4FHoB6EHTIG1aUZ/vnNzHzcVNEuoBNexfguoPfsUG AuuyuU3K3dRpSywuVrx6WMcLVtPGSQeGW9r86rAxNTjYZ9IVPS27lt77osMrXyqSC1bvRm o4Ea6eBOgx0An5Xfej5rhguuAlR6FU3QURdKKa3w/qSU1NgHZ4hpp5ouzAH1P2Fjy8qS2v GvlBKyD32A4oDfzVMtEbAeSmNv6nrMJn/xfUL/8+6B9N6cUdThGb44P9DyJL96z3lvV1jh zOgajJ2htEmcYmbcCqvWAYjS13lgL7oWQG0+gr/0zGI25LwYeN0J4QzjWCjO8A== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1694716722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VwAuYpYc3fWXqol8AKchJjd2gF2BZfWOXYVLA/beRQc=; b=i5GRywZjHj1wrVT3sjOj3uMBjzzxZVwAf9xbXgkUxQ5dZtMNghRLuxeKwuRpV4hrBVCmwr meSdgbwTEVR38SAQ== To: Greg Kroah-Hartman Cc: Jiri Slaby , linux-serial@vger.kernel.org, Petr Mladek , Thomas Gleixner , linux-kernel@vger.kernel.org, Andrew Davis , Andy Shevchenko , Matthew Howell Subject: [PATCH tty v1 09/74] serial: 8250_exar: Use port lock wrappers Date: Thu, 14 Sep 2023 20:43:26 +0206 Message-Id: <20230914183831.587273-10-john.ogness@linutronix.de> In-Reply-To: <20230914183831.587273-1-john.ogness@linutronix.de> References: <20230914183831.587273-1-john.ogness@linutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 14 Sep 2023 11:39:19 -0700 (PDT) X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INVALID_DATE_TZ_ABSURD, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email From: Thomas Gleixner When a serial port is used for kernel console output, then all modifications to the UART registers which are done from other contexts, e.g. getty, termios, are interference points for the kernel console. So far this has been ignored and the printk output is based on the principle of hope. The rework of the console infrastructure which aims to support threaded and atomic consoles, requires to mark sections which modify the UART registers as unsafe. This allows the atomic write function to make informed decisions and eventually to restore operational state. It also allows to prevent the regular UART code from modifying UART registers while printk output is in progress. All modifications of UART registers are guarded by the UART port lock, which provides an obvious synchronization point with the console infrastructure. To avoid adding this functionality to all UART drivers, wrap the spin_[un]lock*() invocations for uart_port::lock into helper functions which just contain the spin_[un]lock*() invocations for now. In a subsequent step these helpers will gain the console synchronization mechanisms. Converted with coccinelle. No functional change. Signed-off-by: Thomas Gleixner --- drivers/tty/serial/8250/8250_exar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c index 077c3ba3539e..07ad21336301 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -201,9 +201,9 @@ static int xr17v35x_startup(struct uart_port *port) * * Synchronize UART_IER access against the console. */ - spin_lock_irq(&port->lock); + uart_port_lock_irq(port); serial_port_out(port, UART_IER, 0); - spin_unlock_irq(&port->lock); + uart_port_unlock_irq(port); return serial8250_do_startup(port); } -- 2.39.2