Also, add unit location fields to the ROM image. The p1212 spec requires
unit locations if you have 2 or more unit directories which is the case for
ipv4 and ipv6 compiled into a kernel.
filling in unit location in the rom.
XXX: This all is really too welded together. The if_fw code should be
decoupled from this and simply be handed a method by which it can provide
the config rom back to the main code.
A framework for parsing p1212 compliant ROM's and returning a tree that
describes it. Include routines for searching the tree, walking it to
apply functions against nodes and printing out the tree.
Also provide a utility routine to take all the unit dirs present in a ROM,
loop against them and present them to config_found to configure all possible
sub devices.
the center position (128), so as to be compatible with other drivers.
The equalizer is enhancement only, and the values < 128 don't take
any effect.
Yeah, this causes spec change....
For equalization.treble and equalization.bass, the relation between
old and new value is
new_value = (old_value / 2) + 128.
(Note this does not apply to equalization.surround.)
2. Support ++ and -- of mixerctl(1) for stepping volume variables.
3. Fix problem where the chip is not powered up
when the mic input is unmuted.
this partially addresses pr14385.
there is still a byte swapping bug retrieving the
stats structure. Since both the type and the length
are incorrectly swapped, we would timeout while reading
an extra long section (caused by the byteswapped length)
of garbage data.
turning on WI_DEBUG now just reports the unknown info type
which can be seen to be obviously incorrectly swapped
on macppc
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.
This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.
Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...
If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.
Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.
If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
a byte-size quantity, the CacheLine Size configuration register specifies
the system cacheline size in units of 32-bit words; per PCI Local Bus
Specification, rev. 2.1, section 6.2.4.
NB: ebus_attach_args member names are singular to be consistent with SBus.
sparc64 version uses plural, so update sparc64 drivers when converting them
to use this shared header
pairs. Without this, the interrupt handler will steal the "command completed"
status and wi_cmd will busy loop until it times out.
Add some error output to make failure modes like this more prominent.
This should fix PR 14559.
in preparation for future mvmeppc and mvme88k ports.
This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.
in preparation for future mvmeppc and mvme88k ports.
This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.
in preparation for future mvmeppc and mvme88k ports.
This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.