Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ivtv: users

cx18 CX18_CPU_DE_SET_MDL failed

 

 

ivtv users RSS feed   Index | Next | Previous | View Threaded


cdash at operamail

Oct 15, 2008, 12:24 PM

Post #1 of 13 (2637 views)
Permalink
cx18 CX18_CPU_DE_SET_MDL failed

Hello,

I'm pretty much a new linux user, not subscribed to this list, and update my v4l-dvb drivers whenever an updated version is out. I have a HVR-1600(Model 1199) that I've been using since around the end of July 2008 before the first fix for the I2C bus went in. My basic problem is that recordings stop in mythtv before they should and mythbackend freezes, and at the end of this message is my hardware via lspci. I'm using 2 cards(HVR-1600 PVR-150) on a motherboard with VIA KM266Pro northbridge and a VIA 8235 southbridge. The manual says it's PCI revision 2.2.

Before the 1st fix(mmio_ndelay) the HVR-1600 card worked. How well it worked, I don't remember because other issues were being resolved and I was updating the driver so often. After the 1st fix I had to use a value of 303 to get the card to init and work. Again I think I remember being able to record off of both the QAM and NTSC tuner w/o any issues. However, once the 2nd fix was implemented(retry_mmio) until now I've been experiencing the issue mentioned previously. When using both the QAM and NTSC tuner on the HVR-1600 card, one or the other will stop recording before it should and mythbackend will become unresponsive and must be restarted. In dmesg I get a lot of these:
CX18_CPU_DE_SET_MDL busy
and intermixed in-between them are a few of these:
CX18_CPU_DE_SET_MDL failed

To try to fix this I've done a lot of things: enable open on demand, disable active eit, change the tuning delay from 0 to 300 in mythtv-setup, increased vmalloc from 192 to 256, increase pci latency of both cards from 64 to 128, tried many various combinations of retry_mmio on and off, and different values for mmio_ndelay. I don't know what else to do, any ideas?

Also, where can I find out information on what options are available for the cx18 module and what they do, I'm aware of these, but not sure what they do and if others are available: enc_mpg_buffers, enc_ts_buffers , enc_yuv_buffers, enc_vbi_buffers, enc_pcm_buffers

Thanks

---

00:09.0 Multimedia video controller: Conexant CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder
Subsystem: Hauppauge computer works Inc. Unknown device 7444
Flags: bus master, medium devsel, latency 128, IRQ 18
Memory at dc000000 (32-bit, non-prefetchable) [size=64M]
Capabilities: <access denied>

00:0a.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
Subsystem: Hauppauge computer works Inc. WinTV PVR 150
Flags: bus master, medium devsel, latency 128, IRQ 19
Memory at d0000000 (32-bit, prefetchable) [size=64M]
Capabilities: <access denied>


--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


awalls at radix

Oct 15, 2008, 6:17 PM

Post #2 of 13 (2520 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

On Wed, 2008-10-15 at 20:24 +0100, . . wrote:

> My basic problem is that recordings stop in mythtv before they should
> and mythbackend freezes, and at the end of this message is my hardware
> via lspci. I'm using 2 cards(HVR-1600 PVR-150) on a motherboard with
> VIA KM266Pro northbridge and a VIA 8235 southbridge. The manual says
> it's PCI revision 2.2.
>
> Before the 1st fix(mmio_ndelay) the HVR-1600 card worked. How well it
> worked, I don't remember because other issues were being resolved and
> I was updating the driver so often. After the 1st fix I had to use a
> value of 303 to get the card to init and work. Again I think I
> remember being able to record off of both the QAM and NTSC tuner w/o
> any issues. However, once the 2nd fix was implemented(retry_mmio)
> until now I've been experiencing the issue mentioned previously. When
> using both the QAM and NTSC tuner on the HVR-1600 card, one or the
> other will stop recording before it should and mythbackend will become
> unresponsive and must be restarted. In dmesg I get a lot of these:
> CX18_CPU_DE_SET_MDL busy
> and intermixed in-between them are a few of these:
> CX18_CPU_DE_SET_MDL failed

I can confirm I get the 'mb CX18_CPU_DE_SET_MDL busy' symptom when using
MythTV (Digital) Picture in (Analog) Picture with the HVR-1600 and a
recent cx18 driver in my more modern system:

cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy

And here are some stats on the retries of accesses to the CX23418 on my
running system:

