/openbmc/linux/drivers/scsi/aic94xx/ |
H A D | aic94xx_seq.c | 285 asd_pause_cseq(asd_ha); in asd_download_seq() 353 asd_pause_cseq(asd_ha); in asd_download_seq() 578 asd_init_cseq_mip(asd_ha); in asd_init_cseq_scratch() 579 asd_init_cseq_mdp(asd_ha); in asd_init_cseq_scratch() 706 asd_write_reg_word(asd_ha, in asd_init_lseq_mdp() 709 asd_write_reg_word(asd_ha, in asd_init_lseq_mdp() 711 asd_write_reg_word(asd_ha, in asd_init_lseq_mdp() 713 asd_write_reg_word(asd_ha, in asd_init_lseq_mdp() 715 asd_write_reg_word(asd_ha, in asd_init_lseq_mdp() 921 asd_ha->seq.scbpro = 0; in asd_init_cseq_cio() [all …]
|
H A D | aic94xx_dump.c | 276 PRINT_CREG_8bit(asd_ha, MODEPTR); in asd_dump_cseq_state() 277 PRINT_CREG_8bit(asd_ha, ALTMODE); in asd_dump_cseq_state() 278 PRINT_CREG_8bit(asd_ha, FLAG); in asd_dump_cseq_state() 280 PRINT_CREG_16bit(asd_ha, STACK); in asd_dump_cseq_state() 282 PRINT_CREG_16bit(asd_ha, ACCUM); in asd_dump_cseq_state() 285 PRINT_CREG_8bit(asd_ha, SINDIR); in asd_dump_cseq_state() 286 PRINT_CREG_8bit(asd_ha, DINDIR); in asd_dump_cseq_state() 342 PRINT_MIS_word(asd_ha, REG0); in asd_dump_cseq_state() 343 PRINT_MIS_word(asd_ha, REG1); in asd_dump_cseq_state() 344 PRINT_MIS_dword(asd_ha, REG2); in asd_dump_cseq_state() [all …]
|
H A D | aic94xx_hwi.c | 202 asd_ha->seq.tc_index_bitmap_bits = asd_ha->hw_prof.max_scbs; in asd_init_scbs() 203 asd_ha->seq.tc_index_array = kcalloc(asd_ha->seq.tc_index_bitmap_bits, in asd_init_scbs() 240 asd_ha->hw_prof.max_scbs = asd_get_cmdctx_size(asd_ha)/ASD_SCB_SIZE; in asd_get_max_scb_ddb() 241 asd_ha->hw_prof.max_ddbs = asd_get_devctx_size(asd_ha)/ASD_DDB_SIZE; in asd_get_max_scb_ddb() 253 asd_ha->seq.actual_dl in asd_init_dl() 259 asd_ha->seq.dl = asd_ha->seq.actual_dl->vaddr; in asd_init_dl() 517 asd_ha->hw_prof.ddb_ext = asd_alloc_coherent(asd_ha, size, GFP_KERNEL); in asd_extend_devctx() 553 asd_ha->hw_prof.scb_ext = asd_alloc_coherent(asd_ha, size, GFP_KERNEL); in asd_extend_cmdctx() 1192 can_queue = asd_ha->hw_prof.max_scbs - asd_ha->seq.pending; in asd_post_ascb_list() 1212 asd_write_reg_dword(asd_ha, SCBPRO, (u32)asd_ha->seq.scbpro); in asd_post_ascb_list() [all …]
|
H A D | aic94xx_init.c | 201 asd_ha->revision_id = asd_ha->pcidev->revision; in asd_common_setup() 569 asd_free_coherent(asd_ha, asd_ha->hw_prof.ddb_ext); in asd_destroy_ha_caches() 571 asd_free_coherent(asd_ha, asd_ha->hw_prof.scb_ext); in asd_destroy_ha_caches() 596 asd_free_coherent(asd_ha, asd_ha->seq.actual_dl); in asd_destroy_ha_caches() 669 asd_ha->sas_ha.sas_ha_name = (char *) asd_ha->name; in asd_register_sas_ha() 670 asd_ha->sas_ha.sas_addr = &asd_ha->hw_prof.sas_addr[0]; in asd_register_sas_ha() 727 asd_ha = kzalloc(sizeof(*asd_ha), GFP_KERNEL); in asd_pci_probe() 733 asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; in asd_pci_probe() 734 asd_ha->sas_ha.lldd_ha = asd_ha; in asd_pci_probe() 781 asd_ha->hw_prof.pcba_sn, asd_ha->hw_prof.max_phys, in asd_pci_probe() [all …]
|
H A D | aic94xx_reg.c | 20 if (unlikely(asd_ha->iospace)) in asd_write_byte() 31 if (unlikely(asd_ha->iospace)) in asd_write_word() 42 if (unlikely(asd_ha->iospace)) in asd_write_dword() 55 if (unlikely(asd_ha->iospace)) in asd_read_byte() 68 if (unlikely(asd_ha->iospace)) in asd_read_word() 81 if (unlikely(asd_ha->iospace)) in asd_read_dword() 174 asd_ha->io_handle[0].swb_base = base; in asd_move_swb() 183 asd_write_swa_byte (asd_ha, reg,val); in __asd_write_reg_byte() 186 asd_write_swb_byte (asd_ha, reg, val); in __asd_write_reg_byte() 192 asd_move_swb(asd_ha, reg); in __asd_write_reg_byte() [all …]
|
H A D | aic94xx_sds.c | 120 if (unlikely(asd_ha->iospace)) in asd_read_ocm_seg() 165 if (unlikely(asd_ha->iospace)) in asd_write_ocm_seg() 248 asd_ha->hw_prof.ue.size); in asd_get_bios_chim() 249 size = asd_ha->hw_prof.ue.num * asd_ha->hw_prof.ue.size; in asd_get_bios_chim() 253 if (!asd_ha->hw_prof.ue.area) in asd_get_bios_chim() 255 err = asd_read_ocm_seg(asd_ha, (void *)asd_ha->hw_prof.ue.area, in asd_get_bios_chim() 556 d = asd_read_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar); in asd_poll_flash() 557 d ^= asd_read_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar); in asd_poll_flash() 572 asd_write_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar, FLASH_RESET); in asd_reset_flash() 581 asd_read_reg_string(asd_ha, buffer, asd_ha->hw_prof.flash.bar+offs, in asd_read_flash_seg() [all …]
|
H A D | aic94xx_reg.h | 104 return asd_ddbsite_read_word(asd_ha, ddb_site_no, in asd_ddbsite_read_byte() 107 return asd_ddbsite_read_word(asd_ha, ddb_site_no, in asd_ddbsite_read_byte() 157 return asd_scbsite_read_word(asd_ha, scb_site_no, in asd_scbsite_read_byte() 160 return asd_scbsite_read_word(asd_ha, scb_site_no, in asd_scbsite_read_byte() 214 asd_write_reg_word(asd_ha, AOLDDATA, oldval); in asd_ddbsite_update_word() 215 asd_write_reg_word(asd_ha, ANEWDATA, newval); in asd_ddbsite_update_word() 217 done = asd_read_reg_byte(asd_ha, ATOMICSTATCTL); in asd_ddbsite_update_word() 270 asd_write_reg_dword(asd_ha, CHIMINTEN, RST_CHIMINTEN); in asd_disable_ints() 276 asd_write_reg_dword(asd_ha, COMSTATEN, in asd_enable_ints() 279 asd_write_reg_dword(asd_ha, DCHSTATUS, EN_CFIFTOERR); in asd_enable_ints() [all …]
|
H A D | aic94xx_dev.c | 25 ddb = FIND_FREE_DDB(asd_ha); in asd_get_ddb() 26 if (ddb >= asd_ha->hw_prof.max_ddbs) { in asd_get_ddb() 30 SET_DDB(ddb, asd_ha); in asd_get_ddb() 62 CLEAR_DDB(ddb, asd_ha); in asd_free_ddb() 83 ddb = asd_get_ddb(asd_ha); in asd_init_sata_tag_ddb() 143 ddb = asd_get_ddb(asd_ha); in asd_init_target_ddb() 198 asd_free_ddb(asd_ha, ddb); in asd_init_target_ddb() 221 ddb = asd_get_ddb(asd_ha); in asd_init_sata_pm_table_ddb() 251 ddb = asd_get_ddb(asd_ha); in asd_init_sata_pm_port_ddb() 270 asd_free_ddb(asd_ha, ddb); in asd_init_sata_pm_port_ddb() [all …]
|
H A D | aic94xx_scb.c | 81 asd_turn_led(asd_ha, phy_id, 0); in asd_phy_event_tasklet() 88 asd_turn_led(asd_ha, phy_id, 1); in asd_phy_event_tasklet() 96 asd_turn_led(asd_ha, phy_id, 1); in asd_phy_event_tasklet() 104 asd_turn_led(asd_ha, phy_id, 0); in asd_phy_event_tasklet() 118 if (&asd_ha->phys[i] == phy) in ord_phy() 145 addr += asd_ha->hw_prof.sata_name_base + ord_phy(asd_ha, phy); in asd_get_attached_sas_addr() 165 port = &asd_ha->asd_ports[i]; in asd_form_port() 270 asd_turn_led(asd_ha, phy_id, 0); in asd_link_reset_err_tasklet() 272 asd_deform_port(asd_ha, phy); in asd_link_reset_err_tasklet() 339 asd_deform_port(asd_ha, phy); in asd_primitive_rcvd_tasklet() [all …]
|
H A D | aic94xx_hwi.h | 242 asd_ha, size_t size, in asd_alloc_coherent() 248 token->vaddr = dma_alloc_coherent(&asd_ha->pcidev->dev, in asd_alloc_coherent() 264 dma_free_coherent(&asd_ha->pcidev->dev, token->size, in asd_free_coherent() 270 static inline void asd_init_ascb(struct asd_ha_struct *asd_ha, in asd_init_ascb() argument 275 ascb->ha = asd_ha; in asd_init_ascb() 322 struct asd_ha_struct *asd_ha = ascb->ha; in asd_ascb_free() local 329 dma_pool_free(asd_ha->scb_pool, ascb->dma_scb.vaddr, in asd_ascb_free() 357 int asd_init_hw(struct asd_ha_struct *asd_ha); 362 *asd_ha, int *num, 370 int asd_init_post_escbs(struct asd_ha_struct *asd_ha); [all …]
|
H A D | aic94xx_task.c | 23 asd_ha->seq.can_queue += num; in asd_can_dequeue() 41 struct asd_ha_struct *asd_ha = ascb->ha; in asd_map_scatterlist() local 75 ascb->sg_arr = asd_alloc_coherent(asd_ha, in asd_map_scatterlist() 121 struct asd_ha_struct *asd_ha = ascb->ha; in asd_unmap_scatterlist() local 135 asd_free_coherent(asd_ha, ascb->sg_arr); in asd_unmap_scatterlist() 146 struct asd_ha_struct *asd_ha = ascb->ha; in asd_get_response_tasklet() local 163 escb = asd_tc_index_find(&asd_ha->seq, in asd_get_response_tasklet() 513 if ((asd_ha->seq.can_queue - num) < 0) in asd_can_queue() 516 asd_ha->seq.can_queue -= num; in asd_can_queue() 530 res = asd_can_queue(asd_ha, 1); in asd_execute_task() [all …]
|
H A D | aic94xx_sds.h | 94 int asd_verify_flash_seg(struct asd_ha_struct *asd_ha, 96 int asd_write_flash_seg(struct asd_ha_struct *asd_ha, 98 int asd_chk_write_status(struct asd_ha_struct *asd_ha, 100 int asd_check_flash_type(struct asd_ha_struct *asd_ha); 101 int asd_erase_nv_sector(struct asd_ha_struct *asd_ha,
|
H A D | aic94xx_tmf.c | 90 ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL); \ 117 struct asd_ha_struct *asd_ha = sas_ha->lldd_ha; in asd_clear_nexus_ha() local 126 struct asd_ha_struct *asd_ha = port->ha->lldd_ha; in asd_clear_nexus_port() local 143 struct asd_ha_struct *asd_ha = dev->port->ha->lldd_ha; in asd_clear_nexus_I_T() local 203 struct asd_ha_struct *asd_ha = dev->port->ha->lldd_ha; in asd_clear_nexus_I_T_L() local 258 struct asd_ha_struct *asd_ha = ascb->ha; in asd_get_tmf_resp_tasklet() local 275 spin_lock_irqsave(&asd_ha->seq.tc_index_lock, flags); in asd_get_tmf_resp_tasklet() 276 escb = asd_tc_index_find(&asd_ha->seq, in asd_get_tmf_resp_tasklet() 285 edb = asd_ha->seq.edb_arr[edb_id + escb->edb_index]; in asd_get_tmf_resp_tasklet() 389 struct asd_ha_struct *asd_ha = tascb->ha; in asd_abort_task() local [all …]
|
H A D | aic94xx_seq.h | 43 int asd_init_seqs(struct asd_ha_struct *asd_ha); 44 int asd_start_seqs(struct asd_ha_struct *asd_ha); 47 void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy);
|
H A D | aic94xx_dump.h | 14 void asd_dump_seq_state(struct asd_ha_struct *asd_ha, u8 lseq_mask); 19 static inline void asd_dump_seq_state(struct asd_ha_struct *asd_ha, in asd_dump_seq_state() argument
|
H A D | aic94xx.h | 48 int asd_read_ocm(struct asd_ha_struct *asd_ha); 49 int asd_read_flash(struct asd_ha_struct *asd_ha);
|