lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 547/633] spi: fsi: Fix clock running too fast
    Date
    From: Brad Bishop <bradleyb@fuzziesquirrel.com>

    [ Upstream commit 0b546bbe9474ff23e6843916ad6d567f703b2396 ]

    Use a clock divider tuned to a 200MHz FSI bus frequency (the maximum). Use
    of the previous divider at 200MHz results in corrupt data from endpoint
    devices. Ideally the clock divider would be calculated from the FSI clock,
    but that would require some significant work on the FSI driver. With FSI
    frequencies slower than 200MHz, the SPI clock will simply run slower, but
    safely.

    Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
    Signed-off-by: Eddie James <eajames@linux.ibm.com>
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Link: https://lore.kernel.org/r/20200909222857.28653-3-eajames@linux.ibm.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/spi/spi-fsi.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/spi/spi-fsi.c b/drivers/spi/spi-fsi.c
    index ef5e0826a53c3..a702e9d7d68c0 100644
    --- a/drivers/spi/spi-fsi.c
    +++ b/drivers/spi/spi-fsi.c
    @@ -403,7 +403,7 @@ static int fsi_spi_transfer_init(struct fsi_spi *ctx)
    u64 status = 0ULL;
    u64 wanted_clock_cfg = SPI_FSI_CLOCK_CFG_ECC_DISABLE |
    SPI_FSI_CLOCK_CFG_SCK_NO_DEL |
    - FIELD_PREP(SPI_FSI_CLOCK_CFG_SCK_DIV, 4);
    + FIELD_PREP(SPI_FSI_CLOCK_CFG_SCK_DIV, 19);

    end = jiffies + msecs_to_jiffies(SPI_FSI_INIT_TIMEOUT_MS);
    do {
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:53    [W:4.056 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site