summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_sis.c
AgeCommit message (Collapse)Author
2006-12-03Re-enable RX engine every time otherwise it occasionallyAlexander Yurchenko
stops under unknown circumstances. Tested by many people, ok brad a long time ago.
2006-12-03Set sis_stopped=1 early on attach and reset it later in sis_init().Alexander Yurchenko
With mickey's help.
2006-10-18Simplify the logic of the for loops in the sis_ring_init() function.Brad Smith
tested by ckuethe@
2006-08-10move the promiscuous mode handling code to sis_setpromisc() and simplifyBrad Smith
the ioctl handler.
2006-07-10add code for the interrupt holdoff support. bump NS_IHR_DELAY above 0 toBrad Smith
enable the support.
2006-05-28unknown ioctl is ENOTTY not EINVALJason Wright
2006-05-27With the National variants of the sis(4) chip make sure toBrad Smith
check for multicast ranges and then switch into allmulti mode, before touching the receive filter. This fixes an issue noticed by a few devlopers where sis(4) will stop receiving traffic when switched into allmulti mode. ok claudio@
2006-04-28and store a copy of the current interface flags in the softc.Brad Smith
this time without mixing in another diff.
2006-04-28backout previous, Brad probably forgot to commit some bits hereMartin Reindl
found by dhartmei@
2006-04-28and store a copy of the current interface flags in the softc.Brad Smith
2006-03-25allow bpf(4) to ignore packets based on their direction (inbound orDamien Miller
outbound), using a new BIOCSDIRFILT ioctl; guidance, feedback and ok canacar@
2006-03-25tidy up a bit.Brad Smith
From Andrey Matveev
2006-03-25ANSI and KNF.Brad Smith
2006-03-25set/clear the all frames bit in the receive filter whenBrad Smith
enabling/disabling promisc mode instead of calling sis_init().
2006-03-20de-register.Brad Smith
2005-11-04- splimp -> splnetBrad Smith
- remove spl's from attach - fix dmesg printing - de-allocate resources on failure to attach
2005-10-30Simplify sis(4) TX/RX ring initialization.Brad Smith
Thanks to Ben <ben@tilderoot.com> for testing.
2005-10-20Instead of keeping track of the index into the receive ring use the alreadyBrad Smith
implemented "sis_nextdesc" pointer to keep a pointer instead. From phk FreeBSD Tested by a few developers
2005-10-18Put rev 1.56 back in and make sure to include the header soBrad Smith
it actually compiles this time.
2005-10-18revert last commit for now.Brad Smith
2005-10-18Make sure that if_timer does not get reset if there are packetsBrad Smith
still queued for transmission. This should solve the problem of the device stalling on transmissions if some link event prevents transmission. From luigi FreeBSD ok pedro@ hshoexer@
2005-10-17Enable APC CMOS RAM reading code on amd64 for some embedded sis(4) chips.Brad Smith
2005-10-14no functional change here, just moving the stripping of theBrad Smith
FCS into the SIS_RXBYTES() macro. As done in the FreeBSD sis driver.
2005-10-13sync multicast code with the FreeBSD sis driver.Brad Smith
2005-10-12have sis strip off the Ethernet FCS before passing it to bpf.Brad Smith
ok fgsch@
2005-08-09do not set PCI_COMMAND_MASTER_ENABLE explicitly as it's already set in ↵Michael Shalayeff
pcisubmatch(); kettenis@ testing; brad@ ok
2005-07-28clear IFF_RUNNING & IFF_OACTIVE in sis_stop() before de-allocating resources,Brad Smith
also move setting of sis_stopped further up in sis_stop(). ok fgsch@
2005-07-21rollback r1.48 since it caused several panics here; brad@ ok.Federico G. Schwindt
2005-07-02clear IFF_RUNNING & IFF_OACTIVE in foo_stop() before de-allocating resources.Brad Smith
2005-06-12use pci_mapreg_map() instead of pci_[io|mem]_find and bus_space_map;Federico G. Schwindt
originally from brad@. working reports by uwe@, hshoexer@ and myself..
2005-05-27handle SIOCSIFMTU ioctlBrad Smith
2005-05-22- Enable parity error detection on 900B and 635(A).Brad Smith
- SIS_CFG_EDB_MASTER_EN indicates the EDB bus is used instead of the PCI bus. When this bit is set, the Max DMA Burst Size for TX/RX DMA should be no larger than 64 bytes. - Do not call mii_pollstat() from within device tick routines; the status information is updated by mii_tick(). From FreeBSD Testing by uwe@, mpf@ and me.
2005-04-05- Fix for an issue with excessive collisions in half duplex mode.Brad Smith
- Nail the short cable problem the exact way National says it should be. - Make sure to clear any pending interrupts when we stop the interface. - Do not tell the hardware to send when there were no packets enqueued. - Close a theoretical race: By the time the watchdog comes around the interface may have been stopped, so we should not restart it. From FreeBSD Tested by ho@ on a few Soekris boxes and martin@ on a 900
2005-01-15make sure interface is in RUNNING state before touching the multicast filtersBrad Smith
From NetBSD NetBSD PR 27678 for details ok mcbride@
2004-09-28Use ETHER_MAX_DIX_LEN/ETHER_MIN_LENBrad Smith
2004-09-23don't need to set ifp->if_mtu or ifp->if_output in each driver,Brad Smith
{ether,atm,fddi}_ifattach already does this. ok mcbride@ markus@ henning@
2004-07-04sis rev 0x91 seeprom support to get eaddr; from fgschTheo de Raadt
we supplied 10 soekris boxes to 10 openbsd developers, and these all have some variety or other of sis ethernet. not ONE of them commented about this diff when it was mailed out. how very sad.
2004-06-06- replace hand-rolled crc32 with ether_crc32_be()Ryan Thomas McBride
- make multicast ranges work
2004-04-26start with minimum recieve rings. when we ifconfig up, allocate more.Theo de Raadt
this reduces mbuf clusters sitting around unused. from mcbride, fixed by me, tested by frantzen
2004-04-09do not whine if we cannot get mbufs. the countless printfd makes the machineHenning Brauer
crawl under mbuf starvation, making the situationmuch worse, and don't make sense in the first place. ok tdeval@ millert@ beck@ deraadt@
2004-01-01avoid redundant calls to sis_stop() for shared irqs; from freebsd; ok deraadt@Markus Friedl
2003-12-11Check DP83815/6 silicon revision register and apply current fixes documentedChris Cappuccio
in National Semiconductor's datasheets and linux driver, depending on the revision. This fixes the short cable issues more reliably than the fix from rev 1.31 (no long cable issue created), and also fixes lockups on some chips under load. From Poul-Henning Kamp / FreeBSD
2003-10-30correct mac address fetching; pr 3532, jerry@dunmire.orgTheo de Raadt
2003-07-09Fix problems with ICS1893 PHY and some sis chipsets.Kenneth R Westerback
Partial re-sync with FreeBSD, from Jeorg Sonnenberger. Tested by Jeorg, Henning@, Paul de Weerd, Otto@, and myself. ok henning@ deraadt@
2003-06-30remove the use of sis_unitAnil Madhavapeddy
jason@ ok
2003-03-10Fix for the "short cable bug" in sis:Ryan Thomas McBride
A small number of DP83815's will have excessive receive errors when using short cables (<30m/100feet) in 100Base-TX mode. This patch was taken from the National Semiconductor linux driver and (supposedly - no mention of this in any NS docs) modifies the dsp's signal attenuation. ok jason@ deraadt@ markus@ From Willem Dijkstra wpd at xs4all dot nl
2002-11-22off by one for sis_tx_cnt, can lead to corrupt sis_tx_list; ok fgs@Markus Friedl
2002-11-20Read mac address correctly on rev 0x90; tested by Alexander, patchFederico G. Schwindt
provided from FreeBSD via Gabriel Gonzalez. jason@ ok.
2002-11-19Add a simplistic table driven lookup routine and use it where appropriate.Jason Wright
2002-07-31aaron: sync THEN access =)Jason Wright