[linux-dvb] MC44S803 frontend (it works)
Detlef Rohde
rohde.d at t-online.de
Wed Jan 7 23:53:46 CET 2009
Hi Roberto,
tnx for doing your test! As a Linux-newbie I better wait now until I can
use a merged driver since I had bad experiences with former trys i.e.
OS-crashes. Hopefully one Jochen or somebody else can soon do the rest.
Meanwhile I am experimenting with a WXP-Pro VM running on my Ubuntu
Intrepid Installation. Will try the native Terratec-SW on this machine.
Best regards,
Detlef
Roberto Ragusa schrieb:
> (to both linux-dvb and linux-media)
>
> Jochen Friedrich wrote:
>
>> Hi Roberto,
>>
>>
>>> Is there any plan to include this frontend in mainline kernels?
>>> I used to run this driver months ago and it was working well.
>>>
>> The reason is the huge memory footprint due to the included frequency table.
>> I worked a bit on the driver to get rid of this table. Could you try this version:
>>
>> 1. Patch for AF9015:
>>
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=commitdiff;h=e5d7398a4b2d3c520d949e53bbf7667a481e9690
>>
>> 2. MC44S80x tuner driver:
>>
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x.c;h=b8dd335e64b03b8544b4c95e2d7f3dbd968078a0;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x.h;h=c6e76da6bf51163c90f0ead259c0e54d4f637671;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x_reg.h;h=299c1be9a80a3777fb46f65d6070965de9754787;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>>
>
> Finally managed to try your version. It works, with no apparent issue.
>
> Scanning is OK, tuning is OK.
> I can't test signals below 600MHz at the moment, but I will try (possibly VHF too)
> in a couple of days, just to be sure about the frequency handling code.
> Also tried removing the USB stick while playing a stream; the devices
> were correctly removed when the user space apps closed them.
>
> In my (user) opinion this driver is ready to be merged.
>
> I actually fixed some trivial compilation issues in the driver.
>
> --- a/linux/drivers/media/common/tuners/mc44s80x.c 2009-01-05 12:38:11.000000000 +0100
> +++ b/linux/drivers/media/common/tuners/mc44s80x.c 2009-01-05 16:12:59.000000000 +0100
> @@ -470,12 +470,12 @@
>
> mc44s80x_set_power(state, 0); /* disable powerdown */
> printk(KERN_WARNING "mc44s80x: MC44S80x get Device ID\n");
> - err = i2c_transfer(state->i2c, &msg, 1);
> + err = i2c_transfer(state->i2c, msg1, 1);
> if (err != 1) {
> printk(KERN_WARNING "mc44s80x: Write error\n");
> goto exit;
> }
> - err = i2c_transfer(state->i2c, &msg, 1);
> + err = i2c_transfer(state->i2c, msg2, 1);
> if (err != 1) {
> printk(KERN_WARNING "mc44s80x: Read error, Reg=[0x%02x]\n",
> TUNER_ADDR + 1);
> @@ -495,7 +495,7 @@
> return 0;
> unk:
> printk(KERN_WARNING "mc44s80x: Chip with unknown Revision ID "
> - "(0x%02x)\n", __func__, id);
> + "(0x%02x)\n", id);
> goto out;
> exit:
> if (fe->ops.i2c_gate_ctrl)
> @@ -512,7 +512,7 @@
> int err = 0;
>
> printk(KERN_WARNING "mc44s80x: Trying to attach to Bus @ 0x%p\n", i2c);
> - state = kzalloc(sizeof(struct mc44s80x_state), GFP_KERNEL));
> + state = kzalloc(sizeof(struct mc44s80x_state), GFP_KERNEL);
> if (state == NULL) {
> err = -ENOMEM;
> goto exit;
>
>
>> Thanks,
>> Jochen
>>
>
> Thanks to you.
>
>
--
Dipl.-Ing. Detlef Rohde
Titiseestr. 12
D-13469 Berlin
Phone: +4930 4021731
A.R.S.: DL7IY
Roberto Ragusa schrieb:
> (to both linux-dvb and linux-media)
>
> Jochen Friedrich wrote:
>
>> Hi Roberto,
>>
>>
>>> Is there any plan to include this frontend in mainline kernels?
>>> I used to run this driver months ago and it was working well.
>>>
>> The reason is the huge memory footprint due to the included frequency table.
>> I worked a bit on the driver to get rid of this table. Could you try this version:
>>
>> 1. Patch for AF9015:
>>
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=commitdiff;h=e5d7398a4b2d3c520d949e53bbf7667a481e9690
>>
>> 2. MC44S80x tuner driver:
>>
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x.c;h=b8dd335e64b03b8544b4c95e2d7f3dbd968078a0;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x.h;h=c6e76da6bf51163c90f0ead259c0e54d4f637671;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>> http://git.bocc.de/cgi-bin/gitweb.cgi?p=dbox2.git;a=blob;f=drivers/media/common/tuners/mc44s80x_reg.h;h=299c1be9a80a3777fb46f65d6070965de9754787;hb=4bde668b4eca90f8bdcc5916dfc88c115a3dfd20
>>
>
> Finally managed to try your version. It works, with no apparent issue.
>
> Scanning is OK, tuning is OK.
> I can't test signals below 600MHz at the moment, but I will try (possibly VHF too)
> in a couple of days, just to be sure about the frequency handling code.
> Also tried removing the USB stick while playing a stream; the devices
> were correctly removed when the user space apps closed them.
>
> In my (user) opinion this driver is ready to be merged.
>
> I actually fixed some trivial compilation issues in the driver.
>
> --- a/linux/drivers/media/common/tuners/mc44s80x.c 2009-01-05 12:38:11.000000000 +0100
> +++ b/linux/drivers/media/common/tuners/mc44s80x.c 2009-01-05 16:12:59.000000000 +0100
> @@ -470,12 +470,12 @@
>
> mc44s80x_set_power(state, 0); /* disable powerdown */
> printk(KERN_WARNING "mc44s80x: MC44S80x get Device ID\n");
> - err = i2c_transfer(state->i2c, &msg, 1);
> + err = i2c_transfer(state->i2c, msg1, 1);
> if (err != 1) {
> printk(KERN_WARNING "mc44s80x: Write error\n");
> goto exit;
> }
> - err = i2c_transfer(state->i2c, &msg, 1);
> + err = i2c_transfer(state->i2c, msg2, 1);
> if (err != 1) {
> printk(KERN_WARNING "mc44s80x: Read error, Reg=[0x%02x]\n",
> TUNER_ADDR + 1);
> @@ -495,7 +495,7 @@
> return 0;
> unk:
> printk(KERN_WARNING "mc44s80x: Chip with unknown Revision ID "
> - "(0x%02x)\n", __func__, id);
> + "(0x%02x)\n", id);
> goto out;
> exit:
> if (fe->ops.i2c_gate_ctrl)
> @@ -512,7 +512,7 @@
> int err = 0;
>
> printk(KERN_WARNING "mc44s80x: Trying to attach to Bus @ 0x%p\n", i2c);
> - state = kzalloc(sizeof(struct mc44s80x_state), GFP_KERNEL));
> + state = kzalloc(sizeof(struct mc44s80x_state), GFP_KERNEL);
> if (state == NULL) {
> err = -ENOMEM;
> goto exit;
>
>
>> Thanks,
>> Jochen
>>
>
> Thanks to you.
>
>
--
Dipl.-Ing. Detlef Rohde
Titiseestr. 12
D-13469 Berlin
Phone: +4930 4021731
A.R.S.: DL7IY
More information about the linux-dvb
mailing list