Lines Matching refs:phw
130 static int wait_dsp_ack(struct hpi_hw_obj *phw, int state, int timeout_us);
132 static void send_dsp_command(struct hpi_hw_obj *phw, int cmd);
238 struct hpi_hw_obj *phw = pao->priv; in control_message() local
245 if (hpi_check_control_cache(phw->p_cache, phm, phr)) { in control_message()
262 hpi_cmn_control_cache_sync_to_msg(phw->p_cache, phm, in control_message()
494 struct hpi_hw_obj *phw; in adapter_delete() local
500 phw = pao->priv; in adapter_delete()
505 iowrite32(C6205_HDCR_WARMRESET, phw->prHDCR); in adapter_delete()
518 struct hpi_hw_obj *phw = pao->priv; in create_adapter_obj() local
528 phw->flag_outstream_just_reset[i] = 1; in create_adapter_obj()
531 phw->prHSR = in create_adapter_obj()
534 phw->prHDCR = in create_adapter_obj()
537 phw->prDSPP = in create_adapter_obj()
543 if (hpios_locked_mem_alloc(&phw->h_locked_mem, in create_adapter_obj()
546 phw->p_interface_buffer = NULL; in create_adapter_obj()
547 else if (hpios_locked_mem_get_virt_addr(&phw->h_locked_mem, in create_adapter_obj()
548 (void *)&phw->p_interface_buffer)) in create_adapter_obj()
549 phw->p_interface_buffer = NULL; in create_adapter_obj()
552 phw->p_interface_buffer); in create_adapter_obj()
554 if (phw->p_interface_buffer) { in create_adapter_obj()
555 memset((void *)phw->p_interface_buffer, 0, in create_adapter_obj()
557 phw->p_interface_buffer->dsp_ack = H620_HIF_UNKNOWN; in create_adapter_obj()
570 if (!phw->p_interface_buffer) in create_adapter_obj()
573 interface = phw->p_interface_buffer; in create_adapter_obj()
576 if (!wait_dsp_ack(phw, H620_HIF_RESET, HPI6205_TIMEOUT * 10)) { in create_adapter_obj()
587 err = hpios_locked_mem_alloc(&phw->h_control_cache, in create_adapter_obj()
591 err = hpios_locked_mem_get_virt_addr(&phw-> in create_adapter_obj()
598 phw->p_cache = in create_adapter_obj()
604 if (!phw->p_cache) in create_adapter_obj()
608 err = hpios_locked_mem_get_phys_addr(&phw-> in create_adapter_obj()
617 if (hpios_locked_mem_valid(&phw->h_control_cache)) in create_adapter_obj()
618 hpios_locked_mem_free(&phw->h_control_cache); in create_adapter_obj()
622 send_dsp_command(phw, H620_HIF_IDLE); in create_adapter_obj()
657 if (phw->p_cache) in create_adapter_obj()
658 phw->p_cache->adap_idx = pao->index; in create_adapter_obj()
664 phw->p_interface_buffer->instream_host_buffer_status; in create_adapter_obj()
666 phw->p_interface_buffer->outstream_host_buffer_status; in create_adapter_obj()
677 struct hpi_hw_obj *phw = pao->priv; in delete_adapter_obj() local
680 if (hpios_locked_mem_valid(&phw->h_control_cache)) { in delete_adapter_obj()
681 hpios_locked_mem_free(&phw->h_control_cache); in delete_adapter_obj()
682 hpi_free_control_cache(phw->p_cache); in delete_adapter_obj()
685 if (hpios_locked_mem_valid(&phw->h_locked_mem)) { in delete_adapter_obj()
686 hpios_locked_mem_free(&phw->h_locked_mem); in delete_adapter_obj()
687 phw->p_interface_buffer = NULL; in delete_adapter_obj()
691 if (hpios_locked_mem_valid(&phw->instream_host_buffers[i])) { in delete_adapter_obj()
692 hpios_locked_mem_free(&phw->instream_host_buffers[i]); in delete_adapter_obj()
694 phw->instream_host_buffer_size[i] = 0; in delete_adapter_obj()
698 if (hpios_locked_mem_valid(&phw->outstream_host_buffers[i])) { in delete_adapter_obj()
699 hpios_locked_mem_free(&phw->outstream_host_buffers in delete_adapter_obj()
701 phw->outstream_host_buffer_size[i] = 0; in delete_adapter_obj()
703 kfree(phw); in delete_adapter_obj()
711 struct hpi_hw_obj *phw = pao->priv; in adapter_irq_query_and_clear() local
714 hsr = ioread32(phw->prHSR); in adapter_irq_query_and_clear()
717 iowrite32(C6205_HSR_INTSRC, phw->prHSR); in adapter_irq_query_and_clear()
734 struct hpi_hw_obj *phw = pao->priv; in outstream_host_buffer_allocate() local
735 struct bus_master_interface *interface = phw->p_interface_buffer; in outstream_host_buffer_allocate()
749 phw->outstream_host_buffer_size[phm->obj_index]; in outstream_host_buffer_allocate()
753 if (phw->outstream_host_buffer_size[phm->obj_index] == in outstream_host_buffer_allocate()
759 if (hpios_locked_mem_valid(&phw->outstream_host_buffers[phm-> in outstream_host_buffer_allocate()
761 hpios_locked_mem_free(&phw->outstream_host_buffers in outstream_host_buffer_allocate()
764 err = hpios_locked_mem_alloc(&phw->outstream_host_buffers in outstream_host_buffer_allocate()
770 phw->outstream_host_buffer_size[phm->obj_index] = 0; in outstream_host_buffer_allocate()
775 (&phw->outstream_host_buffers[phm->obj_index], in outstream_host_buffer_allocate()
785 hpios_locked_mem_free(&phw->outstream_host_buffers in outstream_host_buffer_allocate()
787 phw->outstream_host_buffer_size[phm->obj_index] = 0; in outstream_host_buffer_allocate()
808 phw->outstream_host_buffer_size[phm->obj_index] = in outstream_host_buffer_allocate()
822 && hpios_locked_mem_valid(&phw-> in outstream_host_buffer_allocate()
824 hpios_locked_mem_free(&phw->outstream_host_buffers in outstream_host_buffer_allocate()
826 phw->outstream_host_buffer_size[phm->obj_index] = 0; in outstream_host_buffer_allocate()
834 struct hpi_hw_obj *phw = pao->priv; in outstream_host_buffer_get_info() local
835 struct bus_master_interface *interface = phw->p_interface_buffer; in outstream_host_buffer_get_info()
839 if (hpios_locked_mem_valid(&phw->outstream_host_buffers[phm-> in outstream_host_buffer_get_info()
841 if (hpios_locked_mem_get_virt_addr(&phw-> in outstream_host_buffer_get_info()
863 struct hpi_hw_obj *phw = pao->priv; in outstream_host_buffer_free() local
866 if (phw->outstream_host_buffer_size[phm->obj_index]) { in outstream_host_buffer_free()
869 phw->outstream_host_buffer_size[phm->obj_index] = 0; in outstream_host_buffer_free()
875 hpios_locked_mem_free(&phw->outstream_host_buffers in outstream_host_buffer_free()
895 struct hpi_hw_obj *phw = pao->priv; in outstream_write() local
896 struct bus_master_interface *interface = phw->p_interface_buffer; in outstream_write()
900 if (!phw->outstream_host_buffer_size[phm->obj_index]) { in outstream_write()
918 && hpios_locked_mem_valid(&phw->outstream_host_buffers[phm-> in outstream_write()
924 if (hpios_locked_mem_get_virt_addr(&phw-> in outstream_write()
952 if (phw->flag_outstream_just_reset[phm->obj_index]) { in outstream_write()
955 phw->flag_outstream_just_reset[phm->obj_index] = 0; in outstream_write()
969 struct hpi_hw_obj *phw = pao->priv; in outstream_get_info() local
970 struct bus_master_interface *interface = phw->p_interface_buffer; in outstream_get_info()
973 if (!phw->outstream_host_buffer_size[phm->obj_index]) { in outstream_get_info()
1001 struct hpi_hw_obj *phw = pao->priv; in outstream_reset() local
1002 phw->flag_outstream_just_reset[phm->obj_index] = 1; in outstream_reset()
1020 struct hpi_hw_obj *phw = pao->priv; in instream_host_buffer_allocate() local
1021 struct bus_master_interface *interface = phw->p_interface_buffer; in instream_host_buffer_allocate()
1031 phw->instream_host_buffer_size[phm->obj_index]; in instream_host_buffer_allocate()
1035 if (phw->instream_host_buffer_size[phm->obj_index] == in instream_host_buffer_allocate()
1041 if (hpios_locked_mem_valid(&phw->instream_host_buffers[phm-> in instream_host_buffer_allocate()
1043 hpios_locked_mem_free(&phw->instream_host_buffers in instream_host_buffer_allocate()
1046 err = hpios_locked_mem_alloc(&phw->instream_host_buffers[phm-> in instream_host_buffer_allocate()
1052 phw->instream_host_buffer_size[phm->obj_index] = 0; in instream_host_buffer_allocate()
1057 (&phw->instream_host_buffers[phm->obj_index], in instream_host_buffer_allocate()
1064 hpios_locked_mem_free(&phw->instream_host_buffers in instream_host_buffer_allocate()
1066 phw->instream_host_buffer_size[phm->obj_index] = 0; in instream_host_buffer_allocate()
1085 phw->instream_host_buffer_size[phm->obj_index] = in instream_host_buffer_allocate()
1099 && hpios_locked_mem_valid(&phw-> in instream_host_buffer_allocate()
1101 hpios_locked_mem_free(&phw->instream_host_buffers in instream_host_buffer_allocate()
1103 phw->instream_host_buffer_size[phm->obj_index] = 0; in instream_host_buffer_allocate()
1111 struct hpi_hw_obj *phw = pao->priv; in instream_host_buffer_get_info() local
1112 struct bus_master_interface *interface = phw->p_interface_buffer; in instream_host_buffer_get_info()
1116 if (hpios_locked_mem_valid(&phw->instream_host_buffers[phm-> in instream_host_buffer_get_info()
1118 if (hpios_locked_mem_get_virt_addr(&phw-> in instream_host_buffer_get_info()
1140 struct hpi_hw_obj *phw = pao->priv; in instream_host_buffer_free() local
1143 if (phw->instream_host_buffer_size[phm->obj_index]) { in instream_host_buffer_free()
1146 phw->instream_host_buffer_size[phm->obj_index] = 0; in instream_host_buffer_free()
1152 hpios_locked_mem_free(&phw->instream_host_buffers in instream_host_buffer_free()
1179 struct hpi_hw_obj *phw = pao->priv; in instream_read() local
1180 struct bus_master_interface *interface = phw->p_interface_buffer; in instream_read()
1187 if (!phw->instream_host_buffer_size[phm->obj_index]) { in instream_read()
1200 if (hpios_locked_mem_valid(&phw->instream_host_buffers[phm-> in instream_read()
1202 if (hpios_locked_mem_get_virt_addr(&phw-> in instream_read()
1230 struct hpi_hw_obj *phw = pao->priv; in instream_get_info() local
1231 struct bus_master_interface *interface = phw->p_interface_buffer; in instream_get_info()
1233 if (!phw->instream_host_buffer_size[phm->obj_index]) { in instream_get_info()
1259 struct hpi_hw_obj *phw = pao->priv; in adapter_boot_load_dsp() local
1296 iowrite32(temp, phw->prHDCR); in adapter_boot_load_dsp()
1300 temp = ioread32(phw->prHSR); in adapter_boot_load_dsp()
1306 iowrite32(temp, phw->prHSR); in adapter_boot_load_dsp()
1309 temp = ioread32(phw->prHDCR); in adapter_boot_load_dsp()
1316 iowrite32(temp, phw->prDSPP); in adapter_boot_load_dsp()
1317 if ((temp | C6205_DSPP_MAP1) != ioread32(phw->prDSPP)) in adapter_boot_load_dsp()
1320 iowrite32(temp, phw->prDSPP); in adapter_boot_load_dsp()
1321 if ((temp | C6205_DSPP_MAP1) != ioread32(phw->prDSPP)) in adapter_boot_load_dsp()
1324 iowrite32(temp, phw->prDSPP); in adapter_boot_load_dsp()
1325 if ((temp | C6205_DSPP_MAP1) != ioread32(phw->prDSPP)) in adapter_boot_load_dsp()
1329 iowrite32(temp, phw->prDSPP); in adapter_boot_load_dsp()
1330 if ((temp | C6205_DSPP_MAP1) != ioread32(phw->prDSPP)) in adapter_boot_load_dsp()
1332 phw->dsp_page = 0; in adapter_boot_load_dsp()
1464 if (phw->p_interface_buffer) { in adapter_boot_load_dsp()
1468 phw->p_interface_buffer; in adapter_boot_load_dsp()
1477 err = hpios_locked_mem_get_phys_addr(&phw->h_locked_mem, in adapter_boot_load_dsp()
1494 temp = ioread32(phw->prHSR); in adapter_boot_load_dsp()
1496 iowrite32(temp, phw->prHSR); in adapter_boot_load_dsp()
1499 temp = ioread32(phw->prHDCR); in adapter_boot_load_dsp()
1501 iowrite32(temp, phw->prHDCR); in adapter_boot_load_dsp()
1515 struct hpi_hw_obj *phw = pao->priv; in boot_loader_read_mem32() local
1530 if (dw4M_page != phw->dsp_page) { in boot_loader_read_mem32()
1531 phw->dsp_page = dw4M_page; in boot_loader_read_mem32()
1533 iowrite32(phw->dsp_page, phw->prDSPP); in boot_loader_read_mem32()
1557 struct hpi_hw_obj *phw = pao->priv; in boot_loader_write_mem32() local
1573 if (dw4M_page != phw->dsp_page) { in boot_loader_write_mem32()
1574 phw->dsp_page = dw4M_page; in boot_loader_write_mem32()
1576 iowrite32(phw->dsp_page, phw->prDSPP); in boot_loader_write_mem32()
1989 struct hpi_hw_obj *phw = pao->priv; in hpi6205_transfer_data() local
1993 struct bus_master_interface *interface = phw->p_interface_buffer; in hpi6205_transfer_data()
2001 if (!wait_dsp_ack(phw, H620_HIF_IDLE, HPI6205_TIMEOUT)) in hpi6205_transfer_data()
2018 send_dsp_command(phw, operation); in hpi6205_transfer_data()
2020 temp2 = wait_dsp_ack(phw, operation, HPI6205_TIMEOUT); in hpi6205_transfer_data()
2043 send_dsp_command(phw, H620_HIF_IDLE); in hpi6205_transfer_data()
2051 static int wait_dsp_ack(struct hpi_hw_obj *phw, int state, int timeout_us) in wait_dsp_ack() argument
2053 struct bus_master_interface *interface = phw->p_interface_buffer; in wait_dsp_ack()
2067 static void send_dsp_command(struct hpi_hw_obj *phw, int cmd) in send_dsp_command() argument
2069 struct bus_master_interface *interface = phw->p_interface_buffer; in send_dsp_command()
2075 r = ioread32(phw->prHDCR); in send_dsp_command()
2077 iowrite32(r, phw->prHDCR); in send_dsp_command()
2079 iowrite32(r, phw->prHDCR); in send_dsp_command()
2088 struct hpi_hw_obj *phw = pao->priv; in message_response_sequence() local
2089 struct bus_master_interface *interface = phw->p_interface_buffer; in message_response_sequence()
2106 if (!wait_dsp_ack(phw, H620_HIF_IDLE, HPI6205_TIMEOUT)) { in message_response_sequence()
2113 send_dsp_command(phw, H620_HIF_GET_RESP); in message_response_sequence()
2115 time_out2 = wait_dsp_ack(phw, H620_HIF_GET_RESP, HPI6205_TIMEOUT); in message_response_sequence()
2148 send_dsp_command(phw, H620_HIF_IDLE); in message_response_sequence()
2157 if (!wait_dsp_ack(phw, H620_HIF_IDLE, HPI6205_TIMEOUT)) { in message_response_sequence()