From: Andy Walls <awalls@md.metrocast.net>
To: Dark Shadow <shadowofdarkness@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: [PATCH] cx23885: Add IR Rx support for HVR-1270 boards
Date: Wed, 08 Jun 2011 20:24:25 -0400 [thread overview]
Message-ID: <1307579065.2461.8.camel@localhost> (raw)
In-Reply-To: <BANLkTi=OgqhmkYLd9_YnyW8JSvZgiQWTfw@mail.gmail.com>
On Wed, 2011-06-08 at 13:18 -0600, Dark Shadow wrote:
> On Wed, Jun 8, 2011 at 4:19 AM, Andy Walls <awalls@md.metrocast.net> wrote:
> > Dark Shadow <shadowofdarkness@gmail.com> wrote:
> >
> >>I have a capture card that was sold as a Hauppauge HVR-1250 (according
> >>to the box) that I am trying to use but I am having trouble getting
> >>all it's features at once. When I leave it auto detected by the module
> >>I have working TV in MythTV even though it thinks it is a 1270 but IR
> >>isn't setup.
> >>
> >>dmesg outputs
> >>#modprobe cx23885 enable_885_ir=1
> >>[ 7.592714] cx23885 driver version 0.0.2 loaded
> >>[ 7.592748] cx23885 0000:07:00.0: PCI INT A -> GSI 17 (level, low)
> >>-> IRQ 17
> >>[ 7.592926] CORE cx23885[0]: subsystem: 0070:2211, board: Hauppauge
> >>WinTV-HVR1270 [card=18,autodetected]
> >>[ 7.728163] IR JVC protocol handler initialized
> >>[ 7.738971] tveeprom 0-0050: Hauppauge model 22111, rev C2F5,
> >>serial# 6429897
> >>[ 7.738974] tveeprom 0-0050: MAC address is 00:0d:fe:62:1c:c9
> >>[ 7.738975] tveeprom 0-0050: tuner model is NXP 18271C2 (idx 155,
> >>type 54)
> >>[ 7.738977] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
> >>(eeprom 0x88)
> >>[ 7.738979] tveeprom 0-0050: audio processor is CX23888 (idx 40)
> >>[ 7.738980] tveeprom 0-0050: decoder processor is CX23888 (idx 34)
> >>[ 7.738982] tveeprom 0-0050: has no radio, has IR receiver, has no
> >>IR transmitter
> >>[ 7.738983] cx23885[0]: hauppauge eeprom: model=22111
> >>[ 7.738985] cx23885_dvb_register() allocating 1 frontend(s)
> >>[ 7.738991] cx23885[0]: cx23885 based dvb card
> >>[ 7.961122] IR Sony protocol handler initialized
> >>[ 7.977301] tda18271 1-0060: creating new instance
> >>[ 7.979325] TDA18271HD/C2 detected @ 1-0060
> >>[ 8.209663] DVB: registering new adapter (cx23885[0])
> >>[ 8.209668] DVB: registering adapter 0 frontend 0 (LG Electronics
> >>LGDT3305 VSB/QAM Frontend)...
> >>[ 8.210095] cx23885_dev_checkrevision() Hardware revision = 0xd0
> >>[ 8.210101] cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 17,
> >>latency: 0, mmio: 0xf7c00000
> >>[ 8.210109] cx23885 0000:07:00.0: setting latency timer to 64
> >>[ 8.210186] cx23885 0000:07:00.0: irq 49 for MSI/MSI-X
> >>#ir-keytable -a /etc/rc_maps.cfg
> >>Old keytable cleared
> >>Wrote 136 keycode(s) to driver
> >>Protocols changed to RC-5
> >>I have heard this should show up as a normal keyboard to the system
> >>but no button presses cause anything to happen to the system and
> >>trying lirc with devinput (with devinput lircd.conf) and then opening
> >>irw doesn't show any button presses either
> > Don't force your card to a 1250, if the driver detects it is a 1270
> with a CX23888 chip. No need to use the enable_885_ir parameter with
> a CX23888 chip, either. It only applies for two board models with
> actual CX23885 chips.
> >
> > Use of IR with the CX23888 chip should be realtively trouble free,
> *if* the 1270's IR has been enabled in the driver code. It likely has
> not been. I don't have the source code in front of me at the moment
> to check.
> >
> > It shouldn't be hard for anyone to patch a few files in the cx23885
> driver to add it. Patches are welcome...
> >
> Under auto detect without the enable_885_ir there is no difference so
> I can only hope someone will add support for it.
I wasn't kidding when I said the patch is sholdn't be hard for anyone.
It is really, really simple cut-and-paste job. In fact here is an
*untested* patch.
Regards,
Andy
cx23885: Add IR Rx support for HVR-1270 boards
Signed-off-by: Andy Walls <awalls@md.metrocast.net>
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
index ea88722..5635588 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -1097,12 +1097,19 @@ int cx23885_ir_init(struct cx23885_dev *dev)
case CX23885_BOARD_HAUPPAUGE_HVR1800:
case CX23885_BOARD_HAUPPAUGE_HVR1200:
case CX23885_BOARD_HAUPPAUGE_HVR1400:
- case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1275:
case CX23885_BOARD_HAUPPAUGE_HVR1255:
case CX23885_BOARD_HAUPPAUGE_HVR1210:
/* FIXME: Implement me */
break;
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
+ ret = cx23888_ir_probe(dev);
+ if (ret)
+ break;
+ dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_888_IR);
+ v4l2_subdev_call(dev->sd_cx25840, core, s_io_pin_config,
+ ir_rx_pin_cfg_count, ir_rx_pin_cfg);
+ break;
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
ret = cx23888_ir_probe(dev);
@@ -1156,6 +1163,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
void cx23885_ir_fini(struct cx23885_dev *dev)
{
switch (dev->board) {
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
cx23885_irq_remove(dev, PCI_MSK_IR);
@@ -1199,6 +1207,7 @@ int netup_jtag_io(void *device, int tms, int tdi, int read_tdo)
void cx23885_ir_pci_int_enable(struct cx23885_dev *dev)
{
switch (dev->board) {
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
if (dev->sd_ir)
@@ -1357,6 +1366,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
case CX23885_BOARD_NETUP_DUAL_DVBS2_CI:
case CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF:
case CX23885_BOARD_COMPRO_VIDEOMATE_E800:
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_MYGICA_X8506:
case CX23885_BOARD_MAGICPRO_PROHDTVE2:
diff --git a/drivers/media/video/cx23885/cx23885-input.c b/drivers/media/video/cx23885/cx23885-input.c
index e97cafd..bc28d2c 100644
--- a/drivers/media/video/cx23885/cx23885-input.c
+++ b/drivers/media/video/cx23885/cx23885-input.c
@@ -82,6 +82,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events)
return;
switch (dev->board) {
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
case CX23885_BOARD_TEVII_S470:
@@ -133,6 +134,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev)
v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, ¶ms);
switch (dev->board) {
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
case CX23885_BOARD_HAUPPAUGE_HVR1250:
@@ -257,6 +259,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
return -ENODEV;
switch (dev->board) {
+ case CX23885_BOARD_HAUPPAUGE_HVR1270:
case CX23885_BOARD_HAUPPAUGE_HVR1850:
case CX23885_BOARD_HAUPPAUGE_HVR1290:
case CX23885_BOARD_HAUPPAUGE_HVR1250:
next prev parent reply other threads:[~2011-06-09 0:23 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-08 3:10 Getting IR to work on a hvr-1250 tuner Dark Shadow
2011-06-08 10:19 ` Andy Walls
2011-06-08 19:18 ` Dark Shadow
2011-06-09 0:24 ` Andy Walls [this message]
2011-06-09 0:35 ` [PATCH] cx23885: Add IR Rx support for HVR-1270 boards Andy Walls
2011-06-09 1:25 ` Dark Shadow
2011-06-09 1:34 ` Andy Walls
2011-06-09 2:31 ` Dark Shadow
2011-06-09 3:17 ` Dark Shadow
2011-06-09 3:27 ` Dark Shadow
2011-06-09 4:12 ` Dark Shadow
2011-06-21 17:28 ` Mauro Carvalho Chehab
2011-06-21 17:53 ` Andy Walls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1307579065.2461.8.camel@localhost \
--to=awalls@md.metrocast.net \
--cc=linux-media@vger.kernel.org \
--cc=shadowofdarkness@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.