aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/mei_dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/mei/mei_dev.h')
-rw-r--r--drivers/misc/mei/mei_dev.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index 70a644f688b0..453f6a333b42 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -276,6 +276,7 @@ struct mei_cl {
276 276
277 * @fw_status : get fw status registers 277 * @fw_status : get fw status registers
278 * @pg_state : power gating state of the device 278 * @pg_state : power gating state of the device
279 * @pg_in_transition : is device now in pg transition
279 * @pg_is_enabled : is power gating enabled 280 * @pg_is_enabled : is power gating enabled
280 281
281 * @intr_clear : clear pending interrupts 282 * @intr_clear : clear pending interrupts
@@ -305,6 +306,7 @@ struct mei_hw_ops {
305 306
306 int (*fw_status)(struct mei_device *dev, struct mei_fw_status *fw_sts); 307 int (*fw_status)(struct mei_device *dev, struct mei_fw_status *fw_sts);
307 enum mei_pg_state (*pg_state)(struct mei_device *dev); 308 enum mei_pg_state (*pg_state)(struct mei_device *dev);
309 bool (*pg_in_transition)(struct mei_device *dev);
308 bool (*pg_is_enabled)(struct mei_device *dev); 310 bool (*pg_is_enabled)(struct mei_device *dev);
309 311
310 void (*intr_clear)(struct mei_device *dev); 312 void (*intr_clear)(struct mei_device *dev);
@@ -349,11 +351,15 @@ struct mei_cl *mei_cl_bus_find_cl_by_uuid(struct mei_device *dev, uuid_le uuid);
349 * @MEI_PG_EVENT_IDLE: the driver is not in power gating transition 351 * @MEI_PG_EVENT_IDLE: the driver is not in power gating transition
350 * @MEI_PG_EVENT_WAIT: the driver is waiting for a pg event to complete 352 * @MEI_PG_EVENT_WAIT: the driver is waiting for a pg event to complete
351 * @MEI_PG_EVENT_RECEIVED: the driver received pg event 353 * @MEI_PG_EVENT_RECEIVED: the driver received pg event
354 * @MEI_PG_EVENT_INTR_WAIT: the driver is waiting for a pg event interrupt
355 * @MEI_PG_EVENT_INTR_RECEIVED: the driver received pg event interrupt
352 */ 356 */
353enum mei_pg_event { 357enum mei_pg_event {
354 MEI_PG_EVENT_IDLE, 358 MEI_PG_EVENT_IDLE,
355 MEI_PG_EVENT_WAIT, 359 MEI_PG_EVENT_WAIT,
356 MEI_PG_EVENT_RECEIVED, 360 MEI_PG_EVENT_RECEIVED,
361 MEI_PG_EVENT_INTR_WAIT,
362 MEI_PG_EVENT_INTR_RECEIVED,
357}; 363};
358 364
359/** 365/**
@@ -670,6 +676,11 @@ static inline enum mei_pg_state mei_pg_state(struct mei_device *dev)
670 return dev->ops->pg_state(dev); 676 return dev->ops->pg_state(dev);
671} 677}
672 678
679static inline bool mei_pg_in_transition(struct mei_device *dev)
680{
681 return dev->ops->pg_in_transition(dev);
682}
683
673static inline bool mei_pg_is_enabled(struct mei_device *dev) 684static inline bool mei_pg_is_enabled(struct mei_device *dev)
674{ 685{
675 return dev->ops->pg_is_enabled(dev); 686 return dev->ops->pg_is_enabled(dev);