For a fixed-rate codec, when AUMODE_RECORD and AUDIO_ENCODING_MULAW or
AUDIO_ENCODING_ALAW, use AUDIO_ENCODING_SLINEAR_LE/16bit for native encoding
instead of AUDIO_ENCODING_ULINEAR/8bit because aurateconv does not support
sampling rate conversion for 8 bit PCM.
This change fixes PR kern/18834.
when trying to play audio CD's on some drives. The original message was :
> In my analysis, rev 1.19 of cd_scsi.c used cd_scsibus_set_mode()
> instead of scsipi_mode_select(). cd_scsibus_set_mode() had the code
> which clear a data.header.data_length, but scsipi_mode_select()
> does not have. So we need `data.header.data_length = 0;' before
> calling scsipi_mode_select().
Fixes PR 7299 and probably PR 15155 and PR 16883 too.
XXX Now, could someone please explain to me why in the love of Bob a
file containing inline x86 assembler is in sys/dev/isa/????
This should be moved, fixed, or nuked from space.
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.
unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.
this is just the kernel portion.
move a few bits around and make adding screens after attach time
actually work.
When not booting as console, try to properly set up the hardware to
get a display nevertheless (XXX - does not yet work on my U5).
#if 0 some unused functions planned for future extensions (to make clear
they are unused now)
This allows us to use both the old sun keyboard events (/dev/kbd) as
new wscons events (/dev/wskbd*).
TODO: Not implemented for the kbd at zstty attachment.
Wskbd as console does not yet work.
offset calculation. Mostly from Bang Jun Young.
Don't call wsdisplay_cnattach unconditionally.
On sparc use OF to decide whether we are console output.
This makes it actually work on my U5 - if only we had a keyboard driver
to produce wskbd events (coming soon).
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
Add codec id of VT1616.
ALC650 codec specific chagne:
Add outputs.surround.mixtofront,
outputs.center.mixtofront, and outputs.lfe.mixtofront.
VT1616 codec specific change:
Add outputs.surround.mixtofront,
outputs.center.mixtofront, and outputs.lfe.mixtofront.
(Not tested)
XXX: We should provide ac97(4) manual page and describe
codec-specific features.
meaning that there is no packet available. the OF spec reportedly
says that it's supposed to return 0 in this case, but my Firepower box
uses -2, so this is probably another of those FIRMWORKSBUGS things.
we'll accept both values in any case.
ISP_DAC_SUPPORTED is defined and do a real typedef for the size
of DMA addresses. ISP_DAC_SUPPORTED also decides how much of any
particular DMA address is significant.
Lose STRNCAT over the side.
Add in (sight unseen) 10160 support.
Start doing the work necessary to support DAC (Dual Address Cycle)
environments. This allows for direct DMA to > 4GB memory from a PCI
card.
Lose STRNCAT over the side and use SNPRINTF instead.
so that PHY instance is not siginificant in ifmedia_match(). This
is done to support multiple PHYs on the MII. Without this change,
ifmedia_set() would panic the system when no PHYs were matched.
I ran into this on an AMD EasyNow PC, which is built around SiS
system chips with an embedded SiS 900 core, and an external AMD
Am79c901 PHY, which presents two PHYs on the MII: one for HomePNA,
and one for standard 10base-T. The 10base-T PHY ends up with instance
number 1...
to char-cell based vga(4) driver, and fully compatible with existing
apps like XFree86. Currently it supports 80x25, 80x30, 80x40 and 80x50
text modes using emulation. You can enable it by specifying `options
VGA_RASTERCONSOLE' in your kernel config file.
Note that displaying multilingual text doesn't work yet. Necessary
code is already there, but userland stuff and some functionality isn't
ready for prime time yet. I'm working on them.
It seems that the firmware accept 104bit key only if
all the keys have 104bit length. We get the length of
the transmit key and use it for all other keys.
Perhaps we should use software WEP for such situation.
- Add "outputs.surround", "outputs.center", and "outputs.lfe"
- If the codec is not capable of a feature, mixer variables
about the feature is not created. For example, no
"outputs.tone" for a codec without tone control.
- Set the following mixer values in ac97_attach():
outputs.master=127,127
outputs.master.mute=off
outputs.headphones.mute=off
outputs.surround=127,127
outputs.surround.mute=off
outputs.center=127
outputs.center.mute=off
outputs.lfe=127
outputs.lfe.mute=off
inputs.dac.mute=off
inputs.cd.mute=off
inputs.line.mute=off
inputs.aux.mute=off
inputs.video.mute=off
record.volume.mute=off
because the default setting of AC'97 codec (all mutes are on,
and maximum volume) is troublesome.
- Make "char*" parameters of ac97_get_portnum_by_name() "const char*"
Codec ID changes:
- If a codec ID is unknown but its vendor ID is known,
ac97_attach() prints the vendor name like "dev0: <vendor name>
unknown (0xXXXXXXXX) codec;"
- Add IDs of Asahi Kasei AK4542, AK4544, AK4544A, AK4545,
Realtek ALC100
- Correct a vendor name: "Advance Logic" -> "Avance Logic"
- Add capability of codec-specific initialization
ac97_attach():
- CDAC, SDAC, and LDAC are eanabled.
- DELAY() before mixer settings. ThinkPad X24 needs it.
ALC650 codec specific change:
- Add "outputs.surround.lineinjack" to switch the line-in jack
to the surround output
- Add "outputs.center.micjack" and "outputs.lfe.micjack" (alias
of "outputs.center.micjack") to switch the mic jack to the
center/lfe output.
rename former uriopoll() to urioselect() and provide it only for OpenBSD -
FreeBSD uses nopoll() for urio too
g/c no longer needed uriopoll define for OpenBSD
XXX: Current code may have problems if kernel memory is completely depleted.
This is, unfortunately, not the only chunk of RAIDframe code to have
this problem, and will have to be dealt with. :(
* IPKDB_NE_PCISLOT does not need any dependencies (it is merely a
required parameter for IPKDB_NE_PCI).
* IPKDB_NE_PCI does should not have an option-dependency on IPKDB_NE_PCISLOT.
While IPKDB_NE_PCISLOT is a required parameter, that is not how option-
dependencies work, and we don't want IPKDB_NE_PCI to imply IPKDB_NE_PCISLOT,
as that would cause a bogus value for IPKDB_NE_PCISLOT to be used.
Also, the IPKDB_NE_PCI selector should be lower-case; make it so.
intterupts. No more races between the two interrupt handlers, without any
locking, and the driver becomes a bit simpler too.
Use the last bit of the config flags to select between the first and the
second sbus interrupt level the firmware has assigned to us.
"scsi_core". Make all the files previously selected by the "scsi"
attribute selected by the "scsi_core" attribute. Give the "scsibus"
device the "scsi_core" attribute.
initialisation. This is just as silly as the other entropy
estimations, but it at least allows us to see how many values have
been added.
spl protect rnd_get_entropy_counter call properly
Make rndpool start out doing rotations on the first pass - make the
LSFR's be less sensitive to stuck bits in poor initial inputs.
Add considerable comments regarding the mixing function.
- Remove VRA/VRM enabling in auvia_attach()
- Use ac97_codec_if::set_rate()
- Return no AUDIO_PROPS_MMAP for fixed-rate codec
- Remove unused variables in auvia_softc
Remove sc_fixed_rate and sc_ac97rate. ac97_softc has such
information.
auich_attach():
Remove VRA/VRM enabling code. ac97_attach() does it.
auich_set_rate():
Use ac97_codec_if::set_rate().
auich_get_props():
Return no AUDIO_PROP_MMAP if the codec is fixed-rate.
auichreg.h:
Remove unnecessary ICH_PM_*.
sources.
Multifunction devices, such as keyboards with built-in mice or
scrollwheels on different interfaces and/or repid's are each handled
as a separate entropy source.
ac97_attach(): Enable VRA/VRM if the codec is capable of them.
The struct ac97_softc keeps the clock of the codec, the basic
features flag (the value of AC97_REG_RESET), and the extended
features flag (the value of AC97_REG_EXT_AUDIO_ID).
ac97_codec_if: Add get_extcaps(), set_rate(), and set_clock()
methods.
since it can be updated by IBSS merge. Also the lucent firmware 8.10.1
changes random generated bssid every 10 seconds in IBSS creation enable.
PR 18520
it gathers. Nuke it. Without update_size, FreeReconMapListElem() can
do without mapPtr. That, in turn, means crunch_list() doesn't need a
mapPtr either.
- Split if_fmv.c into MI/MD part and add ISA-PnP attachment for FMV-183.
(XXX FMV-184 is not tested. It would require extra media-select functions..)
- Fix probe functions of fmv_isa so that FMV-181A/182A will also match.
Fixes port-i386/9476.
rework how completed requests are handled. In particular, instead of
doing all sorts of work and locking in interrupt context, completed
requests are now queued. A new kernel thread (rf_RaidIOThread) now
handles calling rf_DiskIOComplete() and (req->CompleteFunc)() for each
completed request. There is still work to be done to make RAIDframe
LOCKDEBUG friendly, but this change is a huge step forward.
Reviewed by (and many thanks to): thorpej
- Use the plain words 'disk' and 'tape' instead of 'direct' and 'sequential'.
- Media status will be printed in the frontend, so don't bother with it.
- Don't bother printing the SCSI version, which is fixed these days, or the
numberic device type.
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.
Need this to support console/Xsun on Mr.Coffee JavaStation.
Tested on sparc, sparc64 (by martin) and sun3 (by jdc).
times changing of 802.11 parameters, such as nwid, the error
"tx buffer allocation failed" occured unless ifconfig down up.
Pass signal streangth and timestamp to ieee80211_input, though it is not
useful for wi driver for now.