Lines Matching refs:d

190 #define SERDMA_NEXTBUF(d,f) (((d)->f+1) % (d)->ringsz)  argument
738 serdma_t *d = &s->dma_dac; in serdma_reg_access() local
759 if (d->hwptr != d->swptr) { in serdma_reg_access()
761 d->hwptr, d->swptr); in serdma_reg_access()
765 swptr = d->swptr; in serdma_reg_access()
766 d->hwptr = d->swptr = (d->swptr + 1) % d->ringsz; in serdma_reg_access()
769 descr = &d->descrtab[swptr]; in serdma_reg_access()
770 data_p = &d->dma_buf[swptr * 4]; in serdma_reg_access()
775 data_p, swptr, d->hwptr)); in serdma_reg_access()
941 serdma_t *d; in cs4297a_update_ptr() local
948 d = &s->dma_adc; in cs4297a_update_ptr()
950 d->descrtab_phys) / sizeof(serdma_descr_t)); in cs4297a_update_ptr()
955 d->swptr, d->hwptr, hwptr, intflag)); in cs4297a_update_ptr()
957 diff2 = diff = (d->ringsz + hwptr - d->hwptr) % d->ringsz; in cs4297a_update_ptr()
958 d->hwptr = hwptr; in cs4297a_update_ptr()
960 s_ptr = (u32 *)&(d->dma_buf[d->swptr*4]); in cs4297a_update_ptr()
961 descr = &d->descrtab[d->swptr]; in cs4297a_update_ptr()
982 wake_up(&d->reg_wait); in cs4297a_update_ptr()
984 if (d->count && (d->sb_hwptr == d->sb_swptr)) { in cs4297a_update_ptr()
993 *d->sb_hwptr++ = cpu_to_be16(left); in cs4297a_update_ptr()
994 *d->sb_hwptr++ = cpu_to_be16(right); in cs4297a_update_ptr()
995 if (d->sb_hwptr == d->sb_end) in cs4297a_update_ptr()
996 d->sb_hwptr = d->sample_buf; in cs4297a_update_ptr()
998 if (descr == d->descrtab_end) { in cs4297a_update_ptr()
999 descr = d->descrtab; in cs4297a_update_ptr()
1005 d->total_bytes += good_diff * FRAME_SAMPLE_BYTES; in cs4297a_update_ptr()
1006 d->count += good_diff * FRAME_SAMPLE_BYTES; in cs4297a_update_ptr()
1007 if (d->count > d->sbufsz) { in cs4297a_update_ptr()
1010 d->swptr = (d->swptr + diff) % d->ringsz; in cs4297a_update_ptr()
1012 if (d->mapped) { in cs4297a_update_ptr()
1013 if (d->count >= (signed) d->fragsize) in cs4297a_update_ptr()
1014 wake_up(&d->wait); in cs4297a_update_ptr()
1016 if (d->count > 0) { in cs4297a_update_ptr()
1019 … "cs4297a: update count -> %d\n", d->count)); in cs4297a_update_ptr()
1020 wake_up(&d->wait); in cs4297a_update_ptr()
1027 diff2 = diff = (hwptr + d->ringsz - d->hwptr) % d->ringsz; in cs4297a_update_ptr()
1032 descr = &d->descrtab[d->swptr]; in cs4297a_update_ptr()
1033 data_p = &d->dma_buf[d->swptr*4]; in cs4297a_update_ptr()
1041 … printk(KERN_ERR "cs4297a: RX Bad address %d (%llx %lx)\n", d->swptr, in cs4297a_update_ptr()
1055 wake_up(&d->reg_wait); in cs4297a_update_ptr()
1060 d->swptr++; in cs4297a_update_ptr()
1062 if (descr == d->descrtab_end) { in cs4297a_update_ptr()
1063 descr = d->descrtab; in cs4297a_update_ptr()
1064 d->swptr = 0; in cs4297a_update_ptr()
1065 data_p = d->dma_buf; in cs4297a_update_ptr()
1069 d->hwptr = hwptr; in cs4297a_update_ptr()
1072 printk(KERN_INFO "cs4297a: hw/sw %x/%x\n", d->hwptr, d->swptr)); in cs4297a_update_ptr()
1077 (unsigned)s, d->hwptr, in cs4297a_update_ptr()
1078 d->total_bytes, d->count)); in cs4297a_update_ptr()
1091 serdma_t *d = &s->dma_dac; in cs4297a_update_ptr() local
1093 d->descrtab_phys) / sizeof(serdma_descr_t)); in cs4297a_update_ptr()
1094 diff = (d->ringsz + hwptr - d->hwptr) % d->ringsz; in cs4297a_update_ptr()
1097 d->hwptr, hwptr, d->swptr, diff, d->count)); in cs4297a_update_ptr()
1098 d->hwptr = hwptr; in cs4297a_update_ptr()
1100 d->total_bytes += diff * FRAME_SAMPLE_BYTES; in cs4297a_update_ptr()
1101 if (d->mapped) { in cs4297a_update_ptr()
1102 d->count += diff * FRAME_SAMPLE_BYTES; in cs4297a_update_ptr()
1103 if (d->count >= d->fragsize) { in cs4297a_update_ptr()
1104 d->wakeup = 1; in cs4297a_update_ptr()
1105 wake_up(&d->wait); in cs4297a_update_ptr()
1106 if (d->count > d->sbufsz) in cs4297a_update_ptr()
1107 d->count &= d->sbufsz - 1; in cs4297a_update_ptr()
1110 d->count -= diff * FRAME_SAMPLE_BYTES; in cs4297a_update_ptr()
1111 if (d->count <= 0) { in cs4297a_update_ptr()
1120 (unsigned)d->dma_buf, in cs4297a_update_ptr()
1121 d->ringsz)); in cs4297a_update_ptr()
1122 memset(d->dma_buf, 0, d->ringsz * FRAME_BYTES); in cs4297a_update_ptr()
1123 if (d->count < 0) { in cs4297a_update_ptr()
1124 d->underrun = 1; in cs4297a_update_ptr()
1126 d->count = 0; in cs4297a_update_ptr()
1130 } else if (d->count <= in cs4297a_update_ptr()
1131 (signed) d->fragsize in cs4297a_update_ptr()
1132 && !d->endcleared) { in cs4297a_update_ptr()
1134 clear_advance(d->dma_buf, in cs4297a_update_ptr()
1135 d->sbufsz, in cs4297a_update_ptr()
1136 d->swptr, in cs4297a_update_ptr()
1137 d->fragsize, in cs4297a_update_ptr()
1139 d->endcleared = 1; in cs4297a_update_ptr()
1141 if ( (d->count <= (signed) d->sbufsz/2) || intflag) in cs4297a_update_ptr()
1145 "cs4297a: update count -> %d\n", d->count)); in cs4297a_update_ptr()
1146 wake_up(&d->wait); in cs4297a_update_ptr()
1151 (unsigned) s, d->hwptr, in cs4297a_update_ptr()
1152 d->total_bytes, d->count)); in cs4297a_update_ptr()
1810 serdma_t *d = &s->dma_dac; in cs4297a_write() local
1819 if (d->count < 0) { in cs4297a_write()
1820 d->count = 0; in cs4297a_write()
1821 d->swptr = d->hwptr; in cs4297a_write()
1823 if (d->underrun) { in cs4297a_write()
1824 d->underrun = 0; in cs4297a_write()
1826 d->descrtab_phys) / sizeof(serdma_descr_t)); in cs4297a_write()
1827 d->swptr = d->hwptr = hwptr; in cs4297a_write()
1829 swptr = d->swptr; in cs4297a_write()
1830 cnt = d->sbufsz - (swptr * FRAME_SAMPLE_BYTES); in cs4297a_write()
1832 if (d->count + cnt > d->sbufsz) in cs4297a_write()
1833 cnt = d->sbufsz - d->count; in cs4297a_write()
1841 oss_broken_sleep_on(&d->wait, MAX_SCHEDULE_TIMEOUT); in cs4297a_write()
1846 if (copy_from_user(d->sample_buf, buffer, cnt)) in cs4297a_write()
1850 s_tmpl = (u32 *)d->sample_buf; in cs4297a_write()
1851 t_tmpl = (u32 *)(d->dma_buf + (swptr * 4)); in cs4297a_write()
1877 *(u64 *)(d->dma_buf + (swptr * 4)) |= in cs4297a_write()
1887 swptr = (swptr + (cnt/FRAME_SAMPLE_BYTES)) % d->ringsz; in cs4297a_write()
1890 d->swptr = swptr; in cs4297a_write()
1891 d->count += cnt; in cs4297a_write()
1892 d->endcleared = 0; in cs4297a_write()