Lines Matching +full:delta +full:- +full:x +full:- +full:threshold

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (C) 2012-2014 Intel Corporation
66 * having IO_ENTRIES > IO_TRACKERS is for debugging purposes - when dumping
76 #define NVME_INT_COAL_THRESHOLD (0) /* 0-based */
234 * The NVMe spec allows for the MSI-X table to be placed in BAR 4/5,
269 /** Page size and log2(page_size) - 12 that we're currently using */
276 /** interrupt coalescing threshold */
336 bus_space_read_4((sc)->bus_tag, (sc)->bus_handle, \
340 bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
345 bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
347 bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
353 device_printf(ctrlr->dev, fmt, ##args)
365 uint32_t threshold,
453 * command runs. The ISR will run the callback which will set status->done to
468 sbintime_t delta = SBT_1US; in nvme_completion_poll() local
470 while (!atomic_load_acq_int(&status->done)) { in nvme_completion_poll()
471 if (timeout - ticks < 0) in nvme_completion_poll()
473 pause_sbt("nvme", delta, 0, C_PREL(1)); in nvme_completion_poll()
474 delta = min(SBT_1MS, delta + delta / 2); in nvme_completion_poll()
499 req->cb_fn = cb_fn; in _nvme_allocate_request()
500 req->cb_arg = cb_arg; in _nvme_allocate_request()
501 req->timeout = true; in _nvme_allocate_request()
514 req->payload = memdesc_vaddr(payload, payload_size); in nvme_allocate_request_vaddr()
515 req->payload_valid = true; in nvme_allocate_request_vaddr()
537 req->payload = memdesc_bio(bio); in nvme_allocate_request_bio()
538 req->payload_valid = true; in nvme_allocate_request_bio()
551 req->payload = memdesc_ccb(ccb); in nvme_allocate_request_ccb()
552 req->payload_valid = true; in nvme_allocate_request_ccb()