Lines Matching refs:pm8001_ha

59 	struct pm8001_hba_info *pm8001_ha = sha->lldd_ha;  in pm8001_ctl_mpi_interface_rev_show()  local
61 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_mpi_interface_rev_show()
63 pm8001_ha->main_cfg_tbl.pm8001_tbl.interface_rev); in pm8001_ctl_mpi_interface_rev_show()
66 pm8001_ha->main_cfg_tbl.pm80xx_tbl.interface_rev); in pm8001_ctl_mpi_interface_rev_show()
84 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_fw_version_show() local
86 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_fw_version_show()
88 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev >> 24), in pm8001_ctl_fw_version_show()
89 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev >> 16), in pm8001_ctl_fw_version_show()
90 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev >> 8), in pm8001_ctl_fw_version_show()
91 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev)); in pm8001_ctl_fw_version_show()
94 (u8)(pm8001_ha->main_cfg_tbl.pm80xx_tbl.firmware_rev >> 24), in pm8001_ctl_fw_version_show()
95 (u8)(pm8001_ha->main_cfg_tbl.pm80xx_tbl.firmware_rev >> 16), in pm8001_ctl_fw_version_show()
96 (u8)(pm8001_ha->main_cfg_tbl.pm80xx_tbl.firmware_rev >> 8), in pm8001_ctl_fw_version_show()
97 (u8)(pm8001_ha->main_cfg_tbl.pm80xx_tbl.firmware_rev)); in pm8001_ctl_fw_version_show()
113 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_max_out_io_show() local
115 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_max_out_io_show()
117 pm8001_ha->main_cfg_tbl.pm8001_tbl.max_out_io); in pm8001_ctl_max_out_io_show()
120 pm8001_ha->main_cfg_tbl.pm80xx_tbl.max_out_io); in pm8001_ctl_max_out_io_show()
136 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_max_devices_show() local
138 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_max_devices_show()
140 (u16)(pm8001_ha->main_cfg_tbl.pm8001_tbl.max_sgl >> 16) in pm8001_ctl_max_devices_show()
144 (u16)(pm8001_ha->main_cfg_tbl.pm80xx_tbl.max_sgl >> 16) in pm8001_ctl_max_devices_show()
162 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_max_sg_list_show() local
164 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_max_sg_list_show()
166 pm8001_ha->main_cfg_tbl.pm8001_tbl.max_sgl & 0x0000FFFF in pm8001_ctl_max_sg_list_show()
170 pm8001_ha->main_cfg_tbl.pm80xx_tbl.max_sgl & 0x0000FFFF in pm8001_ctl_max_sg_list_show()
207 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_sas_spec_support_show() local
209 if (pm8001_ha->chip_id == chip_8001) in pm8001_ctl_sas_spec_support_show()
210 mode = (pm8001_ha->main_cfg_tbl.pm8001_tbl.ctrl_cap_flag & in pm8001_ctl_sas_spec_support_show()
214 mode = (pm8001_ha->main_cfg_tbl.pm80xx_tbl.ctrl_cap_flag & in pm8001_ctl_sas_spec_support_show()
235 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_host_sas_address_show() local
237 be64_to_cpu(*(__be64 *)pm8001_ha->sas_addr)); in pm8001_ctl_host_sas_address_show()
254 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_logging_level_show() local
256 return snprintf(buf, PAGE_SIZE, "%08xh\n", pm8001_ha->logging_level); in pm8001_ctl_logging_level_show()
263 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_logging_level_store() local
269 pm8001_ha->logging_level = val; in pm8001_ctl_logging_level_store()
287 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_aap_log_show() local
290 (*(u32 *)((u8*)pm8001_ha->memoryMap.region[AAP1].virt_ptr + (r) * 32 \ in pm8001_ctl_aap_log_show()
322 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_ib_queue_log_show() local
327 (*(u32 *)((u8 *)pm8001_ha-> \ in pm8001_ctl_ib_queue_log_show()
329 pm8001_ha->evtlog_ib_offset + (c))) in pm8001_ctl_ib_queue_log_show()
335 pm8001_ha->evtlog_ib_offset += SYSFS_OFFSET; in pm8001_ctl_ib_queue_log_show()
336 if (((pm8001_ha->evtlog_ib_offset) % (PM80XX_IB_OB_QUEUE_SIZE)) == 0) in pm8001_ctl_ib_queue_log_show()
337 pm8001_ha->evtlog_ib_offset = 0; in pm8001_ctl_ib_queue_log_show()
355 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_ob_queue_log_show() local
360 (*(u32 *)((u8 *)pm8001_ha-> \ in pm8001_ctl_ob_queue_log_show()
362 pm8001_ha->evtlog_ob_offset + (c))) in pm8001_ctl_ob_queue_log_show()
368 pm8001_ha->evtlog_ob_offset += SYSFS_OFFSET; in pm8001_ctl_ob_queue_log_show()
369 if (((pm8001_ha->evtlog_ob_offset) % (PM80XX_IB_OB_QUEUE_SIZE)) == 0) in pm8001_ctl_ob_queue_log_show()
370 pm8001_ha->evtlog_ob_offset = 0; in pm8001_ctl_ob_queue_log_show()
386 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_bios_version_show() local
392 pm8001_ha->nvmd_completion = &completion; in pm8001_ctl_bios_version_show()
399 if (PM8001_CHIP_DISP->get_nvmd_req(pm8001_ha, &payload)) { in pm8001_ctl_bios_version_show()
424 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_iop_log_show() local
426 (*(u32 *)((u8*)pm8001_ha->memoryMap.region[IOP].virt_ptr + (r) * 32 \ in pm8001_ctl_iop_log_show()
523 static int pm8001_set_nvmd(struct pm8001_hba_info *pm8001_ha) in pm8001_set_nvmd() argument
531 if (pm8001_ha->fw_image->size > 4096) { in pm8001_set_nvmd()
532 pm8001_ha->fw_status = FAIL_FILE_SIZE; in pm8001_set_nvmd()
538 pm8001_ha->fw_status = FAIL_OUT_MEMORY; in pm8001_set_nvmd()
542 memcpy((u8 *)&payload->func_specific, (u8 *)pm8001_ha->fw_image->data, in pm8001_set_nvmd()
543 pm8001_ha->fw_image->size); in pm8001_set_nvmd()
544 payload->length = pm8001_ha->fw_image->size; in pm8001_set_nvmd()
547 pm8001_ha->nvmd_completion = &completion; in pm8001_set_nvmd()
548 ret = PM8001_CHIP_DISP->set_nvmd_req(pm8001_ha, payload); in pm8001_set_nvmd()
550 pm8001_ha->fw_status = FAIL_OUT_MEMORY; in pm8001_set_nvmd()
559 static int pm8001_update_flash(struct pm8001_hba_info *pm8001_ha) in pm8001_update_flash() argument
572 if (pm8001_ha->fw_image->size < 28) { in pm8001_update_flash()
573 pm8001_ha->fw_status = FAIL_FILE_SIZE; in pm8001_update_flash()
578 pm8001_ha->fw_status = FAIL_OUT_MEMORY; in pm8001_update_flash()
581 image_hdr = (struct pm8001_fw_image_header *)pm8001_ha->fw_image->data; in pm8001_update_flash()
582 while (sizeRead < pm8001_ha->fw_image->size) { in pm8001_update_flash()
606 (u8 *)pm8001_ha->fw_image->data + sizeRead, in pm8001_update_flash()
612 (u8 *)pm8001_ha->fw_image->data + sizeRead, in pm8001_update_flash()
617 pm8001_ha->nvmd_completion = &completion; in pm8001_update_flash()
618 ret = PM8001_CHIP_DISP->fw_flash_update_req(pm8001_ha, payload); in pm8001_update_flash()
620 pm8001_ha->fw_status = FAIL_OUT_MEMORY; in pm8001_update_flash()
625 pm8001_ha->fw_status = fwControl->retcode; in pm8001_update_flash()
641 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_store_update_fw() local
652 if (pm8001_ha->fw_status == FLASH_IN_PROGRESS) in pm8001_store_update_fw()
654 pm8001_ha->fw_status = FLASH_IN_PROGRESS; in pm8001_store_update_fw()
658 pm8001_ha->fw_status = FAIL_OUT_MEMORY; in pm8001_store_update_fw()
665 pm8001_ha->fw_status = FAIL_PARAMETERS; in pm8001_store_update_fw()
678 pm8001_ha->fw_status = FAIL_PARAMETERS; in pm8001_store_update_fw()
683 ret = request_firmware(&pm8001_ha->fw_image, in pm8001_store_update_fw()
685 pm8001_ha->dev); in pm8001_store_update_fw()
688 PM8001_FAIL_DBG(pm8001_ha, in pm8001_store_update_fw()
692 pm8001_ha->fw_status = FAIL_OPEN_BIOS_FILE; in pm8001_store_update_fw()
697 ret = pm8001_update_flash(pm8001_ha); in pm8001_store_update_fw()
699 ret = pm8001_set_nvmd(pm8001_ha); in pm8001_store_update_fw()
701 release_firmware(pm8001_ha->fw_image); in pm8001_store_update_fw()
708 pm8001_ha->fw_status = FLASH_OK; in pm8001_store_update_fw()
718 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_show_update_fw() local
721 if (flash_error_table[i].err_code == pm8001_ha->fw_status) in pm8001_show_update_fw()
724 if (pm8001_ha->fw_status != FLASH_IN_PROGRESS) in pm8001_show_update_fw()
725 pm8001_ha->fw_status = FLASH_OK; in pm8001_show_update_fw()