Date: Fri, 27 Nov 1998 16:59:00 -0800 From: Mike Smith <mike@smith.net.au> To: Zach Heilig <zach@gaffaneys.com> Cc: hackers@FreeBSD.ORG Subject: Re: Reading values out of/Writing values to a PCI device... Message-ID: <199811280059.QAA01827@dingo.cdrom.com> In-Reply-To: Your message of "Fri, 27 Nov 1998 18:55:44 CST." <19981127185544.A2982@znh.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Save yourself. http://www.freebsd.org/~wpaul/VIA > I'm currently attempting to write a network device driver for the VIA > 86C100A (Rhine?) Fast Ethernet Controller, as this seems to not be > currently supported, and does not have an NE2000 compatability mode. > (A grep for '1106' and '3043' in /sys/pci shows nothing, except a > VIA motherboard chipset). > > Writing the "probe" was rather easy (it detects just fine) :-). > Writing the "attach" function has hit a snag: > > I have #1 the Linux driver [this is kinda confusing], #2 the 86C100A > spec sheets [the linux driver is less relavent now ;-)], and #3 the > eeprom info sheets [difficult to make sense of parts of #2 above > without it]. > > This is what the card looks like (to FreeBSD): > > found-> vendor=0x1106, dev=0x3043, revid=0x06 > class=02-00-00, hdrtype=0x00, mfdev=0 > subordinatebus=0 secondarybus=0 > intpin=a, irq=9 > map[0]: type 4, range 32, base 00006100, size 7 > map[1]: type 1, range 32, base f1000000, size 7 > > I'm presuming I want to use the 'type 1' map (memory map rather than > port map). I'm also going to guess that I can't just read/write to > 'memory address 0xf100 0000', and I somehow need to get that mapped > into my driver space. Another guess is the 'range 32' means 32*4 > bytes (that's the only interpretation that makes sense given 128 bytes > of pci registers). I can't figure out what the 'size 7' means (or > even if it is important). > > It does require a 32-bit aligned data buffer. Do we have the same > problem as Linux (they have 14-byte headers, so "need" a data copy to > an alignment buffer). This chip can be programmed to put different > parts of an ethernet frame into different buffers, so maybe that isn't > really a problem... except with that particular driver. > > Also, I see this '...softc' structure.. Is there any description for > it anywhere (other than poking around in the source)? > > -- > Zach Heilig (zach@gaffaneys.com) > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811280059.QAA01827>