Lines Matching refs:chip

55 static void __iomem *lx_dsp_register(struct lx6464es *chip, int port)  in lx_dsp_register()  argument
57 void __iomem *base_address = chip->port_dsp_bar; in lx_dsp_register()
61 unsigned long lx_dsp_reg_read(struct lx6464es *chip, int port) in lx_dsp_reg_read() argument
63 void __iomem *address = lx_dsp_register(chip, port); in lx_dsp_reg_read()
67 static void lx_dsp_reg_readbuf(struct lx6464es *chip, int port, u32 *data, in lx_dsp_reg_readbuf() argument
70 u32 __iomem *address = lx_dsp_register(chip, port); in lx_dsp_reg_readbuf()
79 void lx_dsp_reg_write(struct lx6464es *chip, int port, unsigned data) in lx_dsp_reg_write() argument
81 void __iomem *address = lx_dsp_register(chip, port); in lx_dsp_reg_write()
85 static void lx_dsp_reg_writebuf(struct lx6464es *chip, int port, in lx_dsp_reg_writebuf() argument
88 u32 __iomem *address = lx_dsp_register(chip, port); in lx_dsp_reg_writebuf()
112 static void __iomem *lx_plx_register(struct lx6464es *chip, int port) in lx_plx_register() argument
114 void __iomem *base_address = chip->port_plx_remapped; in lx_plx_register()
118 unsigned long lx_plx_reg_read(struct lx6464es *chip, int port) in lx_plx_reg_read() argument
120 void __iomem *address = lx_plx_register(chip, port); in lx_plx_reg_read()
124 void lx_plx_reg_write(struct lx6464es *chip, int port, u32 data) in lx_plx_reg_write() argument
126 void __iomem *address = lx_plx_register(chip, port); in lx_plx_reg_write()
256 static int lx_message_send_atomic(struct lx6464es *chip, struct lx_rmh *rmh) in lx_message_send_atomic() argument
261 if (lx_dsp_reg_read(chip, eReg_CSM) & (Reg_CSM_MC | Reg_CSM_MR)) { in lx_message_send_atomic()
262 dev_err(chip->card->dev, "PIOSendMessage eReg_CSM %x\n", reg); in lx_message_send_atomic()
267 lx_dsp_reg_writebuf(chip, eReg_CRM1, rmh->cmd, rmh->cmd_len); in lx_message_send_atomic()
270 lx_dsp_reg_write(chip, eReg_CSM, Reg_CSM_MC); in lx_message_send_atomic()
274 if (lx_dsp_reg_read(chip, eReg_CSM) & Reg_CSM_MR) { in lx_message_send_atomic()
276 reg = lx_dsp_reg_read(chip, eReg_CRM1); in lx_message_send_atomic()
283 dev_warn(chip->card->dev, "TIMEOUT lx_message_send_atomic! " in lx_message_send_atomic()
291 lx_dsp_reg_readbuf(chip, eReg_CRM2, rmh->stat, in lx_message_send_atomic()
295 dev_err(chip->card->dev, "rmh error: %08x\n", reg); in lx_message_send_atomic()
298 lx_dsp_reg_write(chip, eReg_CSM, 0); in lx_message_send_atomic()
302 dev_warn(chip->card->dev, "lx_message_send: dsp timeout\n"); in lx_message_send_atomic()
306 dev_warn(chip->card->dev, "lx_message_send: dsp crashed\n"); in lx_message_send_atomic()
317 int lx_dsp_get_version(struct lx6464es *chip, u32 *rdsp_version) in lx_dsp_get_version() argument
321 mutex_lock(&chip->msg_lock); in lx_dsp_get_version()
323 lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG); in lx_dsp_get_version()
324 ret = lx_message_send_atomic(chip, &chip->rmh); in lx_dsp_get_version()
326 *rdsp_version = chip->rmh.stat[1]; in lx_dsp_get_version()
327 mutex_unlock(&chip->msg_lock); in lx_dsp_get_version()
331 int lx_dsp_get_clock_frequency(struct lx6464es *chip, u32 *rfreq) in lx_dsp_get_clock_frequency() argument
338 mutex_lock(&chip->msg_lock); in lx_dsp_get_clock_frequency()
340 lx_message_init(&chip->rmh, CMD_01_GET_SYS_CFG); in lx_dsp_get_clock_frequency()
341 ret = lx_message_send_atomic(chip, &chip->rmh); in lx_dsp_get_clock_frequency()
344 freq_raw = chip->rmh.stat[0] >> FREQ_FIELD_OFFSET; in lx_dsp_get_clock_frequency()
356 mutex_unlock(&chip->msg_lock); in lx_dsp_get_clock_frequency()
358 *rfreq = frequency * chip->freq_ratio; in lx_dsp_get_clock_frequency()
363 int lx_dsp_get_mac(struct lx6464es *chip) in lx_dsp_get_mac() argument
367 macmsb = lx_dsp_reg_read(chip, eReg_ADMACESMSB) & 0x00FFFFFF; in lx_dsp_get_mac()
368 maclsb = lx_dsp_reg_read(chip, eReg_ADMACESLSB) & 0x00FFFFFF; in lx_dsp_get_mac()
371 chip->mac_address[5] = ((u8 *)(&maclsb))[0]; in lx_dsp_get_mac()
372 chip->mac_address[4] = ((u8 *)(&maclsb))[1]; in lx_dsp_get_mac()
373 chip->mac_address[3] = ((u8 *)(&maclsb))[2]; in lx_dsp_get_mac()
374 chip->mac_address[2] = ((u8 *)(&macmsb))[0]; in lx_dsp_get_mac()
375 chip->mac_address[1] = ((u8 *)(&macmsb))[1]; in lx_dsp_get_mac()
376 chip->mac_address[0] = ((u8 *)(&macmsb))[2]; in lx_dsp_get_mac()
382 int lx_dsp_set_granularity(struct lx6464es *chip, u32 gran) in lx_dsp_set_granularity() argument
386 mutex_lock(&chip->msg_lock); in lx_dsp_set_granularity()
388 lx_message_init(&chip->rmh, CMD_02_SET_GRANULARITY); in lx_dsp_set_granularity()
389 chip->rmh.cmd[0] |= gran; in lx_dsp_set_granularity()
391 ret = lx_message_send_atomic(chip, &chip->rmh); in lx_dsp_set_granularity()
392 mutex_unlock(&chip->msg_lock); in lx_dsp_set_granularity()
396 int lx_dsp_read_async_events(struct lx6464es *chip, u32 *data) in lx_dsp_read_async_events() argument
400 mutex_lock(&chip->msg_lock); in lx_dsp_read_async_events()
402 lx_message_init(&chip->rmh, CMD_04_GET_EVENT); in lx_dsp_read_async_events()
403 chip->rmh.stat_len = 9; /* we don't necessarily need the full length */ in lx_dsp_read_async_events()
405 ret = lx_message_send_atomic(chip, &chip->rmh); in lx_dsp_read_async_events()
408 memcpy(data, chip->rmh.stat, chip->rmh.stat_len * sizeof(u32)); in lx_dsp_read_async_events()
410 mutex_unlock(&chip->msg_lock); in lx_dsp_read_async_events()
420 int lx_pipe_allocate(struct lx6464es *chip, u32 pipe, int is_capture, in lx_pipe_allocate() argument
426 mutex_lock(&chip->msg_lock); in lx_pipe_allocate()
427 lx_message_init(&chip->rmh, CMD_06_ALLOCATE_PIPE); in lx_pipe_allocate()
429 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_allocate()
430 chip->rmh.cmd[0] |= channels; in lx_pipe_allocate()
432 err = lx_message_send_atomic(chip, &chip->rmh); in lx_pipe_allocate()
433 mutex_unlock(&chip->msg_lock); in lx_pipe_allocate()
436 dev_err(chip->card->dev, "could not allocate pipe\n"); in lx_pipe_allocate()
441 int lx_pipe_release(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_release() argument
446 mutex_lock(&chip->msg_lock); in lx_pipe_release()
447 lx_message_init(&chip->rmh, CMD_07_RELEASE_PIPE); in lx_pipe_release()
449 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_release()
451 err = lx_message_send_atomic(chip, &chip->rmh); in lx_pipe_release()
452 mutex_unlock(&chip->msg_lock); in lx_pipe_release()
457 int lx_buffer_ask(struct lx6464es *chip, u32 pipe, int is_capture, in lx_buffer_ask() argument
471 mutex_lock(&chip->msg_lock); in lx_buffer_ask()
472 lx_message_init(&chip->rmh, CMD_08_ASK_BUFFERS); in lx_buffer_ask()
474 chip->rmh.cmd[0] |= pipe_cmd; in lx_buffer_ask()
476 err = lx_message_send_atomic(chip, &chip->rmh); in lx_buffer_ask()
481 u32 stat = chip->rmh.stat[i]; in lx_buffer_ask()
493 dev_dbg(chip->card->dev, in lx_buffer_ask()
497 for (i = 0; i != chip->rmh.stat_len; ++i) in lx_buffer_ask()
498 dev_dbg(chip->card->dev, in lx_buffer_ask()
500 chip->rmh.stat[i], in lx_buffer_ask()
501 chip->rmh.stat[i] & MASK_DATA_SIZE); in lx_buffer_ask()
505 mutex_unlock(&chip->msg_lock); in lx_buffer_ask()
510 int lx_pipe_stop(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_stop() argument
515 mutex_lock(&chip->msg_lock); in lx_pipe_stop()
516 lx_message_init(&chip->rmh, CMD_09_STOP_PIPE); in lx_pipe_stop()
518 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_stop()
520 err = lx_message_send_atomic(chip, &chip->rmh); in lx_pipe_stop()
522 mutex_unlock(&chip->msg_lock); in lx_pipe_stop()
526 static int lx_pipe_toggle_state(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_toggle_state() argument
531 mutex_lock(&chip->msg_lock); in lx_pipe_toggle_state()
532 lx_message_init(&chip->rmh, CMD_0B_TOGGLE_PIPE_STATE); in lx_pipe_toggle_state()
534 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_toggle_state()
536 err = lx_message_send_atomic(chip, &chip->rmh); in lx_pipe_toggle_state()
538 mutex_unlock(&chip->msg_lock); in lx_pipe_toggle_state()
543 int lx_pipe_start(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_start() argument
547 err = lx_pipe_wait_for_idle(chip, pipe, is_capture); in lx_pipe_start()
551 err = lx_pipe_toggle_state(chip, pipe, is_capture); in lx_pipe_start()
556 int lx_pipe_pause(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_pause() argument
560 err = lx_pipe_wait_for_start(chip, pipe, is_capture); in lx_pipe_pause()
564 err = lx_pipe_toggle_state(chip, pipe, is_capture); in lx_pipe_pause()
570 int lx_pipe_sample_count(struct lx6464es *chip, u32 pipe, int is_capture, in lx_pipe_sample_count() argument
576 mutex_lock(&chip->msg_lock); in lx_pipe_sample_count()
577 lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT); in lx_pipe_sample_count()
579 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_sample_count()
580 chip->rmh.stat_len = 2; /* need all words here! */ in lx_pipe_sample_count()
582 err = lx_message_send_atomic(chip, &chip->rmh); /* don't sleep! */ in lx_pipe_sample_count()
585 dev_err(chip->card->dev, in lx_pipe_sample_count()
588 *rsample_count = ((u64)(chip->rmh.stat[0] & MASK_SPL_COUNT_HI) in lx_pipe_sample_count()
590 + chip->rmh.stat[1]; /* lo part */ in lx_pipe_sample_count()
593 mutex_unlock(&chip->msg_lock); in lx_pipe_sample_count()
597 int lx_pipe_state(struct lx6464es *chip, u32 pipe, int is_capture, u16 *rstate) in lx_pipe_state() argument
602 mutex_lock(&chip->msg_lock); in lx_pipe_state()
603 lx_message_init(&chip->rmh, CMD_0A_GET_PIPE_SPL_COUNT); in lx_pipe_state()
605 chip->rmh.cmd[0] |= pipe_cmd; in lx_pipe_state()
607 err = lx_message_send_atomic(chip, &chip->rmh); in lx_pipe_state()
610 dev_err(chip->card->dev, "could not query pipe's state\n"); in lx_pipe_state()
612 *rstate = (chip->rmh.stat[0] >> PSTATE_OFFSET) & 0x0F; in lx_pipe_state()
614 mutex_unlock(&chip->msg_lock); in lx_pipe_state()
618 static int lx_pipe_wait_for_state(struct lx6464es *chip, u32 pipe, in lx_pipe_wait_for_state() argument
627 int err = lx_pipe_state(chip, pipe, is_capture, &current_state); in lx_pipe_wait_for_state()
641 int lx_pipe_wait_for_start(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_wait_for_start() argument
643 return lx_pipe_wait_for_state(chip, pipe, is_capture, PSTATE_RUN); in lx_pipe_wait_for_start()
646 int lx_pipe_wait_for_idle(struct lx6464es *chip, u32 pipe, int is_capture) in lx_pipe_wait_for_idle() argument
648 return lx_pipe_wait_for_state(chip, pipe, is_capture, PSTATE_IDLE); in lx_pipe_wait_for_idle()
652 int lx_stream_set_state(struct lx6464es *chip, u32 pipe, in lx_stream_set_state() argument
658 mutex_lock(&chip->msg_lock); in lx_stream_set_state()
659 lx_message_init(&chip->rmh, CMD_13_SET_STREAM_STATE); in lx_stream_set_state()
661 chip->rmh.cmd[0] |= pipe_cmd; in lx_stream_set_state()
662 chip->rmh.cmd[0] |= state; in lx_stream_set_state()
664 err = lx_message_send_atomic(chip, &chip->rmh); in lx_stream_set_state()
665 mutex_unlock(&chip->msg_lock); in lx_stream_set_state()
670 int lx_stream_set_format(struct lx6464es *chip, struct snd_pcm_runtime *runtime, in lx_stream_set_format() argument
678 dev_err(chip->card->dev, "channel count mismatch: %d vs %d", in lx_stream_set_format()
681 mutex_lock(&chip->msg_lock); in lx_stream_set_format()
682 lx_message_init(&chip->rmh, CMD_0C_DEF_STREAM); in lx_stream_set_format()
684 chip->rmh.cmd[0] |= pipe_cmd; in lx_stream_set_format()
688 chip->rmh.cmd[0] |= (STREAM_FMT_16b << STREAM_FMT_OFFSET); in lx_stream_set_format()
692 chip->rmh.cmd[0] |= (STREAM_FMT_intel << STREAM_FMT_OFFSET); in lx_stream_set_format()
694 chip->rmh.cmd[0] |= channels-1; in lx_stream_set_format()
696 err = lx_message_send_atomic(chip, &chip->rmh); in lx_stream_set_format()
697 mutex_unlock(&chip->msg_lock); in lx_stream_set_format()
702 int lx_stream_state(struct lx6464es *chip, u32 pipe, int is_capture, in lx_stream_state() argument
708 mutex_lock(&chip->msg_lock); in lx_stream_state()
709 lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT); in lx_stream_state()
711 chip->rmh.cmd[0] |= pipe_cmd; in lx_stream_state()
713 err = lx_message_send_atomic(chip, &chip->rmh); in lx_stream_state()
715 *rstate = (chip->rmh.stat[0] & SF_START) ? START_STATE : PAUSE_STATE; in lx_stream_state()
717 mutex_unlock(&chip->msg_lock); in lx_stream_state()
721 int lx_stream_sample_position(struct lx6464es *chip, u32 pipe, int is_capture, in lx_stream_sample_position() argument
727 mutex_lock(&chip->msg_lock); in lx_stream_sample_position()
728 lx_message_init(&chip->rmh, CMD_0E_GET_STREAM_SPL_COUNT); in lx_stream_sample_position()
730 chip->rmh.cmd[0] |= pipe_cmd; in lx_stream_sample_position()
732 err = lx_message_send_atomic(chip, &chip->rmh); in lx_stream_sample_position()
734 *r_bytepos = ((u64) (chip->rmh.stat[0] & MASK_SPL_COUNT_HI) in lx_stream_sample_position()
736 + chip->rmh.stat[1]; /* lo part */ in lx_stream_sample_position()
738 mutex_unlock(&chip->msg_lock); in lx_stream_sample_position()
743 int lx_buffer_give(struct lx6464es *chip, u32 pipe, int is_capture, in lx_buffer_give() argument
750 mutex_lock(&chip->msg_lock); in lx_buffer_give()
751 lx_message_init(&chip->rmh, CMD_0F_UPDATE_BUFFER); in lx_buffer_give()
753 chip->rmh.cmd[0] |= pipe_cmd; in lx_buffer_give()
754 chip->rmh.cmd[0] |= BF_NOTIFY_EOB; /* request interrupt notification */ in lx_buffer_give()
758 chip->rmh.cmd[1] = buffer_size & MASK_DATA_SIZE; in lx_buffer_give()
759 chip->rmh.cmd[2] = buf_address_lo; in lx_buffer_give()
762 chip->rmh.cmd_len = 4; in lx_buffer_give()
763 chip->rmh.cmd[3] = buf_address_hi; in lx_buffer_give()
764 chip->rmh.cmd[0] |= BF_64BITS_ADR; in lx_buffer_give()
767 err = lx_message_send_atomic(chip, &chip->rmh); in lx_buffer_give()
770 *r_buffer_index = chip->rmh.stat[0]; in lx_buffer_give()
775 dev_err(chip->card->dev, in lx_buffer_give()
779 dev_err(chip->card->dev, in lx_buffer_give()
783 dev_err(chip->card->dev, in lx_buffer_give()
787 mutex_unlock(&chip->msg_lock); in lx_buffer_give()
791 int lx_buffer_free(struct lx6464es *chip, u32 pipe, int is_capture, in lx_buffer_free() argument
797 mutex_lock(&chip->msg_lock); in lx_buffer_free()
798 lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER); in lx_buffer_free()
800 chip->rmh.cmd[0] |= pipe_cmd; in lx_buffer_free()
801 chip->rmh.cmd[0] |= MASK_BUFFER_ID; /* ask for the current buffer: the in lx_buffer_free()
804 err = lx_message_send_atomic(chip, &chip->rmh); in lx_buffer_free()
807 *r_buffer_size = chip->rmh.stat[0] & MASK_DATA_SIZE; in lx_buffer_free()
809 mutex_unlock(&chip->msg_lock); in lx_buffer_free()
813 int lx_buffer_cancel(struct lx6464es *chip, u32 pipe, int is_capture, in lx_buffer_cancel() argument
819 mutex_lock(&chip->msg_lock); in lx_buffer_cancel()
820 lx_message_init(&chip->rmh, CMD_11_CANCEL_BUFFER); in lx_buffer_cancel()
822 chip->rmh.cmd[0] |= pipe_cmd; in lx_buffer_cancel()
823 chip->rmh.cmd[0] |= buffer_index; in lx_buffer_cancel()
825 err = lx_message_send_atomic(chip, &chip->rmh); in lx_buffer_cancel()
827 mutex_unlock(&chip->msg_lock); in lx_buffer_cancel()
837 int lx_level_unmute(struct lx6464es *chip, int is_capture, int unmute) in lx_level_unmute() argument
843 mutex_lock(&chip->msg_lock); in lx_level_unmute()
844 lx_message_init(&chip->rmh, CMD_0D_SET_MUTE); in lx_level_unmute()
846 chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, 0); in lx_level_unmute()
848 chip->rmh.cmd[1] = (u32)(mute_mask >> (u64)32); /* hi part */ in lx_level_unmute()
849 chip->rmh.cmd[2] = (u32)(mute_mask & (u64)0xFFFFFFFF); /* lo part */ in lx_level_unmute()
851 dev_dbg(chip->card->dev, in lx_level_unmute()
852 "mute %x %x %x\n", chip->rmh.cmd[0], chip->rmh.cmd[1], in lx_level_unmute()
853 chip->rmh.cmd[2]); in lx_level_unmute()
855 err = lx_message_send_atomic(chip, &chip->rmh); in lx_level_unmute()
857 mutex_unlock(&chip->msg_lock); in lx_level_unmute()
880 int lx_level_peaks(struct lx6464es *chip, int is_capture, int channels, in lx_level_peaks() argument
886 mutex_lock(&chip->msg_lock); in lx_level_peaks()
890 lx_message_init(&chip->rmh, CMD_12_GET_PEAK); in lx_level_peaks()
891 chip->rmh.cmd[0] |= PIPE_INFO_TO_CMD(is_capture, i); in lx_level_peaks()
893 err = lx_message_send_atomic(chip, &chip->rmh); in lx_level_peaks()
896 s0 = peak_map[chip->rmh.stat[0] & 0x0F]; in lx_level_peaks()
897 s1 = peak_map[(chip->rmh.stat[0] >> 4) & 0xf]; in lx_level_peaks()
898 s2 = peak_map[(chip->rmh.stat[0] >> 8) & 0xf]; in lx_level_peaks()
899 s3 = peak_map[(chip->rmh.stat[0] >> 12) & 0xf]; in lx_level_peaks()
911 mutex_unlock(&chip->msg_lock); in lx_level_peaks()
921 static u32 lx_interrupt_test_ack(struct lx6464es *chip) in lx_interrupt_test_ack() argument
923 u32 irqcs = lx_plx_reg_read(chip, ePLX_IRQCS); in lx_interrupt_test_ack()
930 while ((temp = lx_plx_reg_read(chip, ePLX_L2PCIDB))) { in lx_interrupt_test_ack()
933 lx_plx_reg_write(chip, ePLX_L2PCIDB, temp); in lx_interrupt_test_ack()
941 static int lx_interrupt_ack(struct lx6464es *chip, u32 *r_irqsrc, in lx_interrupt_ack() argument
945 u32 irqsrc = lx_interrupt_test_ack(chip); in lx_interrupt_ack()
968 static int lx_interrupt_handle_async_events(struct lx6464es *chip, u32 irqsrc, in lx_interrupt_handle_async_events() argument
994 err = lx_dsp_read_async_events(chip, stat); in lx_interrupt_handle_async_events()
1001 dev_dbg(chip->card->dev, "interrupt: EOBI pending %llx\n", in lx_interrupt_handle_async_events()
1007 dev_dbg(chip->card->dev, "interrupt: EOBO pending %llx\n", in lx_interrupt_handle_async_events()
1016 static int lx_interrupt_request_new_buffer(struct lx6464es *chip, in lx_interrupt_request_new_buffer() argument
1039 dev_dbg(chip->card->dev, "->lx_interrupt_request_new_buffer\n"); in lx_interrupt_request_new_buffer()
1041 mutex_lock(&chip->lock); in lx_interrupt_request_new_buffer()
1043 err = lx_buffer_ask(chip, 0, is_capture, &needed, &freed, size_array); in lx_interrupt_request_new_buffer()
1044 dev_dbg(chip->card->dev, in lx_interrupt_request_new_buffer()
1048 err = lx_buffer_give(chip, 0, is_capture, period_bytes, buf_lo, buf_hi, in lx_interrupt_request_new_buffer()
1050 dev_dbg(chip->card->dev, in lx_interrupt_request_new_buffer()
1055 mutex_unlock(&chip->lock); in lx_interrupt_request_new_buffer()
1062 struct lx6464es *chip = dev_id; in lx_interrupt() local
1067 dev_dbg(chip->card->dev, in lx_interrupt()
1070 if (!lx_interrupt_ack(chip, &irqsrc, &async_pending, &async_escmd)) { in lx_interrupt()
1071 dev_dbg(chip->card->dev, "IRQ_NONE\n"); in lx_interrupt()
1079 dev_dbg(chip->card->dev, "interrupt: EOBI\n"); in lx_interrupt()
1082 dev_dbg(chip->card->dev, "interrupt: EOBO\n"); in lx_interrupt()
1085 dev_dbg(chip->card->dev, "interrupt: URUN\n"); in lx_interrupt()
1088 dev_dbg(chip->card->dev, "interrupt: ORUN\n"); in lx_interrupt()
1092 chip->irqsrc = irqsrc; in lx_interrupt()
1102 dev_dbg(chip->card->dev, "interrupt requests escmd handling\n"); in lx_interrupt()
1110 struct lx6464es *chip = dev_id; in lx_threaded_irq() local
1117 err = lx_interrupt_handle_async_events(chip, chip->irqsrc, in lx_threaded_irq()
1122 dev_err(chip->card->dev, "error handling async events\n"); in lx_threaded_irq()
1125 struct lx_stream *lx_stream = &chip->capture_stream; in lx_threaded_irq()
1127 dev_dbg(chip->card->dev, in lx_threaded_irq()
1129 err = lx_interrupt_request_new_buffer(chip, lx_stream); in lx_threaded_irq()
1131 dev_err(chip->card->dev, in lx_threaded_irq()
1137 struct lx_stream *lx_stream = &chip->playback_stream; in lx_threaded_irq()
1139 dev_dbg(chip->card->dev, in lx_threaded_irq()
1141 err = lx_interrupt_request_new_buffer(chip, lx_stream); in lx_threaded_irq()
1143 dev_err(chip->card->dev, in lx_threaded_irq()
1152 static void lx_irq_set(struct lx6464es *chip, int enable) in lx_irq_set() argument
1154 u32 reg = lx_plx_reg_read(chip, ePLX_IRQCS); in lx_irq_set()
1165 lx_plx_reg_write(chip, ePLX_IRQCS, reg); in lx_irq_set()
1168 void lx_irq_enable(struct lx6464es *chip) in lx_irq_enable() argument
1170 dev_dbg(chip->card->dev, "->lx_irq_enable\n"); in lx_irq_enable()
1171 lx_irq_set(chip, 1); in lx_irq_enable()
1174 void lx_irq_disable(struct lx6464es *chip) in lx_irq_disable() argument
1176 dev_dbg(chip->card->dev, "->lx_irq_disable\n"); in lx_irq_disable()
1177 lx_irq_set(chip, 0); in lx_irq_disable()