summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4u/opl/io/scfd/scftimer.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/sun4u/opl/io/scfd/scftimer.c')
-rw-r--r--usr/src/uts/sun4u/opl/io/scfd/scftimer.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr/src/uts/sun4u/opl/io/scfd/scftimer.c b/usr/src/uts/sun4u/opl/io/scfd/scftimer.c
index 104b31439e..3a20c808d4 100644
--- a/usr/src/uts/sun4u/opl/io/scfd/scftimer.c
+++ b/usr/src/uts/sun4u/opl/io/scfd/scftimer.c
@@ -60,6 +60,8 @@ int scf_dscp_end_wait_time = SCF_TIMER_VALUE_DSCP_END;
int scf_dscp_txbusy_time = SCF_TIMER_VALUE_DSCP_BUSY;
/* DSCP interface callback timer */
int scf_dscp_callback_time = SCF_TIMER_VALUE_DSCP_CALLBACK;
+ /* DSCP INIT_REQ retry timer */
+int scf_dscp_init_time = SCF_TIMER_VALUE_DSCP_INIT;
/*
* Function list
@@ -86,6 +88,7 @@ extern void scf_dscp_end_tout(void);
extern void scf_dscp_busy_tout(void);
extern void scf_dscp_callback_tout(void);
extern void scf_report_send_wait_tout(void);
+extern void scf_dscp_init_tout(void);
/*
* scf_timer_init()
@@ -145,6 +148,10 @@ scf_timer_init(void)
scf_timer[SCF_TIMERCD_RCI_BUSY].tbl[0].code = SCF_TIMERCD_RCI_BUSY;
scf_timer[SCF_TIMERCD_RCI_BUSY].tbl[1].code = SCF_TIMERCD_RCI_BUSY;
+ scf_timer[SCF_TIMERCD_DSCP_INIT].value = scf_dscp_init_time;
+ scf_timer[SCF_TIMERCD_DSCP_INIT].tbl[0].code = SCF_TIMERCD_DSCP_INIT;
+ scf_timer[SCF_TIMERCD_DSCP_INIT].tbl[1].code = SCF_TIMERCD_DSCP_INIT;
+
SCFDBGMSG(SCF_DBGFLAG_TIMER, SCF_FUNC_NAME ": end");
}
@@ -437,6 +444,11 @@ scf_tout(void *arg)
scf_report_send_wait_tout();
break;
+ case SCF_TIMERCD_DSCP_INIT:
+ /* DSCP INIT_REQ retry timeout */
+ scf_dscp_init_tout();
+ break;
+
default:
/* NOP */
break;