diff options
author | Gerd Knorr <devnull@localhost> | 2005-02-21 13:57:59 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2005-02-21 13:57:59 +0000 |
commit | 680f9b6a97792f407c61af049c87f2909d8875cc (patch) | |
tree | 0b17e60b8d1b651d70056b4e74eea56fab5d20b9 | |
parent | 4d292e354c6a309594495ffc983327775c037503 (diff) | |
download | mediapointer-dvb-s2-680f9b6a97792f407c61af049c87f2909d8875cc.tar.gz mediapointer-dvb-s2-680f9b6a97792f407c61af049c87f2909d8875cc.tar.bz2 |
- add some bttv debug code.
-rw-r--r-- | linux/Documentation/video4linux/bttv/Cards | 2 | ||||
-rw-r--r-- | linux/drivers/media/video/btcx-risc.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/video/bttv-cards.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/bttv-driver.c | 93 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88.h | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-core.c | 6 | ||||
-rw-r--r-- | v4l/Makefile | 2 | ||||
-rw-r--r-- | v4l/scripts/update | 3 |
8 files changed, 97 insertions, 29 deletions
diff --git a/linux/Documentation/video4linux/bttv/Cards b/linux/Documentation/video4linux/bttv/Cards index bfbcf56c4..6545f8c60 100644 --- a/linux/Documentation/video4linux/bttv/Cards +++ b/linux/Documentation/video4linux/bttv/Cards @@ -1,6 +1,6 @@ Gunther Mayer's bttv card gallery (graphical version of this text file :-) -is available at: http://mayerg.gmxhome.de/bttv/bttv-gallery.html +is available at: http://www.bttv-gallery.de/ Supported cards: diff --git a/linux/drivers/media/video/btcx-risc.c b/linux/drivers/media/video/btcx-risc.c index b51e4599b..fc3ff967e 100644 --- a/linux/drivers/media/video/btcx-risc.c +++ b/linux/drivers/media/video/btcx-risc.c @@ -1,5 +1,5 @@ /* - $Id: btcx-risc.c,v 1.5 2004/12/10 12:33:39 kraxel Exp $ + $Id: btcx-risc.c,v 1.6 2005/02/21 13:57:59 kraxel Exp $ btcx-risc.c @@ -53,12 +53,13 @@ void btcx_riscmem_free(struct pci_dev *pci, { if (NULL == risc->cpu) return; - pci_free_consistent(pci, risc->size, risc->cpu, risc->dma); - memset(risc,0,sizeof(*risc)); if (debug) { memcnt--; - printk("btcx: riscmem free [%d]\n",memcnt); + printk("btcx: riscmem free [%d] dma=%lx\n", + memcnt, (unsigned long)risc->dma); } + pci_free_consistent(pci, risc->size, risc->cpu, risc->dma); + memset(risc,0,sizeof(*risc)); } int btcx_riscmem_alloc(struct pci_dev *pci, @@ -79,7 +80,8 @@ int btcx_riscmem_alloc(struct pci_dev *pci, risc->size = size; if (debug) { memcnt++; - printk("btcx: riscmem alloc size=%d [%d]\n",size,memcnt); + printk("btcx: riscmem alloc [%d] dma=%lx cpu=%p size=%d\n", + memcnt, (unsigned long)dma, cpu, size); } } memset(risc->cpu,0,risc->size); diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c index 15f0f22ae..9fb74a8b1 100644 --- a/linux/drivers/media/video/bttv-cards.c +++ b/linux/drivers/media/video/bttv-cards.c @@ -1,5 +1,5 @@ /* - $Id: bttv-cards.c,v 1.45 2005/02/16 11:18:28 kraxel Exp $ + $Id: bttv-cards.c,v 1.46 2005/02/21 13:57:59 kraxel Exp $ bttv-cards.c @@ -303,7 +303,7 @@ static struct CARD { { 0x07611461, BTTV_AVDVBT_761, "AverMedia AverTV DVB-T 761" }, { 0x001c11bd, BTTV_PINNACLESAT, "Pinnacle PCTV Sat" }, { 0x002611bd, BTTV_TWINHAN_DST, "Pinnacle PCTV SAT CI" }, - { 0x00011822, BTTV_TWINHAN_DST, "Twinhan VisionPlus DVB-T" }, + { 0x00011822, BTTV_TWINHAN_DST, "Twinhan VisionPlus DVB" }, { 0xfc00270f, BTTV_TWINHAN_DST, "ChainTech digitop DST-1000 DVB-S" }, { 0x07711461, BTTV_AVDVBT_771, "AVermedia AverTV DVB-T 771" }, { 0xdb1018ac, BTTV_DVICO_DVBT_LITE, "DVICO FusionHDTV DVB-T Lite" }, diff --git a/linux/drivers/media/video/bttv-driver.c b/linux/drivers/media/video/bttv-driver.c index 5d981ee93..b6f69b7f6 100644 --- a/linux/drivers/media/video/bttv-driver.c +++ b/linux/drivers/media/video/bttv-driver.c @@ -1,5 +1,5 @@ /* - $Id: bttv-driver.c,v 1.36 2005/02/15 10:51:53 kraxel Exp $ + $Id: bttv-driver.c,v 1.37 2005/02/21 13:57:59 kraxel Exp $ bttv - Bt848 frame grabber driver @@ -3174,6 +3174,82 @@ static struct video_device radio_template = }; /* ----------------------------------------------------------------------- */ +/* some debug code */ + +int bttv_risc_decode(u32 risc) +{ + static char *instr[16] = { + [ BT848_RISC_WRITE >> 28 ] = "write", + [ BT848_RISC_SKIP >> 28 ] = "skip", + [ BT848_RISC_WRITEC >> 28 ] = "writec", + [ BT848_RISC_JUMP >> 28 ] = "jump", + [ BT848_RISC_SYNC >> 28 ] = "sync", + [ BT848_RISC_WRITE123 >> 28 ] = "write123", + [ BT848_RISC_SKIP123 >> 28 ] = "skip123", + [ BT848_RISC_WRITE1S23 >> 28 ] = "write1s23", + }; + static int incr[16] = { + [ BT848_RISC_WRITE >> 28 ] = 2, + [ BT848_RISC_JUMP >> 28 ] = 2, + [ BT848_RISC_SYNC >> 28 ] = 2, + [ BT848_RISC_WRITE123 >> 28 ] = 5, + [ BT848_RISC_SKIP123 >> 28 ] = 2, + [ BT848_RISC_WRITE1S23 >> 28 ] = 3, + }; + static char *bits[] = { + "be0", "be1", "be2", "be3/resync", + "set0", "set1", "set2", "set3", + "clr0", "clr1", "clr2", "clr3", + "irq", "res", "eol", "sol", + }; + int i; + + printk("0x%08x [ %s", risc, + instr[risc >> 28] ? instr[risc >> 28] : "INVALID"); + for (i = ARRAY_SIZE(bits)-1; i >= 0; i--) + if (risc & (1 << (i + 12))) + printk(" %s",bits[i]); + printk(" count=%d ]\n", risc & 0xfff); + return incr[risc >> 28] ? incr[risc >> 28] : 1; +} + +void bttv_risc_disasm(struct bttv *btv, + struct btcx_riscmem *risc) +{ + unsigned int i,j,n; + + printk("%s: risc disasm: %p [dma=0x%08lx]\n", + btv->c.name, risc->cpu, (unsigned long)risc->dma); + for (i = 0; i < (risc->size >> 2); i += n) { + printk("%s: 0x%lx: ", btv->c.name, + (unsigned long)(risc->dma + (i<<2))); + n = bttv_risc_decode(risc->cpu[i]); + for (j = 1; j < n; j++) + printk("%s: 0x%lx: 0x%08x [ arg #%d ]\n", + btv->c.name, (unsigned long)(risc->dma + ((i+j)<<2)), + risc->cpu[i+j], j); + if (0 == risc->cpu[i]) + break; + } +} + +static void bttv_print_riscaddr(struct bttv *btv) +{ + printk(" main: %08Lx\n", + (unsigned long long)btv->main.dma); + printk(" vbi : o=%08Lx e=%08Lx\n", + btv->cvbi ? (unsigned long long)btv->cvbi->top.dma : 0, + btv->cvbi ? (unsigned long long)btv->cvbi->bottom.dma : 0); + printk(" cap : o=%08Lx e=%08Lx\n", + btv->curr.top ? (unsigned long long)btv->curr.top->top.dma : 0, + btv->curr.bottom ? (unsigned long long)btv->curr.bottom->bottom.dma : 0); + printk(" scr : o=%08Lx e=%08Lx\n", + btv->screen ? (unsigned long long)btv->screen->top.dma : 0, + btv->screen ? (unsigned long long)btv->screen->bottom.dma : 0); + bttv_risc_disasm(btv, &btv->main); +} + +/* ----------------------------------------------------------------------- */ /* irq handler */ static char *irq_name[] = { @@ -3211,21 +3287,6 @@ static void bttv_print_irqbits(u32 print, u32 mark) } } -static void bttv_print_riscaddr(struct bttv *btv) -{ - printk(" main: %08Lx\n", - (unsigned long long)btv->main.dma); - printk(" vbi : o=%08Lx e=%08Lx\n", - btv->cvbi ? (unsigned long long)btv->cvbi->top.dma : 0, - btv->cvbi ? (unsigned long long)btv->cvbi->bottom.dma : 0); - printk(" cap : o=%08Lx e=%08Lx\n", - btv->curr.top ? (unsigned long long)btv->curr.top->top.dma : 0, - btv->curr.bottom ? (unsigned long long)btv->curr.bottom->bottom.dma : 0); - printk(" scr : o=%08Lx e=%08Lx\n", - btv->screen ? (unsigned long long)btv->screen->top.dma : 0, - btv->screen ? (unsigned long long)btv->screen->bottom.dma : 0); -} - static void bttv_irq_debug_low_latency(struct bttv *btv, u32 rc) { printk("bttv%d: irq: skipped frame [main=%lx,o_vbi=%lx,o_field=%lx,rc=%lx]\n", diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h index 7a72aa556..c3800d054 100644 --- a/linux/drivers/media/video/cx88/cx88.h +++ b/linux/drivers/media/video/cx88/cx88.h @@ -1,5 +1,5 @@ /* - * $Id: cx88.h,v 1.54 2005/02/18 13:26:20 kraxel Exp $ + * $Id: cx88.h,v 1.55 2005/02/21 13:57:59 kraxel Exp $ * * v4l2 device driver for cx2388x based TV cards * @@ -547,7 +547,7 @@ void cx8802_cancel_buffers(struct cx8802_dev *dev); int cx8802_init_common(struct cx8802_dev *dev); void cx8802_fini_common(struct cx8802_dev *dev); -int cx8802_suspend_common(struct pci_dev *pci_dev, u32 state); +int cx8802_suspend_common(struct pci_dev *pci_dev, pm_message_t state); int cx8802_resume_common(struct pci_dev *pci_dev); /* diff --git a/linux/drivers/media/video/saa7134/saa7134-core.c b/linux/drivers/media/video/saa7134/saa7134-core.c index a639cc90a..6625ff2d3 100644 --- a/linux/drivers/media/video/saa7134/saa7134-core.c +++ b/linux/drivers/media/video/saa7134/saa7134-core.c @@ -1,5 +1,5 @@ /* - * $Id: saa7134-core.c,v 1.26 2005/02/15 15:59:35 kraxel Exp $ + * $Id: saa7134-core.c,v 1.27 2005/02/21 13:57:59 kraxel Exp $ * * device driver for philips saa7134 based TV cards * driver core @@ -246,9 +246,13 @@ static int need_dvb; static int pending_call(struct notifier_block *self, unsigned long state, void *module) { + struct module *m = module; + + printk("%s #1 %s %ld\n",__FUNCTION__,m->name,state); if (module != THIS_MODULE || state != MODULE_STATE_LIVE) return NOTIFY_DONE; + printk("%s #2 %d %d\n",__FUNCTION__,need_empress,need_dvb); if (need_empress) request_module("saa7134-empress"); if (need_dvb) diff --git a/v4l/Makefile b/v4l/Makefile index 67bc20319..de8452c78 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -66,7 +66,7 @@ endif ifneq ($(KERNELRELEASE),) # recursive call from kernel build system -dummy := $(shell echo $(KERNELRELEASE) > $(obj)/.version) +dummy := $(shell echo $(KERNELRELEASE) > $(obj)/.version) ifeq ($(VERSION).$(PATCHLEVEL),2.6) export-objs := diff --git a/v4l/scripts/update b/v4l/scripts/update index b07007f00..800e729e2 100644 --- a/v4l/scripts/update +++ b/v4l/scripts/update @@ -72,7 +72,7 @@ v4l2basic xinsmod tveeprom debug=0 xinsmod dvb-pll debug=0 -xinsmod btcx-risc debug=0 +xinsmod btcx-risc debug=1 xinsmod ir-common debug=0 repeat=0 xinsmod tuner tuner_debug=0 xinsmod tda9887 debug=0 qss=1 @@ -100,6 +100,7 @@ xinsmod saa7134-empress xinsmod cx22702 debug=0 xinsmod mt352 debug=1 xinsmod or51132 +xinsmod tda1004x xinsmod video-buf-dvb xinsmod cx88-dvb xinsmod saa7134-dvb |