pao 145 sound/pci/asihpi/hpi6000.c static u16 hpi6000_dsp_block_write32(struct hpi_adapter_obj *pao, pao 147 sound/pci/asihpi/hpi6000.c static u16 hpi6000_dsp_block_read32(struct hpi_adapter_obj *pao, pao 150 sound/pci/asihpi/hpi6000.c static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao, pao 152 sound/pci/asihpi/hpi6000.c static short hpi6000_check_PCI2040_error_flag(struct hpi_adapter_obj *pao, pao 157 sound/pci/asihpi/hpi6000.c static short hpi6000_update_control_cache(struct hpi_adapter_obj *pao, pao 159 sound/pci/asihpi/hpi6000.c static short hpi6000_message_response_sequence(struct hpi_adapter_obj *pao, pao 162 sound/pci/asihpi/hpi6000.c static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm, pao 165 sound/pci/asihpi/hpi6000.c static short hpi6000_wait_dsp_ack(struct hpi_adapter_obj *pao, u16 dsp_index, pao 168 sound/pci/asihpi/hpi6000.c static short hpi6000_send_host_command(struct hpi_adapter_obj *pao, pao 173 sound/pci/asihpi/hpi6000.c static short hpi6000_send_data(struct hpi_adapter_obj *pao, u16 dsp_index, pao 176 sound/pci/asihpi/hpi6000.c static short hpi6000_get_data(struct hpi_adapter_obj *pao, u16 dsp_index, pao 192 sound/pci/asihpi/hpi6000.c static void adapter_delete(struct hpi_adapter_obj *pao, pao 195 sound/pci/asihpi/hpi6000.c static void adapter_get_asserts(struct hpi_adapter_obj *pao, pao 198 sound/pci/asihpi/hpi6000.c static short create_adapter_obj(struct hpi_adapter_obj *pao, pao 201 sound/pci/asihpi/hpi6000.c static void delete_adapter_obj(struct hpi_adapter_obj *pao); pao 220 sound/pci/asihpi/hpi6000.c static void control_message(struct hpi_adapter_obj *pao, pao 223 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 227 sound/pci/asihpi/hpi6000.c if (pao->has_control_cache) { pao 229 sound/pci/asihpi/hpi6000.c err = hpi6000_update_control_cache(pao, phm); pao 245 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 248 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 254 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 259 sound/pci/asihpi/hpi6000.c static void adapter_message(struct hpi_adapter_obj *pao, pao 264 sound/pci/asihpi/hpi6000.c adapter_get_asserts(pao, phm, phr); pao 268 sound/pci/asihpi/hpi6000.c adapter_delete(pao, phm, phr); pao 272 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 277 sound/pci/asihpi/hpi6000.c static void outstream_message(struct hpi_adapter_obj *pao, pao 291 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 296 sound/pci/asihpi/hpi6000.c static void instream_message(struct hpi_adapter_obj *pao, pao 311 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 323 sound/pci/asihpi/hpi6000.c struct hpi_adapter_obj *pao = NULL; pao 326 sound/pci/asihpi/hpi6000.c pao = hpi_find_adapter(phm->adapter_index); pao 327 sound/pci/asihpi/hpi6000.c if (!pao) { pao 336 sound/pci/asihpi/hpi6000.c if (pao->dsp_crashed >= 10) { pao 360 sound/pci/asihpi/hpi6000.c adapter_message(pao, phm, phr); pao 364 sound/pci/asihpi/hpi6000.c control_message(pao, phm, phr); pao 368 sound/pci/asihpi/hpi6000.c outstream_message(pao, phm, phr); pao 372 sound/pci/asihpi/hpi6000.c instream_message(pao, phm, phr); pao 376 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); pao 400 sound/pci/asihpi/hpi6000.c struct hpi_adapter_obj *pao; pao 433 sound/pci/asihpi/hpi6000.c pao = hpi_find_adapter(ao.index); pao 434 sound/pci/asihpi/hpi6000.c if (!pao) { pao 442 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 443 sound/pci/asihpi/hpi6000.c phw->ado[dsp_index].pa_parent_adapter = pao; pao 451 sound/pci/asihpi/hpi6000.c static void adapter_delete(struct hpi_adapter_obj *pao, pao 454 sound/pci/asihpi/hpi6000.c delete_adapter_obj(pao); pao 455 sound/pci/asihpi/hpi6000.c hpi_delete_adapter(pao); pao 460 sound/pci/asihpi/hpi6000.c static short create_adapter_obj(struct hpi_adapter_obj *pao, pao 467 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 472 sound/pci/asihpi/hpi6000.c phw->dw2040_HPICSR = pao->pci.ap_mem_base[0]; pao 473 sound/pci/asihpi/hpi6000.c phw->dw2040_HPIDSP = pao->pci.ap_mem_base[1]; pao 499 sound/pci/asihpi/hpi6000.c phw->ado[dsp_index].pa_parent_adapter = pao; pao 503 sound/pci/asihpi/hpi6000.c pao->has_control_cache = 0; pao 510 sound/pci/asihpi/hpi6000.c boot_error = hpi6000_adapter_boot_load_dsp(pao, pos_error_code); pao 539 sound/pci/asihpi/hpi6000.c error = hpi6000_message_response_sequence(pao, 0, &hm, &hr0); pao 545 sound/pci/asihpi/hpi6000.c error = hpi6000_message_response_sequence(pao, 1, &hm, pao 550 sound/pci/asihpi/hpi6000.c pao->type = hr0.u.ax.info.adapter_type; pao 551 sound/pci/asihpi/hpi6000.c pao->index = hr0.u.ax.info.adapter_index; pao 572 sound/pci/asihpi/hpi6000.c pao->has_control_cache = 1; pao 575 sound/pci/asihpi/hpi6000.c HPI_DEBUG_LOG(DEBUG, "get adapter info ASI%04X index %d\n", pao->type, pao 576 sound/pci/asihpi/hpi6000.c pao->index); pao 579 sound/pci/asihpi/hpi6000.c phw->p_cache->adap_idx = pao->index; pao 581 sound/pci/asihpi/hpi6000.c return hpi_add_adapter(pao); pao 584 sound/pci/asihpi/hpi6000.c static void delete_adapter_obj(struct hpi_adapter_obj *pao) pao 586 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 588 sound/pci/asihpi/hpi6000.c if (pao->has_control_cache) pao 600 sound/pci/asihpi/hpi6000.c static void adapter_get_asserts(struct hpi_adapter_obj *pao, pao 618 sound/pci/asihpi/hpi6000.c hw_message(pao, phm, phr); /*get DSP asserts */ pao 626 sound/pci/asihpi/hpi6000.c static short hpi6000_adapter_boot_load_dsp(struct hpi_adapter_obj *pao, pao 629 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 649 sound/pci/asihpi/hpi6000.c switch (pao->pci.pci_dev->subsystem_device) { pao 936 sound/pci/asihpi/hpi6000.c error = hpi_dsp_code_open(boot_load_family, pao->pci.pci_dev, pao 964 sound/pci/asihpi/hpi6000.c error = hpi6000_dsp_block_write32(pao, (u16)dsp_index, pao 1046 sound/pci/asihpi/hpi6000.c && hpi6000_check_PCI2040_error_flag(pao, pao 1089 sound/pci/asihpi/hpi6000.c if (HPI_ADAPTER_FAMILY_ASI(pao->pci.pci_dev-> pao 1095 sound/pci/asihpi/hpi6000.c if (HPI_ADAPTER_FAMILY_ASI(pao->pci.pci_dev-> pao 1207 sound/pci/asihpi/hpi6000.c static u16 hpi6000_dsp_block_write32(struct hpi_adapter_obj *pao, pao 1210 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1229 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE) pao 1245 sound/pci/asihpi/hpi6000.c static u16 hpi6000_dsp_block_read32(struct hpi_adapter_obj *pao, pao 1248 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1268 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) pao 1285 sound/pci/asihpi/hpi6000.c static short hpi6000_message_response_sequence(struct hpi_adapter_obj *pao, pao 1288 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1297 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE); pao 1299 sound/pci/asihpi/hpi6000.c pao->dsp_crashed++; pao 1302 sound/pci/asihpi/hpi6000.c pao->dsp_crashed = 0; pao 1312 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) pao 1323 sound/pci/asihpi/hpi6000.c if (hpi6000_dsp_block_write32(pao, dsp_index, address, p_data, pao 1327 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_GET_RESP)) pao 1331 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_GET_RESP); pao 1342 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) pao 1355 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) && --timeout); pao 1364 sound/pci/asihpi/hpi6000.c if (hpi6000_dsp_block_read32(pao, dsp_index, address, p_data, pao 1369 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE)) pao 1404 sound/pci/asihpi/hpi6000.c static short hpi6000_send_data(struct hpi_adapter_obj *pao, u16 dsp_index, pao 1407 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1420 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE); pao 1424 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, pao 1430 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_SEND_DATA); pao 1440 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)); pao 1456 sound/pci/asihpi/hpi6000.c if (hpi6000_dsp_block_write32(pao, dsp_index, pao 1465 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE)) pao 1477 sound/pci/asihpi/hpi6000.c static short hpi6000_get_data(struct hpi_adapter_obj *pao, u16 dsp_index, pao 1480 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1491 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_IDLE); pao 1495 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, pao 1500 sound/pci/asihpi/hpi6000.c ack = hpi6000_wait_dsp_ack(pao, dsp_index, HPI_HIF_GET_DATA); pao 1509 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ)); pao 1518 sound/pci/asihpi/hpi6000.c if (hpi6000_dsp_block_read32(pao, dsp_index, pao 1527 sound/pci/asihpi/hpi6000.c if (hpi6000_send_host_command(pao, dsp_index, HPI_HIF_IDLE)) pao 1541 sound/pci/asihpi/hpi6000.c static short hpi6000_send_host_command(struct hpi_adapter_obj *pao, pao 1544 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1553 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE) && --timeout); pao 1565 sound/pci/asihpi/hpi6000.c static short hpi6000_check_PCI2040_error_flag(struct hpi_adapter_obj *pao, pao 1570 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1587 sound/pci/asihpi/hpi6000.c static short hpi6000_wait_dsp_ack(struct hpi_adapter_obj *pao, u16 dsp_index, pao 1590 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1614 sound/pci/asihpi/hpi6000.c && !hpi6000_check_PCI2040_error_flag(pao, H6READ)) pao 1629 sound/pci/asihpi/hpi6000.c static short hpi6000_update_control_cache(struct hpi_adapter_obj *pao, pao 1633 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1639 sound/pci/asihpi/hpi6000.c hpios_dsplock_lock(pao); pao 1646 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) && --timeout); pao 1667 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6READ) pao 1680 sound/pci/asihpi/hpi6000.c if (hpi6000_dsp_block_read32(pao, dsp_index, address, pao 1691 sound/pci/asihpi/hpi6000.c } while (hpi6000_check_PCI2040_error_flag(pao, H6WRITE) pao 1702 sound/pci/asihpi/hpi6000.c hpios_dsplock_unlock(pao); pao 1707 sound/pci/asihpi/hpi6000.c static u16 get_dsp_index(struct hpi_adapter_obj *pao, struct hpi_message *phm) pao 1728 sound/pci/asihpi/hpi6000.c static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm, pao 1733 sound/pci/asihpi/hpi6000.c struct hpi_hw_obj *phw = pao->priv; pao 1739 sound/pci/asihpi/hpi6000.c dsp_index = get_dsp_index(pao, phm); pao 1748 sound/pci/asihpi/hpi6000.c add_index = get_dsp_index(pao, &hm); pao 1756 sound/pci/asihpi/hpi6000.c hpios_dsplock_lock(pao); pao 1757 sound/pci/asihpi/hpi6000.c error = hpi6000_message_response_sequence(pao, dsp_index, phm, phr); pao 1768 sound/pci/asihpi/hpi6000.c error = hpi6000_send_data(pao, dsp_index, phm, phr); pao 1772 sound/pci/asihpi/hpi6000.c error = hpi6000_get_data(pao, dsp_index, phm, phr); pao 1779 sound/pci/asihpi/hpi6000.c error = hpi6000_message_response_sequence(pao, pao 1799 sound/pci/asihpi/hpi6000.c hpios_dsplock_unlock(pao); pao 134 sound/pci/asihpi/hpi6205.c static u16 adapter_boot_load_dsp(struct hpi_adapter_obj *pao, pao 137 sound/pci/asihpi/hpi6205.c static u16 message_response_sequence(struct hpi_adapter_obj *pao, pao 140 sound/pci/asihpi/hpi6205.c static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm, pao 147 sound/pci/asihpi/hpi6205.c static void adapter_delete(struct hpi_adapter_obj *pao, pao 150 sound/pci/asihpi/hpi6205.c static u16 create_adapter_obj(struct hpi_adapter_obj *pao, pao 153 sound/pci/asihpi/hpi6205.c static void delete_adapter_obj(struct hpi_adapter_obj *pao); pao 155 sound/pci/asihpi/hpi6205.c static int adapter_irq_query_and_clear(struct hpi_adapter_obj *pao, pao 158 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_allocate(struct hpi_adapter_obj *pao, pao 161 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_get_info(struct hpi_adapter_obj *pao, pao 164 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_free(struct hpi_adapter_obj *pao, pao 166 sound/pci/asihpi/hpi6205.c static void outstream_write(struct hpi_adapter_obj *pao, pao 169 sound/pci/asihpi/hpi6205.c static void outstream_get_info(struct hpi_adapter_obj *pao, pao 172 sound/pci/asihpi/hpi6205.c static void outstream_start(struct hpi_adapter_obj *pao, pao 175 sound/pci/asihpi/hpi6205.c static void outstream_open(struct hpi_adapter_obj *pao, pao 178 sound/pci/asihpi/hpi6205.c static void outstream_reset(struct hpi_adapter_obj *pao, pao 181 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_allocate(struct hpi_adapter_obj *pao, pao 184 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_get_info(struct hpi_adapter_obj *pao, pao 187 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_free(struct hpi_adapter_obj *pao, pao 190 sound/pci/asihpi/hpi6205.c static void instream_read(struct hpi_adapter_obj *pao, pao 193 sound/pci/asihpi/hpi6205.c static void instream_get_info(struct hpi_adapter_obj *pao, pao 196 sound/pci/asihpi/hpi6205.c static void instream_start(struct hpi_adapter_obj *pao, pao 199 sound/pci/asihpi/hpi6205.c static u32 boot_loader_read_mem32(struct hpi_adapter_obj *pao, int dsp_index, pao 202 sound/pci/asihpi/hpi6205.c static void boot_loader_write_mem32(struct hpi_adapter_obj *pao, pao 205 sound/pci/asihpi/hpi6205.c static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, pao 208 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_memory(struct hpi_adapter_obj *pao, int dsp_index, pao 211 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_internal_memory(struct hpi_adapter_obj *pao, pao 214 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_external_memory(struct hpi_adapter_obj *pao, pao 217 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_pld(struct hpi_adapter_obj *pao, int dsp_index); pao 221 sound/pci/asihpi/hpi6205.c static void subsys_message(struct hpi_adapter_obj *pao, pao 234 sound/pci/asihpi/hpi6205.c static void control_message(struct hpi_adapter_obj *pao, pao 238 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 243 sound/pci/asihpi/hpi6205.c if (pao->has_control_cache) { pao 252 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 257 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 260 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 261 sound/pci/asihpi/hpi6205.c if (pao->has_control_cache) pao 271 sound/pci/asihpi/hpi6205.c static void adapter_message(struct hpi_adapter_obj *pao, pao 276 sound/pci/asihpi/hpi6205.c adapter_delete(pao, phm, phr); pao 279 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 284 sound/pci/asihpi/hpi6205.c static void outstream_message(struct hpi_adapter_obj *pao, pao 299 sound/pci/asihpi/hpi6205.c outstream_write(pao, phm, phr); pao 302 sound/pci/asihpi/hpi6205.c outstream_get_info(pao, phm, phr); pao 305 sound/pci/asihpi/hpi6205.c outstream_host_buffer_allocate(pao, phm, phr); pao 308 sound/pci/asihpi/hpi6205.c outstream_host_buffer_get_info(pao, phm, phr); pao 311 sound/pci/asihpi/hpi6205.c outstream_host_buffer_free(pao, phm, phr); pao 314 sound/pci/asihpi/hpi6205.c outstream_start(pao, phm, phr); pao 317 sound/pci/asihpi/hpi6205.c outstream_open(pao, phm, phr); pao 320 sound/pci/asihpi/hpi6205.c outstream_reset(pao, phm, phr); pao 323 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 328 sound/pci/asihpi/hpi6205.c static void instream_message(struct hpi_adapter_obj *pao, pao 343 sound/pci/asihpi/hpi6205.c instream_read(pao, phm, phr); pao 346 sound/pci/asihpi/hpi6205.c instream_get_info(pao, phm, phr); pao 349 sound/pci/asihpi/hpi6205.c instream_host_buffer_allocate(pao, phm, phr); pao 352 sound/pci/asihpi/hpi6205.c instream_host_buffer_get_info(pao, phm, phr); pao 355 sound/pci/asihpi/hpi6205.c instream_host_buffer_free(pao, phm, phr); pao 358 sound/pci/asihpi/hpi6205.c instream_start(pao, phm, phr); pao 361 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 371 sound/pci/asihpi/hpi6205.c void _HPI_6205(struct hpi_adapter_obj *pao, struct hpi_message *phm, pao 374 sound/pci/asihpi/hpi6205.c if (pao && (pao->dsp_crashed >= 10) pao 393 sound/pci/asihpi/hpi6205.c subsys_message(pao, phm, phr); pao 397 sound/pci/asihpi/hpi6205.c adapter_message(pao, phm, phr); pao 401 sound/pci/asihpi/hpi6205.c control_message(pao, phm, phr); pao 405 sound/pci/asihpi/hpi6205.c outstream_message(pao, phm, phr); pao 409 sound/pci/asihpi/hpi6205.c instream_message(pao, phm, phr); pao 413 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 426 sound/pci/asihpi/hpi6205.c struct hpi_adapter_obj *pao = NULL; pao 430 sound/pci/asihpi/hpi6205.c pao = hpi_find_adapter(phm->adapter_index); pao 437 sound/pci/asihpi/hpi6205.c if (pao) pao 438 sound/pci/asihpi/hpi6205.c _HPI_6205(pao, phm, phr); pao 491 sound/pci/asihpi/hpi6205.c static void adapter_delete(struct hpi_adapter_obj *pao, pao 496 sound/pci/asihpi/hpi6205.c if (!pao) { pao 500 sound/pci/asihpi/hpi6205.c phw = pao->priv; pao 503 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 0); pao 507 sound/pci/asihpi/hpi6205.c delete_adapter_obj(pao); pao 508 sound/pci/asihpi/hpi6205.c hpi_delete_adapter(pao); pao 515 sound/pci/asihpi/hpi6205.c static u16 create_adapter_obj(struct hpi_adapter_obj *pao, pao 518 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 525 sound/pci/asihpi/hpi6205.c pao->dsp_crashed = 0; pao 532 sound/pci/asihpi/hpi6205.c pao->pci.ap_mem_base[1] + pao 533 sound/pci/asihpi/hpi6205.c C6205_BAR1_HSR / sizeof(*pao->pci.ap_mem_base[1]); pao 535 sound/pci/asihpi/hpi6205.c pao->pci.ap_mem_base[1] + pao 536 sound/pci/asihpi/hpi6205.c C6205_BAR1_HDCR / sizeof(*pao->pci.ap_mem_base[1]); pao 538 sound/pci/asihpi/hpi6205.c pao->pci.ap_mem_base[1] + pao 539 sound/pci/asihpi/hpi6205.c C6205_BAR1_DSPP / sizeof(*pao->pci.ap_mem_base[1]); pao 541 sound/pci/asihpi/hpi6205.c pao->has_control_cache = 0; pao 545 sound/pci/asihpi/hpi6205.c pao->pci.pci_dev)) pao 560 sound/pci/asihpi/hpi6205.c err = adapter_boot_load_dsp(pao, pos_error_code); pao 589 sound/pci/asihpi/hpi6205.c pao->pci.pci_dev); pao 615 sound/pci/asihpi/hpi6205.c pao->has_control_cache = 1; pao 619 sound/pci/asihpi/hpi6205.c pao->has_control_cache = 0; pao 639 sound/pci/asihpi/hpi6205.c err = message_response_sequence(pao, &hm, &hr); pao 648 sound/pci/asihpi/hpi6205.c pao->type = hr.u.ax.info.adapter_type; pao 649 sound/pci/asihpi/hpi6205.c pao->index = hr.u.ax.info.adapter_index; pao 658 sound/pci/asihpi/hpi6205.c phw->p_cache->adap_idx = pao->index; pao 662 sound/pci/asihpi/hpi6205.c pao->irq_query_and_clear = adapter_irq_query_and_clear; pao 663 sound/pci/asihpi/hpi6205.c pao->instream_host_buffer_status = pao 665 sound/pci/asihpi/hpi6205.c pao->outstream_host_buffer_status = pao 668 sound/pci/asihpi/hpi6205.c return hpi_add_adapter(pao); pao 675 sound/pci/asihpi/hpi6205.c static void delete_adapter_obj(struct hpi_adapter_obj *pao) pao 677 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 708 sound/pci/asihpi/hpi6205.c static int adapter_irq_query_and_clear(struct hpi_adapter_obj *pao, pao 711 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 729 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_allocate(struct hpi_adapter_obj *pao, pao 734 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 766 sound/pci/asihpi/hpi6205.c pao->pci.pci_dev); pao 819 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 831 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_get_info(struct hpi_adapter_obj *pao, pao 834 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 860 sound/pci/asihpi/hpi6205.c static void outstream_host_buffer_free(struct hpi_adapter_obj *pao, pao 863 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 870 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 892 sound/pci/asihpi/hpi6205.c static void outstream_write(struct hpi_adapter_obj *pao, pao 895 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 902 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 957 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); /* send the format to the DSP */ pao 966 sound/pci/asihpi/hpi6205.c static void outstream_get_info(struct hpi_adapter_obj *pao, pao 969 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 974 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 992 sound/pci/asihpi/hpi6205.c static void outstream_start(struct hpi_adapter_obj *pao, pao 995 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 998 sound/pci/asihpi/hpi6205.c static void outstream_reset(struct hpi_adapter_obj *pao, pao 1001 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1003 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1006 sound/pci/asihpi/hpi6205.c static void outstream_open(struct hpi_adapter_obj *pao, pao 1009 sound/pci/asihpi/hpi6205.c outstream_reset(pao, phm, phr); pao 1015 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_allocate(struct hpi_adapter_obj *pao, pao 1020 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1048 sound/pci/asihpi/hpi6205.c pao->pci.pci_dev); pao 1096 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1108 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_get_info(struct hpi_adapter_obj *pao, pao 1111 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1137 sound/pci/asihpi/hpi6205.c static void instream_host_buffer_free(struct hpi_adapter_obj *pao, pao 1140 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1147 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1165 sound/pci/asihpi/hpi6205.c static void instream_start(struct hpi_adapter_obj *pao, pao 1168 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1176 sound/pci/asihpi/hpi6205.c static void instream_read(struct hpi_adapter_obj *pao, pao 1179 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1188 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1227 sound/pci/asihpi/hpi6205.c static void instream_get_info(struct hpi_adapter_obj *pao, pao 1230 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1234 sound/pci/asihpi/hpi6205.c hw_message(pao, phm, phr); pao 1256 sound/pci/asihpi/hpi6205.c static u16 adapter_boot_load_dsp(struct hpi_adapter_obj *pao, pao 1259 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1268 sound/pci/asihpi/hpi6205.c boot_code_id[1] = pao->pci.pci_dev->subsystem_device; pao 1341 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, 0x018C0024, 0x00002202); pao 1344 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 0); pao 1346 sound/pci/asihpi/hpi6205.c if (0 != (boot_loader_read_mem32(pao, 0, pao 1352 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, C6205_BAR0_TIMER1_CTL, 4); pao 1353 sound/pci/asihpi/hpi6205.c if (4 != (boot_loader_read_mem32(pao, 0, pao 1364 sound/pci/asihpi/hpi6205.c err = boot_loader_config_emif(pao, dsp); pao 1368 sound/pci/asihpi/hpi6205.c err = boot_loader_test_internal_memory(pao, dsp); pao 1372 sound/pci/asihpi/hpi6205.c err = boot_loader_test_external_memory(pao, dsp); pao 1376 sound/pci/asihpi/hpi6205.c err = boot_loader_test_pld(pao, dsp); pao 1381 sound/pci/asihpi/hpi6205.c err = hpi_dsp_code_open(boot_code_id[dsp], pao->pci.pci_dev, pao 1409 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp, address, pao 1414 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, dsp, pao 1444 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp, pao 1484 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, pao 1488 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, 0, pao 1512 sound/pci/asihpi/hpi6205.c static u32 boot_loader_read_mem32(struct hpi_adapter_obj *pao, int dsp_index, pao 1515 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1523 sound/pci/asihpi/hpi6205.c p_data = pao->pci.ap_mem_base[1] + pao 1525 sound/pci/asihpi/hpi6205.c sizeof(*pao->pci.ap_mem_base[1]); pao 1538 sound/pci/asihpi/hpi6205.c p_data = pao->pci.ap_mem_base[0] + pao 1545 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAL_ADDR, address); pao 1546 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAH_ADDR, address >> 16); pao 1547 sound/pci/asihpi/hpi6205.c lsb = boot_loader_read_mem32(pao, 0, HPIDL_ADDR); pao 1548 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, 0, HPIDH_ADDR); pao 1554 sound/pci/asihpi/hpi6205.c static void boot_loader_write_mem32(struct hpi_adapter_obj *pao, pao 1557 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 1566 sound/pci/asihpi/hpi6205.c p_data = pao->pci.ap_mem_base[1] + pao 1568 sound/pci/asihpi/hpi6205.c sizeof(*pao->pci.ap_mem_base[1]); pao 1580 sound/pci/asihpi/hpi6205.c p_data = pao->pci.ap_mem_base[0] + pao 1586 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAL_ADDR, address); pao 1587 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAH_ADDR, address >> 16); pao 1590 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, 0, 0); pao 1592 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIDL_ADDR, data); pao 1593 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIDH_ADDR, data >> 16); pao 1596 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, 0, 0); pao 1600 sound/pci/asihpi/hpi6205.c static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index) pao 1615 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800000, 0x3779); pao 1626 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800008, setting); pao 1627 sound/pci/asihpi/hpi6205.c if (setting != boot_loader_read_mem32(pao, dsp_index, pao 1639 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800004, setting); pao 1640 sound/pci/asihpi/hpi6205.c if (setting != boot_loader_read_mem32(pao, dsp_index, pao 1651 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800010, setting); pao 1652 sound/pci/asihpi/hpi6205.c if (setting != boot_loader_read_mem32(pao, dsp_index, pao 1662 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800014, setting); pao 1663 sound/pci/asihpi/hpi6205.c if (setting != boot_loader_read_mem32(pao, dsp_index, pao 1669 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01800018, pao 1674 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x0180001C, pao 1683 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPICL_ADDR, write_data); pao 1684 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPICH_ADDR, write_data); pao 1687 sound/pci/asihpi/hpi6205.c 0xFFF7 & boot_loader_read_mem32(pao, 0, HPICL_ADDR); pao 1696 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAL_ADDR, pao 1698 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, HPIAH_ADDR, pao 1701 sound/pci/asihpi/hpi6205.c 0xFFFF & boot_loader_read_mem32(pao, 0, pao 1705 sound/pci/asihpi/hpi6205.c boot_loader_read_mem32(pao, 0, pao 1724 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01B7C100, 0x0000); pao 1727 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01B7C120, 0x8002); pao 1729 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01B7C11C, 0x8001); pao 1731 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01B7C118, 0x8000); pao 1736 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, (0x018C0024L), 0x00002A0A); pao 1738 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x01B7C100, 0x0001); pao 1741 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, (0x018C0024L), 0x00002A02); pao 1745 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, 0, 0x01800004, /* CE1 */ pao 1754 sound/pci/asihpi/hpi6205.c if ((boot_loader_read_mem32(pao, dsp_index, 0x01B7C100) & 0xF) pao 1760 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_GCTL, pao 1774 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_CE0, pao 1796 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_SDRAMEXT, pao 1816 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, C6713_EMIF_SDRAMCTL, pao 1822 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, pao 1833 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_memory(struct hpi_adapter_obj *pao, int dsp_index, pao 1850 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, test_addr, pao 1852 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp_index, pao 1871 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, test_addr, test_data); pao 1872 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, test_addr + 4, 0); pao 1873 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp_index, test_addr); pao 1882 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, test_addr, 0x0); pao 1888 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, test_addr, 0x0); pao 1893 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_internal_memory(struct hpi_adapter_obj *pao, pao 1900 sound/pci/asihpi/hpi6205.c err = boot_loader_test_memory(pao, dsp_index, 0x00000000, pao 1904 sound/pci/asihpi/hpi6205.c err = boot_loader_test_memory(pao, dsp_index, pao 1909 sound/pci/asihpi/hpi6205.c err = boot_loader_test_memory(pao, dsp_index, 0x00000000, pao 1913 sound/pci/asihpi/hpi6205.c err = boot_loader_test_memory(pao, dsp_index, pao 1923 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_external_memory(struct hpi_adapter_obj *pao, pao 1931 sound/pci/asihpi/hpi6205.c if (pao->pci.pci_dev->subsystem_device == 0x5000) { pao 1945 sound/pci/asihpi/hpi6205.c if (boot_loader_test_memory(pao, dsp_index, dRAM_start_address, pao 1951 sound/pci/asihpi/hpi6205.c static u16 boot_loader_test_pld(struct hpi_adapter_obj *pao, int dsp_index) pao 1956 sound/pci/asihpi/hpi6205.c if (pao->pci.pci_dev->subsystem_device == 0x5000) { pao 1958 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp_index, pao 1962 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp_index, pao 1969 sound/pci/asihpi/hpi6205.c if (pao->pci.pci_dev->subsystem_device == 0x8700) { pao 1971 sound/pci/asihpi/hpi6205.c data = boot_loader_read_mem32(pao, dsp_index, pao 1976 sound/pci/asihpi/hpi6205.c boot_loader_write_mem32(pao, dsp_index, 0x90000000, pao 1986 sound/pci/asihpi/hpi6205.c static short hpi6205_transfer_data(struct hpi_adapter_obj *pao, u8 *p_data, pao 1989 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 2084 sound/pci/asihpi/hpi6205.c static u16 message_response_sequence(struct hpi_adapter_obj *pao, pao 2088 sound/pci/asihpi/hpi6205.c struct hpi_hw_obj *phw = pao->priv; pao 2168 sound/pci/asihpi/hpi6205.c static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm, pao 2174 sound/pci/asihpi/hpi6205.c hpios_dsplock_lock(pao); pao 2176 sound/pci/asihpi/hpi6205.c err = message_response_sequence(pao, phm, phr); pao 2188 sound/pci/asihpi/hpi6205.c pao->dsp_crashed++; pao 2194 sound/pci/asihpi/hpi6205.c pao->dsp_crashed = 0; pao 2202 sound/pci/asihpi/hpi6205.c err = hpi6205_transfer_data(pao, phm->u.d.u.data.pb_data, pao 2208 sound/pci/asihpi/hpi6205.c err = hpi6205_transfer_data(pao, phm->u.d.u.data.pb_data, pao 2216 sound/pci/asihpi/hpi6205.c hpios_dsplock_unlock(pao); pao 57 sound/pci/asihpi/hpicmn.c u16 hpi_add_adapter(struct hpi_adapter_obj *pao) pao 64 sound/pci/asihpi/hpicmn.c if (pao->index >= HPI_MAX_ADAPTERS) { pao 69 sound/pci/asihpi/hpicmn.c if (adapters.adapter[pao->index].type) { pao 75 sound/pci/asihpi/hpicmn.c pao->type, pao->index, a); pao 76 sound/pci/asihpi/hpicmn.c pao->index = a; pao 85 sound/pci/asihpi/hpicmn.c adapters.adapter[pao->index] = *pao; pao 86 sound/pci/asihpi/hpicmn.c hpios_dsplock_init(&adapters.adapter[pao->index]); pao 94 sound/pci/asihpi/hpicmn.c void hpi_delete_adapter(struct hpi_adapter_obj *pao) pao 96 sound/pci/asihpi/hpicmn.c if (!pao->type) { pao 102 sound/pci/asihpi/hpicmn.c if (adapters.adapter[pao->index].type) pao 104 sound/pci/asihpi/hpicmn.c memset(&adapters.adapter[pao->index], 0, sizeof(adapters.adapter[0])); pao 115 sound/pci/asihpi/hpicmn.c struct hpi_adapter_obj *pao = NULL; pao 123 sound/pci/asihpi/hpicmn.c pao = &adapters.adapter[adapter_index]; pao 124 sound/pci/asihpi/hpicmn.c if (pao->type != 0) { pao 129 sound/pci/asihpi/hpicmn.c return pao; pao 13 sound/pci/asihpi/hpicmn.h typedef int adapter_int_func(struct hpi_adapter_obj *pao, u32 message); pao 48 sound/pci/asihpi/hpicmn.h u16 hpi_add_adapter(struct hpi_adapter_obj *pao); pao 50 sound/pci/asihpi/hpicmn.h void hpi_delete_adapter(struct hpi_adapter_obj *pao);