summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/budget.c
AgeCommit message (Collapse)Author
2009-01-18budget.c driver: Kernel oops: "BUG: unable to handle kernel paging request ↵Mauro Carvalho Chehab
at ffffffff" boundary="------------060402040603020802080803" From: Tony Broad <tony@byteworkshop.co.uk> I'm using a "Hauppauge WinTV-NOVA-T DVB card" of PCI id "13c2:1005" with kernel 2.6.27.9. I've recently experienced the following fairly consistent kernel oops on startup in grundig_29504_401_tuner_set_params from budget.c. As you might expect, following this failure, the card doesn't work. I'm not a kernel developer, nevertheless I seem to have managed to track this down to a non-existent initialisation of budget->dvb_frontend->tuner_priv. The attached patch fixes the problem for me (and I've managed to tune the card successfully as a result), but I don't know of anyone else using the driver so I can't test it on other people. Please let me know if this works for you or if I've done something terribly wrong ;-( BUG: unable to handle kernel paging request at ffffffff IP: [<f8981e11>] :budget:grundig_29504_401_tuner_set_params+0x3b/0xf8 *pde = 007e0067 *pte = 00000000 Oops: 0000 [#1] SMP Modules linked in: bridge stp bnep rfcomm l2cap asb100 hwmon_vid hwmon fuse ipt_REJECT nf_conntrack_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 loop dm_multipath scsi_dh ppdev snd_cmipci gameport snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss l64781 snd_pcm snd_page_alloc snd_opl3_lib snd_timer parport_pc snd_hwdep parport btusb snd_mpu401_uart budget budget_core snd_rawmidi bluetooth saa7146 snd_seq_device ttpci_eeprom snd soundcore sr_mod i2c_sis96x cdrom dvb_core sis900 i2c_core floppy pcspkr mii sata_sil sg dm_snapshot dm_zero dm_mirror dm_log dm_mod pata_sis ata_generic pata_acpi libata sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] Pid: 2319, comm: kdvb-fe-0 Not tainted (2.6.27.9-73.fc9.i686 #1) EIP: 0060:[<f8981e11>] EFLAGS: 00010286 CPU: 0 EIP is at grundig_29504_401_tuner_set_params+0x3b/0xf8 [budget] EAX: f6417f00 EBX: f6f53808 ECX: 00000000 EDX: ffffffff ESI: f6f94404 EDI: f6417f00 EBP: f6417f10 ESP: f6417ef0 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process kdvb-fe-0 (pid: 2319, ti=f6417000 task=f642b2c0 task.ti=f6417000) Stack: f6e39800 00000000 00000004 f6417f00 c064523c f6f53808 f6f53800 f6f94404 f6417f54 f8b2e45a f6417f24 00000286 f6417f4c f6417f38 00000000 00000286 f6417f3c c064520f f642b2c0 f6417f6c c064456f 00000001 f6f94400 00000001 Call Trace: [<c064523c>] ? _spin_lock_irqsave+0x29/0x30 [<f8b2e45a>] ? apply_frontend_param+0x27/0x357 [l64781] [<c064520f>] ? _spin_lock_irq+0x1c/0x20 [<c064456f>] ? __down_common+0x91/0xbf [<f894f25d>] ? dvb_frontend_swzigzag_autotune+0x17d/0x1a4 [dvb_core] [<f894f780>] ? dvb_frontend_swzigzag+0x1ac/0x209 [dvb_core] [<f894fcc8>] ? dvb_frontend_thread+0x2eb/0x3b3 [dvb_core] [<c043c166>] ? autoremove_wake_function+0x0/0x33 [<f894f9dd>] ? dvb_frontend_thread+0x0/0x3b3 [dvb_core] [<c043bec3>] ? kthread+0x3b/0x61 [<c043be88>] ? kthread+0x0/0x61 [<c040494b>] ? kernel_thread_helper+0x7/0x10 ======================= Code: ec 14 8b 80 00 02 00 00 8b 93 08 02 00 00 8d 7d e4 8b 40 20 89 45 e0 31 c0 85 d2 f3 ab 8d 45 f0 66 c7 45 e8 04 00 89 45 ec 74 09 <0f> b6 02 66 89 45 e4 eb 06 66 c7 45 e4 61 00 8b 0e be 0a 8b 02 EIP: [<f8981e11>] grundig_29504_401_tuner_set_params+0x3b/0xf8 [budget] SS:ESP 0068:f6417ef0 Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-22dvb/budget: push adapter_nr mod option down to individual driversJanne Grunau
From: Janne Grunau <janne-dvb@grunau.be> adapter_nr mod option does not make sense for budget-core since it is only common code shared by all budget drivers Priority: normal Signed-off-by: Janne Grunau <janne-dvb@grunau.be>
2008-09-05budget: Add callback to load firmware for the TDHD1 tunerOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Supply callback to load firmware for the TDHD1 tuner (using request_firmware). Priority: normal Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2008-09-03budget: Support Activy DVB-T with TDHD1 tunerOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Support Fujitsu-Siemens Activy DVB-T card rev AL (ALPS TDHD1-204A tuner). Priority: normal Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2008-09-01budget: udelay changed to mdelayThierry MERLE
From: Thierry MERLE <thierry.merle@free.fr> budget.ko fails to build on ARM with: ERROR: "__bad_udelay" [drivers/media/dvb/ttpci/budget.ko] undefined! make[1]: *** [__modpost] Error 1 __bad_udelay is specifically designed on ARM to fail when udelay is called in a bad way. arch/arm/include/asm/delay.h has this to say about __bad_udelay: /* * This function intentionally does not exist; if you see references to * it, it means that you're calling udelay() with an out of range value. * * With currently imposed limits, this means that we support a max delay * of 2000us. Further limits: HZ<=1000 and bogomips<=3355 */ extern void __bad_udelay(void); Solution is to replace udelay by a mdelay and udelay with value less than 2000 Priority: high Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
2008-08-25V4L/DVB: follow lspci device/vendor styleMauro Carvalho Chehab
From: Bjorn Helgaas <bjorn.helgaas@hp.com> Use "[%04x:%04x]" for PCI vendor/device IDs to follow the format used by lspci(8). Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-21merge: http://linuxtv.org/hg/~endriss/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-21merge: http://linuxtv.org/hg/~hhackmann/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-21budget: Support for Activy budget card with BSBE1 tunerOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Add support for Activy budget card with BSBE1 tuner, subsystem id 0x1131:0x4f60. Low band and DiSEqC support should work now (BSBE1 and BSRU6 tuner). Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2008-04-10tda10086: make the xtal frequency a configuration optionHartmut Hackmann
From: Hartmut Hackmann <hartmut.hackmann@t-online.de> Some DVB-S boards, i.e. with the SD1878 tuner, use a 4 MHz reference frequency. This reqires a different setup of the clock PLL. This patch adds an enum to the tda10086_config struct and sets the proper values for the boards. This patch also fixes the DVB-S section of the MD7134_BRIDGE_2 Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
2008-04-11merge:http://linuxtv.org/hg/~endriss/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-09budget: Add support for Fujitsu Siemens DVB-T Activy BudgetOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Implement support for Fujitsu Siemens DVB-T Activy Budget, sub-system id 0x1131:0x5f61. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2008-04-08media/dvb/ttpci replace remaining __FUNCTION__ occurrencesMichael Krufky
From: Harvey Harrison <harvey.harrison@gmail.com> __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-04-13Support for DVB-S demod PN1010 (clone of S5H1420) addedPatrick Boettcher
From: Patrick Boettcher <pb@linuxtv.org> This device is a clone of the PN1010 used by SkyStar2 rev2.7 . This patch adds support for the flexcop-device and makes the driver look a little bit nicer. It needs to be checked whether the driver is still ok for the budget-cards. Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2008-02-10tda10086: make the 22kHz tone for DISEQC a config optionHartmut Hackmann
From: Hartmut Hackmann <hartmut.hackmann@t-online.de> Some cards need the diseqc signal modulated, while some just need the envelope to control the LNB supply. This fixes Bug 9887 Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Acked-By: Patrick Boettcher <pb@linuxtv.org> Acked-by: Oliver Endriss <o.endriss@gmx.de>
2006-11-01av7110,budget,budget-ci,budget-av: Use interrupt mode for I2C transfersOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Use interrupt mode for I2C transfers. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-11-22Correct budget.c permissionsAndrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> budget.c permissions seem to have accidentally been changed to executable - this removes that Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-11-19budget: diseqc_method module parameter for cards with subsystem-id 13c2:1003Oliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> New module parameter diseqc_method for cards with subsystem-id 13c2:1003. - 0: unreliable method, can be used by all board revisions (default) - 1: reliable method, works for newer board layouts only The parameter has no effect for cards with other subsystem-ids. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-11-16Fix tuning on older budget DVBS cards.Andrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Fixes to DISEQC on these cards inadvertently broke normal tone/voltage signalling. This restores the necessary function. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-08-07remove null chars from dvb namesMauro Carvalho Chehab
From: Dave Jones <davej@redhat.com> DVB null terminates its device names, which seems odd, and should be unnecessary. Signed-off-by: Dave Jones <davej@redhat.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-30Add tda10086 support for TT DVB-S-1401Andrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Add the necessary code and makefile infrastructure Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-07-28Refactor dvb_detach calls into a single dvb_frontend_detach function.Andrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Remove buggy dvb_detach() macro and replace with unified dvb_frontend_detach() call. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Acked-by: Trent Piepho <xyzzy@speakeasy.org>
2006-07-28Convert DVB devices to use dvb_attach()Andrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Only devices using > 1 frontend were ported; ones which did not are left using static binding. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Acked-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Trent Piepho <xyzzy@speakeasy.org>
2006-07-28Convert SEC drivers to new frontend APIAndrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Convert SEC drivers to new frontend API Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Acked-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Trent Piepho <xyzzy@speakeasy.org>
2006-07-19[budget/budget-av/budget-ci/budget-patch drivers] fixed DMA start/stop codeOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Fix bug reported by Andrew de Quincey: After cold boot the saa7146 DMA did not start if the demuxer was opened before the frontend has locked to the signal. DMA transfers will be started now if (and only if) the frontend is locked and data should be sent to the demuxer. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-07-10Fix unstable DISEQC behaviour on budget cards.Andrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Use the stv0299 native DISEQC implementation instead of the bitbanging one as required by the ves1893. This was originally found by Oliver Endriss. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-06-06Reverted a patch by commited without ackMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> As per Manu's request, patch "TT 1400 DVB-S Budget with different PCI subsystem ID" were reverted due lack of Endcriss ack. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-06TT 1400 DVB-S Budget with different PCI subsystem IDMichael Krufky
From: Helmut Auer <vdr@helmutauer.de> This patch adds support for a TT 1400 DVB-S Budget with PCI subsystem ID 0133:1000 Signed-off-by: Helmut Auer <vdr@helmutauer.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-05-14Change dvb_frontend_ops to be a real field instead of a pointer field inside ↵Patrick Boettcher
dvb_frontend From: Patrick Boettcher <pb@linuxtv.org> The dvb_frontend_ops is a pointer inside dvb_frontend. That's why every demod-driver is having a field of dvb_frontend_ops in its private-state-struct and using the reference for filling the pointer-field in dvb_frontend. - It saves at least two lines of code per demod-driver, - reduces object size (one less dereference per frontend_ops-access), - be coherent with dvb_tuner_ops, - makes it a little bit easier for newbies to understand how it works and - avoids stupid mistakes because you would have to copy the dvb_frontend_ops always, before you could assign the static pointer directly, which was dangerous. Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2006-04-28Convert lnbp21 to a moduleAndrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Convert lnbp21.h into a linux kernel module. Fix up previous users to use it. Convert dvb-ttusb-budget to use it. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-04-18Convert ttpci/budget to refactored tuner codeAndrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Rename pll calls to appropriate tuner calls. Remove pll functions from demod structures. Hook tuner call into tuner_ops. Add pll gate control calls where appropriate. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-03-16Moved duplicated code of ALPS BSRU6 tuner to a standalone file.Oliver Endriss
From: Perceval Anichini <perceval.anichini@streamvision.fr> Moved duplicated code of ALPS BSRU6 tuner to a standalone file. Modified av7110 and budget drivers to include the new file. Signed-off-by: Perceval Anichini <perceval.anichini@streamvision.fr> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-02-28TechnoTrend S-1500 card handling moved from budget.c to budget-ci.cOliver Endriss
From: Perceval Anichini <perceval.anichini@streamvision.fr> TechnoTrend S-1500 card handling moved from budget.c to budget-ci.c. Signed-off-by: Perceval Anichini <perceval.anichini@streamvision.fr> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2006-02-28Refactored LNBP21 and BSBE1 supportOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Moved duplicated code to separate files. LNBP21 stuff rewritten from scratch, BSBE1 copied from av7110.c. Modified budget driver to use the new routines. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2005-12-19Revert one 64-bit fix and improved other 64-bit fixesHans Verkuil
- Reverted objectionable fix in saa7146_hlp.c - Merged in improved dvb 64-bit fixes from Peter Beutner. Signed-off-by: Peter Beutner <p.beutner@gmx.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-11-26Whitespaces cleanups.Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-11-12LNB power can now be switched off for Activy Budget-S rev GR/AL.Oliver Endriss
Dishnetwork support fixed for Nova-S with bsbe1/lnbp21 frontend and Activy Budget-S rev AL. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2005-11-08fixed DiSEqC timing for saa7146-based budget cardsOliver Endriss
(speed-up ioctls using SAA7146_I2C_SHORT_DELAY) Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2005-10-24stv0299_set_frontend(): reduced number of i2c transfers, set register 0x12 ↵Oliver Endriss
from inittab Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2005-10-03Remove broken stv0299 enhanced tuning codeAndrew de Quincy
2005-09-04This patch adds support for the Technotrend Budget Card S1500Andrew de Quincy
with a BSBE1 frontend and the LNBP21. Signed-off-by: Martin Zwickel <martin.zwickel@technotrend.de> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2005-07-21Fix inversion/fec.Andrew de Quincy
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2005-07-16Pass a pointer to the i2c bus to the pll callbacks (stv0299 only).Andreas Oberritter
It was not possible to tell which i2c bus should be used if an adapter has multiple frontends on multiple i2c buses.
2005-06-15Finalised s5h1420/Nova-S SE support. releasedAndrew de Quincy
2005-06-12Fixed initialisation of LNBP21Andrew de Quincy
2005-06-12Implement voltage controlsAndrew de Quincy
2005-06-12Correct subsystem idAndrew de Quincy
2005-06-11Initial support for s5h1420 frontend (new hauppauge/tt DVB-S SE). UntestedAndrew de Quincy
and incomplete, so commented out for the moment.
2005-03-17ttpci: follow dvb_register_adapter changes in dvbdev.[ch]Andreas Oberritter
2005-03-02whitespace cleanup (remove ws at eol, sync with changes in mainline kernel)Johannes Stezenbach