Lines Matching refs:aci
7 * This driver relies on the aci mixer provided by the snd-miro
40 #include <sound/aci.h>
76 struct snd_miro_aci *aci;
86 static int rds_waitread(struct snd_miro_aci *aci)
92 byte = inb(aci->aci_port + ACI_REG_RDS);
105 static int rds_rawwrite(struct snd_miro_aci *aci, u8 byte)
107 if (rds_waitread(aci) >= 0) {
108 outb(byte, aci->aci_port + ACI_REG_RDS);
114 static int rds_write(struct snd_miro_aci *aci, u8 byte)
124 rds_rawwrite(aci, sendbuffer[i]);
128 static int rds_readcycle_nowait(struct snd_miro_aci *aci)
130 outb(0, aci->aci_port + ACI_REG_RDS);
131 return rds_waitread(aci);
134 static int rds_readcycle(struct snd_miro_aci *aci)
136 if (rds_rawwrite(aci, 0) < 0)
138 return rds_waitread(aci);
141 static int rds_ack(struct snd_miro_aci *aci)
143 int i = rds_readcycle(aci);
152 static int rds_cmd(struct snd_miro_aci *aci, u8 cmd, u8 databuffer[], u8 datasize)
156 rds_write(aci, cmd);
161 if (rds_ack(aci))
168 if (rds_waitread(aci) < 0)
174 j = rds_readcycle_nowait(aci);
186 struct snd_miro_aci *aci = dev->aci;
189 if (!(aci->aci_version == 0x07 || aci->aci_version >= 0xb0))
195 rds_cmd(aci, RDS_RESET, NULL, 0);
196 return snd_aci_cmd(aci, ACI_WRITE_TUNE, freql, freqh);
237 res = snd_aci_cmd(dev->aci, ACI_READ_TUNERSTATION, -1, -1);
241 res = snd_aci_cmd(dev->aci, ACI_READ_TUNERSTEREO, -1, -1);
247 res = rds_cmd(dev->aci, RDS_RXVALUE, &buf, 1);
264 snd_aci_cmd(dev->aci, ACI_SET_TUNERMONO,
302 snd_aci_cmd(dev->aci, ACI_SET_TUNERMUTE, ctrl->val, -1);
325 res = rds_cmd(dev->aci, RDS_RXVALUE, &buf, 1);
350 res = rds_cmd(dev->aci, RDS_STATUS, &buf, 1);
354 res = rds_cmd(dev->aci, RDS_STATIONNAME, text_buffer, 8);
362 res = rds_cmd(dev->aci, RDS_PTYTATP, &pty, 1);
371 res = rds_cmd(dev->aci, RDS_TEXT, text_buffer, 65);
439 dev->aci = snd_aci_get_aci();
440 if (dev->aci == NULL) {
485 snd_aci_cmd(dev->aci, ACI_SET_TUNERMONO,
509 snd_aci_cmd(dev->aci, ACI_SET_TUNERMUTE, 1, -1);