Received: by 10.223.185.116 with SMTP id b49csp1958535wrg; Thu, 15 Feb 2018 04:28:40 -0800 (PST) X-Google-Smtp-Source: AH8x225NrxwTk7Q6SkqcPzzTGAGXKfiAlG80W6mBKw5Y4GcoK9EkmSCJMu48KE86NxBCv6I88T9L X-Received: by 2002:a17:902:b43:: with SMTP id 61-v6mr2477711plq.270.1518697720384; Thu, 15 Feb 2018 04:28:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518697720; cv=none; d=google.com; s=arc-20160816; b=B+WYnRxBiuLyY9KEiaUGJvUqaLCHI6cv1XmxTGxqybawcqu4QESYbgD+hilaK2hIsk bSQdNJ9IaEHduFQXbCAGClhEQ4cMwEVjp5h8z8IMs9UZbfWqbzj6yDwQc83DEDTfxt7N LsMGYuQ63buOJRT2SE0rBxuQqBmiEtTDIPtDPGbBqUgn6/HFJCLthjRLAPCbtrnMs1uT Hbj7fJAOowTXXZ9/wB80jM0fbIvQZZqJ3fCFnClYC1rdtN2DuSBvI5mwKqjm4PU5w0+u 75slyJVYoO3qFeuJXPNRbEVh84HAN/ciQLNhW8l36Aiaf2884q2SsXEQtV6irexq2L7K Do5g== 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=RSa3LU5wUBWKC8vAfFrBH1aVnlFF86oIsBtMOFIVLZw=; b=mq4ULx/3oa07e6PJGt7gJltHJ7qmj2CD6LWKD0GIh5pRO+snsqjyb32lIB2UhdqgZI qRpBLlI08qKDCqNLKe13O4savVvK6V9m7Pub9ENqAZn0Ga1cAxR3kDQWTZhNPEBsq0ho aFLON+gGNzy+iLMTHxl3S5eD+9w8Ouq27rWLBc0LhAU1nz+eZUp1dIjEYNGzmuW+ReKP lRoXI3240Qphe8XgEgTadntRgiAqkcDzTLcFAkBG7W7dYPpTAnR8oPhQlHFckQYo1Oxx m3z3LrjT2qHgtwlO5gsJ+WOou36aHHebb5eVJNFsNjdteteS/dXAEhID2qWP60EpFT1w O2Tw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=D4UJVLMH; 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 f90-v6si2590550plb.684.2018.02.15.04.28.25; Thu, 15 Feb 2018 04:28:40 -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=D4UJVLMH; 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 S1031597AbeBOM13 (ORCPT + 99 others); Thu, 15 Feb 2018 07:27:29 -0500 Received: from mail-wr0-f194.google.com ([209.85.128.194]:34252 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031468AbeBOM1W (ORCPT ); Thu, 15 Feb 2018 07:27:22 -0500 Received: by mail-wr0-f194.google.com with SMTP id m5so3178101wrg.1 for ; Thu, 15 Feb 2018 04:27:21 -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=RSa3LU5wUBWKC8vAfFrBH1aVnlFF86oIsBtMOFIVLZw=; b=D4UJVLMHo36uQkREUXWg5shcnT3pNCptXgQcW0vwJFd/T1oRkT6YFHzaU/YCv3KPzu X6bR4fBogmy27NebYFej0zFFE4pveiu3xDQpWLrfgyIcVAxirD0wCvQI9h+jc+BMok7V 1MQVxyhfS0JU4S6JtOvwA9SG6mYdy6nlrC8E4= 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=RSa3LU5wUBWKC8vAfFrBH1aVnlFF86oIsBtMOFIVLZw=; b=pcUEuIAuTfk9lB+gYs03ZP5t+k8T8hUurhvvuoAdyXketXeObJSzjlOM+QXhIN9rwd PqjvlOAFALN54PRbQM76Q6YhI5Wz7EyIFFwmB78n4NT754y6hX3cMp2Vl7qm3OcUn1hV Jht7fl8SRNy01EI5sXL0vwQPotrH5ZUBTb2LcEdxx1a/6jpfg5YdZl1+qGLKXFfiBkbW T6N/jRbMHK3XNM9v8y52qFJZomCdl2Yxo9qyqkOzIjCx1wuGwckDTstogAEJzfcx3D2z GdZI7HbzCcdu33QWVjxmJuHLNcK4+p1Jn1MpvT7PoS0dip01TeTTOZ7SACk7Hv5cUaEQ 56Bw== X-Gm-Message-State: APf1xPAI+sT6424p0Te0yspS1V07046sMetMiaZ2SxEiLRqgPEjONdH9 Jg/zOoPDE5r0IJxoA8oMWg7IMQ== X-Received: by 10.223.172.75 with SMTP id v69mr2354462wrc.269.1518697640840; Thu, 15 Feb 2018 04:27:20 -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.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Feb 2018 04:27:20 -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 4/5] dmaengine: qcom: bam_dma: do not write to global regs in remote mode Date: Thu, 15 Feb 2018 12:25:10 +0000 Message-Id: <20180215122511.13517-5-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 BAM_DESC_CNT_TRSHLD register is global register, which can only be written when BAM is in master mode, So check the mode of operation before writing it. Without this check SOC's xPU would catch such access and crash the system. First noticed on DB820c while testing SLIMBus BAM. Signed-off-by: Srinivas Kandagatla --- drivers/dma/qcom/bam_dma.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c index 139e9f5e47a9..6919f501b9f3 100644 --- a/drivers/dma/qcom/bam_dma.c +++ b/drivers/dma/qcom/bam_dma.c @@ -935,12 +935,15 @@ static void bam_apply_new_config(struct bam_chan *bchan, struct bam_device *bdev = bchan->bdev; u32 maxburst; - if (dir == DMA_DEV_TO_MEM) - maxburst = bchan->slave.src_maxburst; - else - maxburst = bchan->slave.dst_maxburst; + if (!bdev->controlled_remotely) { + if (dir == DMA_DEV_TO_MEM) + maxburst = bchan->slave.src_maxburst; + else + maxburst = bchan->slave.dst_maxburst; - writel_relaxed(maxburst, bam_addr(bdev, 0, BAM_DESC_CNT_TRSHLD)); + writel_relaxed(maxburst, + bam_addr(bdev, 0, BAM_DESC_CNT_TRSHLD)); + } bchan->reconfigure = 0; } -- 2.15.1