[alsa-devel] [PATCH] Fix possibly incorrect offset in wm97xx-core
Hi,
I just hit a problem with the accelerated (interrupt driven) ts driver. It stop responding after a while (sometimes right after you release a stylus off the touchscreen, it doesn't generate any more interrupts). I made the following patch that fixes the problem for me (and if I read the 9712 and 9713 manuals correctly, the patch should be OK)
Thanks for reply.
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c index 69af838..4f13a7f 100644 --- a/drivers/input/touchscreen/wm97xx-core.c +++ b/drivers/input/touchscreen/wm97xx-core.c @@ -307,11 +307,7 @@ static void wm97xx_pen_irq_worker(struct work_struct *work) WM97XX_GPIO_13); }
- if (wm->id == WM9712_ID2) - wm97xx_reg_write(wm, AC97_GPIO_STATUS, (status & - ~WM97XX_GPIO_13) << 1); - else - wm97xx_reg_write(wm, AC97_GPIO_STATUS, status & + wm97xx_reg_write(wm, AC97_GPIO_STATUS, status & ~WM97XX_GPIO_13); mutex_unlock(&wm->codec_mutex); }
On Wed, Jun 03, 2009 at 11:44:37PM +0200, Marek Vasut wrote:
if (wm->id == WM9712_ID2)
wm97xx_reg_write(wm, AC97_GPIO_STATUS, (status &
~WM97XX_GPIO_13) << 1);
else
wm97xx_reg_write(wm, AC97_GPIO_STATUS, status &
wm97xx_reg_write(wm, AC97_GPIO_STATUS, status & ~WM97XX_GPIO_13);
Nack, the existing code reflects the behaviour of the silicon.
On Thursday 04 of June 2009 10:46:03 Mark Brown wrote:
On Wed, Jun 03, 2009 at 11:44:37PM +0200, Marek Vasut wrote:
if (wm->id == WM9712_ID2)
wm97xx_reg_write(wm, AC97_GPIO_STATUS, (status &
~WM97XX_GPIO_13) << 1);
else
wm97xx_reg_write(wm, AC97_GPIO_STATUS, status &
wm97xx_reg_write(wm, AC97_GPIO_STATUS, status & ~WM97XX_GPIO_13);
Nack, the existing code reflects the behaviour of the silicon.
The patch above reflects the behavior of my silicon (WM9712G) :-/
On Thu, Jun 04, 2009 at 11:59:02AM +0200, Marek Vasut wrote:
On Thursday 04 of June 2009 10:46:03 Mark Brown wrote:
Nack, the existing code reflects the behaviour of the silicon.
The patch above reflects the behavior of my silicon (WM9712G) :-/
Could you expand on the behaviour you're seeing, please? Also, what are the full markings on the chip?
On Thursday 04 of June 2009 13:06:09 Mark Brown wrote:
On Thu, Jun 04, 2009 at 11:59:02AM +0200, Marek Vasut wrote:
On Thursday 04 of June 2009 10:46:03 Mark Brown wrote:
Nack, the existing code reflects the behaviour of the silicon.
The patch above reflects the behavior of my silicon (WM9712G) :-/
Could you expand on the behaviour you're seeing, please? Also, what are the full markings on the chip?
Actually, after discussing this on IRC with you, I come with the following patch (it should be applied on top of the mainstone accelerated touch patch which follows).
On Thu, Jun 04, 2009 at 10:05:48PM +0200, Marek Vasut wrote:
Actually, after discussing this on IRC with you, I come with the following patch (it should be applied on top of the mainstone accelerated touch patch which follows).
Yes, something along these lines would be a good fix. As discussed let me get my test system up and running to have a look at what's going on here before we do anything - should be sometime next week.
participants (2)
-
Marek Vasut
-
Mark Brown