• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/pci/lx6464es/

Lines Matching refs:rmh

192 /* rmh */
270 static void lx_message_init(struct lx_rmh *rmh, enum cmd_mb_opcodes cmd)
274 rmh->cmd[0] = dsp_commands[cmd].dcCodeOp;
275 rmh->cmd_len = dsp_commands[cmd].dcCmdLength;
276 rmh->stat_len = dsp_commands[cmd].dcStatusLength;
277 rmh->dsp_stat = dsp_commands[cmd].dcStatusType;
278 rmh->cmd_idx = cmd;
279 memset(&rmh->cmd[1], 0, (REG_CRM_NUMBER - 1) * sizeof(u32));
282 memset(rmh->stat, 0, REG_CRM_NUMBER * sizeof(u32));
285 rmh->cmd_idx = cmd;
290 #define LXRMH "lx6464es rmh: "
291 static void lx_message_dump(struct lx_rmh *rmh)
293 u8 idx = rmh->cmd_idx;
298 for (i = 0; i != rmh->cmd_len; ++i)
299 snd_printk(LXRMH "\tcmd[%d] %08x\n", i, rmh->cmd[i]);
301 for (i = 0; i != rmh->stat_len; ++i)
302 snd_printk(LXRMH "\tstat[%d]: %08x\n", i, rmh->stat[i]);
306 static inline void lx_message_dump(struct lx_rmh *rmh)
318 static int lx_message_send_atomic(struct lx6464es *chip, struct lx_rmh *rmh)
329 lx_dsp_reg_writebuf(chip, eReg_CRM1, rmh->cmd, rmh->cmd_len);
337 if (rmh->dsp_stat == 0)
351 if (rmh->stat_len) {
352 snd_BUG_ON(rmh->stat_len >= (REG_CRM_NUMBER-1));
353 lx_dsp_reg_readbuf(chip, eReg_CRM2, rmh->stat,
354 rmh->stat_len);
357 snd_printk(LXP "rmh error: %08x\n", reg);
372 lx_message_dump(rmh);
386 lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
387 ret = lx_message_send_atomic(chip, &chip->rmh);
389 *rdsp_version = chip->rmh.stat[1];
404 lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG);
405 ret = lx_message_send_atomic(chip, &chip->rmh);
408 freq_raw = chip->rmh.stat[0] >> FREQ_FIELD_OFFSET;
453 lx_message_init(&chip->rmh, CMD_02_SET_GRANULARITY);
454 chip->rmh.cmd[0] |= gran;
456 ret = lx_message_send_atomic(chip, &chip->rmh);
468 lx_message_init(&chip->rmh, CMD_04_GET_EVENT);
469 chip->rmh.stat_len = 9; /* we don't necessarily need the full length */
471 ret = lx_message_send_atomic(chip, &chip->rmh);
474 memcpy(data, chip->rmh.stat, chip->rmh.stat_len * sizeof(u32));
527 lx_message_init(&chip->rmh, CMD_06_ALLOCATE_PIPE);
529 chip->rmh.cmd[0] |= pipe_cmd;
530 chip->rmh.cmd[0] |= channels;
532 err = lx_message_send_atomic(chip, &chip->rmh);
549 lx_message_init(&chip->rmh, CMD_07_RELEASE_PIPE);
551 chip->rmh.cmd[0] |= pipe_cmd;
553 err = lx_message_send_atomic(chip, &chip->rmh);
576 lx_message_init(&chip->rmh, CMD_08_ASK_BUFFERS);
578 chip->rmh.cmd[0] |= pipe_cmd;
580 err = lx_message_send_atomic(chip, &chip->rmh);
585 u32 stat = chip->rmh.stat[i];
612 lx_message_init(&chip->rmh, CMD_09_STOP_PIPE);
614 chip->rmh.cmd[0] |= pipe_cmd;
616 err = lx_message_send_atomic(chip, &chip->rmh);
630 lx_message_init(&chip->rmh, CMD_0B_TOGGLE_PIPE_STATE);
632 chip->rmh.cmd[0] |= pipe_cmd;
634 err = lx_message_send_atomic(chip, &chip->rmh);
677 lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
679 chip->rmh.cmd[0] |= pipe_cmd;
680 chip->rmh.stat_len = 2; /* need all words here! */
682 err = lx_message_send_atomic(chip, &chip->rmh); /* don't sleep! */
688 *rsample_count = ((u64)(chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
690 + chip->rmh.stat[1]; /* lo part */
705 lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT);
707 chip->rmh.cmd[0] |= pipe_cmd;
709 err = lx_message_send_atomic(chip, &chip->rmh);
714 *rstate = (chip->rmh.stat[0] >> PSTATE_OFFSET) & 0x0F;
763 lx_message_init(&chip->rmh, CMD_13_SET_STREAM_STATE);
765 chip->rmh.cmd[0] |= pipe_cmd;
766 chip->rmh.cmd[0] |= state;
768 err = lx_message_send_atomic(chip, &chip->rmh);
789 lx_message_init(&chip->rmh, CMD_0C_DEF_STREAM);
791 chip->rmh.cmd[0] |= pipe_cmd;
795 chip->rmh.cmd[0] |= (STREAM_FMT_16b << STREAM_FMT_OFFSET);
799 chip->rmh.cmd[0] |= (STREAM_FMT_intel << STREAM_FMT_OFFSET);
801 chip->rmh.cmd[0] |= channels-1;
803 err = lx_message_send_atomic(chip, &chip->rmh);
818 lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
820 chip->rmh.cmd[0] |= pipe_cmd;
822 err = lx_message_send_atomic(chip, &chip->rmh);
824 *rstate = (chip->rmh.stat[0] & SF_START) ? START_STATE : PAUSE_STATE;
839 lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT);
841 chip->rmh.cmd[0] |= pipe_cmd;
843 err = lx_message_send_atomic(chip, &chip->rmh);
845 *r_bytepos = ((u64) (chip->rmh.stat[0] & MASK_SPL_COUNT_HI)
847 + chip->rmh.stat[1]; /* lo part */
864 lx_message_init(&chip->rmh, CMD_0F_UPDATE_BUFFER);
866 chip->rmh.cmd[0] |= pipe_cmd;
867 chip->rmh.cmd[0] |= BF_NOTIFY_EOB; /* request interrupt notification */
871 chip->rmh.cmd[1] = buffer_size & MASK_DATA_SIZE;
872 chip->rmh.cmd[2] = buf_address_lo;
875 chip->rmh.cmd_len = 4;
876 chip->rmh.cmd[3] = buf_address_hi;
877 chip->rmh.cmd[0] |= BF_64BITS_ADR;
880 err = lx_message_send_atomic(chip, &chip->rmh);
883 *r_buffer_index = chip->rmh.stat[0];
910 lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
912 chip->rmh.cmd[0] |= pipe_cmd;
913 chip->rmh.cmd[0] |= MASK_BUFFER_ID; /* ask for the current buffer: the
916 err = lx_message_send_atomic(chip, &chip->rmh);
919 *r_buffer_size = chip->rmh.stat[0] & MASK_DATA_SIZE;
934 lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER);
936 chip->rmh.cmd[0] |= pipe_cmd;
937 chip->rmh.cmd[0] |= buffer_index;
939 err = lx_message_send_atomic(chip, &chip->rmh);
960 lx_message_init(&chip->rmh, CMD_0D_SET_MUTE);
962 chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, 0);
964 chip->rmh.cmd[1] = (u32)(mute_mask >> (u64)32); /* hi part */
965 chip->rmh.cmd[2] = (u32)(mute_mask & (u64)0xFFFFFFFF); /* lo part */
967 snd_printk("mute %x %x %x\n", chip->rmh.cmd[0], chip->rmh.cmd[1],
968 chip->rmh.cmd[2]);
970 err = lx_message_send_atomic(chip, &chip->rmh);
1006 lx_message_init(&chip->rmh, CMD_12_GET_PEAK);
1007 chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, i);
1009 err = lx_message_send_atomic(chip, &chip->rmh);
1012 s0 = peak_map[chip->rmh.stat[0] & 0x0F];
1013 s1 = peak_map[(chip->rmh.stat[0] >> 4) & 0xf];
1014 s2 = peak_map[(chip->rmh.stat[0] >> 8) & 0xf];
1015 s3 = peak_map[(chip->rmh.stat[0] >> 12) & 0xf];