2. pull in a fix from FreeBSD:
revision 1.18
date: 1999/09/17 18:04:14; author: wpaul; state: Exp; lines: +3 -3
Remember to account for ETHER_ALIGN when setting the maxmimum packet
length for mini receive ring. The max length was MHLEN, however the mbufs
are actually shortened to MHLEN - ETHER_ALIGN to force payload alignment.
queueing support that decreases the number of openings on a device; it
previously assumed that a scsipi_link's `openings' were descreased as
commands were issued, which is not longer the case (`active' is increased).
1. Add power control to reduce power consumption.
The behavior can be controlled by mixerctl(1).
2. Add suspend/resume hook to keep the parameters.
Currently this includes CODEC and control registers but
does not include the DMA state. FIXME.
3. Support "opl at ym" and "mpu at ym" attachment.
Actually, this is required for power control.
4. Add support for the on-chip 3D enhancement hardware.
This includes bass/treble enhancement, wide stereo, and
the equalization mode. This can be controlled by mixerctl(1).
5. Make "audioctl -w play.gain=xxx" work like as
"mixerctl -w inputs.dac=xxx" and now it changes
the wave output volume correctly.
6. Support hardware master volume switches.
7. Change formula of calculating gain so that all the levels
should be used equally.
8. Change "audioctl name" to "OPL3-SA3" and "audioctl version"
to the version of the chip.
- Mute wave output, not the mixer output, on changing CODEC settings.
- Add support for muting wave output while playback or monitoring is inactive.
- Change formula of calculating gain so that all the levels should be
used equally (the old code uses the min/max gain only at 0/255).
- Cleanup
Implement this by making the fields `pm_reg_ptp' and `pm_reg_ptp_pa'
pointers to an array of `ncpu' region table pointers and corresponding
physical addresses.
This is a somewhat unfortunate side effect of having the per-CPU data
addressable by the same virtual address on each CPU.
- In dpt_intr(), if no interrupt is signalled but the HBA has indicated
that more data will be available soon (HA_ST_MORE), save a context switch
and wait for the data.
to the SCSIPI subsystem.
- Determine more characteristics about the board, including the number
of concurrent commands that the processor can execute at a time.
- Rework memory allocation strategy so that we can do dynamic pre-allocation
of resources according to workload.
Thanks to the Linux Buslogic driver for having some useful comments.
until Matt Jacob has a change to update the driver for the latest
firmware, etc. since update device parameters seems to fail once the
system is really up and running, and eventually causes the controller
to wedge. This may be due to a firmware bug.
Per discussion with Matt.
- `flags' is now gone, replaced with `xs_control' and `xs_status'.
- Massive cleanup of the control flags. Now we explicitly say that
a job is to complete asynchronously, rather than relying on side-effects,
and use a new flag to now that device discovery is being performed.
- Do SCSI device discovery interrupt-driven.
- 82C115 has a 128-bit multicast hash table, not 512-bit.
- Correct the way the MAC address is read from the SROM, after re-reading
the MX98715A Application Note.
Other semi-related changes:
- Differentiate between MX98715 and MX98715A.
- Improve the Macronix link-up/link-down detection.
this by frobbing the 10TCTL register minimally, toggling only the bit we
care about (and hoping that link-capability advertisement happens correctly).
MX98715 can talk to the network now.
- Add a comment about the Macronix MX98713 -- it's almost exactly like
a 21140A, and doens't have the Nway registers that the other Macronix
chips have.
- Bus specific front-end is now responsible for reading EATA configuration
- EATA configuration data is now saved in the softc
- Make synchronous writes work properly
- Don't ignore HBA timeouts in dpt_cmd()
- Prefix eata_cfg's members with `ec_', not `dc_'
* f_lock is only needed for FreeBSD (for their totally disgusting
and insane way of doing generic vnode locking)
* g/c f_mp, it was write-only
* some comments added
This supplies an attachment of the `sm' and `com' drivers.
Thanks to Chuck Cranor for sifting through the Linux smc91c92_cs.c driver
to find the magic sequence that brings the Ethernet portion of the card
on-line!
core filename format, which allow to change the name of the core dump,
and to relocate it in a directory. Credits to Bill Sommerfeld for giving me
the idea :)
The default core filename format can be changed by options DEFCORENAME and/or
kern.defcorename
Create a new sysctl tree, proc, which holds per-process values (for now
the corename format, and resources limits). Process is designed by its pid
at the second level name. These values are inherited on fork, and the corename
fomat is reset to defcorename on suid/sgid exec.
Create a p_sugid() function, to take appropriate actions on suid/sgid
exec (for now set the P_SUGID flag and reset the per-proc corename).
Adjust dosetrlimit() to allow changing limits of one proc by another, with
credential controls.
add the gross hack originally implemented by Charles Hannum in the SonicVibes
driver to force allocation of DMA memory for that channel through the Scatter-
Gather Map to get an address range that fits in.
The eso driver now works on Alphas except for DWLPX-based systems, whose owners
are not likely to desire audio or likely can afford slightly less cheap audio
hardware. :-)
ntfs_findvattr(), AALPCMP --> NTFS_AALPCMP, avoid excessive
intendation, fix debug printf when the attribute is not found
to print only first namelen characters of name
some minor KNF and const poisoning
ntfs_ntlookupattr(): make it static, collapse duplicated code
ntfs_ntlookupfile(): avoid memory leak, explicitly set error to 0 when
returning success
kill some bogus comments