* [PATCH] nuvoton-cir: Don't touch PS/2 interrupts while initializing
@ 2014-01-25 9:57 Antti Seppälä
2014-01-27 14:27 ` Jarod Wilson
0 siblings, 1 reply; 2+ messages in thread
From: Antti Seppälä @ 2014-01-25 9:57 UTC (permalink / raw)
To: linux-media; +Cc: Mauro Carvalho Chehab, Jarod Wilson, Antti Seppälä
There are reports[1] that on some motherboards loading the nuvoton-cir
disables PS/2 keyboard input. This is caused by an erroneous write of
CIR_INTR_MOUSE_IRQ_BIT to ACPI control register.
According to datasheet the write enables mouse power management event
interrupts which will probably have ill effects if the motherboard has
only one PS/2 port with keyboard in it.
The cir hardware does not need mouse interrupts to function and should
not touch them. This patch removes the illegal writes and registry
definitions.
[1] http://ubuntuforums.org/showthread.php?t=2106277&p=12461912&mode=threaded#post12461912
Reported-by: Bruno Maire <bruno.maire@besonet.ch>
Tested-by: Bruno Maire <bruno.maire@besonet.ch>
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
---
drivers/media/rc/nuvoton-cir.c | 4 ----
drivers/media/rc/nuvoton-cir.h | 1 -
2 files changed, 5 deletions(-)
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
index 21ee0dc..b41e52e 100644
--- a/drivers/media/rc/nuvoton-cir.c
+++ b/drivers/media/rc/nuvoton-cir.c
@@ -330,9 +330,6 @@ static void nvt_cir_wake_ldev_init(struct nvt_dev *nvt)
/* Enable CIR Wake via PSOUT# (Pin60) */
nvt_set_reg_bit(nvt, CIR_WAKE_ENABLE_BIT, CR_ACPI_CIR_WAKE);
- /* enable cir interrupt of mouse/keyboard IRQ event */
- nvt_set_reg_bit(nvt, CIR_INTR_MOUSE_IRQ_BIT, CR_ACPI_IRQ_EVENTS);
-
/* enable pme interrupt of cir wakeup event */
nvt_set_reg_bit(nvt, PME_INTR_CIR_PASS_BIT, CR_ACPI_IRQ_EVENTS2);
@@ -456,7 +453,6 @@ static void nvt_enable_wake(struct nvt_dev *nvt)
nvt_select_logical_dev(nvt, LOGICAL_DEV_ACPI);
nvt_set_reg_bit(nvt, CIR_WAKE_ENABLE_BIT, CR_ACPI_CIR_WAKE);
- nvt_set_reg_bit(nvt, CIR_INTR_MOUSE_IRQ_BIT, CR_ACPI_IRQ_EVENTS);
nvt_set_reg_bit(nvt, PME_INTR_CIR_PASS_BIT, CR_ACPI_IRQ_EVENTS2);
nvt_select_logical_dev(nvt, LOGICAL_DEV_CIR_WAKE);
diff --git a/drivers/media/rc/nuvoton-cir.h b/drivers/media/rc/nuvoton-cir.h
index 07e8310..e1cf23c 100644
--- a/drivers/media/rc/nuvoton-cir.h
+++ b/drivers/media/rc/nuvoton-cir.h
@@ -363,7 +363,6 @@ struct nvt_dev {
#define LOGICAL_DEV_ENABLE 0x01
#define CIR_WAKE_ENABLE_BIT 0x08
-#define CIR_INTR_MOUSE_IRQ_BIT 0x80
#define PME_INTR_CIR_PASS_BIT 0x08
/* w83677hg CIR pin config */
--
1.8.3.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] nuvoton-cir: Don't touch PS/2 interrupts while initializing
2014-01-25 9:57 [PATCH] nuvoton-cir: Don't touch PS/2 interrupts while initializing Antti Seppälä
@ 2014-01-27 14:27 ` Jarod Wilson
0 siblings, 0 replies; 2+ messages in thread
From: Jarod Wilson @ 2014-01-27 14:27 UTC (permalink / raw)
To: Antti Seppälä; +Cc: linux-media, Mauro Carvalho Chehab
On Sat, Jan 25, 2014 at 11:57:46AM +0200, Antti Seppälä wrote:
> There are reports[1] that on some motherboards loading the nuvoton-cir
> disables PS/2 keyboard input. This is caused by an erroneous write of
> CIR_INTR_MOUSE_IRQ_BIT to ACPI control register.
>
> According to datasheet the write enables mouse power management event
> interrupts which will probably have ill effects if the motherboard has
> only one PS/2 port with keyboard in it.
>
> The cir hardware does not need mouse interrupts to function and should
> not touch them. This patch removes the illegal writes and registry
> definitions.
Probably a carry-over from the old Nuvoton code, nuking it makes sense to
me, always thought it was a little odd, but it never caused issues on the
system I had (which had no ps2).
Acked-by: Jarod Wilson <jarod@redhat.com>
--
Jarod Wilson
jarod@redhat.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-01-27 14:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-25 9:57 [PATCH] nuvoton-cir: Don't touch PS/2 interrupts while initializing Antti Seppälä
2014-01-27 14:27 ` Jarod Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox