[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <222f3879-1aea-6261-e23d-9669bbcbe25c@samsung.com>
Date: Fri, 21 Apr 2023 10:43:46 +0900
From: Jaewon Kim <jaewon02.kim@...sung.com>
To: Andi Shyti <andi.shyti@...nel.org>
Cc: Mark Brown <broonie@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Andi Shyti <andi@...zian.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
linux-spi@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Chanho Park <chanho61.park@...sung.com>
Subject: Re: [PATCH v2 1/4] spi: s3c64xx: changed to PIO mode if there is no
DMA
Hi Andi,
On 23. 4. 20. 00:46, Andi Shyti wrote:
> Hi Jaewon,
>
> On Wed, Apr 19, 2023 at 03:06:36PM +0900, Jaewon Kim wrote:
>> Polling mode supported with qurik if there was no DMA in the SOC.
> I think you want to say here that "Through quirks we choose to
> use polling mode whenever there is no DMA in the SoC".
>
>> However, there are cased where we cannot or do not want to use DMA.
> /cased/cases/
>
>> To support this case, if DMA is not set, it is switched to polling mode.
> You haven't really described what you are doing here... you could
> just write something like: "Use DTS properties to select wether
> to use polling or DMA mode."
>
> Side note, please use the imperative form when you want to
> describe what you have done to fix the issue.
Thanks for guide.
I will change description in v3.
>
>> Signed-off-by: Jaewon Kim <jaewon02.kim@...sung.com>
>> ---
>> 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");
>> + sci->polling = 1;
> sci->polling = true;
>
> But it could be even better:
>
> sci->polling = !of_find_property(dev->of_node, "dmas", NULL));
>
> and you get rid of the dev_warn() that is not required.
>
> Andi
Okay, I will change 1 to 'true'..
Thanks
Jaewon Kim
Powered by blists - more mailing lists