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: [EMAIL PROTECTED]              phone: +420-5-41512278
                                       e-mail: [EMAIL PROTECTED]  
 

Attachment: dmesg.KLOBOUCEK
Description: Binary data

Reply via email to