Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp4473882rwb; Mon, 31 Jul 2023 07:26:12 -0700 (PDT) X-Google-Smtp-Source: APBJJlG08jHnAdOQVQ87Hfh/c1cW4/sZxNBSuOOsNBXyn48gJK9rIREVTyj7y2wqO/b2JvqU7slA X-Received: by 2002:a05:6a20:7d9d:b0:135:1af6:9a01 with SMTP id v29-20020a056a207d9d00b001351af69a01mr10489323pzj.8.1690813572254; Mon, 31 Jul 2023 07:26:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690813572; cv=none; d=google.com; s=arc-20160816; b=aXpeCcO8y5DlbZTQbJetZPzlXd0NaPwxXXWteRAAsDISX7uXgMctzOM9MOenom8+1M dcmuZMmCt0aU9LYcdBRm5aDRcMpcKQZHqrl6H9XnIn4NXKh9CtDrZkXYLcmHvjmc2F/9 q/7qDe+Bnax69U5iNuW//GpwYIbR473EVdQ9kZOcGTKysXk+DiwVGdU4hC8T5GX37qL0 kClvI+WRDyWhmcS9lwDUDL17gliIJ8Ux7llu9j9Rb0isnaBNqERXaX8tfROx01ObdP/d vZx/pFCHBTXUflQxq6cHZGBmfLDlbKjwFi+QpywGz9Ey798xYexONgJ1E041Di8BGjDr QnSA== 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=vRH6VQXemkXA+D7i+tzL2o9BcfhJ0anPcs6glUFKwE0=; fh=a0cCxvtqpfd2Q8OCuqJQrh9Bk2TRnbeqElV4cCiRRGs=; b=xvVlTc3rxg5h13VIG8OOmECZ4mMiP0LEJbaTOcuEKXnU7BsoG6yfv/ZOdIBl9bnN3U pCmRamc8T0ES7pzXu80adnTXxJW6zxPPuVv01JuOqpfGC1JZTQlmMhvW/OJW/2gJYAEu IDt8Fl3Mmk1NWjCOPCeleFpeMhFrG+gqrKGLR1KfY8FD4+h8RhyUqlKR8uKp2k5yAq9S ignp27kZ+Gb4bmPjeTnHkRuyzIrA0wZks0u9en4+zy0nhcveV5eL0Wl3eT8Q6z5uGvKW JHwy08hWcceBIecQKQlfW5+Q+5cjcGwHBEp1k39ED8kkiPnIb5bNwhjZb6ioZAK4hQep bRZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=Q1xK9cDr; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bt12-20020a056a00438c00b00682642ec7c0si3221613pfb.338.2023.07.31.07.25.59; Mon, 31 Jul 2023 07:26:12 -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=@sifive.com header.s=google header.b=Q1xK9cDr; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231322AbjGaNQH (ORCPT + 99 others); Mon, 31 Jul 2023 09:16:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229815AbjGaNQG (ORCPT ); Mon, 31 Jul 2023 09:16:06 -0400 Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20226A0 for ; Mon, 31 Jul 2023 06:16:05 -0700 (PDT) Received: by mail-io1-xd2a.google.com with SMTP id ca18e2360f4ac-79095499a17so111234639f.3 for ; Mon, 31 Jul 2023 06:16:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1690809364; x=1691414164; 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=vRH6VQXemkXA+D7i+tzL2o9BcfhJ0anPcs6glUFKwE0=; b=Q1xK9cDrMwE0LmpgNCnRLvUiu1+Gy1wu4LA08EI6Ns27tGn2M4sR6WXFyPI4x03hCE R4ybue8dY+aQhR1eS8UN2p6CrvsFox2KJPbg8QEWZoAG4GsbHzcN8Rx7YiGQO1E/vDhT mhxaaMx6i4+u8v7bfVkcMLtgs9LLxKlunXXUjZgCUjAA0fUl338Hnvtd26JhQXGaOc9R +vf06UfCEhc5dv1jS+m3exRjGVN2pKVpVD6fIc8kmeJM9+b7oqlMRric8lKvpHobPGdw WIoJKxfkICtfilBWaf4sq9XGHKI3Qbnw1L3nM31WTMBUFVyePC6T0waakxIg4AcYn/a2 0HGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690809364; x=1691414164; 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=vRH6VQXemkXA+D7i+tzL2o9BcfhJ0anPcs6glUFKwE0=; b=TTukJ1/PXBRa6GEywN66/PXpvowl2kRryOmLEhE+ODFBFY2zlh7qOnBmTfj8BP1iXs RSLdsHBvh7hmybFrOUO9MUFkuEvnrRBeI/eC2GQQnYvVIe94+pWsnvuBRP9bgkCpUQsf yykijmiraej8W2VmJoH/zO/0bNwFQLoLBRBOKoGSosO+80dfvsS99gyH4Ygltabxg4Lc WaiblGsLlEPQOBKgbcpNUg48scOAs0f7JtoOvW2eyEgxjUbQf24uZtdMBRPvDNndCtxO f6Jty2OORigHX0o8no+hO4DlaYDfFvs7Jjn14s0iMb3SC85MfM8lyrkOKMQO4AlahS/R nLSg== X-Gm-Message-State: ABy/qLbJOj6O83Xdj6YUDvLTrQS/L21kkvi28pyz5k75reJzPuRV0op+ YsAEbSIrRhiaZ9WFwK0RiVZ6TFsX+a9zT8nSf4f6oA== X-Received: by 2002:a5d:9b1a:0:b0:787:6bd:e590 with SMTP id y26-20020a5d9b1a000000b0078706bde590mr9238130ion.3.1690809364466; Mon, 31 Jul 2023 06:16:04 -0700 (PDT) MIME-Version: 1.0 References: <1fd79e5c53d9d6ed2264f60dd4261f293cc00472.1689792825.git.tjeznach@rivosinc.com> <3d4d9b22-8451-f4d5-bbd8-117988f3a545@ics.forth.gr> In-Reply-To: <3d4d9b22-8451-f4d5-bbd8-117988f3a545@ics.forth.gr> From: Zong Li Date: Mon, 31 Jul 2023 21:15:53 +0800 Message-ID: Subject: Re: [PATCH 06/11] RISC-V: drivers/iommu/riscv: Add command, fault, page-req queues To: Nick Kossifidis Cc: Tomasz Jeznach , Joerg Roedel , Will Deacon , Robin Murphy , Paul Walmsley , Anup Patel , Albert Ou , linux@rivosinc.com, linux-kernel@vger.kernel.org, Sebastien Boeuf , iommu@lists.linux.dev, Palmer Dabbelt , linux-riscv@lists.infradead.org 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 autolearn=ham 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 Mon, Jul 31, 2023 at 5:32=E2=80=AFPM Nick Kossifidis = wrote: > > On 7/29/23 15:58, Zong Li wrote: > > On Thu, Jul 20, 2023 at 3:34=E2=80=AFAM Tomasz Jeznach wrote: > >> + iommu->cap =3D riscv_iommu_readq(iommu, RISCV_IOMMU_REG_CAP); > >> + > >> + /* For now we only support WSIs until we have AIA support */ > > > > I'm not completely understand AIA support here, because I saw the pci > > case uses the MSI, and kernel seems to have the AIA implementation. > > Could you please elaborate it? > > > > When I wrote this we didn't have AIA in the kernel, and without IMSIC we > can't have MSIs in the hart (we can still have MSIs in the PCIe controlle= r). Thanks for your clarification, do we support the MSI in next version? > > > > > Should we define the "interrupt-names" in dt-bindings? > > > > Yes we should, along with queue lengths below. > > >> + > >> + /* Make sure fctl.WSI is set */ > >> + fctl =3D riscv_iommu_readl(iommu, RISCV_IOMMU_REG_FCTL); > >> + fctl |=3D RISCV_IOMMU_FCTL_WSI; > >> + riscv_iommu_writel(iommu, RISCV_IOMMU_REG_FCTL, fctl); > >> + > >> + /* Parse Queue lengts */ > >> + ret =3D of_property_read_u32(pdev->dev.of_node, "cmdq_len", &i= ommu->cmdq_len); > >> + if (!ret) > >> + dev_info(dev, "command queue length set to %i\n", iomm= u->cmdq_len); > >> + > >> + ret =3D of_property_read_u32(pdev->dev.of_node, "fltq_len", &i= ommu->fltq_len); > >> + if (!ret) > >> + dev_info(dev, "fault/event queue length set to %i\n", = iommu->fltq_len); > >> + > >> + ret =3D of_property_read_u32(pdev->dev.of_node, "priq_len", &i= ommu->priq_len); > >> + if (!ret) > >> + dev_info(dev, "page request queue length set to %i\n",= iommu->priq_len); > >> + > >> dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > >>