[frank-w-bpi-r2-4.14:5.15-bpi-r2-pro-drm 81/81] drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1129: warning: "RK3126_WIN1_MST" redefined
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.15-bpi-r2-pro-drm
head: 671b538f2b304cf24dbbbe25615bef2e86fef84d
commit: 671b538f2b304cf24dbbbe25615bef2e86fef84d [81/81] drm: forward port of VOP2 driver
config: x86_64-randconfig-a006-20211014 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/frank-w/BPI-R2-4.14/commit/671b538f2b304cf24dbbbe25615...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.15-bpi-r2-pro-drm
git checkout 671b538f2b304cf24dbbbe25615bef2e86fef84d
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/rockchip/rockchip_vop_reg.c:22:
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1129: warning: "RK3126_WIN1_MST" redefined
1129 | #define RK3126_WIN1_MST 0x0004c
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:905: note: this is the location of the previous definition
905 | #define RK3126_WIN1_MST 0x4c
|
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1130: warning: "RK3126_WIN1_DSP_INFO" redefined
1130 | #define RK3126_WIN1_DSP_INFO 0x00050
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:906: note: this is the location of the previous definition
906 | #define RK3126_WIN1_DSP_INFO 0x50
|
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1131: warning: "RK3126_WIN1_DSP_ST" redefined
1131 | #define RK3126_WIN1_DSP_ST 0x00054
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:907: note: this is the location of the previous definition
907 | #define RK3126_WIN1_DSP_ST 0x54
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:139:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
139 | .format_modifiers = format_modifiers_win_full,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:139:22: error: 'format_modifiers_win_full' undeclared here (not in a function); did you mean 'formats_win_full'?
139 | .format_modifiers = format_modifiers_win_full,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| formats_win_full
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:159:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
159 | .format_modifiers = format_modifiers_win_lite,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:159:22: error: 'format_modifiers_win_lite' undeclared here (not in a function); did you mean 'formats_win_lite'?
159 | .format_modifiers = format_modifiers_win_lite,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| formats_win_lite
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:391:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
391 | .format_modifiers = format_modifiers_win_lite,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:533:11: error: 'px30_intr' undeclared here (not in a function)
533 | .intr = &px30_intr,
| ^~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:534:13: error: 'VOP_FEATURE_INTERNAL_RGB' undeclared here (not in a function)
534 | .feature = VOP_FEATURE_INTERNAL_RGB,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:535:3: error: 'const struct vop_data' has no member named 'common'
535 | .common = &px30_common,
| ^~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:535:13: error: 'px30_common' undeclared here (not in a function); did you mean 'ns_common'?
535 | .common = &px30_common,
| ^~~~~~~~~~~
| ns_common
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.c:535:12: warning: excess elements in struct initializer
535 | .common = &px30_common,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:535:12: note: (near initialization for 'px30_vop_big')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:536:3: error: 'const struct vop_data' has no member named 'modeset'
536 | .modeset = &px30_modeset,
| ^~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:536:14: error: 'px30_modeset' undeclared here (not in a function)
536 | .modeset = &px30_modeset,
| ^~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:536:13: warning: excess elements in struct initializer
536 | .modeset = &px30_modeset,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:536:13: note: (near initialization for 'px30_vop_big')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:537:3: error: 'const struct vop_data' has no member named 'output'; did you mean 'max_output'?
537 | .output = &px30_output,
| ^~~~~~
| max_output
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:537:13: error: 'px30_output' undeclared here (not in a function)
537 | .output = &px30_output,
| ^~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:537:12: warning: excess elements in struct initializer
537 | .output = &px30_output,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:537:12: note: (near initialization for 'px30_vop_big')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:538:9: error: 'px30_vop_big_win_data' undeclared here (not in a function)
538 | .win = px30_vop_big_win_data,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/kernel.h:12,
from drivers/gpu/drm/rockchip/rockchip_vop_reg.c:15:
include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:258:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
258 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:44:59: note: in expansion of macro '__must_be_array'
44 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:539:14: note: in expansion of macro 'ARRAY_SIZE'
539 | .win_size = ARRAY_SIZE(px30_vop_big_win_data),
| ^~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:567:3: error: 'const struct vop_data' has no member named 'common'
567 | .common = &px30_common,
| ^~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:567:12: warning: excess elements in struct initializer
567 | .common = &px30_common,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:567:12: note: (near initialization for 'px30_vop_lit')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:568:3: error: 'const struct vop_data' has no member named 'modeset'
568 | .modeset = &px30_modeset,
| ^~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:568:13: warning: excess elements in struct initializer
568 | .modeset = &px30_modeset,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:568:13: note: (near initialization for 'px30_vop_lit')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:569:3: error: 'const struct vop_data' has no member named 'output'; did you mean 'max_output'?
569 | .output = &px30_output,
| ^~~~~~
| max_output
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:569:12: warning: excess elements in struct initializer
569 | .output = &px30_output,
| ^
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:569:12: note: (near initialization for 'px30_vop_lit')
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:570:9: error: 'px30_vop_lit_win_data' undeclared here (not in a function)
570 | .win = px30_vop_lit_win_data,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/kernel.h:12,
from drivers/gpu/drm/rockchip/rockchip_vop_reg.c:15:
include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:258:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
258 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:44:59: note: in expansion of macro '__must_be_array'
44 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:571:14: note: in expansion of macro 'ARRAY_SIZE'
571 | .win_size = ARRAY_SIZE(px30_vop_lit_win_data),
| ^~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:585:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
585 | .format_modifiers = format_modifiers_win_full,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:603:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
603 | .format_modifiers = format_modifiers_win_full,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:621:3: error: 'const struct vop_win_phy' has no member named 'format_modifiers'
621 | .format_modifiers = format_modifiers_win_lite,
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:659:21: error: variable 'rk3066_common' has initializer but incomplete type
659 | static const struct vop_common rk3066_common = {
| ^~~~~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:660:3: error: 'const struct vop_common' has no member named 'standby'
660 | .standby = VOP_REG(RK3066_SYS_CTRL0, 0x1, 1),
| ^~~~~~~
drivers/gpu/drm/rockchip/rockchip_vop_reg.c:26:3: error: extra brace group at end of initializer
--
In file included from drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:14:
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1129: warning: "RK3126_WIN1_MST" redefined
1129 | #define RK3126_WIN1_MST 0x0004c
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:905: note: this is the location of the previous definition
905 | #define RK3126_WIN1_MST 0x4c
|
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1130: warning: "RK3126_WIN1_DSP_INFO" redefined
1130 | #define RK3126_WIN1_DSP_INFO 0x00050
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:906: note: this is the location of the previous definition
906 | #define RK3126_WIN1_DSP_INFO 0x50
|
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.h:1131: warning: "RK3126_WIN1_DSP_ST" redefined
1131 | #define RK3126_WIN1_DSP_ST 0x00054
|
drivers/gpu/drm/rockchip/rockchip_vop_reg.h:907: note: this is the location of the previous definition
907 | #define RK3126_WIN1_DSP_ST 0x54
|
vim +/RK3126_WIN1_MST +1129 drivers/gpu/drm/rockchip/rockchip_vop_reg.h
1127
1128 /* rk3126 register definition */
> 1129 #define RK3126_WIN1_MST 0x0004c
> 1130 #define RK3126_WIN1_DSP_INFO 0x00050
> 1131 #define RK3126_WIN1_DSP_ST 0x00054
1132 /* rk3126 register definition end */
1133
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[dhowells-fs:fscache-rewrite-indexing 71/75] include/linux/fscache.h:386: undefined reference to `__fscache_resize_cookie'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-rewrite-indexing
head: 96d4e1af98c26988d3c1b3cf688974c24de90fa9
commit: 8a43aeca4686a1f00f184392066f00da252797d0 [71/75] 9p: Use fscache indexing rewrite and reenable caching
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs fscache-rewrite-indexing
git checkout 8a43aeca4686a1f00f184392066f00da252797d0
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: fs/9p/vfs_inode.o: in function `fscache_resize_cookie':
>> include/linux/fscache.h:386: undefined reference to `__fscache_resize_cookie'
ld: fs/9p/vfs_inode.o: in function `fscache_relinquish_cookie':
>> include/linux/fscache.h:305: undefined reference to `__fscache_relinquish_cookie'
ld: fs/9p/vfs_inode.o: in function `fscache_use_cookie':
>> include/linux/fscache.h:269: undefined reference to `__fscache_use_cookie'
ld: fs/9p/vfs_inode_dotl.o: in function `fscache_use_cookie':
>> include/linux/fscache.h:269: undefined reference to `__fscache_use_cookie'
ld: fs/9p/vfs_addr.o: in function `fscache_begin_read_operation':
>> include/linux/fscache.h:483: undefined reference to `__fscache_begin_read_operation'
ld: fs/9p/vfs_file.o: in function `fscache_use_cookie':
>> include/linux/fscache.h:269: undefined reference to `__fscache_use_cookie'
ld: fs/9p/vfs_dir.o: in function `fscache_unuse_cookie':
>> include/linux/fscache.h:286: undefined reference to `__fscache_unuse_cookie'
>> ld: include/linux/fscache.h:286: undefined reference to `__fscache_unuse_cookie'
ld: fs/9p/v9fs.o: in function `fscache_relinquish_volume':
>> include/linux/fscache.h:221: undefined reference to `__fscache_relinquish_volume'
ld: fs/9p/cache.o: in function `fscache_acquire_volume':
>> include/linux/fscache.h:202: undefined reference to `__fscache_acquire_volume'
ld: fs/9p/cache.o: in function `fscache_acquire_cookie':
>> include/linux/fscache.h:250: undefined reference to `__fscache_acquire_cookie'
vim +386 include/linux/fscache.h
7f9fc1ee74adf2 David Howells 2020-09-22 183
2d6fff63703739 David Howells 2009-04-03 184 /**
056daf803e87af David Howells 2020-02-06 185 * fscache_acquire_volume - Register a volume as desiring caching services
056daf803e87af David Howells 2020-02-06 186 * @volume_key: An identification string for the volume
056daf803e87af David Howells 2020-02-06 187 * @cache_name: The name of the cache to use (or NULL for the default)
056daf803e87af David Howells 2020-02-06 188 * @coherency_data: Piece of arbitrary coherency data to check
056daf803e87af David Howells 2020-02-06 189 *
056daf803e87af David Howells 2020-02-06 190 * Register a volume as desiring caching services if they're available. The
056daf803e87af David Howells 2020-02-06 191 * caller must provide an identifier for the volume and may also indicate which
056daf803e87af David Howells 2020-02-06 192 * cache it should be in. If a preexisting volume entry is found in the cache,
056daf803e87af David Howells 2020-02-06 193 * the coherency data must match otherwise the entry will be invalidated.
2d6fff63703739 David Howells 2009-04-03 194 */
2d6fff63703739 David Howells 2009-04-03 195 static inline
056daf803e87af David Howells 2020-02-06 196 struct fscache_volume *fscache_acquire_volume(const char *volume_key,
056daf803e87af David Howells 2020-02-06 197 const char *cache_name,
056daf803e87af David Howells 2020-02-06 198 u64 coherency_data)
2d6fff63703739 David Howells 2009-04-03 199 {
056daf803e87af David Howells 2020-02-06 200 if (!fscache_available())
2d6fff63703739 David Howells 2009-04-03 201 return NULL;
056daf803e87af David Howells 2020-02-06 @202 return __fscache_acquire_volume(volume_key, cache_name, coherency_data);
2d6fff63703739 David Howells 2009-04-03 203 }
2d6fff63703739 David Howells 2009-04-03 204
2d6fff63703739 David Howells 2009-04-03 205 /**
056daf803e87af David Howells 2020-02-06 206 * fscache_relinquish_volume - Cease caching a volume
056daf803e87af David Howells 2020-02-06 207 * @volume: The volume cookie
056daf803e87af David Howells 2020-02-06 208 * @coherency_data: Piece of arbitrary coherency data to set
056daf803e87af David Howells 2020-02-06 209 * @invalidate: True if the volume should be invalidated
056daf803e87af David Howells 2020-02-06 210 *
056daf803e87af David Howells 2020-02-06 211 * Indicate that a filesystem no longer desires caching services for a volume.
056daf803e87af David Howells 2020-02-06 212 * The caller must have relinquished all file cookies prior to calling this.
056daf803e87af David Howells 2020-02-06 213 * The coherency data stored is updated.
2d6fff63703739 David Howells 2009-04-03 214 */
2d6fff63703739 David Howells 2009-04-03 215 static inline
056daf803e87af David Howells 2020-02-06 216 void fscache_relinquish_volume(struct fscache_volume *volume,
056daf803e87af David Howells 2020-02-06 217 u64 coherency_data,
056daf803e87af David Howells 2020-02-06 218 bool invalidate)
2d6fff63703739 David Howells 2009-04-03 219 {
056daf803e87af David Howells 2020-02-06 220 if (fscache_volume_valid(volume))
056daf803e87af David Howells 2020-02-06 @221 __fscache_relinquish_volume(volume, coherency_data, invalidate);
2d6fff63703739 David Howells 2009-04-03 222 }
2d6fff63703739 David Howells 2009-04-03 223
2d6fff63703739 David Howells 2009-04-03 224 /**
2d6fff63703739 David Howells 2009-04-03 225 * fscache_acquire_cookie - Acquire a cookie to represent a cache object
056daf803e87af David Howells 2020-02-06 226 * @volume: The volume in which to locate/create this cookie
d5c268fc7cd21a David Howells 2020-02-06 227 * @advice: Advice flags (FSCACHE_COOKIE_ADV_*)
402cb8dda949d9 David Howells 2018-04-04 228 * @index_key: The index key for this cookie
402cb8dda949d9 David Howells 2018-04-04 229 * @index_key_len: Size of the index key
402cb8dda949d9 David Howells 2018-04-04 230 * @aux_data: The auxiliary data for the cookie (may be NULL)
402cb8dda949d9 David Howells 2018-04-04 231 * @aux_data_len: Size of the auxiliary data buffer
ee1235a9a06813 David Howells 2018-04-04 232 * @object_size: The initial size of object
2d6fff63703739 David Howells 2009-04-03 233 *
056daf803e87af David Howells 2020-02-06 234 * Acquire a cookie to represent a data file within the given cache volume.
2d6fff63703739 David Howells 2009-04-03 235 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 236 * See Documentation/filesystems/caching/netfs-api.rst for a complete
2d6fff63703739 David Howells 2009-04-03 237 * description.
2d6fff63703739 David Howells 2009-04-03 238 */
2d6fff63703739 David Howells 2009-04-03 239 static inline
056daf803e87af David Howells 2020-02-06 240 struct fscache_cookie *fscache_acquire_cookie(struct fscache_volume *volume,
d5c268fc7cd21a David Howells 2020-02-06 241 u8 advice,
402cb8dda949d9 David Howells 2018-04-04 242 const void *index_key,
402cb8dda949d9 David Howells 2018-04-04 243 size_t index_key_len,
402cb8dda949d9 David Howells 2018-04-04 244 const void *aux_data,
402cb8dda949d9 David Howells 2018-04-04 245 size_t aux_data_len,
056daf803e87af David Howells 2020-02-06 246 loff_t object_size)
2d6fff63703739 David Howells 2009-04-03 247 {
056daf803e87af David Howells 2020-02-06 248 if (!fscache_volume_valid(volume))
056daf803e87af David Howells 2020-02-06 249 return NULL;
056daf803e87af David Howells 2020-02-06 @250 return __fscache_acquire_cookie(volume, advice,
402cb8dda949d9 David Howells 2018-04-04 251 index_key, index_key_len,
402cb8dda949d9 David Howells 2018-04-04 252 aux_data, aux_data_len,
056daf803e87af David Howells 2020-02-06 253 object_size);
056daf803e87af David Howells 2020-02-06 254 }
056daf803e87af David Howells 2020-02-06 255
056daf803e87af David Howells 2020-02-06 256 /**
056daf803e87af David Howells 2020-02-06 257 * fscache_use_cookie - Request usage of cookie attached to an object
056daf803e87af David Howells 2020-02-06 258 * @object: Object description
056daf803e87af David Howells 2020-02-06 259 * @will_modify: If cache is expected to be modified locally
056daf803e87af David Howells 2020-02-06 260 *
056daf803e87af David Howells 2020-02-06 261 * Request usage of the cookie attached to an object. The caller should tell
056daf803e87af David Howells 2020-02-06 262 * the cache if the object's contents are about to be modified locally and then
056daf803e87af David Howells 2020-02-06 263 * the cache can apply the policy that has been set to handle this case.
056daf803e87af David Howells 2020-02-06 264 */
056daf803e87af David Howells 2020-02-06 265 static inline void fscache_use_cookie(struct fscache_cookie *cookie,
056daf803e87af David Howells 2020-02-06 266 bool will_modify)
056daf803e87af David Howells 2020-02-06 267 {
056daf803e87af David Howells 2020-02-06 268 if (fscache_cookie_valid(cookie))
056daf803e87af David Howells 2020-02-06 @269 __fscache_use_cookie(cookie, will_modify);
056daf803e87af David Howells 2020-02-06 270 }
056daf803e87af David Howells 2020-02-06 271
056daf803e87af David Howells 2020-02-06 272 /**
056daf803e87af David Howells 2020-02-06 273 * fscache_unuse_cookie - Cease usage of cookie attached to an object
056daf803e87af David Howells 2020-02-06 274 * @object: Object description
056daf803e87af David Howells 2020-02-06 275 * @aux_data: Updated auxiliary data (or NULL)
056daf803e87af David Howells 2020-02-06 276 * @object_size: Revised size of the object (or NULL)
056daf803e87af David Howells 2020-02-06 277 *
056daf803e87af David Howells 2020-02-06 278 * Cease usage of the cookie attached to an object. When the users count
056daf803e87af David Howells 2020-02-06 279 * reaches zero then the cookie relinquishment will be permitted to proceed.
056daf803e87af David Howells 2020-02-06 280 */
056daf803e87af David Howells 2020-02-06 281 static inline void fscache_unuse_cookie(struct fscache_cookie *cookie,
056daf803e87af David Howells 2020-02-06 282 const void *aux_data,
056daf803e87af David Howells 2020-02-06 283 const loff_t *object_size)
056daf803e87af David Howells 2020-02-06 284 {
056daf803e87af David Howells 2020-02-06 285 if (fscache_cookie_valid(cookie))
056daf803e87af David Howells 2020-02-06 @286 __fscache_unuse_cookie(cookie, aux_data, object_size);
2d6fff63703739 David Howells 2009-04-03 287 }
2d6fff63703739 David Howells 2009-04-03 288
2d6fff63703739 David Howells 2009-04-03 289 /**
2d6fff63703739 David Howells 2009-04-03 290 * fscache_relinquish_cookie - Return the cookie to the cache, maybe discarding
2d6fff63703739 David Howells 2009-04-03 291 * it
2d6fff63703739 David Howells 2009-04-03 292 * @cookie: The cookie being returned
2d6fff63703739 David Howells 2009-04-03 293 * @retire: True if the cache object the cookie represents is to be discarded
2d6fff63703739 David Howells 2009-04-03 294 *
2d6fff63703739 David Howells 2009-04-03 295 * This function returns a cookie to the cache, forcibly discarding the
056daf803e87af David Howells 2020-02-06 296 * associated cache object if retire is set to true.
2d6fff63703739 David Howells 2009-04-03 297 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 298 * See Documentation/filesystems/caching/netfs-api.rst for a complete
2d6fff63703739 David Howells 2009-04-03 299 * description.
2d6fff63703739 David Howells 2009-04-03 300 */
2d6fff63703739 David Howells 2009-04-03 301 static inline
056daf803e87af David Howells 2020-02-06 302 void fscache_relinquish_cookie(struct fscache_cookie *cookie, bool retire)
2d6fff63703739 David Howells 2009-04-03 303 {
ccc4fc3d11e914 David Howells 2009-04-03 304 if (fscache_cookie_valid(cookie))
056daf803e87af David Howells 2020-02-06 @305 __fscache_relinquish_cookie(cookie, retire);
2d6fff63703739 David Howells 2009-04-03 306 }
2d6fff63703739 David Howells 2009-04-03 307
423c447e7489a3 David Howells 2020-11-25 308 /*
423c447e7489a3 David Howells 2020-11-25 309 * Find the auxiliary data on a cookie.
423c447e7489a3 David Howells 2020-11-25 310 */
423c447e7489a3 David Howells 2020-11-25 311 static inline void *fscache_get_aux(struct fscache_cookie *cookie)
423c447e7489a3 David Howells 2020-11-25 312 {
423c447e7489a3 David Howells 2020-11-25 313 if (cookie->aux_len <= sizeof(cookie->inline_aux))
423c447e7489a3 David Howells 2020-11-25 314 return cookie->inline_aux;
423c447e7489a3 David Howells 2020-11-25 315 else
423c447e7489a3 David Howells 2020-11-25 316 return cookie->aux;
423c447e7489a3 David Howells 2020-11-25 317 }
423c447e7489a3 David Howells 2020-11-25 318
423c447e7489a3 David Howells 2020-11-25 319 /*
423c447e7489a3 David Howells 2020-11-25 320 * Update the auxiliary data on a cookie.
423c447e7489a3 David Howells 2020-11-25 321 */
423c447e7489a3 David Howells 2020-11-25 322 static inline
423c447e7489a3 David Howells 2020-11-25 323 void fscache_update_aux(struct fscache_cookie *cookie,
423c447e7489a3 David Howells 2020-11-25 324 const void *aux_data, const loff_t *object_size)
423c447e7489a3 David Howells 2020-11-25 325 {
423c447e7489a3 David Howells 2020-11-25 326 void *p = fscache_get_aux(cookie);
423c447e7489a3 David Howells 2020-11-25 327
423c447e7489a3 David Howells 2020-11-25 328 if (aux_data && p)
423c447e7489a3 David Howells 2020-11-25 329 memcpy(p, aux_data, cookie->aux_len);
423c447e7489a3 David Howells 2020-11-25 330 if (object_size)
423c447e7489a3 David Howells 2020-11-25 331 cookie->object_size = *object_size;
423c447e7489a3 David Howells 2020-11-25 332 }
423c447e7489a3 David Howells 2020-11-25 333
423c447e7489a3 David Howells 2020-11-25 334 #ifdef CONFIG_FSCACHE_STATS
423c447e7489a3 David Howells 2020-11-25 335 extern atomic_t fscache_n_updates;
423c447e7489a3 David Howells 2020-11-25 336 #endif
423c447e7489a3 David Howells 2020-11-25 337
423c447e7489a3 David Howells 2020-11-25 338 static inline
423c447e7489a3 David Howells 2020-11-25 339 void __fscache_update_cookie(struct fscache_cookie *cookie, const void *aux_data,
423c447e7489a3 David Howells 2020-11-25 340 const loff_t *object_size)
423c447e7489a3 David Howells 2020-11-25 341 {
423c447e7489a3 David Howells 2020-11-25 342 #ifdef CONFIG_FSCACHE_STATS
423c447e7489a3 David Howells 2020-11-25 343 atomic_inc(&fscache_n_updates);
423c447e7489a3 David Howells 2020-11-25 344 #endif
423c447e7489a3 David Howells 2020-11-25 345 fscache_update_aux(cookie, aux_data, object_size);
423c447e7489a3 David Howells 2020-11-25 346 smp_wmb();
423c447e7489a3 David Howells 2020-11-25 347 set_bit(FSCACHE_COOKIE_NEEDS_UPDATE, &cookie->flags);
423c447e7489a3 David Howells 2020-11-25 348 }
423c447e7489a3 David Howells 2020-11-25 349
2d6fff63703739 David Howells 2009-04-03 350 /**
2d6fff63703739 David Howells 2009-04-03 351 * fscache_update_cookie - Request that a cache object be updated
2d6fff63703739 David Howells 2009-04-03 352 * @cookie: The cookie representing the cache object
402cb8dda949d9 David Howells 2018-04-04 353 * @aux_data: The updated auxiliary data for the cookie (may be NULL)
056daf803e87af David Howells 2020-02-06 354 * @object_size: The current size of the object (may be NULL)
2d6fff63703739 David Howells 2009-04-03 355 *
2d6fff63703739 David Howells 2009-04-03 356 * Request an update of the index data for the cache object associated with the
402cb8dda949d9 David Howells 2018-04-04 357 * cookie. The auxiliary data on the cookie will be updated first if @aux_data
056daf803e87af David Howells 2020-02-06 358 * is set and the object size will be updated and the object possibly trimmed
056daf803e87af David Howells 2020-02-06 359 * if @object_size is set.
2d6fff63703739 David Howells 2009-04-03 360 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 361 * See Documentation/filesystems/caching/netfs-api.rst for a complete
2d6fff63703739 David Howells 2009-04-03 362 * description.
2d6fff63703739 David Howells 2009-04-03 363 */
2d6fff63703739 David Howells 2009-04-03 364 static inline
056daf803e87af David Howells 2020-02-06 365 void fscache_update_cookie(struct fscache_cookie *cookie, const void *aux_data,
056daf803e87af David Howells 2020-02-06 366 const loff_t *object_size)
2d6fff63703739 David Howells 2009-04-03 367 {
b4a0c0e0a13cea Jeff Layton 2020-07-30 368 if (fscache_cookie_enabled(cookie))
056daf803e87af David Howells 2020-02-06 369 __fscache_update_cookie(cookie, aux_data, object_size);
2d6fff63703739 David Howells 2009-04-03 370 }
2d6fff63703739 David Howells 2009-04-03 371
9d8038c4821d31 David Howells 2020-02-06 372 /**
9d8038c4821d31 David Howells 2020-02-06 373 * fscache_resize_cookie - Request that a cache object be resized
9d8038c4821d31 David Howells 2020-02-06 374 * @cookie: The cookie representing the cache object
9d8038c4821d31 David Howells 2020-02-06 375 * @new_size: The new size of the object (may be NULL)
9d8038c4821d31 David Howells 2020-02-06 376 *
9d8038c4821d31 David Howells 2020-02-06 377 * Request that the size of an object be changed.
9d8038c4821d31 David Howells 2020-02-06 378 *
9d8038c4821d31 David Howells 2020-02-06 379 * See Documentation/filesystems/caching/netfs-api.txt for a complete
9d8038c4821d31 David Howells 2020-02-06 380 * description.
9d8038c4821d31 David Howells 2020-02-06 381 */
9d8038c4821d31 David Howells 2020-02-06 382 static inline
9d8038c4821d31 David Howells 2020-02-06 383 void fscache_resize_cookie(struct fscache_cookie *cookie, loff_t new_size)
9d8038c4821d31 David Howells 2020-02-06 384 {
9d8038c4821d31 David Howells 2020-02-06 385 if (fscache_cookie_enabled(cookie))
9d8038c4821d31 David Howells 2020-02-06 @386 __fscache_resize_cookie(cookie, new_size);
9d8038c4821d31 David Howells 2020-02-06 387 }
9d8038c4821d31 David Howells 2020-02-06 388
2d6fff63703739 David Howells 2009-04-03 389 /**
2d6fff63703739 David Howells 2009-04-03 390 * fscache_pin_cookie - Pin a data-storage cache object in its cache
2d6fff63703739 David Howells 2009-04-03 391 * @cookie: The cookie representing the cache object
2d6fff63703739 David Howells 2009-04-03 392 *
2d6fff63703739 David Howells 2009-04-03 393 * Permit data-storage cache objects to be pinned in the cache.
2d6fff63703739 David Howells 2009-04-03 394 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 395 * See Documentation/filesystems/caching/netfs-api.rst for a complete
2d6fff63703739 David Howells 2009-04-03 396 * description.
2d6fff63703739 David Howells 2009-04-03 397 */
2d6fff63703739 David Howells 2009-04-03 398 static inline
2d6fff63703739 David Howells 2009-04-03 399 int fscache_pin_cookie(struct fscache_cookie *cookie)
2d6fff63703739 David Howells 2009-04-03 400 {
2d6fff63703739 David Howells 2009-04-03 401 return -ENOBUFS;
2d6fff63703739 David Howells 2009-04-03 402 }
2d6fff63703739 David Howells 2009-04-03 403
2d6fff63703739 David Howells 2009-04-03 404 /**
2d6fff63703739 David Howells 2009-04-03 405 * fscache_pin_cookie - Unpin a data-storage cache object in its cache
2d6fff63703739 David Howells 2009-04-03 406 * @cookie: The cookie representing the cache object
2d6fff63703739 David Howells 2009-04-03 407 *
2d6fff63703739 David Howells 2009-04-03 408 * Permit data-storage cache objects to be unpinned from the cache.
2d6fff63703739 David Howells 2009-04-03 409 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 410 * See Documentation/filesystems/caching/netfs-api.rst for a complete
2d6fff63703739 David Howells 2009-04-03 411 * description.
2d6fff63703739 David Howells 2009-04-03 412 */
2d6fff63703739 David Howells 2009-04-03 413 static inline
2d6fff63703739 David Howells 2009-04-03 414 void fscache_unpin_cookie(struct fscache_cookie *cookie)
2d6fff63703739 David Howells 2009-04-03 415 {
2d6fff63703739 David Howells 2009-04-03 416 }
2d6fff63703739 David Howells 2009-04-03 417
ef778e7ae67cd4 David Howells 2012-12-20 418 /**
ef778e7ae67cd4 David Howells 2012-12-20 419 * fscache_invalidate - Notify cache that an object needs invalidation
ef778e7ae67cd4 David Howells 2012-12-20 420 * @cookie: The cookie representing the cache object
d8d6f8e68e17cd David Howells 2020-02-06 421 * @aux_data: The updated auxiliary data for the cookie (may be NULL)
6b97c8850f9876 David Howells 2021-10-04 422 * @size: The revised size of the object.
d8d6f8e68e17cd David Howells 2020-02-06 423 * @flags: Invalidation flags (FSCACHE_INVAL_*)
ef778e7ae67cd4 David Howells 2012-12-20 424 *
ef778e7ae67cd4 David Howells 2012-12-20 425 * Notify the cache that an object is needs to be invalidated and that it
ef778e7ae67cd4 David Howells 2012-12-20 426 * should abort any retrievals or stores it is doing on the cache. The object
ef778e7ae67cd4 David Howells 2012-12-20 427 * is then marked non-caching until such time as the invalidation is complete.
ef778e7ae67cd4 David Howells 2012-12-20 428 *
d8d6f8e68e17cd David Howells 2020-02-06 429 * FSCACHE_INVAL_LIGHT indicates that if the object has been invalidated and
d8d6f8e68e17cd David Howells 2020-02-06 430 * replaced by a temporary object, the temporary object need not be replaced
d8d6f8e68e17cd David Howells 2020-02-06 431 * again. This is primarily intended for use with FSCACHE_ADV_SINGLE_CHUNK.
d8d6f8e68e17cd David Howells 2020-02-06 432 *
d8d6f8e68e17cd David Howells 2020-02-06 433 * FSCACHE_INVAL_DIO_WRITE indicates that this is due to a direct I/O write and
d8d6f8e68e17cd David Howells 2020-02-06 434 * may cause caching to be suspended on this cookie.
ef778e7ae67cd4 David Howells 2012-12-20 435 *
efc930fa1d8448 Mauro Carvalho Chehab 2020-04-27 436 * See Documentation/filesystems/caching/netfs-api.rst for a complete
ef778e7ae67cd4 David Howells 2012-12-20 437 * description.
ef778e7ae67cd4 David Howells 2012-12-20 438 */
ef778e7ae67cd4 David Howells 2012-12-20 439 static inline
d8d6f8e68e17cd David Howells 2020-02-06 440 void fscache_invalidate(struct fscache_cookie *cookie,
d8d6f8e68e17cd David Howells 2020-02-06 441 const void *aux_data, loff_t size, unsigned int flags)
ef778e7ae67cd4 David Howells 2012-12-20 442 {
b4a0c0e0a13cea Jeff Layton 2020-07-30 443 if (fscache_cookie_enabled(cookie))
d8d6f8e68e17cd David Howells 2020-02-06 444 __fscache_invalidate(cookie, aux_data, size, flags);
ef778e7ae67cd4 David Howells 2012-12-20 445 }
ef778e7ae67cd4 David Howells 2012-12-20 446
ef778e7ae67cd4 David Howells 2012-12-20 447 /**
056daf803e87af David Howells 2020-02-06 448 * fscache_operation_valid - Return true if operations resources are usable
056daf803e87af David Howells 2020-02-06 449 * @cres: The resources to check.
ef778e7ae67cd4 David Howells 2012-12-20 450 *
056daf803e87af David Howells 2020-02-06 451 * Returns a pointer to the operations table if usable or NULL if not.
ef778e7ae67cd4 David Howells 2012-12-20 452 */
ef778e7ae67cd4 David Howells 2012-12-20 453 static inline
056daf803e87af David Howells 2020-02-06 454 const struct netfs_cache_ops *fscache_operation_valid(const struct netfs_cache_resources *cres)
ef778e7ae67cd4 David Howells 2012-12-20 455 {
056daf803e87af David Howells 2020-02-06 456 return fscache_resources_valid(cres) ? cres->ops : NULL;
ef778e7ae67cd4 David Howells 2012-12-20 457 }
ef778e7ae67cd4 David Howells 2012-12-20 458
26aaeffcafe6cb David Howells 2021-02-22 459 #ifdef FSCACHE_USE_NEW_IO_API
26aaeffcafe6cb David Howells 2021-02-22 460
26aaeffcafe6cb David Howells 2021-02-22 461 /**
26aaeffcafe6cb David Howells 2021-02-22 462 * fscache_begin_read_operation - Begin a read operation for the netfs lib
a2872465a68c9b David Howells 2021-09-14 463 * @cres: The cache resources for the read being performed
26aaeffcafe6cb David Howells 2021-02-22 464 * @cookie: The cookie representing the cache object
26aaeffcafe6cb David Howells 2021-02-22 465 *
a2872465a68c9b David Howells 2021-09-14 466 * Begin a read operation on behalf of the netfs helper library. @cres
a2872465a68c9b David Howells 2021-09-14 467 * indicates the cache resources to which the operation state should be
a2872465a68c9b David Howells 2021-09-14 468 * attached; @cookie indicates the cache object that will be accessed.
26aaeffcafe6cb David Howells 2021-02-22 469 *
26aaeffcafe6cb David Howells 2021-02-22 470 * This is intended to be called from the ->begin_cache_operation() netfs lib
26aaeffcafe6cb David Howells 2021-02-22 471 * operation as implemented by the network filesystem.
26aaeffcafe6cb David Howells 2021-02-22 472 *
26aaeffcafe6cb David Howells 2021-02-22 473 * Returns:
26aaeffcafe6cb David Howells 2021-02-22 474 * * 0 - Success
26aaeffcafe6cb David Howells 2021-02-22 475 * * -ENOBUFS - No caching available
26aaeffcafe6cb David Howells 2021-02-22 476 * * Other error code from the cache, such as -ENOMEM.
26aaeffcafe6cb David Howells 2021-02-22 477 */
26aaeffcafe6cb David Howells 2021-02-22 478 static inline
a2872465a68c9b David Howells 2021-09-14 479 int fscache_begin_read_operation(struct netfs_cache_resources *cres,
26aaeffcafe6cb David Howells 2021-02-22 480 struct fscache_cookie *cookie)
26aaeffcafe6cb David Howells 2021-02-22 481 {
b4a0c0e0a13cea Jeff Layton 2020-07-30 482 if (fscache_cookie_enabled(cookie))
056daf803e87af David Howells 2020-02-06 @483 return __fscache_begin_read_operation(cres, cookie);
26aaeffcafe6cb David Howells 2021-02-22 484 return -ENOBUFS;
26aaeffcafe6cb David Howells 2021-02-22 485 }
26aaeffcafe6cb David Howells 2021-02-22 486
:::::: The code at line 386 was first introduced by commit
:::::: 9d8038c4821d31fb8928f85f9f708ae7e831b775 fscache: Provide resize operation
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: David Howells <dhowells(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[linux-next:master 5901/7806] aarch64-linux-ld: rcar_du_encoder.c:undefined reference to `rcar_lvds_is_connected'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 8006b911c90a4ec09958447d24c8a4c3538f5723
commit: 187502afe87a0fc96832056558978fa423920ee0 [5901/7806] drm: rcar-du: Don't create encoder for unconnected LVDS outputs
config: arm64-randconfig-r002-20211014 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 187502afe87a0fc96832056558978fa423920ee0
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
aarch64-linux-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_enable':
rcar_du_crtc.c:(.text+0x1b34): undefined reference to `rcar_cmm_enable'
aarch64-linux-ld: rcar_du_crtc.c:(.text+0x1ba8): undefined reference to `rcar_lvds_clk_enable'
aarch64-linux-ld: rcar_du_crtc.c:(.text+0x1c44): undefined reference to `rcar_cmm_setup'
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_begin':
rcar_du_crtc.c:(.text+0x1d14): undefined reference to `rcar_cmm_setup'
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_disable':
rcar_du_crtc.c:(.text+0x2244): undefined reference to `rcar_cmm_disable'
aarch64-linux-ld: rcar_du_crtc.c:(.text+0x232c): undefined reference to `rcar_lvds_clk_disable'
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_drv.o: in function `rcar_du_init':
rcar_du_drv.c:(.init.text+0x14): undefined reference to `rcar_du_of_init'
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_encoder.o: in function `rcar_du_encoder_init':
rcar_du_encoder.c:(.text+0x1f0): undefined reference to `rcar_lvds_dual_link'
>> aarch64-linux-ld: rcar_du_encoder.c:(.text+0x230): undefined reference to `rcar_lvds_is_connected'
aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_kms.o: in function `rcar_du_modeset_init':
rcar_du_kms.c:(.text+0x102c): undefined reference to `rcar_cmm_init'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[skeggsb:03.00-disp 56/65] drivers/gpu/drm/nouveau/include/nvif/printf.h:10:25: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'u32' {aka 'unsigned int'}
by kernel test robot
tree: https://github.com/skeggsb/linux 03.00-disp
head: 9d141f4c5d74118aa6e66daa9fde389857627d89
commit: ee9e44a497d467c04908c8329a305e8cd0e692e5 [56/65] drm/nouveau/nvkm: add a replacement for nvkm_notify
config: arc-randconfig-r043-20211014 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/skeggsb/linux/commit/ee9e44a497d467c04908c8329a305e8cd...
git remote add skeggsb https://github.com/skeggsb/linux
git fetch --no-tags skeggsb 03.00-disp
git checkout ee9e44a497d467c04908c8329a305e8cd0e692e5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/nouveau/nvif/event.c:23:
drivers/gpu/drm/nouveau/nvif/event.c: In function 'nvif_event_ctor':
>> drivers/gpu/drm/nouveau/include/nvif/printf.h:10:25: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'u32' {aka 'unsigned int'} [-Wformat=]
10 | _p->func->l(_o, "[%s/%08x:%s] "f"\n", _o->client->object.name, _o->handle, _o->name, ##a); \
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/include/nvif/printf.h:19:30: note: in expansion of macro 'NVIF_PRINT'
19 | #define NVIF_ERROR(o,f,a...) NVIF_PRINT(errorf, (o), f, ##a)
| ^~~~~~~~~~
drivers/gpu/drm/nouveau/include/nvif/printf.h:24:17: note: in expansion of macro 'NVIF_ERROR'
24 | NVIF_ERROR(_object, f" (ret:%d)", ##a, _cond); \
| ^~~~~~~~~~
drivers/gpu/drm/nouveau/nvif/event.c:73:9: note: in expansion of macro 'NVIF_ERRON'
73 | NVIF_ERRON(ret, parent, "[NEW EVENT wait:%d size:%ld]", args->wait, argc - sizeof(*args));
| ^~~~~~~~~~
>> drivers/gpu/drm/nouveau/include/nvif/printf.h:10:25: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'u32' {aka 'unsigned int'} [-Wformat=]
10 | _p->func->l(_o, "[%s/%08x:%s] "f"\n", _o->client->object.name, _o->handle, _o->name, ##a); \
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/include/nvif/printf.h:14:30: note: in expansion of macro 'NVIF_PRINT'
14 | #define NVIF_DEBUG(o,f,a...) NVIF_PRINT(debugf, (o), f, ##a)
| ^~~~~~~~~~
drivers/gpu/drm/nouveau/include/nvif/printf.h:26:17: note: in expansion of macro 'NVIF_DEBUG'
26 | NVIF_DEBUG(_object, f, ##a); \
| ^~~~~~~~~~
drivers/gpu/drm/nouveau/nvif/event.c:73:9: note: in expansion of macro 'NVIF_ERRON'
73 | NVIF_ERRON(ret, parent, "[NEW EVENT wait:%d size:%ld]", args->wait, argc - sizeof(*args));
| ^~~~~~~~~~
vim +10 drivers/gpu/drm/nouveau/include/nvif/printf.h
3e176fd0600439 Ben Skeggs 2020-06-29 6
3e176fd0600439 Ben Skeggs 2020-06-29 7 #define NVIF_PRINT(l,o,f,a...) do { \
3e176fd0600439 Ben Skeggs 2020-06-29 8 struct nvif_object *_o = (o); \
3e176fd0600439 Ben Skeggs 2020-06-29 9 struct nvif_parent *_p = _o->parent; \
3e176fd0600439 Ben Skeggs 2020-06-29 @10 _p->func->l(_o, "[%s/%08x:%s] "f"\n", _o->client->object.name, _o->handle, _o->name, ##a); \
3e176fd0600439 Ben Skeggs 2020-06-29 11 } while(0)
3e176fd0600439 Ben Skeggs 2020-06-29 12
:::::: The code at line 10 was first introduced by commit
:::::: 3e176fd0600439a8a1e0b3e95e2f0545660ab59c drm/nouveau/nvif: add support for object-level debug output
:::::: TO: Ben Skeggs <bskeggs(a)redhat.com>
:::::: CC: Ben Skeggs <bskeggs(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[gustavoars:for-next/cast-function 3/4] kernel/trace/ftrace.c:7029:6: error: conflicting types for 'arch_ftrace_ops_list_func'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/cast-function
head: 21078041965eb5a2e83d296690a93243611a3c27
commit: c45ede6c27819bb038af313b475fdf50ce755dd6 [3/4] ftrace: Fix -Wmissing-prototypes errors
config: i386-randconfig-r001-20211014 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/comm...
git remote add gustavoars https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
git fetch --no-tags gustavoars for-next/cast-function
git checkout c45ede6c27819bb038af313b475fdf50ce755dd6
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from kernel/trace/ftrace.c:29:
include/linux/ftrace.h:49:41: warning: 'struct ftrace_regs' declared inside parameter list will not be visible outside of this definition or declaration
49 | struct ftrace_ops *op, struct ftrace_regs *fregs);
| ^~~~~~~~~~~
kernel/trace/ftrace.c:297:5: warning: no previous prototype for '__register_ftrace_function' [-Wmissing-prototypes]
297 | int __register_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:340:5: warning: no previous prototype for '__unregister_ftrace_function' [-Wmissing-prototypes]
340 | int __unregister_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:579:5: warning: no previous prototype for 'ftrace_profile_pages_init' [-Wmissing-prototypes]
579 | int ftrace_profile_pages_init(struct ftrace_profile_stat *stat)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:3871:15: warning: no previous prototype for 'arch_ftrace_match_adjust' [-Wmissing-prototypes]
3871 | char * __weak arch_ftrace_match_adjust(char *str, const char *search)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/trace/ftrace.c:7029:6: error: conflicting types for 'arch_ftrace_ops_list_func'
7029 | void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from kernel/trace/ftrace.c:29:
include/linux/ftrace.h:48:6: note: previous declaration of 'arch_ftrace_ops_list_func' was here
48 | void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/arch_ftrace_ops_list_func +7029 kernel/trace/ftrace.c
b848914ce39589 Steven Rostedt 2011-05-04 7011
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7012 /*
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7013 * Some archs only support passing ip and parent_ip. Even though
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7014 * the list function ignores the op parameter, we do not want any
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7015 * C side effects, where a function is called without the caller
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7016 * sending a third parameter.
a1e2e31d175a13 Steven Rostedt 2011-08-09 7017 * Archs are to support both the regs and ftrace_ops at the same time.
a1e2e31d175a13 Steven Rostedt 2011-08-09 7018 * If they support ftrace_ops, it is assumed they support regs.
a1e2e31d175a13 Steven Rostedt 2011-08-09 7019 * If call backs want to use regs, they must either check for regs
06aeaaeabf69da Masami Hiramatsu 2012-09-28 7020 * being NULL, or CONFIG_DYNAMIC_FTRACE_WITH_REGS.
06aeaaeabf69da Masami Hiramatsu 2012-09-28 7021 * Note, CONFIG_DYNAMIC_FTRACE_WITH_REGS expects a full regs to be saved.
a1e2e31d175a13 Steven Rostedt 2011-08-09 7022 * An architecture can pass partial regs with ftrace_ops and still
b8ec330a63eb39 Li Bin 2015-11-30 7023 * set the ARCH_SUPPORTS_FTRACE_OPS.
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 7024 *
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 7025 * In vmlinux.lds.h, ftrace_ops_list_func() is defined to be
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 7026 * arch_ftrace_ops_list_func.
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7027 */
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7028 #if ARCH_SUPPORTS_FTRACE_OPS
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 @7029 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
d19ad0775dcd64 Steven Rostedt (VMware 2020-10-28 7030) struct ftrace_ops *op, struct ftrace_regs *fregs)
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7031 {
d19ad0775dcd64 Steven Rostedt (VMware 2020-10-28 7032) __ftrace_ops_list_func(ip, parent_ip, NULL, fregs);
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7033 }
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7034 #else
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 7035 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip)
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7036 {
a1e2e31d175a13 Steven Rostedt 2011-08-09 7037 __ftrace_ops_list_func(ip, parent_ip, NULL, NULL);
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7038 }
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7039 #endif
1bdc308cabc872 Gustavo A. R. Silva 2021-10-13 7040 NOKPROBE_SYMBOL(arch_ftrace_ops_list_func);
2f5f6ad9390c1e Steven Rostedt 2011-08-08 7041
:::::: The code at line 7029 was first introduced by commit
:::::: 1bdc308cabc872d3f6998ba8af9b1e3bc88cea64 ftrace: Fix -Wcast-function-type warnings on powerpc64
:::::: TO: Gustavo A. R. Silva <gustavoars(a)kernel.org>
:::::: CC: Gustavo A. R. Silva <gustavoars(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[frank-w-bpi-r2-4.14:5.15-bpi-r2-pro-drm 81/81] scripts/Makefile.clean:15: drivers/gpu/drm/rockchip/ebc-dev/Makefile: No such file or directory
by kernel test robot
Hi Benjamin,
First bad commit (maybe != root cause):
tree: https://github.com/frank-w/BPI-R2-4.14 5.15-bpi-r2-pro-drm
head: 671b538f2b304cf24dbbbe25615bef2e86fef84d
commit: 671b538f2b304cf24dbbbe25615bef2e86fef84d [81/81] drm: forward port of VOP2 driver
config: mips-buildonly-randconfig-r001-20211014 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project acb3b187c4c88650a6a717a1bcb234d27d0d7f54)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/frank-w/BPI-R2-4.14/commit/671b538f2b304cf24dbbbe25615...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.15-bpi-r2-pro-drm
git checkout 671b538f2b304cf24dbbbe25615bef2e86fef84d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> scripts/Makefile.clean:15: drivers/gpu/drm/rockchip/ebc-dev/Makefile: No such file or directory
>> make[6]: *** No rule to make target 'drivers/gpu/drm/rockchip/ebc-dev/Makefile'.
make[6]: Failed to remake makefile 'drivers/gpu/drm/rockchip/ebc-dev/Makefile'.
make[5]: *** [scripts/Makefile.clean:68: drivers/gpu/drm/rockchip/ebc-dev] Error 2
>> scripts/Makefile.clean:15: drivers/gpu/drm/rockchip/rk618/Makefile: No such file or directory
>> make[6]: *** No rule to make target 'drivers/gpu/drm/rockchip/rk618/Makefile'.
make[6]: Failed to remake makefile 'drivers/gpu/drm/rockchip/rk618/Makefile'.
make[5]: *** [scripts/Makefile.clean:68: drivers/gpu/drm/rockchip/rk618] Error 2
>> scripts/Makefile.clean:15: drivers/gpu/drm/rockchip/rk628/Makefile: No such file or directory
>> make[6]: *** No rule to make target 'drivers/gpu/drm/rockchip/rk628/Makefile'.
make[6]: Failed to remake makefile 'drivers/gpu/drm/rockchip/rk628/Makefile'.
make[5]: *** [scripts/Makefile.clean:68: drivers/gpu/drm/rockchip/rk628] Error 2
make[5]: Target '__clean' not remade because of errors.
make[4]: *** [scripts/Makefile.clean:68: drivers/gpu/drm/rockchip] Error 2
make[4]: Target '__clean' not remade because of errors.
make[3]: *** [scripts/Makefile.clean:68: drivers/gpu/drm] Error 2
make[3]: Target '__clean' not remade because of errors.
make[2]: *** [scripts/Makefile.clean:68: drivers/gpu] Error 2
make[2]: Target '__clean' not remade because of errors.
make[1]: *** [Makefile:1875: _clean_drivers] Error 2
make[1]: Target 'distclean' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'distclean' not remade because of errors.
vim +15 scripts/Makefile.clean
2315c6e4227815 Sam Ravnborg 2005-07-25 12
2a691470345a00 Sam Ravnborg 2005-07-25 13 # The filename Kbuild has precedence over Makefile
db8c1a7b2ca25f Sam Ravnborg 2005-07-27 14 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
db8c1a7b2ca25f Sam Ravnborg 2005-07-27 @15 include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
^1da177e4c3f41 Linus Torvalds 2005-04-16 16
:::::: The code at line 15 was first introduced by commit
:::::: db8c1a7b2ca25f37b1429c00e82d6568f86caec1 kbuild: fix building external modules
:::::: TO: Sam Ravnborg <sam(a)mars.(none)>
:::::: CC: Sam Ravnborg <sam(a)mars.(none)>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v8 6/8] drm/i915/ttm: move shrinker management into adjust_lru
by kernel test robot
Hi Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-tip/drm-tip]
[also build test WARNING on next-20211012]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next airlied/drm-next v5.15-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Matthew-Auld/drm-i915-gem-Break-...
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: i386-randconfig-c001-20211012 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c3dcf39554dbea780d6cb7e12239451ba47a2668)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/43578548b98c603bc1bd2840b3e50bfde...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Auld/drm-i915-gem-Break-out-some-shmem-backend-utils/20211011-230443
git checkout 43578548b98c603bc1bd2840b3e50bfde8bf0772
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:865:23: warning: Value stored to 'i915_tt' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i915_ttm_tt *i915_tt =
^~~~~~~
vim +/i915_tt +865 drivers/gpu/drm/i915/gem/i915_gem_ttm.c
213d5092776345a Thomas Hellström 2021-06-10 819
b6e913e19c54edd Thomas Hellström 2021-06-29 820 static int __i915_ttm_get_pages(struct drm_i915_gem_object *obj,
b6e913e19c54edd Thomas Hellström 2021-06-29 821 struct ttm_placement *placement)
213d5092776345a Thomas Hellström 2021-06-10 822 {
213d5092776345a Thomas Hellström 2021-06-10 823 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj);
213d5092776345a Thomas Hellström 2021-06-10 824 struct ttm_operation_ctx ctx = {
213d5092776345a Thomas Hellström 2021-06-10 825 .interruptible = true,
213d5092776345a Thomas Hellström 2021-06-10 826 .no_wait_gpu = false,
213d5092776345a Thomas Hellström 2021-06-10 827 };
213d5092776345a Thomas Hellström 2021-06-10 828 struct sg_table *st;
b07a6483839a838 Thomas Hellström 2021-06-18 829 int real_num_busy;
213d5092776345a Thomas Hellström 2021-06-10 830 int ret;
213d5092776345a Thomas Hellström 2021-06-10 831
b07a6483839a838 Thomas Hellström 2021-06-18 832 /* First try only the requested placement. No eviction. */
b6e913e19c54edd Thomas Hellström 2021-06-29 833 real_num_busy = fetch_and_zero(&placement->num_busy_placement);
b6e913e19c54edd Thomas Hellström 2021-06-29 834 ret = ttm_bo_validate(bo, placement, &ctx);
b07a6483839a838 Thomas Hellström 2021-06-18 835 if (ret) {
b07a6483839a838 Thomas Hellström 2021-06-18 836 ret = i915_ttm_err_to_gem(ret);
b07a6483839a838 Thomas Hellström 2021-06-18 837 /*
b07a6483839a838 Thomas Hellström 2021-06-18 838 * Anything that wants to restart the operation gets to
b07a6483839a838 Thomas Hellström 2021-06-18 839 * do that.
b07a6483839a838 Thomas Hellström 2021-06-18 840 */
b07a6483839a838 Thomas Hellström 2021-06-18 841 if (ret == -EDEADLK || ret == -EINTR || ret == -ERESTARTSYS ||
b07a6483839a838 Thomas Hellström 2021-06-18 842 ret == -EAGAIN)
b07a6483839a838 Thomas Hellström 2021-06-18 843 return ret;
b07a6483839a838 Thomas Hellström 2021-06-18 844
b07a6483839a838 Thomas Hellström 2021-06-18 845 /*
b07a6483839a838 Thomas Hellström 2021-06-18 846 * If the initial attempt fails, allow all accepted placements,
b07a6483839a838 Thomas Hellström 2021-06-18 847 * evicting if necessary.
b07a6483839a838 Thomas Hellström 2021-06-18 848 */
b6e913e19c54edd Thomas Hellström 2021-06-29 849 placement->num_busy_placement = real_num_busy;
b6e913e19c54edd Thomas Hellström 2021-06-29 850 ret = ttm_bo_validate(bo, placement, &ctx);
213d5092776345a Thomas Hellström 2021-06-10 851 if (ret)
b07a6483839a838 Thomas Hellström 2021-06-18 852 return i915_ttm_err_to_gem(ret);
b07a6483839a838 Thomas Hellström 2021-06-18 853 }
213d5092776345a Thomas Hellström 2021-06-10 854
3c2b8f326e7f73d Thomas Hellström 2021-06-24 855 if (bo->ttm && !ttm_tt_is_populated(bo->ttm)) {
3c2b8f326e7f73d Thomas Hellström 2021-06-24 856 ret = ttm_tt_populate(bo->bdev, bo->ttm, &ctx);
3c2b8f326e7f73d Thomas Hellström 2021-06-24 857 if (ret)
3c2b8f326e7f73d Thomas Hellström 2021-06-24 858 return ret;
3c2b8f326e7f73d Thomas Hellström 2021-06-24 859
3c2b8f326e7f73d Thomas Hellström 2021-06-24 860 i915_ttm_adjust_domains_after_move(obj);
3c2b8f326e7f73d Thomas Hellström 2021-06-24 861 i915_ttm_adjust_gem_after_move(obj);
3c2b8f326e7f73d Thomas Hellström 2021-06-24 862 }
3c2b8f326e7f73d Thomas Hellström 2021-06-24 863
75e382850b7ea51 Jason Ekstrand 2021-07-23 864 if (!i915_gem_object_has_pages(obj)) {
3ffdf7a46488d57 Matthew Auld 2021-10-11 @865 struct i915_ttm_tt *i915_tt =
3ffdf7a46488d57 Matthew Auld 2021-10-11 866 container_of(bo->ttm, typeof(*i915_tt), ttm);
3ffdf7a46488d57 Matthew Auld 2021-10-11 867
213d5092776345a Thomas Hellström 2021-06-10 868 /* Object either has a page vector or is an iomem object */
213d5092776345a Thomas Hellström 2021-06-10 869 st = bo->ttm ? i915_ttm_tt_get_st(bo->ttm) : obj->ttm.cached_io_st;
213d5092776345a Thomas Hellström 2021-06-10 870 if (IS_ERR(st))
213d5092776345a Thomas Hellström 2021-06-10 871 return PTR_ERR(st);
213d5092776345a Thomas Hellström 2021-06-10 872
213d5092776345a Thomas Hellström 2021-06-10 873 __i915_gem_object_set_pages(obj, st, i915_sg_dma_sizes(st->sgl));
75e382850b7ea51 Jason Ekstrand 2021-07-23 874 }
213d5092776345a Thomas Hellström 2021-06-10 875
43578548b98c603 Matthew Auld 2021-10-11 876 i915_ttm_adjust_lru(obj);
213d5092776345a Thomas Hellström 2021-06-10 877 return ret;
213d5092776345a Thomas Hellström 2021-06-10 878 }
213d5092776345a Thomas Hellström 2021-06-10 879
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week