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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 29197C3DA49 for ; Thu, 25 Jul 2024 15:21:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2eq6cgeg4tjNK/UJ0dS0DsHH+PJFVARgjid38ZB1fJQ=; b=2X3kw1XJTX0u1amREN8BZScE45 nzHXXYAYoc7EXhdyhhD1JO+juWCGaFYSTwW/zT4BJ+gHmBIOv39qf/iw3zLe1HNa7lMiruQco3IPv vicnLY3KmVTf46qoMTpujJbsaZvc5E/PRBxfQXqlKpfdcNSVfQdHL9HTDmybK13O5WuXL5n/neQHr +l2iWOWg80r8iJl7EbDdmr5OnUjz0YUdTyy4mQR0wlC+EyEurC1jIdfafkjrKvcT3t5y7wdUE6cUU sFeuDrpq7t91iJMPIRc1hcQHrIl75wT+Adr6RJumhuFN0IWqGCJSNhVRFYUcGK3csYuAbuqJpFoaB wnfjNS/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sX0Hi-00000001Okv-0jQd; Thu, 25 Jul 2024 15:21:38 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sX0HJ-00000001OfM-1U6l for linux-arm-kernel@lists.infradead.org; Thu, 25 Jul 2024 15:21:14 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4272738eb9eso8160085e9.3 for ; Thu, 25 Jul 2024 08:21:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721920871; x=1722525671; darn=lists.infradead.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=2eq6cgeg4tjNK/UJ0dS0DsHH+PJFVARgjid38ZB1fJQ=; b=gBuWFq0TTo+CaNF6EGrdtmSWyB3lYc1awi9IZlQVwlrAKt7IfDPWt14rH3mt6GfOZr cv1fvnDNCl8glrEjlPwZIP/cSOMmRGgSl8XXqmJYpg6E11jMgGsp1GJWWHNpjO/laQX0 HobdmbKFcWjk3ioGOoMIiKZhrPJiwmXsYHvVB7CsKCv93Xm/RNBP8Iz9oXihJFX4fETU li4Gp8NM/yLyWxSuqtmq4jv90ShjR6DQTsiAHU+SBMgAsw5C7fqtT/2egZ4+xa4co1uX FDHBVngxkQP7WsFR1Pet2tPDP+cN6ETlwkChvQGT3jK0gtckCnxUqjK/IE1W9bwL/zUn +oNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721920871; x=1722525671; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2eq6cgeg4tjNK/UJ0dS0DsHH+PJFVARgjid38ZB1fJQ=; b=gjjyswbCJoSMv7j1X7XYSETy//0+s6n1+RF8H5AQLoe0JEp7V1YbMBJI8yDCY5yurn tsC1tvX5yndOAy1CVzV6RlJ6uAUYkCzJ+vPIWgZWbcFkgPpSTkIM3hvA/G+ZAE+PAOwe XY8iJdrYhxk/AzqZZPfO6i7UX8LZ4wYizS3Dw5rQkyGs951QxK+R6BjrPBlFnxWbnaEq BquDt3XMzvCI1WV0rc/A5234BA5lzIvkDAZbMALzXpw/U2x9ARHQKqzwIyz3+dfzSkVR zwLFb2+rOrvcrFTPaU2DkfLi+Ng0UlphFXqVyO6YtJoJUSdMp7+UcQlNXNNXxxGSQu5Y WgMw== X-Forwarded-Encrypted: i=1; AJvYcCX5J/xTfwNpYA/zaAZScaEqKGSCMS/e2eLQ01ZK/VYQUAVRn3OnZSbHRrufI0OHnwyzqop71zaK2oIsmIv+LMe/erx+C22/jwXvoVFgswWlUTL4I18= X-Gm-Message-State: AOJu0YxEAJxrsbVPWDzrHYW/i598n4Yho45M1z1Kagm3X1VXKW6qdrAJ ZmFlUqINhrisq/Gvt4G9nYY11CQnAyd+Z1f/XA5SzG8opzKwDKh7 X-Google-Smtp-Source: AGHT+IFRSWnlAYYHtp7B9TX/pm1tmW2wA1dlSwpQdMVtFjf9eyzO/iDYb0W5WyvQviIngjgeTfAO0g== X-Received: by 2002:a05:600c:1f8c:b0:426:5ee5:3130 with SMTP id 5b1f17b1804b1-4280550879dmr16655795e9.3.1721920870644; Thu, 25 Jul 2024 08:21:10 -0700 (PDT) Received: from localhost (a109-49-32-45.cpe.netcabo.pt. [109.49.32.45]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-427f935933csm81735615e9.7.2024.07.25.08.21.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jul 2024 08:21:10 -0700 (PDT) From: Rui Miguel Silva To: Matthias Fend , Laurent Pinchart , Martin Kepplinger , Purism Kernel Team , Mauro Carvalho Chehab , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] media: imx-mipi-csis: avoid logging while holding spinlock In-Reply-To: <20240723060909.534584-1-matthias.fend@emfend.at> References: <20240723060909.534584-1-matthias.fend@emfend.at> Date: Thu, 25 Jul 2024 16:21:09 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240725_082113_419823_8C1F156D X-CRM114-Status: GOOD ( 17.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hey Matthias, Many thanks for the patch. Matthias Fend writes: > Refactor mipi_csis_log_counters() to prevent calling dev_info() while > IRQs are disabled. This reduces crucial IRQs off time to a bare minimum. > > Signed-off-by: Matthias Fend LGTM Reviewed-by: Rui Miguel Silva Cheers, Rui > --- > drivers/media/platform/nxp/imx-mipi-csis.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c > index f49b06978f14..0c34d316ed29 100644 > --- a/drivers/media/platform/nxp/imx-mipi-csis.c > +++ b/drivers/media/platform/nxp/imx-mipi-csis.c > @@ -857,18 +857,21 @@ static void mipi_csis_log_counters(struct mipi_csis_device *csis, bool non_error > { > unsigned int num_events = non_errors ? MIPI_CSIS_NUM_EVENTS > : MIPI_CSIS_NUM_EVENTS - 8; > + unsigned int counters[MIPI_CSIS_NUM_EVENTS]; > unsigned long flags; > unsigned int i; > > spin_lock_irqsave(&csis->slock, flags); > + for (i = 0; i < num_events; ++i) > + counters[i] = csis->events[i].counter; > + spin_unlock_irqrestore(&csis->slock, flags); > > for (i = 0; i < num_events; ++i) { > - if (csis->events[i].counter > 0 || csis->debug.enable) > + if (counters[i] > 0 || csis->debug.enable) > dev_info(csis->dev, "%s events: %d\n", > csis->events[i].name, > - csis->events[i].counter); > + counters[i]); > } > - spin_unlock_irqrestore(&csis->slock, flags); > } > > static int mipi_csis_dump_regs(struct mipi_csis_device *csis) > -- > 2.25.1