2021-01-21 19:17:58

by Dan Murphy

[permalink] [raw]
Subject: [PATCH 1/2] iio:adc:ti-ads124s08: Fix start stop conversion command

Fix start and stop conversion commands. The proper command is not be
sent.

Fixes: ("e717f8c6dfec iio: adc: Add the TI ads124s08 ADC code")
Signed-off-by: Dan Murphy <[email protected]>
---
drivers/iio/adc/ti-ads124s08.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
index b4a128b19188..f05d4e0e1c9d 100644
--- a/drivers/iio/adc/ti-ads124s08.c
+++ b/drivers/iio/adc/ti-ads124s08.c
@@ -237,7 +237,7 @@ static int ads124s_read_raw(struct iio_dev *indio_dev,
goto out;
}

- ret = ads124s_write_cmd(indio_dev, ADS124S08_START_CONV);
+ ret = ads124s_write_cmd(indio_dev, ADS124S08_CMD_START);
if (ret) {
dev_err(&priv->spi->dev, "Start conversions failed\n");
goto out;
@@ -251,7 +251,7 @@ static int ads124s_read_raw(struct iio_dev *indio_dev,

*val = ret;

- ret = ads124s_write_cmd(indio_dev, ADS124S08_STOP_CONV);
+ ret = ads124s_write_cmd(indio_dev, ADS124S08_CMD_STOP);
if (ret) {
dev_err(&priv->spi->dev, "Stop conversions failed\n");
goto out;
--
2.29.2


2021-01-21 19:18:02

by Dan Murphy

[permalink] [raw]
Subject: [PATCH 2/2] iio:adc:ti-ads124s08: Fix packet read from the ADC

Fix the spi_transfer array in the reading of the data from the ADC.

Fixes: ("e717f8c6dfec iio: adc: Add the TI ads124s08 ADC code")
Signed-off-by: Dan Murphy <[email protected]>
---
drivers/iio/adc/ti-ads124s08.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
index f05d4e0e1c9d..023d81c7e8da 100644
--- a/drivers/iio/adc/ti-ads124s08.c
+++ b/drivers/iio/adc/ti-ads124s08.c
@@ -201,12 +201,10 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
struct spi_transfer t[] = {
{
.tx_buf = &priv->data[0],
- .len = 4,
- .cs_change = 1,
}, {
- .tx_buf = &priv->data[1],
.rx_buf = &priv->data[1],
.len = 4,
+ .cs_change = 1,
},
};

--
2.29.2

2021-01-24 15:16:43

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 2/2] iio:adc:ti-ads124s08: Fix packet read from the ADC

On Thu, 21 Jan 2021 13:14:31 -0600
Dan Murphy <[email protected]> wrote:

> Fix the spi_transfer array in the reading of the data from the ADC.
>
> Fixes: ("e717f8c6dfec iio: adc: Add the TI ads124s08 ADC code")
> Signed-off-by: Dan Murphy <[email protected]>

I'm not really following the changes below..

> ---
> drivers/iio/adc/ti-ads124s08.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
> index f05d4e0e1c9d..023d81c7e8da 100644
> --- a/drivers/iio/adc/ti-ads124s08.c
> +++ b/drivers/iio/adc/ti-ads124s08.c
> @@ -201,12 +201,10 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
> struct spi_transfer t[] = {
> {
> .tx_buf = &priv->data[0],
> - .len = 4,
> - .cs_change = 1,

We should still need to provide a length for this transfer.

> }, {
> - .tx_buf = &priv->data[1],
> .rx_buf = &priv->data[1],
> .len = 4,
> + .cs_change = 1,

That's unusual... cs_change being set on the last transfer means
the opposite of what it does for earlier transfers.

https://elixir.bootlin.com/linux/latest/source/include/linux/spi/spi.h#L905

Or is the intent here to provide a performance hint that the device doesn't
care if the cs line goes inactive before stating a new set of transfers?
If so add a comment to say that perhaps.

> },
> };
>

2021-01-28 14:11:08

by Dan Murphy

[permalink] [raw]
Subject: Re: [PATCH 2/2] iio:adc:ti-ads124s08: Fix packet read from the ADC

Jonathan

On 1/24/21 9:12 AM, Jonathan Cameron wrote:
> On Thu, 21 Jan 2021 13:14:31 -0600
> Dan Murphy <[email protected]> wrote:
>
>> Fix the spi_transfer array in the reading of the data from the ADC.
>>
>> Fixes: ("e717f8c6dfec iio: adc: Add the TI ads124s08 ADC code")
>> Signed-off-by: Dan Murphy <[email protected]>
> I'm not really following the changes below..

I will have to dig into it deeper our HW team reported this.

Patch 1/2 is relevant and is not dependent on this patch

Dan

2021-01-31 13:42:48

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 1/2] iio:adc:ti-ads124s08: Fix start stop conversion command

On Thu, 21 Jan 2021 13:14:30 -0600
Dan Murphy <[email protected]> wrote:

> Fix start and stop conversion commands. The proper command is not be
> sent.
>
> Fixes: ("e717f8c6dfec iio: adc: Add the TI ads124s08 ADC code")

That's not the right format for a fixes, tag. I fixed it whilst applying.

> Signed-off-by: Dan Murphy <[email protected]>

I've not applied this because there is another START_CONV in the
driver and I'm not sure that one is right either. It looks to be
a very similar code path to the one you are fixing here.

Thanks,

Jonathan

> ---
> drivers/iio/adc/ti-ads124s08.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
> index b4a128b19188..f05d4e0e1c9d 100644
> --- a/drivers/iio/adc/ti-ads124s08.c
> +++ b/drivers/iio/adc/ti-ads124s08.c
> @@ -237,7 +237,7 @@ static int ads124s_read_raw(struct iio_dev *indio_dev,
> goto out;
> }
>
> - ret = ads124s_write_cmd(indio_dev, ADS124S08_START_CONV);
> + ret = ads124s_write_cmd(indio_dev, ADS124S08_CMD_START);
> if (ret) {
> dev_err(&priv->spi->dev, "Start conversions failed\n");
> goto out;
> @@ -251,7 +251,7 @@ static int ads124s_read_raw(struct iio_dev *indio_dev,
>
> *val = ret;
>
> - ret = ads124s_write_cmd(indio_dev, ADS124S08_STOP_CONV);
> + ret = ads124s_write_cmd(indio_dev, ADS124S08_CMD_STOP);
> if (ret) {
> dev_err(&priv->spi->dev, "Stop conversions failed\n");
> goto out;