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;