drm/amdgpu/powerplay: enable thermal interrupt task in eventmgr.
[linux-2.6-block.git] / drivers / gpu / drm / amd / powerplay / eventmgr / eventinit.c
index 04384426e5488aa97fc8387d660075c222f427f0..d5ec8ccbe97df3f21a9dd96f5c5a604ee8578399 100644 (file)
@@ -22,6 +22,8 @@
  */
 #include "eventmgr.h"
 #include "eventinit.h"
+#include "ppinterrupt.h"
+#include "hardwaremanager.h"
 
 void pem_init_feature_info(struct pp_eventmgr *eventmgr)
 {
@@ -145,12 +147,25 @@ void pem_init_feature_info(struct pp_eventmgr *eventmgr)
        eventmgr->features[PP_Feature_ViPG].enabled = false;
 }
 
+static int thermal_interrupt_callback(void *private_data,
+                                     unsigned src_id, const uint32_t *iv_entry)
+{
+       /* TO DO hanle PEM_Event_ThermalNotification (struct pp_eventmgr *)private_data*/
+       printk("current thermal is out of range \n");
+       return 0;
+}
+
 int pem_register_interrupts(struct pp_eventmgr *eventmgr)
 {
        int result = 0;
+       struct pp_interrupt_registration_info info;
+
+       info.call_back = thermal_interrupt_callback;
+       info.context = eventmgr;
+
+       result = phm_register_thermal_interrupt(eventmgr->hwmgr, &info);
 
        /* TODO:
-        * 1. Register thermal events interrupt
         * 2. Register CTF event interrupt
         * 3. Register for vbios events interrupt
         * 4. Register External Throttle Interrupt