On 19/04/2023 08:06, Jaewon Kim wrote: > Polling mode supported with qurik if there was no DMA in the SOC. typo: quirk You missed verb in your first part of sentence. I don't understand it. > However, there are cased where we cannot or do not want to use DMA. > To support this case, if DMA is not set, it is switched to polling mode. > > Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> > --- > drivers/spi/spi-s3c64xx.c | 8 ++++++-- > include/linux/platform_data/spi-s3c64xx.h | 1 + > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c > index 71d324ec9a70..273aa02322d9 100644 > --- a/drivers/spi/spi-s3c64xx.c > +++ b/drivers/spi/spi-s3c64xx.c > @@ -19,7 +19,6 @@ > #include <linux/platform_data/spi-s3c64xx.h> > > #define MAX_SPI_PORTS 12 > -#define S3C64XX_SPI_QUIRK_POLL (1 << 0) > #define S3C64XX_SPI_QUIRK_CS_AUTO (1 << 1) > #define AUTOSUSPEND_TIMEOUT 2000 > > @@ -116,7 +115,7 @@ > #define S3C64XX_SPI_TRAILCNT S3C64XX_SPI_MAX_TRAILCNT > > #define msecs_to_loops(t) (loops_per_jiffy / 1000 * HZ * t) > -#define is_polling(x) (x->port_conf->quirks & S3C64XX_SPI_QUIRK_POLL) > +#define is_polling(x) (x->cntrlr_info->polling) > > #define RXBUSY (1<<2) > #define TXBUSY (1<<3) > @@ -1067,6 +1066,11 @@ static struct s3c64xx_spi_info *s3c64xx_spi_parse_dt(struct device *dev) > sci->num_cs = temp; > } > > + if (!of_find_property(dev->of_node, "dmas", NULL)) { > + dev_warn(dev, "cannot find DMA, changed to PIO mode\n"); You said it is desired option, so should not be a warning. I would make it debug at most. > + sci->polling = 1; Best regards, Krzysztof