From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E36B9C433E8 for ; Thu, 16 Jul 2020 15:22:37 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B41A62065F for ; Thu, 16 Jul 2020 15:22:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="i69rUwMl"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="Aid7CEoB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B41A62065F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2uj2z4/ANEjgh54Ocl6mD/EGbn3AOxcIqVLIrYJaeqA=; b=i69rUwMlhOhTaM7M8yI5d+Hgs NfQlJgputfdOAlqAMgwjErnx0P1u+bbXu+f+FGbZHOmybWJqZACX2ocCG6ZTYvNZPoAywIvA+nAE7 Ueve5AmzSWxMz09n9rJMRQ7Oup6RaYloWCFZWhaZXzoiXW0syrP6U3cKKCxtEbfgbEEjTknmtBJyR Cykyk/lWhbNCgJidIba0c8j0A9rTqDfM7oAHsyacBRlEvAya3hsCx6bGfdqW/JUsXoXXo6cpVBQR9 F4+UJapk49+ivBKt8x0Mvv9aPbDwosGTC+XJDx9cuqNSpQe7FPzZuN6ShTI+2qVM1RBirhhD+P0z8 yxurasnqw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jw5h0-0007Qd-4P; Thu, 16 Jul 2020 15:21:02 +0000 Received: from mail29.static.mailgun.info ([104.130.122.29]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jw5gt-0007Pu-8V for linux-arm-kernel@lists.infradead.org; Thu, 16 Jul 2020 15:21:00 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1594912859; h=In-Reply-To: Content-Type: MIME-Version: References: Message-ID: Subject: Cc: To: From: Date: Sender; bh=Fsjdjjd/Og6F+tby19z8oTo04GrQvO0K2CiurdVNlIQ=; b=Aid7CEoBr6D9POpsPI1g2j9eAEzi/E/hHYSIJEGbFUkybTAcgohCFcGgTb/N7ghMwhEVKv9Y wy49nLrpaLjPvKnDvXDMwexpErpHV0EWSLrFodxhGUAArBaA1LJj1QGLfD5D3yr2O99Jfk2Y AFWEtJwfiEWxlSq+hV9rIM+pmqU= X-Mailgun-Sending-Ip: 104.130.122.29 X-Mailgun-Sid: WyJiYzAxZiIsICJsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmciLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n14.prod.us-west-2.postgun.com with SMTP id 5f106f4fb35196d59d468b59 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Thu, 16 Jul 2020 15:16:31 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 8BDFBC433C9; Thu, 16 Jul 2020 15:16:30 +0000 (UTC) Received: from jcrouse1-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jcrouse) by smtp.codeaurora.org (Postfix) with ESMTPSA id 0060BC433C9; Thu, 16 Jul 2020 15:16:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 0060BC433C9 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=jcrouse@codeaurora.org Date: Thu, 16 Jul 2020 09:16:25 -0600 From: Jordan Crouse To: Will Deacon Subject: Re: [Freedreno] [PATCH v9 4/7] iommu/arm-smmu: Add a pointer to the attached device to smmu_domain Message-ID: <20200716151625.GA14526@jcrouse1-lnx.qualcomm.com> Mail-Followup-To: Will Deacon , Sai Prakash Ranjan , linux-arm-msm@vger.kernel.org, Joerg Roedel , Robin Murphy , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, John Stultz , freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org References: <20200626200042.13713-1-jcrouse@codeaurora.org> <20200626200042.13713-5-jcrouse@codeaurora.org> <20200713150901.GA3072@willie-the-truck> <20200713171917.GA3815@jcrouse1-lnx.qualcomm.com> <20200716085053.GB6771@willie-the-truck> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200716085053.GB6771@willie-the-truck> User-Agent: Mutt/1.5.24 (2015-08-30) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200716_112059_379677_6E2E689B X-CRM114-Status: GOOD ( 27.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: freedreno@lists.freedesktop.org, Sai Prakash Ranjan , linux-arm-msm@vger.kernel.org, Joerg Roedel , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, John Stultz , Robin Murphy , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Jul 16, 2020 at 09:50:53AM +0100, Will Deacon wrote: > On Mon, Jul 13, 2020 at 11:19:17AM -0600, Jordan Crouse wrote: > > On Mon, Jul 13, 2020 at 04:09:02PM +0100, Will Deacon wrote: > > > On Fri, Jun 26, 2020 at 02:00:38PM -0600, Jordan Crouse wrote: > > > > diff --git a/drivers/iommu/arm-smmu.h b/drivers/iommu/arm-smmu.h > > > > index 5f2de20e883b..d33cfe26b2f5 100644 > > > > --- a/drivers/iommu/arm-smmu.h > > > > +++ b/drivers/iommu/arm-smmu.h > > > > @@ -345,6 +345,7 @@ struct arm_smmu_domain { > > > > struct mutex init_mutex; /* Protects smmu pointer */ > > > > spinlock_t cb_lock; /* Serialises ATS1* ops and TLB syncs */ > > > > struct iommu_domain domain; > > > > + struct device *dev; /* Device attached to this domain */ > > > > > > This really doesn't feel right to me -- you can generally have multiple > > > devices attached to a domain and they can come and go without the domain > > > being destroyed. Perhaps you could instead identify the GPU during > > > cfg_probe() and squirrel that information away somewhere? > > > > I need some help here. The SMMU device (qcom,adreno-smmu) will have at least two > > stream ids from two different platform devices (GPU and GMU) and I need to > > configure split-pagetable and stall/terminate differently on the two domains. > > Hmm. How does the GPU driver know which context bank is assigned to the GPU > and which one is assigned to the GMU? I assume it needs this information so > that it can play its nasty tricks with the TTBR registers? > > I ask because if we need to guarantee stability of the context-bank > assignment, then you could match on that in the ->init_context() callback, > but now I worry that it currently works by luck :/ Its more like "educated" luck. If we assign the domains in the right order we know that the GPU will be on context bank 0 but you are entirely right that if everything doesn't go exactly the way we need things go badly. Some targets do have the ability to reprogram which context bank is used but that would require a domain attribute from the SMMU driver to communicate that information back to the GPU driver. > Do we need to add an extra callback to allocate the context bank? That seems like a reasonable option. That seems like it would work with legacy targets and rely less on luck. Jordan -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel