Lines Matching +full:tx +full:- +full:slots

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)
71 * enum mei_dev_pxp_mode - MEI PXP mode state
94 * enum mei_cb_file_ops - file operation associated with the callback
118 * enum mei_cl_io_mode - io mode between driver and fw
123 * @MEI_CL_IO_RX_NONBLOCK: recv is non-blocking
152 * struct mei_dma_dscr - dma address descriptor
171 * struct mei_fw_status - storage of FW status data
182 * struct mei_me_client - representation of me (fw) client
206 * struct mei_cl_cb - file operation callback structure
235 * struct mei_cl_vtag - file pointer to vtag mapping structure
250 * struct mei_cl - me client host representation
251 * carried in file->private_data
256 * @tx_wait: wait queue for tx completion
269 * @notify_en: notification - enabled/disabled
271 * @tx_cb_queued: number of tx callbacks in queue
272 * @writing_state: state of the tx
316 * struct mei_hw_ops - hw specific ops
336 * @hbuf_free_slots : query for write buffer empty slots
342 * @rdbuf_full_slots : query how many slots are filled
398 * enum mei_pg_event - power gating transition events
415 * enum mei_pg_state - device internal power gating state
417 * @MEI_PG_OFF: device is not power gated - it is active
418 * @MEI_PG_ON: device is power gated - it is in lower power state
428 * struct mei_fw_version - MEI FW version struct
458 * struct mei_device - MEI private device struct
468 * @tx_queue_limit: tx queues per client linit
496 * @dr_dscr: DMA ring descriptors: TX, RX, and CTRL
643 * mei_data2slots - get slots number from a message length
647 * Return: number of slots
655 * mei_hbm2slots - get slots number from a hbm message length
660 * Return: number of slots
668 * mei_slots2data - get data in slots - bytes from slots
670 * @slots: number of available slots
672 * Return: number of bytes in slots
674 static inline u32 mei_slots2data(int slots) in mei_slots2data() argument
676 return slots * MEI_SLOT_SIZE; in mei_slots2data()
709 struct list_head *cmpl_list, s32 *slots);
721 return dev->ops->hw_config(dev); in mei_hw_config()
726 return dev->ops->pg_state(dev); in mei_pg_state()
731 return dev->ops->pg_in_transition(dev); in mei_pg_in_transition()
736 return dev->ops->pg_is_enabled(dev); in mei_pg_is_enabled()
741 return dev->ops->hw_reset(dev, enable); in mei_hw_reset()
746 return dev->ops->hw_start(dev); in mei_hw_start()
751 dev->ops->intr_clear(dev); in mei_clear_interrupts()
756 dev->ops->intr_enable(dev); in mei_enable_interrupts()
761 dev->ops->intr_disable(dev); in mei_disable_interrupts()
766 dev->ops->synchronize_irq(dev); in mei_synchronize_irq()
771 return dev->ops->host_is_ready(dev); in mei_host_is_ready()
775 return dev->ops->hw_is_ready(dev); in mei_hw_is_ready()
780 return dev->ops->hbuf_is_ready(dev); in mei_hbuf_is_ready()
785 return dev->ops->hbuf_free_slots(dev); in mei_hbuf_empty_slots()
790 return dev->ops->hbuf_depth(dev); in mei_hbuf_depth()
797 return dev->ops->write(dev, hdr, hdr_len, data, data_len); in mei_write_message()
802 return dev->ops->read_hdr(dev); in mei_read_hdr()
808 dev->ops->read(dev, buf, len); in mei_read_slots()
813 return dev->ops->rdbuf_full_slots(dev); in mei_count_full_read_slots()
818 if (dev->ops->trc_status) in mei_trc_status()
819 return dev->ops->trc_status(dev, trc); in mei_trc_status()
820 return -EOPNOTSUPP; in mei_trc_status()
826 return dev->ops->fw_status(dev, fw_status); in mei_fw_status()
846 (hdr)->host_addr, (hdr)->me_addr, \
847 (hdr)->length, (hdr)->dma_ring, (hdr)->extended, \
848 (hdr)->internal, (hdr)->msg_complete
852 * mei_fw_status_str - fetch and convert fw status registers to printable string