• Lukas Wunner's avatar
    spi: bcm2835: Polish transfer of DMA prologue · b31a9299
    Lukas Wunner authored
    Commit 3bd7f658 ("spi: bcm2835: Overcome sglist entry length
    limitation") was unfortunately merged even though submission of a
    refined version was imminent.  Apply those refinements as an amendment:
    
    * Drop no longer needed #include <asm/page.h>.  The lines requiring
      its inclusion were removed by the commit.
    
    * Change type of tx_spillover flag from bool to unsigned int for
      consistency with dma_pending flag and pursuant to Linus' dictum:
      https://lkml.org/lkml/2017/11/21/384
    
    * In bcm2835_rd_fifo_count() do not check for bs->rx_buf != NULL.
      The function will never be called if that's the case.
    
    * Amend kerneldoc of bcm2835_wait_tx_fifo_empty() to prevent its use in
      situations where the function might spin forever.  (In response to a
      review comment by Stefan Wahren.)
    
    * Sync only the cacheline containing the RX prologue back to memory,
      not the full first sglist entry.
    
    * Use sg_dma_address() and sg_dma_len() instead of referencing the
      sglist entry members directly.  Seems to be the more common syntax in
      the tree, even for lvalues.
    Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
    Cc: Frank Pavlic <f.pavlic@kunbus.de>
    Cc: Martin Sperl <kernel@martin.sperl.org>
    Cc: Noralf Trønnes <noralf@tronnes.org>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    b31a9299
spi-bcm2835.c 27.7 KB