Received: by 10.223.185.116 with SMTP id b49csp1959739wrg; Thu, 15 Feb 2018 04:29:49 -0800 (PST) X-Google-Smtp-Source: AH8x226e7FXMEK9Rk83V3hlPg/bZjit2oa2C2NPYzsLuij8RpNF0LGkc0PiJkWUgZ1rKd5zXb6TE X-Received: by 10.98.10.199 with SMTP id 68mr2516397pfk.202.1518697789284; Thu, 15 Feb 2018 04:29:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518697789; cv=none; d=google.com; s=arc-20160816; b=CoyDVYA6vMjsKQwFjwXA2UgYtjNBYLWyY2AeztVFUU94gObGohIgX0m/ROiNVST/+R 4kcylO4OmyMuf1Gwy4QVWRgfzDUAxaJcYMt24l72Ljszwlm9DWq5Zf0w29G0Dq/kZRIr nzYCZbor4mHqr/5fA9GSnmhGALRikQ0zX+mgyCw1WxXCbMn9yXGjb0BPrtKeL8xM0FSy iE21qcXXsm4BqNg0GPYulS2Mk7kEBIOJXCIzlOkgGX9hHOlGHNvMgeuKq8w2YsJQqdXX DdWOkAXEvEuOHQq1NV9pO9tUwua7j5TH+lMotzh/R20Cli1iHxXOIySkvmZzywc80TVb SMQQ== 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=mitw7QQlF05ZYn5f+YltPDyfGcQqCth4+uO7SALBKmE=; b=i8SpK/nFUBQwgSmeeFQvT0NWfMyCYigBT9GJ0Q0SVfEh6U+HQH9Vzcl3hTnqIfFkFA /5bHEbd5qEtwuHeTc0BZK/h0JHMipU6T7eLTqdT51ZNoT6I6YSAptMYXof/XqxKLrc1y YV+xbZJk0L74sdb3fFWag7uhDhxMsjIeQBnqLjq3avWbWzAPDaD32G5RHdFL+qEKyJbL yB1T7GB7XIdGjXkDD8CN0+X/ER36ea6Jfm4GZH/9v8ot58GHfP1FHjTr4qw8lRAGoVMs GpxDqSJfMOOFwe/JOM76R41P1baiJRx3Na6Ymt5F7IcoyohtFiZJe4xGxmq8j3KkdlrY oS2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bya7RMud; 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 g5si9457595pgo.780.2018.02.15.04.29.34; Thu, 15 Feb 2018 04:29:49 -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=bya7RMud; 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 S1031807AbeBOM1p (ORCPT + 99 others); Thu, 15 Feb 2018 07:27:45 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:56193 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031505AbeBOM1X (ORCPT ); Thu, 15 Feb 2018 07:27:23 -0500 Received: by mail-wm0-f66.google.com with SMTP id h74so460736wme.5 for ; Thu, 15 Feb 2018 04:27:23 -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=mitw7QQlF05ZYn5f+YltPDyfGcQqCth4+uO7SALBKmE=; b=bya7RMudFAEbRE5wIofJurrWuRNp0PtX8aox4paa3+eKKHPTN/T+g7UhVgzd2R+BDI cpe5Fr75tjEREiAFtVP4IvG1F2GQgIo7Ds0uXgDdsLsbJwWwPXQWbIrSxUDC1I6RG9Ju g3S8SMVgRFdQG31gTiZda2/zdxg/zLPQ4ApRQ= 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=mitw7QQlF05ZYn5f+YltPDyfGcQqCth4+uO7SALBKmE=; b=AFj7uPBCizrArN9bwHfIKtfGQU8Sb2rIX8g392uZIKloYMNQ/tONGr5DqnHPBHcijU QxWOdLttXGeHqw+mMdpcf9XVxn4vWfV3XFqNutpSh/lGihcRp7GKM9Xm9NKRYeDougTB q+z3Z9rtK5PIyareBcTUPWolNR9jgCoUBNrw9vBoq4yKOxXp6MHUwO3Zy1Ow8VPxB4wf MWMNX3/lBoGlKjrxmq/EEcJPGyO3xZWkiJ2ZVeAqlFs36NOMBfh3JyLQ/vSYXlVDYrvB 09xjk5PjxvWkjS/j1e4w8GWxVAjJZ6/sbAFYs0NfK9EUjTe8HSgNxdCSmN776usF+ZO2 jR/A== X-Gm-Message-State: APf1xPA7+UQk29s+HW3Qb28aD5/6SCLZY9uDMW4R5lS9u0Va0OKR9MNC n0So3ZNCt/x+ZAmVHp4KokWkXg== X-Received: by 10.28.150.139 with SMTP id y133mr1926655wmd.142.1518697642093; Thu, 15 Feb 2018 04:27:22 -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 s9sm15632778wra.4.2018.02.15.04.27.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Feb 2018 04:27:21 -0800 (PST) From: srinivas.kandagatla@linaro.org To: vinod.koul@intel.com, andy.gross@linaro.org, dmaengine@vger.kernel.org Cc: robh+dt@kernel.org, mark.rutland@arm.com, david.brown@linaro.org, dan.j.williams@intel.com, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, yanhe@quicinc.com, ramkri@qti.qualcomm.com, sdharia@quicinc.com, Srinivas Kandagatla Subject: [PATCH v3 5/5] dmaengine: qcom: bam_dma: disable runtime pm on remote controlled Date: Thu, 15 Feb 2018 12:25:11 +0000 Message-Id: <20180215122511.13517-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180215122511.13517-1-srinivas.kandagatla@linaro.org> References: <20180215122511.13517-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 Remotely controlled BAM instance should not do any power management from CPU side, as cpu can not reliably say if the BAM is busy or not. Disable it for such instances. Signed-off-by: Srinivas Kandagatla --- drivers/dma/qcom/bam_dma.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 6919f501b9f3..d29275b97e84 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -1333,6 +1333,11 @@ static int bam_dma_probe(struct platform_device *pdev) if (ret) goto err_unregister_dma; + if (bdev->controlled_remotely) { + pm_runtime_disable(&pdev->dev); + return 0; + } + pm_runtime_irq_safe(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, BAM_DMA_AUTOSUSPEND_DELAY); pm_runtime_use_autosuspend(&pdev->dev); @@ -1416,7 +1421,8 @@ static int __maybe_unused bam_dma_suspend(struct device *dev) { struct bam_device *bdev = dev_get_drvdata(dev); - pm_runtime_force_suspend(dev); + if (!bdev->controlled_remotely) + pm_runtime_force_suspend(dev); clk_unprepare(bdev->bamclk); @@ -1432,7 +1438,8 @@ static int __maybe_unused bam_dma_resume(struct device *dev) if (ret) return ret; - pm_runtime_force_resume(dev); + if (!bdev->controlled_remotely) + pm_runtime_force_resume(dev); return 0; } -- 2.15.1