lkml.org 
[lkml]   [2020]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/30] spi: dw: Update Rx sample delay in the config function
    Date
    Rx sample delay can be SPI device specific, and should be synchronously
    initialized with the rest of the communication and peripheral device
    related controller setups. So let's move the Rx-sample delay setup into
    the DW APB SSI configuration update method.

    Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
    ---
    drivers/spi/spi-dw-core.c | 13 ++++++-------
    1 file changed, 6 insertions(+), 7 deletions(-)

    diff --git a/drivers/spi/spi-dw-core.c b/drivers/spi/spi-dw-core.c
    index 92138a6ada12..f00fc4828480 100644
    --- a/drivers/spi/spi-dw-core.c
    +++ b/drivers/spi/spi-dw-core.c
    @@ -273,13 +273,18 @@ static void dw_spi_update_config(struct dw_spi *dws, struct spi_device *spi,
    spi_set_clk(dws, clk_div);
    dws->current_freq = speed_hz;
    }
    +
    + /* Update RX sample delay if required */
    + if (dws->cur_rx_sample_dly != chip->rx_sample_dly) {
    + dw_writel(dws, DW_SPI_RX_SAMPLE_DLY, chip->rx_sample_dly);
    + dws->cur_rx_sample_dly = chip->rx_sample_dly;
    + }
    }

    static int dw_spi_transfer_one(struct spi_controller *master,
    struct spi_device *spi, struct spi_transfer *transfer)
    {
    struct dw_spi *dws = spi_controller_get_devdata(master);
    - struct chip_data *chip = spi_get_ctldata(spi);
    u8 imask = 0;
    u16 txlevel = 0;
    int ret;
    @@ -305,12 +310,6 @@ static int dw_spi_transfer_one(struct spi_controller *master,
    if (master->can_dma && master->can_dma(master, spi, transfer))
    dws->dma_mapped = master->cur_msg_mapped;

    - /* Update RX sample delay if required */
    - if (dws->cur_rx_sample_dly != chip->rx_sample_dly) {
    - dw_writel(dws, DW_SPI_RX_SAMPLE_DLY, chip->rx_sample_dly);
    - dws->cur_rx_sample_dly = chip->rx_sample_dly;
    - }
    -
    /* For poll mode just disable all interrupts */
    spi_mask_intr(dws, 0xff);

    --
    2.27.0
    \
     
     \ /
      Last update: 2020-09-20 13:31    [W:4.511 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site