hostrcb 1109 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1117 drivers/scsi/ipr.c list_add_tail(&hostrcb->queue, &ioa_cfg->hostrcb_pending_q); hostrcb 1119 drivers/scsi/ipr.c ipr_cmd->u.hostrcb = hostrcb; hostrcb 1126 drivers/scsi/ipr.c ioarcb->cmd_pkt.cdb[7] = (sizeof(hostrcb->hcam) >> 8) & 0xff; hostrcb 1127 drivers/scsi/ipr.c ioarcb->cmd_pkt.cdb[8] = sizeof(hostrcb->hcam) & 0xff; hostrcb 1129 drivers/scsi/ipr.c ipr_init_ioadl(ipr_cmd, hostrcb->hostrcb_dma, hostrcb 1130 drivers/scsi/ipr.c sizeof(hostrcb->hcam), IPR_IOADL_FLAGS_READ_LAST); hostrcb 1141 drivers/scsi/ipr.c list_add_tail(&hostrcb->queue, &ioa_cfg->hostrcb_free_q); hostrcb 1430 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1439 drivers/scsi/ipr.c cfgtew.u.cfgte64 = &hostrcb->hcam.u.ccn.u.cfgte64; hostrcb 1442 drivers/scsi/ipr.c cfgtew.u.cfgte = &hostrcb->hcam.u.ccn.u.cfgte; hostrcb 1457 drivers/scsi/ipr.c hostrcb); hostrcb 1471 drivers/scsi/ipr.c if (hostrcb->hcam.notify_type == IPR_HOST_RCB_NOTIF_TYPE_REM_ENTRY) { hostrcb 1485 drivers/scsi/ipr.c ipr_send_hcam(ioa_cfg, IPR_HCAM_CDB_OP_CODE_CONFIG_CHANGE, hostrcb); hostrcb 1501 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb = ipr_cmd->u.hostrcb; hostrcb 1504 drivers/scsi/ipr.c list_del_init(&hostrcb->queue); hostrcb 1513 drivers/scsi/ipr.c ipr_send_hcam(ioa_cfg, IPR_HCAM_CDB_OP_CODE_CONFIG_CHANGE, hostrcb); hostrcb 1515 drivers/scsi/ipr.c ipr_handle_config_change(ioa_cfg, hostrcb); hostrcb 1548 drivers/scsi/ipr.c static void ipr_log_vpd_compact(char *prefix, struct ipr_hostrcb *hostrcb, hostrcb 1563 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s VPID/SN: %s\n", prefix, buffer); hostrcb 1598 drivers/scsi/ipr.c static void ipr_log_ext_vpd_compact(char *prefix, struct ipr_hostrcb *hostrcb, hostrcb 1601 drivers/scsi/ipr.c ipr_log_vpd_compact(prefix, hostrcb, &vpd->vpd); hostrcb 1602 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s WWN: %08X%08X\n", prefix, hostrcb 1629 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1634 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_12_error; hostrcb 1636 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_12_error; hostrcb 1665 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1668 drivers/scsi/ipr.c &hostrcb->hcam.u.error.u.type_02_error; hostrcb 1697 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1703 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_13_error; hostrcb 1737 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1744 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_23_error; hostrcb 1780 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1786 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_03_error; hostrcb 1827 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1834 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_14_error; hostrcb 1878 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1885 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_04_error; hostrcb 1961 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1966 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_17_error; hostrcb 1968 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_17_error; hostrcb 1973 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s [PRC: %08X]\n", error->failure_reason, hostrcb 1974 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.u.error.prc)); hostrcb 1975 drivers/scsi/ipr.c ipr_log_ext_vpd_compact("Remote IOA", hostrcb, &error->vpd); hostrcb 1977 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.length) - hostrcb 1991 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 1995 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_07_error; hostrcb 1999 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s [PRC: %08X]\n", error->failure_reason, hostrcb 2000 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.u.error.prc)); hostrcb 2001 drivers/scsi/ipr.c ipr_log_vpd_compact("Remote IOA", hostrcb, &error->vpd); hostrcb 2003 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.length) - hostrcb 2035 drivers/scsi/ipr.c static void ipr_log_fabric_path(struct ipr_hostrcb *hostrcb, hostrcb 2052 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: IOA Port=%d\n", hostrcb 2056 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: IOA Port=%d, Phy=%d\n", hostrcb 2060 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: IOA Port=%d, Cascade=%d\n", hostrcb 2064 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: IOA Port=%d, Cascade=%d, Phy=%d\n", hostrcb 2084 drivers/scsi/ipr.c static void ipr_log64_fabric_path(struct ipr_hostrcb *hostrcb, hostrcb 2101 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Resource Path=%s\n", hostrcb 2103 drivers/scsi/ipr.c ipr_format_res_path(hostrcb->ioa_cfg, hostrcb 2111 drivers/scsi/ipr.c ipr_format_res_path(hostrcb->ioa_cfg, fabric->res_path, hostrcb 2164 drivers/scsi/ipr.c static void ipr_log_path_elem(struct ipr_hostrcb *hostrcb, hostrcb 2183 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Phy=%d, Link rate=%s, WWN=%08X%08X\n", hostrcb 2189 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Link rate=%s, WWN=%08X%08X\n", hostrcb 2194 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Phy=%d, Link rate=%s, " hostrcb 2200 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Cascade=%d, Link rate=%s, " hostrcb 2206 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Cascade=%d, Phy=%d, Link rate=%s " hostrcb 2217 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "Path element=%02X: Cascade=%d Phy=%d Link rate=%s " hostrcb 2231 drivers/scsi/ipr.c static void ipr_log64_path_elem(struct ipr_hostrcb *hostrcb, hostrcb 2251 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s %s: Resource Path=%s, Link rate=%s, WWN=%08X%08X\n", hostrcb 2253 drivers/scsi/ipr.c ipr_format_res_path(hostrcb->ioa_cfg, hostrcb 2261 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "Path element=%02X: Resource Path=%s, Link rate=%s " hostrcb 2263 drivers/scsi/ipr.c ipr_format_res_path(hostrcb->ioa_cfg, hostrcb 2278 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2285 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error.u.type_20_error; hostrcb 2287 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s\n", error->failure_reason); hostrcb 2289 drivers/scsi/ipr.c add_len = be32_to_cpu(hostrcb->hcam.length) - hostrcb 2294 drivers/scsi/ipr.c ipr_log_fabric_path(hostrcb, fabric); hostrcb 2296 drivers/scsi/ipr.c ipr_log_path_elem(hostrcb, cfg); hostrcb 2315 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2323 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_24_error; hostrcb 2371 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2378 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_30_error; hostrcb 2381 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s\n", error->failure_reason); hostrcb 2383 drivers/scsi/ipr.c add_len = be32_to_cpu(hostrcb->hcam.length) - hostrcb 2388 drivers/scsi/ipr.c ipr_log64_fabric_path(hostrcb, fabric); hostrcb 2390 drivers/scsi/ipr.c ipr_log64_path_elem(hostrcb, cfg); hostrcb 2409 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2413 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_41_error; hostrcb 2418 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.length) - hostrcb 2431 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2433 drivers/scsi/ipr.c ipr_log_hex_data(ioa_cfg, hostrcb->hcam.u.raw.data, hostrcb 2434 drivers/scsi/ipr.c be32_to_cpu(hostrcb->hcam.length)); hostrcb 2446 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2451 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_21_error; hostrcb 2506 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb) hostrcb 2512 drivers/scsi/ipr.c if (hostrcb->hcam.notify_type != IPR_HOST_RCB_NOTIF_TYPE_ERROR_LOG_ENTRY) hostrcb 2515 drivers/scsi/ipr.c if (hostrcb->hcam.notifications_lost == IPR_HOST_RCB_NOTIFICATIONS_LOST) hostrcb 2519 drivers/scsi/ipr.c ioasc = be32_to_cpu(hostrcb->hcam.u.error64.fd_ioasc); hostrcb 2521 drivers/scsi/ipr.c ioasc = be32_to_cpu(hostrcb->hcam.u.error.fd_ioasc); hostrcb 2527 drivers/scsi/ipr.c hostrcb->hcam.u.error.fd_res_addr.bus); hostrcb 2536 drivers/scsi/ipr.c hostrcb->hcam.overlay_id == IPR_HOST_RCB_OVERLAY_ID_21) { hostrcb 2537 drivers/scsi/ipr.c error = &hostrcb->hcam.u.error64.u.type_21_error; hostrcb 2544 drivers/scsi/ipr.c ipr_hcam_err(hostrcb, "%s\n", ipr_error_table[error_index].error); hostrcb 2551 drivers/scsi/ipr.c if (be32_to_cpu(hostrcb->hcam.length) > sizeof(hostrcb->hcam.u.raw)) hostrcb 2552 drivers/scsi/ipr.c hostrcb->hcam.length = cpu_to_be32(sizeof(hostrcb->hcam.u.raw)); hostrcb 2554 drivers/scsi/ipr.c switch (hostrcb->hcam.overlay_id) { hostrcb 2556 drivers/scsi/ipr.c ipr_log_cache_error(ioa_cfg, hostrcb); hostrcb 2559 drivers/scsi/ipr.c ipr_log_config_error(ioa_cfg, hostrcb); hostrcb 2563 drivers/scsi/ipr.c ipr_log_array_error(ioa_cfg, hostrcb); hostrcb 2566 drivers/scsi/ipr.c ipr_log_dual_ioa_error(ioa_cfg, hostrcb); hostrcb 2569 drivers/scsi/ipr.c ipr_log_enhanced_cache_error(ioa_cfg, hostrcb); hostrcb 2572 drivers/scsi/ipr.c ipr_log_enhanced_config_error(ioa_cfg, hostrcb); hostrcb 2576 drivers/scsi/ipr.c ipr_log_enhanced_array_error(ioa_cfg, hostrcb); hostrcb 2579 drivers/scsi/ipr.c ipr_log_enhanced_dual_ioa_error(ioa_cfg, hostrcb); hostrcb 2582 drivers/scsi/ipr.c ipr_log_fabric_error(ioa_cfg, hostrcb); hostrcb 2585 drivers/scsi/ipr.c ipr_log_sis64_device_error(ioa_cfg, hostrcb); hostrcb 2588 drivers/scsi/ipr.c ipr_log_sis64_config_error(ioa_cfg, hostrcb); hostrcb 2592 drivers/scsi/ipr.c ipr_log_sis64_array_error(ioa_cfg, hostrcb); hostrcb 2595 drivers/scsi/ipr.c ipr_log_sis64_fabric_error(ioa_cfg, hostrcb); hostrcb 2598 drivers/scsi/ipr.c ipr_log_sis64_service_required_error(ioa_cfg, hostrcb); hostrcb 2603 drivers/scsi/ipr.c ipr_log_generic_error(ioa_cfg, hostrcb); hostrcb 2610 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb; hostrcb 2612 drivers/scsi/ipr.c hostrcb = list_first_entry_or_null(&ioa->hostrcb_free_q, hostrcb 2615 drivers/scsi/ipr.c if (unlikely(!hostrcb)) { hostrcb 2617 drivers/scsi/ipr.c hostrcb = list_first_entry_or_null(&ioa->hostrcb_report_q, hostrcb 2621 drivers/scsi/ipr.c list_del_init(&hostrcb->queue); hostrcb 2622 drivers/scsi/ipr.c return hostrcb; hostrcb 2639 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb = ipr_cmd->u.hostrcb; hostrcb 2644 drivers/scsi/ipr.c fd_ioasc = be32_to_cpu(hostrcb->hcam.u.error64.fd_ioasc); hostrcb 2646 drivers/scsi/ipr.c fd_ioasc = be32_to_cpu(hostrcb->hcam.u.error.fd_ioasc); hostrcb 2648 drivers/scsi/ipr.c list_del_init(&hostrcb->queue); hostrcb 2652 drivers/scsi/ipr.c ipr_handle_log_data(ioa_cfg, hostrcb); hostrcb 2661 drivers/scsi/ipr.c list_add_tail(&hostrcb->queue, &ioa_cfg->hostrcb_report_q); hostrcb 2663 drivers/scsi/ipr.c hostrcb = ipr_get_free_hostrcb(ioa_cfg); hostrcb 2665 drivers/scsi/ipr.c ipr_send_hcam(ioa_cfg, IPR_HCAM_CDB_OP_CODE_LOG_DATA, hostrcb); hostrcb 4176 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb; hostrcb 4181 drivers/scsi/ipr.c hostrcb = list_first_entry_or_null(&ioa_cfg->hostrcb_report_q, hostrcb 4183 drivers/scsi/ipr.c if (!hostrcb) { hostrcb 4187 drivers/scsi/ipr.c ret = memory_read_from_buffer(buf, count, &off, &hostrcb->hcam, hostrcb 4188 drivers/scsi/ipr.c sizeof(hostrcb->hcam)); hostrcb 4200 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb; hostrcb 4204 drivers/scsi/ipr.c hostrcb = list_first_entry_or_null(&ioa_cfg->hostrcb_report_q, hostrcb 4206 drivers/scsi/ipr.c if (!hostrcb) { hostrcb 4212 drivers/scsi/ipr.c list_move_tail(&hostrcb->queue, &ioa_cfg->hostrcb_free_q); hostrcb 7283 drivers/scsi/ipr.c list_del_init(&ioa_cfg->hostrcb[j]->queue); hostrcb 7287 drivers/scsi/ipr.c ioa_cfg->hostrcb[j]); hostrcb 7291 drivers/scsi/ipr.c ioa_cfg->hostrcb[j]); hostrcb 8532 drivers/scsi/ipr.c struct ipr_hostrcb *hostrcb; hostrcb 8563 drivers/scsi/ipr.c hostrcb = list_entry(ioa_cfg->hostrcb_free_q.next, hostrcb 8565 drivers/scsi/ipr.c list_del_init(&hostrcb->queue); hostrcb 8566 drivers/scsi/ipr.c memset(&hostrcb->hcam, 0, sizeof(hostrcb->hcam)); hostrcb 8570 drivers/scsi/ipr.c (__be32 *)&hostrcb->hcam, hostrcb 8571 drivers/scsi/ipr.c min(length, (int)sizeof(hostrcb->hcam)) / sizeof(__be32)); hostrcb 8574 drivers/scsi/ipr.c ipr_handle_log_data(ioa_cfg, hostrcb); hostrcb 8575 drivers/scsi/ipr.c ioasc = be32_to_cpu(hostrcb->hcam.u.error.fd_ioasc); hostrcb 8582 drivers/scsi/ipr.c list_add_tail(&hostrcb->queue, &ioa_cfg->hostrcb_free_q); hostrcb 9567 drivers/scsi/ipr.c ioa_cfg->hostrcb[i], hostrcb 9794 drivers/scsi/ipr.c ioa_cfg->hostrcb[i] = dma_alloc_coherent(&pdev->dev, hostrcb 9799 drivers/scsi/ipr.c if (!ioa_cfg->hostrcb[i]) hostrcb 9802 drivers/scsi/ipr.c ioa_cfg->hostrcb[i]->hostrcb_dma = hostrcb 9804 drivers/scsi/ipr.c ioa_cfg->hostrcb[i]->ioa_cfg = ioa_cfg; hostrcb 9805 drivers/scsi/ipr.c list_add_tail(&ioa_cfg->hostrcb[i]->queue, &ioa_cfg->hostrcb_free_q); hostrcb 9823 drivers/scsi/ipr.c ioa_cfg->hostrcb[i], hostrcb 1532 drivers/scsi/ipr.h struct ipr_hostrcb *hostrcb[IPR_MAX_HCAMS]; hostrcb 1630 drivers/scsi/ipr.h struct ipr_hostrcb *hostrcb; hostrcb 1807 drivers/scsi/ipr.h #define ipr_hcam_err(hostrcb, fmt, ...) \ hostrcb 1809 drivers/scsi/ipr.h if (ipr_is_device(hostrcb)) { \ hostrcb 1810 drivers/scsi/ipr.h if ((hostrcb)->ioa_cfg->sis64) { \ hostrcb 1812 drivers/scsi/ipr.h ipr_format_res_path(hostrcb->ioa_cfg, \ hostrcb 1813 drivers/scsi/ipr.h hostrcb->hcam.u.error64.fd_res_path, \ hostrcb 1814 drivers/scsi/ipr.h hostrcb->rp_buffer, \ hostrcb 1815 drivers/scsi/ipr.h sizeof(hostrcb->rp_buffer)), \ hostrcb 1818 drivers/scsi/ipr.h ipr_ra_err((hostrcb)->ioa_cfg, \ hostrcb 1819 drivers/scsi/ipr.h (hostrcb)->hcam.u.error.fd_res_addr, \ hostrcb 1823 drivers/scsi/ipr.h dev_err(&(hostrcb)->ioa_cfg->pdev->dev, fmt, __VA_ARGS__); \ hostrcb 1939 drivers/scsi/ipr.h static inline int ipr_is_device(struct ipr_hostrcb *hostrcb) hostrcb 1944 drivers/scsi/ipr.h if (hostrcb->ioa_cfg->sis64) { hostrcb 1945 drivers/scsi/ipr.h res_path = &hostrcb->hcam.u.error64.fd_res_path[0]; hostrcb 1950 drivers/scsi/ipr.h res_addr = &hostrcb->hcam.u.error.fd_res_addr;