[RFC PATCH 05/97] drm/i915/guc: use probe_error log for CT enablement failure
Michal Wajdeczko
michal.wajdeczko at intel.com
Mon May 24 10:30:13 UTC 2021
On 06.05.2021 21:13, Matthew Brost wrote:
> From: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>
> We have a couple of failure injection points in the CT enablement path,
> so we need to use i915_probe_error() to select the appropriate log level.
> A new macro (CT_PROBE_ERROR) has been added to the set of CT logging
> macros to be used in this scenario and upcoming ones.
>
> While adding the new macros, fix the underlying logging mechanics used
> by the existing ones (DRM_DEV_* -> drm_*) and move the inlines to
> before they're used inside the macros.
>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 48 ++++++++++++-----------
> 1 file changed, 25 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> index fa9e048cc65f..25618649048f 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> @@ -7,14 +7,36 @@
> #include "intel_guc_ct.h"
> #include "gt/intel_gt.h"
>
> +static inline struct intel_guc *ct_to_guc(struct intel_guc_ct *ct)
> +{
> + return container_of(ct, struct intel_guc, ct);
> +}
> +
> +static inline struct intel_gt *ct_to_gt(struct intel_guc_ct *ct)
> +{
> + return guc_to_gt(ct_to_guc(ct));
> +}
> +
> +static inline struct drm_i915_private *ct_to_i915(struct intel_guc_ct *ct)
> +{
> + return ct_to_gt(ct)->i915;
> +}
> +
> +static inline struct drm_device *ct_to_drm(struct intel_guc_ct *ct)
> +{
> + return &ct_to_i915(ct)->drm;
> +}
> +
> #define CT_ERROR(_ct, _fmt, ...) \
> - DRM_DEV_ERROR(ct_to_dev(_ct), "CT: " _fmt, ##__VA_ARGS__)
> + drm_err(ct_to_drm(_ct), "CT: " _fmt, ##__VA_ARGS__)
> #ifdef CONFIG_DRM_I915_DEBUG_GUC
> #define CT_DEBUG(_ct, _fmt, ...) \
> - DRM_DEV_DEBUG_DRIVER(ct_to_dev(_ct), "CT: " _fmt, ##__VA_ARGS__)
> + drm_dbg(ct_to_drm(_ct), "CT: " _fmt, ##__VA_ARGS__)
> #else
> #define CT_DEBUG(...) do { } while (0)
> #endif
> +#define CT_PROBE_ERROR(_ct, _fmt, ...) \
> + i915_probe_error(ct_to_i915(ct), "CT: " _fmt, ##__VA_ARGS__);
>
> struct ct_request {
> struct list_head link;
> @@ -47,26 +69,6 @@ void intel_guc_ct_init_early(struct intel_guc_ct *ct)
> INIT_WORK(&ct->requests.worker, ct_incoming_request_worker_func);
> }
>
> -static inline struct intel_guc *ct_to_guc(struct intel_guc_ct *ct)
> -{
> - return container_of(ct, struct intel_guc, ct);
> -}
> -
> -static inline struct intel_gt *ct_to_gt(struct intel_guc_ct *ct)
> -{
> - return guc_to_gt(ct_to_guc(ct));
> -}
> -
> -static inline struct drm_i915_private *ct_to_i915(struct intel_guc_ct *ct)
> -{
> - return ct_to_gt(ct)->i915;
> -}
> -
> -static inline struct device *ct_to_dev(struct intel_guc_ct *ct)
> -{
> - return ct_to_i915(ct)->drm.dev;
> -}
> -
> static inline const char *guc_ct_buffer_type_to_str(u32 type)
> {
> switch (type) {
> @@ -264,7 +266,7 @@ int intel_guc_ct_enable(struct intel_guc_ct *ct)
> err_deregister:
> ct_deregister_buffer(ct, INTEL_GUC_CT_BUFFER_TYPE_RECV);
> err_out:
> - CT_ERROR(ct, "Failed to open open CT channel (err=%d)\n", err);
> + CT_PROBE_ERROR(ct, "Failed to open channel (err=%d)\n", err);
nit: while here we can start using %pe to print error
Reviewed-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> return err;
> }
>
>
More information about the dri-devel
mailing list