• 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/asihpi/

Lines Matching refs:pao

157 static u16 hpi6000_dsp_block_write32(struct hpi_adapter_obj *pao,
159 static u16 hpi6000_dsp_block_read32(struct hpi_adapter_obj *pao,
162 static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao,
164 static short hpi6000_check_PCI2040_error_flag(struct hpi_adapter_obj *pao,
169 static short hpi6000_update_control_cache(struct hpi_adapter_obj *pao,
171 static short hpi6000_message_response_sequence(struct hpi_adapter_obj *pao,
174 static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
177 static short hpi6000_wait_dsp_ack(struct hpi_adapter_obj *pao, u16 dsp_index,
180 static short hpi6000_send_host_command(struct hpi_adapter_obj *pao,
185 static short hpi6000_send_data(struct hpi_adapter_obj *pao, u16 dsp_index,
188 static short hpi6000_get_data(struct hpi_adapter_obj *pao, u16 dsp_index,
207 static void adapter_get_asserts(struct hpi_adapter_obj *pao,
210 static short create_adapter_obj(struct hpi_adapter_obj *pao,
243 static void control_message(struct hpi_adapter_obj *pao,
249 if (pao->has_control_cache) {
251 err = hpi6000_update_control_cache(pao, phm);
259 pao->priv)->p_cache, phm,
263 hw_message(pao, phm, phr);
266 hw_message(pao, phm, phr);
269 hw_message(pao, phm, phr);
270 hpi_sync_control_cache(((struct hpi_hw_obj *)pao->priv)->
279 static void adapter_message(struct hpi_adapter_obj *pao,
284 hw_message(pao, phm, phr);
287 adapter_get_asserts(pao, phm, phr);
299 hw_message(pao, phm, phr);
307 static void outstream_message(struct hpi_adapter_obj *pao,
321 hw_message(pao, phm, phr);
326 static void instream_message(struct hpi_adapter_obj *pao,
341 hw_message(pao, phm, phr);
353 struct hpi_adapter_obj *pao = NULL;
362 pao = hpi_find_adapter(phm->adapter_index);
363 if (!pao) {
370 if (pao->dsp_crashed >= 10) {
394 adapter_message(pao, phm, phr);
398 control_message(pao, phm, phr);
402 outstream_message(pao, phm, phr);
406 instream_message(pao, phm, phr);
410 hw_message(pao, phm, phr);
434 struct hpi_adapter_obj *pao;
472 pao = hpi_find_adapter(ao.index);
473 if (!pao) {
481 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
482 phw->ado[dsp_index].pa_parent_adapter = pao;
494 struct hpi_adapter_obj *pao = NULL;
497 pao = hpi_find_adapter(phm->adapter_index);
498 if (!pao)
501 phw = (struct hpi_hw_obj *)pao->priv;
503 if (pao->has_control_cache)
506 hpi_delete_adapter(pao);
513 static short create_adapter_obj(struct hpi_adapter_obj *pao,
520 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
523 pao->dsp_crashed = 0;
528 phw->dw2040_HPICSR = pao->pci.ap_mem_base[0];
529 phw->dw2040_HPIDSP = pao->pci.ap_mem_base[1];
555 phw->ado[dsp_index].pa_parent_adapter = pao;
559 pao->has_control_cache = 0;
566 boot_error = hpi6000_adapter_boot_load_dsp(pao, pos_error_code);
595 error = hpi6000_message_response_sequence(pao, 0, &hM, &hR0);
601 error = hpi6000_message_response_sequence(pao, 1, &hM,
606 pao->adapter_type = hR0.u.a.adapter_type;
607 pao->index = hR0.u.a.adapter_index;
621 pao->has_control_cache = 1;
629 pao->has_control_cache = 0;
632 pao->adapter_type, pao->index);
633 pao->open = 0; /* upon creation the adapter is closed */
640 static void adapter_get_asserts(struct hpi_adapter_obj *pao,
656 hw_message(pao, phm, phr); /*get DSP asserts */
664 static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao,
667 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
687 switch (pao->pci.subsys_device_id) {
977 dsp_code.ps_dev = pao->pci.p_os_data;
1007 error = hpi6000_dsp_block_write32(pao, (u16)dsp_index,
1090 && hpi6000_check_PCI2040_error_flag(pao,
1127 if (HPI_ADAPTER_FAMILY_ASI(pao->pci.
1133 if (HPI_ADAPTER_FAMILY_ASI(pao->pci.
1245 static u16 hpi6000_dsp_block_write32(struct hpi_adapter_obj *pao,
1249 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1267 } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE)
1283 static u16 hpi6000_dsp_block_read32(struct hpi_adapter_obj *pao,
1287 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1306 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)
1323 static short hpi6000_message_response_sequence(struct hpi_adapter_obj *pao,
1326 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
1339 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE);
1341 pao->dsp_crashed++;
1344 pao->dsp_crashed = 0;
1356 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)
1368 if (hpi6000_dsp_block_write32(pao, dsp_index, address, p_data,
1372 if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_GET_RESP))
1376 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_GET_RESP);
1387 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)
1400 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) && --timeout);
1406 if (hpi6000_dsp_block_read32(pao, dsp_index, address, p_data,
1411 if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE))
1446 static short hpi6000_send_data(struct hpi_adapter_obj *pao, u16 dsp_index,
1450 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1462 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE);
1466 if (hpi6000_send_host_command(pao, dsp_index,
1472 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_SEND_DATA);
1482 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ));
1498 if (hpi6000_dsp_block_write32(pao, dsp_index,
1507 if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE))
1519 static short hpi6000_get_data(struct hpi_adapter_obj *pao, u16 dsp_index,
1523 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1533 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE);
1537 if (hpi6000_send_host_command(pao, dsp_index,
1542 ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_GET_DATA);
1551 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ));
1560 if (hpi6000_dsp_block_read32(pao, dsp_index,
1569 if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE))
1583 static short hpi6000_send_host_command(struct hpi_adapter_obj *pao,
1587 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1595 } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE) && --timeout);
1607 static short hpi6000_check_PCI2040_error_flag(struct hpi_adapter_obj *pao,
1612 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
1629 static short hpi6000_wait_dsp_ack(struct hpi_adapter_obj *pao, u16 dsp_index,
1633 &(*(struct hpi_hw_obj *)pao->priv).ado[dsp_index];
1656 && !hpi6000_check_PCI2040_error_flag(pao, H6READ))
1671 static short hpi6000_update_control_cache(struct hpi_adapter_obj *pao,
1675 struct hpi_hw_obj *phw = (struct hpi_hw_obj *)pao->priv;
1681 hpios_dsplock_lock(pao);
1688 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) && --timeout);
1709 } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)
1722 if (hpi6000_dsp_block_read32(pao, dsp_index, address,
1733 } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE)
1744 hpios_dsplock_unlock(pao);
1749 static u16 get_dsp_index(struct hpi_adapter_obj *pao, struct hpi_message *phm)
1770 static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
1775 u16 num_dsp = ((struct hpi_hw_obj *)pao->priv)->num_dsp;
1780 dsp_index = get_dsp_index(pao, phm);
1789 add_index = get_dsp_index(pao, &hm);
1797 hpios_dsplock_lock(pao);
1798 error = hpi6000_message_response_sequence(pao, dsp_index, phm, phr);
1815 error = hpi6000_send_data(pao, dsp_index, phm, phr);
1819 error = hpi6000_get_data(pao, dsp_index, phm, phr);
1826 error = hpi6000_message_response_sequence(pao,
1837 hpios_dsplock_unlock(pao);