Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3780255pxv; Tue, 13 Jul 2021 03:37:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJya0Vku+Mk6YIubKYqhHUTGza04frmRWkgLG/+jh1O/pE57SEe0v92STXWwW1I64YvxRLd6 X-Received: by 2002:a05:6e02:66e:: with SMTP id l14mr2425667ilt.211.1626172672242; Tue, 13 Jul 2021 03:37:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626172672; cv=none; d=google.com; s=arc-20160816; b=aOVZxE8G6TgP/pgwCYMKXI8StSkW6zhbUPSEVbIEbPM6qZEAc+tD6buhjyZa6UmODd jvKXYkbAhuXP+ZCV5A9pkWKjcGSJJau/Obe4IRDbHfmuWZ/sDGO8hAJz/ectT1kpar4H EH3EUTteIqbceJ9GCNZxoQJx6Y1NYtfjqiaaJjHyHmbxsvjnq7vrhSEsUT5ka2n9W63f J8pMyJ3J66liY/srdVx/sLjscpQ9Lx8QNHbqs45qKi225MQbnwyJevZgDR7OEGgYyO8I gv8q5okjJ04GNw+CIjalqAbuJpSmhgTCJ7j44ZiuwLwNZtK6pbvDn3IkKXDOIE/zKtxL +1ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=TMLAmsxappiljr80PGTmrUmiVhTzWMwGhVjPy/JWeko=; b=pU5zZSSUgXDNm3bkwpnIM6MsFC2WCbX5MGM0aHjYMEh/t/4HyiDqGpFxLBIgZxOdJn Wun/BAFwkL7To85KgQEm7IeEk/1TQ+aiXlBcABZLB/h2Ni8oae2tYPsnukamRqpwtCj5 puQlUkQrv0qZyLRv2QKD6nFe5o1snIyKUag3jtHGyeCU4XjZ/fHqTMGUH+0//Hg4JSvP Z2tGdX8NxWcFqV1BnIh8lunIgT3MCQwF6k6bwV8l4jGXyzLZRAL5aPiJjKlhpkoJRB4/ DGWKTw4hSRJRYkbSUYm1duSeuNM+HgH29UM2eHhMm+brmdUt9uZev5i5utGb0irePdpq Cpfg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h3si3974133ila.128.2021.07.13.03.37.39; Tue, 13 Jul 2021 03:37:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235413AbhGMKjq (ORCPT + 99 others); Tue, 13 Jul 2021 06:39:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235304AbhGMKjp (ORCPT ); Tue, 13 Jul 2021 06:39:45 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8922C0613E9 for ; Tue, 13 Jul 2021 03:36:55 -0700 (PDT) Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m3FmP-0002GJ-5j; Tue, 13 Jul 2021 12:36:45 +0200 Message-ID: Subject: Re: [PATCH v15 09/12] dmaengine: imx-sdma: remove ERR009165 on i.mx6ul From: Lucas Stach To: Robin Gong , vkoul@kernel.org, mark.rutland@arm.com, broonie@kernel.org, robh+dt@kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, shawnguo@kernel.org, festevam@gmail.com, s.hauer@pengutronix.de, martin.fuzzey@flowbird.group, u.kleine-koenig@pengutronix.de, dan.j.williams@intel.com, matthias.schiffer@ew.tq-group.com, frieder.schrempf@kontron.de, m.felsch@pengutronix.de, xiaoning.wang@nxp.com Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, linux-imx@nxp.com, kernel@pengutronix.de, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org Date: Tue, 13 Jul 2021 12:36:43 +0200 In-Reply-To: <1626201709-19643-10-git-send-email-yibin.gong@nxp.com> References: <1626201709-19643-1-git-send-email-yibin.gong@nxp.com> <1626201709-19643-10-git-send-email-yibin.gong@nxp.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.1 (3.40.1-1.fc34) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Mittwoch, dem 14.07.2021 um 02:41 +0800 schrieb Robin Gong: > ECSPI issue fixed from i.mx6ul at hardware level, no need > ERR009165 anymore on those chips such as i.mx8mq. > > Signed-off-by: Robin Gong > Acked-by: Vinod Koul > --- > drivers/dma/imx-sdma.c | 27 +++++++++++++++++++++++++-- > 1 file changed, 25 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c > index 4cb2e84..211299f 100644 > --- a/drivers/dma/imx-sdma.c > +++ b/drivers/dma/imx-sdma.c > @@ -476,6 +476,13 @@ struct sdma_driver_data { > int num_events; > struct sdma_script_start_addrs *script_addrs; > bool check_ratio; > + /* > + * ecspi ERR009165 fixed should be done in sdma script > + * and it has been fixed in soc from i.mx6ul. > + * please get more information from the below link: > + * https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf > + */ > + bool ecspi_fixed; > }; > > struct sdma_engine { > @@ -596,6 +603,13 @@ static struct sdma_driver_data sdma_imx6q = { > .script_addrs = &sdma_script_imx6q, > }; > > +static struct sdma_driver_data sdma_imx6ul = { > + .chnenbl0 = SDMA_CHNENBL0_IMX35, > + .num_events = 48, > + .script_addrs = &sdma_script_imx6q, > + .ecspi_fixed = true, > +}; > + > static struct sdma_script_start_addrs sdma_script_imx7d = { > .ap_2_ap_addr = 644, > .uart_2_mcu_addr = 819, > @@ -629,6 +643,7 @@ static const struct of_device_id sdma_dt_ids[] = { > { .compatible = "fsl,imx31-sdma", .data = &sdma_imx31, }, > { .compatible = "fsl,imx25-sdma", .data = &sdma_imx25, }, > { .compatible = "fsl,imx7d-sdma", .data = &sdma_imx7d, }, > + { .compatible = "fsl,imx6ul-sdma", .data = &sdma_imx6ul, }, > { .compatible = "fsl,imx8mq-sdma", .data = &sdma_imx8mq, }, > { /* sentinel */ } > }; > @@ -947,8 +962,16 @@ static void sdma_get_pc(struct sdma_channel *sdmac, > break; > case IMX_DMATYPE_CSPI: > per_2_emi = sdma->script_addrs->app_2_mcu_addr; > - emi_2_per = sdma->script_addrs->mcu_2_ecspi_addr; > - sdmac->is_ram_script = true; > + > + /* Use rom script mcu_2_app if ERR009165 fixed */ > + if (sdmac->sdma->drvdata->ecspi_fixed) { > + emi_2_per = sdma->script_addrs->mcu_2_app_addr; > + sdmac->is_ram_script = false; This second line in this clause isn't needed. Please just move this "sdmac->is_ram_script = false;" to the top of this function, so it's easy to see that this is the default value. Regards, Lucas > + } else { > + emi_2_per = sdma->script_addrs->mcu_2_ecspi_addr; > + sdmac->is_ram_script = true; > + } > + > break; > case IMX_DMATYPE_EXT: > case IMX_DMATYPE_SSI: