Message ID | 1251329402.5232.6.camel@palomino.walls.org (mailing list archive) |
---|---|
State | RFC |
Headers | show |
On Wed, 26 Aug 2009, Andy Walls wrote: > On Wed, 2009-08-26 at 07:33 -0700, Dalton Harvie wrote: > > If there isn't, would it be a good idea? > > Maybe. > > > Thanks for any help. > > > Try this. It adds a module option "noir" that accepts an array of > int's. For a 0, that card's IR is set up as normal; for a 1, that > card's IR is not initialized. > > # modprobe cx88 noir=1,1 I think this is a good idea. I was going to do someting similar to stop the excessive irqs from my cx88 cards, which don't even have remote receivers. I haven't tried, but maybe it is possible to only turn on polling when the event device is opened. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Trent Piepho wrote: > On Wed, 26 Aug 2009, Andy Walls wrote: >> On Wed, 2009-08-26 at 07:33 -0700, Dalton Harvie wrote: >>> If there isn't, would it be a good idea? >> Maybe. >> >>> Thanks for any help. >> >> Try this. It adds a module option "noir" that accepts an array of >> int's. For a 0, that card's IR is set up as normal; for a 1, that >> card's IR is not initialized. >> >> # modprobe cx88 noir=1,1 > > I think this is a good idea. I was going to do someting similar > to stop the excessive irqs from my cx88 cards, which don't > even have remote receivers. > > I haven't tried, but maybe it is possible to only turn on polling when the > event device is opened. Excellent idea. I did something similar for a pseudo-SCSI device, where I only polled if there was a command outstanding. If no one else wants to take it on, I have a pcHDTV-3000 and -5000 and can get a Leadtek something to work with. > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2009-08-26 at 22:52 -0700, Dan Taylor wrote: > > Trent Piepho wrote: > > On Wed, 26 Aug 2009, Andy Walls wrote: > >> On Wed, 2009-08-26 at 07:33 -0700, Dalton Harvie wrote: > >>> If there isn't, would it be a good idea? > >> Maybe. > >> > >>> Thanks for any help. > >> > >> Try this. It adds a module option "noir" that accepts an array of > >> int's. For a 0, that card's IR is set up as normal; for a 1, that > >> card's IR is not initialized. > >> > >> # modprobe cx88 noir=1,1 > > > > I think this is a good idea. I was going to do someting similar > > to stop the excessive irqs from my cx88 cards, which don't > > even have remote receivers. > > > > I haven't tried, but maybe it is possible to only turn on polling when the > > event device is opened. > > Excellent idea. I did something similar for a pseudo-SCSI device, where I > only polled if there was a command outstanding. > > If no one else wants to take it on, I have a pcHDTV-3000 and -5000 and can > get a Leadtek something to work with. I don't have any hardware that uses the cx88 driver, so I'm certainly not the right person to muck with it. Have at it! Regards, Andy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff -r 28f8b0ebd224 linux/drivers/media/video/cx88/cx88-cards.c --- a/linux/drivers/media/video/cx88/cx88-cards.c Sun Aug 23 13:55:25 2009 -0300 +++ b/linux/drivers/media/video/cx88/cx88-cards.c Wed Aug 26 19:23:17 2009 -0400 @@ -32,14 +32,17 @@ static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; static unsigned int radio[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; static unsigned int card[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; +static unsigned int noir[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; module_param_array(tuner, int, NULL, 0444); module_param_array(radio, int, NULL, 0444); module_param_array(card, int, NULL, 0444); +module_param_array(noir, int, NULL, 0444); MODULE_PARM_DESC(tuner,"tuner type"); MODULE_PARM_DESC(radio,"radio tuner type"); MODULE_PARM_DESC(card,"card type"); +MODULE_PARM_DESC(noir, "disable IR (default: 0, IR enabled)"); static unsigned int latency = UNSET; module_param(latency,int,0444); @@ -3490,7 +3493,8 @@ } cx88_card_setup(core); - cx88_ir_init(core, pci); + if (!noir[core->nr]) + cx88_ir_init(core, pci); return core; }