Commit 8083d6b8 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown

spi: pxa2xx: Fix style of and typos in the comments and messages

Fix style of the comments and messages along with typos in them.

While at it, update Intel Copyright year.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210517140351.901-8-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 684a3ac7
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* PXA2xx SPI DMA engine support. * PXA2xx SPI DMA engine support.
* *
* Copyright (C) 2013, Intel Corporation * Copyright (C) 2013, 2021 Intel Corporation
* Author: Mika Westerberg <mika.westerberg@linux.intel.com> * Author: Mika Westerberg <mika.westerberg@linux.intel.com>
*/ */
...@@ -26,7 +26,7 @@ static void pxa2xx_spi_dma_transfer_complete(struct driver_data *drv_data, ...@@ -26,7 +26,7 @@ static void pxa2xx_spi_dma_transfer_complete(struct driver_data *drv_data,
* It is possible that one CPU is handling ROR interrupt and other * It is possible that one CPU is handling ROR interrupt and other
* just gets DMA completion. Calling pump_transfers() twice for the * just gets DMA completion. Calling pump_transfers() twice for the
* same transfer leads to problems thus we prevent concurrent calls * same transfer leads to problems thus we prevent concurrent calls
* by using ->dma_running. * by using dma_running.
*/ */
if (atomic_dec_and_test(&drv_data->dma_running)) { if (atomic_dec_and_test(&drv_data->dma_running)) {
/* /*
......
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* CE4100's SPI device is more or less the same one as found on PXA * PCI glue driver for SPI PXA2xx compatible controllers.
* CE4100's SPI device is more or less the same one as found on PXA.
* *
* Copyright (C) 2016, Intel Corporation * Copyright (C) 2016, 2021 Intel Corporation
*/ */
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
#include <linux/module.h> #include <linux/module.h>
......
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* /*
* Copyright (C) 2005 Stephen Street / StreetFire Sound Labs * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs
* Copyright (C) 2013, Intel Corporation * Copyright (C) 2013, 2021 Intel Corporation
*/ */
#include <linux/acpi.h> #include <linux/acpi.h>
...@@ -40,11 +40,11 @@ MODULE_ALIAS("platform:pxa2xx-spi"); ...@@ -40,11 +40,11 @@ MODULE_ALIAS("platform:pxa2xx-spi");
#define TIMOUT_DFLT 1000 #define TIMOUT_DFLT 1000
/* /*
* for testing SSCR1 changes that require SSP restart, basically * For testing SSCR1 changes that require SSP restart, basically
* everything except the service and interrupt enables, the pxa270 developer * everything except the service and interrupt enables, the PXA270 developer
* manual says only SSCR1_SCFR, SSCR1_SPH, SSCR1_SPO need to be in this * manual says only SSCR1_SCFR, SSCR1_SPH, SSCR1_SPO need to be in this
* list, but the PXA255 dev man says all bits without really meaning the * list, but the PXA255 developer manual says all bits without really meaning
* service and interrupt enables * the service and interrupt enables.
*/ */
#define SSCR1_CHANGE_MASK (SSCR1_TTELP | SSCR1_TTE | SSCR1_SCFR \ #define SSCR1_CHANGE_MASK (SSCR1_TTELP | SSCR1_TTE | SSCR1_SCFR \
| SSCR1_ECRA | SSCR1_ECRB | SSCR1_SCLKDIR \ | SSCR1_ECRA | SSCR1_ECRB | SSCR1_SCLKDIR \
...@@ -653,12 +653,12 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) ...@@ -653,12 +653,12 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)
irq_status &= ~SSSR_TFS; irq_status &= ~SSSR_TFS;
if (irq_status & SSSR_ROR) { if (irq_status & SSSR_ROR) {
int_error_stop(drv_data, "interrupt_transfer: fifo overrun", -EIO); int_error_stop(drv_data, "interrupt_transfer: FIFO overrun", -EIO);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
if (irq_status & SSSR_TUR) { if (irq_status & SSSR_TUR) {
int_error_stop(drv_data, "interrupt_transfer: fifo underrun", -EIO); int_error_stop(drv_data, "interrupt_transfer: FIFO underrun", -EIO);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
...@@ -670,7 +670,7 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) ...@@ -670,7 +670,7 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)
} }
} }
/* Drain rx fifo, Fill tx fifo and prevent overruns */ /* Drain Rx FIFO, Fill Tx FIFO and prevent overruns */
do { do {
if (drv_data->read(drv_data)) { if (drv_data->read(drv_data)) {
int_transfer_complete(drv_data); int_transfer_complete(drv_data);
...@@ -691,8 +691,8 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) ...@@ -691,8 +691,8 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)
sccr1_reg &= ~SSCR1_TIE; sccr1_reg &= ~SSCR1_TIE;
/* /*
* PXA25x_SSP has no timeout, set up rx threshould for the * PXA25x_SSP has no timeout, set up Rx threshold for
* remaining RX bytes. * the remaining Rx bytes.
*/ */
if (pxa25x_ssp_comp(drv_data)) { if (pxa25x_ssp_comp(drv_data)) {
u32 rx_thre; u32 rx_thre;
...@@ -914,7 +914,7 @@ static unsigned int ssp_get_clk_div(struct driver_data *drv_data, int rate) ...@@ -914,7 +914,7 @@ static unsigned int ssp_get_clk_div(struct driver_data *drv_data, int rate)
/* /*
* Calculate the divisor for the SCR (Serial Clock Rate), avoiding * Calculate the divisor for the SCR (Serial Clock Rate), avoiding
* that the SSP transmission rate can be greater than the device rate * that the SSP transmission rate can be greater than the device rate.
*/ */
if (ssp->type == PXA25x_SSP || ssp->type == CE4100_SSP) if (ssp->type == PXA25x_SSP || ssp->type == CE4100_SSP)
return (DIV_ROUND_UP(ssp_clk, 2 * rate) - 1) & 0xff; return (DIV_ROUND_UP(ssp_clk, 2 * rate) - 1) & 0xff;
...@@ -972,7 +972,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -972,7 +972,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
/* Check if we can DMA this transfer */ /* Check if we can DMA this transfer */
if (transfer->len > MAX_DMA_LEN && chip->enable_dma) { if (transfer->len > MAX_DMA_LEN && chip->enable_dma) {
/* reject already-mapped transfers; PIO won't always work */ /* Reject already-mapped transfers; PIO won't always work */
if (message->is_dma_mapped if (message->is_dma_mapped
|| transfer->rx_dma || transfer->tx_dma) { || transfer->rx_dma || transfer->tx_dma) {
dev_err(&spi->dev, dev_err(&spi->dev,
...@@ -981,7 +981,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -981,7 +981,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
return -EINVAL; return -EINVAL;
} }
/* warn ... we force this to PIO mode */ /* Warn ... we force this to PIO mode */
dev_warn_ratelimited(&spi->dev, dev_warn_ratelimited(&spi->dev,
"DMA disabled for transfer length %u greater than %d\n", "DMA disabled for transfer length %u greater than %d\n",
transfer->len, MAX_DMA_LEN); transfer->len, MAX_DMA_LEN);
...@@ -1026,8 +1026,8 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -1026,8 +1026,8 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
u32_writer : null_writer; u32_writer : null_writer;
} }
/* /*
* if bits/word is changed in dma mode, then must check the * If bits per word is changed in DMA mode, then must check
* thresholds and burst also * the thresholds and burst also.
*/ */
if (chip->enable_dma) { if (chip->enable_dma) {
if (pxa2xx_spi_set_dma_burst_and_threshold(chip, if (pxa2xx_spi_set_dma_burst_and_threshold(chip,
...@@ -1101,10 +1101,10 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -1101,10 +1101,10 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
if (!pxa25x_ssp_comp(drv_data)) if (!pxa25x_ssp_comp(drv_data))
pxa2xx_spi_write(drv_data, SSTO, chip->timeout); pxa2xx_spi_write(drv_data, SSTO, chip->timeout);
/* first set CR1 without interrupt and service enables */ /* First set CR1 without interrupt and service enables */
pxa2xx_spi_update(drv_data, SSCR1, change_mask, cr1); pxa2xx_spi_update(drv_data, SSCR1, change_mask, cr1);
/* see if we need to reload the config registers */ /* See if we need to reload the configuration registers */
pxa2xx_spi_update(drv_data, SSCR0, GENMASK(31, 0), cr0); pxa2xx_spi_update(drv_data, SSCR0, GENMASK(31, 0), cr0);
/* Restart the SSP */ /* Restart the SSP */
...@@ -1114,7 +1114,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -1114,7 +1114,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
u8 tx_level = read_SSSR_bits(drv_data, SSSR_TFL_MASK) >> 8; u8 tx_level = read_SSSR_bits(drv_data, SSSR_TFL_MASK) >> 8;
if (tx_level) { if (tx_level) {
/* On MMP2, flipping SSE doesn't to empty TXFIFO. */ /* On MMP2, flipping SSE doesn't to empty Tx FIFO. */
dev_warn(&spi->dev, "%u bytes of garbage in Tx FIFO!\n", tx_level); dev_warn(&spi->dev, "%u bytes of garbage in Tx FIFO!\n", tx_level);
if (tx_level > transfer->len) if (tx_level > transfer->len)
tx_level = transfer->len; tx_level = transfer->len;
...@@ -1134,7 +1134,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller, ...@@ -1134,7 +1134,7 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
/* /*
* Release the data by enabling service requests and interrupts, * Release the data by enabling service requests and interrupts,
* without changing any mode bits * without changing any mode bits.
*/ */
pxa2xx_spi_write(drv_data, SSCR1, cr1); pxa2xx_spi_write(drv_data, SSCR1, cr1);
...@@ -1207,12 +1207,13 @@ static int setup_cs(struct spi_device *spi, struct chip_data *chip, ...@@ -1207,12 +1207,13 @@ static int setup_cs(struct spi_device *spi, struct chip_data *chip,
if (drv_data->ssp_type == CE4100_SSP) if (drv_data->ssp_type == CE4100_SSP)
return 0; return 0;
/* NOTE: setup() can be called multiple times, possibly with /*
* different chip_info, release previously requested GPIO * NOTE: setup() can be called multiple times, possibly with
* different chip_info, release previously requested GPIO.
*/ */
cleanup_cs(spi); cleanup_cs(spi);
/* If (*cs_control) is provided, ignore GPIO chip select */ /* If ->cs_control() is provided, ignore GPIO chip select */
if (chip_info->cs_control) { if (chip_info->cs_control) {
chip->cs_control = chip_info->cs_control; chip->cs_control = chip_info->cs_control;
return 0; return 0;
...@@ -1288,7 +1289,7 @@ static int setup(struct spi_device *spi) ...@@ -1288,7 +1289,7 @@ static int setup(struct spi_device *spi)
break; break;
} }
/* Only alloc on first setup */ /* Only allocate on the first setup */
chip = spi_get_ctldata(spi); chip = spi_get_ctldata(spi);
if (!chip) { if (!chip) {
chip = kzalloc(sizeof(struct chip_data), GFP_KERNEL); chip = kzalloc(sizeof(struct chip_data), GFP_KERNEL);
...@@ -1307,8 +1308,10 @@ static int setup(struct spi_device *spi) ...@@ -1307,8 +1308,10 @@ static int setup(struct spi_device *spi)
chip->timeout = TIMOUT_DFLT; chip->timeout = TIMOUT_DFLT;
} }
/* protocol drivers may change the chip settings, so... /*
* if chip_info exists, use it */ * Protocol drivers may change the chip settings, so...
* if chip_info exists, use it.
*/
chip_info = spi->controller_data; chip_info = spi->controller_data;
/* chip_info isn't always needed */ /* chip_info isn't always needed */
...@@ -1344,11 +1347,13 @@ static int setup(struct spi_device *spi) ...@@ -1344,11 +1347,13 @@ static int setup(struct spi_device *spi)
chip->lpss_tx_threshold = tx_thres; chip->lpss_tx_threshold = tx_thres;
} }
/* set dma burst and threshold outside of chip_info path so that if /*
* chip_info goes away after setting chip->enable_dma, the * Set DMA burst and threshold outside of chip_info path so that if
* burst and threshold can still respond to changes in bits_per_word */ * chip_info goes away after setting chip->enable_dma, the burst and
* threshold can still respond to changes in bits_per_word.
*/
if (chip->enable_dma) { if (chip->enable_dma) {
/* set up legal burst and threshold for dma */ /* Set up legal burst and threshold for DMA */
if (pxa2xx_spi_set_dma_burst_and_threshold(chip, spi, if (pxa2xx_spi_set_dma_burst_and_threshold(chip, spi,
spi->bits_per_word, spi->bits_per_word,
&chip->dma_burst_size, &chip->dma_burst_size,
...@@ -1677,7 +1682,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) ...@@ -1677,7 +1682,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
ssp = &platform_info->ssp; ssp = &platform_info->ssp;
if (!ssp->mmio_base) { if (!ssp->mmio_base) {
dev_err(&pdev->dev, "failed to get ssp\n"); dev_err(&pdev->dev, "failed to get SSP\n");
return -ENODEV; return -ENODEV;
} }
...@@ -1699,7 +1704,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) ...@@ -1699,7 +1704,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
controller->dev.of_node = dev->of_node; controller->dev.of_node = dev->of_node;
controller->dev.fwnode = dev->fwnode; controller->dev.fwnode = dev->fwnode;
/* the spi->mode bits understood by this driver: */ /* The spi->mode bits understood by this driver: */
controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; controller->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
controller->bus_num = ssp->port_id; controller->bus_num = ssp->port_id;
...@@ -1787,7 +1792,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) ...@@ -1787,7 +1792,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
QUARK_X1000_SSCR1_TxTresh(TX_THRESH_QUARK_X1000_DFLT); QUARK_X1000_SSCR1_TxTresh(TX_THRESH_QUARK_X1000_DFLT);
pxa2xx_spi_write(drv_data, SSCR1, tmp); pxa2xx_spi_write(drv_data, SSCR1, tmp);
/* using the Motorola SPI protocol and use 8 bit frame */ /* Using the Motorola SPI protocol and use 8 bit frame */
tmp = QUARK_X1000_SSCR0_Motorola | QUARK_X1000_SSCR0_DataSize(8); tmp = QUARK_X1000_SSCR0_Motorola | QUARK_X1000_SSCR0_DataSize(8);
pxa2xx_spi_write(drv_data, SSCR0, tmp); pxa2xx_spi_write(drv_data, SSCR0, tmp);
break; break;
...@@ -1859,7 +1864,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) ...@@ -1859,7 +1864,7 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, drv_data); platform_set_drvdata(pdev, drv_data);
status = spi_register_controller(controller); status = spi_register_controller(controller);
if (status) { if (status) {
dev_err(&pdev->dev, "problem registering spi controller\n"); dev_err(&pdev->dev, "problem registering SPI controller\n");
goto out_error_pm_runtime_enabled; goto out_error_pm_runtime_enabled;
} }
......
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (C) 2005 Stephen Street / StreetFire Sound Labs * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs
* Copyright (C) 2013, Intel Corporation * Copyright (C) 2013, 2021 Intel Corporation
*/ */
#ifndef SPI_PXA2XX_H #ifndef SPI_PXA2XX_H
......
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (C) 2003 Russell King, All Rights Reserved. * Copyright (C) 2003 Russell King, All Rights Reserved.
* *
* This driver supports the following PXA CPU/SSP ports:- * This driver supports the following PXA CPU/SSP ports:-
* *
...@@ -59,7 +59,7 @@ struct device_node; ...@@ -59,7 +59,7 @@ struct device_node;
/* PXA27x, PXA3xx */ /* PXA27x, PXA3xx */
#define SSCR0_EDSS BIT(20) /* Extended data size select */ #define SSCR0_EDSS BIT(20) /* Extended data size select */
#define SSCR0_NCS BIT(21) /* Network clock select */ #define SSCR0_NCS BIT(21) /* Network clock select */
#define SSCR0_RIM BIT(22) /* Receive FIFO overrrun interrupt mask */ #define SSCR0_RIM BIT(22) /* Receive FIFO overrun interrupt mask */
#define SSCR0_TUM BIT(23) /* Transmit FIFO underrun interrupt mask */ #define SSCR0_TUM BIT(23) /* Transmit FIFO underrun interrupt mask */
#define SSCR0_FRDC GENMASK(26, 24) /* Frame rate divider control (mask) */ #define SSCR0_FRDC GENMASK(26, 24) /* Frame rate divider control (mask) */
#define SSCR0_SlotsPerFrm(x) (((x) - 1) << 24) /* Time slots per frame [1..8] */ #define SSCR0_SlotsPerFrm(x) (((x) - 1) << 24) /* Time slots per frame [1..8] */
...@@ -126,7 +126,7 @@ struct device_node; ...@@ -126,7 +126,7 @@ struct device_node;
#define QUARK_X1000_SSCR1_EFWR BIT(16) /* Enable FIFO Write/Read */ #define QUARK_X1000_SSCR1_EFWR BIT(16) /* Enable FIFO Write/Read */
#define QUARK_X1000_SSCR1_STRF BIT(17) /* Select FIFO or EFWR */ #define QUARK_X1000_SSCR1_STRF BIT(17) /* Select FIFO or EFWR */
/* extra bits in PXA255, PXA26x and PXA27x SSP ports */ /* Extra bits in PXA255, PXA26x and PXA27x SSP ports */
#define SSCR0_TISSP (1 << 4) /* TI Sync Serial Protocol */ #define SSCR0_TISSP (1 << 4) /* TI Sync Serial Protocol */
#define SSCR0_PSP (3 << 4) /* PSP - Programmable Serial Protocol */ #define SSCR0_PSP (3 << 4) /* PSP - Programmable Serial Protocol */
...@@ -222,7 +222,8 @@ enum pxa_ssp_type { ...@@ -222,7 +222,8 @@ enum pxa_ssp_type {
CE4100_SSP, CE4100_SSP,
MRFLD_SSP, MRFLD_SSP,
QUARK_X1000_SSP, QUARK_X1000_SSP,
LPSS_LPT_SSP, /* Keep LPSS types sorted with lpss_platforms[] */ /* Keep LPSS types sorted with lpss_platforms[] */
LPSS_LPT_SSP,
LPSS_BYT_SSP, LPSS_BYT_SSP,
LPSS_BSW_SSP, LPSS_BSW_SSP,
LPSS_SPT_SSP, LPSS_SPT_SSP,
......
...@@ -14,7 +14,10 @@ ...@@ -14,7 +14,10 @@
struct dma_chan; struct dma_chan;
/* device.platform_data for SSP controller devices */ /*
* The platform data for SSP controller devices
* (resides in device.platform_data).
*/
struct pxa2xx_spi_controller { struct pxa2xx_spi_controller {
u16 num_chipselect; u16 num_chipselect;
u8 enable_dma; u8 enable_dma;
...@@ -30,8 +33,11 @@ struct pxa2xx_spi_controller { ...@@ -30,8 +33,11 @@ struct pxa2xx_spi_controller {
struct ssp_device ssp; struct ssp_device ssp;
}; };
/* spi_board_info.controller_data for SPI slave devices, /*
* copied to spi_device.platform_data ... mostly for dma tuning * The controller specific data for SPI slave devices
* (resides in spi_board_info.controller_data),
* copied to spi_device.platform_data ... mostly for
* DMA tuning.
*/ */
struct pxa2xx_spi_chip { struct pxa2xx_spi_chip {
u8 tx_threshold; u8 tx_threshold;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment