317 * during driver attach.
318 */
319 uint32_t valid_inst;
320
321 /*
322 * Table of services offered via the idi interface.
323 */
324 struct bscv_idi_callout *tbl;
325
326 /*
327 * Error message count since last successful use of the idi interface.
328 */
329 uint64_t errs;
330 };
331
332
333
334 #define BSC_IMAGE_MAX_SIZE (0x20000 + sizeof (lom_prog_data_t))
335
336 #define BSC_PROBE_FAULT_LIMIT 8 /* Tries before declaring lom dead */
337 #define BSC_EVENT_POLL_NORMAL (drv_usectohz(1000000)) /* 1 second */
338 #define BSC_EVENT_POLL_FAULTY (drv_usectohz(10000000)) /* 10 second */
339
340 #define BSC_FAILURE_RETRY_LIMIT 5 /* Access retries before giving up */
341 #define BSC_ERASE_RETRY_LIMIT 5 /* Erase retries */
342 #define BSC_PAGE_RETRY_LIMIT 5 /* Page write retries */
343
344 #define BSC_ADDR_CACHE_LIMIT \
345 (sizeof (((bscv_soft_state_t *)NULL)->lom_regs))
346 #define BSC_INFORM_ONLINE 0x4f530100
347 #define BSC_INFORM_OFFLINE 0x4f530201
348 #define BSC_INFORM_PANIC 0x4f530204
349
350 #include <sys/lom_ebuscodes.h>
351
352 typedef uint32_t bscv_addr_t;
353
354 #define BSC_NEXUS_ADDR(ssp, chan, as, index) \
355 (&((ssp)->channel[chan].regs[((as) * 256) + (index)]))
356
357 #define BSC_NEXUS_OFFSET(as, index) (((as) * 256) + (index))
358
|
317 * during driver attach.
318 */
319 uint32_t valid_inst;
320
321 /*
322 * Table of services offered via the idi interface.
323 */
324 struct bscv_idi_callout *tbl;
325
326 /*
327 * Error message count since last successful use of the idi interface.
328 */
329 uint64_t errs;
330 };
331
332
333
334 #define BSC_IMAGE_MAX_SIZE (0x20000 + sizeof (lom_prog_data_t))
335
336 #define BSC_PROBE_FAULT_LIMIT 8 /* Tries before declaring lom dead */
337 #define BSC_EVENT_POLL_NORMAL drv_sectohz(1)
338 #define BSC_EVENT_POLL_FAULTY drv_sectohz(10)
339
340 #define BSC_FAILURE_RETRY_LIMIT 5 /* Access retries before giving up */
341 #define BSC_ERASE_RETRY_LIMIT 5 /* Erase retries */
342 #define BSC_PAGE_RETRY_LIMIT 5 /* Page write retries */
343
344 #define BSC_ADDR_CACHE_LIMIT \
345 (sizeof (((bscv_soft_state_t *)NULL)->lom_regs))
346 #define BSC_INFORM_ONLINE 0x4f530100
347 #define BSC_INFORM_OFFLINE 0x4f530201
348 #define BSC_INFORM_PANIC 0x4f530204
349
350 #include <sys/lom_ebuscodes.h>
351
352 typedef uint32_t bscv_addr_t;
353
354 #define BSC_NEXUS_ADDR(ssp, chan, as, index) \
355 (&((ssp)->channel[chan].regs[((as) * 256) + (index)]))
356
357 #define BSC_NEXUS_OFFSET(as, index) (((as) * 256) + (index))
358
|