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