86
87 /* callbacks and timeouts */
88 static void sbp2_mgt_status_fifo_wb_cb(sbp2_bus_buf_t *, void *, mblk_t **);
89 static void sbp2_task_timeout(void *);
90 static void sbp2_status_fifo_wb_cb(sbp2_bus_buf_t *, void *, mblk_t **);
91
92 /* other */
93 static void sbp2_mgt_agent_acquire(sbp2_tgt_t *);
94 static void sbp2_mgt_agent_release(sbp2_tgt_t *);
95 static void sbp2_fetch_agent_acquire(sbp2_ses_t *);
96 static void sbp2_fetch_agent_release(sbp2_ses_t *);
97
98 extern struct mod_ops mod_miscops;
99
100 static struct modlmisc sbp2_modlmisc = {
101 &mod_miscops, /* module type */
102 "Serial Bus Protocol 2 module" /* module name */
103 };
104
105 static struct modlinkage sbp2_modlinkage = {
106 MODREV_1, (void *)&sbp2_modlmisc, NULL
107 };
108
109 /* tunables */
110 int sbp2_submit_reset_nretries = 3;
111 clock_t sbp2_submit_reset_delay = 10; /* microsec */
112
113 int sbp2_write_orbp_nretries = 3;
114 clock_t sbp2_write_orbp_delay = 10; /* microsec */
115
116 _NOTE(SCHEME_PROTECTS_DATA("unique per call", datab msgb))
117
118 /*
119 *
120 * --- loadable module entry points
121 *
122 */
123 int
124 _init(void)
125 {
126 return (mod_install(&sbp2_modlinkage));
|
86
87 /* callbacks and timeouts */
88 static void sbp2_mgt_status_fifo_wb_cb(sbp2_bus_buf_t *, void *, mblk_t **);
89 static void sbp2_task_timeout(void *);
90 static void sbp2_status_fifo_wb_cb(sbp2_bus_buf_t *, void *, mblk_t **);
91
92 /* other */
93 static void sbp2_mgt_agent_acquire(sbp2_tgt_t *);
94 static void sbp2_mgt_agent_release(sbp2_tgt_t *);
95 static void sbp2_fetch_agent_acquire(sbp2_ses_t *);
96 static void sbp2_fetch_agent_release(sbp2_ses_t *);
97
98 extern struct mod_ops mod_miscops;
99
100 static struct modlmisc sbp2_modlmisc = {
101 &mod_miscops, /* module type */
102 "Serial Bus Protocol 2 module" /* module name */
103 };
104
105 static struct modlinkage sbp2_modlinkage = {
106 MODREV_1, { (void *)&sbp2_modlmisc, NULL }
107 };
108
109 /* tunables */
110 int sbp2_submit_reset_nretries = 3;
111 clock_t sbp2_submit_reset_delay = 10; /* microsec */
112
113 int sbp2_write_orbp_nretries = 3;
114 clock_t sbp2_write_orbp_delay = 10; /* microsec */
115
116 _NOTE(SCHEME_PROTECTS_DATA("unique per call", datab msgb))
117
118 /*
119 *
120 * --- loadable module entry points
121 *
122 */
123 int
124 _init(void)
125 {
126 return (mod_install(&sbp2_modlinkage));
|