909 retvalue = ddi_regs_map_setup(cpqary3p->dip, INDEX_PCI_BASE0,
910 (caddr_t *)&ctlr_init, (offset_t)I2O_CTLR_INIT, 4,
911 &cpqary3_dev_attributes, &ctlr_init_handle);
912
913 if (retvalue != DDI_SUCCESS) {
914 if (DDI_REGS_ACC_CONFLICT == retvalue)
915 cmn_err(CE_WARN,
916 "CPQary3 : HBA Init Register Mapping Conflict");
917 cmn_err(CE_WARN,
918 "CPQary3 : HBA Init Regsiter Mapping Failed");
919 return (CPQARY3_FAILURE);
920 }
921
922 for (i = 0; i < 300; i++) { /* loop for 300 seconds */
923 if (CISS_CTLR_INIT == ddi_get32(ctlr_init_handle, ctlr_init)) {
924 DTRACE_PROBE(ctlr_init_check_ready);
925 ddi_regs_map_free(&ctlr_init_handle);
926 break;
927 } else {
928 DTRACE_PROBE(ctlr_init_check_notready);
929 delay(drv_usectohz(1000000));
930 }
931 }
932
933 if (i >= 300) { /* HBA not initialized even after 300 seconds !!! */
934 ddi_regs_map_free(&ctlr_init_handle);
935 cmn_err(CE_WARN, "CPQary3 : %s NOT initialized !!! HBA may not "
936 "function properly. Please replace the hardware or check "
937 "the connections", cpqary3p->hba_name);
938 return (CPQARY3_FAILURE);
939 }
940
941 return (CPQARY3_SUCCESS);
942 }
|
909 retvalue = ddi_regs_map_setup(cpqary3p->dip, INDEX_PCI_BASE0,
910 (caddr_t *)&ctlr_init, (offset_t)I2O_CTLR_INIT, 4,
911 &cpqary3_dev_attributes, &ctlr_init_handle);
912
913 if (retvalue != DDI_SUCCESS) {
914 if (DDI_REGS_ACC_CONFLICT == retvalue)
915 cmn_err(CE_WARN,
916 "CPQary3 : HBA Init Register Mapping Conflict");
917 cmn_err(CE_WARN,
918 "CPQary3 : HBA Init Regsiter Mapping Failed");
919 return (CPQARY3_FAILURE);
920 }
921
922 for (i = 0; i < 300; i++) { /* loop for 300 seconds */
923 if (CISS_CTLR_INIT == ddi_get32(ctlr_init_handle, ctlr_init)) {
924 DTRACE_PROBE(ctlr_init_check_ready);
925 ddi_regs_map_free(&ctlr_init_handle);
926 break;
927 } else {
928 DTRACE_PROBE(ctlr_init_check_notready);
929 delay(drv_sectohz(1));
930 }
931 }
932
933 if (i >= 300) { /* HBA not initialized even after 300 seconds !!! */
934 ddi_regs_map_free(&ctlr_init_handle);
935 cmn_err(CE_WARN, "CPQary3 : %s NOT initialized !!! HBA may not "
936 "function properly. Please replace the hardware or check "
937 "the connections", cpqary3p->hba_name);
938 return (CPQARY3_FAILURE);
939 }
940
941 return (CPQARY3_SUCCESS);
942 }
|