[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: PCI passthrough stopped working, brainache!



On 13 October 2011 19:15, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:

> On Wed, Oct 12, 2011 at 10:36:12PM +0100, Andy Burns wrote:
>
>> I discovered that the PCI tuners don't work in dom0 under Xen,
>> they only work if the dom0 is booted  as baremetal.
>
> That would imply it is not the PCI passthrough code (good!).
> It is something related to the driver

I've been having a go at getting the card running in dom0 rather than
domU, no more success yet.

I've stopped using the PCI resource realignment for now, and enabled
debugging knobs in the tuner modules, seems the I2C transfers used to
program the tuner and receive status bits back from it are working OK,
I can see the driver queueing up DMA using a succession of transfer
buffers, and apparently interrupts signalling their completion.

Presume it's correct that within the dom0, the buffers should *NOT* be
within the SWIOTLB range?

# dmesg | grep ffff8800

[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 20480
[    0.000000] PERCPU: Embedded 27 pages/cpu @ffff88001fe43000 s81024
r8192 d21376 u110592
[    0.000000] Placing 64MB software IO TLB between ffff880015c00000 -
ffff880019c00000

... snip ...

[ 1539.146723] saa7130[0]/ts: buffer_activate [ffff88000c25ca00]
[ 1539.146726] saa7130[0]/ts: - [top]     buf=ffff88000c25ca00
next=ffff88000959c800
[ 1539.146737] saa7130[0]/core: buffer_next #2
prev=ffff8800041f8440/next=ffff88000959c840
[ 1539.146790] saa7130[0]/core: buffer_queue ffff88000c25c000
[ 1539.154693] saa7130[0]/core: buffer_finish ffff88000c25ca00
[ 1539.154698] saa7130[0]/core: buffer_next ffff88000959c800
[prev=ffff88000c25c040/next=ffff88000959c840]
[ 1539.154702] saa7130[0]/ts: buffer_activate [ffff88000959c800]
[ 1539.154705] saa7130[0]/ts: - [bottom]  buf=ffff88000959c800
next=ffff88000959c600
[ 1539.154716] saa7130[0]/core: buffer_next #2
prev=ffff88000c25c040/next=ffff88000959c640
[ 1540.156114] saa7130[0]/core: timeout on ffff88000959c800
[ 1540.156118] saa7130[0]/core: buffer_finish ffff88000959c800

I assume no meaningful transport stream contents are contained in the
buffers following the transfers, as no stations are found.

Hypervisor, dom0 (and domU when I was using it) are all 64bit, the
tuner device is 32bit, is this likely to be an issue with DMA
transfers? Any extra logging for Xen?

09:00.0 Multimedia controller: Philips Semiconductors SAA7130 Video
Broadcast Decoder (rev 01)
        Subsystem: Compro Technology, Inc. Videomate DVB-T200
        Flags: bus master, medium devsel, latency 64, IRQ 16
        Memory at febffc00 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [40] Power Management version 1
        Kernel driver in use: saa7134
        Kernel modules: saa7134

09:01.0 Multimedia controller: Philips Semiconductors SAA7130 Video
Broadcast Decoder (rev 01)
        Subsystem: Compro Technology, Inc. Videomate DVB-T200
        Flags: bus master, medium devsel, latency 64, IRQ 17
        Memory at febff800 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [40] Power Management version 1
        Kernel driver in use: saa7134
        Kernel modules: saa7134

> Perhaps it is the VM_IO bug that sometimes creeps up..

Any pointers to previous cases of that bug, or the methods to discover it?

> I saw something about I2C, is there a knob in the driver to _not_ use I2C?

Not for my tuner, I've added modprobe options to blacklist devices
that I don't need and turn on debugging for the tuner modules

# cat /etc/modprobe.d/dvb.conf

blacklist ds3000
blacklist dvb_usb_dw2102
blacklist firewire_ehci
blacklist firewire_ohci
options saa7134 disable_ir=1 video_debug=1 ts_debug=1 i2c_debug=1
i2c_scan=1 irq_debug=1 core_debug=1 gpio_tracking=1
options saa7134-dvb debug=1
options tda1004x debug=1

# lsmod
Module                  Size  Used by
lockd                  70080  0
bridge                 72368  0
stp                     1927  1 bridge
llc                     4738  2 bridge,stp
ip6t_REJECT             3992  2
nf_conntrack_ipv6       7730  2
nf_defrag_ipv6          9083  1 nf_conntrack_ipv6
xt_state                1306  2
nf_conntrack           67597  2 nf_conntrack_ipv6,xt_state
ip6table_filter         1655  1
ip6_tables             16792  1 ip6table_filter
snd_hda_codec_realtek   312621  1
raid456                54497  1
async_raid6_recov       5358  1 raid456
async_pq                4339  2 raid456,async_raid6_recov
raid6_pq               78299  2 async_raid6_recov,async_pq
async_xor               3255  3 raid456,async_raid6_recov,async_pq
xor                     4793  1 async_xor
async_memcpy            1845  2 raid456,async_raid6_recov
async_tx                2702  5
raid456,async_raid6_recov,async_pq,async_xor,async_memcpy
tda1004x               14722  2
snd_hda_intel          24072  0
snd_hda_codec          85181  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6264  1 snd_hda_codec
saa7134_dvb            27032  0
videobuf_dvb            5146  1 saa7134_dvb
dvb_core               87211  1 videobuf_dvb
snd_seq                52186  0
snd_seq_device          5941  1 snd_seq
iTCO_wdt               12024  0
snd_pcm                78514  2 snd_hda_intel,snd_hda_codec
saa7134               159679  1 saa7134_dvb
rc_core                17136  1 saa7134
videobuf_dma_sg         8462  2 saa7134_dvb,saa7134
videobuf_core          15780  3 videobuf_dvb,saa7134,videobuf_dma_sg
v4l2_common             6905  1 saa7134
videodev               78689  2 saa7134,v4l2_common
media                  11511  1 videodev
v4l2_compat_ioctl32     7665  1 videodev
shpchp                 24554  0
i2c_i801                9237  0
serio_raw               4298  0
iTCO_vendor_support     2578  1 iTCO_wdt
sky2                   42923  0
snd_timer              19372  2 snd_seq,snd_pcm
snd                    63124  8
snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               6267  1 snd
snd_page_alloc          7311  2 snd_hda_intel,snd_pcm
tveeprom               13045  1 saa7134
asus_atk0110           12395  0
x38_edac                3159  0
edac_core              40154  2 x38_edac
xen_netback            23987  0 [permanent]
xen_blkback            17924  0 [permanent]
xen_gntdev              9019  0
xen_evtchn              5032  1
sunrpc                200831  2 lockd
xenfs                   9621  1
raid1                  22676  2
ata_generic             3587  0
uas                     7775  0
pata_acpi               3419  0
usb_storage            46027  0
sata_mv                24941  8
pata_marvell            3240  0
radeon                690803  1
ttm                    54997  1 radeon
drm_kms_helper         26490  1 radeon
drm                   194532  3 radeon,ttm,drm_kms_helper
i2c_algo_bit            4958  1 radeon
i2c_core               25728  11
tda1004x,saa7134_dvb,saa7134,v4l2_common,videodev,i2c_i801,tveeprom,radeon,drm_kms_helper,drm,i2c_algo_bit
[root@xen ~]# lsmod|more
Module                  Size  Used by
lockd                  70080  0
bridge                 72368  0
stp                     1927  1 bridge
llc                     4738  2 bridge,stp
ip6t_REJECT             3992  2
nf_conntrack_ipv6       7730  2
nf_defrag_ipv6          9083  1 nf_conntrack_ipv6
xt_state                1306  2
nf_conntrack           67597  2 nf_conntrack_ipv6,xt_state
ip6table_filter         1655  1
ip6_tables             16792  1 ip6table_filter
snd_hda_codec_realtek   312621  1
raid456                54497  1
async_raid6_recov       5358  1 raid456
async_pq                4339  2 raid456,async_raid6_recov
raid6_pq               78299  2 async_raid6_recov,async_pq
async_xor               3255  3 raid456,async_raid6_recov,async_pq
xor                     4793  1 async_xor
async_memcpy            1845  2 raid456,async_raid6_recov
async_tx                2702  5
raid456,async_raid6_recov,async_pq,async_xor,async_memcpy
tda1004x               14722  2
snd_hda_intel          24072  0
snd_hda_codec          85181  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               6264  1 snd_hda_codec
saa7134_dvb            27032  0
videobuf_dvb            5146  1 saa7134_dvb
dvb_core               87211  1 videobuf_dvb
snd_seq                52186  0
snd_seq_device          5941  1 snd_seq
iTCO_wdt               12024  0
snd_pcm                78514  2 snd_hda_intel,snd_hda_codec
saa7134               159679  1 saa7134_dvb
rc_core                17136  1 saa7134
videobuf_dma_sg         8462  2 saa7134_dvb,saa7134
videobuf_core          15780  3 videobuf_dvb,saa7134,videobuf_dma_sg
v4l2_common             6905  1 saa7134
videodev               78689  2 saa7134,v4l2_common
media                  11511  1 videodev
v4l2_compat_ioctl32     7665  1 videodev
shpchp                 24554  0
i2c_i801                9237  0
serio_raw               4298  0
iTCO_vendor_support     2578  1 iTCO_wdt
sky2                   42923  0
snd_timer              19372  2 snd_seq,snd_pcm
snd                    63124  8
snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               6267  1 snd
snd_page_alloc          7311  2 snd_hda_intel,snd_pcm
tveeprom               13045  1 saa7134
asus_atk0110           12395  0
x38_edac                3159  0
edac_core              40154  2 x38_edac
xen_netback            23987  0 [permanent]
xen_blkback            17924  0 [permanent]
xen_gntdev              9019  0
xen_evtchn              5032  1
sunrpc                200831  2 lockd
xenfs                   9621  1
raid1                  22676  2
ata_generic             3587  0
uas                     7775  0
pata_acpi               3419  0
usb_storage            46027  0
sata_mv                24941  8
pata_marvell            3240  0
radeon                690803  1
ttm                    54997  1 radeon
drm_kms_helper         26490  1 radeon
drm                   194532  3 radeon,ttm,drm_kms_helper
i2c_algo_bit            4958  1 radeon
i2c_core               25728  11
tda1004x,saa7134_dvb,saa7134,v4l2_common,videodev,i2c_i801,tveeprom,radeon,drm_kms_helper,drm,i2c_algo_bit

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.