瀏覽代碼

drm/i915/guc: Handle GuC log flush event in dedicated function

We already try to keep all GuC log related code in separate file,
handling flush event should be placed there too. This will also
allow future code reuse.

v2: rebased

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Oscar Mateo <oscar.mateo@intel.com>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180319125049.48932-1-michal.wajdeczko@intel.com
Michal Wajdeczko 7 年之前
父節點
當前提交
e9c7e65179
共有 3 個文件被更改,包括 8 次插入2 次删除
  1. 1 2
      drivers/gpu/drm/i915/intel_guc.c
  2. 5 0
      drivers/gpu/drm/i915/intel_guc_log.c
  3. 2 0
      drivers/gpu/drm/i915/intel_guc_log.h

+ 1 - 2
drivers/gpu/drm/i915/intel_guc.c

@@ -398,8 +398,7 @@ void intel_guc_to_host_event_handler(struct intel_guc *guc)
 
 
 	if (msg & (INTEL_GUC_RECV_MSG_FLUSH_LOG_BUFFER |
 	if (msg & (INTEL_GUC_RECV_MSG_FLUSH_LOG_BUFFER |
 		   INTEL_GUC_RECV_MSG_CRASH_DUMP_POSTED))
 		   INTEL_GUC_RECV_MSG_CRASH_DUMP_POSTED))
-		queue_work(guc->log.relay.flush_wq,
-			   &guc->log.relay.flush_work);
+		intel_guc_log_handle_flush_event(&guc->log);
 }
 }
 
 
 int intel_guc_sample_forcewake(struct intel_guc *guc)
 int intel_guc_sample_forcewake(struct intel_guc *guc)

+ 5 - 0
drivers/gpu/drm/i915/intel_guc_log.c

@@ -623,3 +623,8 @@ void intel_guc_log_relay_close(struct intel_guc_log *log)
 	guc_log_relay_destroy(log);
 	guc_log_relay_destroy(log);
 	mutex_unlock(&log->relay.lock);
 	mutex_unlock(&log->relay.lock);
 }
 }
+
+void intel_guc_log_handle_flush_event(struct intel_guc_log *log)
+{
+	queue_work(log->relay.flush_wq, &log->relay.flush_work);
+}

+ 2 - 0
drivers/gpu/drm/i915/intel_guc_log.h

@@ -87,4 +87,6 @@ int intel_guc_log_relay_open(struct intel_guc_log *log);
 void intel_guc_log_relay_flush(struct intel_guc_log *log);
 void intel_guc_log_relay_flush(struct intel_guc_log *log);
 void intel_guc_log_relay_close(struct intel_guc_log *log);
 void intel_guc_log_relay_close(struct intel_guc_log *log);
 
 
+void intel_guc_log_handle_flush_event(struct intel_guc_log *log);
+
 #endif
 #endif