summaryrefslogtreecommitdiff
path: root/sys/dev
AgeCommit message (Collapse)Author
1996-07-31Drop the ed_ring structure in favour of a byte-array and offset constants.Niklas Hallqvist
Makes the code much more robust agains MD paddings. Use new bus.h.
1996-07-29Add OpenBSD tags. Adapt to OpenBSD *_intr_establish calling conventionNiklas Hallqvist
1996-07-27mhitch; Don't flush the 53C94 fifo when starting dma_in. The fifo data isTheo de Raadt
valid at that point, and flushing the fifo will hang the system.
1996-07-27split cy driver upTheo de Raadt
1996-07-22Initial integration of pieces of Manuel's patch5. From the announce:Jason Downs
- integration of Milton Ngan's patch, which provide audio command support. ..with lots of cleaning up by me. Audio is still untested. This will change shortly.
1996-07-17fixes/update:chuck
- adjust txhiwat and mindma params a bit - fixed a couple of incorrectly labeled panic calls - the "location" was being calculated incorrectly in some cases (forgot to subtract off MID_RAMBASE). this only caused problem when trying to change the size of the tx/rx buffers (e.g. to 64KB). - fixed possible non-aligned DMA burst in the starting byte burst case. (e.g. if we could DMA 3 bytes, but only have 2 it is not legal for us to use MIDDMA_BYTE2 mode). - opt: on tx: try and avoid flushing the internal buffer by padding out the length of the last mbuf a bit (if possible)
1996-07-16midway fixes + new stuff:chuck
- alpha changes from cgd - merged multiple DRQ/DTQ ADD macros into a single DRQ and a single DTQ macro with a uniform interface to make the code simpler and easier to read. - en_start: only update atm_flags if EN_MBUF_OPT is enabled (which it should be) - for alburst: make sure we don't DMA more bytes than we need (on both tx and rx). if the alburst is larger than we need, drop to MIDDMA_WORD mode. - major change: enable the use of byte and 2 byte DMA on the trasmit side. this allows us to DMA from non-word sized/aligned mbufs directly. [the old code would always call en_mfix which would copy (or move) the data in order to ensure proper alignment... it turns out TCP gives us non-word sized/aligned mbufs when it is retransmitting, so we needed to handle this case more efficiently.] the following functions were changed to make this work: - en_dqneed: add an arg to let us know if we are transmitting or not. if we are TX, then we must take into account byte DMAs when estimating the number of DTQs we will need for a buffer - en_start: only mfix mbufs if DMA is disabled - en_txdma: only set launch.nodma if we have en_mfix'd the mbuf chain also, we may need a DTQ to flush the chip's internal byte buffer - en_txlaunch: only attempt a copy if we have the proper alignment. add byte dma code for the front and end of the buffer. make sure the internal dma buffer is flushed out. - en_dump: keep track of how many times we have to use byte sized DMA midwayreg: - add byte/2byte DMA defines midwayvar: - add new stat counter to monitor less-than-word lengthed DMA
1996-07-11fix:chuck
- en_mfix shouldn't touch M_EXT mbufs. change to avoid this [at the expense of allocating a new cluster mbuf to copy to]. XXX: en_mfix is getting called more often than I hoped it would (seems to happen when TCP retransmits... we get all sorts of odd sized, odd lengthed data mbufs, yuck). i may revise the xmit DMA code to use non-word sized dma.
1996-07-11fixes:chuck
- don't try and add a PDU trailer (or TBD for that matter) to an M_EXT mbuf. when M_EXT is set, the data area of the mbuf can be shared with other mbufs (see m_copym()), and writing to one M_EXT mbuf may invalidate another M_EXT mbuf (saw this with PDU trailers). - be sure to validate the length value from the PDU trailer so that it doesn't throw us out of sync with the chip (fixes yet another source of the dread "en_service: id mismatch" panic). - on recv, don't bother allocating an mbuf if mlen is zero since we are only going to toss the data anyway.
1996-07-07email address of an authorityTheo de Raadt
1996-07-04fix recording; from jabaker@grail.cba.csuohio.eduTheo de Raadt
1996-07-03ported to FreeBSD 2.2-960612-SNAP.chuck
1996-07-02support FSTATE_STAR by repetitionTheo de Raadt
1996-07-02handle SCSI_QUEUE_FULL correctlyTheo de Raadt
1996-07-02better FIFO enabling code; netbsd pr#2574, cliff@wport.comJason Downs
1996-07-02documentTheo de Raadt
1996-06-30Put small delay in lptintr, as suggested by banshee@gabriella.resort.comdm
on port-i386@netbsd.org.
1996-06-29new: add a raw_threshold for raw mode. this basically tells the driverchuck
to ignore inbound data sizes less than the threshold. otherwise, when connected to a video aal0 input the driver gives us a massive stream of 56 byte mbufs each with one aal0 cell in it and the system just can't keep up with it, especially if the socket buffer size is large [it hangs until you turn off the video source]. fixes: when turning off a vc, try and check the freshest copy of the mode when seeing if we need to enter the "drain" state. also, don't panic if we get unexpected rx interrupt on a VCI (instead make sure the VC is off, print a warning, and move on!).
1996-06-29change:chuck
- change rxso into a void handle ... no need to know details at this low level. fix: - forgot to init "vci" during ENOTHER_DRAIN case of RX DMA interrupt [could cause a vm_fault on native mode connection close depending on needing to drain out the VC and also the random value of vci]
1996-06-28new: add all needed hooks to engage raw mode.chuck
1996-06-27backout spl changeTheo de Raadt
1996-06-27new 2940 driver merged from freebsd sources 960623shawn
1996-06-27fixes/improvements:chuck
- more stat counters (rxmbufout -- mbufs, ttrash -- trashed RBD) - add swsl_size to keep track of size of software slist - revise when we call en_service - fix handling of circular lists (was getting full vs empty confused in extreem cases...) - native mode atm: remove sbappend code: can't do it here since socket buffer is protected only by splsoftnet and that doesn't mask enintr off. forces us to switch to a two level interrupt scheme. revise call to atm_input to reflect that.
1996-06-26lpr attaches with lpt_isa_cadm
1996-06-26fixes:chuck
[1] rxslot "cur" pointer wasn't updated if we copied all data and didn't have any fill. this could cause a service id mismatch panic under load. [2] recv of aal0 forgot to include the cell header in the data length calc [add cell header length to midwayreg.h] [3] fix control info "chop" for raw mode and aal0 [4] handle rxsb better for native atm connections (XXX: still working on this ... not complete and needs revision)
1996-06-25lpt_isa_caTheo de Raadt
1996-06-24pica changes backed out. does not belong herePer Fogelstrom
1996-06-23probe must be silent if no deviceTheo de Raadt
1996-06-23turn off debug optionsTheo de Raadt
1996-06-23workaround because of pica stuffTheo de Raadt
1996-06-23disable pica stuff for the moment, attribute problemTheo de Raadt
1996-06-23missing splxTheo de Raadt
1996-06-22Pica bus support addedPer Fogelstrom
1996-06-22arch/arc have isa bus.Per Fogelstrom
1996-06-22Pica bus support addedPer Fogelstrom
1996-06-22Pica bus support addedPer Fogelstrom
1996-06-21use correct copyrightchuck
1996-06-21use correct copyrightchuck
1996-06-21PCI glue for the en ATM device.chuck
1996-06-21add ENI ATMchuck
1996-06-21regeneratechuck
1996-06-21add ENI-155P ATM.chuck
1996-06-21device driver from the Efficient Networks "MIDWAY" ATM155 chip.chuck
1996-06-20Cyclades Cyclom driver for isa/pci; by Timo Rossi; via jmarin@muikku.jmp.fiTheo de Raadt
1996-06-20syncTheo de Raadt
1996-06-20add Cyclom-Y definitions; from jmarin@pyy.jmp.fiTheo de Raadt
1996-06-20fdformat support:Jason Downs
patches taken from jtk's dosemu for NetBSD 1.1 and updated for the current driver. Some of the code is based an older FreeBSD version of the driver.
1996-06-19turn off *DIAG; something is miserably wrong with it and various peopleTheo de Raadt
have wasted weeks because of the crashes.
1996-06-18Try to avoid collisions with reselection when starting a new selection.Theo de Raadt
Enable reselections as soon as possible after a disconnect - prevents losing a reselecting device. Check for and ignore a spurious interrupt during a DMA input (from the Mach driver).
1996-06-18fix a type mismatchTheo de Raadt