Hi Maxime,
I love your patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip linus/master v5.12-rc3 next-20210319]
[cannot apply to anholt/for-next]
[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/Maxime-Ripard/drm-connector-Crea...
base:
git://anongit.freedesktop.org/drm-intel for-linux-next
config: sparc64-randconfig-r035-20210318 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/e12a697958cd6235d678394450f4cb7db...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Maxime-Ripard/drm-connector-Create-a-helper-to-attach-the-hdr_output_metadata-property/20210319-205157
git checkout e12a697958cd6235d678394450f4cb7dbf958ed5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc64
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 >>):
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function
'amdgpu_dm_commit_cursors':
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:7678:44: warning: variable
'new_plane_state' set but not used [-Wunused-but-set-variable]
7678 | struct drm_plane_state *old_plane_state, *new_plane_state;
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function
'amdgpu_dm_atomic_commit_tail':
>
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:8327:4: error: implicit
declaration of function 'is_hdr_metadata_different'
[-Werror=implicit-function-declaration]
8327 |
is_hdr_metadata_different(old_con_state, new_con_state);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
|| MCOUNT
Selected by
- LATENCYTOP && DEBUG_KERNEL && STACKTRACE_SUPPORT && PROC_FS
&& !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM
&& !ARC && !X86
- LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS
&& !PPC && !ARM && !S390 && !MICROBLAZE && !ARC
&& !X86
vim +/is_hdr_metadata_different +8327
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c
e7b07ceef2a650 Harry Wentland 2017-08-10 8293
02d6a6fcdf68c4 David Francis 2018-12-18 8294 /* Handle connector state changes
*/
c2cea7063b85fc Leo (Sunpeng Li 2017-10-12 8295)
for_each_oldnew_connector_in_state(state, connector, old_con_state, new_con_state, i) {
54d76575246798 Leo (Sunpeng Li 2017-10-12 8296) struct dm_connector_state
*dm_new_con_state = to_dm_connector_state(new_con_state);
54d76575246798 Leo (Sunpeng Li 2017-10-12 8297) struct dm_connector_state
*dm_old_con_state = to_dm_connector_state(old_con_state);
54d76575246798 Leo (Sunpeng Li 2017-10-12 8298) struct amdgpu_crtc *acrtc =
to_amdgpu_crtc(dm_new_con_state->base.crtc);
efc8278eecfd5e Anson Jacob 2021-02-18 8299 struct dc_surface_update
dummy_updates[MAX_SURFACES];
19afd79951e630 Nathan Chancellor 2019-02-01 8300 struct dc_stream_update
stream_update;
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8301 struct dc_info_packet hdr_packet;
e7b07ceef2a650 Harry Wentland 2017-08-10 8302 struct dc_stream_status *status =
NULL;
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8303 bool abm_changed, hdr_changed,
scaling_changed;
e7b07ceef2a650 Harry Wentland 2017-08-10 8304
efc8278eecfd5e Anson Jacob 2021-02-18 8305 memset(&dummy_updates, 0,
sizeof(dummy_updates));
19afd79951e630 Nathan Chancellor 2019-02-01 8306 memset(&stream_update, 0,
sizeof(stream_update));
19afd79951e630 Nathan Chancellor 2019-02-01 8307
44d09c6a577c8e Harry Wentland 2018-03-15 8308 if (acrtc) {
0bc9706db3a35b Leo (Sunpeng Li 2017-10-12 8309) new_crtc_state =
drm_atomic_get_new_crtc_state(state, &acrtc->base);
44d09c6a577c8e Harry Wentland 2018-03-15 8310 old_crtc_state =
drm_atomic_get_old_crtc_state(state, &acrtc->base);
44d09c6a577c8e Harry Wentland 2018-03-15 8311 }
0bc9706db3a35b Leo (Sunpeng Li 2017-10-12 8312)
e7b07ceef2a650 Harry Wentland 2017-08-10 8313 /* Skip any modesets/resets */
0bc9706db3a35b Leo (Sunpeng Li 2017-10-12 8314) if (!acrtc ||
drm_atomic_crtc_needs_modeset(new_crtc_state))
e7b07ceef2a650 Harry Wentland 2017-08-10 8315 continue;
e7b07ceef2a650 Harry Wentland 2017-08-10 8316
54d76575246798 Leo (Sunpeng Li 2017-10-12 8317) dm_new_crtc_state =
to_dm_crtc_state(new_crtc_state);
c1ee92f94ce3b9 David Francis 2018-11-26 8318 dm_old_crtc_state =
to_dm_crtc_state(old_crtc_state);
c1ee92f94ce3b9 David Francis 2018-11-26 8319
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8320 scaling_changed =
is_scaling_state_different(dm_new_con_state,
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8321 dm_old_con_state);
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8322
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8323 abm_changed =
dm_new_crtc_state->abm_level !=
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8324
dm_old_crtc_state->abm_level;
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8325
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8326 hdr_changed =
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 @8327
is_hdr_metadata_different(old_con_state, new_con_state);
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8328
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8329 if (!scaling_changed &&
!abm_changed && !hdr_changed)
c1ee92f94ce3b9 David Francis 2018-11-26 8330 continue;
e7b07ceef2a650 Harry Wentland 2017-08-10 8331
b6e881c947417e Dmytro Laktyushkin 2019-09-13 8332 stream_update.stream =
dm_new_crtc_state->stream;
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8333 if (scaling_changed) {
54d76575246798 Leo (Sunpeng Li 2017-10-12 8334)
update_stream_scaling_settings(&dm_new_con_state->base.crtc->mode,
b6e881c947417e Dmytro Laktyushkin 2019-09-13 8335 dm_new_con_state,
dm_new_crtc_state->stream);
e7b07ceef2a650 Harry Wentland 2017-08-10 8336
02d6a6fcdf68c4 David Francis 2018-12-18 8337 stream_update.src =
dm_new_crtc_state->stream->src;
02d6a6fcdf68c4 David Francis 2018-12-18 8338 stream_update.dst =
dm_new_crtc_state->stream->dst;
02d6a6fcdf68c4 David Francis 2018-12-18 8339 }
02d6a6fcdf68c4 David Francis 2018-12-18 8340
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8341 if (abm_changed) {
02d6a6fcdf68c4 David Francis 2018-12-18 8342
dm_new_crtc_state->stream->abm_level = dm_new_crtc_state->abm_level;
02d6a6fcdf68c4 David Francis 2018-12-18 8343
02d6a6fcdf68c4 David Francis 2018-12-18 8344 stream_update.abm_level =
&dm_new_crtc_state->abm_level;
02d6a6fcdf68c4 David Francis 2018-12-18 8345 }
70e8ffc55b98f3 Harry Wentland 2017-11-10 8346
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8347 if (hdr_changed) {
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8348
fill_hdr_info_packet(new_con_state, &hdr_packet);
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8349 stream_update.hdr_static_metadata
= &hdr_packet;
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8350 }
b232d4ed92eafb Nicholas Kazlauskas 2019-05-28 8351
54d76575246798 Leo (Sunpeng Li 2017-10-12 8352) status =
dc_stream_get_status(dm_new_crtc_state->stream);
e7b07ceef2a650 Harry Wentland 2017-08-10 8353 WARN_ON(!status);
3be5262e353b8a Harry Wentland 2017-07-27 8354 WARN_ON(!status->plane_count);
e7b07ceef2a650 Harry Wentland 2017-08-10 8355
02d6a6fcdf68c4 David Francis 2018-12-18 8356 /*
02d6a6fcdf68c4 David Francis 2018-12-18 8357 * TODO: DC refuses to perform
stream updates without a dc_surface_update.
02d6a6fcdf68c4 David Francis 2018-12-18 8358 * Here we create an empty update
on each plane.
02d6a6fcdf68c4 David Francis 2018-12-18 8359 * To fix this, DC should permit
updating only stream properties.
02d6a6fcdf68c4 David Francis 2018-12-18 8360 */
02d6a6fcdf68c4 David Francis 2018-12-18 8361 for (j = 0; j <
status->plane_count; j++)
efc8278eecfd5e Anson Jacob 2021-02-18 8362 dummy_updates[j].surface =
status->plane_states[0];
98e6436d3af5fe Anthony Koo 2018-08-21 8363
02d6a6fcdf68c4 David Francis 2018-12-18 8364
02d6a6fcdf68c4 David Francis 2018-12-18 8365 mutex_lock(&dm->dc_lock);
02d6a6fcdf68c4 David Francis 2018-12-18 8366
dc_commit_updates_for_stream(dm->dc,
efc8278eecfd5e Anson Jacob 2021-02-18 8367 dummy_updates,
3be5262e353b8a Harry Wentland 2017-07-27 8368 status->plane_count,
02d6a6fcdf68c4 David Francis 2018-12-18 8369
dm_new_crtc_state->stream,
efc8278eecfd5e Anson Jacob 2021-02-18 8370 &stream_update,
efc8278eecfd5e Anson Jacob 2021-02-18 8371 dc_state);
02d6a6fcdf68c4 David Francis 2018-12-18 8372 mutex_unlock(&dm->dc_lock);
e7b07ceef2a650 Harry Wentland 2017-08-10 8373 }
e7b07ceef2a650 Harry Wentland 2017-08-10 8374
b5e83f6fe1f003 Nicholas Kazlauskas 2019-04-08 8375 /* Count number of newly disabled
CRTCs for dropping PM refs later. */
e1fc2dca1295c4 Leo (Sunpeng Li 2017-10-18 8376) for_each_oldnew_crtc_in_state(state,
crtc, old_crtc_state,
e1fc2dca1295c4 Leo (Sunpeng Li 2017-10-18 8377) new_crtc_state, i) {
fe2a19652918a5 Lyude Paul 2018-06-21 8378 if (old_crtc_state->active
&& !new_crtc_state->active)
fe2a19652918a5 Lyude Paul 2018-06-21 8379 crtc_disable_count++;
fe2a19652918a5 Lyude Paul 2018-06-21 8380
54d76575246798 Leo (Sunpeng Li 2017-10-12 8381) dm_new_crtc_state =
to_dm_crtc_state(new_crtc_state);
e1fc2dca1295c4 Leo (Sunpeng Li 2017-10-18 8382) dm_old_crtc_state =
to_dm_crtc_state(old_crtc_state);
66b0c973d7f74e Mario Kleiner 2019-03-29 8383
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8384 /* For freesync config update on
crtc state and params for irq */
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8385 update_stream_irq_parameters(dm,
dm_new_crtc_state);
057be086603feb Nicholas Kazlauskas 2019-04-15 8386
66b0c973d7f74e Mario Kleiner 2019-03-29 8387 /* Handle vrr on->off /
off->on transitions */
66b0c973d7f74e Mario Kleiner 2019-03-29 8388
amdgpu_dm_handle_vrr_transition(dm_old_crtc_state,
66b0c973d7f74e Mario Kleiner 2019-03-29 8389 dm_new_crtc_state);
e7b07ceef2a650 Harry Wentland 2017-08-10 8390 }
e7b07ceef2a650 Harry Wentland 2017-08-10 8391
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8392 /**
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8393 * Enable interrupts for CRTCs that
are newly enabled or went through
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8394 * a modeset. It was intentionally
deferred until after the front end
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8395 * state was modified to wait until
the OTG was on and so the IRQ
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8396 * handlers didn't access stale
or invalid state.
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8397 */
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8398 for_each_oldnew_crtc_in_state(state,
crtc, old_crtc_state, new_crtc_state, i) {
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8399 struct amdgpu_crtc *acrtc =
to_amdgpu_crtc(crtc);
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8400
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8401 dm_new_crtc_state =
to_dm_crtc_state(new_crtc_state);
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8402
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8403 if (new_crtc_state->active
&&
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8404 (!old_crtc_state->active ||
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8405
drm_atomic_crtc_needs_modeset(new_crtc_state))) {
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8406
dc_stream_retain(dm_new_crtc_state->stream);
585d450c76d1d5 Aurabindo Pillai 2020-08-12 8407 acrtc->dm_irq_params.stream =
dm_new_crtc_state->stream;
8fe684e97c86e3 Nicholas Kazlauskas 2020-07-13 8408 manage_dm_interrupts(adev, acrtc,
true);
e2881d6d0a2653 Rodrigo Siqueira 2021-01-07 8409
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org