Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2680178imm; Sun, 30 Sep 2018 02:26:13 -0700 (PDT) X-Google-Smtp-Source: ACcGV62o+CZtRqA5V6llMys36WGoh+DzlELRA4Uy4PIWLtq0nfOsx/WcX8084Kb4aHg/755lul0C X-Received: by 2002:a17:902:6501:: with SMTP id b1-v6mr6569122plk.31.1538299573920; Sun, 30 Sep 2018 02:26:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538299573; cv=none; d=google.com; s=arc-20160816; b=m4iC9cGr+nBkm8F/0ayjQO4natt2ESipOlDPeeAFzj15bpU8okZLszjGUKuUYlQCVk 7OI7tx9wwiUqxH5lx7U+x4eezAJveJQJGUOyq5k+wmZQ0LQv3yhrGKb05g5XS9Y4mtl6 5/jTPKAHAB+gMLyA+Co6NK63GKebqwiSqLlQTe+nlksd6+6DjldKNl+oN+N19oruteoj Y/r4Oefcldxb5aIC7bIQdlhXzjX57aqKkcc/cvI2w4iPGq63Icg5/b0zNF3K0+ZAAI9j spOXmwGj4H86aAFqQOTIv03zSvIexDMZg/bKvjPrMVYP1pWoUPcDlsoN9GDrxzIigyHc 6ISg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=izDFipXijGIsQ3UxLy8V029TRmB/WmUBu620+eVgC84=; b=L0Bh25538Sp4MZcylKe4G/1tcgY7bAkZ8O1EBSko6taxdD+SulwSjEKZrZefExc7yb iBQXYxFnHbF4OJvGxvnara7jFrNXWPkI9SBHHBeC4Fffr+xYie8cOsDhLx6dN1K2rayu Wt7KozQXOIr/NegVOMNOph/pZj5yy9QExvtXst+1oAVZo9N8x5sl6jCLgjhf3JR9durE EwgDNYwLDW61uWO4IIVHyUn9JJ3+BpVW0K5Fp3B0cORWGQDJxsB6o0Urg6B/t9LXue/d 070QNWpfms20o46ZVgRWjAJcG4s9ephWqRw18qZpAFdeXjMREKoxC93a5YnBR+9woHVV pzkQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c13-v6si249385pgq.296.2018.09.30.02.25.59; Sun, 30 Sep 2018 02:26:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728131AbeI3P5o (ORCPT + 99 others); Sun, 30 Sep 2018 11:57:44 -0400 Received: from inva020.nxp.com ([92.121.34.13]:33532 "EHLO inva020.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728003AbeI3P5n (ORCPT ); Sun, 30 Sep 2018 11:57:43 -0400 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 3BB721A0003; Sun, 30 Sep 2018 11:25:29 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id C38481A0096; Sun, 30 Sep 2018 11:25:25 +0200 (CEST) Received: from mega.ap.freescale.net (mega.ap.freescale.net [10.192.208.232]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 3BF5C402F6; Sun, 30 Sep 2018 17:25:21 +0800 (SGT) From: Chuanhua Han To: broonie@kernel.org Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, boris.brezillon@bootlin.com, eha@deif.com, Chuanhua Han Subject: [PATCH v2 3/4] spi: spi-fsl-dspi: Fix cmd_fifo is written before tx_fifo Date: Sun, 30 Sep 2018 17:25:34 +0800 Message-Id: <20180930092535.24544-3-chuanhua.han@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180930092535.24544-1-chuanhua.han@nxp.com> References: <20180930092535.24544-1-chuanhua.han@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch fixes the problem of invalid data writing during the XSPI mode transfer of the dspi controller. In XSPI mode,When I executed TX FIFO first and then CMD FIFO for XSPI transmission, I found that SPIx_SR[TFIWF]=1(Invalid Data present in TX FIFO since CMD FIFO is empty). This is the time when no data can be read or written (all the data obtained is equal to 0). Signed-off-by: Chuanhua Han --- Changes in v2: -The original patch is divided into multiple patches(the original patch theme is "spi: spi-fsl-dspi: Fix support for XSPI transport mode"),one of which is segmented. drivers/spi/spi-fsl-dspi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index 4dc1064bf408..96e790e90997 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -590,6 +590,7 @@ static void dspi_tcfq_write(struct fsl_dspi *dspi) */ u32 data = dspi_pop_tx(dspi); + cmd_fifo_write(dspi); if (dspi->cur_chip->ctar_val & SPI_CTAR_LSBFE(1)) { /* LSB */ tx_fifo_write(dspi, data & 0xFFFF); @@ -599,7 +600,6 @@ static void dspi_tcfq_write(struct fsl_dspi *dspi) tx_fifo_write(dspi, data >> 16); tx_fifo_write(dspi, data & 0xFFFF); } - cmd_fifo_write(dspi); } else { /* Write one entry to both TX FIFO and CMD FIFO * simultaneously. -- 2.17.1