aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/hbm.c
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2014-03-18 16:52:00 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-03 19:20:24 -0400
commitba9cdd0e1ad88004c68395697fb2ec6b9b4ff020 (patch)
tree203335393930390637b68fb58eb257403b98d94e /drivers/misc/mei/hbm.c
parent964a2331e9a207fc15ef9eef833212347498bea1 (diff)
mei: me: add pg exit and entry flow commands
For power gating entry we write hbm pg entry request command and then we set pg register For power gating exit we clear pg register and wait for exit request hbm command. Exit power gating request might also be initiated by the firmware w/o explicit driver request The power gating state is tracked by pg_state member of me_hw 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>
Diffstat (limited to 'drivers/misc/mei/hbm.c')
-rw-r--r--drivers/misc/mei/hbm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/mei/hbm.c b/drivers/misc/mei/hbm.c
index a16b47c855aa..a725365e2150 100644
--- a/drivers/misc/mei/hbm.c
+++ b/drivers/misc/mei/hbm.c
@@ -732,12 +732,14 @@ int mei_hbm_dispatch(struct mei_device *dev, struct mei_msg_hdr *hdr)
732 732
733 case MEI_PG_ISOLATION_ENTRY_RES_CMD: 733 case MEI_PG_ISOLATION_ENTRY_RES_CMD:
734 dev_dbg(&dev->pdev->dev, "power gate isolation entry response received\n"); 734 dev_dbg(&dev->pdev->dev, "power gate isolation entry response received\n");
735 dev->pg_event = MEI_PG_EVENT_RECEIVED;
735 if (waitqueue_active(&dev->wait_pg)) 736 if (waitqueue_active(&dev->wait_pg))
736 wake_up(&dev->wait_pg); 737 wake_up(&dev->wait_pg);
737 break; 738 break;
738 739
739 case MEI_PG_ISOLATION_EXIT_REQ_CMD: 740 case MEI_PG_ISOLATION_EXIT_REQ_CMD:
740 dev_dbg(&dev->pdev->dev, "power gate isolation exit request received\n"); 741 dev_dbg(&dev->pdev->dev, "power gate isolation exit request received\n");
742 dev->pg_event = MEI_PG_EVENT_RECEIVED;
741 if (waitqueue_active(&dev->wait_pg)) 743 if (waitqueue_active(&dev->wait_pg))
742 wake_up(&dev->wait_pg); 744 wake_up(&dev->wait_pg);
743 break; 745 break;