From patchwork Thu Oct 19 22:08:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 828370 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fF678w3j"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yJ33B0z3Cz9t6M for ; Fri, 20 Oct 2017 09:08:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752975AbdJSWIV (ORCPT ); Thu, 19 Oct 2017 18:08:21 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:47344 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751856AbdJSWIV (ORCPT ); Thu, 19 Oct 2017 18:08:21 -0400 Received: by mail-wm0-f67.google.com with SMTP id t69so18601796wmt.2 for ; Thu, 19 Oct 2017 15:08:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=44GCA5WeXrz2AmdsKJTdUVyeUIpVGxc/SsmUqahBv9U=; b=fF678w3j8otU3uko0sGWChzoVwquKcjvPdhlMCDBK79MWNIF59j4mx7J7XLXF34lnF RUptFTRokSOHgvFImW4gHRZ8vsIFF9xCyF39h3bBp1nQZob/4FX/UP+f8Ymz8JaliIxG 0o4eFTGdiBP1M9J7EMeteoDspAlsOZq441ea4Q5FPGuMU+TXYbXPE1dMydVRiB1lY1lb UgGb8zvFeHzVmzLlhDu9Sfr2KZnb2KQdFgHVAjQIiEc+MoYWmFhTzTC0kIAx29Iedpk7 OiRPVAWAsEEJqck5cWeiK5GweM6tpIBWwiRpi05wGN3plMWzQU78mSEKL24W2uv4hdkR 8J7w== 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:in-reply-to:references; bh=44GCA5WeXrz2AmdsKJTdUVyeUIpVGxc/SsmUqahBv9U=; b=FhNPeroMqkvDdvy1n9vgT5h+LnfXvdopcplkhNeN09SmeYsI35YZRXG2L9QgrkXQlg /KnbBzPBldkHlhVRnhUgCmot6XimtwTDkvQnoxyCydCH0RiJ/CRQZax/Pu+ZeD7zAwP6 jcXXddvLL6CmE8bmclFQ6lEUBrrmm6xj3qC7vrHGRzeV3ySpa7/dtnjD6sKWdRFW5PF6 q/hsCDifRupZrpV6J0W0XXalev4SmgrFvcddfC4rTu5DeiYXocBBcNWBTB3ktvf8Kq1/ 0m02soaS6YPEvNy2z0dJISpEbARGZUc5qew5FSZ7jtexUrrtYWfZIYmjH9/ID3uAKiQI LGEQ== X-Gm-Message-State: AMCzsaU9ID1adiXE5ZbgS8eo23eZCQImc8h4ESM6s20uKh9VwUhs8BEw Uw1D6NCf1pZdQyh2ekBVzDA= X-Google-Smtp-Source: ABhQp+Qn31MN//HQ7NTf3wIgrHypyEZEIYxylsrnAfdgWrrzPe2pZFTDVHW078xc2Axp1YChVreXIg== X-Received: by 10.28.133.2 with SMTP id h2mr2545716wmd.67.1508450900050; Thu, 19 Oct 2017 15:08:20 -0700 (PDT) Received: from localhost.localdomain (ppp109-252-91-27.pppoe.spdop.ru. [109.252.91.27]) by smtp.gmail.com with ESMTPSA id c37sm29084266wra.73.2017.10.19.15.08.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Oct 2017 15:08:19 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter Cc: linux-tegra@vger.kernel.org Subject: [PATCH v3 2/2] soc/tegra: fuse: Explicitly request DMA channel from APB DMA driver Date: Fri, 20 Oct 2017 01:08:04 +0300 Message-Id: <059ca713c7416aedeb0080ab4b8a49da430a30b9.1508450681.git.digetx@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: References: In-Reply-To: References: Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Currently fuse driver requests DMA channel from an arbitrary DMA device, it is not a problem since there is only one DMA provider for Tegra20 yet, but it may become troublesome if another provider will appear. Signed-off-by: Dmitry Osipenko Acked-by: Jon Hunter --- drivers/soc/tegra/fuse/fuse-tegra20.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/soc/tegra/fuse/fuse-tegra20.c b/drivers/soc/tegra/fuse/fuse-tegra20.c index 27e9ac7d3165..49ff017f3ded 100644 --- a/drivers/soc/tegra/fuse/fuse-tegra20.c +++ b/drivers/soc/tegra/fuse/fuse-tegra20.c @@ -96,6 +96,13 @@ static u32 tegra20_fuse_read(struct tegra_fuse *fuse, unsigned int offset) return value; } +static bool dma_filter(struct dma_chan *chan, void *filter_param) +{ + struct device_node *np = chan->device->dev->of_node; + + return of_device_is_compatible(np, "nvidia,tegra20-apbdma"); +} + static int tegra20_fuse_probe(struct tegra_fuse *fuse) { dma_cap_mask_t mask; @@ -103,7 +110,7 @@ static int tegra20_fuse_probe(struct tegra_fuse *fuse) dma_cap_zero(mask); dma_cap_set(DMA_SLAVE, mask); - fuse->apbdma.chan = dma_request_channel(mask, NULL, NULL); + fuse->apbdma.chan = __dma_request_channel(&mask, dma_filter, NULL); if (!fuse->apbdma.chan) return -EPROBE_DEFER;