Lines Matching +full:wait +full:- +full:queue
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2003-2022, Intel Corporation. All rights reserved.
44 #define MEI_MAX_OPEN_HANDLE_COUNT (MEI_CLIENTS_MAX - 1)
72 * enum mei_dev_pxp_mode - MEI PXP mode state
87 * enum mei_dev_reset_to_pxp - reset to PXP mode performed
108 * enum mei_cb_file_ops - file operation associated with the callback
132 * enum mei_cl_io_mode - io mode between driver and fw
137 * @MEI_CL_IO_RX_NONBLOCK: recv is non-blocking
166 * struct mei_dma_dscr - dma address descriptor
185 * struct mei_fw_status - storage of FW status data
196 * struct mei_me_client - representation of me (fw) client
220 * struct mei_cl_cb - file operation callback structure
222 * @list: link in callback queue
249 * struct mei_cl_vtag - file pointer to vtag mapping structure
251 * @list: link in map queue
264 * struct mei_cl - me client host representation
265 * carried in file->private_data
270 * @tx_wait: wait queue for tx completion
271 * @rx_wait: wait queue for rx completion
272 * @wait: wait queue for management operation
273 * @ev_wait: notification wait queue
283 * @notify_en: notification - enabled/disabled
285 * @tx_cb_queued: number of tx callbacks in queue
288 * @rd_completed_lock: protects rd_completed queue
301 wait_queue_head_t wait; member
317 spinlock_t rd_completed_lock; /* protects rd_completed queue */
330 * struct mei_hw_ops - hw specific ops
412 * enum mei_pg_event - power gating transition events
429 * enum mei_pg_state - device internal power gating state
431 * @MEI_PG_OFF: device is not power gated - it is active
432 * @MEI_PG_ON: device is power gated - it is in lower power state
442 * struct mei_fw_version - MEI FW version struct
469 unsigned long link_reset_wait; /* link reset wait timeout, in jiffies */
473 * struct mei_device - MEI private device struct
496 * @wait_hw_ready : wait queue for receive HW ready message form FW
497 * @wait_pg : wait queue for receive PG message from FW
498 * @wait_hbm_start : wait queue for receive HBM start message from FW
502 * @wait_dev_state: wait queue for device state change
584 * waiting queue for receive message from FW
671 * mei_data2slots - get slots number from a message length
683 * mei_hbm2slots - get slots number from a hbm message length
696 * mei_slots2data - get data in slots - bytes from slots
749 return dev->ops->hw_config(dev); in mei_hw_config()
754 return dev->ops->pg_state(dev); in mei_pg_state()
759 return dev->ops->pg_in_transition(dev); in mei_pg_in_transition()
764 return dev->ops->pg_is_enabled(dev); in mei_pg_is_enabled()
769 return dev->ops->hw_reset(dev, enable); in mei_hw_reset()
774 return dev->ops->hw_start(dev); in mei_hw_start()
779 dev->ops->intr_clear(dev); in mei_clear_interrupts()
784 dev->ops->intr_enable(dev); in mei_enable_interrupts()
789 dev->ops->intr_disable(dev); in mei_disable_interrupts()
794 dev->ops->synchronize_irq(dev); in mei_synchronize_irq()
799 return dev->ops->host_is_ready(dev); in mei_host_is_ready()
803 return dev->ops->hw_is_ready(dev); in mei_hw_is_ready()
808 return dev->ops->hbuf_is_ready(dev); in mei_hbuf_is_ready()
813 return dev->ops->hbuf_free_slots(dev); in mei_hbuf_empty_slots()
818 return dev->ops->hbuf_depth(dev); in mei_hbuf_depth()
825 return dev->ops->write(dev, hdr, hdr_len, data, data_len); in mei_write_message()
830 return dev->ops->read_hdr(dev); in mei_read_hdr()
836 dev->ops->read(dev, buf, len); in mei_read_slots()
841 return dev->ops->rdbuf_full_slots(dev); in mei_count_full_read_slots()
846 if (dev->ops->trc_status) in mei_trc_status()
847 return dev->ops->trc_status(dev, trc); in mei_trc_status()
848 return -EOPNOTSUPP; in mei_trc_status()
854 return dev->ops->fw_status(dev, fw_status); in mei_fw_status()
874 (hdr)->host_addr, (hdr)->me_addr, \
875 (hdr)->length, (hdr)->dma_ring, (hdr)->extended, \
876 (hdr)->internal, (hdr)->msg_complete
880 * mei_fw_status_str - fetch and convert fw status registers to printable string
906 * kind_is_gsc - checks whether the device is gsc
915 return dev->kind && (strcmp(dev->kind, "gsc") == 0); in kind_is_gsc()
919 * kind_is_gscfi - checks whether the device is gscfi
928 return dev->kind && (strcmp(dev->kind, "gscfi") == 0); in kind_is_gscfi()