On Tue, Jan 08, 2019 at 11:12:41AM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the drm-misc tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'amdgpu_dm_mode_config_init': > drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1695:30: error: passing argument 1 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types] > drm_atomic_private_obj_init(&adev->dm.atomic_obj, > ^~~~~~~~~~~~~~~~~~~~ > In file included from include/drm/drm_dp_mst_helper.h:27, > from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46, > from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57, > from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34: > include/drm/drm_atomic.h:437:53: note: expected 'struct drm_device *' but argument is of type 'struct drm_private_obj *' > void drm_atomic_private_obj_init(struct drm_device *dev, > ~~~~~~~~~~~~~~~~~~~^~~ > drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1696:9: error: passing argument 2 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types] > &state->base, > ^~~~~~~~~~~~ > In file included from include/drm/drm_dp_mst_helper.h:27, > from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46, > from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57, > from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34: > include/drm/drm_atomic.h:438:30: note: expected 'struct drm_private_obj *' but argument is of type 'struct drm_private_state *' > struct drm_private_obj *obj, > ~~~~~~~~~~~~~~~~~~~~~~~~^~~ > drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1697:9: error: passing argument 3 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types] > &dm_atomic_state_funcs); > ^~~~~~~~~~~~~~~~~~~~~~ > In file included from include/drm/drm_dp_mst_helper.h:27, > from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46, > from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57, > from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34: > include/drm/drm_atomic.h:439:32: note: expected 'struct drm_private_state *' but argument is of type 'struct drm_private_state_funcs *' > struct drm_private_state *state, > ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ > drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1695:2: error: too few arguments to function 'drm_atomic_private_obj_init' > drm_atomic_private_obj_init(&adev->dm.atomic_obj, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > In file included from include/drm/drm_dp_mst_helper.h:27, > from drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h:46, > from drivers/gpu/drm/amd/amdgpu/amdgpu.h:57, > from drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:34: > include/drm/drm_atomic.h:437:6: note: declared here > void drm_atomic_private_obj_init(struct drm_device *dev, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Caused by commit > > b962a12050a3 ("drm/atomic: integrate modeset lock with private objects") > > interacting with commit > > eb3dc8978596 ("drm/amd/display: Use private obj helpers for dm_atomic_state") > > from Linus' tree (merged during the merge window). > > Its not obvious how to fix this up, so I have used the drm-misc tree > from next-20190107 for today. https://cgit.freedesktop.org/drm-tip/tree/fixups/drm-misc-next.patch?h=rerere-cache is the fixup you want. Should get baked into drm-next any moment, since the first drm-misc-next pull is already out. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch