[linux-dvb] cx23885 driver and DMA timeouts

Steven Toth stoth at linuxtv.org
Thu Jun 26 00:53:54 CEST 2008


stev391 at email.com wrote:
> 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 at 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

Let me go back and look at the existing layout. Something is obviously 
wrong.

We don't want board specific values.

- Steve



More information about the linux-dvb mailing list