* [jsarha:topic/cros-sof-v4.19 1155/6555] drivers/gpu/drm/drm_atomic_uapi.c:1297: Error: unrecognized opcode `csrs sstatus,s8'
@ 2022-09-01 19:49 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-01 19:49 UTC (permalink / raw)
To: Daniel Vetter
Cc: kbuild-all, linux-kernel, Sean Paul, Stéphane Marchesin,
Kristian H. Kristensen
tree: https://github.com/jsarha/linux topic/cros-sof-v4.19
head: d7a3e91d8d16d1ef8653deec5a1fffc4de034a0c
commit: dfdec43d0411076dc70591a0496a0824a8620695 [1155/6555] UPSTREAM: drm: extract drm_atomic_uapi.c
config: riscv-randconfig-r042-20220901 (https://download.01.org/0day-ci/archive/20220902/202209020320.DEOLa6AV-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.1.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/jsarha/linux/commit/dfdec43d0411076dc70591a0496a0824a8620695
git remote add jsarha https://github.com/jsarha/linux
git fetch --no-tags jsarha topic/cros-sof-v4.19
git checkout dfdec43d0411076dc70591a0496a0824a8620695
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash M=drivers/gpu/drm
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/drm_atomic_uapi.c: In function 'complete_signaling':
drivers/gpu/drm/drm_atomic_uapi.c:1193:26: warning: variable 'crtc' set but not used [-Wunused-but-set-variable]
1193 | struct drm_crtc *crtc;
| ^~~~
drivers/gpu/drm/drm_atomic_uapi.c: Assembler messages:
drivers/gpu/drm/drm_atomic_uapi.c:1230: Error: unrecognized opcode `csrs sstatus,s7'
drivers/gpu/drm/drm_atomic_uapi.c:1230: Error: unrecognized opcode `csrc sstatus,s7'
drivers/gpu/drm/drm_atomic_uapi.c:1052: Error: unrecognized opcode `csrs sstatus,a3'
drivers/gpu/drm/drm_atomic_uapi.c:1052: Error: unrecognized opcode `csrc sstatus,a3'
drivers/gpu/drm/drm_atomic_uapi.c:466: Error: unrecognized opcode `csrs sstatus,a3'
drivers/gpu/drm/drm_atomic_uapi.c:466: Error: unrecognized opcode `csrc sstatus,a3'
drivers/gpu/drm/drm_atomic_uapi.c:366: Error: unrecognized opcode `csrs sstatus,a3'
drivers/gpu/drm/drm_atomic_uapi.c:366: Error: unrecognized opcode `csrc sstatus,a3'
>> drivers/gpu/drm/drm_atomic_uapi.c:1297: Error: unrecognized opcode `csrs sstatus,s8'
>> drivers/gpu/drm/drm_atomic_uapi.c:1297: Error: unrecognized opcode `csrc sstatus,s8'
drivers/gpu/drm/drm_atomic_uapi.c:1314: Error: unrecognized opcode `csrs sstatus,s8'
drivers/gpu/drm/drm_atomic_uapi.c:1314: Error: unrecognized opcode `csrc sstatus,s8'
drivers/gpu/drm/drm_atomic_uapi.c:1327: Error: unrecognized opcode `csrs sstatus,s4'
drivers/gpu/drm/drm_atomic_uapi.c:1327: Error: unrecognized opcode `csrc sstatus,s4'
vim +1297 drivers/gpu/drm/drm_atomic_uapi.c
1186
1187 static void complete_signaling(struct drm_device *dev,
1188 struct drm_atomic_state *state,
1189 struct drm_out_fence_state *fence_state,
1190 unsigned int num_fences,
1191 bool install_fds)
1192 {
1193 struct drm_crtc *crtc;
1194 struct drm_crtc_state *crtc_state;
1195 int i;
1196
1197 if (install_fds) {
1198 for (i = 0; i < num_fences; i++)
1199 fd_install(fence_state[i].fd,
1200 fence_state[i].sync_file->file);
1201
1202 kfree(fence_state);
1203 return;
1204 }
1205
1206 for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
1207 struct drm_pending_vblank_event *event = crtc_state->event;
1208 /*
1209 * Free the allocated event. drm_atomic_helper_setup_commit
1210 * can allocate an event too, so only free it if it's ours
1211 * to prevent a double free in drm_atomic_state_clear.
1212 */
1213 if (event && (event->base.fence || event->base.file_priv)) {
1214 drm_event_cancel_free(dev, &event->base);
1215 crtc_state->event = NULL;
1216 }
1217 }
1218
1219 if (!fence_state)
1220 return;
1221
1222 for (i = 0; i < num_fences; i++) {
1223 if (fence_state[i].sync_file)
1224 fput(fence_state[i].sync_file->file);
1225 if (fence_state[i].fd >= 0)
1226 put_unused_fd(fence_state[i].fd);
1227
1228 /* If this fails log error to the user */
1229 if (fence_state[i].out_fence_ptr &&
> 1230 put_user(-1, fence_state[i].out_fence_ptr))
1231 DRM_DEBUG_ATOMIC("Couldn't clear out_fence_ptr\n");
1232 }
1233
1234 kfree(fence_state);
1235 }
1236
1237 int drm_mode_atomic_ioctl(struct drm_device *dev,
1238 void *data, struct drm_file *file_priv)
1239 {
1240 struct drm_mode_atomic *arg = data;
1241 uint32_t __user *objs_ptr = (uint32_t __user *)(unsigned long)(arg->objs_ptr);
1242 uint32_t __user *count_props_ptr = (uint32_t __user *)(unsigned long)(arg->count_props_ptr);
1243 uint32_t __user *props_ptr = (uint32_t __user *)(unsigned long)(arg->props_ptr);
1244 uint64_t __user *prop_values_ptr = (uint64_t __user *)(unsigned long)(arg->prop_values_ptr);
1245 unsigned int copied_objs, copied_props;
1246 struct drm_atomic_state *state;
1247 struct drm_modeset_acquire_ctx ctx;
1248 struct drm_out_fence_state *fence_state;
1249 int ret = 0;
1250 unsigned int i, j, num_fences;
1251
1252 /* disallow for drivers not supporting atomic: */
1253 if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
1254 return -EINVAL;
1255
1256 /* disallow for userspace that has not enabled atomic cap (even
1257 * though this may be a bit overkill, since legacy userspace
1258 * wouldn't know how to call this ioctl)
1259 */
1260 if (!file_priv->atomic)
1261 return -EINVAL;
1262
1263 if (arg->flags & ~DRM_MODE_ATOMIC_FLAGS)
1264 return -EINVAL;
1265
1266 if (arg->reserved)
1267 return -EINVAL;
1268
1269 if ((arg->flags & DRM_MODE_PAGE_FLIP_ASYNC) &&
1270 !dev->mode_config.async_page_flip)
1271 return -EINVAL;
1272
1273 /* can't test and expect an event at the same time. */
1274 if ((arg->flags & DRM_MODE_ATOMIC_TEST_ONLY) &&
1275 (arg->flags & DRM_MODE_PAGE_FLIP_EVENT))
1276 return -EINVAL;
1277
1278 drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
1279
1280 state = drm_atomic_state_alloc(dev);
1281 if (!state)
1282 return -ENOMEM;
1283
1284 state->acquire_ctx = &ctx;
1285 state->allow_modeset = !!(arg->flags & DRM_MODE_ATOMIC_ALLOW_MODESET);
1286
1287 retry:
1288 copied_objs = 0;
1289 copied_props = 0;
1290 fence_state = NULL;
1291 num_fences = 0;
1292
1293 for (i = 0; i < arg->count_objs; i++) {
1294 uint32_t obj_id, count_props;
1295 struct drm_mode_object *obj;
1296
> 1297 if (get_user(obj_id, objs_ptr + copied_objs)) {
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-09-01 19:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-01 19:49 [jsarha:topic/cros-sof-v4.19 1155/6555] drivers/gpu/drm/drm_atomic_uapi.c:1297: Error: unrecognized opcode `csrs sstatus,s8' kernel test robot
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.