forked from Minki/linux
mei: add function to check write queues
The driver needs to check whether the write queue idle before entering power gating Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ba9cdd0e1a
commit
a532bbedc8
@ -303,7 +303,28 @@ void mei_stop(struct mei_device *dev)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mei_stop);
|
||||
|
||||
/**
|
||||
* mei_write_is_idle - check if the write queues are idle
|
||||
*
|
||||
* @dev: the device structure
|
||||
*
|
||||
* returns true of there is no pending write
|
||||
*/
|
||||
bool mei_write_is_idle(struct mei_device *dev)
|
||||
{
|
||||
bool idle = (dev->dev_state == MEI_DEV_ENABLED &&
|
||||
list_empty(&dev->ctrl_wr_list.list) &&
|
||||
list_empty(&dev->write_list.list));
|
||||
|
||||
dev_dbg(&dev->pdev->dev, "write pg: is idle[%d] state=%s ctrl=%d write=%d\n",
|
||||
idle,
|
||||
mei_dev_state_str(dev->dev_state),
|
||||
list_empty(&dev->ctrl_wr_list.list),
|
||||
list_empty(&dev->write_list.list));
|
||||
|
||||
return idle;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mei_write_is_idle);
|
||||
|
||||
void mei_device_init(struct mei_device *dev)
|
||||
{
|
||||
|
@ -680,6 +680,8 @@ static inline int mei_count_full_read_slots(struct mei_device *dev)
|
||||
|
||||
bool mei_hbuf_acquire(struct mei_device *dev);
|
||||
|
||||
bool mei_write_is_idle(struct mei_device *dev);
|
||||
|
||||
#if IS_ENABLED(CONFIG_DEBUG_FS)
|
||||
int mei_dbgfs_register(struct mei_device *dev, const char *name);
|
||||
void mei_dbgfs_deregister(struct mei_device *dev);
|
||||
|
Loading…
Reference in New Issue
Block a user