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