From patchwork Fri Oct 2 21:15:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ezequiel Garcia X-Patchwork-Id: 54457 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-la0-f72.google.com (mail-la0-f72.google.com [209.85.215.72]) by patches.linaro.org (Postfix) with ESMTPS id 32ADF218EF for ; Fri, 2 Oct 2015 21:19:45 +0000 (UTC) Received: by laer8 with SMTP id r8sf51942392lae.2 for ; Fri, 02 Oct 2015 14:19:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:sender:precedence:list-id:x-original-sender :x-original-authentication-results:mailing-list:list-post:list-help :list-archive:list-unsubscribe; bh=M+8fIFvNto6Sge2KufssJo6Yuo2CZu/J45BpF2Fy8K8=; b=mwPZPiHSiYbzLI51as076lSFRRSJmJ4BlB9SUnV1Wy8nFELmHu8bYGzErWuxNYWEgg 31NaMHe+aKhdnPFmC5HWUBEqdTklXxd6m9KipgRi+nw4VXnkSzwh6AeCdfmO4MNp3vy1 nKKvZSqdxN7x1QSiS6mMti7ySfQxIp3HwBHA0jUvbsPi/Jnr9n6GM3+XzKapjPbfsWhu KXZdWrZJRWysa0/kUljTX4lm/qBfQ9HUI/l6tpSqwqW4ZrJiOhtwxtahUGhRBkbp1z9Z 3cW6jpk4+1Xwd3svtI77U7YVXJwxsFV6lDQL3Saim0IOLtLZs3G7haUySk3P5lvQUpKj D+UQ== X-Gm-Message-State: ALoCoQltMqv5CKSNdUtE8FH6LqTv4E5cxxtm3laWHCtMji4ykJix3us6FmW+lTeUWNpl6gLMQK8h X-Received: by 10.195.18.100 with SMTP id gl4mr3042709wjd.4.1443820783792; Fri, 02 Oct 2015 14:19:43 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.25.17.70 with SMTP id g67ls269261lfi.13.gmail; Fri, 02 Oct 2015 14:19:43 -0700 (PDT) X-Received: by 10.112.147.10 with SMTP id tg10mr6825482lbb.58.1443820783568; Fri, 02 Oct 2015 14:19:43 -0700 (PDT) Received: from mail-la0-f43.google.com (mail-la0-f43.google.com. [209.85.215.43]) by mx.google.com with ESMTPS id ut6si7454810lbc.67.2015.10.02.14.19.43 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Oct 2015 14:19:43 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.43 as permitted sender) client-ip=209.85.215.43; Received: by laer8 with SMTP id r8so99153858lae.2 for ; Fri, 02 Oct 2015 14:19:43 -0700 (PDT) X-Received: by 10.112.199.70 with SMTP id ji6mr6718996lbc.73.1443820783039; Fri, 02 Oct 2015 14:19:43 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp1461213lbq; Fri, 2 Oct 2015 14:19:41 -0700 (PDT) X-Received: by 10.66.155.9 with SMTP id vs9mr22173378pab.63.1443820781246; Fri, 02 Oct 2015 14:19:41 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a5si19385318pas.176.2015.10.02.14.19.40; Fri, 02 Oct 2015 14:19:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751098AbbJBVTk (ORCPT + 1 other); Fri, 2 Oct 2015 17:19:40 -0400 Received: from mail-qk0-f180.google.com ([209.85.220.180]:36726 "EHLO mail-qk0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750991AbbJBVTj (ORCPT ); Fri, 2 Oct 2015 17:19:39 -0400 Received: by qkcf65 with SMTP id f65so48449052qkc.3 for ; Fri, 02 Oct 2015 14:19:39 -0700 (PDT) X-Received: by 10.55.217.13 with SMTP id u13mr5295201qki.8.1443820779010; Fri, 02 Oct 2015 14:19:39 -0700 (PDT) Received: from localhost.localdomain ([190.2.108.156]) by smtp.gmail.com with ESMTPSA id h89sm5442076qgh.33.2015.10.02.14.19.37 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 02 Oct 2015 14:19:38 -0700 (PDT) From: Ezequiel Garcia To: stable@vger.kernel.org Cc: ezequiel@vanguardiasur.com.ar, Felipe Balbi Subject: [PATCH] usb: musb: cppi41: allow it to work again Date: Fri, 2 Oct 2015 18:15:25 -0300 Message-Id: <1443820525-12118-1-git-send-email-ezequiel@vanguardiasur.com.ar> X-Mailer: git-send-email 2.5.2 Sender: stable-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: stable@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: ezequiel@vanguardiasur.com.ar X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.43 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Felipe Balbi since commit 33c300cb90a6 ("usb: musb: dsps: don't fake of_node to musb core") we have been preventing CPPI 4.1 from probing due to NULL of_node. We can't revert said commit otherwise a different regression would show up, so the fix is to look for the parent device's (glue layer's) of_node instead, since that's the thing which is actually described in DTS. Signed-off-by: Felipe Balbi --- Upstream commit ID is b0a688ddcc50. As noted by the original commit log, this patch fixes a USB regression introduced by commit 33c300cb90a6 ("usb: musb: dsps: don't fake of_node to musb core"). Without this fix, musb works only in PIO mode, as the CPPI41 DMA controller is not created. Should be applied to v4.1.x and v4.2.x. Thanks! Ezequiel drivers/usb/musb/musb_cppi41.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/musb/musb_cppi41.c b/drivers/usb/musb/musb_cppi41.c index 8bd8c5e26921..d5a140745640 100644 --- a/drivers/usb/musb/musb_cppi41.c +++ b/drivers/usb/musb/musb_cppi41.c @@ -614,7 +614,7 @@ static int cppi41_dma_controller_start(struct cppi41_dma_controller *controller) { struct musb *musb = controller->musb; struct device *dev = musb->controller; - struct device_node *np = dev->of_node; + struct device_node *np = dev->parent->of_node; struct cppi41_dma_channel *cppi41_channel; int count; int i; @@ -664,7 +664,7 @@ static int cppi41_dma_controller_start(struct cppi41_dma_controller *controller) musb_dma->status = MUSB_DMA_STATUS_FREE; musb_dma->max_len = SZ_4M; - dc = dma_request_slave_channel(dev, str); + dc = dma_request_slave_channel(dev->parent, str); if (!dc) { dev_err(dev, "Failed to request %s.\n", str); ret = -EPROBE_DEFER; @@ -694,7 +694,7 @@ struct dma_controller *dma_controller_create(struct musb *musb, struct cppi41_dma_controller *controller; int ret = 0; - if (!musb->controller->of_node) { + if (!musb->controller->parent->of_node) { dev_err(musb->controller, "Need DT for the DMA engine.\n"); return NULL; }