$ su - root
# echo 3 > /sys/module/cx18/parameters/debug
# v4l2-ctl -d /dev/video0 --log-status

cx18-0: Stream encoder MPEG: status 0x0118, 3% of 2016 KiB (63 buffers) in use
cx18-0: Stream encoder YUV: status 0x0000, 0% of 2048 KiB (16 buffers) in use
cx18-0: Stream encoder VBI: status 0x0000, 0% of 989 KiB (27 buffers) in use
cx18-0: Stream encoder PCM audio: status 0x0000, 0% of 1008 KiB (63 buffers) in use
cx18-0: Read MPEG/VBI: 538073088/0 bytes
cx18-0 info: retried_write[0] = 8094974
cx18-0 info: retried_write[1] = 883
cx18-0 info: retried_write[2] = 882
cx18-0 info: retried_write[3] = 540
cx18-0 info: retried_write[4] = 270
cx18-0 info: retried_write[5] = 304
cx18-0 info: retried_write[6] = 355
cx18-0 info: retried_write[7] = 355
cx18-0 info: retried_write[8] = 321
cx18-0 info: retried_write[9] = 358
cx18-0 info: retried_write[10] = 2455412
cx18-0 info: retried_read[0] = 27696703
cx18-0 info: retried_read[1] = 0
cx18-0 info: retried_read[2] = 0
cx18-0 info: retried_read[3] = 0
cx18-0 info: retried_read[4] = 0
cx18-0 info: retried_read[5] = 0
cx18-0 info: retried_read[6] = 0
cx18-0 info: retried_read[7] = 0
cx18-0 info: retried_read[8] = 0
cx18-0 info: retried_read[9] = 0
cx18-0 info: retried_read[10] = 570



So thank you for bringing the 'DE_SET_MDL busy' issue to my attention.
I do not have data points as to whether or not it was happening before
the mmio_ndelay and retry_mmio fix. My position right now is that the
retry_mmio fix needs to stay (it helps), but this 'busy' issue needs to
be fixed.

To give buffers back to the CX23418 MPEG encoder for use, we issue a
CX18_CPU_DE_SET_MDL command to the CX23418 to tell it that it may use
the buffer again. Under various conditions of the CX23418 not letting
us give the buffer to it, we log the busy or failed message.

