diff options
Diffstat (limited to 'drivers/misc/mei/mei_dev.h')
-rw-r--r-- | drivers/misc/mei/mei_dev.h | 11 |
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 | */ |
353 | enum mei_pg_event { | 357 | enum 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 | ||
679 | static inline bool mei_pg_in_transition(struct mei_device *dev) | ||
680 | { | ||
681 | return dev->ops->pg_in_transition(dev); | ||
682 | } | ||
683 | |||
673 | static inline bool mei_pg_is_enabled(struct mei_device *dev) | 684 | static 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); |