AUMODE_RECORD
INTARG = (tmpinfo.mode == AUMODE_RECORD) ?
(tmpinfo.mode == AUMODE_RECORD) ?
(tmpinfo.mode == AUMODE_RECORD) ?
if (tmpinfo.mode == AUMODE_RECORD)
if (tmpinfo.mode & AUMODE_RECORD)
if ((tmpinfo.mode & AUMODE_RECORD) && !tmpinfo.record.pause)
(((info)->mode == AUMODE_RECORD) \
if (mode & AUMODE_RECORD) {
KASSERT((setmode & AUMODE_RECORD) == 0);
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD)) {
if (setmode & AUMODE_RECORD) {
if (rec && (setmode & AUMODE_RECORD) != 0) {
sc->sc_format.mode = AUMODE_PLAY|AUMODE_RECORD;
sunxi_codec_chan_init(sc, &sc->sc_rchan, AUMODE_RECORD, "rx") != 0) {
sc->sc_format.mode = AUMODE_PLAY|AUMODE_RECORD;
sunxi_i2s_chan_init(sc, &sc->sc_rchan, AUMODE_RECORD, "rx");
sc->sc_format.mode = AUMODE_PLAY|AUMODE_RECORD;
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD)) {
.mode = AUMODE_PLAY | AUMODE_RECORD,
} else if (direction == AUMODE_RECORD) {
.mode = AUMODE_PLAY | AUMODE_RECORD, \
{ .mode = AUMODE_RECORD,
{ .mode = AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (setmode & AUMODE_RECORD) {
if ((setmode & AUMODE_RECORD))
.mode = AUMODE_PLAY | AUMODE_RECORD,
info.mode = AUMODE_PLAY_ALL|AUMODE_RECORD;
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD) != 0) {
if (setmode == AUMODE_RECORD)
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (mode & AUMODE_RECORD) {
(tmpinfo.mode == AUMODE_RECORD) ?
(((info)->mode == AUMODE_RECORD) \
if (tmpinfo.mode & AUMODE_RECORD)
if ((tmpinfo.mode & AUMODE_RECORD) && !tmpinfo.record.pause)
mode |= AUMODE_RECORD;
rerror = audio_hw_probe(sc, &rhwfmt, AUMODE_RECORD);
mode &= ~AUMODE_RECORD;
af->mode |= AUMODE_RECORD;
af->mode &= ~AUMODE_RECORD;
if ((af->mode & AUMODE_RECORD)) {
if ((af->mode & AUMODE_RECORD))
if ((af->mode & AUMODE_RECORD) != 0)
KASSERT(track->mode == AUMODE_RECORD);
if ((mode & AUMODE_RECORD)) {
error = audio_mixer_init(sc, AUMODE_RECORD, rhwfmt, rfil);
(query.fmt.mode & AUMODE_RECORD) ? 'R' : '-',
if ((mode & AUMODE_RECORD)) {
if (mode == AUMODE_RECORD) {
mode = AUMODE_PLAY | AUMODE_RECORD;
mode &= ~AUMODE_RECORD;
if ((mode & AUMODE_RECORD)) {
if ((mode & AUMODE_RECORD)) {
if (audio_hw_validate_format(sc, AUMODE_RECORD, &rhwfmt)) {
ai->mode |= AUMODE_RECORD;
mode = (file->mode & (AUMODE_PLAY | AUMODE_RECORD))
return ((track->mode & AUMODE_RECORD) != 0);
mode |= AUMODE_RECORD;
case AUMODE_RECORD:
case AUMODE_RECORD:
.mode = AUMODE_PLAY | AUMODE_RECORD,
audio_dai_halt(link->link_aux[n], AUMODE_RECORD);
audio_dai_halt(link->link_codec, AUMODE_RECORD);
return audio_dai_halt(link->link_cpu, AUMODE_RECORD);
blksize, intr, intrarg, params, AUMODE_RECORD);
intr, intrarg, params, AUMODE_RECORD);
intr, intrarg, params, AUMODE_RECORD);
KASSERT(mode == AUMODE_PLAY || mode == AUMODE_RECORD);
if (mode == AUMODE_RECORD && as[i].as_dir != HDAUDIO_PINDIR_IN)
f.mode |= AUMODE_RECORD; \
f.mode = AUMODE_PLAY|AUMODE_RECORD;
hdafg_stream_connect(sc, AUMODE_RECORD);
hdafg_stream_connect(sc, AUMODE_RECORD);
if (rec && (setmode & AUMODE_RECORD)) {
hdafg_stream_connect(ad->ad_sc, AUMODE_RECORD);
AUMODE_PLAY : AUMODE_RECORD);
hdafg_stream_connect(ad->ad_sc, AUMODE_RECORD);
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD) != 0) {
if ((sc->sc_mode & AUMODE_RECORD) &&
.mode = AUMODE_PLAY | AUMODE_RECORD, \
if ((setmode & AUMODE_RECORD)) {
sc->sc_mode |= AUMODE_RECORD;
sc->sc_mode &= ~AUMODE_RECORD;
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD, \
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (setmode & AUMODE_RECORD)
.mode = AUMODE_PLAY | AUMODE_RECORD,
mode = AUMODE_RECORD;
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
AUACER_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 2, AUFMT_STEREO),
if (mode == AUMODE_RECORD)
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
temp_buffer = auich_allocm(sc, AUMODE_RECORD, bytes);
AUICH_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 2, AUFMT_STEREO),
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (mode == AUMODE_RECORD)
AUIXP_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 2, AUFMT_STEREO),
if (mode == AUMODE_RECORD) {
for (mode = AUMODE_RECORD; mode != -1;
mode = (mode == AUMODE_RECORD) ? AUMODE_PLAY : -1) {
if (mode == AUMODE_RECORD)
autri_setup_channel(sc, AUMODE_RECORD, param);
.mode = AUMODE_PLAY | AUMODE_RECORD,
AUVIA_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 1, AUFMT_MONAURAL),
AUVIA_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 2, AUFMT_STEREO),
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
.mode = AUMODE_PLAY | AUMODE_RECORD,
mode = AUMODE_RECORD;
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD))
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD))
if ((setmode & AUMODE_RECORD))
ess->rings_alloced &= ~AUMODE_RECORD;
.mode = AUMODE_PLAY | AUMODE_RECORD, \
((direction == AUMODE_RECORD) ? BUS_DMA_READ : BUS_DMA_WRITE));
if (direction == AUMODE_RECORD)
if (direction == AUMODE_RECORD)
if (direction == AUMODE_RECORD)
.mode = AUMODE_PLAY | AUMODE_RECORD,
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
if (mode == AUMODE_RECORD) {
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (setmode & AUMODE_RECORD) {
GCSCAUDIO_FORMAT(AUMODE_PLAY | AUMODE_RECORD, 2, AUFMT_STEREO);
if (setmode & AUMODE_RECORD) {
.mode = AUMODE_PLAY | AUMODE_RECORD,
if (dir == AUMODE_RECORD)
for (mode = AUMODE_RECORD; mode != -1;
mode = mode == AUMODE_RECORD ? AUMODE_PLAY : -1) {
case AUMODE_RECORD:
.mode = AUMODE_PLAY | AUMODE_RECORD,
BUS_DMA_WAITOK | ((direction == AUMODE_RECORD) ? BUS_DMA_READ : BUS_DMA_WRITE));
if (setmode & AUMODE_RECORD) {
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
.mode = AUMODE_PLAY | AUMODE_RECORD,
if ((setmode & AUMODE_RECORD) != 0) {
sc->sc_mode |= (dir == UE_DIR_OUT) ? AUMODE_PLAY : AUMODE_RECORD;
auf->mode = AUMODE_RECORD;
sc->sc_ratemode[j] |= AUMODE_RECORD;
if ((flags & FREAD) && !(sc->sc_mode & AUMODE_RECORD))
if ((sc->sc_mode & AUMODE_RECORD))
if ((setmode & AUMODE_RECORD) && sc->sc_recchan.altidx != -1) {
if ((setmode & AUMODE_RECORD)) {
AUMODE_RECORD, rec);
if ((setmode & AUMODE_RECORD) && sc->sc_recchan.altidx != -1) {
AUMODE_RECORD, /* O_RDONLY */
AUMODE_PLAY | AUMODE_PLAY_ALL | AUMODE_RECORD, /* O_RDWR */
aumode &= ~AUMODE_RECORD;
aumode &= ~AUMODE_RECORD;
return ((aumode & AUMODE_RECORD)) ? 1 : 0;
#define AUMODE_BOTH (AUMODE_PLAY | AUMODE_RECORD)
{ AUMODE_RECORD, AUMODE_RECORD }, // REC, REC
{ AUMODE_RECORD, AUMODE_PLAY }, // REC, PLAY
{ AUMODE_RECORD, AUMODE_BOTH }, // REC, BOTH
{ AUMODE_PLAY, AUMODE_RECORD }, // PLAY, REC
{ AUMODE_BOTH, AUMODE_RECORD }, // BOTH, REC
{ AUMODE_RECORD, AUMODE_RECORD }, // REC, REC
{ AUMODE_RECORD, -ENODEV }, // REC, PLAY
{ AUMODE_RECORD, -ENODEV }, // REC, BOTH
canread = ((inimode & AUMODE_RECORD) != 0);
#define R AUMODE_RECORD
if ((hwinfo.mode & AUMODE_RECORD)) {
if (v & AUMODE_RECORD)
info.mode = AUMODE_RECORD;
if ((ai.mode & mode & AUMODE_RECORD)) {
setmode |= AUMODE_RECORD;
if ((adev->hwinfo.mode & AUMODE_RECORD)) {
else if ((f->fmt.mode & (AUMODE_PLAY | AUMODE_RECORD))
== (AUMODE_PLAY | AUMODE_RECORD))
else if ((f->fmt.mode & AUMODE_RECORD))
mode |= AUMODE_RECORD;