Once we give up trying to give a particular buffer back to the CX23418,
we never try again (that's a problem). There are only 63 buffers for
the MPEG stream. Once you dwindle down to 0 buffers for the MPEG
encoder to use, it will certainly stop responding.


As I write this email MythTV just went dark.

It looks like my CX23418 MPEG stream gave up after my system couldn't
return about 27 buffers. Debugging shows the TS stream is still going.

In the window of time bracketing when my MPEG stream stopped, my debug
logging shows that only *1* read completely failed (retried_read[10]
went from 570 to 571) while about 6 million reads succeeded on the first
try (retried_read[0]):

Oct 15 19:59:17 palomino kernel: cx18-0 info: retried_read[0] = 27696703
Oct 15 19:59:17 palomino kernel: cx18-0 info: retried_read[10] = 570
Oct 15 20:14:04 palomino kernel: cx18-0 info: retried_read[0] = 33403071
Oct 15 20:14:04 palomino kernel: cx18-0 info: retried_read[10] = 571
Oct 15 20:14:28 palomino kernel: cx18-0 info: retried_read[0] = 33582817
Oct 15 20:14:28 palomino kernel: cx18-0 info: retried_read[10] = 571

In my experience, PCI bus read failures of the CX23418 are a rare event
(570/[27696703+570] = 0.002%). That failed read could have been a
critical failure in driver-CX23418 buffer hand-off.

In that same window of time, there are many completely failed writes
(retried_write[10]):

Oct 15 19:59:17 palomino kernel: cx18-0 info: retried_write[0] = 8094974
Oct 15 19:59:17 palomino kernel: cx18-0 info: retried_write[10] = 2455412
Oct 15 20:14:04 palomino kernel: cx18-0 info: retried_write[0] = 9299978
Oct 15 20:14:04 palomino kernel: cx18-0 info: retried_write[10] = 2880730
Oct 15 20:14:28 palomino kernel: cx18-0 info: retried_write[0] = 9357999
Oct 15 20:14:28 palomino kernel: cx18-0 info: retried_write[10] = 2891039

Complete write failures are much more common events, so I never worried
about them as much.

I have to do more investigation.



> To try to fix this I've done a lot of things: enable open on demand,
> disable active eit, change the tuning delay from 0 to 300 in
> mythtv-setup, increased vmalloc from 192 to 256, increase pci latency
> of both cards from 64 to 128, tried many various combinations of
> retry_mmio on and off, and different values for mmio_ndelay. I don't
> know what else to do, any ideas?

To approximate previous behavior before either fix was introduced use:

retry_mmio=0 mmio_ndelay=0


To get the behavior before retry_mmio was introduced use

retry_mmio=0 mmio_ndelay=(number)


The setting for getting the most reliable communications between CPU and
CX23418 should be:

retry_mmio=1 mmio_ndelay=0


As a workaround you may be stuck with avoiding simultaneous analog &
digital capture from the HVR-1600 card until I find some sort of
resolution. Sorry.


> Also, where can I find out information on what options are available
> for the cx18 module and what they do, I'm aware of these, but not sure
> what they do and if others are available: enc_mpg_buffers,
> enc_ts_buffers , enc_yuv_buffers, enc_vbi_buffers, enc_pcm_buffers

$/sbin/modinfo cx18

Regards,
Andy


_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Oct 20, 2008, 6:05 PM

Post #3 of 13 (2471 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Thanks for the informative reply. As a temporary fix, is it possible for me to increase the # of buffers to delay the crash? If so, how would I do this? Thanks.

--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


awalls at radix

Oct 25, 2008, 12:08 PM

Post #4 of 13 (2419 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

On Tue, 2008-10-21 at 02:05 +0100, . . wrote:
> Thanks for the informative reply. As a temporary fix, is it possible
> for me to increase the # of buffers to delay the crash? If so, how
> would I do this? Thanks.

Unfortunately no. There's a firmware limit of 63 buffers per stream
that we can hand over to the firmware. The current driver code takes
the easy way out and stays within that limit.

I have a change in mind to provide in-driver management of more than 63
buffers per stream. I also have a plan for checking for when the chip
may have less than 63 buffers in it's care and handing back more than
just one buffer at a time. I won't get to it until at least a week from
now, if not longer.

Your only workaround is to avoid running simultaneous analog and digital
captures. Closing the MPEG and TS streams will reset the buffer
situation for each stream respectively, so occasionally closing and
reopening the capture can help stave off the failure (but that stinks).


Regards,
Andy



_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 6, 2008, 5:15 PM

Post #5 of 13 (2334 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Using this v4l-dvb revision: 37d8f8fb993a
It seems much less stable then this revision: 780e1a52449f

If it helps, here is the output from dmesg:

cx18-0: Cannot find buffer 26 for stream encoder MPEG
cx18-0: Could not find buf 26 for stream encoder MPEG
cx18-0: Cannot find buffer 46 for stream encoder MPEG
cx18-0: Could not find buf 46 for stream encoder MPEG
cx18-0: Cannot find buffer 0 for stream encoder MPEG
cx18-0: Could not find buf 0 for stream encoder MPEG
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: Cannot find buffer 94 for stream TS
cx18-0: Could not find buf 94 for stream TS
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: Cannot find buffer 23 for stream encoder MPEG
cx18-0: Could not find buf 23 for stream encoder MPEG
cx18-0: Cannot find buffer 57 for stream encoder MPEG
cx18-0: Could not find buf 57 for stream encoder MPEG
cx18-0: Cannot find buffer 17 for stream encoder MPEG
cx18-0: Could not find buf 17 for stream encoder MPEG
cx18-0: Cannot find buffer 55 for stream encoder MPEG
cx18-0: Could not find buf 55 for stream encoder MPEG
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: Cannot find buffer 74 for stream TS
cx18-0: Could not find buf 74 for stream TS
cx18-0: Cannot find buffer 93 for stream TS
cx18-0: Could not find buf 93 for stream TS
cx18-0: Cannot find buffer 82 for stream TS
cx18-0: Could not find buf 82 for stream TS
cx18-0: Cannot find buffer 87 for stream TS
cx18-0: Could not find buf 87 for stream TS
cx18-0: Cannot find buffer 75 for stream TS
cx18-0: Could not find buf 75 for stream TS
cx18-0: Cannot find buffer 71 for stream TS
cx18-0: Could not find buf 71 for stream TS
cx18-0: Cannot find buffer 70 for stream TS
cx18-0: Could not find buf 70 for stream TS
cx18-0: Cannot find buffer 81 for stream TS
cx18-0: Could not find buf 81 for stream TS
cx18-0: Cannot find buffer 83 for stream TS
cx18-0: Could not find buf 83 for stream TS
cx18-0: Cannot find buffer 89 for stream TS
cx18-0: Could not find buf 89 for stream TS
cx18-0: Cannot find buffer 93 for stream TS
cx18-0: Could not find buf 93 for stream TS
cx18-0: Cannot find buffer 90 for stream TS
cx18-0: Could not find buf 90 for stream TS
cx18-0: Cannot find buffer 66 for stream TS
cx18-0: Could not find buf 66 for stream TS

--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


awalls at radix

Nov 6, 2008, 8:18 PM

Post #6 of 13 (2332 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

On Fri, 2008-11-07 at 02:15 +0100, . . wrote:
> Using this v4l-dvb revision: 37d8f8fb993a
> It seems much less stable then this revision: 780e1a52449f

*sigh*

The v4l-dvb maintainer went and pulled two additional fixes that I
didn't ask him to pull from my cx18-bugfix repo. The 2 fixes in
question improve some buffer handling, but make dual analog and digital
capture worse - that's why I hadn't asked for them to be pulled. :(

Revision dc710bf56755 should be the last v4l-dvb revision with
performance that you're used to.



My latest in

http://linuxtv.org/hg/~awalls/cx18-bugfix

will also exhibit the dmesgs like below for dual capture, but I've seen
MythTV recover when it automatically closes and reopens streams.
(Something I don't recall seeing before.)

FWIW, single analog or digital capture is improved with the very latest
changes in my cx18-bugfix repo. Acknowledgments back to the CX23418
encoder unit are now working properly, we sleep instead of polling while
waiting for responses to commands from the encoder, outgoing commands to
the encoder from multiple streams now can't stomp on each other, and
digital capture buffer pushes up to the DVB subsystem were moved out of
the interrupt handler into a worker thread.


The dual capture problem is actually the primary problem I'm trying to
solve right now along with Raw VBI buffer stalls. I've been fixing up
mailbox and interrupt handling problems as I noticed them, as I try to
find and fix the root cause of buffer mishandling problems between
analog and digital streams.

I hope to find the root cause soon. It's just tedious as I have to fix
everything along the way that I find that could contribute to the
problem.


Regards,
Andy


> If it helps, here is the output from dmesg:
>
> cx18-0: Cannot find buffer 26 for stream encoder MPEG
> cx18-0: Could not find buf 26 for stream encoder MPEG
> cx18-0: Cannot find buffer 46 for stream encoder MPEG
> cx18-0: Could not find buf 46 for stream encoder MPEG
> cx18-0: Cannot find buffer 0 for stream encoder MPEG
> cx18-0: Could not find buf 0 for stream encoder MPEG
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: Cannot find buffer 94 for stream TS
> cx18-0: Could not find buf 94 for stream TS
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: Cannot find buffer 23 for stream encoder MPEG
> cx18-0: Could not find buf 23 for stream encoder MPEG
> cx18-0: Cannot find buffer 57 for stream encoder MPEG
> cx18-0: Could not find buf 57 for stream encoder MPEG
> cx18-0: Cannot find buffer 17 for stream encoder MPEG
> cx18-0: Could not find buf 17 for stream encoder MPEG
> cx18-0: Cannot find buffer 55 for stream encoder MPEG
> cx18-0: Could not find buf 55 for stream encoder MPEG
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: mb CX18_CPU_DE_SET_MDL busy
> cx18-0: Cannot find buffer 74 for stream TS
> cx18-0: Could not find buf 74 for stream TS
> cx18-0: Cannot find buffer 93 for stream TS
> cx18-0: Could not find buf 93 for stream TS
> cx18-0: Cannot find buffer 82 for stream TS
> cx18-0: Could not find buf 82 for stream TS
> cx18-0: Cannot find buffer 87 for stream TS
> cx18-0: Could not find buf 87 for stream TS
> cx18-0: Cannot find buffer 75 for stream TS
> cx18-0: Could not find buf 75 for stream TS
> cx18-0: Cannot find buffer 71 for stream TS
> cx18-0: Could not find buf 71 for stream TS
> cx18-0: Cannot find buffer 70 for stream TS
> cx18-0: Could not find buf 70 for stream TS
> cx18-0: Cannot find buffer 81 for stream TS
> cx18-0: Could not find buf 81 for stream TS
> cx18-0: Cannot find buffer 83 for stream TS
> cx18-0: Could not find buf 83 for stream TS
> cx18-0: Cannot find buffer 89 for stream TS
> cx18-0: Could not find buf 89 for stream TS
> cx18-0: Cannot find buffer 93 for stream TS
> cx18-0: Could not find buf 93 for stream TS
> cx18-0: Cannot find buffer 90 for stream TS
> cx18-0: Could not find buf 90 for stream TS
> cx18-0: Cannot find buffer 66 for stream TS
> cx18-0: Could not find buf 66 for stream TS
>


_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 7, 2008, 12:18 PM

Post #7 of 13 (2309 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Andy, your work is appreciated. Below is some information which you're probably already aware of, but just in case...

Again using revision 37d8f8fb993a, when doing a transcoding job and recording just on the analog NTSC side of the HVR-1600 the recording fails to record the whole show, but I don't see a CX18_CPU_DE_SET_MDL failed message like before.

My digital captures seems to be improved now with this revision, I don't know if this is a result of improved buffer handling.

I may move over to the bugfix branch, but I'll probably just wait until their in the main-line, unless you want me to test something.

=)

Cheers

cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: Cannot find buffer 1 for stream encoder MPEG
cx18-0: Could not find buf 1 for stream encoder MPEG
cx18-0: Cannot find buffer 13 for stream encoder MPEG
cx18-0: Could not find buf 13 for stream encoder MPEG
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: Cannot find buffer 6 for stream encoder MPEG
cx18-0: Could not find buf 6 for stream encoder MPEG
cx18-0: Cannot find buffer 57 for stream encoder MPEG
cx18-0: Could not find buf 57 for stream encoder MPEG
cx18-0: Cannot find buffer 48 for stream encoder MPEG
cx18-0: Could not find buf 48 for stream encoder MPEG
cx18-0: Cannot find buffer 33 for stream encoder MPEG
cx18-0: Could not find buf 33 for stream encoder MPEG
cx18-0: Cannot find buffer 13 for stream encoder MPEG
cx18-0: Could not find buf 13 for stream encoder MPEG
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy
cx18-0: mb CX18_CPU_DE_SET_MDL busy


--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 7, 2008, 9:14 PM

Post #8 of 13 (2296 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

I tried: http://linuxtv.org/hg/~awalls/cx18-bugfix

Analog NTSC capture didn't seem to work at all.

cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
cx18-0: loaded v4l-cx23418-cpu.fw firmware (158332 bytes)
cx18-0: FW version: 0.0.74.0 (Release 2007/03/12)
cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
cx18-0: sending CX18_CPU_CAPTURE_STOP interrupted waiting for RPU to respond
cx18-0: sending CX18_CPU_DE_RELEASE_MDL interrupted waiting for RPU to respond
cx18-0: sending CX18_DESTROY_TASK interrupted waiting for RPU to respond
cx18-0: Got DMA done notification for unknown/inactive handle 0
...
cx18-0: Got DMA done notification for unknown/inactive handle 0
bttv: driver version 0.9.17 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
cx18-0: Got DMA done notification for unknown/inactive handle 0
...
cx18-0: Got DMA done notification for unknown/inactive handle 0
cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
cx18-0: Got DMA done notification for unknown/inactive handle 0
...
cx18-0: Got DMA done notification for unknown/inactive handle 0
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Encoder revision: 0x02060039
cx18-0: Cannot find buffer 63 for stream encoder MPEG
...
cx18-0: Could not find buf 92 for stream encoder MPEG
cx18-0: Cannot find buffer 71 for stream TS
...
cx18-0: Could not find buf 75 for stream TS


--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


awalls at radix

Nov 8, 2008, 5:00 AM

Post #9 of 13 (2303 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

On Sat, 2008-11-08 at 06:14 +0100, . . wrote:
> I tried: http://linuxtv.org/hg/~awalls/cx18-bugfix
>
> Analog NTSC capture didn't seem to work at all.
>
> cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
> cx18-0: loaded v4l-cx23418-cpu.fw firmware (158332 bytes)
> cx18-0: FW version: 0.0.74.0 (Release 2007/03/12)
> cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
> cx18-0: sending CX18_CPU_CAPTURE_STOP interrupted waiting for RPU to respond
> cx18-0: sending CX18_CPU_DE_RELEASE_MDL interrupted waiting for RPU to respond
> cx18-0: sending CX18_DESTROY_TASK interrupted waiting for RPU to respond
> cx18-0: Got DMA done notification for unknown/inactive handle 0
> ...
> cx18-0: Got DMA done notification for unknown/inactive handle 0


I don't get some of this behavior on my dual core setup.

But, OK. very time we get a

"Got DMA done notification for unknown/inactive handle"
or
"Cannot find buffer"

The driver doesn't put the buffer back buffer back and account for it
properly. I was going to work on that this weekend.


I know what causes a slew of "Got DMA done notification for
unknown/inactive handle": the call to CX18_CPU_DE_RELEASE_MDL asks the
firmware to release all the buffers for a stream and they come back in a
burst. There are some waits in there so we don't close the stream
before they get back, but those waits are all interruptable. Having the
TS and MPEG capture open simultaneously probably is contributing. I'll
work on that too.


Let me ask this:

If you stop the mythbackend, unload the driver, and reload the driver,
do captures with "mplayer /dev/videoX -cache 16384" proceed properly?

(My Mythbackend often has the TS open in the background to scan for EIT
data).

Regards,
Andy

> bttv: driver version 0.9.17 loaded
> bttv: using 8 buffers with 2080k (520 pages) each for capture
> cx18-0: Got DMA done notification for unknown/inactive handle 0
> ...
> cx18-0: Got DMA done notification for unknown/inactive handle 0
> cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
> cx18-0: Got DMA done notification for unknown/inactive handle 0
> ...
> cx18-0: Got DMA done notification for unknown/inactive handle 0
> ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
> ivtv0: Encoder revision: 0x02060039
> cx18-0: Cannot find buffer 63 for stream encoder MPEG
> ...
> cx18-0: Could not find buf 92 for stream encoder MPEG
> cx18-0: Cannot find buffer 71 for stream TS
> ...
> cx18-0: Could not find buf 75 for stream TS
>
>


_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 8, 2008, 1:45 PM

Post #10 of 13 (2200 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Hi, I can't unload the cx18 driver with rmmod because other modules are using it. Is there another way? Thanks.

--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 8, 2008, 2:06 PM

Post #11 of 13 (2191 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Hi again.

/dev/video0 is usually the analog side of the HVR-1600, but I also have a WinTV-PVR 150 which is usually /dev/video1

This is what I've tried:
mythtv-backend stop
rmmod -f cx18
modprobe cx18
mplayer /dev/video0 -cache 16384

and I get video, but no sound.

When I do:
mplayer /dev/video1 -cache 16384

I get video and sound.

Does this help?

Thanks.



--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


cdash at operamail

Nov 8, 2008, 10:50 PM

Post #12 of 13 (2201 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

Andy, I can now tune with the NTSC analog side of the HVR-1600 with the firmware fix in the cx18 bugfix branch. I'll update more later. If you want/need I can do more tests. Thank you.

--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users


edodd at billiau

Nov 13, 2008, 11:53 AM

Post #13 of 13 (2191 views)
Permalink
Re: cx18 CX18_CPU_DE_SET_MDL failed [In reply to]

On Sun, 9 Nov 2008, . . wrote:
> Hi, I can't unload the cx18 driver with rmmod because other modules are
> using it. Is there another way? Thanks.

man rmmod

RMMOD(8)
OPTIONS
-f --force
This option can be extremely dangerous: it has no effect unless
CONFIG_MODULE_FORCE_UNLOAD was set when the kernel was compiled.


rmmod -f <modulename>

--
(1) Office employees will daily sweep the floors, dust the
furniture, shelves, and showcases.
(2) Each day fill lamps, clean chimneys, and trim wicks.
Wash the windows once a week.
(3) Each clerk will bring a bucket of water and a scuttle of
coal for the day's business.
(4) Make your pens carefully. You may whittle nibs to your
individual taste.
(5) This office will open at 7 a.m. and close at 8 p.m. except
on the Sabbath, on which day we will remain closed. Each
employee is expected to spend the Sabbath by attending
church and contributing liberally to the cause of the Lord.
-- "Office Worker's Guide", New England Carriage
Works, 1872

_______________________________________________
ivtv-users mailing list
ivtv-users [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-users

ivtv users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.