2022-02-27 20:42:11

by Aaro Koskinen

[permalink] [raw]
Subject: [BISECTED] input: ads7846: touchscreen broken on Nokia 770

Hi,

I noticed touchscreen does not work anymore on Nokia 770:

[ 2.131011] ads7846 spi2.0: touchscreen, irq 175
[ 2.200622] input: ADS7846 Touchscreen as /devices/platform/omap_uwire/spi_master/spi2/spi2.0/input/input0

(then touching the screen:)

[ 52.316894] ads7846 spi2.0: spi_sync --> -22
[ 52.336944] ads7846 spi2.0: spi_sync --> -22

bisected this to:

commit 9c9509717b53e701469493a8d87ed42c7d782502
Author: Oleksij Rempel <[email protected]>
Date: Wed Nov 11 16:39:05 2020 -0800

Input: ads7846 - convert to full duplex

It seems it's failing on SPI_CONTROLLER_HALF_DUPLEX check in
__spi_validate(). The controller used on this board (spi-omap-uwire)
sets that flag. How ads7846 is now supposed to work in that case after
this conversion?

A.


2022-03-21 12:47:50

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [BISECTED] input: ads7846: touchscreen broken on Nokia 770

Hi Aaro,

On Sat, Mar 19, 2022 at 05:13:46PM +0200, Aaro Koskinen wrote:
> Hi,
>
> On Sun, Feb 27, 2022 at 08:50:39PM +0200, Aaro Koskinen wrote:
> > I noticed touchscreen does not work anymore on Nokia 770:
> >
> > [ 2.131011] ads7846 spi2.0: touchscreen, irq 175
> > [ 2.200622] input: ADS7846 Touchscreen as /devices/platform/omap_uwire/spi_master/spi2/spi2.0/input/input0
> >
> > (then touching the screen:)
> >
> > [ 52.316894] ads7846 spi2.0: spi_sync --> -22
> > [ 52.336944] ads7846 spi2.0: spi_sync --> -22
> >
> > bisected this to:
> >
> > commit 9c9509717b53e701469493a8d87ed42c7d782502
> > Author: Oleksij Rempel <[email protected]>
> > Date: Wed Nov 11 16:39:05 2020 -0800
> >
> > Input: ads7846 - convert to full duplex
> >
> > It seems it's failing on SPI_CONTROLLER_HALF_DUPLEX check in
> > __spi_validate(). The controller used on this board (spi-omap-uwire)
> > sets that flag. How ads7846 is now supposed to work in that case after
> > this conversion?
>
> Any comments?
>
> The touchscreen works after reverting the following patches:
>
> 6965eece2a89 ("Input: ads7846 - convert to one message")
> 9c9509717b53 ("Input: ads7846 - convert to full duplex")

I do not believe we should simply revert the patches as that would
penalize systems with nicer hardware, so my preference would be to see
if we could support half duplex controllers within the new driver
structure.

Thanks.

--
Dmitry

2022-03-21 23:11:25

by Aaro Koskinen

[permalink] [raw]
Subject: Re: [BISECTED] input: ads7846: touchscreen broken on Nokia 770

Hi,

On Sun, Feb 27, 2022 at 08:50:39PM +0200, Aaro Koskinen wrote:
> I noticed touchscreen does not work anymore on Nokia 770:
>
> [ 2.131011] ads7846 spi2.0: touchscreen, irq 175
> [ 2.200622] input: ADS7846 Touchscreen as /devices/platform/omap_uwire/spi_master/spi2/spi2.0/input/input0
>
> (then touching the screen:)
>
> [ 52.316894] ads7846 spi2.0: spi_sync --> -22
> [ 52.336944] ads7846 spi2.0: spi_sync --> -22
>
> bisected this to:
>
> commit 9c9509717b53e701469493a8d87ed42c7d782502
> Author: Oleksij Rempel <[email protected]>
> Date: Wed Nov 11 16:39:05 2020 -0800
>
> Input: ads7846 - convert to full duplex
>
> It seems it's failing on SPI_CONTROLLER_HALF_DUPLEX check in
> __spi_validate(). The controller used on this board (spi-omap-uwire)
> sets that flag. How ads7846 is now supposed to work in that case after
> this conversion?

Any comments?

The touchscreen works after reverting the following patches:

6965eece2a89 ("Input: ads7846 - convert to one message")
9c9509717b53 ("Input: ads7846 - convert to full duplex")

A.