Lines Matching full:speed
67 uint32_t speed;
86 hdsp_adat_slot_map(uint32_t speed)
89 if (speed <= 48000)
90 return (0x000000ff); /* 8 channels single speed. */
91 else if (speed <= 96000)
92 return (0x000000aa); /* 4 channels (1,3,5,7) double speed. */
94 return (0x00000000); /* ADAT disabled at quad speed. */
98 hdsp_port_slot_map(uint32_t ports, uint32_t speed)
105 slot_map |= (hdsp_adat_slot_map(speed) << 0);
112 } else if ((ports & HDSP_CHAN_9652_ALL) && (speed <= 96000)) {
113 /* Map HDSP 9652 ports to slot bitmap, no quad speed. */
115 slot_map |= (hdsp_adat_slot_map(speed) << 0);
117 slot_map |= (hdsp_adat_slot_map(speed) << 8);
119 slot_map |= (hdsp_adat_slot_map(speed) << 16);
189 hdsp_port_slot_count(uint32_t ports, uint32_t speed)
191 return (hdsp_slot_count(hdsp_port_slot_map(ports, speed)));
279 * does not change with double or quad speed sample rates.
388 slots = hdsp_port_slot_map(ch->ports, sc->speed);
606 slots = hdsp_port_slot_map(ch->ports, sc->speed);
647 slots = hdsp_port_slot_map(ch->ports, sc->speed);
731 /* HDSP 9652 does not support quad speed sample rates. */
844 hdspchan_setspeed(kobj_t obj, void *data, uint32_t speed)
859 device_printf(scp->dev, "hdspchan_setspeed(%d)\n", speed);
866 if (sc->type == HDSP_9652 && speed > 96000)
867 speed = 96000;
870 speed = sc->force_speed;
873 for (i = 0; rate_map[i].speed != 0; i++) {
874 if (rate_map[i].speed == speed)
880 for (i = 0; rate_map[i].speed != 0; i++) {
882 threshold = hr->speed + ((rate_map[i + 1].speed != 0) ?
883 ((rate_map[i + 1].speed - hr->speed) >> 1) : 0);
884 if (speed < threshold)
896 hdsp_write_4(sc, HDSP_FREQ_REG, hdsp_freq_reg_value(hr->speed));
899 sc->speed = hr->speed;
902 return (sc->speed);
971 hdsp_write_4(sc, HDSP_FREQ_REG, hdsp_freq_reg_value(sc->speed));
982 /* Capabilities fallback, no quad speed for HDSP 9652 compatibility. */