From: kbuild test robot <lkp@intel.com>
To: Changbin Du <changbin.du@gmail.com>
Cc: kbuild-all@lists.01.org, Jonathan Corbet <corbet@lwn.net>,
linux-pci@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-wireless@vger.kernel.org, linux-fpga@vger.kernel.org,
linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org,
Changbin Du <changbin.du@gmail.com>
Subject: Re: [PATCH] kernel-doc: rename the kernel-doc directive 'functions' to 'specific'
Date: Mon, 14 Oct 2019 03:29:34 +0800 [thread overview]
Message-ID: <201910140347.fy4EKE69%lkp@intel.com> (raw)
In-Reply-To: <20191013055359.23312-1-changbin.du@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 16652 bytes --]
Hi Changbin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.4-rc2 next-20191010]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Changbin-Du/kernel-doc-rename-the-kernel-doc-directive-functions-to-specific/20191014-013215
reproduce: make htmldocs
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
Warning: The Sphinx 'sphinx_rtd_theme' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.
WARNING: dot(1) not found, for better output quality install graphviz from http://www.graphviz.org
WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file include/linux/reservation.h
Error: Cannot open file include/linux/reservation.h
>> include/linux/regulator/machine.h:196: warning: struct member 'max_uV_step' not described in 'regulation_constraints'
>> include/linux/regulator/driver.h:223: warning: struct member 'resume' not described in 'regulator_ops'
>> include/linux/i2c.h:337: warning: struct member 'init_irq' not described in 'i2c_client'
drivers/gpio/gpiolib-of.c:92: warning: Excess function parameter 'dev' description in 'of_gpio_need_valid_mask'
>> include/linux/spi/spi.h:190: warning: struct member 'driver_override' not described in 'spi_device'
mm/util.c:1: warning: 'get_user_pages_fast' not found
>> mm/slab.c:4215: warning: function parameter 'objp' not described in '__ksize'
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found
>> include/linux/w1.h:277: warning: struct member 'of_match_table' not described in 'w1_family'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:335: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:336: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:142: warning: function parameter 'blockable' not described in 'amdgpu_mn_read_lock'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:347: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:348: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:494: warning: function parameter 'start' not described in 'amdgpu_vm_pt_first_dfs'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'adev' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'vm' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'start' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'cursor' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'entry' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:821: warning: function parameter 'level' not described in 'amdgpu_vm_bo_param'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'params' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'bo' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'level' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'pe' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'addr' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'count' not described in 'amdgpu_vm_update_flags'
vim +1207 drivers/gpu/drm/i915/i915_drv.h
eec688e1420da5 Robert Bragg 2016-11-07 1069
16d98b31f80775 Robert Bragg 2016-12-07 1070 /**
16d98b31f80775 Robert Bragg 2016-12-07 1071 * struct i915_perf_stream - state for a single open stream FD
16d98b31f80775 Robert Bragg 2016-12-07 1072 */
eec688e1420da5 Robert Bragg 2016-11-07 1073 struct i915_perf_stream {
16d98b31f80775 Robert Bragg 2016-12-07 1074 /**
16d98b31f80775 Robert Bragg 2016-12-07 1075 * @dev_priv: i915 drm device
16d98b31f80775 Robert Bragg 2016-12-07 1076 */
eec688e1420da5 Robert Bragg 2016-11-07 1077 struct drm_i915_private *dev_priv;
eec688e1420da5 Robert Bragg 2016-11-07 1078
16d98b31f80775 Robert Bragg 2016-12-07 1079 /**
16d98b31f80775 Robert Bragg 2016-12-07 1080 * @link: Links the stream into ``&drm_i915_private->streams``
16d98b31f80775 Robert Bragg 2016-12-07 1081 */
eec688e1420da5 Robert Bragg 2016-11-07 1082 struct list_head link;
eec688e1420da5 Robert Bragg 2016-11-07 1083
6d2438c8233bd0 Chris Wilson 2019-01-15 1084 /**
6d2438c8233bd0 Chris Wilson 2019-01-15 1085 * @wakeref: As we keep the device awake while the perf stream is
6d2438c8233bd0 Chris Wilson 2019-01-15 1086 * active, we track our runtime pm reference for later release.
6d2438c8233bd0 Chris Wilson 2019-01-15 1087 */
6619c0075f784d Chris Wilson 2019-01-14 1088 intel_wakeref_t wakeref;
6619c0075f784d Chris Wilson 2019-01-14 1089
16d98b31f80775 Robert Bragg 2016-12-07 1090 /**
16d98b31f80775 Robert Bragg 2016-12-07 1091 * @sample_flags: Flags representing the `DRM_I915_PERF_PROP_SAMPLE_*`
16d98b31f80775 Robert Bragg 2016-12-07 1092 * properties given when opening a stream, representing the contents
16d98b31f80775 Robert Bragg 2016-12-07 1093 * of a single sample as read() by userspace.
16d98b31f80775 Robert Bragg 2016-12-07 1094 */
eec688e1420da5 Robert Bragg 2016-11-07 1095 u32 sample_flags;
16d98b31f80775 Robert Bragg 2016-12-07 1096
16d98b31f80775 Robert Bragg 2016-12-07 1097 /**
16d98b31f80775 Robert Bragg 2016-12-07 1098 * @sample_size: Considering the configured contents of a sample
16d98b31f80775 Robert Bragg 2016-12-07 1099 * combined with the required header size, this is the total size
16d98b31f80775 Robert Bragg 2016-12-07 1100 * of a single sample record.
16d98b31f80775 Robert Bragg 2016-12-07 1101 */
d79651522e89c4 Robert Bragg 2016-11-07 1102 int sample_size;
eec688e1420da5 Robert Bragg 2016-11-07 1103
16d98b31f80775 Robert Bragg 2016-12-07 1104 /**
16d98b31f80775 Robert Bragg 2016-12-07 1105 * @ctx: %NULL if measuring system-wide across all contexts or a
16d98b31f80775 Robert Bragg 2016-12-07 1106 * specific context that is being monitored.
16d98b31f80775 Robert Bragg 2016-12-07 1107 */
eec688e1420da5 Robert Bragg 2016-11-07 1108 struct i915_gem_context *ctx;
16d98b31f80775 Robert Bragg 2016-12-07 1109
16d98b31f80775 Robert Bragg 2016-12-07 1110 /**
16d98b31f80775 Robert Bragg 2016-12-07 1111 * @enabled: Whether the stream is currently enabled, considering
16d98b31f80775 Robert Bragg 2016-12-07 1112 * whether the stream was opened in a disabled state and based
16d98b31f80775 Robert Bragg 2016-12-07 1113 * on `I915_PERF_IOCTL_ENABLE` and `I915_PERF_IOCTL_DISABLE` calls.
16d98b31f80775 Robert Bragg 2016-12-07 1114 */
eec688e1420da5 Robert Bragg 2016-11-07 1115 bool enabled;
eec688e1420da5 Robert Bragg 2016-11-07 1116
16d98b31f80775 Robert Bragg 2016-12-07 1117 /**
16d98b31f80775 Robert Bragg 2016-12-07 1118 * @ops: The callbacks providing the implementation of this specific
16d98b31f80775 Robert Bragg 2016-12-07 1119 * type of configured stream.
16d98b31f80775 Robert Bragg 2016-12-07 1120 */
d79651522e89c4 Robert Bragg 2016-11-07 1121 const struct i915_perf_stream_ops *ops;
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1122
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1123 /**
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1124 * @oa_config: The OA configuration used by the stream.
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1125 */
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1126 struct i915_oa_config *oa_config;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1127
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1128 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1129 * The OA context specific information.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1130 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1131 struct intel_context *pinned_ctx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1132 u32 specific_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1133 u32 specific_ctx_id_mask;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1134
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1135 struct hrtimer poll_check_timer;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1136 wait_queue_head_t poll_wq;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1137 bool pollin;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1138
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1139 bool periodic;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1140 int period_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1141
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1142 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1143 * State of the OA buffer.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1144 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1145 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1146 struct i915_vma *vma;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1147 u8 *vaddr;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1148 u32 last_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1149 int format;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1150 int format_size;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1151 int size_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1152
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1153 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1154 * Locks reads and writes to all head/tail state
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1155 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1156 * Consider: the head and tail pointer state needs to be read
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1157 * consistently from a hrtimer callback (atomic context) and
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1158 * read() fop (user context) with tail pointer updates happening
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1159 * in atomic context and head updates in user context and the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1160 * (unlikely) possibility of read() errors needing to reset all
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1161 * head/tail state.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1162 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1163 * Note: Contention/performance aren't currently a significant
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1164 * concern here considering the relatively low frequency of
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1165 * hrtimer callbacks (5ms period) and that reads typically only
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1166 * happen in response to a hrtimer event and likely complete
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1167 * before the next callback.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1168 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1169 * Note: This lock is not held *while* reading and copying data
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1170 * to userspace so the value of head observed in htrimer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1171 * callbacks won't represent any partial consumption of data.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1172 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1173 spinlock_t ptr_lock;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1174
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1175 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1176 * One 'aging' tail pointer and one 'aged' tail pointer ready to
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1177 * used for reading.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1178 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1179 * Initial values of 0xffffffff are invalid and imply that an
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1180 * update is required (and should be ignored by an attempted
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1181 * read)
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1182 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1183 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1184 u32 offset;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1185 } tails[2];
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1186
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1187 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1188 * Index for the aged tail ready to read() data up to.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1189 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1190 unsigned int aged_tail_idx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1191
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1192 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1193 * A monotonic timestamp for when the current aging tail pointer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1194 * was read; used to determine when it is old enough to trust.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1195 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1196 u64 aging_timestamp;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1197
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1198 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1199 * Although we can always read back the head pointer register,
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1200 * we prefer to avoid trusting the HW state, just to avoid any
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1201 * risk that some hardware condition could * somehow bump the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1202 * head pointer unpredictably and cause us to forward the wrong
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1203 * OA buffer data to userspace.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1204 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1205 u32 head;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1206 } oa_buffer;
d79651522e89c4 Robert Bragg 2016-11-07 @1207 };
d79651522e89c4 Robert Bragg 2016-11-07 1208
:::::: The code at line 1207 was first introduced by commit
:::::: d79651522e89c4ffa8992b48dfe449f0c583f809 drm/i915: Enable i915 perf stream for Haswell OA unit
:::::: TO: Robert Bragg <robert@sixbynine.org>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 7279 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Changbin Du <changbin.du@gmail.com>
Cc: kbuild-all@lists.01.org, Jonathan Corbet <corbet@lwn.net>,
linux-pci@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-wireless@vger.kernel.org, linux-fpga@vger.kernel.org,
linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] kernel-doc: rename the kernel-doc directive 'functions' to 'specific'
Date: Mon, 14 Oct 2019 03:29:34 +0800 [thread overview]
Message-ID: <201910140347.fy4EKE69%lkp@intel.com> (raw)
In-Reply-To: <20191013055359.23312-1-changbin.du@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 16652 bytes --]
Hi Changbin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.4-rc2 next-20191010]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Changbin-Du/kernel-doc-rename-the-kernel-doc-directive-functions-to-specific/20191014-013215
reproduce: make htmldocs
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
Warning: The Sphinx 'sphinx_rtd_theme' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.
WARNING: dot(1) not found, for better output quality install graphviz from http://www.graphviz.org
WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file include/linux/reservation.h
Error: Cannot open file include/linux/reservation.h
>> include/linux/regulator/machine.h:196: warning: struct member 'max_uV_step' not described in 'regulation_constraints'
>> include/linux/regulator/driver.h:223: warning: struct member 'resume' not described in 'regulator_ops'
>> include/linux/i2c.h:337: warning: struct member 'init_irq' not described in 'i2c_client'
drivers/gpio/gpiolib-of.c:92: warning: Excess function parameter 'dev' description in 'of_gpio_need_valid_mask'
>> include/linux/spi/spi.h:190: warning: struct member 'driver_override' not described in 'spi_device'
mm/util.c:1: warning: 'get_user_pages_fast' not found
>> mm/slab.c:4215: warning: function parameter 'objp' not described in '__ksize'
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found
>> include/linux/w1.h:277: warning: struct member 'of_match_table' not described in 'w1_family'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:335: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:336: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:142: warning: function parameter 'blockable' not described in 'amdgpu_mn_read_lock'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:347: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:348: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:494: warning: function parameter 'start' not described in 'amdgpu_vm_pt_first_dfs'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'adev' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'vm' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'start' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'cursor' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'entry' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:821: warning: function parameter 'level' not described in 'amdgpu_vm_bo_param'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'params' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'bo' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'level' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'pe' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'addr' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'count' not described in 'amdgpu_vm_update_flags'
vim +1207 drivers/gpu/drm/i915/i915_drv.h
eec688e1420da5 Robert Bragg 2016-11-07 1069
16d98b31f80775 Robert Bragg 2016-12-07 1070 /**
16d98b31f80775 Robert Bragg 2016-12-07 1071 * struct i915_perf_stream - state for a single open stream FD
16d98b31f80775 Robert Bragg 2016-12-07 1072 */
eec688e1420da5 Robert Bragg 2016-11-07 1073 struct i915_perf_stream {
16d98b31f80775 Robert Bragg 2016-12-07 1074 /**
16d98b31f80775 Robert Bragg 2016-12-07 1075 * @dev_priv: i915 drm device
16d98b31f80775 Robert Bragg 2016-12-07 1076 */
eec688e1420da5 Robert Bragg 2016-11-07 1077 struct drm_i915_private *dev_priv;
eec688e1420da5 Robert Bragg 2016-11-07 1078
16d98b31f80775 Robert Bragg 2016-12-07 1079 /**
16d98b31f80775 Robert Bragg 2016-12-07 1080 * @link: Links the stream into ``&drm_i915_private->streams``
16d98b31f80775 Robert Bragg 2016-12-07 1081 */
eec688e1420da5 Robert Bragg 2016-11-07 1082 struct list_head link;
eec688e1420da5 Robert Bragg 2016-11-07 1083
6d2438c8233bd0 Chris Wilson 2019-01-15 1084 /**
6d2438c8233bd0 Chris Wilson 2019-01-15 1085 * @wakeref: As we keep the device awake while the perf stream is
6d2438c8233bd0 Chris Wilson 2019-01-15 1086 * active, we track our runtime pm reference for later release.
6d2438c8233bd0 Chris Wilson 2019-01-15 1087 */
6619c0075f784d Chris Wilson 2019-01-14 1088 intel_wakeref_t wakeref;
6619c0075f784d Chris Wilson 2019-01-14 1089
16d98b31f80775 Robert Bragg 2016-12-07 1090 /**
16d98b31f80775 Robert Bragg 2016-12-07 1091 * @sample_flags: Flags representing the `DRM_I915_PERF_PROP_SAMPLE_*`
16d98b31f80775 Robert Bragg 2016-12-07 1092 * properties given when opening a stream, representing the contents
16d98b31f80775 Robert Bragg 2016-12-07 1093 * of a single sample as read() by userspace.
16d98b31f80775 Robert Bragg 2016-12-07 1094 */
eec688e1420da5 Robert Bragg 2016-11-07 1095 u32 sample_flags;
16d98b31f80775 Robert Bragg 2016-12-07 1096
16d98b31f80775 Robert Bragg 2016-12-07 1097 /**
16d98b31f80775 Robert Bragg 2016-12-07 1098 * @sample_size: Considering the configured contents of a sample
16d98b31f80775 Robert Bragg 2016-12-07 1099 * combined with the required header size, this is the total size
16d98b31f80775 Robert Bragg 2016-12-07 1100 * of a single sample record.
16d98b31f80775 Robert Bragg 2016-12-07 1101 */
d79651522e89c4 Robert Bragg 2016-11-07 1102 int sample_size;
eec688e1420da5 Robert Bragg 2016-11-07 1103
16d98b31f80775 Robert Bragg 2016-12-07 1104 /**
16d98b31f80775 Robert Bragg 2016-12-07 1105 * @ctx: %NULL if measuring system-wide across all contexts or a
16d98b31f80775 Robert Bragg 2016-12-07 1106 * specific context that is being monitored.
16d98b31f80775 Robert Bragg 2016-12-07 1107 */
eec688e1420da5 Robert Bragg 2016-11-07 1108 struct i915_gem_context *ctx;
16d98b31f80775 Robert Bragg 2016-12-07 1109
16d98b31f80775 Robert Bragg 2016-12-07 1110 /**
16d98b31f80775 Robert Bragg 2016-12-07 1111 * @enabled: Whether the stream is currently enabled, considering
16d98b31f80775 Robert Bragg 2016-12-07 1112 * whether the stream was opened in a disabled state and based
16d98b31f80775 Robert Bragg 2016-12-07 1113 * on `I915_PERF_IOCTL_ENABLE` and `I915_PERF_IOCTL_DISABLE` calls.
16d98b31f80775 Robert Bragg 2016-12-07 1114 */
eec688e1420da5 Robert Bragg 2016-11-07 1115 bool enabled;
eec688e1420da5 Robert Bragg 2016-11-07 1116
16d98b31f80775 Robert Bragg 2016-12-07 1117 /**
16d98b31f80775 Robert Bragg 2016-12-07 1118 * @ops: The callbacks providing the implementation of this specific
16d98b31f80775 Robert Bragg 2016-12-07 1119 * type of configured stream.
16d98b31f80775 Robert Bragg 2016-12-07 1120 */
d79651522e89c4 Robert Bragg 2016-11-07 1121 const struct i915_perf_stream_ops *ops;
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1122
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1123 /**
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1124 * @oa_config: The OA configuration used by the stream.
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1125 */
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1126 struct i915_oa_config *oa_config;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1127
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1128 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1129 * The OA context specific information.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1130 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1131 struct intel_context *pinned_ctx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1132 u32 specific_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1133 u32 specific_ctx_id_mask;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1134
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1135 struct hrtimer poll_check_timer;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1136 wait_queue_head_t poll_wq;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1137 bool pollin;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1138
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1139 bool periodic;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1140 int period_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1141
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1142 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1143 * State of the OA buffer.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1144 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1145 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1146 struct i915_vma *vma;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1147 u8 *vaddr;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1148 u32 last_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1149 int format;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1150 int format_size;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1151 int size_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1152
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1153 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1154 * Locks reads and writes to all head/tail state
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1155 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1156 * Consider: the head and tail pointer state needs to be read
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1157 * consistently from a hrtimer callback (atomic context) and
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1158 * read() fop (user context) with tail pointer updates happening
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1159 * in atomic context and head updates in user context and the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1160 * (unlikely) possibility of read() errors needing to reset all
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1161 * head/tail state.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1162 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1163 * Note: Contention/performance aren't currently a significant
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1164 * concern here considering the relatively low frequency of
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1165 * hrtimer callbacks (5ms period) and that reads typically only
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1166 * happen in response to a hrtimer event and likely complete
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1167 * before the next callback.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1168 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1169 * Note: This lock is not held *while* reading and copying data
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1170 * to userspace so the value of head observed in htrimer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1171 * callbacks won't represent any partial consumption of data.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1172 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1173 spinlock_t ptr_lock;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1174
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1175 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1176 * One 'aging' tail pointer and one 'aged' tail pointer ready to
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1177 * used for reading.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1178 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1179 * Initial values of 0xffffffff are invalid and imply that an
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1180 * update is required (and should be ignored by an attempted
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1181 * read)
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1182 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1183 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1184 u32 offset;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1185 } tails[2];
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1186
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1187 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1188 * Index for the aged tail ready to read() data up to.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1189 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1190 unsigned int aged_tail_idx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1191
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1192 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1193 * A monotonic timestamp for when the current aging tail pointer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1194 * was read; used to determine when it is old enough to trust.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1195 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1196 u64 aging_timestamp;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1197
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1198 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1199 * Although we can always read back the head pointer register,
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1200 * we prefer to avoid trusting the HW state, just to avoid any
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1201 * risk that some hardware condition could * somehow bump the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1202 * head pointer unpredictably and cause us to forward the wrong
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1203 * OA buffer data to userspace.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1204 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1205 u32 head;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1206 } oa_buffer;
d79651522e89c4 Robert Bragg 2016-11-07 @1207 };
d79651522e89c4 Robert Bragg 2016-11-07 1208
:::::: The code at line 1207 was first introduced by commit
:::::: d79651522e89c4ffa8992b48dfe449f0c583f809 drm/i915: Enable i915 perf stream for Haswell OA unit
:::::: TO: Robert Bragg <robert@sixbynine.org>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 7279 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: linux-usb@vger.kernel.org, kbuild-all@lists.01.org,
linux-doc@vger.kernel.org, linux-pci@vger.kernel.org,
linux-fpga@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, linux-mm@kvack.org,
linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org,
intel-gfx@lists.freedesktop.org,
Changbin Du <changbin.du@gmail.com>
Subject: Re: [PATCH] kernel-doc: rename the kernel-doc directive 'functions' to 'specific'
Date: Mon, 14 Oct 2019 03:29:34 +0800 [thread overview]
Message-ID: <201910140347.fy4EKE69%lkp@intel.com> (raw)
In-Reply-To: <20191013055359.23312-1-changbin.du@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 16652 bytes --]
Hi Changbin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.4-rc2 next-20191010]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Changbin-Du/kernel-doc-rename-the-kernel-doc-directive-functions-to-specific/20191014-013215
reproduce: make htmldocs
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
Warning: The Sphinx 'sphinx_rtd_theme' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.
WARNING: dot(1) not found, for better output quality install graphviz from http://www.graphviz.org
WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file include/linux/reservation.h
Error: Cannot open file include/linux/reservation.h
>> include/linux/regulator/machine.h:196: warning: struct member 'max_uV_step' not described in 'regulation_constraints'
>> include/linux/regulator/driver.h:223: warning: struct member 'resume' not described in 'regulator_ops'
>> include/linux/i2c.h:337: warning: struct member 'init_irq' not described in 'i2c_client'
drivers/gpio/gpiolib-of.c:92: warning: Excess function parameter 'dev' description in 'of_gpio_need_valid_mask'
>> include/linux/spi/spi.h:190: warning: struct member 'driver_override' not described in 'spi_device'
mm/util.c:1: warning: 'get_user_pages_fast' not found
>> mm/slab.c:4215: warning: function parameter 'objp' not described in '__ksize'
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found
>> include/linux/w1.h:277: warning: struct member 'of_match_table' not described in 'w1_family'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:335: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:336: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:142: warning: function parameter 'blockable' not described in 'amdgpu_mn_read_lock'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:347: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:348: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:494: warning: function parameter 'start' not described in 'amdgpu_vm_pt_first_dfs'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'adev' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'vm' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'start' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'cursor' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'entry' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:821: warning: function parameter 'level' not described in 'amdgpu_vm_bo_param'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'params' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'bo' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'level' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'pe' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'addr' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'count' not described in 'amdgpu_vm_update_flags'
vim +1207 drivers/gpu/drm/i915/i915_drv.h
eec688e1420da5 Robert Bragg 2016-11-07 1069
16d98b31f80775 Robert Bragg 2016-12-07 1070 /**
16d98b31f80775 Robert Bragg 2016-12-07 1071 * struct i915_perf_stream - state for a single open stream FD
16d98b31f80775 Robert Bragg 2016-12-07 1072 */
eec688e1420da5 Robert Bragg 2016-11-07 1073 struct i915_perf_stream {
16d98b31f80775 Robert Bragg 2016-12-07 1074 /**
16d98b31f80775 Robert Bragg 2016-12-07 1075 * @dev_priv: i915 drm device
16d98b31f80775 Robert Bragg 2016-12-07 1076 */
eec688e1420da5 Robert Bragg 2016-11-07 1077 struct drm_i915_private *dev_priv;
eec688e1420da5 Robert Bragg 2016-11-07 1078
16d98b31f80775 Robert Bragg 2016-12-07 1079 /**
16d98b31f80775 Robert Bragg 2016-12-07 1080 * @link: Links the stream into ``&drm_i915_private->streams``
16d98b31f80775 Robert Bragg 2016-12-07 1081 */
eec688e1420da5 Robert Bragg 2016-11-07 1082 struct list_head link;
eec688e1420da5 Robert Bragg 2016-11-07 1083
6d2438c8233bd0 Chris Wilson 2019-01-15 1084 /**
6d2438c8233bd0 Chris Wilson 2019-01-15 1085 * @wakeref: As we keep the device awake while the perf stream is
6d2438c8233bd0 Chris Wilson 2019-01-15 1086 * active, we track our runtime pm reference for later release.
6d2438c8233bd0 Chris Wilson 2019-01-15 1087 */
6619c0075f784d Chris Wilson 2019-01-14 1088 intel_wakeref_t wakeref;
6619c0075f784d Chris Wilson 2019-01-14 1089
16d98b31f80775 Robert Bragg 2016-12-07 1090 /**
16d98b31f80775 Robert Bragg 2016-12-07 1091 * @sample_flags: Flags representing the `DRM_I915_PERF_PROP_SAMPLE_*`
16d98b31f80775 Robert Bragg 2016-12-07 1092 * properties given when opening a stream, representing the contents
16d98b31f80775 Robert Bragg 2016-12-07 1093 * of a single sample as read() by userspace.
16d98b31f80775 Robert Bragg 2016-12-07 1094 */
eec688e1420da5 Robert Bragg 2016-11-07 1095 u32 sample_flags;
16d98b31f80775 Robert Bragg 2016-12-07 1096
16d98b31f80775 Robert Bragg 2016-12-07 1097 /**
16d98b31f80775 Robert Bragg 2016-12-07 1098 * @sample_size: Considering the configured contents of a sample
16d98b31f80775 Robert Bragg 2016-12-07 1099 * combined with the required header size, this is the total size
16d98b31f80775 Robert Bragg 2016-12-07 1100 * of a single sample record.
16d98b31f80775 Robert Bragg 2016-12-07 1101 */
d79651522e89c4 Robert Bragg 2016-11-07 1102 int sample_size;
eec688e1420da5 Robert Bragg 2016-11-07 1103
16d98b31f80775 Robert Bragg 2016-12-07 1104 /**
16d98b31f80775 Robert Bragg 2016-12-07 1105 * @ctx: %NULL if measuring system-wide across all contexts or a
16d98b31f80775 Robert Bragg 2016-12-07 1106 * specific context that is being monitored.
16d98b31f80775 Robert Bragg 2016-12-07 1107 */
eec688e1420da5 Robert Bragg 2016-11-07 1108 struct i915_gem_context *ctx;
16d98b31f80775 Robert Bragg 2016-12-07 1109
16d98b31f80775 Robert Bragg 2016-12-07 1110 /**
16d98b31f80775 Robert Bragg 2016-12-07 1111 * @enabled: Whether the stream is currently enabled, considering
16d98b31f80775 Robert Bragg 2016-12-07 1112 * whether the stream was opened in a disabled state and based
16d98b31f80775 Robert Bragg 2016-12-07 1113 * on `I915_PERF_IOCTL_ENABLE` and `I915_PERF_IOCTL_DISABLE` calls.
16d98b31f80775 Robert Bragg 2016-12-07 1114 */
eec688e1420da5 Robert Bragg 2016-11-07 1115 bool enabled;
eec688e1420da5 Robert Bragg 2016-11-07 1116
16d98b31f80775 Robert Bragg 2016-12-07 1117 /**
16d98b31f80775 Robert Bragg 2016-12-07 1118 * @ops: The callbacks providing the implementation of this specific
16d98b31f80775 Robert Bragg 2016-12-07 1119 * type of configured stream.
16d98b31f80775 Robert Bragg 2016-12-07 1120 */
d79651522e89c4 Robert Bragg 2016-11-07 1121 const struct i915_perf_stream_ops *ops;
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1122
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1123 /**
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1124 * @oa_config: The OA configuration used by the stream.
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1125 */
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1126 struct i915_oa_config *oa_config;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1127
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1128 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1129 * The OA context specific information.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1130 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1131 struct intel_context *pinned_ctx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1132 u32 specific_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1133 u32 specific_ctx_id_mask;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1134
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1135 struct hrtimer poll_check_timer;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1136 wait_queue_head_t poll_wq;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1137 bool pollin;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1138
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1139 bool periodic;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1140 int period_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1141
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1142 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1143 * State of the OA buffer.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1144 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1145 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1146 struct i915_vma *vma;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1147 u8 *vaddr;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1148 u32 last_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1149 int format;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1150 int format_size;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1151 int size_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1152
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1153 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1154 * Locks reads and writes to all head/tail state
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1155 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1156 * Consider: the head and tail pointer state needs to be read
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1157 * consistently from a hrtimer callback (atomic context) and
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1158 * read() fop (user context) with tail pointer updates happening
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1159 * in atomic context and head updates in user context and the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1160 * (unlikely) possibility of read() errors needing to reset all
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1161 * head/tail state.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1162 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1163 * Note: Contention/performance aren't currently a significant
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1164 * concern here considering the relatively low frequency of
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1165 * hrtimer callbacks (5ms period) and that reads typically only
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1166 * happen in response to a hrtimer event and likely complete
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1167 * before the next callback.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1168 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1169 * Note: This lock is not held *while* reading and copying data
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1170 * to userspace so the value of head observed in htrimer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1171 * callbacks won't represent any partial consumption of data.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1172 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1173 spinlock_t ptr_lock;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1174
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1175 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1176 * One 'aging' tail pointer and one 'aged' tail pointer ready to
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1177 * used for reading.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1178 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1179 * Initial values of 0xffffffff are invalid and imply that an
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1180 * update is required (and should be ignored by an attempted
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1181 * read)
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1182 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1183 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1184 u32 offset;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1185 } tails[2];
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1186
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1187 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1188 * Index for the aged tail ready to read() data up to.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1189 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1190 unsigned int aged_tail_idx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1191
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1192 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1193 * A monotonic timestamp for when the current aging tail pointer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1194 * was read; used to determine when it is old enough to trust.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1195 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1196 u64 aging_timestamp;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1197
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1198 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1199 * Although we can always read back the head pointer register,
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1200 * we prefer to avoid trusting the HW state, just to avoid any
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1201 * risk that some hardware condition could * somehow bump the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1202 * head pointer unpredictably and cause us to forward the wrong
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1203 * OA buffer data to userspace.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1204 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1205 u32 head;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1206 } oa_buffer;
d79651522e89c4 Robert Bragg 2016-11-07 @1207 };
d79651522e89c4 Robert Bragg 2016-11-07 1208
:::::: The code at line 1207 was first introduced by commit
:::::: d79651522e89c4ffa8992b48dfe449f0c583f809 drm/i915: Enable i915 perf stream for Haswell OA unit
:::::: TO: Robert Bragg <robert@sixbynine.org>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 7279 bytes --]
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] kernel-doc: rename the kernel-doc directive 'functions' to 'specific'
Date: Mon, 14 Oct 2019 03:29:34 +0800 [thread overview]
Message-ID: <201910140347.fy4EKE69%lkp@intel.com> (raw)
In-Reply-To: <20191013055359.23312-1-changbin.du@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 16861 bytes --]
Hi Changbin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.4-rc2 next-20191010]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Changbin-Du/kernel-doc-rename-the-kernel-doc-directive-functions-to-specific/20191014-013215
reproduce: make htmldocs
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
Warning: The Sphinx 'sphinx_rtd_theme' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.
WARNING: dot(1) not found, for better output quality install graphviz from http://www.graphviz.org
WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file drivers/dma-buf/reservation.c
Error: Cannot open file include/linux/reservation.h
Error: Cannot open file include/linux/reservation.h
>> include/linux/regulator/machine.h:196: warning: struct member 'max_uV_step' not described in 'regulation_constraints'
>> include/linux/regulator/driver.h:223: warning: struct member 'resume' not described in 'regulator_ops'
>> include/linux/i2c.h:337: warning: struct member 'init_irq' not described in 'i2c_client'
drivers/gpio/gpiolib-of.c:92: warning: Excess function parameter 'dev' description in 'of_gpio_need_valid_mask'
>> include/linux/spi/spi.h:190: warning: struct member 'driver_override' not described in 'spi_device'
mm/util.c:1: warning: 'get_user_pages_fast' not found
>> mm/slab.c:4215: warning: function parameter 'objp' not described in '__ksize'
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found
drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found
drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found
>> include/linux/w1.h:277: warning: struct member 'of_match_table' not described in 'w1_family'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:335: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c:336: warning: Excess function parameter 'dev' description in 'amdgpu_gem_prime_export'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:142: warning: function parameter 'blockable' not described in 'amdgpu_mn_read_lock'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:347: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:348: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor '
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:494: warning: function parameter 'start' not described in 'amdgpu_vm_pt_first_dfs'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'adev' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'vm' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'start' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'cursor' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:546: warning: function parameter 'entry' not described in 'for_each_amdgpu_vm_pt_dfs_safe'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:821: warning: function parameter 'level' not described in 'amdgpu_vm_bo_param'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'params' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'bo' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'level' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'pe' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'addr' not described in 'amdgpu_vm_update_flags'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1283: warning: function parameter 'count' not described in 'amdgpu_vm_update_flags'
vim +1207 drivers/gpu/drm/i915/i915_drv.h
eec688e1420da5 Robert Bragg 2016-11-07 1069
16d98b31f80775 Robert Bragg 2016-12-07 1070 /**
16d98b31f80775 Robert Bragg 2016-12-07 1071 * struct i915_perf_stream - state for a single open stream FD
16d98b31f80775 Robert Bragg 2016-12-07 1072 */
eec688e1420da5 Robert Bragg 2016-11-07 1073 struct i915_perf_stream {
16d98b31f80775 Robert Bragg 2016-12-07 1074 /**
16d98b31f80775 Robert Bragg 2016-12-07 1075 * @dev_priv: i915 drm device
16d98b31f80775 Robert Bragg 2016-12-07 1076 */
eec688e1420da5 Robert Bragg 2016-11-07 1077 struct drm_i915_private *dev_priv;
eec688e1420da5 Robert Bragg 2016-11-07 1078
16d98b31f80775 Robert Bragg 2016-12-07 1079 /**
16d98b31f80775 Robert Bragg 2016-12-07 1080 * @link: Links the stream into ``&drm_i915_private->streams``
16d98b31f80775 Robert Bragg 2016-12-07 1081 */
eec688e1420da5 Robert Bragg 2016-11-07 1082 struct list_head link;
eec688e1420da5 Robert Bragg 2016-11-07 1083
6d2438c8233bd0 Chris Wilson 2019-01-15 1084 /**
6d2438c8233bd0 Chris Wilson 2019-01-15 1085 * @wakeref: As we keep the device awake while the perf stream is
6d2438c8233bd0 Chris Wilson 2019-01-15 1086 * active, we track our runtime pm reference for later release.
6d2438c8233bd0 Chris Wilson 2019-01-15 1087 */
6619c0075f784d Chris Wilson 2019-01-14 1088 intel_wakeref_t wakeref;
6619c0075f784d Chris Wilson 2019-01-14 1089
16d98b31f80775 Robert Bragg 2016-12-07 1090 /**
16d98b31f80775 Robert Bragg 2016-12-07 1091 * @sample_flags: Flags representing the `DRM_I915_PERF_PROP_SAMPLE_*`
16d98b31f80775 Robert Bragg 2016-12-07 1092 * properties given when opening a stream, representing the contents
16d98b31f80775 Robert Bragg 2016-12-07 1093 * of a single sample as read() by userspace.
16d98b31f80775 Robert Bragg 2016-12-07 1094 */
eec688e1420da5 Robert Bragg 2016-11-07 1095 u32 sample_flags;
16d98b31f80775 Robert Bragg 2016-12-07 1096
16d98b31f80775 Robert Bragg 2016-12-07 1097 /**
16d98b31f80775 Robert Bragg 2016-12-07 1098 * @sample_size: Considering the configured contents of a sample
16d98b31f80775 Robert Bragg 2016-12-07 1099 * combined with the required header size, this is the total size
16d98b31f80775 Robert Bragg 2016-12-07 1100 * of a single sample record.
16d98b31f80775 Robert Bragg 2016-12-07 1101 */
d79651522e89c4 Robert Bragg 2016-11-07 1102 int sample_size;
eec688e1420da5 Robert Bragg 2016-11-07 1103
16d98b31f80775 Robert Bragg 2016-12-07 1104 /**
16d98b31f80775 Robert Bragg 2016-12-07 1105 * @ctx: %NULL if measuring system-wide across all contexts or a
16d98b31f80775 Robert Bragg 2016-12-07 1106 * specific context that is being monitored.
16d98b31f80775 Robert Bragg 2016-12-07 1107 */
eec688e1420da5 Robert Bragg 2016-11-07 1108 struct i915_gem_context *ctx;
16d98b31f80775 Robert Bragg 2016-12-07 1109
16d98b31f80775 Robert Bragg 2016-12-07 1110 /**
16d98b31f80775 Robert Bragg 2016-12-07 1111 * @enabled: Whether the stream is currently enabled, considering
16d98b31f80775 Robert Bragg 2016-12-07 1112 * whether the stream was opened in a disabled state and based
16d98b31f80775 Robert Bragg 2016-12-07 1113 * on `I915_PERF_IOCTL_ENABLE` and `I915_PERF_IOCTL_DISABLE` calls.
16d98b31f80775 Robert Bragg 2016-12-07 1114 */
eec688e1420da5 Robert Bragg 2016-11-07 1115 bool enabled;
eec688e1420da5 Robert Bragg 2016-11-07 1116
16d98b31f80775 Robert Bragg 2016-12-07 1117 /**
16d98b31f80775 Robert Bragg 2016-12-07 1118 * @ops: The callbacks providing the implementation of this specific
16d98b31f80775 Robert Bragg 2016-12-07 1119 * type of configured stream.
16d98b31f80775 Robert Bragg 2016-12-07 1120 */
d79651522e89c4 Robert Bragg 2016-11-07 1121 const struct i915_perf_stream_ops *ops;
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1122
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1123 /**
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1124 * @oa_config: The OA configuration used by the stream.
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1125 */
701f8231a2fe17 Lionel Landwerlin 2017-08-03 1126 struct i915_oa_config *oa_config;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1127
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1128 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1129 * The OA context specific information.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1130 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1131 struct intel_context *pinned_ctx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1132 u32 specific_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1133 u32 specific_ctx_id_mask;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1134
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1135 struct hrtimer poll_check_timer;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1136 wait_queue_head_t poll_wq;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1137 bool pollin;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1138
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1139 bool periodic;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1140 int period_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1141
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1142 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1143 * State of the OA buffer.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1144 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1145 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1146 struct i915_vma *vma;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1147 u8 *vaddr;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1148 u32 last_ctx_id;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1149 int format;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1150 int format_size;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1151 int size_exponent;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1152
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1153 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1154 * Locks reads and writes to all head/tail state
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1155 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1156 * Consider: the head and tail pointer state needs to be read
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1157 * consistently from a hrtimer callback (atomic context) and
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1158 * read() fop (user context) with tail pointer updates happening
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1159 * in atomic context and head updates in user context and the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1160 * (unlikely) possibility of read() errors needing to reset all
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1161 * head/tail state.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1162 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1163 * Note: Contention/performance aren't currently a significant
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1164 * concern here considering the relatively low frequency of
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1165 * hrtimer callbacks (5ms period) and that reads typically only
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1166 * happen in response to a hrtimer event and likely complete
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1167 * before the next callback.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1168 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1169 * Note: This lock is not held *while* reading and copying data
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1170 * to userspace so the value of head observed in htrimer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1171 * callbacks won't represent any partial consumption of data.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1172 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1173 spinlock_t ptr_lock;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1174
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1175 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1176 * One 'aging' tail pointer and one 'aged' tail pointer ready to
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1177 * used for reading.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1178 *
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1179 * Initial values of 0xffffffff are invalid and imply that an
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1180 * update is required (and should be ignored by an attempted
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1181 * read)
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1182 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1183 struct {
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1184 u32 offset;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1185 } tails[2];
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1186
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1187 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1188 * Index for the aged tail ready to read() data up to.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1189 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1190 unsigned int aged_tail_idx;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1191
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1192 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1193 * A monotonic timestamp for when the current aging tail pointer
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1194 * was read; used to determine when it is old enough to trust.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1195 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1196 u64 aging_timestamp;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1197
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1198 /**
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 @1199 * Although we can always read back the head pointer register,
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1200 * we prefer to avoid trusting the HW state, just to avoid any
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1201 * risk that some hardware condition could * somehow bump the
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1202 * head pointer unpredictably and cause us to forward the wrong
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1203 * OA buffer data to userspace.
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1204 */
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1205 u32 head;
a37f08a882b01a Umesh Nerlige Ramappa 2019-08-06 1206 } oa_buffer;
d79651522e89c4 Robert Bragg 2016-11-07 @1207 };
d79651522e89c4 Robert Bragg 2016-11-07 1208
:::::: The code at line 1207 was first introduced by commit
:::::: d79651522e89c4ffa8992b48dfe449f0c583f809 drm/i915: Enable i915 perf stream for Haswell OA unit
:::::: TO: Robert Bragg <robert@sixbynine.org>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 7279 bytes --]
next prev parent reply other threads:[~2019-10-13 19:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-13 5:53 [PATCH] kernel-doc: rename the kernel-doc directive 'functions' to 'specific' Changbin Du
2019-10-13 19:29 ` kbuild test robot [this message]
2019-10-13 19:29 ` kbuild test robot
2019-10-13 19:29 ` kbuild test robot
2019-10-13 19:29 ` kbuild test robot
2019-10-14 8:59 ` Jani Nikula
2019-10-14 8:59 ` Jani Nikula
2019-10-14 8:59 ` Jani Nikula
2019-10-14 20:48 ` Tim.Bird
2019-10-14 20:48 ` Tim.Bird-7U/KSKJipcs
2019-10-14 20:48 ` Tim.Bird
2019-10-15 3:15 ` Matthew Wilcox
2019-10-15 9:25 ` Thomas Zimmermann
2019-10-15 9:25 ` Thomas Zimmermann
2019-10-15 11:54 ` Matthew Wilcox
2019-10-15 12:08 ` Thomas Zimmermann
2019-10-15 12:08 ` Thomas Zimmermann
2019-10-15 13:19 ` Jani Nikula
2019-10-15 13:19 ` Jani Nikula
2019-10-16 0:03 ` Changbin Du
2019-10-16 0:48 ` Matthew Wilcox
2019-10-16 0:48 ` Matthew Wilcox
2019-10-14 20:26 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-10-14 20:46 ` ✓ Fi.CI.BAT: success " Patchwork
2019-10-15 8:40 ` ✓ Fi.CI.IGT: " Patchwork
2019-10-15 18:27 ` [PATCH] " Jonathan Corbet
2019-10-16 0:10 ` Changbin Du
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201910140347.fy4EKE69%lkp@intel.com \
--to=lkp@intel.com \
--cc=changbin.du@gmail.com \
--cc=corbet@lwn.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.