Here is the polling patch from Henry.... Does this improve the responsiveness of the remote.
Personally, I never had a problem with the default values that I had..![]()
----- Forwarded Message ----
From: Henry Wong <v4l@xxxxxxxxxxxxxx>
To: Linux and Kernel Video <video4linux-list@xxxxxxxxxx>
Sent: Sunday, January 21, 2007 4:16:07 AM
Subject: Re: 80th Attempt at Kworld ATSC110 IR Remote Patch - Please Review
From: Henry Wong <v4l@xxxxxxxxxxxxxx>
To: Linux and Kernel Video <video4linux-list@xxxxxxxxxx>
Sent: Sunday, January 21, 2007 4:16:07 AM
Subject: Re: 80th Attempt at Kworld ATSC110 IR Remote Patch - Please Review
I noticed some comments about the remote being "sluggish".
In my original patch, there were some changes to increase the GPIO polling rate for the TV@nywhere plus remote. I don't clearly recall the exact reason why I had to do it, but attached is what I wrote in my original post, and the relevant portions of my patch.
I didn't notice any changes in your patch that would change the polling interval? I'm not sure.
Could this be the cause of "sluggishness"?
-------------------------------------------------------------------------
Excepts from "[patch] MSI TV@nywhere Plus IR remote", December 11, 2005:
1. The IR controller doesn't like the default 100ms I2C polling
interval. (See static void ir_work (void*) in ir-kbd-i2c.c)
I have added a static int polling_interval variable to ir-kbd-i2c.c.
Objections?
Index: linux/drivers/media/video/ir-kbd-i2c.c
===================================================================
RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c,v
retrieving revision 1.30
diff -u -r1.30 ir-kbd-i2c.c
--- linux/drivers/media/video/ir-kbd-i2c.c 8 Dec 2005 21:02:56 -0000 1.30
+++ linux/drivers/media/video/ir-kbd-i2c.c 12 Dec 2005 01:03:52 -0000
@@ -95,6 +95,8 @@
#define dprintk(level, fmt, arg...) if (debug >= level) \
printk(KERN_DEBUG DEVNAME ": " fmt , ## arg)
+static int polling_interval = 100; /* ms */
+
/* ----------------------------------------------------------------------- */
static int get_key_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
@@ -269,7 +271,7 @@
{
struct IR_i2c *ir = data;
ir_key_poll(ir);
- mod_timer(&ir->timer, jiffies+HZ/10);
+ mod_timer(&ir->timer, jiffies + polling_interval*HZ/1000);
}
/* ----------------------------------------------------------------------- */
@@ -340,6 +342,9 @@
ir_codes = ir_codes_rc5_tv;
break;
case 0x30:
+ if (adap->id == I2C_HW_SAA7134) /* Handled by saa7134-input */
+ polling_interval = 50; /* ms */
+
name = "KNC One";
ir->get_key = get_key_knc1;
ir_type = IR_TYPE_OTHER;
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
In my original patch, there were some changes to increase the GPIO polling rate for the TV@nywhere plus remote. I don't clearly recall the exact reason why I had to do it, but attached is what I wrote in my original post, and the relevant portions of my patch.
I didn't notice any changes in your patch that would change the polling interval? I'm not sure.
Could this be the cause of "sluggishness"?
-------------------------------------------------------------------------
Excepts from "[patch] MSI TV@nywhere Plus IR remote", December 11, 2005:
1. The IR controller doesn't like the default 100ms I2C polling
interval. (See static void ir_work (void*) in ir-kbd-i2c.c)
I have added a static int polling_interval variable to ir-kbd-i2c.c.
Objections?
Index: linux/drivers/media/video/ir-kbd-i2c.c
===================================================================
RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c,v
retrieving revision 1.30
diff -u -r1.30 ir-kbd-i2c.c
--- linux/drivers/media/video/ir-kbd-i2c.c 8 Dec 2005 21:02:56 -0000 1.30
+++ linux/drivers/media/video/ir-kbd-i2c.c 12 Dec 2005 01:03:52 -0000
@@ -95,6 +95,8 @@
#define dprintk(level, fmt, arg...) if (debug >= level) \
printk(KERN_DEBUG DEVNAME ": " fmt , ## arg)
+static int polling_interval = 100; /* ms */
+
/* ----------------------------------------------------------------------- */
static int get_key_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
@@ -269,7 +271,7 @@
{
struct IR_i2c *ir = data;
ir_key_poll(ir);
- mod_timer(&ir->timer, jiffies+HZ/10);
+ mod_timer(&ir->timer, jiffies + polling_interval*HZ/1000);
}
/* ----------------------------------------------------------------------- */
@@ -340,6 +342,9 @@
ir_codes = ir_codes_rc5_tv;
break;
case 0x30:
+ if (adap->id == I2C_HW_SAA7134) /* Handled by saa7134-input */
+ polling_interval = 50; /* ms */
+
name = "KNC One";
ir->get_key = get_key_knc1;
ir_type = IR_TYPE_OTHER;
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb