diff mbox series

drm/amd: Compile fix for amdgpu_dm.c

Message ID 20181212114413.30448-1-mika.kuoppala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/amd: Compile fix for amdgpu_dm.c | expand

Commit Message

Mika Kuoppala Dec. 12, 2018, 11:44 a.m. UTC
Fix compilation issue with CONFIG_DRM_AMDGPU on:
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:1666:30: error: passing argument 1 of ‘drm_atomic_private_obj_init’ from incompatible pointer type

Fixes: b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
Cc: Rob Clark <robdclark@gmail.com>
Cc: Boris Brezillon <boris.brezillon@bootlin.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Boris Brezillon Dec. 12, 2018, 12:50 p.m. UTC | #1
On Wed, 12 Dec 2018 13:44:13 +0200
Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:

> Fix compilation issue with CONFIG_DRM_AMDGPU on:
> 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:1666:30: error: passing argument 1 of ‘drm_atomic_private_obj_init’ from incompatible pointer type
> 
> Fixes: b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Boris Brezillon <boris.brezillon@bootlin.com>

Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>

And sorry for the mess :-/.

> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 1691864bf59b..fd3ed2ce9cb1 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1663,7 +1663,8 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
>  
>  	dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
>  
> -	drm_atomic_private_obj_init(&adev->dm.atomic_obj,
> +	drm_atomic_private_obj_init(adev->ddev,
> +				    &adev->dm.atomic_obj,
>  				    &state->base,
>  				    &dm_atomic_state_funcs);
>
Boris Brezillon Dec. 12, 2018, 12:54 p.m. UTC | #2
On Wed, 12 Dec 2018 13:44:13 +0200
Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:

> Fix compilation issue with CONFIG_DRM_AMDGPU on:
> 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:1666:30: error: passing argument 1 of ‘drm_atomic_private_obj_init’ from incompatible pointer type
> 
> Fixes: b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Boris Brezillon <boris.brezillon@bootlin.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 1691864bf59b..fd3ed2ce9cb1 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1663,7 +1663,8 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
>  
>  	dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
>  
> -	drm_atomic_private_obj_init(&adev->dm.atomic_obj,
> +	drm_atomic_private_obj_init(adev->ddev,
> +				    &adev->dm.atomic_obj,
>  				    &state->base,
>  				    &dm_atomic_state_funcs);

Hm, looks like drm-misc-next does not have this call to
drm_atomic_private_obj_init() which explains why I didn't patch the
file.
Mika Kuoppala Dec. 12, 2018, 1:04 p.m. UTC | #3
Boris Brezillon <boris.brezillon@bootlin.com> writes:

> On Wed, 12 Dec 2018 13:44:13 +0200
> Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:
>
>> Fix compilation issue with CONFIG_DRM_AMDGPU on:
>> 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:1666:30: error: passing argument 1 of ‘drm_atomic_private_obj_init’ from incompatible pointer type
>> 
>> Fixes: b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
>> Cc: Rob Clark <robdclark@gmail.com>
>> Cc: Boris Brezillon <boris.brezillon@bootlin.com>
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
>> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>> ---
>>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> index 1691864bf59b..fd3ed2ce9cb1 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -1663,7 +1663,8 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
>>  
>>  	dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
>>  
>> -	drm_atomic_private_obj_init(&adev->dm.atomic_obj,
>> +	drm_atomic_private_obj_init(adev->ddev,
>> +				    &adev->dm.atomic_obj,
>>  				    &state->base,
>>  				    &dm_atomic_state_funcs);
>
> Hm, looks like drm-misc-next does not have this call to
> drm_atomic_private_obj_init() which explains why I didn't patch the
> file.

Hmm, merge conflict it is then...sorry for pointing at wrong direction.
-Mika
Boris Brezillon Dec. 12, 2018, 1:10 p.m. UTC | #4
On Wed, 12 Dec 2018 13:54:48 +0100
Boris Brezillon <boris.brezillon@bootlin.com> wrote:

> On Wed, 12 Dec 2018 13:44:13 +0200
> Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:
> 
> > Fix compilation issue with CONFIG_DRM_AMDGPU on:
> > 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:1666:30: error: passing argument 1 of ‘drm_atomic_private_obj_init’ from incompatible pointer type
> > 
> > Fixes: b962a12050a3 ("drm/atomic: integrate modeset lock with private objects")
> > Cc: Rob Clark <robdclark@gmail.com>
> > Cc: Boris Brezillon <boris.brezillon@bootlin.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
> > Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > index 1691864bf59b..fd3ed2ce9cb1 100644
> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> > @@ -1663,7 +1663,8 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
> >  
> >  	dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
> >  
> > -	drm_atomic_private_obj_init(&adev->dm.atomic_obj,
> > +	drm_atomic_private_obj_init(adev->ddev,
> > +				    &adev->dm.atomic_obj,
> >  				    &state->base,
> >  				    &dm_atomic_state_funcs);  
> 
> Hm, looks like drm-misc-next does not have this call to
> drm_atomic_private_obj_init() which explains why I didn't patch the
> file.

Looks like this call to drm_atomic_private_obj_init() was introduced by
eb3dc8978596 ("drm/amd/display: Use private obj helpers for
dm_atomic_state") which is present in drm-next. Dave, Daniel, Sean,
Marteen, not sure how you want to fix that. Should we merge drm-next in
drm-misc-next and fix the conflict there, or should Dave fix it
when merging drm-misc-next in drm-next? Another option would be to
simply revert the change and apply it in the next release.
kernel test robot Dec. 13, 2018, 6:57 p.m. UTC | #5
Hi Mika,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20181213]
[cannot apply to v4.20-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Mika-Kuoppala/drm-amd-Compile-fix-for-amdgpu_dm-c/20181213-062039
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   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:1666: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->ddev,
                                 ^~~~
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'struct drm_private_obj *' but argument is of type 'struct drm_device *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1667:9: error: passing argument 2 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
            &adev->dm.atomic_obj,
            ^
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'struct drm_private_state *' but argument is of type 'struct drm_private_obj *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1668:9: error: passing argument 3 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:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'const struct drm_private_state_funcs *' but argument is of type 'struct drm_private_state *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1666:2: error: too many arguments to function 'drm_atomic_private_obj_init'
     drm_atomic_private_obj_init(adev->ddev,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: declared here
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/drm_atomic_private_obj_init +1666 drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c

  1631	
  1632	static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
  1633	{
  1634		struct dm_atomic_state *state;
  1635		int r;
  1636	
  1637		adev->mode_info.mode_config_initialized = true;
  1638	
  1639		adev->ddev->mode_config.funcs = (void *)&amdgpu_dm_mode_funcs;
  1640		adev->ddev->mode_config.helper_private = &amdgpu_dm_mode_config_helperfuncs;
  1641	
  1642		adev->ddev->mode_config.max_width = 16384;
  1643		adev->ddev->mode_config.max_height = 16384;
  1644	
  1645		adev->ddev->mode_config.preferred_depth = 24;
  1646		adev->ddev->mode_config.prefer_shadow = 1;
  1647		/* indicates support for immediate flip */
  1648		adev->ddev->mode_config.async_page_flip = true;
  1649	
  1650		adev->ddev->mode_config.fb_base = adev->gmc.aper_base;
  1651	
  1652		drm_modeset_lock_init(&adev->dm.atomic_obj_lock);
  1653	
  1654		state = kzalloc(sizeof(*state), GFP_KERNEL);
  1655		if (!state)
  1656			return -ENOMEM;
  1657	
  1658		state->context = dc_create_state();
  1659		if (!state->context) {
  1660			kfree(state);
  1661			return -ENOMEM;
  1662		}
  1663	
  1664		dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
  1665	
> 1666		drm_atomic_private_obj_init(adev->ddev,
  1667					    &adev->dm.atomic_obj,
  1668					    &state->base,
  1669					    &dm_atomic_state_funcs);
  1670	
  1671		r = amdgpu_display_modeset_create_props(adev);
  1672		if (r)
  1673			return r;
  1674	
  1675		return 0;
  1676	}
  1677	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Dec. 20, 2018, 2:20 a.m. UTC | #6
Hi Mika,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20181219]
[cannot apply to v4.20-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Mika-Kuoppala/drm-amd-Compile-fix-for-amdgpu_dm-c/20181213-062039
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: sparc64-allyesconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   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:1666: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->ddev,
                                 ^~~~
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'struct drm_private_obj *' but argument is of type 'struct drm_device *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1667:9: error: passing argument 2 of 'drm_atomic_private_obj_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
            &adev->dm.atomic_obj,
            ^
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'struct drm_private_state *' but argument is of type 'struct drm_private_obj *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1668:9: error: passing argument 3 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:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: expected 'const struct drm_private_state_funcs *' but argument is of type 'struct drm_private_state *'
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1666:2: error: too many arguments to function 'drm_atomic_private_obj_init'
     drm_atomic_private_obj_init(adev->ddev,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drm_dp_mst_helper.h:27:0,
                    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:31:
   include/drm/drm_atomic.h:403:6: note: declared here
    void drm_atomic_private_obj_init(struct drm_private_obj *obj,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/drm_atomic_private_obj_init +1666 drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c

  1631	
  1632	static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
  1633	{
  1634		struct dm_atomic_state *state;
  1635		int r;
  1636	
  1637		adev->mode_info.mode_config_initialized = true;
  1638	
  1639		adev->ddev->mode_config.funcs = (void *)&amdgpu_dm_mode_funcs;
  1640		adev->ddev->mode_config.helper_private = &amdgpu_dm_mode_config_helperfuncs;
  1641	
  1642		adev->ddev->mode_config.max_width = 16384;
  1643		adev->ddev->mode_config.max_height = 16384;
  1644	
  1645		adev->ddev->mode_config.preferred_depth = 24;
  1646		adev->ddev->mode_config.prefer_shadow = 1;
  1647		/* indicates support for immediate flip */
  1648		adev->ddev->mode_config.async_page_flip = true;
  1649	
  1650		adev->ddev->mode_config.fb_base = adev->gmc.aper_base;
  1651	
  1652		drm_modeset_lock_init(&adev->dm.atomic_obj_lock);
  1653	
  1654		state = kzalloc(sizeof(*state), GFP_KERNEL);
  1655		if (!state)
  1656			return -ENOMEM;
  1657	
  1658		state->context = dc_create_state();
  1659		if (!state->context) {
  1660			kfree(state);
  1661			return -ENOMEM;
  1662		}
  1663	
  1664		dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
  1665	
> 1666		drm_atomic_private_obj_init(adev->ddev,
  1667					    &adev->dm.atomic_obj,
  1668					    &state->base,
  1669					    &dm_atomic_state_funcs);
  1670	
  1671		r = amdgpu_display_modeset_create_props(adev);
  1672		if (r)
  1673			return r;
  1674	
  1675		return 0;
  1676	}
  1677	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 1691864bf59b..fd3ed2ce9cb1 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -1663,7 +1663,8 @@  static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
 
 	dc_resource_state_copy_construct_current(adev->dm.dc, state->context);
 
-	drm_atomic_private_obj_init(&adev->dm.atomic_obj,
+	drm_atomic_private_obj_init(adev->ddev,
+				    &adev->dm.atomic_obj,
 				    &state->base,
 				    &dm_atomic_state_funcs);