From: Jean-Philippe Brucker <jean-philippe@linaro.org> To: Auger Eric <eric.auger@redhat.com> Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, jacob.jun.pan@linux.intel.com, Jean-Philippe Brucker <jean-philippe.brucker@arm.com>, robin.murphy@arm.com, joro@8bytes.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, robh+dt@kernel.org, will@kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 4/8] iommu/arm-smmu-v3: Add support for Substream IDs Date: Thu, 19 Sep 2019 17:01:39 +0200 Message-ID: <20190919150139.GC1013538@lophozonia> (raw) In-Reply-To: <af286d72-97d7-d106-40a8-edfcbe563c98@redhat.com> On Mon, Jul 08, 2019 at 05:31:53PM +0200, Auger Eric wrote: > Hi Jean, > > On 6/10/19 8:47 PM, Jean-Philippe Brucker wrote: > > /* > > - * We don't need to issue any invalidation here, as we'll invalidate > > - * the STE when installing the new entry anyway. > > + * This function handles the following cases: > > + * > > + * (1) Install primary CD, for normal DMA traffic (SSID = 0). > > + * (2) Install a secondary CD, for SID+SSID traffic. > > + * (3) Update ASID of a CD. Atomically write the first 64 bits of the > > + * CD, then invalidate the old entry and mappings. > Can you explain when (3) does occur? When sharing a process context with devices (SVA), we write in that context descriptor the ASID allocated by the arch ASID allocator for that process. But that ASID might already have been allocated locally by the SMMU driver for a private context. As there is a single ASID space per SMMU for both private and shared ASIDs, we reallocated the private ASID and update it here. See https://lore.kernel.org/linux-iommu/20180511190641.23008-25-jean-philippe.brucker@arm.com/ > > + * (4) Remove a secondary CD. > > */ > > - val = arm_smmu_cpu_tcr_to_cd(cfg->cd.tcr) | > > + > > + if (!cdptr) > > + return -ENOMEM; > Is that relevant? arm_smmu_get_cd_ptr() does not test ssid is within the > cfg->s1cdmax range and always return smthg != NULL AFAIU. It might return NULL with patch 5/8, when we can't allocate a 2nd-level table. I can move the check over to that patch. > > + ret = arm_smmu_write_ctx_desc(smmu_domain, 0, &smmu_domain->s1_cfg.cd); > cfg.cd Right. Thanks, Jean _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply index Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-10 18:47 [PATCH 0/8] iommu: Add auxiliary domain and PASID support to Arm SMMUv3 Jean-Philippe Brucker 2019-06-10 18:47 ` [PATCH 1/8] iommu: Add I/O ASID allocator Jean-Philippe Brucker 2019-06-11 9:36 ` Jonathan Cameron 2019-06-11 14:35 ` Jean-Philippe Brucker 2019-06-11 18:13 ` Jacob Pan 2019-06-18 14:22 ` Jean-Philippe Brucker 2019-06-18 17:05 ` Jacob Pan 2019-06-19 14:26 ` Jean-Philippe Brucker 2019-06-11 12:26 ` Jacob Pan 2019-06-11 14:37 ` Jean-Philippe Brucker 2019-06-11 17:10 ` Jacob Pan 2019-06-12 11:30 ` Jean-Philippe Brucker 2019-06-10 18:47 ` [PATCH 2/8] dt-bindings: document PASID property for IOMMU masters Jean-Philippe Brucker 2019-07-08 7:58 ` Auger Eric 2019-06-10 18:47 ` [PATCH 3/8] iommu/arm-smmu-v3: Support platform SSID Jean-Philippe Brucker 2019-06-11 9:42 ` Jonathan Cameron 2019-06-11 14:35 ` Jean-Philippe Brucker 2019-06-18 18:08 ` Will Deacon 2019-06-19 11:53 ` Jean-Philippe Brucker 2019-07-08 7:58 ` Auger Eric 2019-09-19 14:51 ` Jean-Philippe Brucker 2019-06-10 18:47 ` [PATCH 4/8] iommu/arm-smmu-v3: Add support for Substream IDs Jean-Philippe Brucker 2019-06-11 10:19 ` Jonathan Cameron 2019-06-11 14:35 ` Jean-Philippe Brucker 2019-06-26 18:00 ` Will Deacon 2019-07-04 9:33 ` Jean-Philippe Brucker 2019-09-19 14:57 ` Jean-Philippe Brucker 2019-07-08 15:31 ` Auger Eric 2019-09-19 15:01 ` Jean-Philippe Brucker [this message] 2019-06-10 18:47 ` [PATCH 5/8] iommu/arm-smmu-v3: Add second level of context descriptor table Jean-Philippe Brucker 2019-06-11 10:24 ` Jonathan Cameron 2019-07-08 15:13 ` Auger Eric 2019-06-10 18:47 ` [PATCH 6/8] iommu/arm-smmu-v3: Support auxiliary domains Jean-Philippe Brucker 2019-06-26 17:59 ` Will Deacon 2019-07-05 16:29 ` Jean-Philippe Brucker 2019-09-19 15:06 ` Jean-Philippe Brucker 2019-06-10 18:47 ` [PATCH 7/8] iommu/arm-smmu-v3: Improve add_device() error handling Jean-Philippe Brucker 2019-07-08 7:58 ` Auger Eric 2019-06-10 18:47 ` [PATCH 8/8] iommu/arm-smmu-v3: Add support for PCI PASID Jean-Philippe Brucker 2019-06-11 10:45 ` Jonathan Cameron 2019-06-11 14:35 ` Jean-Philippe Brucker 2019-07-08 7:58 ` Auger Eric 2019-09-19 15:10 ` Jean-Philippe Brucker
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190919150139.GC1013538@lophozonia \ --to=jean-philippe@linaro.org \ --cc=devicetree@vger.kernel.org \ --cc=eric.auger@redhat.com \ --cc=iommu@lists.linux-foundation.org \ --cc=jacob.jun.pan@linux.intel.com \ --cc=jean-philippe.brucker@arm.com \ --cc=joro@8bytes.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=robh+dt@kernel.org \ --cc=robin.murphy@arm.com \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-ARM-Kernel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \ linux-arm-kernel@lists.infradead.org public-inbox-index linux-arm-kernel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git