Changeset 903eff5 in mainline for uspace/drv/audio/hdaudio/stream.c
- Timestamp:
- 2014-08-25T11:05:05Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 31ccd42a
- Parents:
- a10f3f3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/audio/hdaudio/stream.c
ra10f3f3 r903eff5 34 34 35 35 #include <as.h> 36 #include <bitops.h> 37 #include <byteorder.h> 36 38 #include <ddf/log.h> 37 39 #include <ddi.h> 38 40 #include <errno.h> 41 #include <macros.h> 39 42 #include <stdlib.h> 40 43 … … 90 93 goto error; 91 94 95 ddf_msg(LVL_NOTE, "Stream buf phys=0x%llx virt=%p", 96 (unsigned long long)buffer_phys, buffer); 97 92 98 stream->buf[i] = buffer; 93 99 stream->buf_phys[i] = buffer_phys; … … 105 111 /* Fill in BDL */ 106 112 for (i = 0; i < stream->nbuffers; i++) { 107 stream->bdl[i].address = stream->buf_phys[i];108 stream->bdl[i].length = stream->bufsize;109 stream->bdl[i].flags = 0 ;113 stream->bdl[i].address = host2uint64_t_le(stream->buf_phys[i]); 114 stream->bdl[i].length = host2uint32_t_le(stream->bufsize); 115 stream->bdl[i].flags = 0/*BIT_V(uint32_t, bdf_ioc)*/; 110 116 } 111 117 … … 118 124 { 119 125 hda_sdesc_regs_t *sdregs; 126 uint8_t ctl1; 127 uint8_t ctl3; 128 129 ctl3 = (stream->sid << 4); 130 ctl1 = 0x4; 120 131 121 132 sdregs = &stream->hda->regs->sdesc[stream->sdid]; 133 hda_reg8_write(&sdregs->ctl3, ctl3); 134 hda_reg8_write(&sdregs->ctl1, ctl1); 122 135 hda_reg32_write(&sdregs->cbl, stream->nbuffers * stream->bufsize); 123 136 hda_reg16_write(&sdregs->lvi, stream->nbuffers - 1); 124 137 hda_reg16_write(&sdregs->fmt, stream->fmt); 138 hda_reg32_write(&sdregs->bdpl, LOWER32(stream->bdl_phys)); 139 hda_reg32_write(&sdregs->bdpu, UPPER32(stream->bdl_phys)); 125 140 } 126 141
Note:
See TracChangeset
for help on using the changeset viewer.