Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2253095pxb; Thu, 4 Nov 2021 17:06:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwOfMTL9EweQULii+4+OlS5QByQ31IYpLtgU42WIFwthVNAdIXFHHiC/McjdX9R9OuNu4Fw X-Received: by 2002:a05:6402:50ca:: with SMTP id h10mr42072836edb.277.1636070770404; Thu, 04 Nov 2021 17:06:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1636070770; cv=none; d=google.com; s=arc-20160816; b=EC9A2QV30ym6bm7J5X8T0kVev+yjfcevDkPrAfwh/7TlukQr9CHVm3pi2phgtTwEVB J8juv5r36CrNuw0fmtsLz7YB09iWemQs+nhRTFhZ5FB4uPUwTFHGBlpxVtiQWm1vN0HS iIjS1HIQ+yp29C3/z7kVMVVy6UQqAASE3VhBVLpRU10q+YgAcEDknlDNLhqrMKDvJMpe zdHt/7RlMs/hijKrP0aCQzBCE9uTeLCoBuZAnwZy1dFdVLLWleJQBp5nmuCcabu2IqyO HEioYxNEBQuQ+FogL/KulTEQo/v618Ng+wWUI1sRZCr6G+auSXQEE7rRMn4IzcKh7J0R Sw0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=HOphd7Vw+yHC8lqA1EFBT5Der5nQd77Uyr9RS3TE3vY=; b=GFMvsCoqk3lG9Jf0ReWwdXTn7L4vOv3LfbWfd64aR06mROPxHdDkta+1rv6D3XWr6q xW6Lc4uXHKiPJd4Oye7k8pSmUcaovJ3RUVvi2J918mqxEeUrBxLrYqgw407dSzyPKtCp 2aOPKD40/diKpgOqclpenEYCSFMlwuvxfJXq7FSbcKbrpU4DlkWaZMsB2u4UO4YhSPlT Ucmp1ziX2pJaX+hdPfcgZbpbG3n3spv3CYZsXjURjpT7dKeBaygFLSiLvsJti89H614A b1O8Qfbhp+QLfj21OLPvG027Z6uq5OLDB8cBA2OKmE0Mwnl1HlU0Dx6mmLfGmvTJ8jUT 9wQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@pensando.io header.s=google header.b=ojAFxlvX; 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 k5si9614265edl.259.2021.11.04.17.05.46; Thu, 04 Nov 2021 17:06:10 -0700 (PDT) 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=fail header.i=@pensando.io header.s=google header.b=ojAFxlvX; 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 S232422AbhKEAFD (ORCPT + 99 others); Thu, 4 Nov 2021 20:05:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232433AbhKEAFA (ORCPT ); Thu, 4 Nov 2021 20:05:00 -0400 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90588C06120A for ; Thu, 4 Nov 2021 17:02:16 -0700 (PDT) Received: by mail-ed1-x536.google.com with SMTP id m14so26413636edd.0 for ; Thu, 04 Nov 2021 17:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HOphd7Vw+yHC8lqA1EFBT5Der5nQd77Uyr9RS3TE3vY=; b=ojAFxlvXXrY1p/+SCZHNI7vZKCcculw8iwC2NB/OnEXmwSfS5TMU8io5BA6UvqotV6 Lu0brpWxP9c61Un72pLgyWZ3YQYH1VCkWP44lc5QdKl7kAgwDSH+9tbOhVy5/j10uH55 yupyF0xr7R9A4rIMZf6XiTwIAcW6VuIdu1kjsTCW+ufFooXR8AfmOKtW6GKbHe5peSEb xHmdEFu0X2dazlU7X3BE5QM1gwZEtsktpeKN9AH24rIr8l4JUXSEAB6GmdxNl2QE1LSu nJGQKw32D7zUVU/RBnNN/23Bc3WC1QqQvbZ1UIAbz4+TbesqMlENDvCogHkU7Bs4IboY ZPsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HOphd7Vw+yHC8lqA1EFBT5Der5nQd77Uyr9RS3TE3vY=; b=JzbPCJ9IKj188DPO8Mw246VHkDjsxtORKxt3Me2IOzjNfyYUKq8aO84jh9+xhZwdfw xA0WspmkFWh1sYeqgH4G/6jApimuODOY3M4rK2boiVY+YUFcWsVmrLeAY/FmWlgSWpLY S+5oYtXeRiTp1hdGk3EFPVZ7TizK8Ck/o4yHADjrGnPUKKinFDUXhXi8jK0pKvssVB93 rLC6y0dJ7KU1DCOHIWQukGspd9BkWgd1JVYfWzvYE98rPAxhNj0IPuYAu1rs2eXcLBNd HYezoNJ6Kr67QZOSpxgyaFTc4WUHPXK5T4vzSr/1u31s4v6P+Zo+IbfiBL4JLvThf+Ee yRhA== X-Gm-Message-State: AOAM531KAC4DKWzYB+iJ7o5YUXp/xqYHpTZPBMC7H8Nr0rDJx4Dk31sh PXAavm28sPH8ikpzMVYFR5Bk5b+vm+3XR3AX9cWZEQ== X-Received: by 2002:a17:907:1dd5:: with SMTP id og21mr16511258ejc.233.1636070535098; Thu, 04 Nov 2021 17:02:15 -0700 (PDT) MIME-Version: 1.0 References: <20211025015156.33133-1-brad@pensando.io> <20211025015156.33133-12-brad@pensando.io> <20211025091731.GA2001@C02TD0UTHF1T.local> In-Reply-To: From: Brad Larson Date: Thu, 4 Nov 2021 17:02:04 -0700 Message-ID: Subject: Re: [PATCH v3 11/11] arm64: dts: Add Pensando Elba SoC support To: Marc Zyngier Cc: Mark Rutland , Linux ARM , Arnd Bergmann , Linus Walleij , Bartosz Golaszewski , Mark Brown , Serge Semin , Adrian Hunter , Ulf Hansson , Olof Johansson , "open list:GPIO SUBSYSTEM" , linux-spi , linux-mmc , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, On Mon, Oct 25, 2021 at 4:15 AM Marc Zyngier wrote: > > On 2021-10-25 10:17, Mark Rutland wrote: > > Hi, > > > > On Sun, Oct 24, 2021 at 06:51:56PM -0700, Brad Larson wrote: > >> Add Pensando common and Elba SoC specific device nodes > >> > >> Signed-off-by: Brad Larson > > > > [...] > >> + gic: interrupt-controller@800000 { > >> + compatible = "arm,gic-v3"; > >> + #interrupt-cells = <3>; > >> + #address-cells = <2>; > >> + #size-cells = <2>; > >> + ranges; > >> + interrupt-controller; > >> + reg = <0x0 0x800000 0x0 0x200000>, /* GICD */ > >> + <0x0 0xa00000 0x0 0x200000>; /* GICR */ > > This is missing the GICv2 compat regions that the CPUs implement. Is this what is described as optional in the GIC architecture specification where a GICv3 system can run restricted GICv2 code? Can you point me in the right direction in the spec and example dts node if needed. > >> + interrupts = ; > >> + > >> + gic_its: msi-controller@820000 { > >> + compatible = "arm,gic-v3-its"; > >> + msi-controller; > >> + #msi-cells = <1>; > >> + reg = <0x0 0x820000 0x0 0x10000>; > >> + socionext,synquacer-pre-its = > >> + <0xc00000 0x1000000>; > >> + }; > >> + }; > > > > Is there any shared lineage with Synquacer? The commit message didn't > > describe this quirk. > > Funny, it looks like there is a sudden outburst of stupid copy/paste > among HW designers. TI did the exact same thing recently. > > This totally negates all the advantages of having an ITS and makes > sure that you have all the overhead. Facepalm... Some background may help explain. To generate an LPI a peripheral must write to the GITS_TRANSLATER (a specific address). For the ITS to know which translations apply to the generated interrupts, it must know which peripheral performed the write. The ID of the peripheral is known as its DeviceID, which is often carried along with the write as an AXI sideband signal. The Elba SoC doesn't carry the DeviceID, so we have to conjure one up between the peripheral and the ITS. Instead of telling a peripheral to target the GITS_TRANSLATER directly, we instead direct it to a specific offset within a pre-ITS address range (our own IP block). For writes that land in that memory range, we derive the DeviceID from (offset >> 2). The pre-ITS block then sends (DeviceID, data) to the GITS_TRANSLATER. The hardware designer came up with the Pre-ITS mechanism in Feb 2018. When we looked at the upstream kernel later (we developed on 4.14) we found that not only did it support something similar, it supported the exact scheme we are using. Thanks, Brad