All of lore.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 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.