On Mon, Feb 19, 2018 at 11:47:23AM +0000, Meghana Madhyastha wrote: > -Remove chunk splitting in tinydrm_spi_transfer in tinydrm-helpers as The spi core will split a buffer into max_dma_len chunks for the > spi controller driver to handle. > -Remove automatic byte swapping in tinydrm_spi_transfer as it doesn't have users. > -Remove the upper bound check on dma transfer length in bcm2835_spi_can_dma(). This looks like a series of related changes that should be split up into individual commits, probably at least one per bullet point there. > - /* BCM2835_SPI_DLEN has defined a max transfer size as > - * 16 bit, so max is 65535 > - * we can revisit this by using an alternative transfer > - * method - ideally this would get done without any more > - * interaction... > - */ > - if (tfr->len > 65535) { > - dev_warn_once(&spi->dev, > - "transfer size of %d too big for dma-transfer\n", > - tfr->len); > - return false; > - } > - The changelog says we're removing this check but doesn't explain why and... > /* if we run rx/tx_buf with word aligned addresses then we are OK */ > if ((((size_t)tfr->rx_buf & 3) == 0) && > (((size_t)tfr->tx_buf & 3) == 0)) > @@ -461,7 +448,7 @@ static void bcm2835_dma_init(struct spi_master *master, struct device *dev) > > /* all went well, so set can_dma */ > master->can_dma = bcm2835_spi_can_dma; > - master->max_dma_len = 65535; /* limitation by BCM2835_SPI_DLEN */ > + master->max_dma_len = 65528; /* limitation by BCM2835_SPI_DLEN */ > /* need to do TX AND RX DMA, so we need dummy buffers */ > master->flags = SPI_MASTER_MUST_RX | SPI_MASTER_MUST_TX; ...this bit of the change isn't mentioned at all?
Attachment:
signature.asc
Description: PGP signature