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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CDF9C64EC4 for ; Fri, 10 Mar 2023 12:12:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230408AbjCJMMg (ORCPT ); Fri, 10 Mar 2023 07:12:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230224AbjCJMMR (ORCPT ); Fri, 10 Mar 2023 07:12:17 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C678710D30A; Fri, 10 Mar 2023 04:12:10 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 48AEF615FC; Fri, 10 Mar 2023 12:12:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B3A0C433EF; Fri, 10 Mar 2023 12:12:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678450329; bh=hItrJf7TpARR0uRQm1kat5QlUl3PNC6I+EzAt6rsSmc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=tHcSC8lKKCF6N2INSuJbK8+JARi4J3IqwYT1KfUjkI4xDh830mu6Js3WIXuJh+Bdf ydlEJSWRT3dXBBr8CjUPV9VV103MkDvIYBQrMb1KX0jlJCKflR4Zbz3RHmUc8I5Lt5 jeKWRhx70ny8uIoRBp9QZJHXzt8qF/EzC3Dc3hs8oDFb5yHZm7Gvtwp4akqqoAiXp2 W3vub0wSKphuRBACaaiSoua+YrRv/3gzY8YHwzS0VL/4QyI9v8hwGgvu89UDIivqnV 10XhkEmK0GBta1KMJk5xGtgfV+CXX8c/TYpW67TKnTaEOs5N/keV5xNvQ7P93MArT/ lSDx37qheztPg== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pabbT-00Gb0h-4w; Fri, 10 Mar 2023 12:12:07 +0000 Date: Fri, 10 Mar 2023 12:12:01 +0000 Message-ID: <86ttysyfe6.wl-maz@kernel.org> From: Marc Zyngier To: Peter Geis Cc: Lucas Tanure , Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Thomas Gleixner , Lorenzo Pieralisi , Krzysztof Wilczynski , Bjorn Helgaas , Qu Wenruo , Piotr Oniszczuk , Kever Yang , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, kernel@collabora.com, Robin Murphy Subject: Re: [PATCH 1/7] irqchip/gic-v3: Add a DMA Non-Coherent flag In-Reply-To: References: <20230310080518.78054-1-lucas.tanure@collabora.com> <20230310080518.78054-2-lucas.tanure@collabora.com> <86v8j8yg3d.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: pgwipeout@gmail.com, lucas.tanure@collabora.com, vkoul@kernel.org, kishon@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, tglx@linutronix.de, lpieralisi@kernel.org, kw@linux.com, bhelgaas@google.com, wqu@suse.com, piotr.oniszczuk@gmail.com, kever.yang@rock-chips.com, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, kernel@collabora.com, robin.murphy@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 10 Mar 2023 12:04:16 +0000, Peter Geis wrote: > > On Fri, Mar 10, 2023 at 6:57 AM Marc Zyngier wrote: > > > > On Fri, 10 Mar 2023 11:41:46 +0000, > > Peter Geis wrote: > > > > > > On Fri, Mar 10, 2023 at 3:05 AM Lucas Tanure wrote: > > > > > > > > The GIC600 integration in RK356x, used in rk3588, doesn't support > > > > any of the shareability or cacheability attributes, and requires > > > > both values to be set to 0b00 for all the ITS and Redistributor > > > > tables. > > > > > > > > This is loosely based on prior work from XiaoDong Huang and > > > > Peter Geis fixing this issue specifically for Rockchip 356x. > > > > > > Good Morning, > > > > > > Since the gic is using dma, would it be reasonable to have all memory > > > allocations be requested with the GFP_DMA flag? Otherwise this doesn't > > > fully solve the problem for rk356x, where only the lower 4GB range is > > > DMA capable, but this tends to get allocated in the upper 4GB on 8GB > > > boards. > > > > That's an erratum. Please treat as such. > > Good Morning, > > Yes, believe me I'm fully aware of how broken rk356x is. I'm asking an > educational question from a kernel standards point of view, absent the > rk356x issues. Would it be reasonable that since the gic uses dma > memory, allocations for the gic should be made with the GFP_DMA flag? > Or is that a misuse of the flag? As Robin points out in another part of the thread, the right fix would be to convert the ITS as a pure platform driver and handle the probing dependencies that this would generate. Then you can start making us of the DMA allocator and of the firmware description of what ranges are reachable from the GIC (although this isn't strictly the ITS, but also the redistributors). We're in a better place for this now than we were a few years ago, but this is still a sizeable amount of work. If someone is motivated enough, they can have a go at it. M. -- Without deviation from the norm, progress is not possible.