From: Aivils <ai...@un...> - 2004-06-15 06:40:58
|
On Friday 11 June 2004 10:46, Perry Gilfillan wrote: > Aivils wrote: > > >Hi All! > > > > Linux-kernel support only one pci_driver per each pci_dev. > >If we load tdfxfb , then voodoo3 device is claimed and disagree > >registering of i2c-voodoo3. In this case we should use "dirty hack > >of Perrye". > > > > I add normal i2c-voodoo3 init without tdfxfb. In this case > >we cannot use tdfxfb driver, but i2c-voodoo3 found all voodoo3 > >devices, which i have 2 on my box (AGP and PCI). Unfortunately > >i do not know what i should do with i2c of Voodoo3 PCI :) > >Of course fbtv will not work :( > > > > > Is this PCI Voodoo3 the one with tv-out? No. > In theory the v3tv-radio driver should try each ioctl command on both > i2c busses, and not care whether a client driver actually used the > information passed down the ioctl chain. > > In practice, the v3tv driver finds the first i2c adapter of the class it > wants, I2C_ADAP_CLASS_TV_ANALOG, or with an ID of > 'I2C_ALGO_BIT | I2C_HW_B_VOO' and only talks to that adapter. > > With the 2.4 kernel version of v3tv, the behaviour is a little > different, since it uses the voodoo3_call_i2c_client() function. > > In either case, things might be broken, because the v3tv driver in fact > only tries to find one i2c adapter driver, and if the PCI Voodoo3 comes > up first, the v3tv driver won't see the AGP card. > > Can you tell which video card is first in /proc/bus/i2c-? Once the No. /proc/bus/i2c* does not exist. > clients are loaded it should be apparent. I think it will be the PCI > device. Could you send both 'lspci' and 'lspci -n' to satidfy my curiosity? > I'll need to research what all pci_enable_device does for us. If you > are familiar with it, would you write back with some comments? Ok. My patch is just another hack :) i2c-voodoo3 module unload lead oops. > I just realized that my patch for the 2.6 version of i2c-voodoo3 causes > the function voodoo3_ remove() to not be called, so we get defunct > entries in /proc/bus/i2c* Seems aliens hide my /proc/bus/i2c > Could you add a call to voodoo3_ remove() in i2c_voodoo3_exit() and see > if /proc/bus/ gets cleaned up properly? :-P xawtv works flawless only at first start until reboot , at least 20hours. Second start of xawtv may got broken colours like foto-negative all in green. 3rd 4 and so on start of xawtv allways got foto-negative green output. If booth voodoo3 is in use, then "foto-negative" pop ut time to time. xawtv on second voodoo3 show black rectangle all time. Aivils #lspci -n 00:00.0 Class 0600: 8086:7190 (rev 03) 00:01.0 Class 0604: 8086:7191 (rev 03) 00:07.0 Class 0601: 8086:7110 (rev 02) 00:07.1 Class 0101: 8086:7111 (rev 01) 00:07.2 Class 0c03: 8086:7112 (rev 01) 00:07.3 Class 0680: 8086:7113 (rev 02) 00:08.0 Class 0401: 1102:0002 (rev 0a) 00:08.1 Class 0980: 1102:7002 (rev 0a) 00:09.0 Class 0300: 121a:0005 (rev 01) 01:00.0 Class 0300: 121a:0005 (rev 01) #lspci -v 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) Flags: bus master, medium devsel, latency 64 Memory at c8000000 (32-bit, prefetchable) [size=128M] Capabilities: [a0] AGP version 1.0 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, 66Mhz, medium devsel, latency 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: d0000000-d3ffffff Prefetchable memory behind bridge: d4000000-d5ffffff 00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) Flags: bus master, medium devsel, latency 0 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master]) Flags: bus master, medium devsel, latency 64 I/O ports at f000 [size=16] 00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Flags: bus master, medium devsel, latency 64, IRQ 10 I/O ports at e000 [size=32] 00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) Flags: medium devsel, IRQ 9 00:08.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 0a) Subsystem: Creative Labs: Unknown device 8065 Flags: bus master, medium devsel, latency 64, IRQ 11 I/O ports at e400 [size=32] Capabilities: [dc] Power Management version 1 00:08.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 0a) Subsystem: Creative Labs Gameport Joystick Flags: bus master, medium devsel, latency 64 I/O ports at e800 [size=8] Capabilities: [dc] Power Management version 1 00:09.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 3 (rev 01) (prog-if 00 [VGA]) Subsystem: 3Dfx Interactive, Inc. Voodoo3 Flags: fast devsel, IRQ 9 Memory at d6000000 (32-bit, non-prefetchable) [size=32M] Memory at d8000000 (32-bit, prefetchable) [size=32M] I/O ports at ec00 [size=256] Expansion ROM at da000000 [disabled] [size=64K] Capabilities: [60] Power Management version 1 01:00.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 3 (rev 01) (prog-if 00 [VGA]) Subsystem: 3Dfx Interactive, Inc. Voodoo3 3500 TV (PAL) Flags: 66Mhz, fast devsel, IRQ 11 Memory at d0000000 (32-bit, non-prefetchable) [size=32M] Memory at d4000000 (32-bit, prefetchable) [size=32M] I/O ports at d000 [size=256] Expansion ROM at d2000000 [disabled] [size=64K] Capabilities: [54] AGP version 1.0 Capabilities: [60] Power Management version 1 #ls -R /sys/bus/pci/drivers/voodoo3 smbus/: 0000:00:09.0@ 0000:01:00.0@ new_id #ls -R /sys/devices/pci0000:00/0000:00:09.0: class config detach_state device i2c-0/ i2c-1/ irq power/ resource subsystem_device subsystem_vendor vendor /sys/devices/pci0000:00/0000:00:09.0/i2c-0: detach_state name power/ /sys/devices/pci0000:00/0000:00:09.0/i2c-0/power: state /sys/devices/pci0000:00/0000:00:09.0/i2c-1: detach_state name power/ /sys/devices/pci0000:00/0000:00:09.0/i2c-1/power: state /sys/devices/pci0000:00/0000:00:09.0/power: state #ls -R /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0: class config detach_state device i2c-2/ i2c-3/ irq power/ resource subsystem_device subsystem_vendor vendor /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2: 2-0040/ 2-0043/ 2-0060/ detach_state name power/ /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0040: detach_state name power/ /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0040/power: state /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0043: detach_state name power/ /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0043/power: state /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0060: detach_state name power/ /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/2-0060/power: state /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/power: state /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3: detach_state name power/ /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/power: state /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/power: state #dmesg PCI: Found IRQ 9 for device 0000:00:09.0 voodoo3 smbus 0000:00:09.0: Using Banshee/Voodoo3 I2C device at d48a7000 i2c_adapter i2c-0: registered as adapter #0 i2c_adapter i2c-1: registered as adapter #1 PCI: Enabling device 0000:01:00.0 (0000 -> 0003) voodoo3 smbus 0000:01:00.0: Using Banshee/Voodoo3 I2C device at d48bb000 i2c_adapter i2c-2: registered as adapter #2 i2c_adapter i2c-3: registered as adapter #3 m_vpx3224: disagrees about version of symbol struct_module m_vpx3224: version 0.1-Multistandard (Jun 14 2004) i2c-core: driver vpx3224.o registered. i2c_adapter i2c-2: found normal i2c entry for adapter 2, addr 43<7>i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: client [vpx3225d[0]] registered to adapter registering 2-0043 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. m_vpx3224: vpx3225d[0] client found at address 0x43 i2c_adapter i2c-3: found normal i2c entry for adapter 3, addr 43<7>i2c_adapter i2c-3: master_xfer: with 1 msgs. i2c-core: driver i2c TV tuner driver registered. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0060 i2c_adapter i2c-2: master_xfer: with 1 msgs. tuner: chip found at addr 0xc0 i2c-bus I2C Voodoo3/Banshee adapter i2c_adapter i2c-2: client [(tuner unset)] registered to adapter registering 2-0060 i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0061 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0062 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0063 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0064 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0065 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0066 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0067 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0068 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 0069 i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006a i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006b i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006c i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006d i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006e i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: found normal i2c_range entry for adapter 2, addr 006f i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c-core: driver i2c msp3400 driver registered. i2c_adapter i2c-2: found normal i2c entry for adapter 2, addr 40<7>i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: master_send: writing 5 bytes. i2c_adapter i2c-2: master_send: writing 5 bytes. i2c_adapter i2c-2: master_send: writing 5 bytes. i2c_adapter i2c-2: master_send: writing 5 bytes. msp34xx: init: chip=MSP3415D-A2 +nicam +simple i2c_adapter i2c-2: client [MSP3415D-A2] registered to adapter registering 2-0040 msp3410: daemon started i2c_adapter i2c-2: found normal i2c entry for adapter 2, addr 44<7>i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 1 msgs. i2c_adapter i2c-2: master_xfer: with 2 msgs. i2c_adapter i2c-2: sendbytes: error - bailout. msp3400: chip reset failed Linux video capture interface: v1.00 v3tv: version 0.1-Multistandard for V4L2 (Jun 14 2004) v3tv: Voodoo3 found. i2c-core: driver v3tv i2c dummy driver registered. V3: get adapterv3tv: i2c dummy driver registered: adapter: 0xd48b8c00 V3: get adapter<6>v3tv: PAL model. tuner: type set to 32 (Samsung PAL TCPM9091PD27) by I2C Voodoo3/Banshee adapter videodev: "Voodoo3 3500 TV" has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/ v3tv: registered device video0 (0) videodev: "Voodoo3 3500 VBI Teletext" has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/ v3tv: registered device vbi0 (224) videodev: "Voodoo3 3500 TV radio" has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/ v3tv: registered device radio0 (64) |