[Intel-gfx] [PATCH] drm/i915: Fix build warning in debugfs

Daniel, Thomas thomas.daniel at intel.com
Tue Dec 2 01:43:22 PST 2014


> -----Original Message-----
> From: Roper, Matthew D
> Sent: Tuesday, December 02, 2014 1:19 AM
> To: intel-gfx at lists.freedesktop.org
> Cc: Roper, Matthew D; Mateo Lozano, Oscar; Daniel, Thomas
> Subject: [PATCH] drm/i915: Fix build warning in debugfs
> 
> i915_gem_obj_ggtt_pin() is marked as __must_check, but one callsite in
> debugfs (i915_dump_lrc) was not checking the return value.  Add the
> necessary check and make the debugfs node print something semi-
> reasonable if we were to fail to pin.
> 
> I believe there's already in-progress discussion on the mailing list about how
> this area of the code is going to be reworked in general.  But in the
> meantime, this is just a quick fix to shut up the compiler warning.
I was actually going to post a new version of the fix patch yesterday for this, but during testing I discovered that execlists mode is broken at the moment so my attention went to that.

Agree that shutting up the compiler is good for the short term but this is Daniel's call.

Thomas


> This warning was added in commit:
> 
>         commit dcb4c12a687710ab745c2cdee8298c3e97f6f707
>         Author: Oscar Mateo <oscar.mateo at intel.com>
>         Date:   Thu Nov 13 10:28:10 2014 +0000
> 
>             drm/i915/bdw: Pin the context backing objects to GGTT on-demand
> 
> Cc: Oscar Mateo <oscar.mateo at intel.com>
> Cc: Thomas Daniel <thomas.daniel at intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 7ea3843..9934ec9 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1801,10 +1801,15 @@ static int i915_dump_lrc(struct seq_file *m, void
> *unused)
>  			if (ctx_obj) {
>  				struct page *page;
>  				uint32_t *reg_state;
> -				int j;
> +				int ret, j;
> 
> -				i915_gem_obj_ggtt_pin(ctx_obj,
> +				ret = i915_gem_obj_ggtt_pin(ctx_obj,
>  						GEN8_LR_CONTEXT_ALIGN,
> 0);
> +				if (ret) {
> +					seq_printf(m, "CONTEXT: %s
> (unavail)\n",
> +						   ring->name);
> +					continue;
> +				}
> 
>  				page = i915_gem_object_get_page(ctx_obj,
> 1);
>  				reg_state = kmap_atomic(page);
> --
> 1.8.5.1




More information about the Intel-gfx mailing list