public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [linux-dvb] cx23885 driver and DMA timeouts
@ 2008-06-22 12:10 stev391
  2008-06-23 12:51 ` Steven Toth
  0 siblings, 1 reply; 6+ messages in thread
From: stev391 @ 2008-06-22 12:10 UTC (permalink / raw)
  To: Steven Toth; +Cc: linux dvb


[-- Attachment #1.1: Type: text/plain, Size: 2153 bytes --]

 Steven,

The card works perfectly using Chris Pascoe's branch, I can use both
tuners at the same time. It only stuffs up when I try and merge the
relevant sections into tip, as per the patch I attached in the previous
email.  So this eliminates bios/hardware faults. I can also try in
windows for you, but I'm sure this is not the fault.

I would like to run a more modern version of the hg code as I have other
cards sitting around that could go in the same system and also I fear
that if somebody doesn't do the work to get it into tip, support will
disappear for newer kernels.

Thanks for help, any further advice?
(Also you lost me a bit with sram and risc, is this for the
microprocessor on the tv card or is it on my motherboard/cpu? And do you
have any documentation about them so I can learn more about it?)

Stephen.

  ----- Original Message -----
  From: "Steven Toth"
  To: stev391@email.com
  Subject: Re: [linux-dvb] cx23885 driver and DMA timeouts
  Date: Sat, 21 Jun 2008 08:54:39 -0400



  > As soon as I try to access both cards at the same time it breaks
  > and only a full computer restart will fix it, i have tried
  > unloading all the modules that I can find that this card uses and
  > loading them again. I get the syslog attached below (cx23885 with
  > debug =1). It doesn't matter what progam i use to access them
  > (tried gxine, totem, mythtv) it all works the same, only one at a
  > time or it breaks.

  If the vidb and vidc (ts1 / ts2) bridge streams each single channel
  correctly, but not both together then this is either a sram
  configuration issue (the risc engine's workspace is being corrupted
  by another risc channel), or your system has a pcie compatibility
  issue.

  I've seen both of these issues in the past.

  I don't have a hardware product with demodulators on vidb and c, so
  that's not something I can repro.

  Can you dual boot the same system under windows and remove any pcie
  compatibility doubts?

  - Steve

-- 
See Exclusive Videos: 10th Annual Young Hollywood Awards
http://www.hollywoodlife.net/younghollywoodawards2008/


[-- Attachment #1.2: Type: text/html, Size: 2558 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: [linux-dvb] cx23885 driver and DMA timeouts
@ 2008-06-25 22:32 stev391
  2008-06-25 22:53 ` Steven Toth
  0 siblings, 1 reply; 6+ messages in thread
From: stev391 @ 2008-06-25 22:32 UTC (permalink / raw)
  To: Steven Toth; +Cc: linux dvb


[-- Attachment #1.1: Type: text/plain, Size: 3011 bytes --]

 Steve,

I have found the cause of my DMA timeouts, as per your suggestion I
checked the sram settings.
The cause of the issue was in SRAM_CH06 cdt, this was originally set to
0x10480 and is currently set to 0x108d0.  In changeset 7005:a6d2028a4aab
you introduced this as an alternative set of values and then in changeset
7464:20a1412b4f1a it was all converted to these values.  I was wondering
why this value was required to change?

I have not yet had the time to analyse these values in detail, but the
following are possible options that I/we can persue:

1) Set the value back to 0x10480 (diff attached), the following supported
cards will use this value (from a quick glance):
CX23885_BOARD_HAUPPAUGE_HVR1800lp
CX23885_BOARD_HAUPPAUGE_HVR1800
CX23885_BOARD_HAUPPAUGE_HVR1250
CX23885_BOARD_HAUPPAUGE_HVR1500Q
CX23885_BOARD_HAUPPAUGE_HVR1500
CX23885_BOARD_HAUPPAUGE_HVR1200
CX23885_BOARD_HAUPPAUGE_HVR1700
CX23885_BOARD_HAUPPAUGE_HVR1400
CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP

