public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Wojciech Myrda <vojcek@tlen.pl>
To: linux-media@vger.kernel.org
Subject: Prof_Revolution_DVB-S2_8000_PCI-E & Linux Kernel 2.6.38-rc8-next-20110314
Date: Sun, 20 Mar 2011 20:32:59 +0100	[thread overview]
Message-ID: <4D86566B.9090803@tlen.pl> (raw)

[-- Attachment #1: Type: text/plain, Size: 3390 bytes --]

Hi all,

I have purchased Prof_Revolution_DVB-S2_8000_PCI-E which is listed on
the wiki
http://linuxtv.org/wiki/index.php/Prof_Revolution_DVB-S2_8000_PCI-E as
not yet suppoorted, however I found out there is some work ongoing on
the driver for that card as the producer make the folowing patch
http://www.proftuners.com/sites/default/files/prof8000_0.patch available
on their website http://www.prof-tuners.pl/download8000.html This patch
would not apply agaist the recent Linux Kernel 2.6.38-rc8-next-20110314
so I did a few quick fixes that moved few lines (patch in the
attachment). Now that it all applies like it should it fails with the
following error


  CC [M]  kernel/configs.o
  CC [M]  drivers/media/video/cx23885/cx23885-cards.o
  CC [M]  drivers/media/video/cx23885/cx23885-video.o
  CC [M]  drivers/media/video/cx23885/cx23885-vbi.o
  CC [M]  drivers/media/video/cx23885/cx23885-core.o
drivers/media/video/cx23885/altera-ci.h:71:12: warning:
‘altera_ci_tuner_reset’ defined but not used [-Wunused-function]
  CC [M]  drivers/media/video/cx23885/cx23885-i2c.o
  CC [M]  drivers/media/video/cx23885/cx23885-dvb.o
drivers/media/video/cx23885/cx23885-dvb.c:505:15: error: variable
‘prof_8000_stb6100_config’ has initializer but incomplete type
drivers/media/video/cx23885/cx23885-dvb.c:506:2: error: unknown field
‘tuner_address’ specified in initializer
drivers/media/video/cx23885/cx23885-dvb.c:506:2: warning: excess
elements in struct initializer [enabled by default]
drivers/media/video/cx23885/cx23885-dvb.c:506:2: warning: (near
initialization for ‘prof_8000_stb6100_config’) [enabled by default]
drivers/media/video/cx23885/cx23885-dvb.c:507:2: error: unknown field
‘refclock’ specified in initializer
drivers/media/video/cx23885/cx23885-dvb.c:507:2: warning: excess
elements in struct initializer [enabled by default]
drivers/media/video/cx23885/cx23885-dvb.c:507:2: warning: (near
initialization for ‘prof_8000_stb6100_config’) [enabled by default]
drivers/media/video/cx23885/cx23885-dvb.c: In function ‘dvb_register’:
drivers/media/video/cx23885/cx23885-dvb.c:1134:8: error:
‘stb6100_attach’ undeclared (first use in this function)
drivers/media/video/cx23885/cx23885-dvb.c:1134:8: note: each undeclared
identifier is reported only once for each function it appears in
drivers/media/video/cx23885/cx23885-dvb.c:1134:8: error: called object
‘__a’ is not a function
drivers/media/video/cx23885/cx23885-dvb.c:1138:32: error:
‘stb6100_set_freq’ undeclared (first use in this function)
drivers/media/video/cx23885/cx23885-dvb.c:1139:32: error:
‘stb6100_get_freq’ undeclared (first use in this function)
drivers/media/video/cx23885/cx23885-dvb.c:1140:32: error:
‘stb6100_set_bandw’ undeclared (first use in this function)
drivers/media/video/cx23885/cx23885-dvb.c:1141:32: error:
‘stb6100_get_bandw’ undeclared (first use in this function)
drivers/media/video/cx23885/cx23885-dvb.c: At top level:
drivers/media/video/cx23885/altera-ci.h:71:12: warning:
‘altera_ci_tuner_reset’ defined but not used [-Wunused-function]
make[4]: *** [drivers/media/video/cx23885/cx23885-dvb.o] Error 1
make[3]: *** [drivers/media/video/cx23885] Error 2
make[2]: *** [drivers/media/video] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2

Please help in making it work as my Kung Fu ends here

Regards,
Wojciech


[-- Attachment #2: prof8000_1.patch --]
[-- Type: text/plain, Size: 4059 bytes --]

diff -r 1da5fed5c8b2 linux/drivers/media/video/cx23885/cx23885-cards.c
--- a/linux/drivers/media/video/cx23885/cx23885-cards.c	Sun Sep 19 02:23:09 2010 -0300
+++ b/linux/drivers/media/video/cx23885/cx23885-cards.c	Sat Oct 02 11:19:50 2010 +0300
@@ -169,6 +169,10 @@
 		.name		= "TurboSight TBS 6920",
 		.portb		= CX23885_MPEG_DVB,
 	},
+	[CX23885_BOARD_PROF_8000] = {
+		.name		= "Prof Revolution DVB-S2 8000",
+		.portb		= CX23885_MPEG_DVB,
+	},
 	[CX23885_BOARD_TEVII_S470] = {
 		.name		= "TeVii S470",
 		.portb		= CX23885_MPEG_DVB,
@@ -388,6 +392,10 @@
 		.subdevice = 0x8888,
 		.card      = CX23885_BOARD_TBS_6920,
 	}, {
+		.subvendor = 0x8000,
+		.subdevice = 0x3034,
+		.card      = CX23885_BOARD_PROF_8000,
+	}, {
 		.subvendor = 0xd470,
 		.subdevice = 0x9022,
 		.card      = CX23885_BOARD_TEVII_S470,
@@ -813,6 +821,7 @@
 		mdelay(20);
 		cx_set(GP0_IO, 0x00040004);
 		break;
+	case CX23885_BOARD_PROF_8000:
 	case CX23885_BOARD_TBS_6920:
 		cx_write(MC417_CTL, 0x00000036);
 		cx_write(MC417_OEN, 0x00001000);
@@ -1043,6 +1052,7 @@
 		ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */
 		ts1->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
 		break;
+	case CX23885_BOARD_PROF_8000:
 	case CX23885_BOARD_TEVII_S470:
 	case CX23885_BOARD_DVBWORLD_2005:
 		ts1->gen_ctrl_val  = 0x5; /* Parallel */
--- a/linux/drivers/media/video/cx23885/cx23885-dvb.c.old	2011-03-20 08:20:37.384001338 +0100
+++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c	2011-03-20 08:29:56.757001476 +0100
@@ -47,6 +47,9 @@
 #include "dibx000_common.h"
 #include "zl10353.h"
 #include "stv0900.h"
+#include "stb6100.h"
+#include "stb6100_proc.h"
+#include "stv0900.h"
 #include "stv0900_reg.h"
 #include "stv6110.h"
 #include "lnbh24.h"
@@ -478,6 +478,35 @@
 	.if_khz = 5380,
 };
 
+static int p8000_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
+{
+	struct cx23885_tsport *port = fe->dvb->priv;
+	struct cx23885_dev *dev = port->dev;
+
+	if (voltage == SEC_VOLTAGE_18)
+		cx_write(MC417_RWD, 0x00001e00);
+	else if (voltage == SEC_VOLTAGE_13)
+		cx_write(MC417_RWD, 0x00001a00);
+	else
+		cx_write(MC417_RWD, 0x00001800);
+	return 0;
+}
+
+static struct stv0900_config prof_8000_stv0900_config = {
+	.demod_address = 0x6a,
+	.xtal = 27000000,
+	.clkmode = 3,
+	.diseqc_mode = 2,
+	.tun1_maddress = 0,
+	.tun1_adc = 0,
+	.path1_mode = 3,
+};
+
+static struct stb6100_config prof_8000_stb6100_config = {
+	.tuner_address = 0x60,
+	.refclock = 27000000,
+};
+
 static int cx23885_dvb_set_frontend(struct dvb_frontend *fe,
 				    struct dvb_frontend_parameters *param)
 {
@@ -1094,6 +1123,29 @@
 				goto frontend_detach;
 		}
 		break;
+	case CX23885_BOARD_PROF_8000: {
+		struct dvb_tuner_ops *tuner_ops = NULL;
+
+		i2c_bus = &dev->i2c_bus[0];
+		fe0->dvb.frontend = dvb_attach(stv0900_attach,
+						&prof_8000_stv0900_config,
+						&i2c_bus->i2c_adap, 0);
+		if (fe0->dvb.frontend != NULL) {
+			if (dvb_attach(stb6100_attach, fe0->dvb.frontend,
+					&prof_8000_stb6100_config,
+					&i2c_bus->i2c_adap)) {
+				tuner_ops = &fe0->dvb.frontend->ops.tuner_ops;
+				tuner_ops->set_frequency = stb6100_set_freq;
+				tuner_ops->get_frequency = stb6100_get_freq;
+				tuner_ops->set_bandwidth = stb6100_set_bandw;
+				tuner_ops->get_bandwidth = stb6100_get_bandw;
+
+				fe0->dvb.frontend->ops.set_voltage =
+							p8000_set_voltage;
+			}
+		}
+		break;
+		}
 	default:
 		printk(KERN_INFO "%s: The frontend of your DVB/ATSC card "
 			" isn't supported yet\n",
--- a/linux/drivers/media/video/cx23885/cx23885.h.old	2011-03-20 08:33:15.159001527 +0100
+++ b/linux/drivers/media/video/cx23885/cx23885.h	2011-03-20 08:34:32.244001547 +0100
@@ -86,6 +86,7 @@
 #define CX23885_BOARD_LEADTEK_WINFAST_PXTV1200 28
 #define CX23885_BOARD_GOTVIEW_X5_3D_HYBRID     29
 #define CX23885_BOARD_NETUP_DUAL_DVB_T_C_CI_RF 30
+#define CX23885_BOARD_PROF_8000                31
 
 #define GPIO_0 0x00000001
 #define GPIO_1 0x00000002

             reply	other threads:[~2011-03-20 19:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-20 19:32 Wojciech Myrda [this message]
2011-03-21 17:30 ` Prof_Revolution_DVB-S2_8000_PCI-E & Linux Kernel 2.6.38-rc8-next-20110314 Wojciech Myrda
2011-03-22 18:53 ` Mauro Carvalho Chehab

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=4D86566B.9090803@tlen.pl \
    --to=vojcek@tlen.pl \
    --cc=linux-media@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox