0

I'm trying to get a Techwell TW6869 driver to work. This PCIe-chip is able to capture analog video signals. Therefore I'm using a driver which can be found here: GitHub

The chip is connected to a Freescale imx.6 processor which is running Angström distribution. The driver already worked on the target but I didn't use it for some time and somehow it doesn't do it's job anymore.

So what I did, was implementing kernel messages in the beginning of each function so I know what does happen exactly. Finally I found out, that no PCIe Interrupt is generated anymore. Though the interrupt is registered which I found out here:

root@freescaleimx6:~# cat /proc/interrupts | grep tw6869
155:          0          0          0          0       GIC  tw6869

Running something on the videodevice unfortunately does not generate an interrupt.

root@freescaleimx6:~# gst-launch-1.0 v4l2src device=/dev/video2 ! imxipuvideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:08.992961001
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@freescaleimx6:~#

This could also possibly help (does it?)

root@freescaleimx6:~# cat /proc/bus/pci/devices 
0000    16c3abcd    180          1000000                   0                   0                   0                   0                   0             1200000              100000                   0                   0                   0                   0                   0               10000    pcieport
0100    17976869    9b           1100008                   0                   0                   0                   0                   0                   0                1000                   0                   0                   0                   0                   0                   0    tw6869

Does anyone have an idea?

Abdulla Nilam
  • 36,589
  • 17
  • 64
  • 85
  • I highly recommend you to learn about function tracing instead of doing a lot of work that already is done. Debug messaging makes sense when you want to be specific about parameters, variables, etc. – 0andriy Jun 14 '15 at 11:59
  • Regarding to the topic. Interrupt might be disabled by some reason. You have to check how you program hardware for that. Another point is to check what kind of interrupt your hardware generates: normal, MSI, MSIx? – 0andriy Jun 14 '15 at 12:01
  • I finally found it. Disabling CONFIG_PCI_MSI did the job. – user2035598 Jun 15 '15 at 14:10
  • Which is wrong approach. Perhaps you have to enable MSI interrupts in the driver via `pci_msi_enable()` IIRC. – 0andriy Jun 15 '15 at 20:27

0 Answers0