OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
32087d1
)
drm/i915/perf: Initialise the dynamic sysfs attr
author
Chris Wilson
<chris@chris-wilson.co.uk>
Thu, 3 Aug 2017 22:37:00 +0000
(23:37 +0100)
committer
Chris Wilson
<chris@chris-wilson.co.uk>
Fri, 4 Aug 2017 12:10:10 +0000
(13:10 +0100)
Use sysfs_attr_init() to dynamically initialise the
oa_config->sysfs_metric_id.attr as it has the important side-effect of
setting the lockdep key.
[ 4.971513] [drm] Initialized i915 1.6.0
20170731
for 0000:00:02.0 on minor 0
[ 4.973489] BUG: key
ffff88026f6e7bb0
not in .data!
[ 4.973506] DEBUG_LOCKS_WARN_ON(1)
[ 4.973518] ------------[ cut here ]------------
[ 4.973547] WARNING: CPU: 1 PID: 258 at kernel/locking/lockdep.c:3156 lockdep_init_map+0x1b2/0x1c0
[ 4.973567] Modules linked in: i915(+) x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm r8169 mei_me mii mei lpc_ich prime_numbers i2c_hid pinctrl_broxton pinctrl_intel
[ 4.973645] CPU: 1 PID: 258 Comm: systemd-udevd Not tainted 4.13.0-rc3-CI-CI_DRM_2915+ #1
[ 4.973664] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016
[ 4.973686] task:
ffff8802704c2740
task.stack:
ffffc90000224000
[ 4.973700] RIP: 0010:lockdep_init_map+0x1b2/0x1c0
[ 4.973712] RSP: 0018:
ffffc90000227a10
EFLAGS:
00010282
[ 4.973726] RAX:
0000000000000016
RBX:
ffff880262aac010
RCX:
0000000000000000
[ 4.973741] RDX:
0000000080000001
RSI:
0000000000000001
RDI:
ffffffff810ed1ab
[ 4.973757] RBP:
ffffc90000227a30
R08:
0000000000000001
R09:
0000000000000000
[ 4.973774] R10:
0000000000000000
R11:
0000000000000000
R12:
ffff88026f6e7bb0
[ 4.973789] R13:
0000000000000000
R14:
ffff88026f6e7b98
R15:
ffffffff81a24da0
[ 4.973805] FS:
00007f588d7f58c0
(0000) GS:
ffff88027fc80000
(0000) knlGS:
0000000000000000
[ 4.973823] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 4.973837] CR2:
00000082482e32a0
CR3:
0000000270531000
CR4:
00000000003406e0
[ 4.973852] Call Trace:
[ 4.973864] __kernfs_create_file+0x71/0xe0
[ 4.973876] sysfs_add_file_mode_ns+0x85/0x1a0
[ 4.973890] internal_create_group+0xe5/0x2b0
[ 4.973903] sysfs_create_group+0xe/0x10
[ 4.973985] i915_perf_register+0xd9/0x220 [i915]
[ 4.974044] i915_driver_load+0xa72/0x16b0 [i915]
[ 4.974124] i915_pci_probe+0x32/0x90 [i915]
Annoyingly detected by CI, but not reported due to it occurring during boot
and disabling lockdep for later runs.
Fixes:
f89823c21224
("drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Andrzej Datczuk <andrzej.datczuk@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20170803223700.10329-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
drivers/gpu/drm/i915/i915_perf.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_perf.c
b/drivers/gpu/drm/i915/i915_perf.c
index
221a996
..
e3e2663
100644
(file)
--- a/
drivers/gpu/drm/i915/i915_perf.c
+++ b/
drivers/gpu/drm/i915/i915_perf.c
@@
-3117,6
+3117,7
@@
static ssize_t show_dynamic_id(struct device *dev,
static int create_dynamic_oa_sysfs_entry(struct drm_i915_private *dev_priv,
struct i915_oa_config *oa_config)
{
+ sysfs_attr_init(&oa_config->sysfs_metric_id.attr);
oa_config->sysfs_metric_id.attr.name = "id";
oa_config->sysfs_metric_id.attr.mode = S_IRUGO;
oa_config->sysfs_metric_id.show = show_dynamic_id;