• 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

146 static u16 adapter_boot_load_dsp(struct hpi_adapter_obj *pao,
149 static u16 message_response_sequence(struct hpi_adapter_obj *pao,
152 static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
162 static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
165 static void delete_adapter_obj(struct hpi_adapter_obj *pao);
167 static void outstream_host_buffer_allocate(struct hpi_adapter_obj *pao,
170 static void outstream_host_buffer_get_info(struct hpi_adapter_obj *pao,
173 static void outstream_host_buffer_free(struct hpi_adapter_obj *pao,
175 static void outstream_write(struct hpi_adapter_obj *pao,
178 static void outstream_get_info(struct hpi_adapter_obj *pao,
181 static void outstream_start(struct hpi_adapter_obj *pao,
184 static void outstream_open(struct hpi_adapter_obj *pao,
187 static void outstream_reset(struct hpi_adapter_obj *pao,
190 static void instream_host_buffer_allocate(struct hpi_adapter_obj *pao,
193 static void instream_host_buffer_get_info(struct hpi_adapter_obj *pao,
196 static void instream_host_buffer_free(struct hpi_adapter_obj *pao,
199 static void instream_read(struct hpi_adapter_obj *pao,
202 static void instream_get_info(struct hpi_adapter_obj *pao,
205 static void instream_start(struct hpi_adapter_obj *pao,
208 static u32 boot_loader_read_mem32(struct hpi_adapter_obj *pao, int dsp_index,
211 static u16 boot_loader_write_mem32(struct hpi_adapter_obj *pao, int dsp_index,
214 static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao,
217 static u16 boot_loader_test_memory(struct hpi_adapter_obj *pao, int dsp_index,
220 static u16 boot_loader_test_internal_memory(struct hpi_adapter_obj *pao,
223 static u16 boot_loader_test_external_memory(struct hpi_adapter_obj *pao,
226 static u16 boot_loader_test_pld(struct hpi_adapter_obj *pao, int dsp_index);
255 static void control_message(struct hpi_adapter_obj *pao,
259 struct hpi_hw_obj *phw = pao->priv;
263 if (pao->has_control_cache) {
268 hw_message(pao, phm, phr);
271 hw_message(pao, phm, phr);
274 hw_message(pao, phm, phr);
275 if (pao->has_control_cache)
284 static void adapter_message(struct hpi_adapter_obj *pao,
289 hw_message(pao, phm, phr);
294 static void outstream_message(struct hpi_adapter_obj *pao,
309 outstream_write(pao, phm, phr);
312 outstream_get_info(pao, phm, phr);
315 outstream_host_buffer_allocate(pao, phm, phr);
318 outstream_host_buffer_get_info(pao, phm, phr);
321 outstream_host_buffer_free(pao, phm, phr);
324 outstream_start(pao, phm, phr);
327 outstream_open(pao, phm, phr);
330 outstream_reset(pao, phm, phr);
333 hw_message(pao, phm, phr);
338 static void instream_message(struct hpi_adapter_obj *pao,
353 instream_read(pao, phm, phr);
356 instream_get_info(pao, phm, phr);
359 instream_host_buffer_allocate(pao, phm, phr);
362 instream_host_buffer_get_info(pao, phm, phr);
365 instream_host_buffer_free(pao, phm, phr);
368 instream_start(pao, phm, phr);
371 hw_message(pao, phm, phr);
382 struct hpi_adapter_obj *pao = NULL;
393 pao = hpi_find_adapter(phm->adapter_index);
394 if (!pao) {
401 if ((pao->dsp_crashed >= 10)
429 adapter_message(pao, phm, phr);
434 control_message(pao, phm, phr);
438 outstream_message(pao, phm, phr);
442 instream_message(pao, phm, phr);
446 hw_message(pao, phm, phr);
513 struct hpi_adapter_obj *pao;
516 pao = hpi_find_adapter(phm->adapter_index);
517 if (!pao) {
521 phw = (struct hpi_hw_obj *)pao->priv;
524 boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 0);
528 delete_adapter_obj(pao);
535 static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
538 struct hpi_hw_obj *phw = pao->priv;
549 pao->dsp_crashed = 0;
556 pao->pci.ap_mem_base[1] +
557 C6205_BAR1_HSR / sizeof(*pao->pci.ap_mem_base[1]);
559 pao->pci.ap_mem_base[1] +
560 C6205_BAR1_HDCR / sizeof(*pao->pci.ap_mem_base[1]);
562 pao->pci.ap_mem_base[1] +
563 C6205_BAR1_DSPP / sizeof(*pao->pci.ap_mem_base[1]);
565 pao->has_control_cache = 0;
569 pao->pci.p_os_data))
584 err = adapter_boot_load_dsp(pao, pos_error_code);
624 /* Note that *pao, *phw are zeroed after allocation,
633 pao->pci.p_os_data);
656 pao->has_control_cache = 1;
660 pao->has_control_cache = 0;
667 sizeof(struct hpi_async_event), pao->pci.p_os_data);
708 err = message_response_sequence(pao, &hM, &hR);
717 pao->adapter_type = hR.u.a.adapter_type;
718 pao->index = hR.u.a.adapter_index;
723 65536, pao->pci.p_os_data);
731 pao->open = 0; /* upon creation the adapter is closed */
741 static void delete_adapter_obj(struct hpi_adapter_obj *pao)
746 phw = pao->priv;
777 hpios_locked_mem_unprepare(pao->pci.p_os_data);
779 hpi_delete_adapter(pao);
788 static void outstream_host_buffer_allocate(struct hpi_adapter_obj *pao,
793 struct hpi_hw_obj *phw = pao->priv;
825 pao->pci.p_os_data);
877 hw_message(pao, phm, phr);
889 static void outstream_host_buffer_get_info(struct hpi_adapter_obj *pao,
892 struct hpi_hw_obj *phw = pao->priv;
918 static void outstream_host_buffer_free(struct hpi_adapter_obj *pao,
921 struct hpi_hw_obj *phw = pao->priv;
928 hw_message(pao, phm, phr);
950 static void outstream_write(struct hpi_adapter_obj *pao,
953 struct hpi_hw_obj *phw = pao->priv;
960 hw_message(pao, phm, phr);
988 hw_message(pao, phm, phr);
1051 static void outstream_get_info(struct hpi_adapter_obj *pao,
1054 struct hpi_hw_obj *phw = pao->priv;
1059 hw_message(pao, phm, phr);
1077 static void outstream_start(struct hpi_adapter_obj *pao,
1080 hw_message(pao, phm, phr);
1083 static void outstream_reset(struct hpi_adapter_obj *pao,
1086 struct hpi_hw_obj *phw = pao->priv;
1088 hw_message(pao, phm, phr);
1091 static void outstream_open(struct hpi_adapter_obj *pao,
1094 outstream_reset(pao, phm, phr);
1100 static void instream_host_buffer_allocate(struct hpi_adapter_obj *pao,
1105 struct hpi_hw_obj *phw = pao->priv;
1133 pao->pci.p_os_data);
1180 hw_message(pao, phm, phr);
1191 static void instream_host_buffer_get_info(struct hpi_adapter_obj *pao,
1194 struct hpi_hw_obj *phw = pao->priv;
1220 static void instream_host_buffer_free(struct hpi_adapter_obj *pao,
1223 struct hpi_hw_obj *phw = pao->priv;
1230 hw_message(pao, phm, phr);
1248 static void instream_start(struct hpi_adapter_obj *pao,
1251 hw_message(pao, phm, phr);
1259 static void instream_read(struct hpi_adapter_obj *pao,
1262 struct hpi_hw_obj *phw = pao->priv;
1271 hw_message(pao, phm, phr);
1310 static void instream_get_info(struct hpi_adapter_obj *pao,
1313 struct hpi_hw_obj *phw = pao->priv;
1317 hw_message(pao, phm, phr);
1339 static u16 adapter_boot_load_dsp(struct hpi_adapter_obj *pao,
1342 struct hpi_hw_obj *phw = pao->priv;
1345 u16 firmware_id = pao->pci.subsys_device_id;
1420 boot_loader_write_mem32(pao, 0, (0x018C0024L), 0x00002202);
1423 boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 0);
1426 boot_loader_read_mem32(pao, 0, 0);
1430 boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 4);
1439 err = boot_loader_config_emif(pao, dsp);
1443 err = boot_loader_test_internal_memory(pao, dsp);
1447 err = boot_loader_test_external_memory(pao, dsp);
1451 err = boot_loader_test_pld(pao, dsp);
1456 dsp_code.ps_dev = pao->pci.p_os_data;
1485 err = boot_loader_write_mem32(pao, dsp,
1492 boot_loader_read_mem32(pao, dsp,
1522 data = boot_loader_read_mem32(pao, dsp,
1562 err = boot_loader_write_mem32(pao, 0,
1566 boot_loader_read_mem32(pao, 0,
1590 static u32 boot_loader_read_mem32(struct hpi_adapter_obj *pao, int dsp_index,
1593 struct hpi_hw_obj *phw = pao->priv;
1601 p_data = pao->pci.ap_mem_base[1] +
1603 sizeof(*pao->pci.ap_mem_base[1]);
1616 p_data = pao->pci.ap_mem_base[0] +
1623 boot_loader_write_mem32(pao, 0, HPIAL_ADDR, address);
1624 boot_loader_write_mem32(pao, 0, HPIAH_ADDR, address >> 16);
1625 lsb = boot_loader_read_mem32(pao, 0, HPIDL_ADDR);
1626 data = boot_loader_read_mem32(pao, 0, HPIDH_ADDR);
1632 static u16 boot_loader_write_mem32(struct hpi_adapter_obj *pao, int dsp_index,
1635 struct hpi_hw_obj *phw = pao->priv;
1645 p_data = pao->pci.ap_mem_base[1] +
1647 sizeof(*pao->pci.ap_mem_base[1]);
1659 p_data = pao->pci.ap_mem_base[0] +
1665 boot_loader_write_mem32(pao, 0, HPIAL_ADDR, address);
1666 boot_loader_write_mem32(pao, 0, HPIAH_ADDR, address >> 16);
1669 boot_loader_read_mem32(pao, 0, 0);
1671 boot_loader_write_mem32(pao, 0, HPIDL_ADDR, data);
1672 boot_loader_write_mem32(pao, 0, HPIDH_ADDR, data >> 16);
1675 boot_loader_read_mem32(pao, 0, 0);
1681 static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index)
1698 boot_loader_write_mem32(pao, dsp_index, 0x01800000, 0x3779);
1709 boot_loader_write_mem32(pao, dsp_index, 0x01800008, setting);
1710 if (setting != boot_loader_read_mem32(pao, dsp_index,
1723 boot_loader_write_mem32(pao, dsp_index, 0x01800004, setting);
1724 if (setting != boot_loader_read_mem32(pao, dsp_index,
1736 boot_loader_write_mem32(pao, dsp_index, 0x01800010, setting);
1737 if (setting != boot_loader_read_mem32(pao, dsp_index,
1748 boot_loader_write_mem32(pao, dsp_index, 0x01800014, setting);
1749 if (setting != boot_loader_read_mem32(pao, dsp_index,
1756 boot_loader_write_mem32(pao, dsp_index, 0x01800018,
1761 boot_loader_write_mem32(pao, dsp_index, 0x0180001C,
1770 boot_loader_write_mem32(pao, 0, HPICL_ADDR, write_data);
1771 boot_loader_write_mem32(pao, 0, HPICH_ADDR, write_data);
1774 0xFFF7 & boot_loader_read_mem32(pao, 0, HPICL_ADDR);
1786 boot_loader_write_mem32(pao, 0, HPIAL_ADDR,
1788 boot_loader_write_mem32(pao, 0, HPIAH_ADDR,
1791 0xFFFF & boot_loader_read_mem32(pao, 0,
1795 boot_loader_read_mem32(pao, 0,
1816 boot_loader_write_mem32(pao, dsp_index, 0x01B7C100, 0x0000);
1819 boot_loader_write_mem32(pao, dsp_index, 0x01B7C120, 0x8002);
1821 boot_loader_write_mem32(pao, dsp_index, 0x01B7C11C, 0x8001);
1823 boot_loader_write_mem32(pao, dsp_index, 0x01B7C118, 0x8000);
1828 boot_loader_write_mem32(pao, 0, (0x018C0024L), 0x00002A0A);
1830 boot_loader_write_mem32(pao, dsp_index, 0x01B7C100, 0x0001);
1833 boot_loader_write_mem32(pao, 0, (0x018C0024L), 0x00002A02);
1837 boot_loader_write_mem32(pao, 0, 0x01800004, /* CE1 */
1846 if ((boot_loader_read_mem32(pao, dsp_index, 0x01B7C100) & 0xF)
1854 boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_GCTL,
1856 boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_CE0,
1858 boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_SDRAMEXT,
1860 boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_SDRAMCTL,
1862 boot_loader_write_mem32(pao, dsp_index,
1874 static u16 boot_loader_test_memory(struct hpi_adapter_obj *pao, int dsp_index,
1891 boot_loader_write_mem32(pao, dsp_index, test_addr,
1893 data = boot_loader_read_mem32(pao, dsp_index,
1912 boot_loader_write_mem32(pao, dsp_index, test_addr, test_data);
1913 boot_loader_write_mem32(pao, dsp_index, test_addr + 4, 0);
1914 data = boot_loader_read_mem32(pao, dsp_index, test_addr);
1923 boot_loader_write_mem32(pao, dsp_index, test_addr, 0x0);
1929 boot_loader_write_mem32(pao, dsp_index, test_addr, 0x0);
1934 static u16 boot_loader_test_internal_memory(struct hpi_adapter_obj *pao,
1941 err = boot_loader_test_memory(pao, dsp_index, 0x00000000,
1945 err = boot_loader_test_memory(pao, dsp_index,
1950 err = boot_loader_test_memory(pao, dsp_index, 0x00000000,
1954 err = boot_loader_test_memory(pao, dsp_index,
1965 static u16 boot_loader_test_external_memory(struct hpi_adapter_obj *pao,
1973 if (pao->pci.subsys_device_id == 0x5000) {
1988 if (boot_loader_test_memory(pao, dsp_index, dRAM_start_address,
1994 static u16 boot_loader_test_pld(struct hpi_adapter_obj *pao, int dsp_index)
1999 if (pao->pci.subsys_device_id == 0x5000) {
2001 data = boot_loader_read_mem32(pao, dsp_index,
2006 data = boot_loader_read_mem32(pao, dsp_index,
2014 if (pao->pci.subsys_device_id == 0x8700) {
2016 data = boot_loader_read_mem32(pao, dsp_index,
2022 boot_loader_write_mem32(pao, dsp_index, 0x90000000,
2032 static short hpi6205_transfer_data(struct hpi_adapter_obj *pao, u8 *p_data,
2035 struct hpi_hw_obj *phw = pao->priv;
2172 static u16 message_response_sequence(struct hpi_adapter_obj *pao,
2179 struct hpi_hw_obj *phw = pao->priv;
2267 static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
2273 hpios_dsplock_lock(pao);
2275 err = message_response_sequence(pao, phm, phr);
2281 pao->dsp_crashed++;
2287 pao->dsp_crashed = 0;
2295 err = hpi6205_transfer_data(pao, phm->u.d.u.data.pb_data,
2301 err = hpi6205_transfer_data(pao, phm->u.d.u.data.pb_data,
2308 err = hpi6205_transfer_data(pao,
2317 err = hpi6205_transfer_data(pao,
2326 hpios_dsplock_unlock(pao);