Lines Matching +full:sync +full:- +full:update +full:- +full:mask

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
7 * Copyright (c) 2001-2010 Adaptec, Inc.
8 * Copyright (c) 2010-2012 PMC-Sierra, Inc.
78 * these in order to pass them out to user-space management tools.
95 * after flash update
100 * Timeout for sync. commands.
118 * Per-container data structure
129 * Per-SIM data structure
145 * Per-disk structure
163 * Per-command control structure.
215 * We gather a number of adapter-visible items into a single structure.
225 * Sync Fib
240 /* response buffer for SRC (new comm. type1) - must be last element */
252 void (*aif_clr_istatus)(struct aac_softc *sc, int mask);
265 #define AAC_GET_FWSTATUS(sc) ((sc)->aac_if.aif_get_fwstatus((sc)))
266 #define AAC_QNOTIFY(sc, qbit) ((sc)->aac_if.aif_qnotify((sc), (qbit)))
267 #define AAC_GET_ISTATUS(sc) ((sc)->aac_if.aif_get_istatus((sc)))
268 #define AAC_CLEAR_ISTATUS(sc, mask) ((sc)->aac_if.aif_clr_istatus((sc), \ argument
269 (mask)))
271 ((sc)->aac_if.aif_set_mailbox((sc), (command), (arg0), (arg1), (arg2), \
273 #define AAC_GET_MAILBOX(sc, mb) ((sc)->aac_if.aif_get_mailbox((sc), \
275 #define AAC_ACCESS_DEVREG(sc, mode) ((sc)->aac_if.aif_access_devreg((sc), \
277 #define AAC_SEND_COMMAND(sc, cm) ((sc)->aac_if.aif_send_command((sc), (cm)))
278 #define AAC_GET_OUTB_QUEUE(sc) ((sc)->aac_if.aif_get_outb_queue((sc)))
279 #define AAC_SET_OUTB_QUEUE(sc, idx) ((sc)->aac_if.aif_set_outb_queue((sc), (idx)))
281 #define AAC_MEM0_SETREG4(sc, reg, val) bus_space_write_4(sc->aac_btag0, \
282 sc->aac_bhandle0, reg, val)
283 #define AAC_MEM0_GETREG4(sc, reg) bus_space_read_4(sc->aac_btag0, \
284 sc->aac_bhandle0, reg)
285 #define AAC_MEM0_SETREG2(sc, reg, val) bus_space_write_2(sc->aac_btag0, \
286 sc->aac_bhandle0, reg, val)
287 #define AAC_MEM0_GETREG2(sc, reg) bus_space_read_2(sc->aac_btag0, \
288 sc->aac_bhandle0, reg)
289 #define AAC_MEM0_SETREG1(sc, reg, val) bus_space_write_1(sc->aac_btag0, \
290 sc->aac_bhandle0, reg, val)
291 #define AAC_MEM0_GETREG1(sc, reg) bus_space_read_1(sc->aac_btag0, \
292 sc->aac_bhandle0, reg)
294 #define AAC_MEM1_SETREG4(sc, reg, val) bus_space_write_4(sc->aac_btag1, \
295 sc->aac_bhandle1, reg, val)
296 #define AAC_MEM1_GETREG4(sc, reg) bus_space_read_4(sc->aac_btag1, \
297 sc->aac_bhandle1, reg)
298 #define AAC_MEM1_SETREG2(sc, reg, val) bus_space_write_2(sc->aac_btag1, \
299 sc->aac_bhandle1, reg, val)
300 #define AAC_MEM1_GETREG2(sc, reg) bus_space_read_2(sc->aac_btag1, \
301 sc->aac_bhandle1, reg)
302 #define AAC_MEM1_SETREG1(sc, reg, val) bus_space_write_1(sc->aac_btag1, \
303 sc->aac_bhandle1, reg, val)
304 #define AAC_MEM1_GETREG1(sc, reg) bus_space_read_1(sc->aac_btag1, \
305 sc->aac_bhandle1, reg)
322 * Per-controller structure.
355 #define AAC_HWIF_UNKNOWN -1
389 * The general I/O lock. This protects the sync fib, the lists, the
396 /* sync. transfer mode */
423 #define AAC_FLAGS_SG_64BIT (1 << 4) /* Use 64-bit S/G addresses */
425 * 2GB-4GB range */
433 #define AAC_FLAGS_ARRAY_64BIT (1 << 13) /* 64-bit array size */
434 #define AAC_FLAGS_LBA_64BIT (1 << 14) /* 64-bit LBA support */
440 #define AAC_FLAGS_SYNC_MODE (1 << 18) /* Sync. transfer mode */
456 u_int32_t aac_max_msix; /* max. MSI-X vectors */
457 u_int32_t aac_vector_cap; /* MSI-X vector capab.*/
458 int msi_enabled; /* MSI/MSI-X enabled */
476 #define AAC_MAXIO_SIZE(sc) MIN(((sc)->aac_max_sectors << 9) - PAGE_SIZE, \
551 qs = &(sc)->aac_qstat[qname]; \
553 qs->q_length++; \
554 if (qs->q_length > qs->q_max) \
555 qs->q_max = qs->q_length; \
558 #define AACQ_REMOVE(sc, qname) (sc)->aac_qstat[qname].q_length--
561 sc->aac_qstat[qname].q_length = 0; \
562 sc->aac_qstat[qname].q_max = 0; \
569 TAILQ_INIT(&sc->aac_ ## name); \
575 if ((cm->cm_flags & AAC_ON_AACQ_MASK) != 0) { \
577 cm, cm->cm_flags); \
580 TAILQ_INSERT_TAIL(&cm->cm_sc->aac_ ## name, cm, cm_link); \
581 cm->cm_flags |= AAC_ON_ ## index; \
582 AACQ_ADD(cm->cm_sc, index); \
587 if ((cm->cm_flags & AAC_ON_AACQ_MASK) != 0) { \
589 cm, cm->cm_flags); \
592 TAILQ_INSERT_HEAD(&cm->cm_sc->aac_ ## name, cm, cm_link); \
593 cm->cm_flags |= AAC_ON_ ## index; \
594 AACQ_ADD(cm->cm_sc, index); \
601 if ((cm = TAILQ_FIRST(&sc->aac_ ## name)) != NULL) { \
602 if ((cm->cm_flags & AAC_ON_ ## index) == 0) { \
604 "bit = %#x\n", cm, cm->cm_flags, \
608 TAILQ_REMOVE(&sc->aac_ ## name, cm, cm_link); \
609 cm->cm_flags &= ~AAC_ON_ ## index; \
617 if ((cm->cm_flags & AAC_ON_ ## index) == 0) { \
619 "bit = %#x\n", cm, cm->cm_flags, \
623 TAILQ_REMOVE(&cm->cm_sc->aac_ ## name, cm, cm_link); \
624 cm->cm_flags &= ~AAC_ON_ ## index; \
625 AACQ_REMOVE(cm->cm_sc, index); \
640 device_printf(sc->aac_dev, "**Monitor** %.*s", AAC_PRINTF_BUFSIZE, in aac_print_printf()
641 sc->aac_common->ac_printf); in aac_print_printf()
642 sc->aac_common->ac_printf[0] = 0; in aac_print_printf()
650 mtx_assert(&sc->aac_io_lock, MA_OWNED); in aac_alloc_sync_fib()
651 *fib = &sc->aac_common->ac_sync_fib; in aac_alloc_sync_fib()
659 mtx_assert(&sc->aac_io_lock, MA_OWNED); in aac_release_sync_fib()