Lines Matching refs:card

20 status_t ice1712Settings_apply(ice1712 *card);
22 static void ice1712Buffer_Start(ice1712 *card);
23 static uint32 ice1712UI_GetCombo(ice1712 *card, uint32 index);
24 static void ice1712UI_SetCombo(ice1712 *card, uint32 index, uint32 value);
25 static uint32 ice1712UI_GetOutput(ice1712 *card, uint32 index);
26 static void ice1712UI_SetOutput(ice1712 *card, uint32 index, uint32 value);
27 static void ice1712UI_GetVolume(ice1712 *card, multi_mix_value *mmv);
28 static void ice1712UI_SetVolume(ice1712 *card, multi_mix_value *mmv);
29 static void ice1712UI_CreateOutput(ice1712 *card, multi_mix_control **p_mmc,
49 ice1712Buffer_Start(ice1712 *card)
51 uint16 size = card->buffer_size * MAX_DAC;
53 write_mt_uint8(card, MT_PROF_PB_CONTROL, 0);
55 write_mt_uint32(card, MT_PROF_PB_DMA_BASE_ADDRESS,
56 (uint32)(card->phys_pb.address));
57 write_mt_uint16(card, MT_PROF_PB_DMA_COUNT_ADDRESS,
60 write_mt_uint16(card, MT_PROF_PB_DMA_TERM_COUNT, size - 1);
63 size = card->buffer_size * MAX_ADC;
65 write_mt_uint32(card, MT_PROF_REC_DMA_BASE_ADDRESS,
66 (uint32)(card->phys_rec.address));
67 write_mt_uint16(card, MT_PROF_REC_DMA_COUNT_ADDRESS,
70 write_mt_uint16(card, MT_PROF_REC_DMA_TERM_COUNT, 0);
74 switch (card->config.product) {
75 //TODO: find correct value for all card
83 codec_write(card, AK45xx_CLOCK_FORMAT_REGISTER, 0x69);
84 codec_write(card, AK45xx_RESET_REGISTER, 0x03);
93 switch (card->config.product) {
94 //TODO: find correct value for all card
105 spdif_write(card, CS84xx_SERIAL_INPUT_FORMAT_REG, 0x85);
106 spdif_write(card, CS84xx_SERIAL_OUTPUT_FORMAT_REG, 0x85);
107 // spdif_write(card, CS84xx_SERIAL_OUTPUT_FORMAT_REG, 0x41);
127 card->buffer = 1;
128 write_mt_uint8(card, MT_PROF_PB_CONTROL, 5);
133 ice1712Buffer_Exchange(ice1712 *card, multi_buffer_info *data)
146 if (acquire_sem_etc(card->buffer_ready_sem, 1, B_RELATIVE_TIMEOUT
152 buffer_info.played_real_time = card->played_time;
153 buffer_info.played_frames_count = card->frames_count;
154 buffer_info.playback_buffer_cycle = (card->buffer - 1)
158 buffer_info.recorded_real_time = card->played_time;
159 buffer_info.recorded_frames_count = card->frames_count;
160 buffer_info.record_buffer_cycle = (card->buffer - 1)
175 ice1712Buffer_Stop(ice1712 *card)
177 write_mt_uint8(card, MT_PROF_PB_CONTROL, 0);
179 card->played_time = 0;
180 card->frames_count = 0;
181 card->buffer = 0;
190 ice1712Get_Description(ice1712 *card, multi_description *data)
197 switch (card->config.product) {
230 data->output_channel_count = card->total_output_channels;
231 data->input_channel_count = card->total_input_channels;
244 for (i = 0; i < card->config.nb_DAC; i++) {
254 if (card->config.spdif & SPDIF_OUT_PRESENT) {
270 for (i = 0; i < card->config.nb_ADC; i++) {
280 if (card->config.spdif & SPDIF_IN_PRESENT) {
338 ice1712Get_Channel(ice1712 *card, multi_channel_enable *data)
343 total_channel = card->total_output_channels + card->total_input_channels;
347 reg = read_mt_uint8(card, MT_SAMPLING_RATE_SELECT);
359 ice1712Set_Channel(ice1712 *card, multi_channel_enable *data)
364 total_channel = card->total_output_channels + card->total_input_channels;
373 write_mt_uint8(card, MT_SAMPLING_RATE_SELECT, 0x10);
375 write_mt_uint8(card, MT_SAMPLING_RATE_SELECT,
376 card->config.samplingRate);
378 card->config.lockSource = data->lock_source;
385 ice1712Get_Format(ice1712 *card, multi_format_info *data)
387 uint8 sr = read_mt_uint8(card, MT_SAMPLING_RATE_SELECT);
419 ice1712Set_Format(ice1712 *card, multi_format_info *data)
433 if (card->config.lockSource == B_MULTI_LOCK_INTERNAL) {
436 card->config.samplingRate = 0x07;
439 card->config.samplingRate = 0x0B;
442 card->config.samplingRate = 0x00;
445 card->config.samplingRate = 0x08;
448 write_mt_uint8(card, MT_SAMPLING_RATE_SELECT,
449 card->config.samplingRate);
451 ITRACE("New rate = %#x\n", read_mt_uint8(card, MT_SAMPLING_RATE_SELECT));
656 ice1712UI_CreateOutput(ice1712 *card, multi_mix_control **p_mmc,
685 for (i = 0; i < card->config.nb_DAC; i += 2) {
697 if (card->config.spdif & SPDIF_IN_PRESENT) {
725 ice1712UI_GetCombo(ice1712 *card, uint32 index)
731 value = card->settings.clock;
735 value = card->settings.outFormat;
739 value = card->settings.emphasis;
743 value = card->settings.copyMode;
755 ice1712UI_SetCombo(ice1712 *card, uint32 index, uint32 value)
762 card->settings.clock = value;
767 card->settings.outFormat = value;
772 card->settings.emphasis = value;
777 card->settings.copyMode = value;
784 ice1712UI_GetOutput(ice1712 *card, uint32 index)
789 value = card->settings.output[index];
798 ice1712UI_SetOutput(ice1712 *card, uint32 index, uint32 value)
801 card->settings.output[index] = value;
808 ice1712UI_GetVolume(ice1712 *card, multi_mix_value *mmv)
816 vol = card->settings.playback;
818 vol = card->settings.record;
843 ice1712UI_SetVolume(ice1712 *card, multi_mix_value *mmv)
851 vol = card->settings.playback;
853 vol = card->settings.record;
881 ice1712Get_MixValue(ice1712 *card, multi_mix_value_info *data)
890 mmv->mux = ice1712UI_GetCombo(card,
895 ice1712UI_GetVolume(card, mmv);
899 mmv->mux = ice1712UI_GetOutput(card,
914 ice1712Set_MixValue(ice1712 *card, multi_mix_value_info *data)
923 ice1712UI_SetCombo(card,
928 ice1712UI_SetVolume(card, mmv);
932 ice1712UI_SetOutput(card,
942 return ice1712Settings_apply(card);
950 ice1712Get_MixValueChannel(ice1712 *card, multi_mix_channel_info *data)
957 ice1712Get_MixValueControls(ice1712 *card, multi_mix_control_info *mmci)
994 for (i = 0; i < card->config.nb_DAC; i += 2) {
995 ice1712UI_CreateOutput(card, &mmc, i / 2, parentTabColumn);
998 if (card->config.spdif & SPDIF_OUT_PRESENT) {
999 ice1712UI_CreateOutput(card, &mmc, 4, parentTabColumn);
1007 for (i = 0; i < card->config.nb_DAC; i += 2) {
1013 if (card->config.spdif & SPDIF_OUT_PRESENT) {
1022 for (i = 0; i < card->config.nb_ADC; i += 2) {
1028 if (card->config.spdif & SPDIF_IN_PRESENT) {
1047 ice1712Get_MixValueConnections(ice1712 *card,
1056 ice1712Buffer_Get(ice1712 *card, multi_buffer_list *data)
1060 const uint32 buf_o = stride_o * card->buffer_size;
1061 const uint32 buf_i = stride_i * card->buffer_size;
1079 if (data->request_playback_channels == card->total_output_channels) {
1080 for (chan_o = 0; chan_o < card->config.nb_DAC; chan_o++) {
1083 (char*)(card->log_addr_pb + buf_o * buff
1090 if (card->config.spdif & SPDIF_OUT_PRESENT) {
1093 (char*)(card->log_addr_pb + buf_o * buff
1101 (char*)(card->log_addr_pb + buf_o * buff
1111 card->total_input_channels) {
1112 for (chan_i = 0; chan_i < card->config.nb_ADC; chan_i++) {
1115 (char*)(card->log_addr_rec + buf_i * buff
1122 if (card->config.spdif & SPDIF_IN_PRESENT) {
1125 (char*)(card->log_addr_rec + buf_i * buff
1133 (char*)(card->log_addr_rec + buf_i * buff
1143 (char*)(card->log_addr_rec + buf_i * buff
1151 (char*)(card->log_addr_rec + buf_i * buff
1161 data->return_playback_channels = card->total_output_channels;
1162 data->return_playback_buffer_size = card->buffer_size;
1172 data->return_record_channels = card->total_input_channels;
1174 data->return_record_buffer_size = card->buffer_size;
1183 ice1712Buffer_Start(card);