From owner-freebsd-hackers Tue Dec 18 5:20:32 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from aragorn.ics.muni.cz (aragorn.ics.muni.cz [147.251.4.33]) by hub.freebsd.org (Postfix) with ESMTP id 3E96437B416; Tue, 18 Dec 2001 05:18:07 -0800 (PST) Received: from dior.ics.muni.cz (dior.ics.muni.cz [147.251.6.10]) by aragorn.ics.muni.cz (8.8.5/8.8.5) with ESMTP id OAA21057; Tue, 18 Dec 2001 14:18:05 +0100 (MET) Received: from kloboucek (root@localhost) (authenticated as hopet with LOGIN) by dior.ics.muni.cz (8.10.1/8.10.0.Beta12) with ESMTP id fBIDI4o23988; Tue, 18 Dec 2001 14:18:04 +0100 (MET) From: "Petr Holub" To: , , Subject: firewire driver Date: Tue, 18 Dec 2001 14:17:07 +0100 Message-ID: <003801c187c6$4aee4c50$d2e86cc2@kloboucek> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0039_01C187CE.ACB2B450" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2377.0 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. ------=_NextPart_000_0039_01C187CE.ACB2B450 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Hi all! I'm struggling my FireWire OHCI based card in my notebook. I'm using driver from DVTS project (that's what I finally want to have up and running). I'm running FreeBSD 4.4 Release. dmesg of my machine is in the attachement (using boot -v). I've already added proper id for my card in both files required (0x8027). The problem is when booting I get "could not map memory" error in this part of code: ------------------------------------------------------------------- fwohci.c: #define DEF_CACHE_LINE 0x10 cache_line = DEF_CACHE_LINE; pci_write_config(dev, PCIR_CACHELNSZ, cache_line, 1); /**/ fun = pci_read_config(dev, 0xf0, 4); fun |= 7; pci_write_config(dev, 0xf0, fun, 4); /**/ rid = PCI_MAP_REG_START; sc->fc.mem = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, 0, ~0, 1, RF_ACTIVE); if (!sc->fc.mem) { device_printf(dev, "could not map memory\n"); error = ENXIO; goto fail; } sc->base = rman_get_virtual(sc->fc.mem); #endif /* __FreeBSD__ */ ifp->if_flags &= ~IFF_UP; /* Stop all DMA operation db.immediately */ fwohci_stop_dma(sc, -1); ------------------------------------------------------------------- I tried to use #define PCI_ENABLE_IO_MODES in pci/pci.c but got no difference. I've noticed there is a option PCI_ENABLE_IO_MODES in -CURRENT kernel, but I'm not able to use it since this machine is a production one. I think this option can help somehow - at least it seems so from the description of this option in LINT. But I haven't seen it in 4-STABLE. What I'm suspicious about is this part of dmesg: found-> vendor=0x104c, dev=0x8027, revid=0x00 class=0c-00-10, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 cmdreg=0x0006, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=a, irq=11 which seems to me like BIOS forgot to allocate some memory for this card. Just to mention: card itself is OK since it's working on the same machine in Windows 2000 (e.g. in Adobe Premiere 6.0). But it's possible Windows driver does the allocation on its own (btw: Windows drivers are the default ones: 1394bus.sys and ohci1394.sys). Does anybody have some idea how to move on? With best regards, Petr Holub ================================================================ Petr Holub CESNET z.s.p.o. Supercomputing Center Brno Zikova 2 Institute of Compt. Science 10200 Praha, CZ Masaryk University Czech Republic Botanicka 68a, 60200 Brno, CZ e-mail: Petr.Holub@cesnet.cz phone: +420-5-41512278 e-mail: hopet@ics.muni.cz ------=_NextPart_000_0039_01C187CE.ACB2B450 Content-Type: application/octet-stream; name="dmesg.KLOBOUCEK" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="dmesg.KLOBOUCEK" Copyright (c) 1992-2001 The FreeBSD Project.=0A= Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994=0A= The Regents of the University of California. All rights reserved.=0A= FreeBSD 4.4-RELEASE #6: Mon Dec 10 15:16:37 CET 2001=0A= toor@kloboucek.ics.muni.cz:/usr/src/sys/compile/KLOBOUCEK=0A= Calibrating clock(s) ... TSC clock: 902080409 Hz, i8254 clock: 1193228 Hz=0A= CLK_USE_I8254_CALIBRATION not specified - using default frequency=0A= Timecounter "i8254" frequency 1193182 Hz=0A= CLK_USE_TSC_CALIBRATION not specified - using old calibration method=0A= CPU: Pentium III/Pentium III Xeon/Celeron (902.05-MHz 686-class CPU)=0A= Origin =3D "GenuineIntel" Id =3D 0x68a Stepping =3D 10=0A= = Features=3D0x383f9ff=0A= real memory =3D 267292672 (261028K bytes)=0A= Physical memory chunk(s):=0A= 0x00001000 - 0x0009efff, 647168 bytes (158 pages)=0A= 0x0041f000 - 0x0fee0fff, 262938624 bytes (64194 pages)=0A= avail memory =3D 256208896 (250204K bytes)=0A= bios32: Found BIOS32 Service Directory header at 0xc00f1c80=0A= bios32: Entry =3D 0xf14a0 (c00f14a0) Rev =3D 0 Len =3D 1=0A= pcibios: PCI BIOS entry at 0x16a0=0A= pnpbios: Found PnP BIOS data at 0xc00fbce0=0A= pnpbios: Entry =3D f0000:bd10 Rev =3D 1.0=0A= pnpbios: OEM ID cd041=0A= Other BIOS signatures found:=0A= ACPI: 000f7220=0A= Preloaded elf kernel "kernel" at 0xc03f9000.=0A= netsmb_dev: loaded=0A= Pentium Pro MTRR support enabled=0A= md0: Malloc disk=0A= Creating DISK md0=0A= Math emulator present=0A= pci_open(1): mode 1 addr port (0x0cf8) is 0x80001004=0A= pci_open(1a): mode1res=3D0x80000000 (0x80000000)=0A= pci_cfgcheck: device 0 [class=3D060000] [hdr=3D00] is there = (id=3D11308086)=0A= Using $PIR table, 4 entries at 0xc00f1c10=0A= apm0: on motherboard=0A= apm: found APM BIOS v1.2, connected at v1.2=0A= npx0: on motherboard=0A= npx0: INT 16 interface=0A= pcib0: on motherboard=0A= found-> vendor=3D0x8086, dev=3D0x1130, revid=3D0x11=0A= class=3D06-00-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0006, statreg=3D0x2090, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= found-> vendor=3D0x8086, dev=3D0x1132, revid=3D0x11=0A= class=3D03-00-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0007, statreg=3D0x02b0, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= intpin=3Da, irq=3D11=0A= map[10]: type 1, range 32, base f8000000, size 26=0A= map[14]: type 1, range 32, base f7800000, size 19=0A= found-> vendor=3D0x8086, dev=3D0x2448, revid=3D0x03=0A= class=3D06-04-00, hdrtype=3D0x01, mfdev=3D0=0A= subordinatebus=3D1 secondarybus=3D1=0A= cmdreg=3D0x0107, statreg=3D0x0080, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x06 (1500 ns), maxlat=3D0x00 (0 ns)=0A= found-> vendor=3D0x8086, dev=3D0x244c, revid=3D0x03=0A= class=3D06-01-00, hdrtype=3D0x00, mfdev=3D1=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x010f, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= found-> vendor=3D0x8086, dev=3D0x244a, revid=3D0x03=0A= class=3D01-01-80, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0005, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= map[20]: type 1, range 32, base 0000b800, size 4=0A= found-> vendor=3D0x8086, dev=3D0x2442, revid=3D0x03=0A= class=3D0c-03-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0005, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= intpin=3Dd, irq=3D9=0A= map[20]: type 1, range 32, base 0000b400, size 5=0A= found-> vendor=3D0x8086, dev=3D0x2444, revid=3D0x03=0A= class=3D0c-03-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0005, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= intpin=3Dc, irq=3D9=0A= map[20]: type 1, range 32, base 0000b000, size 5=0A= found-> vendor=3D0x8086, dev=3D0x2445, revid=3D0x03=0A= class=3D04-01-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0005, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= intpin=3Db, irq=3D10=0A= map[10]: type 1, range 32, base 0000e000, size 8=0A= map[14]: type 1, range 32, base 0000e100, size 6=0A= found-> vendor=3D0x8086, dev=3D0x2446, revid=3D0x03=0A= class=3D07-03-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0005, statreg=3D0x0280, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x00 (0 ns), mingnt=3D0x00 (0 ns), maxlat=3D0x00 (0 ns)=0A= intpin=3Db, irq=3D10=0A= map[10]: type 1, range 32, base 0000e500, size 8=0A= map[14]: type 1, range 32, base 0000e300, size 7=0A= pci0: on pcib0=0A= agp0: mem = 0xf7800000-0xf787ffff,0xf8000000-0xfbffffff irq 11 at device 2.0 on pci0=0A= agp0: allocating GATT for aperture of size 64M=0A= pcib1: at device 30.0 = on pci0=0A= found-> vendor=3D0x10ec, dev=3D0x8139, revid=3D0x10=0A= class=3D02-00-00, hdrtype=3D0x00, mfdev=3D0=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0007, statreg=3D0x0290, cachelnsz=3D0 (dwords)=0A= lattimer=3D0x40 (1920 ns), mingnt=3D0x20 (8000 ns), maxlat=3D0x40 = (16000 ns)=0A= intpin=3Da, irq=3D4=0A= map[10]: type 1, range 32, base 0000d800, size 8=0A= map[14]: type 1, range 32, base f7000000, size 8=0A= found-> vendor=3D0x104c, dev=3D0xac42, revid=3D0x00=0A= class=3D06-07-00, hdrtype=3D0x02, mfdev=3D1=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0007, statreg=3D0x0210, cachelnsz=3D8 (dwords)=0A= lattimer=3D0x40 (1920 ns), mingnt=3D0x40 (16000 ns), maxlat=3D0x03 (750 = ns)=0A= intpin=3Da, irq=3D11=0A= found-> vendor=3D0x104c, dev=3D0xac42, revid=3D0x00=0A= class=3D06-07-00, hdrtype=3D0x02, mfdev=3D1=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0007, statreg=3D0x0210, cachelnsz=3D8 (dwords)=0A= lattimer=3D0x40 (1920 ns), mingnt=3D0x40 (16000 ns), maxlat=3D0x03 (750 = ns)=0A= intpin=3Da, irq=3D11=0A= found-> vendor=3D0x104c, dev=3D0x8027, revid=3D0x00=0A= class=3D0c-00-10, hdrtype=3D0x00, mfdev=3D1=0A= subordinatebus=3D0 secondarybus=3D0=0A= cmdreg=3D0x0006, statreg=3D0x0210, cachelnsz=3D8 (dwords)=0A= lattimer=3D0x40 (1920 ns), mingnt=3D0x02 (500 ns), maxlat=3D0x04 (1000 = ns)=0A= intpin=3Da, irq=3D11=0A= pci1: on pcib1=0A= rl0: port 0xd800-0xd8ff mem = 0xf7000000-0xf70000ff irq 4 at device 4.0 on pci1=0A= rl0: Ethernet address: 00:e0:18:2c:ea:6a=0A= miibus0: on rl0=0A= rlphy0: on miibus0=0A= rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto=0A= bpf: rl0 attached=0A= pcic0: irq 11 at device 7.0 on pci1=0A= pcic0: PCI Memory allocated: 0x44000000=0A= pcic0: TI12XX PCI Config Reg: [speaker enable][FUNC pci int + CSC serial = isa irq]=0A= pccard0: on pcic0=0A= pcic1: irq 11 at device 7.1 on pci1=0A= pcic1: PCI Memory allocated: 0x44001000=0A= pcic1: TI12XX PCI Config Reg: [speaker enable][FUNC pci int + CSC serial = isa irq]=0A= using shared irq11.=0A= pccard1: on pcic1=0A= fwohci0: irq 11 at device 7.2 on pci1=0A= pcilynx0: PCI bus latency was changing to 200.=0A= fwohci0: could not map memory=0A= device_probe_and_attach: fwohci0 attach returned 6=0A= isab0: at device 31.0 = on pci0=0A= isa0: on isab0=0A= atapci0: port 0xb800-0xb80f at device = 31.1 on pci0=0A= ata0: iobase=3D0x01f0 altiobase=3D0x03f6 bmaddr=3D0xb800=0A= ata0: mask=3D03 status0=3D50 status1=3D00=0A= ata0: mask=3D03 ostat0=3D50 ostat2=3D00=0A= ata0-master: ATAPI probe a=3D00 b=3D00=0A= ata0-slave: ATAPI probe a=3D00 b=3D00=0A= ata0: mask=3D03 status0=3D50 status1=3D00=0A= ata0-master: ATA probe a=3D01 b=3Da5=0A= ata0: devices=3D01=0A= ata0: at 0x1f0 irq 14 on atapci0=0A= ata1: iobase=3D0x0170 altiobase=3D0x0376 bmaddr=3D0xb808=0A= ata1: mask=3D03 status0=3D00 status1=3D00=0A= ata1: mask=3D03 ostat0=3D00 ostat2=3D00=0A= ata1-master: ATAPI probe a=3D00 b=3D00=0A= ata1-slave: ATAPI probe a=3D00 b=3D00=0A= ata1: mask=3D03 status0=3D00 status1=3D00=0A= ata1: devices=3D00=0A= ata1: at 0x170 irq 15 on atapci0=0A= uhci0: port = 0xb400-0xb41f irq 9 at device 31.2 on pci0=0A= usb0: on uhci0=0A= usb0: USB revision 1.0=0A= uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1=0A= uhub0: 2 ports with 2 removable, self powered=0A= uhci1: port = 0xb000-0xb01f irq 9 at device 31.4 on pci0=0A= using shared irq9.=0A= usb1: on uhci1=0A= usb1: USB revision 1.0=0A= uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1=0A= uhub1: 2 ports with 2 removable, self powered=0A= pcm0: port 0xe100-0xe13f,0xe000-0xe0ff irq 10 at = device 31.5 on pci0=0A= pcm0: ac97 codec id 0x83847600 (SigmaTel STAC9700/9783/9784)=0A= pcm0: ac97 codec features 18 bit DAC, 18 bit ADC, 5 bit master volume, = SigmaTel 3D Enhancement=0A= pcm: setmap 2e000, 4000; 0xcf722000 -> 2e000=0A= pcm: setmap 32000, 4000; 0xcf726000 -> 32000=0A= pcm: setmap 36000, 4000; 0xcf72a000 -> 36000=0A= pci0: (vendor=3D0x8086, dev=3D0x2446) at 31.6 irq 10=0A= ata-: ata0 exists, using next available unit number=0A= ata-: ata1 exists, using next available unit number=0A= pcic-: pcic0 exists, using next available unit number=0A= pcic-: pcic1 exists, using next available unit number=0A= Trying Read_Port at 203=0A= Trying Read_Port at 243=0A= Trying Read_Port at 283=0A= Trying Read_Port at 2c3=0A= Trying Read_Port at 303=0A= Trying Read_Port at 343=0A= Trying Read_Port at 383=0A= Trying Read_Port at 3c3=0A= isa_probe_children: disabling PnP devices=0A= isa_probe_children: probing non-PnP devices=0A= orm0: