2019-01-08 00:17:56

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the drm-misc tree

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.

--
Cheers,
Stephen Rothwell


2019-01-08 08:40:13

by Daniel Vetter

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the drm-misc tree

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

2019-01-08 14:03:48

by Kazlauskas, Nicholas

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the drm-misc tree

On 1/8/19 3:37 AM, Daniel Vetter wrote:
> 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
>
Reviewed-by: Nicholas Kazlauskas <[email protected]>

Thanks, that lines up with the other driver fixes that patch added.

I missed that series when I was developing the private state object
patch for amdgpu.

I'll still need to remove our extra lock since the objects now have
their own, but that can come later in another non-fixup patch.

Nicholas Kazlauskas

2019-01-09 00:38:37

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the drm-misc tree

Hi Daniel,

On Tue, 8 Jan 2019 09:37:22 +0100 Daniel Vetter <[email protected]> wrote:
>
>
> 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.

I added that resolution for today, thanks.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature