Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1021923rwd; Tue, 13 Jun 2023 03:54:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5cWi1eaChaU+V7wlSpGlKYOAg7+dJNoB/mdmWhomKcyqCQ9CJXcy6kyqLqYSQSNjRxpqte X-Received: by 2002:a37:7d0:0:b0:75b:23a0:dea1 with SMTP id 199-20020a3707d0000000b0075b23a0dea1mr10881256qkh.31.1686653643063; Tue, 13 Jun 2023 03:54:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686653643; cv=none; d=google.com; s=arc-20160816; b=kZqsHhNkZdUjCoxNDXCDXY+mNd9U1+NMpQlZBVgihrWKpXz6n6+RlDTeo1VH/Q+SVv ipnsZcb0PeS+rlR4jKZa9y3I8m9bgflfpgfOax4utzGloPpEfXn9o+6HwyEyx14D07po Nmm5b/Hqw6p9YBg6F77v9+rvvj+7+fGv9yqz0JbxLh21ITKPOUfufpi+2lRiLFfRjCtj fVwNYfREiISI/CcX1o/VN7eICcWXUbA6rrB5qynEiZBAa9qoCN0K/LftB2wMEcO9B9ze y2gOaI0a0mteXIUk2jgHs1ZdS8zlAMu6KzDL+lVT9VszIcbZm9YxZjTcR5GK+V/jcwoa g86Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=u6v7bAOnlXSpxwVByNrc2wz3YyV0QI4pSQ1WAf4/fwQ=; b=rqK1F0HKITUaxqg33/ACB3ULQVJ9jtbv+8Y8j7EGk02+pmWdgYpfdrHvVZ2w6qKIRU KqpsD0dwOxoCAcfrXmCNHmaJA6AuHCfapOw3PRJYwfro23QFF7Ws1B5+FnYfD2ZNkE6U tn58sIz1Ianx+MYEn6QHx6U47r3mCn5vQ6cQak6OfB/t9aOlxHSbjVtPCgOIf+bQyPcL xLx4Uoo0z07BlId60XgXSOP5GILYn9Yf0mKvz5rp9fYphjr0gZZiU7vS+rrWCbefruxO LFZO0Rlim4iJoYlvEeUBIWG5redcHwS9Si06U3bgyvw7a+2WU5g9AbQiSK0QqfYTsLs8 i44A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=XYe7DUHM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u4-20020a17090a4bc400b0025636b43cbasi8444329pjl.129.2023.06.13.03.53.50; Tue, 13 Jun 2023 03:54:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=XYe7DUHM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240496AbjFMKhb (ORCPT + 99 others); Tue, 13 Jun 2023 06:37:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240655AbjFMKhZ (ORCPT ); Tue, 13 Jun 2023 06:37:25 -0400 Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com [IPv6:2607:f8b0:4864:20::b34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F92119F for ; Tue, 13 Jun 2023 03:37:23 -0700 (PDT) Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-bc40d4145feso3491665276.1 for ; Tue, 13 Jun 2023 03:37:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1686652642; x=1689244642; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u6v7bAOnlXSpxwVByNrc2wz3YyV0QI4pSQ1WAf4/fwQ=; b=XYe7DUHMvGV7y2bk4ogTIjbkVzcgzUmWBbBgPF1keLUauqwTFso2aU41gu9FLKluKu E6nipZ8KQrqhbgbP6eMpWe5q3qri0rXk+bWJv7HFMOae77UL2k7/845wYD8x9kH+wNhx 2ayxk0svBQENhTEER+t6TCNp+pXvad9K+spGe2yTQkmbk6i65MNaoFDRMaipn2r+vOs7 x4QiwKtfa8Nq7oCB+Ww4EJZ1Q/O9awqHQe7KlpLCHo2YOarsxYOHwh6vY05YXxDT0Bvl 72eaNF/Qm9LlPOuKgjVC0dQCkvOx2bLPW2eUO86Uha9sWk6PcHEICRBnAqRlVbMJr8TW bUpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686652642; x=1689244642; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u6v7bAOnlXSpxwVByNrc2wz3YyV0QI4pSQ1WAf4/fwQ=; b=E0iKeI4sYRTh/Vh/yxbSBMkOMW4mUHzSLuxVSFIp/f/iVeN/1m2wMCIohn8ULM+oDS hj/B84s8Lnt44MPmhUOO72Kgw27sAiU9k8Hwyr76ENF4n691SPxaUj2bYamBOUG8YDy+ sVBQtrj804PccmLVfS3QoHRfmJwlNNbqzfCehQ9sFwNHn6guJr9JNkZPSyhcTpbpeTnq oR9Wcm6/u/fvNZIYhLFPpBNe2Lg5GxAsAU6URe+QmDF9tngmcHRULjLBt19atbBLX2qr M+wxt85d2ygQJje6xW3qicxO6DLW2Qmefx+HzujFftjyn2bxlwHin2i9NOylp7Tcc0uh U6KQ== X-Gm-Message-State: AC+VfDwiHSrRWsagXnCg7JM/8FHlfgqvBr7sxl0ANmoe37SZCVH3DRAz oFpTDQ0hnjzjnqgyL96mtjLIPROpbsbN2n/laPZFVQ== X-Received: by 2002:a25:b901:0:b0:bc6:9e29:f2c2 with SMTP id x1-20020a25b901000000b00bc69e29f2c2mr1018625ybj.44.1686652642636; Tue, 13 Jun 2023 03:37:22 -0700 (PDT) MIME-Version: 1.0 References: <20230508142842.854564-1-apatel@ventanamicro.com> <20230508142842.854564-9-apatel@ventanamicro.com> <20230510-retry-paced-644f5a95ba3f@spud> In-Reply-To: <20230510-retry-paced-644f5a95ba3f@spud> From: Anup Patel Date: Tue, 13 Jun 2023 16:07:11 +0530 Message-ID: Subject: Re: [PATCH v3 08/11] dt-bindings: interrupt-controller: Add RISC-V advanced PLIC To: Conor Dooley Cc: Palmer Dabbelt , Paul Walmsley , Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Robin Murphy , Joerg Roedel , Will Deacon , Frank Rowand , Atish Patra , Andrew Jones , Anup Patel , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 10, 2023 at 9:11=E2=80=AFPM Conor Dooley wro= te: > > Hey Anup, > > On Mon, May 08, 2023 at 07:58:39PM +0530, Anup Patel wrote: > > + interrupts-extended: > > + minItems: 1 > > + maxItems: 16384 > > + description: > > + Given APLIC domain directly injects external interrupts to a set= of > > + RISC-V HARTS (or CPUs). Each node pointed to should be a riscv,c= pu-intc > > + node, which has a riscv node (i.e. RISC-V HART) as parent. > > Same nit here, s/riscv node/cpu node/? Okay, I will update. > > > + > > + msi-parent: > > + description: > > + Given APLIC domain forwards wired interrupts as MSIs to a AIA in= coming > > + message signaled interrupt controller (IMSIC). If both "msi-pare= nt" and > > + "interrupts-extended" properties are present then it means the A= PLIC > > + domain supports both MSI mode and Direct mode in HW. In this cas= e, the > > + APLIC driver has to choose between MSI mode or Direct mode. > > + > > + riscv,num-sources: > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + minimum: 1 > > + maximum: 1023 > > + description: > > + Specifies the number of wired interrupt sources supported by thi= s > > + APLIC domain. > > Rob asked: > | We don't normally need to how many interrupts, why here? > > But I do not see an answer to that on lore. The APLIC spec defines maximum interrupt sources to be 1023. > > > + > > + riscv,children: > > + $ref: /schemas/types.yaml#/definitions/phandle-array > > + minItems: 1 > > + maxItems: 1024 > > + items: > > + maxItems: 1 > > + description: > > + A list of child APLIC domains for the given APLIC domain. Each c= hild > > + APLIC domain is assigned a child index in increasing order, with= the > > + first child APLIC domain assigned child index 0. The APLIC domai= n child > > + index is used by firmware to delegate interrupts from the given = APLIC > > + domain to a particular child APLIC domain. > > + > > + riscv,delegate: > > + $ref: /schemas/types.yaml#/definitions/phandle-array > > + minItems: 1 > > + maxItems: 1024 > > + items: > > + items: > > + - description: child APLIC domain phandle > > + - description: first interrupt number of this APLIC domain (in= clusive) > > + - description: last interrupt number of this APLIC domain (inc= lusive) > > + description: > > + A interrupt delegation list where each entry is a triple consist= ing of > > + child APLIC domain phandle, first interrupt number of this APLIC= domain, > > + and last interrupt number of this APLIC domain. Firmware must co= nfigure > > + interrupt delegation registers based on interrupt delegation lis= t. > > I read back Rob's comments on this from last time. He said: > | The node's domain it delegating its interrupts to the child domain or > | the other way around? The interrupt numbers here are this domain's or > | the child's? The node's domain is delegating its interrupts to the child domain. > > IMO it's ambiguous from the binding description whether the numbers > refer to the "first interrupt in the parent domain that is delegated > to the child" or to numbering of the interrupts within the child domain. > "This" can be quite an ambiguous word, and it's not totally obvious > whether the "this" refers to the "child domain" earlier in the sentence. > > I also do not not think you have answered his question about the > directionality of the delegation either (it should just be a copy-paste > from riscv,children, no?). For APLIC, the interrupt delegation is always from parent domain to the child domain. I will add a statement about this in the description. > > > + > > +required: > > + - compatible > > + - reg > > + - interrupt-controller > > + - "#interrupt-cells" > > + - riscv,num-sources > > btw, do we need something like: > > anyOf: > - required: > - interrupts-extended > - required: > - msi-parent Okay, I will update. > > & hopefully I didn't previously ask this one: > dependencies: > riscv,delegate: [ riscv,children ] > > As an aside, I still think "riscv,delegate" looks strange here alongside > "riscv,children" since "delegate" is singular and "children" is plural. > The plural would be "delegates", but "delegation" would also fit better > than "delegate". Okay, I will rename it to "riscv,delegation". > > Cheers, > Conor. Regards, Anup