void snapper_set_volume(struct snapper_softc *sc, int left, int right) { u_char vol[6]; int nentries = sizeof(snapper_volumetab) / sizeof(snapper_volumetab[0]); int l, r; sc->sc_vol_l = left; sc->sc_vol_r = right; l = nentries - (left * nentries / 256); r = nentries - (right * nentries / 256); DPRINTF(" left %d vol %d %d, right %d vol %d %d\n", left, l, nentries, right, r, nentries); if (l >= nentries) l = nentries-1; if (r >= nentries) r = nentries-1; vol[0] = snapper_volumetab[l].high; vol[1] = snapper_volumetab[l].mid; vol[2] = snapper_volumetab[l].low; vol[3] = snapper_volumetab[r].high; vol[4] = snapper_volumetab[r].mid; vol[5] = snapper_volumetab[r].low; tas3004_write(sc, DEQ_VOLUME, vol); }
void snapper_set_treble(struct snapper_softc *sc, int value) { uint8_t reg; if ((value >= 0) && (value <= 255) && (value != sc->sc_treble)) { reg = snapper_trebletab[(value >> 3) + 2]; if (tas3004_write(sc, DEQ_TREBLE, ®) < 0) return; sc->sc_treble = value; }
void snapper_set_volume(struct snapper_softc *sc, int left, int right) { u_char vol[6]; sc->sc_vol_l = left; sc->sc_vol_r = right; left <<= 8; /* XXX for now */ right <<= 8; vol[0] = left >> 16; vol[1] = left >> 8; vol[2] = left; vol[3] = right >> 16; vol[4] = right >> 8; vol[5] = right; tas3004_write(sc, DEQ_VOLUME, vol); }