From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,2/3] dma: imx-sdma: add clock ratio 1:1 check From: Daniel Baluta Message-Id: Date: Sun, 20 Jan 2019 11:58:41 +0200 To: "Angus Ainslie (Purism)" Cc: Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel , Linux Kernel Mailing List List-ID: T24gU3VuLCBKYW4gMjAsIDIwMTkgYXQgNDozMiBBTSBBbmd1cyBBaW5zbGllIChQdXJpc20pIDxh bmd1c0Bha2tlYS5jYT4gd3JvdGU6Cj4KPiBPbiBpLm14OCBtc2NhbGUgQjAgY2hpcCwgQUhCL1NE TUEgY2xvY2sgcmF0aW8gMjoxIGNhbid0IGJlIHN1cHBvcnR0ZWQsCj4gc2luY2UgU0RNQSBjbG9j ayByYXRpbyBoYXMgdG8gYmUgaW5jcmVhc2VkIHRvIDI1ME1oeiwgQUhCIGNhbid0IHJlYWNoCj4g dG8gNTAwTWh6LCBzbyB1c2UgMToxIGluc3RlYWQuCj4KPiBiYXNlZCBvbiBOWFAgY29tbWl0IE1M Sy0xNjg0MS0xCgpIaSBBbmd1cywKClRoYW5rcyBmb3IgZG9pbmcgdGhpcyEKCkknbSBub3Qgc3Vy ZSBzcGVjaWZ5aW5nIHRoZSBNTEsgaGVyZSBoZWxwcy4gSSB0aGluayBpdCB3b3VsZCBiZSBiZXR0 ZXIKdG8gc29tZWhvdyBhZGQgdGhlIG9yaWdpbmFsIFNpZ25lZC1vZmYtYnkgYW5kIG1lbnRpb24g dGhhdCB0aGUgY29tbWl0CndhcyBwdWxsZWQgZnJvbSBOWFAgbGludXgtaW14IHRyZWUuCj4KPiBT aWduZWQtb2ZmLWJ5OiBBbmd1cyBBaW5zbGllIChQdXJpc20pIDxhbmd1c0Bha2tlYS5jYT4KPiAt LS0KPiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvZG1hL2ZzbC1pbXgtc2RtYS50eHQgIHwgIDEg Kwo+ICBkcml2ZXJzL2RtYS9pbXgtc2RtYS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCAr KysrKysrKysrKysrKystLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvZG1hL2ZzbC1pbXgtc2RtYS50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvZG1hL2ZzbC1pbXgtc2RtYS50eHQKPiBpbmRleCAzYzlhNTdhODQ0M2IuLjE3NTQ0 YzE4MjBiNyAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZG1hL2ZzbC1pbXgtc2RtYS50eHQKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZG1hL2ZzbC1pbXgtc2RtYS50eHQKPiBAQCAtNjcsNiArNjcsNyBAQCBPcHRpb25hbCBw cm9wZXJ0aWVzOgo+ICAgICAgcmVnIGlzIHRoZSBHUFIgcmVnaXN0ZXIgb2Zmc2V0Lgo+ICAgICAg c2hpZnQgaXMgdGhlIGJpdCBwb3NpdGlvbiBpbnNpZGUgdGhlIEdQUiByZWdpc3Rlci4KPiAgICAg IHZhbCBpcyB0aGUgdmFsdWUgb2YgdGhlIGJpdCAoMCBvciAxKS4KPiArLSBmc2wscmF0aW8tMS0x OiBBSEIvU0RNQSBjb3JlIGNsb2NrIHJhdGlvbiAxOjEsIDI6MSB3aXRob3V0IHRoaXMuCj4KPiAg RXhhbXBsZXM6Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvaW14LXNkbWEuYyBiL2RyaXZl cnMvZG1hL2lteC1zZG1hLmMKPiBpbmRleCAwYjNhNjdmZjhlODIuLjY1ZGFkYTIxZDNjMSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2RtYS9pbXgtc2RtYS5jCj4gKysrIGIvZHJpdmVycy9kbWEvaW14 LXNkbWEuYwo+IEBAIC00NDAsNiArNDQwLDggQEAgc3RydWN0IHNkbWFfZW5naW5lIHsKPiAgICAg ICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgaXJxOwo+ICAgICAgICAgZG1hX2Fk ZHJfdCAgICAgICAgICAgICAgICAgICAgICBiZDBfcGh5czsKPiAgICAgICAgIHN0cnVjdCBzZG1h X2J1ZmZlcl9kZXNjcmlwdG9yICAgKmJkMDsKPiArICAgICAgIC8qIGNsb2NrIHJhdGlvIGZvciBB SEI6U0RNQSBjb3JlLiAxOjEgaXMgMSwgMjoxIGlzIDAqLwo+ICsgICAgICAgYm9vbCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjbGtfcmF0aW87Cj4gIH07Cj4KPiAgc3RhdGljIGludCBzZG1h X2NvbmZpZ193cml0ZShzdHJ1Y3QgZG1hX2NoYW4gKmNoYW4sCj4gQEAgLTY2Miw4ICs2NjQsMTQg QEAgc3RhdGljIGludCBzZG1hX3J1bl9jaGFubmVsMChzdHJ1Y3Qgc2RtYV9lbmdpbmUgKnNkbWEp Cj4gICAgICAgICAgICAgICAgIGRldl9lcnIoc2RtYS0+ZGV2LCAiVGltZW91dCB3YWl0aW5nIGZv ciBDSDAgcmVhZHlcbiIpOwo+Cj4gICAgICAgICAvKiBTZXQgYml0cyBvZiBDT05GSUcgcmVnaXN0 ZXIgd2l0aCBkeW5hbWljIGNvbnRleHQgc3dpdGNoaW5nICovCj4gLSAgICAgICBpZiAocmVhZGwo c2RtYS0+cmVncyArIFNETUFfSF9DT05GSUcpID09IDApCj4gLSAgICAgICAgICAgICAgIHdyaXRl bF9yZWxheGVkKFNETUFfSF9DT05GSUdfQ1NNLCBzZG1hLT5yZWdzICsgU0RNQV9IX0NPTkZJRyk7 Cj4gKyAgICAgICBpZiAocmVhZGwoc2RtYS0+cmVncyArIFNETUFfSF9DT05GSUcpID09IDApIHsK PiArICAgICAgICAgICAgICAgaWYgKHNkbWEtPmNsa19yYXRpbykKPiArICAgICAgICAgICAgICAg ICAgICAgICByZWcgPSBTRE1BX0hfQ09ORklHX0NTTSB8IFNETUFfSF9DT05GSUdfQUNSOwo+ICsg ICAgICAgICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gU0RNQV9I X0NPTkZJR19DU007Cj4gKwo+ICsgICAgICAgICAgICAgICB3cml0ZWxfcmVsYXhlZChyZWcsIHNk bWEtPnJlZ3MgKyBTRE1BX0hfQ09ORklHKTsKPiArICAgICAgIH0KPgo+ICAgICAgICAgcmV0dXJu IHJldDsKPiAgfQo+IEBAIC0xODgwLDggKzE4ODgsMTAgQEAgc3RhdGljIGludCBzZG1hX2luaXQo c3RydWN0IHNkbWFfZW5naW5lICpzZG1hKQo+ICAgICAgICAgd3JpdGVsX3JlbGF4ZWQoMHg0MDUw LCBzZG1hLT5yZWdzICsgU0RNQV9DSE4wQUREUik7Cj4KPiAgICAgICAgIC8qIFNldCBiaXRzIG9m IENPTkZJRyByZWdpc3RlciBidXQgd2l0aCBzdGF0aWMgY29udGV4dCBzd2l0Y2hpbmcgKi8KPiAt ICAgICAgIC8qIEZJWE1FOiBDaGVjayB3aGV0aGVyIHRvIHNldCBBQ1IgYml0IGRlcGVuZGluZyBv biBjbG9jayByYXRpb3MgKi8KPiAtICAgICAgIHdyaXRlbF9yZWxheGVkKDAsIHNkbWEtPnJlZ3Mg KyBTRE1BX0hfQ09ORklHKTsKPiArICAgICAgIGlmIChzZG1hLT5jbGtfcmF0aW8pCj4gKyAgICAg ICAgICAgICAgIHdyaXRlbF9yZWxheGVkKFNETUFfSF9DT05GSUdfQUNSLCBzZG1hLT5yZWdzICsg U0RNQV9IX0NPTkZJRyk7Cj4gKyAgICAgICBlbHNlCj4gKyAgICAgICAgICAgICAgIHdyaXRlbF9y ZWxheGVkKDAsIHNkbWEtPnJlZ3MgKyBTRE1BX0hfQ09ORklHKTsKPgo+ICAgICAgICAgd3JpdGVs X3JlbGF4ZWQoY2NiX3BoeXMsIHNkbWEtPnJlZ3MgKyBTRE1BX0hfQzBQVFIpOwo+Cj4gQEAgLTE5 NzUsNiArMTk4NSw4IEBAIHN0YXRpYyBpbnQgc2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+ICAgICAgICAgaWYgKCFzZG1hKQo+ICAgICAgICAgICAgICAgICByZXR1cm4g LUVOT01FTTsKPgo+ICsgICAgICAgc2RtYS0+Y2xrX3JhdGlvID0gb2ZfcHJvcGVydHlfcmVhZF9i b29sKG5wLCAiZnNsLHJhdGlvLTEtMSIpOwo+ICsKPiAgICAgICAgIHNwaW5fbG9ja19pbml0KCZz ZG1hLT5jaGFubmVsXzBfbG9jayk7Cj4KPiAgICAgICAgIHNkbWEtPmRldiA9ICZwZGV2LT5kZXY7 Cj4gLS0KPiAyLjE3LjEKPgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6E4DDC6369F for ; Sun, 20 Jan 2019 09:58:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3C53A2084C for ; Sun, 20 Jan 2019 09:58:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oFql+9qp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730457AbfATJ6z (ORCPT ); Sun, 20 Jan 2019 04:58:55 -0500 Received: from mail-ed1-f67.google.com ([209.85.208.67]:36453 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726939AbfATJ6y (ORCPT ); Sun, 20 Jan 2019 04:58:54 -0500 Received: by mail-ed1-f67.google.com with SMTP id f23so14388535edb.3; Sun, 20 Jan 2019 01:58:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NVKj1nMfR7j7/ER9sbODVHGhgpdJAj3BE1AU8ok7UWk=; b=oFql+9qplfj7TakBWabCSYfXBQ+otJlOVcJ7VHsrN6VUZNywoL6ocwCNRBgLKCk1m6 gaaO8TUEJZD5DdD77veodrt48ah3M1g0ko2vuJUC0gKvx2P4Ms4XCr/JgVvUOiavFj7Z gJq4+YMRCumK12dW9nMQgFe4ahxe696wtFM1SeZcPeu5MgncfF8M8syz5i8tK3GDP170 bL7dkDCcWpmWAx1yqZ0FWeXP1+qhPWywA5wYKuk5MLkClsSF3DSCsAfSQjKz/vKzaBIR b9q7ndEvTrDfkmg5c0EU23JUzHhb7OdyycRt8aNiQDmDmZmuR20xIwlQPt8YCi3imxnj r8zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NVKj1nMfR7j7/ER9sbODVHGhgpdJAj3BE1AU8ok7UWk=; b=QsxnOgo0H3NaV9aKyrsxKp9l0roYSEJSZNLCSCIFjHmemvN1M3shQsOJPBQSPUfe0y rmBaEstp+0EDh21DsomBW3yll3qFNVCWUGq01Cck4HfXEi93ys7qIe71kQ1hq+X6QO83 M4X3fw4D4QNNyCnlatJIC93155egSaLe76RmI/k2sl2DCrr+VmK8ChNkae3q9QRXjw1o IcrrYOLFX8fW78ZyHvTGY/vYgvPZ7cFupLIxfXndWbFdHvqZLediXatNsVDcWXhkr+mc nRo8Uf8SSCbdBAAn8c7piPPLa7slLnAES1PLQBhu8kK6yMjDKeH0HB8BPJR6bidTrx0s Uj2w== X-Gm-Message-State: AJcUukf8Fd83A/XWxFPu0qc9tcjrE9u8iqyyM8+x2WKdi69Ggv5erpt4 Epqi6AyQO6udfD/MHxd6hFvp//KAKQqlKG2EPrw= X-Google-Smtp-Source: ALg8bN5UApHLmg96dAlZzW0RNAhQnfCA2dLBZ/j7mELlZEERmbJF5icxPUKEU1fHAV8PJW+0TPGZSr7d0nNbk3fUph4= X-Received: by 2002:a50:b356:: with SMTP id r22mr22806949edd.164.1547978332774; Sun, 20 Jan 2019 01:58:52 -0800 (PST) MIME-Version: 1.0 References: <20190120023150.17138-1-angus@akkea.ca> <20190120023150.17138-3-angus@akkea.ca> In-Reply-To: <20190120023150.17138-3-angus@akkea.ca> From: Daniel Baluta Date: Sun, 20 Jan 2019 11:58:41 +0200 Message-ID: Subject: Re: [PATCH v2 2/3] dma: imx-sdma: add clock ratio 1:1 check To: "Angus Ainslie (Purism)" Cc: Vinod Koul , dmaengine@vger.kernel.org, NXP Linux Team , Pengutronix Kernel Team , linux-arm-kernel , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jan 20, 2019 at 4:32 AM Angus Ainslie (Purism) wrote: > > On i.mx8 mscale B0 chip, AHB/SDMA clock ratio 2:1 can't be supportted, > since SDMA clock ratio has to be increased to 250Mhz, AHB can't reach > to 500Mhz, so use 1:1 instead. > > based on NXP commit MLK-16841-1 Hi Angus, Thanks for doing this! I'm not sure specifying the MLK here helps. I think it would be better to somehow add the original Signed-off-by and mention that the commit was pulled from NXP linux-imx tree. > > Signed-off-by: Angus Ainslie (Purism) > --- > .../devicetree/bindings/dma/fsl-imx-sdma.txt | 1 + > drivers/dma/imx-sdma.c | 20 +++++++++++++++---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > index 3c9a57a8443b..17544c1820b7 100644 > --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > @@ -67,6 +67,7 @@ Optional properties: > reg is the GPR register offset. > shift is the bit position inside the GPR register. > val is the value of the bit (0 or 1). > +- fsl,ratio-1-1: AHB/SDMA core clock ration 1:1, 2:1 without this. > > Examples: > > diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c > index 0b3a67ff8e82..65dada21d3c1 100644 > --- a/drivers/dma/imx-sdma.c > +++ b/drivers/dma/imx-sdma.c > @@ -440,6 +440,8 @@ struct sdma_engine { > unsigned int irq; > dma_addr_t bd0_phys; > struct sdma_buffer_descriptor *bd0; > + /* clock ratio for AHB:SDMA core. 1:1 is 1, 2:1 is 0*/ > + bool clk_ratio; > }; > > static int sdma_config_write(struct dma_chan *chan, > @@ -662,8 +664,14 @@ static int sdma_run_channel0(struct sdma_engine *sdma) > dev_err(sdma->dev, "Timeout waiting for CH0 ready\n"); > > /* Set bits of CONFIG register with dynamic context switching */ > - if (readl(sdma->regs + SDMA_H_CONFIG) == 0) > - writel_relaxed(SDMA_H_CONFIG_CSM, sdma->regs + SDMA_H_CONFIG); > + if (readl(sdma->regs + SDMA_H_CONFIG) == 0) { > + if (sdma->clk_ratio) > + reg = SDMA_H_CONFIG_CSM | SDMA_H_CONFIG_ACR; > + else > + reg = SDMA_H_CONFIG_CSM; > + > + writel_relaxed(reg, sdma->regs + SDMA_H_CONFIG); > + } > > return ret; > } > @@ -1880,8 +1888,10 @@ static int sdma_init(struct sdma_engine *sdma) > writel_relaxed(0x4050, sdma->regs + SDMA_CHN0ADDR); > > /* Set bits of CONFIG register but with static context switching */ > - /* FIXME: Check whether to set ACR bit depending on clock ratios */ > - writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); > + if (sdma->clk_ratio) > + writel_relaxed(SDMA_H_CONFIG_ACR, sdma->regs + SDMA_H_CONFIG); > + else > + writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); > > writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR); > > @@ -1975,6 +1985,8 @@ static int sdma_probe(struct platform_device *pdev) > if (!sdma) > return -ENOMEM; > > + sdma->clk_ratio = of_property_read_bool(np, "fsl,ratio-1-1"); > + > spin_lock_init(&sdma->channel_0_lock); > > sdma->dev = &pdev->dev; > -- > 2.17.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 300F8C61CE4 for ; Sun, 20 Jan 2019 09:59:01 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 012952084C for ; Sun, 20 Jan 2019 09:59:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="M3FdNQ3w"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oFql+9qp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 012952084C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dQDp3DzblIOb/d2JYGak3gpf7+J4tyGtqVvw3xRuQu4=; b=M3FdNQ3wdXtkev b+Hd+sP6MxHJINj9H9x/yXjZfYtu+WxHQk2xJaXh4pO4T83FWRjm+rdmHW82Srmxy21ELEWvlW8a8 ztqpygy+D68yKJhy0NEG91PDHtltzcgvmNwfMfYTZlVwcZUStZRT7dZrUin1PfwOAYOKoOnsKfNQ+ stLNr8R3sn18+KUJZHk1LKHnc0pv7K20qD6bHly9PAgU9cuIxCp6CN+EfqQHyZiaaIGsa0txQhYX/ 70+3qLlFnjNd7RBhJ9Yt8oeiHG5ifl90NvI05xLud0kYuqycSox9Cu5IOOS8E3vn+vBJmiy4/a8bF /SHdHlIzPpDHzBVEZwFw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gl9sX-00058C-Vp; Sun, 20 Jan 2019 09:58:57 +0000 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gl9sU-00057l-8y for linux-arm-kernel@lists.infradead.org; Sun, 20 Jan 2019 09:58:55 +0000 Received: by mail-ed1-x543.google.com with SMTP id y56so14325848edd.11 for ; Sun, 20 Jan 2019 01:58:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NVKj1nMfR7j7/ER9sbODVHGhgpdJAj3BE1AU8ok7UWk=; b=oFql+9qplfj7TakBWabCSYfXBQ+otJlOVcJ7VHsrN6VUZNywoL6ocwCNRBgLKCk1m6 gaaO8TUEJZD5DdD77veodrt48ah3M1g0ko2vuJUC0gKvx2P4Ms4XCr/JgVvUOiavFj7Z gJq4+YMRCumK12dW9nMQgFe4ahxe696wtFM1SeZcPeu5MgncfF8M8syz5i8tK3GDP170 bL7dkDCcWpmWAx1yqZ0FWeXP1+qhPWywA5wYKuk5MLkClsSF3DSCsAfSQjKz/vKzaBIR b9q7ndEvTrDfkmg5c0EU23JUzHhb7OdyycRt8aNiQDmDmZmuR20xIwlQPt8YCi3imxnj r8zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NVKj1nMfR7j7/ER9sbODVHGhgpdJAj3BE1AU8ok7UWk=; b=cbOVeD58DMscsVIiWcwWBnpHtBIRcnVvpbPZe+gzqvk/lygoefIC5Ezq+2lOFqQ1pa UgUgAS6zSO7qJ8U5EImnGWUftYbZmKV80TuR36WoXtvAaHKZMTmRUX3M9ZLcpQyi1du/ 8gMg7GPcY5ytmU8OsJbx/1ZvvaheW7CvhHi0JwzgO94LLtM5GtTvp64iZGN9xchFDoTO nkrc0eW7B4+Rb5o6R+ZkkHZuwjoJeqP3clLlpLpE01cjuzPbZ9B2Ynn0VwOKG9aGK0KR L/ptH3bZs/DpzU96mrO0aid7B/EpXDsmU0s2xiUdwVsrwXHCNVeFviBhTX9VItfrvP8m WOcw== X-Gm-Message-State: AJcUukfnAcZPq/Omd5XkWNrmxY1sOBRmL/NtIHW8lRjMwchwUU/urZst UlRUSGhIB9CUTy3IWdBljlFPuRBwnZw8WzOFosM= X-Google-Smtp-Source: ALg8bN5UApHLmg96dAlZzW0RNAhQnfCA2dLBZ/j7mELlZEERmbJF5icxPUKEU1fHAV8PJW+0TPGZSr7d0nNbk3fUph4= X-Received: by 2002:a50:b356:: with SMTP id r22mr22806949edd.164.1547978332774; Sun, 20 Jan 2019 01:58:52 -0800 (PST) MIME-Version: 1.0 References: <20190120023150.17138-1-angus@akkea.ca> <20190120023150.17138-3-angus@akkea.ca> In-Reply-To: <20190120023150.17138-3-angus@akkea.ca> From: Daniel Baluta Date: Sun, 20 Jan 2019 11:58:41 +0200 Message-ID: Subject: Re: [PATCH v2 2/3] dma: imx-sdma: add clock ratio 1:1 check To: "Angus Ainslie (Purism)" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190120_015854_334322_34423381 X-CRM114-Status: GOOD ( 20.15 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux Kernel Mailing List , Vinod Koul , NXP Linux Team , Pengutronix Kernel Team , dmaengine@vger.kernel.org, linux-arm-kernel Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sun, Jan 20, 2019 at 4:32 AM Angus Ainslie (Purism) wrote: > > On i.mx8 mscale B0 chip, AHB/SDMA clock ratio 2:1 can't be supportted, > since SDMA clock ratio has to be increased to 250Mhz, AHB can't reach > to 500Mhz, so use 1:1 instead. > > based on NXP commit MLK-16841-1 Hi Angus, Thanks for doing this! I'm not sure specifying the MLK here helps. I think it would be better to somehow add the original Signed-off-by and mention that the commit was pulled from NXP linux-imx tree. > > Signed-off-by: Angus Ainslie (Purism) > --- > .../devicetree/bindings/dma/fsl-imx-sdma.txt | 1 + > drivers/dma/imx-sdma.c | 20 +++++++++++++++---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > index 3c9a57a8443b..17544c1820b7 100644 > --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt > @@ -67,6 +67,7 @@ Optional properties: > reg is the GPR register offset. > shift is the bit position inside the GPR register. > val is the value of the bit (0 or 1). > +- fsl,ratio-1-1: AHB/SDMA core clock ration 1:1, 2:1 without this. > > Examples: > > diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c > index 0b3a67ff8e82..65dada21d3c1 100644 > --- a/drivers/dma/imx-sdma.c > +++ b/drivers/dma/imx-sdma.c > @@ -440,6 +440,8 @@ struct sdma_engine { > unsigned int irq; > dma_addr_t bd0_phys; > struct sdma_buffer_descriptor *bd0; > + /* clock ratio for AHB:SDMA core. 1:1 is 1, 2:1 is 0*/ > + bool clk_ratio; > }; > > static int sdma_config_write(struct dma_chan *chan, > @@ -662,8 +664,14 @@ static int sdma_run_channel0(struct sdma_engine *sdma) > dev_err(sdma->dev, "Timeout waiting for CH0 ready\n"); > > /* Set bits of CONFIG register with dynamic context switching */ > - if (readl(sdma->regs + SDMA_H_CONFIG) == 0) > - writel_relaxed(SDMA_H_CONFIG_CSM, sdma->regs + SDMA_H_CONFIG); > + if (readl(sdma->regs + SDMA_H_CONFIG) == 0) { > + if (sdma->clk_ratio) > + reg = SDMA_H_CONFIG_CSM | SDMA_H_CONFIG_ACR; > + else > + reg = SDMA_H_CONFIG_CSM; > + > + writel_relaxed(reg, sdma->regs + SDMA_H_CONFIG); > + } > > return ret; > } > @@ -1880,8 +1888,10 @@ static int sdma_init(struct sdma_engine *sdma) > writel_relaxed(0x4050, sdma->regs + SDMA_CHN0ADDR); > > /* Set bits of CONFIG register but with static context switching */ > - /* FIXME: Check whether to set ACR bit depending on clock ratios */ > - writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); > + if (sdma->clk_ratio) > + writel_relaxed(SDMA_H_CONFIG_ACR, sdma->regs + SDMA_H_CONFIG); > + else > + writel_relaxed(0, sdma->regs + SDMA_H_CONFIG); > > writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR); > > @@ -1975,6 +1985,8 @@ static int sdma_probe(struct platform_device *pdev) > if (!sdma) > return -ENOMEM; > > + sdma->clk_ratio = of_property_read_bool(np, "fsl,ratio-1-1"); > + > spin_lock_init(&sdma->channel_0_lock); > > sdma->dev = &pdev->dev; > -- > 2.17.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel