[PATCH v2 1/2] spi: Split spi message into chunks of <65535 in the spi subsystem
Geert Uytterhoeven
geert at linux-m68k.org
Sat Mar 10 19:12:29 UTC 2018
Hi Meghana,
On Sat, Mar 10, 2018 at 4:51 PM, Meghana Madhyastha
<meghana.madhyastha at gmail.com> wrote:
> Split spi messages into chunks of <65535 in the spi subsystem and remove the message
> length warning in bcm2835_spi_can_dma. This is so that the messages can be transferred
> via dma and that the tinydrm drivers need not split it.
>
> Signed-off-by: Meghana Madhyastha <meghana.madhyastha at gmail.com>
Thanks for your patch!
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -1242,6 +1242,14 @@ static void __spi_pump_messages(struct spi_controller *ctlr, bool in_kthread)
> trace_spi_message_start(ctlr->cur_msg);
>
> if (ctlr->prepare_message) {
> + gfp_t gfp_flags = GFP_KERNEL | GFP_DMA;
> + size_t max_transfer_size = 32000;
Do you really want to impose this arbitrary limit (which BTW doesn't match
the value in the patch description) to each and every SPI controller driver?
> + ret = spi_split_transfers_maxsize(ctlr, ctlr->cur_msg, max_transfer_size, gfp_flags);
> + if (ret) {
> + dev_err(&ctlr->dev,
> + "failed to split message\n");
> + goto out;
> + }
> ret = ctlr->prepare_message(ctlr, ctlr->cur_msg);
> if (ret) {
> dev_err(&ctlr->dev, "failed to prepare message: %d\n",
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the dri-devel
mailing list