[Intel-gfx] [PATCH] drm/i915/guc: Handle GuC log flush event in dedicated function
Sagar Arun Kamble
sagar.a.kamble at intel.com
Sat Mar 17 16:19:45 UTC 2018
On 3/17/2018 8:36 PM, Michal Wajdeczko wrote:
> 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.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Michal Winiarski <michal.winiarski at intel.com>
> Cc: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Oscar Mateo <oscar.mateo at intel.com>
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
Ordering of the declarations is an issue but not critical.
> ---
> drivers/gpu/drm/i915/intel_guc.c | 6 +-----
> drivers/gpu/drm/i915/intel_guc_log.c | 8 ++++++++
> drivers/gpu/drm/i915/intel_guc_log.h | 1 +
> 3 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc.c b/drivers/gpu/drm/i915/intel_guc.c
> index e70bf65..36c8846 100644
> --- a/drivers/gpu/drm/i915/intel_guc.c
> +++ b/drivers/gpu/drm/i915/intel_guc.c
> @@ -389,11 +389,7 @@ void intel_guc_to_host_event_handler(struct intel_guc *guc)
> /* Clear the message bits that are handled */
> I915_WRITE(SOFT_SCRATCH(15), msg & ~flush);
>
> - /* Handle flush interrupt in bottom half */
> - queue_work(guc->log.runtime.flush_wq,
> - &guc->log.runtime.flush_work);
> -
> - guc->log.flush_interrupt_count++;
> + intel_guc_log_handle_flush_event(&guc->log);
> } else {
> /*
> * Not clearing of unhandled event bits won't result in
> diff --git a/drivers/gpu/drm/i915/intel_guc_log.c b/drivers/gpu/drm/i915/intel_guc_log.c
> index 1c2127b..394f295 100644
> --- a/drivers/gpu/drm/i915/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/intel_guc_log.c
> @@ -558,6 +558,14 @@ static void guc_flush_logs(struct intel_guc_log *log)
> guc_log_capture_logs(log);
> }
>
> +void intel_guc_log_handle_flush_event(struct intel_guc_log *log)
> +{
> + /* Handle flush event in bottom half */
> + queue_work(log->runtime.flush_wq, &log->runtime.flush_work);
> +
> + log->flush_interrupt_count++;
> +}
> +
> int intel_guc_log_create(struct intel_guc_log *log)
> {
> struct intel_guc *guc = log_to_guc(log);
> diff --git a/drivers/gpu/drm/i915/intel_guc_log.h b/drivers/gpu/drm/i915/intel_guc_log.h
> index 6264bd5..fc3d58d 100644
> --- a/drivers/gpu/drm/i915/intel_guc_log.h
> +++ b/drivers/gpu/drm/i915/intel_guc_log.h
> @@ -63,6 +63,7 @@ struct intel_guc_log {
> void intel_guc_log_init_early(struct intel_guc_log *log);
> int intel_guc_log_create(struct intel_guc_log *log);
> int intel_guc_log_register(struct intel_guc_log *log);
> +void intel_guc_log_handle_flush_event(struct intel_guc_log *log);
> void intel_guc_log_unregister(struct intel_guc_log *log);
> void intel_guc_log_destroy(struct intel_guc_log *log);
>
--
Thanks,
Sagar
More information about the Intel-gfx
mailing list