Lines Matching +full:ufs +full:- +full:disable +full:- +full:mcq
1 /*-
5 * SPDX-License-Identifier: BSD-2-Clause
109 UFSHCI_Q_MODE_MCQ = 0x01, /* Multi-Circular Queue Mode*/
113 * UFS uses slot-based Single Doorbell (SDB) mode for request submission by
114 * default and additionally supports Multi-Circular Queue (MCQ) in UFS 4.0. To
115 * minimize duplicated code between SDB and MCQ, mode dependent operations are
128 void (*disable)(struct ufshci_controller *ctrlr, member
152 * Generic queue container used by both SDB (fixed 32-slot bitmap) and MCQ
154 * cq_head are not used in SDB but used in MCQ.
190 uint32_t sq_head; /* MCQ mode */
191 uint32_t sq_tail; /* MCQ mode */
192 uint32_t cq_head; /* MCQ mode */
203 * deadlocks. (recovery_lock -> qlock)
259 /* SSU Power Condition 0x40 is defined in the UFS specification */
316 8 /* Need to change the number of lanes before changing HS-GEAR. */
344 /* Currently, there is no UFSHCI that supports MSI, MSI-X. */
375 /* Page size and log2(page_size) - 12 that we're currently using */
390 /* UFS Host Controller Interface Registers */
393 /* UFS Transport Protocol Layer (UTP) */
399 /* UFS Interconnect Layer (UIC) */
415 bus_space_read_4((sc)->bus_tag, (sc)->bus_handle, \
419 bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
423 device_printf(ctrlr->dev, fmt, ##args)
562 * command runs. The ISR will run the callback which will set status->done to
579 while (!atomic_load_acq_int(&status->done)) { in ufshci_completion_poll()
580 if (timeout - ticks < 0) in ufshci_completion_poll()
609 req->cb_fn = cb_fn; in _ufshci_allocate_request()
610 req->cb_arg = cb_arg; in _ufshci_allocate_request()
624 req->payload = memdesc_vaddr(payload, payload_size); in ufshci_allocate_request_vaddr()
625 req->payload_valid = true; in ufshci_allocate_request_vaddr()
639 req->payload = memdesc_bio(bio); in ufshci_allocate_request_bio()
640 req->payload_valid = true; in ufshci_allocate_request_bio()