[Intel-gfx] [PATCH] drm/i915/byt: Take powerwell for reading PIPESTAT in debugfs

Mika Kuoppala mika.kuoppala at linux.intel.com
Fri Feb 10 13:41:46 UTC 2017


Chris Wilson <chris at chris-wilson.co.uk> writes:

> [12493.693827] WARNING: CPU: 1 PID: 14860 at drivers/gpu/drm/i915/intel_uncore.c:795 __unclaimed_reg_debug+0x5d/0x80 [i915]
> [12493.693868] Unclaimed read from register 0x1f0024
> [12493.693905] Modules linked in: vgem i915 drm_kms_helper drm intel_gtt i2c_algo_bit syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_powerclamp crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel cryptd lpc_ich i2c_i801 mfd_core video i2c_designware_platform i2c_designware_core i2c_core button autofs4 sd_mod ahci libahci libata scsi_mod [last unloaded: i915]
> [12493.694039] CPU: 1 PID: 14860 Comm: intel-gpu-overl Tainted: G     U          4.10.0-rc7+ #11
> [12493.694079] Hardware name: GIGABYTE GB-BXBT-1900/MZBAYAB-00, BIOS F8 03/02/2016
> [12493.694121] Call Trace:
> [12493.694169]  dump_stack+0x67/0x9d
> [12493.694235]  __warn+0x117/0x140
> [12493.694288]  warn_slowpath_fmt+0x4f/0x60
> [12493.694344]  ? do_raw_spin_lock+0x116/0x180
> [12493.694533]  ? check_for_unclaimed_mmio+0x98/0xe0 [i915]
> [12493.694727]  __unclaimed_reg_debug+0x5d/0x80 [i915]
> [12493.694923]  fwtable_read32+0x2c5/0x330 [i915]
> [12493.695108]  i915_interrupt_info+0xd52/0xf80 [i915]
> [12493.695302]  ? gen6_write16+0x310/0x310 [i915]
> [12493.695357]  seq_read+0x187/0x710
> [12493.695412]  full_proxy_read+0x75/0xc0
> [12493.695472]  __vfs_read+0x5a/0x220
> [12493.695524]  ? kmem_cache_free+0x6c/0x260
> [12493.695577]  ? putname+0x97/0xa0
> [12493.695629]  ? putname+0x97/0xa0
> [12493.695682]  ? rcu_read_lock_sched_held+0xb8/0xd0
> [12493.695735]  ? rw_verify_area+0x65/0x140
> [12493.695787]  vfs_read+0xd1/0x1f0
> [12493.695840]  SyS_read+0x62/0xc0
> [12493.695893]  entry_SYSCALL_64_fastpath+0x1c/0xb1
> [12493.695943] RIP: 0033:0x7f82dca99ba0
> [12493.695985] RSP: 002b:00007ffc0bdfd4f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
> [12493.696031] RAX: ffffffffffffffda RBX: 00007ffc0be005a0 RCX: 00007f82dca99ba0
> [12493.696073] RDX: 0000000000001fff RSI: 00007ffc0bdfd500 RDI: 000000000000001a
> [12493.696115] RBP: ffffffff810fb639 R08: 302f6972642f6775 R09: 00007f82dca0999a
> [12493.696157] R10: 00007f82dcd62760 R11: 0000000000000246 R12: ffff880069a17f98
> [12493.696199] R13: 00007ffc0bdfd428 R14: 0000000000000003 R15: 00007ffc0bdfd428
> [12493.696250]  ? trace_hardirqs_off_caller+0xd9/0x130
> [12493.696300] ---[ end trace 52ccf4d39793cc59 ]---
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99761
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com>

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 8ab8b15f3461..9030cf9961d7 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -881,10 +881,22 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
>  			   I915_READ(VLV_IIR_RW));
>  		seq_printf(m, "Display IMR:\t%08x\n",
>  			   I915_READ(VLV_IMR));
> -		for_each_pipe(dev_priv, pipe)
> +		for_each_pipe(dev_priv, pipe) {
> +			enum intel_display_power_domain power_domain;
> +
> +			power_domain = POWER_DOMAIN_PIPE(pipe);
> +			if (!intel_display_power_get_if_enabled(dev_priv,
> +								power_domain)) {
> +				seq_printf(m, "Pipe %c power disabled\n",
> +					   pipe_name(pipe));
> +				continue;
> +			}
> +
>  			seq_printf(m, "Pipe %c stat:\t%08x\n",
>  				   pipe_name(pipe),
>  				   I915_READ(PIPESTAT(pipe)));
> +			intel_display_power_put(dev_priv, power_domain);
> +		}
>  
>  		seq_printf(m, "Master IER:\t%08x\n",
>  			   I915_READ(VLV_MASTER_IER));
> -- 
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list