[Intel-gfx] [PATCH 13/15] drm/i915/guc: Handle default action received over CT
Michal Wajdeczko
michal.wajdeczko at intel.com
Fri Aug 4 16:27:10 UTC 2017
With enabled CT, instead of programming SCRATCH 15 register with the
Guc to host message, Guc will send us CT request. Content of the data[1]
of this message follows format of the data in scratch register.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Oscar Mateo <oscar.mateo at intel.com>
---
drivers/gpu/drm/i915/intel_guc_ct.c | 3 +++
drivers/gpu/drm/i915/intel_uc.c | 7 +++++++
drivers/gpu/drm/i915/intel_uc.h | 1 +
3 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_guc_ct.c b/drivers/gpu/drm/i915/intel_guc_ct.c
index 75cd7af..9f7fc5e 100644
--- a/drivers/gpu/drm/i915/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/intel_guc_ct.c
@@ -658,6 +658,9 @@ static bool guc_process_incoming_requests(struct intel_guc *guc)
len = ct_header_get_len(header) + 1; /* also count header dw */
switch (action) {
+ case INTEL_GUC_ACTION_DEFAULT:
+ intel_guc_process_default_action(guc, request->data[1]);
+ break;
default:
DRM_ERROR("CT: unexpected request %*phn\n",
4*len, request->data);
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 258e0d0..27758ce 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -596,3 +596,10 @@ int intel_guc_sample_forcewake(struct intel_guc *guc)
return intel_guc_send(guc, action, ARRAY_SIZE(action));
}
+
+void intel_guc_process_default_action(struct intel_guc *guc, u32 msg)
+{
+ if (msg & (INTEL_GUC_RECV_MSG_CRASH_DUMP_POSTED |
+ INTEL_GUC_RECV_MSG_FLUSH_LOG_BUFFER))
+ intel_guc_log_flush(guc);
+}
diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
index 6f20e66..2a8394b 100644
--- a/drivers/gpu/drm/i915/intel_uc.h
+++ b/drivers/gpu/drm/i915/intel_uc.h
@@ -230,6 +230,7 @@ void intel_uc_fini_fw(struct drm_i915_private *dev_priv);
int intel_uc_init_hw(struct drm_i915_private *dev_priv);
void intel_uc_fini_hw(struct drm_i915_private *dev_priv);
void intel_guc_notification_handler(struct intel_guc *guc);
+void intel_guc_process_default_action(struct intel_guc *guc, u32 msg);
int intel_guc_sample_forcewake(struct intel_guc *guc);
int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len, u32 *response);
int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len, u32 *response);
--
2.7.4
More information about the Intel-gfx
mailing list