From patchwork Fri Mar 2 14:55:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 130542 Delivered-To: patch@linaro.org Received: by 10.46.66.2 with SMTP id p2csp1362791lja; Fri, 2 Mar 2018 06:58:51 -0800 (PST) X-Google-Smtp-Source: AG47ELuUjvbxddMlPU+u/wyGdXx/+KJ5U4e0MEeGtLWU8EH09JtS+cYcK2eyHXvL5/L3+HTpehpd X-Received: by 10.99.125.29 with SMTP id y29mr4740881pgc.277.1520002731303; Fri, 02 Mar 2018 06:58:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520002731; cv=none; d=google.com; s=arc-20160816; b=u5gPQ3K5qL5JiPjYsCQalsxf+/G6TGu049cV9WJ8y9GXFx8LUZmOF54RNm/5n/DoH/ El40aj/MvXJCNFlcZE7KbUEbLghQXlS3rWHWd5Dub3wcGvgZEoPcUIWGKzSuW8CIZq1D rOjEkQ9Q/caMa2WmMXucJuPv1Ja/jpYRhf3rJnc3W1RQwUMqomJOTTOGHUWiAuofLKL8 Ik0C2+754RbA3EYBIh2jpmwxWDRoJnBQM1fa+IeI7m1wDv0jnbhHbndV1msHDlfoe40o KgDKDu8IXllyWV8M6inxdOb2H/K2D2Y3XBn+x3MNO2tVvMMISmg8ag+GwQ+rk9rpd4oI zZ1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=TYg/RYrUqDpMdA/1qaWvs8FJggDK9XLci+6XgJtdT40=; b=bhAzgnIwrjWE8COv3m1FYQhEm+9nuCL8bDo4prZRP2MUkve3nJ84kG+YrcNd5P8WuF XUKQc0vy97k9EL8olr4FoS6IGY58u+8aySIpYna7CEDIqvv24+foY+r5A3UDuunzhwkS 3S8Z3d2XLXnU6NsWdSVorkad31XwFysPJDNCtdgiALIFxDLz3HnNhunIXTctmirJGmV2 qvDoOF9wSIkrQjIL5ZoWGEkzJ3eBtAs+ZjN9DL1PbWcNlStU37nrnaKzUVYatTZGW150 ODYk0P3fTxRiWt4oPnx9kTot37lbkr3V4EERX5J7aGYxjZ41aDvdNxw6YsIkahzEwnmV L+Lw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OJdX46mZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u188si4095606pgc.785.2018.03.02.06.58.51; Fri, 02 Mar 2018 06:58:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OJdX46mZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1428968AbeCBO6q (ORCPT + 28 others); Fri, 2 Mar 2018 09:58:46 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:46373 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1428939AbeCBO6b (ORCPT ); Fri, 2 Mar 2018 09:58:31 -0500 Received: by mail-wr0-f195.google.com with SMTP id m12so10365168wrm.13 for ; Fri, 02 Mar 2018 06:58:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=TYg/RYrUqDpMdA/1qaWvs8FJggDK9XLci+6XgJtdT40=; b=OJdX46mZp+AVvEUr4rNHeypAEoGKKjOdAYLAMneo/qdhulUR5OuqM/3tmsclovprOZ +dg4a0AecD4FnP/ndQz1EKjURl4EZsY7JSYeT8QhvuLIPm3PLzQymHvLvZ4Y6I8ExE/V WgEg6D+u7sbzL2Bi7vSE1EzStbxSCYMR3edw0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=TYg/RYrUqDpMdA/1qaWvs8FJggDK9XLci+6XgJtdT40=; b=lhVQMUJOzHaOjHJpjQ6DH4vqaHbJCDvICtVJZbYRnBYd/2mN5L3ubCovQINPL2a0MI /CQguaZEYoRBEWGRlnEkibqTZNiysSGuAseNtaj/FfukEQkqQQGUiTyZGxxF7UGHmBKn 8C5Yy2Dh8Gxuag8xb8XXXcMsIFFi2Jr89qh+Nn+Jke8c2xnuylACoFUg1T6X8Q/AHlXr GnTiX1HJr/NjoghhfhzM0+fqsF9AFp5fyTMtye+IicP7Uo72tte27s49rSE+bGJMYVog LRzaqJuxsvz3dd6KP8G+JR+45yxoZAS4dlyw4BZ9rfV+963rN1RBWX/yCcrA3soyBnl4 Tq+A== X-Gm-Message-State: APf1xPBLGY6sfnpazkmgu7JanQ8I36Od6b6tvIXIdeXBU6fJR+COxs0U 9wK7HPNO+HjNq1UmBq1bLb+0QBoiPRI= X-Received: by 10.223.170.78 with SMTP id q14mr5041859wrd.271.1520002710427; Fri, 02 Mar 2018 06:58:30 -0800 (PST) Received: from localhost.localdomain (cpc90716-aztw32-2-0-cust92.18-1.cable.virginm.net. [86.26.100.93]) by smtp.gmail.com with ESMTPSA id b68sm1483168wmi.30.2018.03.02.06.58.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 02 Mar 2018 06:58:29 -0800 (PST) From: srinivas.kandagatla@linaro.org To: will.deacon@arm.com, robin.murphy@arm.com, bjorn.andersson@linaro.org Cc: joro@8bytes.org, ohad@wizery.com, linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, linux-remoteproc@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 3/3] iommu: armsmmu: set iommu ops for rpmsg bus Date: Fri, 2 Mar 2018 14:55:31 +0000 Message-Id: <20180302145531.20463-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180302145531.20463-1-srinivas.kandagatla@linaro.org> References: <20180302145531.20463-1-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Srinivas Kandagatla On Qualcomm SoCs, ADSP exposes many functions like audio and others. These services need iommu access to allocate any memory for the DSP. As these drivers are childeren of rpmsg bus, able to allocate memory from iommus is basic requirement. So set arm smmu iommu ops for this bus type. Signed-off-by: Srinivas Kandagatla --- drivers/iommu/arm-smmu.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.15.1 diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index e6920d32ac9e..9b63489af15c 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -53,6 +53,7 @@ #include #include +#include #include "io-pgtable.h" #include "arm-smmu-regs.h" @@ -2168,6 +2169,10 @@ static void arm_smmu_bus_init(void) bus_set_iommu(&pci_bus_type, &arm_smmu_ops); } #endif +#ifdef CONFIG_RPMSG + if (!iommu_present(&rpmsg_bus)) + bus_set_iommu(&rpmsg_bus, &arm_smmu_ops); +#endif } static int arm_smmu_device_probe(struct platform_device *pdev)