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=-11.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY 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 21199C07E99 for ; Fri, 9 Jul 2021 09:46:39 +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 D5BAF613C7 for ; Fri, 9 Jul 2021 09:46:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D5BAF613C7 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dpKLBlP9RAxBTcx1lR2XI3qs+cIv7LZAuNtsBAE0Fr8=; b=d9Kiu9QNmigX1Q lWLc4lGc1jQ9SkO4XaQQJqKpBjnz8ozxIIFNsJmnl7/h+Hord69Oz7t4BJfGZJGEWMr5paFtvQG2Q 9Wv4Cu7yS8MEXQc0zGe6SE85jkZN9jOqIet6Qd87+s7PitB1+uieavtt6rbgmPK3OERtVEmvi8FXb Hcdq6PzR4lcc2K8LGNumIMMbM5caIqQfuvsR2LSoSla6qFCca+sT5utyMN1mIjIDjSoEM6G8yPxu9 xbRhdI9go/tDDIxziP6QbM0p3YsZLWFc2ZPX2wWiX3lrUuBSvPiEp32+AvQ0D4KOkXlObVgCqbueK 0ZqKP0uFbyPnVYC9RywA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m1n4O-001OMu-F6; Fri, 09 Jul 2021 09:45:16 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m1n4H-001OLo-F0 for linux-arm-kernel@lists.infradead.org; Fri, 09 Jul 2021 09:45:14 +0000 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 1m1n43-0000Qj-5u; Fri, 09 Jul 2021 11:44:55 +0200 Message-ID: <3ade0741d94e53eb2bca86743ad11e55899381d7.camel@pengutronix.de> Subject: Re: [PATCH v14 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: Fri, 09 Jul 2021 11:44:53 +0200 In-Reply-To: <1617809456-17693-10-git-send-email-yibin.gong@nxp.com> References: <1617809456-17693-1-git-send-email-yibin.gong@nxp.com> <1617809456-17693-10-git-send-email-yibin.gong@nxp.com> User-Agent: Evolution 3.40.1 (3.40.1-1.fc34) MIME-Version: 1.0 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-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210709_024509_558744_5A77C828 X-CRM114-Status: GOOD ( 23.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Am Mittwoch, dem 07.04.2021 um 23:30 +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 | 26 +++++++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) > > diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c > index 86bd383..af85116 100644 > --- a/drivers/dma/imx-sdma.c > +++ b/drivers/dma/imx-sdma.c > @@ -422,6 +422,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 { > @@ -542,6 +549,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, > @@ -575,6 +589,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 */ } > }; > @@ -1144,8 +1159,17 @@ static int sdma_config_channel(struct dma_chan *chan) > if (sdmac->peripheral_type == IMX_DMATYPE_ASRC_SP || > sdmac->peripheral_type == IMX_DMATYPE_ASRC) > sdma_set_watermarklevel_for_p2p(sdmac); > - } else > + } else { > + /* > + * ERR009165 fixed from i.mx6ul, no errata need, > + * set bit31 to let sdma script skip the errata. > + */ > + if (sdmac->peripheral_type == IMX_DMATYPE_CSPI && > + sdmac->direction == DMA_MEM_TO_DEV && > + sdmac->sdma->drvdata->ecspi_fixed) > + __set_bit(31, &sdmac->watermark_level); Hm, I don't care much either way, but couldn't we just return the regular mcu_2_app script in sdma_get_pc when ecspi_fixed == true? Seems like this would be a simpler and more targeted code change. Regards, Lucas > __set_bit(sdmac->event_id0, sdmac->event_mask); > + } > > /* Address */ > sdmac->shp_addr = sdmac->per_address; _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel