From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCE3F3FB3B; Mon, 22 Jan 2024 18:27:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705948032; cv=none; b=WX7rqz53ntMi0PnKHlsO6zWCepuCsOIDtXRemmzozXI144T5UmF5NxqD5Dhc6xbOmrRnTb18c4eELymDctHSuunYdYbzfOhxkt7dLawii/ag2AZM8ZEn8Sn2RO4h/WZ+pqEe39vXn4JzlQ9MwAoCl4314jd9tPD+IGgc7AOby+Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705948032; c=relaxed/simple; bh=oTAlfbxsHwQumPtM8k60cVyd41GO2x5zNL8PvATJItY=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=b8DszN7jgP5ei0l+DumZx0D+nvaz7R9Ky2gnj6CqiykXGS9h6R+AlqfUXhi2y8HXkb74dX4xqik7ab3NFIPeCqyh2N243v9dn/KIjq1wzaE+H2A7XD414fplZ+9/gvUZMrPUbR1XW+zSYMKXu9YoDMDNRZGOzxTiy3YX3UodWMg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J9ORIfSZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="J9ORIfSZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6802C433F1; Mon, 22 Jan 2024 18:27:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1705948031; bh=oTAlfbxsHwQumPtM8k60cVyd41GO2x5zNL8PvATJItY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=J9ORIfSZ+MRVSajWpgmPnnuIchex+Hzj+KIIJ2f2sC0/WGQ/kZEUz31x77bFc+39b HXos+5aYkRhgqBA7kcW6n9q65adE3yCD6NqNMYtpMOLqe8Vcdgecx5od49itv7o6Qc rzGRzHuss8mspDWw+cnc5tVIFaCya0ofY/5HZTA/lvQxcYIM2laOPChzgztB1w1XYL pKjWnUkmKtnoS8jICKdks7Pol52M8NEc+jF0natgh339ow8vcvvsZoReoNZxeSZGTt Vb3kw2QFdKMECuEETJXCfx939a/L3ElVmGA5OuXpo5ON4FkutuLLnGhMBNe6q3N0yN en9vkQl6kTumQ== 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 1rRz0n-00DhTj-J5; Mon, 22 Jan 2024 18:27:09 +0000 Date: Mon, 22 Jan 2024 18:27:09 +0000 Message-ID: <86plxt8br6.wl-maz@kernel.org> From: Marc Zyngier To: Lorenzo Pieralisi Cc: linux-kernel@vger.kernel.org, Robin Murphy , Mark Rutland , "Rafael J. Wysocki" , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev, Fang Xiang , Robert Moore Subject: Re: [PATCH v4 3/3] irqchip/gic-v3: Enable non-coherent redistributors/ITSes ACPI probing In-Reply-To: References: <20230905104721.52199-1-lpieralisi@kernel.org> <20231227110038.55453-1-lpieralisi@kernel.org> <20231227110038.55453-4-lpieralisi@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/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: lpieralisi@kernel.org, linux-kernel@vger.kernel.org, robin.murphy@arm.com, mark.rutland@arm.com, rafael@kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev, fangxiang3@xiaomi.com, robert.moore@intel.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Mon, 22 Jan 2024 16:18:04 +0000, Lorenzo Pieralisi wrote: > > On Wed, Dec 27, 2023 at 12:00:38PM +0100, Lorenzo Pieralisi wrote: > > [...] > > > @@ -2380,6 +2385,10 @@ gic_acpi_parse_madt_gicc(union acpi_subtable_headers *header, > > return -ENOMEM; > > gic_request_region(gicc->gicr_base_address, size, "GICR"); > > > > + if (gic_acpi_non_coherent_flag(gicc->flags, > > + ACPI_MADT_GICC_NON_COHERENT)) > > + gic_data.rdists.flags |= RDIST_FLAGS_FORCE_NON_SHAREABLE; > > + > > Quick question before reposting it. We run this function for > every GICC entry, I didn't add a check to make sure all GICC > entries have the same flag value, please let me know if that's > OK. > > I don't think there is a point in keeping a live variable across > calls to set the flag once for all either. I don't think that's useful. Once we see the flag being set, we'll enforce the non-coherency. If it wasn't set before, it's because it wasn't necessary. If one day we find a firmware that only randomly exposes the flag, we'll treat it as a quirk. Thanks, M. -- Without deviation from the norm, progress is not possible.