2) Introduce another variable in struct cx23885_board to allow board
specific srams.  The sram would not be duplicated in this struct, a
second version would be included in cx23885-core.c (similar to the 7005
changeset except it is now manual configurable and not switching on PCI
id). The down side of this is the cx23885-core.c will be slightly larger,
with a larger memory footprint.

3) Reallocate entire sram, this would require a detailed look on my
behalf to see how much space each variable requires and reallocate it. 
This will potentially break the cards mentioned in option 1 and will take
more time to implement and test. This is highly undesirable my viewpoint.

4) Something else? Please suggest a solution...

Regards,

Stephen

diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885-core.c
v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-core.c
--- v4l-dvb/linux/drivers/media/video/cx23885/cx23885-core.c   
2008-06-06 14:57:55.000000000 +1000
+++ v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-core.c  
2008-06-26 08:26:42.000000000 +1000
@@ -142,7 +142,7 @@
.name           = "TS2 C",
.cmds_start     = 0x10140,
.ctrl_start     = 0x10680,
-               .cdt            = 0x108d0,
+               .cdt            = 0x10480,
.fifo_start     = 0x6000,
.fifo_size      = 0x1000,
.ptr1_reg       = DMA5_PTR1,

  ----- Original Message -----
  From: "Steven Toth"
  To: stev391@email.com
  Subject: Re: [linux-dvb] cx23885 driver and DMA timeouts
  Date: Mon, 23 Jun 2008 08:51:10 -0400

  No need to try windows, if you have the driver already running
  (pascoe's patches) then your chipset and hardware are fine.

  Sounds like you have a simple merge issue.

  Try to figure out which parts of the merge actually create the
  problem then bring that issue back to this list for discussion.

  Regards,

  - Steve

-- 
Be Yourself @ mail.com!
Choose From 200+ Email Addresses
Get a Free Account at www.mail.com


[-- Attachment #1.2: Type: text/html, Size: 4568 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [linux-dvb] cx23885 driver and DMA timeouts
@ 2008-06-21  5:22 stev391
  2008-06-21 12:54 ` Steven Toth
  0 siblings, 1 reply; 6+ messages in thread
From: stev391 @ 2008-06-21  5:22 UTC (permalink / raw)
  To: linux dvb


[-- Attachment #1.1: Type: text/plain, Size: 18585 bytes --]

 G'day,

I have been trying to merge Chris Pascoe's driver for the DViCO
FusionHDTV Dual PCIe into the main hg repository. (My latest version is
attached)

I have only gotten so far and was wondering if anyone had any idea to
debug or fix the following problem. I can use one tuner at a time, ie
tuner 1 (ts1) or tuner 2 (ts2), with cx23885 module loaded with debug=1,
I get repeated (the [c7f533c0/29 ] changes between lines):
Jun 21 14:38:41 stephen-desktop kernel: [ 1717.056949] cx23885[0]/0:
[c7f533c0/29 ] cx23885_buf_queue - append to active
Jun 21 14:38:41 stephen-desktop kernel: [ 1717.056953] cx23885[0]/0:
queue is not empty - append to active

This is ok as it is working, that was just for reference to compare the
errored section below.

As soon as I try to access both cards at the same time it breaks and only
a full computer restart will fix it, i have tried unloading all the
modules that I can find that this card uses and loading them again. I get
the syslog attached below (cx23885 with debug =1).  It doesn't matter
what progam i use to access them (tried gxine, totem, mythtv) it all
works the same, only one at a time or it breaks.

Thanks,

Stephen.

#### Syslog ####
Jun 21 14:38:41 stephen-desktop kernel: [ 1717.056958] cx23885[0]/0:
[f7517f00/30] cx23885_buf_queue - append to active
Jun 21 14:38:41 stephen-desktop kernel: [ 1717.056962] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:41 stephen-desktop kernel: [ 1717.056967] cx23885[0]/0:
[f751 7180/31] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053512] cx23885[0]/0:
cx23885_timeout()
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053519] cx23885[0]/0:
cx23885_stop_dma()
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053533] cx23885[0]/0:
[e235b300/0] timeout - dma=0x06bd9000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053537] cx23885[0]/0:
[e235b540/1] timeout - dma=0x254ab000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053542] cx23885[0]/0:
[e235bb40/2] timeout - dma=0x255ae000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053547] cx23885[0]/0:
[e235b600/3] timeout - dma=0x12bc9000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053551] cx23885[0]/0:
[cd6e7f00/4] timeout - dma=0x06a11000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053556] cx23885[0]/0:
[c7e9dcc0/5] timeout - dma=0x0af3b000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053561] cx23885[0]/0:
[c7ea83c0/6] timeout - dma=0x06beb000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053566] cx23885[0]/0:
[c345e900/7] timeout - dma=0x0a421000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053571] cx23885[0]/0:
[cf412840/8] timeout - dma=0x09775000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053575] cx23885[0]/0:
[cf412180/9] timeout - dma=0x0af00000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053580] cx23885[0]/0:
[cf412000/10] timeout - dma=0x0918e000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053585] cx23885[0]/0:
[c8376780/11] timeout - dma=0x3751e000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053590] cx23885[0]/0:
[c8376480/12] timeout - dma=0x36bf4000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053595] cx23885[0]/0:
[c948db40/13] timeout - dma=0x1fa90000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053600] cx23885[0]/0:
[e59f8cc0/14] timeout - dma=0x065f5000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053605] cx23885[0]/0:
[e59f8480/15] timeout - dma=0x0e5d9000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053610] cx23885[0]/0:
[e59f8d80/16] timeout - dma=0x06563000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053614] cx23885[0]/0:
[e59f8f00/17] timeout - dma=0x0d539000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053619] cx23885[0]/0:
[e59f8a80/18] timeout - dma=0x0b9a3000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053624] cx23885[0]/0:
[e59f8600/19] timeout - dma=0x0c4d3000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053629] cx23885[0]/0:
[e59f8540/20] timeout - dma=0x0b7d3000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053634] cx23885[0]/0:
[e59f8e40/21] timeout - dma=0x0d74b000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053639] cx23885[0]/0:
[c921d240/22] timeout - dma=0x0837b000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053643] cx23885[0]/0:
[c7de60c0/23] timeout - dma=0x0902a000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053648] cx23885[0]/0:
[c7de6600/24] timeout - dma=0x0c171000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053653] cx23885[0]/0:
[cf0b00c0/25] timeout - dma=0x3725a000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053658] cx23885[0]/0:
[cf0b0480/26] timeout - dma=0x06482000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053663] cx23885[0]/0:
[cf0b0840/27] timeout - dma=0x377cc000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053668] cx23885[0]/0:
[d09d8180/28] timeout - dma=0x254a7000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053673] cx23885[0]/0:
[c7f533c0/29] timeout - dma=0x258e4000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053677] cx23885[0]/0:
[f7517f00/30] timeout - dma=0x25a47000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053682] cx23885[0]/0:
[f7517180/31] timeout - dma=0x25aad000
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053686] cx23885[0]/0:
restarting queue
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053694] cx23885[0]/0:
queue is empty - first active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053700] cx23885[0]/0:
cx23885_start_dma() w: 752, h: 32, f: 2
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053705] cx23885[0]/0:
cx23885_sram_channel_setup() Configuring channel [TS1 B]
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053921] cx23885[0]/0:
cx23885_start_dma() enabling TS int's and DMA
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053934] cx23885[0]/0:
[e235b300/0] cx23885_buf_queue - first active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053939] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053943] cx23885[0]/0:
[e235b540/1] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053948] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053952] cx23885[0]/0:
[e235bb40/2] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053957] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053961] cx23885[0]/0:
[e235b600/3] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053966] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053971] cx23885[0]/0:
[cd6e7f00/4] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053975] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053979] cx23885[0]/0:
[c7e9dcc0/5] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053984] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053988] cx23885[0]/0:
[c7ea83c0/6] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053993] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.053997] cx23885[0]/0:
[c345e900/7] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054002] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054006] cx23885[0]/0:
[cf412840/8] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054011] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054015] cx23885[0]/0:
[cf412180/9] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054020] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054024] cx23885[0]/0:
[cf412000/10] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054029] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054033] cx23885[0]/0:
[c8376780/11] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054038] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054042] cx23885[0]/0:
[c8376480/12] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054047] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054052] cx23885[0]/0:
[c948db40/13] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054056] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054061] cx23885[0]/0:
[e59f8cc0/14] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054066] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054070] cx23885[0]/0:
[e59f8480/15] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054074] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054078] cx23885[0]/0:
[e59f8d80/16] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054083] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054087] cx23885[0]/0:
[e59f8f00/17] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054092] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054096] cx23885[0]/0:
[e59f8a80/18] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054101] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054105] cx23885[0]/0:
[e59f8600/19] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054110] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054114] cx23885[0]/0:
[e59f8540/20] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054119] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054123] cx23885[0]/0:
[e59f8e40/21] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054128] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054132] cx23885[0]/0:
[c921d240/22] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054137] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054141] cx23885[0]/0:
[c7de60c0/23] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054145] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054150] cx23885[0]/0:
[c7de6600/24] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054154] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054159] cx23885[0]/0:
[cf0b00c0/25] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054163] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054167] cx23885[0]/0:
[cf0b0480/26] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054172] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054176] cx23885[0]/0:
[cf0b0840/27] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054181] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054185] cx23885[0]/0:
[d09d8180/28] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054190] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054194] cx23885[0]/0:
[c7f533c0/29] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054199] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054203] cx23885[0]/0:
[f7517f00/30] cx23885_buf_queue - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054208] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:42 stephen-desktop kernel: [ 1718.054212] cx23885[0]/0:
[f7517180/31] cx23885_buf_queue - append to active
qJun 21 14:38:43 stephen-desktop kernel: [ 1719.046792] cx23885[0]/0:
cx23885_timeout()
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046799] cx23885[0]/0:
cx23885_stop_dma()
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046813] cx23885[0]/0:
[e235b300/0] timeout - dma=0x06bd9000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046817] cx23885[0]/0:
[e235b540/1] timeout - dma=0x254ab000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046822] cx23885[0]/0:
[e235bb40/2] timeout - dma=0x255ae000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046826] cx23885[0]/0:
[e235b600/3] timeout - dma=0x12bc9000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046831] cx23885[0]/0:
[cd6e7f00/4] timeout - dma=0x06a11000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046837] cx23885[0]/0:
[c7e9dcc0/5] timeout - dma=0x0af3b000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046841] cx23885[0]/0:
[c7ea83c0/6] timeout - dma=0x06beb000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046846] cx23885[0]/0:
[c345e900/7] timeout - dma=0x0a421000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046851] cx23885[0]/0:
[cf412840/8] timeout - dma=0x09775000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046856] cx23885[0]/0:
[cf412180/9] timeout - dma=0x0af00000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046861] cx23885[0]/0:
[cf412000/10] timeout - dma=0x0918e000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046866] cx23885[0]/0:
[c8376780/11] timeout - dma=0x3751e000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046871] cx23885[0]/0:
[c8376480/12] timeout - dma=0x36bf4000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046876] cx23885[0]/0:
[c948db40/13] timeout - dma=0x1fa90000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046881] cx23885[0]/0:
[e59f8cc0/14] timeout - dma=0x065f5000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046885] cx23885[0]/0:
[e59f8480/15] timeout - dma=0x0e5d9000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046890] cx23885[0]/0:
[e59f8d80/16] timeout - dma=0x06563000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046895] cx23885[0]/0:
[e59f8f00/17] timeout - dma=0x0d539000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046900] cx23885[0]/0:
[e59f8a80/18] timeout - dma=0x0b9a3000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046905] cx23885[0]/0:
[e59f8600/19] timeout - dma=0x0c4d3000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046910] cx23885[0]/0:
[e59f8540/20] timeout - dma=0x0b7d3000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046914] cx23885[0]/0:
[e59f8e40/21] timeout - dma=0x0d74b000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046919] cx23885[0]/0:
[c921d240/22] timeout - dma=0x0837b000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046924] cx23885[0]/0:
[c7de60c0/23] timeout - dma=0x0902a000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046929] cx23885[0]/0:
[c7de6600/24] timeout - dma=0x0c171000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046934] cx23885[0]/0:
[cf0b00c0/25] timeout - dma=0x3725a000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046939] cx23885[0]/0:
[cf0b0480/26] timeout - dma=0x06482000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046944] cx23885[0]/0:
[cf0b0840/27] timeout - dma=0x377cc000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046949] cx23885[0]/0:
[d09d8180/28] timeout - dma=0x254a7000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046954] cx23885[0]/0:
[c7f533c0/29] timeout - dma=0x258e4000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046958] cx23885[0]/0:
[f7517f00/30] timeout - dma=0x25a47000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046963] cx23885[0]/0:
[f7517180/31] timeout - dma=0x25aad000
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046967] cx23885[0]/0:
restarting queue
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046975] cx23885[0]/0:
queue is empty - first active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046981] cx23885[0]/0:
cx23885_start_dma() w: 752, h: 32, f: 2
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.046987] cx23885[0]/0:
cx23885_sram_channel_setup() Configuring channel [TS1 B]
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047205] cx23885[0]/0:
cx23885_start_dma() enabling TS int's and DMA
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047217] cx23885[0]/0:
[e235b300/0] cx23885_buf_queue - first active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047223] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047229] cx23885[0]/0:
[e235b540/1] cx23885_buf_queue - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047234] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047239] cx23885[0]/0:
[e235bb40/2] cx23885_buf_queue - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047245] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047250] cx23885[0]/0:
[e235b600/3] cx23885_buf_queue - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047255] cx23885[0]/0:
queue is not empty - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047261] cx23885[0]/0:
[cd6e7f00/4] cx23885_buf_queue - append to active
Jun 21 14:38:43 stephen-desktop kernel: [ 1719.047266] cx23885[0]/0:
queue is not empty - append to active

-- 
See Exclusive Videos: 10th Annual Young Hollywood Awards
http://www.hollywoodlife.net/younghollywoodawards2008/


[-- Attachment #1.2: Type: text/html, Size: 18904 bytes --]

[-- Attachment #2: DViCO_FUSIONHDTV_DVB_T_DUAL_EXP_v5.patch --]
[-- Type: application/octet-stream, Size: 6588 bytes --]

diff -Naur v4l-dvb/linux/Documentation/video4linux/CARDLIST.cx23885 v4l-dvb1/linux/Documentation/video4linux/CARDLIST.cx23885
--- v4l-dvb/linux/Documentation/video4linux/CARDLIST.cx23885	2008-06-06 14:57:55.000000000 +1000
+++ v4l-dvb1/linux/Documentation/video4linux/CARDLIST.cx23885	2008-06-06 15:04:37.000000000 +1000
@@ -9,3 +9,4 @@
   8 -> Hauppauge WinTV-HVR1700                             [0070:8101]
   9 -> Hauppauge WinTV-HVR1400                             [0070:8010]
  10 -> DViCO FusionHDTV7 Dual Express                      [18ac:d618]
+ 11 -> DViCO FusionHDTV DVB-T Dual Express                 [18ac:db78]
diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885-cards.c v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-cards.c
--- v4l-dvb/linux/drivers/media/video/cx23885/cx23885-cards.c	2008-06-06 14:57:55.000000000 +1000
+++ v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-cards.c	2008-06-06 15:11:24.000000000 +1000
@@ -151,6 +151,11 @@
 #endif
 		.portc		= CX23885_MPEG_DVB,
 	},
+	[CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP] = {
+		.name		= "DViCO FusionHDTV DVB-T Dual Express",
+		.portb		= CX23885_MPEG_DVB,
+		.portc		= CX23885_MPEG_DVB,
+	},
 };
 const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
 
@@ -222,7 +227,11 @@
 		.subvendor = 0x18ac,
 		.subdevice = 0xd618,
 		.card      = CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP,
-	},
+	},{
+		.subvendor = 0x18ac,
+		.subdevice = 0xdb78,
+		.card      = CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP,
+ 	},
 };
 const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
 
@@ -439,6 +448,13 @@
 		mdelay(20);
 		cx_set(GP0_IO, 0x00050005);
 		break;
+	case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
+		/* GPIO-0 portb xc3028 reset */
+		/* GPIO-1 portb zl10353 reset */
+		/* GPIO-2 portc xc3028 reset */
+		/* GPIO-3 portc zl10353 reset */
+		cx_write(GP0_IO, 0x002f1000);
+		break;
 	}
 }
 
@@ -453,7 +469,10 @@
 	case CX23885_BOARD_HAUPPAUGE_HVR1400:
 		/* FIXME: Implement me */
 		break;
-	}
+	case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
+		request_module("ir-kbd-i2c");
+		break;
+ 	}
 
 	return 0;
 }
@@ -490,6 +509,7 @@
 
 	switch (dev->board) {
 	case CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP:
+	case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
 		ts2->gen_ctrl_val  = 0xc; /* Serial bus + punctured clock */
 		ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */
 		ts2->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885-dvb.c v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-dvb.c
--- v4l-dvb/linux/drivers/media/video/cx23885/cx23885-dvb.c	2008-06-06 14:57:55.000000000 +1000
+++ v4l-dvb1/linux/drivers/media/video/cx23885/cx23885-dvb.c	2008-06-06 15:18:46.000000000 +1000
@@ -36,9 +36,11 @@
 #include "tda8290.h"
 #include "tda18271.h"
 #include "lgdt330x.h"
+#include "zl10353.h"
 #include "xc5000.h"
 #include "tda10048.h"
 #include "tuner-xc2028.h"
+#include "tuner-xc2028-types.h"
 #include "tuner-simple.h"
 #include "dib7000p.h"
 #include "dibx000_common.h"
@@ -155,6 +157,44 @@
 	.serial_mpeg = 0x40,
 };
 
+static int cx23885_dvico_xc2028_callback(void *ptr, int command, int arg)
+{
+	struct cx23885_tsport *port = ptr;
+	struct cx23885_dev *dev = port->dev;
+	u32 reset_mask = 0;
+
+	switch (command) {
+	case XC2028_TUNER_RESET:
+		dprintk(1, "%s: XC2028_TUNER_RESET %d, port %d\n", __func__,
+			arg, port->nr);
+
+		if (port->nr == 0)
+			reset_mask = 0x0101;
+		else if (port->nr == 1)
+			reset_mask = 0x0404;
+
+		cx_clear(GP0_IO, reset_mask);
+		mdelay(5);
+		cx_set(GP0_IO, reset_mask);
+		break;
+	case XC2028_RESET_CLK:
+		dprintk(1, "%s: XC2028_RESET_CLK %d\n", __func__, arg);
+		break;
+	default:
+		dprintk(1, "%s: unknown command %d, arg %d\n", __func__,
+		       command, arg);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static struct zl10353_config dvico_fusionhdtv_xc3028 = {
+	.demod_address = 0x0f,
+	.if2           = 45600,
+	.no_tuner      = 1,
+};
+
 static struct s5h1409_config hauppauge_hvr1500q_config = {
 	.demod_address = 0x32 >> 1,
 	.output_mode   = S5H1409_SERIAL_OUTPUT,
@@ -481,7 +521,39 @@
 				&i2c_bus->i2c_adap,
 				&dvico_xc5000_tunerconfig, i2c_bus);
 		break;
-	default:
+	case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
+		i2c_bus = &dev->i2c_bus[port->nr - 1];
+
+		/* Take demod and tuner out of reset */
+		if (port->nr == 1)
+			cx_set(GP0_IO, 0x0303);
+		else if (port->nr == 2)
+			cx_set(GP0_IO, 0x0c0c);
+		mdelay(5);
+		port->dvb.frontend = dvb_attach(zl10353_attach,
+					       &dvico_fusionhdtv_xc3028,
+					       &i2c_bus->i2c_adap);
+		if (port->dvb.frontend != NULL) {
+			struct dvb_frontend      *fe;
+			struct xc2028_config	  cfg = {
+				.i2c_adap  = &i2c_bus->i2c_adap,
+				.i2c_addr  = 0x61,
+				.video_dev = port,
+				.callback  = cx23885_dvico_xc2028_callback,
+			};
+			static struct xc2028_ctrl ctl = {
+				.fname       = "xc3028-v27.fw",
+				.max_len     = 64,
+				.demod       = XC3028_FE_ZARLINK456,
+			};
+
+			fe = dvb_attach(xc2028_attach, port->dvb.frontend,
+					&cfg);
+			if (fe != NULL && fe->ops.tuner_ops.set_config != NULL)
+				fe->ops.tuner_ops.set_config(fe, &ctl);
+		}
+		break;
+ 	default:
 		printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",
 		       dev->name);
 		break;
diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/cx23885.h v4l-dvb1/linux/drivers/media/video/cx23885/cx23885.h
--- v4l-dvb/linux/drivers/media/video/cx23885/cx23885.h	2008-06-06 14:57:55.000000000 +1000
+++ v4l-dvb1/linux/drivers/media/video/cx23885/cx23885.h	2008-06-06 15:19:43.000000000 +1000
@@ -67,6 +67,7 @@
 #define CX23885_BOARD_HAUPPAUGE_HVR1700        8
 #define CX23885_BOARD_HAUPPAUGE_HVR1400        9
 #define CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP 10
+#define CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP 11
 
 /* Currently unsupported by the driver: PAL/H, NTSC/Kr, SECAM B/G/H/LC */
 #define CX23885_NORMS (\
diff -Naur v4l-dvb/linux/drivers/media/video/cx23885/Kconfig v4l-dvb1/linux/drivers/media/video/cx23885/Kconfig
--- v4l-dvb/linux/drivers/media/video/cx23885/Kconfig	2008-05-13 10:21:15.000000000 +1000
+++ v4l-dvb1/linux/drivers/media/video/cx23885/Kconfig	2008-06-06 15:20:18.000000000 +1000
@@ -15,6 +15,7 @@
 	select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE
 	select DVB_S5H1409 if !DVB_FE_CUSTOMISE
 	select DVB_LGDT330X if !DVB_FE_CUSTOMISE
+ 	select DVB_ZL10353 if !DVB_FE_CUSTOMISE
 	select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
 	select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
 	select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-06-25 22:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-22 12:10 [linux-dvb] cx23885 driver and DMA timeouts stev391
2008-06-23 12:51 ` Steven Toth
  -- strict thread matches above, loose matches on Subject: below --
2008-06-25 22:32 stev391
2008-06-25 22:53 ` Steven Toth
2008-06-21  5:22 stev391
2008-06-21 12:54 ` Steven Toth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox