diff mbox

[V1,2/2] imx: spi: read lpspi tx/rx fifo size in probe()

Message ID 1480302180-15550-2-git-send-email-pandy.gao@nxp.com (mailing list archive)
State Accepted
Commit b88a0deaaf97e394aa63818486b16dbc37273d6d
Headers show

Commit Message

Gao Pan Nov. 28, 2016, 3:03 a.m. UTC
The lpspi tx/rx fifo size is a read only parameter resides
lpspi Parameter Register. It's better to read lpspi tx/rx
fifo size in probe().

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
---
 drivers/spi/spi-fsl-lpspi.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

Comments

Mark Brown Nov. 30, 2016, 5:55 p.m. UTC | #1
On Mon, Nov 28, 2016 at 11:03:00AM +0800, Gao Pan wrote:
> The lpspi tx/rx fifo size is a read only parameter resides
> lpspi Parameter Register. It's better to read lpspi tx/rx
> fifo size in probe().


Please submit patches using subject lines reflecting the style for the
subsystem.  This makes it easier for people to identify relevant
patches.  Look at what existing commits in the area you're changing are
doing and make sure your subject lines visually resemble what they're
doing.
Gao Pan Dec. 1, 2016, 1:49 a.m. UTC | #2
From: Mark Brown <mailto:broonie@kernel.org> Sent: Thursday, December 01, 2016 1:56 AM
> To: Pandy Gao <pandy.gao@nxp.com>
> Cc: linux-spi@vger.kernel.org; Frank Li <frank.li@nxp.com>; Andy Duan
> <fugang.duan@nxp.com>
> Subject: Re: [Patch V1 2/2] imx: spi: read lpspi tx/rx fifo size in probe()
> 
> On Mon, Nov 28, 2016 at 11:03:00AM +0800, Gao Pan wrote:
> > The lpspi tx/rx fifo size is a read only parameter resides lpspi
> > Parameter Register. It's better to read lpspi tx/rx fifo size in
> > probe().
> 
> 
> Please submit patches using subject lines reflecting the style for the
> subsystem.  This makes it easier for people to identify relevant patches.
> Look at what existing commits in the area you're changing are doing and
> make sure your subject lines visually resemble what they're doing.
 
Thanks,  will pay attention to it for incremental patches.

Best  Regards
Gao Pan
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 47a97ad..71eca6e 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -236,15 +236,9 @@  static void fsl_lpspi_set_cmd(struct fsl_lpspi_data *fsl_lpspi,
 
 static void fsl_lpspi_set_watermark(struct fsl_lpspi_data *fsl_lpspi)
 {
-	u8 txwatermark, rxwatermark;
 	u32 temp;
 
-	temp = readl(fsl_lpspi->base + IMX7ULP_PARAM);
-	fsl_lpspi->txfifosize = 1 << (temp & 0x0f);
-	fsl_lpspi->rxfifosize = 1 << ((temp >> 8) & 0x0f);
-	rxwatermark = fsl_lpspi->txfifosize >> 1;
-	txwatermark = fsl_lpspi->rxfifosize >> 1;
-	temp = txwatermark | rxwatermark << 16;
+	temp = fsl_lpspi->txfifosize >> 1 | (fsl_lpspi->rxfifosize >> 1) << 16;
 
 	writel(temp, fsl_lpspi->base + IMX7ULP_FCR);
 
@@ -427,6 +421,7 @@  static int fsl_lpspi_probe(struct platform_device *pdev)
 	struct spi_master *master;
 	struct resource *res;
 	int ret, irq;
+	u32 temp;
 
 	master = spi_alloc_master(&pdev->dev, sizeof(struct fsl_lpspi_data));
 	if (!master)
@@ -476,6 +471,18 @@  static int fsl_lpspi_probe(struct platform_device *pdev)
 		goto out_master_put;
 	}
 
+	ret = clk_prepare_enable(fsl_lpspi->clk);
+	if (ret) {
+		dev_err(&pdev->dev, "can't enable lpspi clock, ret=%d\n", ret);
+		goto out_master_put;
+	}
+
+	temp = readl(fsl_lpspi->base + IMX7ULP_PARAM);
+	fsl_lpspi->txfifosize = 1 << (temp & 0x0f);
+	fsl_lpspi->rxfifosize = 1 << ((temp >> 8) & 0x0f);
+
+	clk_disable_unprepare(fsl_lpspi->clk);
+
 	ret = devm_spi_register_master(&pdev->dev, master);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "spi_register_master error.\n");