Re: [PATCH v2 1/4] spi: s3c64xx: changed to PIO mode if there is no DMA

From: Jaewon Kim
Date: Wed Apr 19 2023 - 04:33:43 EST



On 23. 4. 19. 17:03, Krzysztof Kozlowski wrote:
> 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.

Sorry, I change this sentence like below.

Polling mode supported as a quirk for SOCs without DMA.

>
>> 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.
>
Okay, I will change dev_warn() to dev_dbg().


>> + sci->polling = 1;
>
>
> Best regards,
> Krzysztof
>
>

Thanks

Jaewon Kim