From: kernel test robot <lkp@intel.com>
To: Jani Nikula <jani.nikula@intel.com>, dri-devel@lists.freedesktop.org
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
Jani Nikula <jani.nikula@intel.com>,
intel-gfx@lists.freedesktop.org, linux-media@vger.kernel.org,
oe-kbuild-all@lists.linux.dev
Subject: Re: [Intel-gfx] [PATCH 4/6] drm/cec: add drm_dp_cec_attach() as the non-edid version of set edid
Date: Fri, 25 Aug 2023 19:23:26 +0800 [thread overview]
Message-ID: <202308251937.G5ETiCfF-lkp@intel.com> (raw)
In-Reply-To: <f8ed9b38fd2ebcd8344a1889a6c0f288969454ea.1692884619.git.jani.nikula@intel.com>
Hi Jani,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm/drm-next next-20230825]
[cannot apply to drm-intel/for-linux-next-fixes drm-misc/drm-misc-next linus/master v6.5-rc7]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-edid-add-drm_edid_is_digital/20230824-220926
base: git://anongit.freedesktop.org/drm-intel for-linux-next
patch link: https://lore.kernel.org/r/f8ed9b38fd2ebcd8344a1889a6c0f288969454ea.1692884619.git.jani.nikula%40intel.com
patch subject: [Intel-gfx] [PATCH 4/6] drm/cec: add drm_dp_cec_attach() as the non-edid version of set edid
config: nios2-randconfig-r036-20230824 (https://download.01.org/0day-ci/archive/20230825/202308251937.G5ETiCfF-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230825/202308251937.G5ETiCfF-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308251937.G5ETiCfF-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/display/drm_dp_cec.c: In function 'drm_dp_cec_attach':
>> drivers/gpu/drm/display/drm_dp_cec.c:342:41: error: 'adap' undeclared (first use in this function)
342 | cec_s_phys_addr(adap, source_physical_address, false);
| ^~~~
drivers/gpu/drm/display/drm_dp_cec.c:342:41: note: each undeclared identifier is reported only once for each function it appears in
drivers/gpu/drm/display/drm_dp_cec.c: In function 'drm_dp_cec_set_edid':
>> drivers/gpu/drm/display/drm_dp_cec.c:388:25: error: invalid use of undefined type 'const struct edid'
388 | if (edid && edid->extensions)
| ^~
>> drivers/gpu/drm/display/drm_dp_cec.c:389:17: error: 'pa' undeclared (first use in this function)
389 | pa = cec_get_edid_phys_addr((const u8 *)edid,
| ^~
>> drivers/gpu/drm/display/drm_dp_cec.c:390:45: error: 'EDID_LENGTH' undeclared (first use in this function)
390 | EDID_LENGTH * (edid->extensions + 1), NULL);
| ^~~~~~~~~~~
drivers/gpu/drm/display/drm_dp_cec.c:390:64: error: invalid use of undefined type 'const struct edid'
390 | EDID_LENGTH * (edid->extensions + 1), NULL);
| ^~
vim +/adap +342 drivers/gpu/drm/display/drm_dp_cec.c
293
294 /*
295 * A new EDID is set. If there is no CEC adapter, then create one. If
296 * there was a CEC adapter, then check if the CEC adapter properties
297 * were unchanged and just update the CEC physical address. Otherwise
298 * unregister the old CEC adapter and create a new one.
299 */
300 void drm_dp_cec_attach(struct drm_dp_aux *aux, u16 source_physical_address)
301 {
302 struct drm_connector *connector = aux->cec.connector;
303 u32 cec_caps = CEC_CAP_DEFAULTS | CEC_CAP_NEEDS_HPD |
304 CEC_CAP_CONNECTOR_INFO;
305 struct cec_connector_info conn_info;
306 unsigned int num_las = 1;
307 u8 cap;
308
309 /* No transfer function was set, so not a DP connector */
310 if (!aux->transfer)
311 return;
312
313 #ifndef CONFIG_MEDIA_CEC_RC
314 /*
315 * CEC_CAP_RC is part of CEC_CAP_DEFAULTS, but it is stripped by
316 * cec_allocate_adapter() if CONFIG_MEDIA_CEC_RC is undefined.
317 *
318 * Do this here as well to ensure the tests against cec_caps are
319 * correct.
320 */
321 cec_caps &= ~CEC_CAP_RC;
322 #endif
323 cancel_delayed_work_sync(&aux->cec.unregister_work);
324
325 mutex_lock(&aux->cec.lock);
326 if (!drm_dp_cec_cap(aux, &cap)) {
327 /* CEC is not supported, unregister any existing adapter */
328 cec_unregister_adapter(aux->cec.adap);
329 aux->cec.adap = NULL;
330 goto unlock;
331 }
332
333 if (cap & DP_CEC_SNOOPING_CAPABLE)
334 cec_caps |= CEC_CAP_MONITOR_ALL;
335 if (cap & DP_CEC_MULTIPLE_LA_CAPABLE)
336 num_las = CEC_MAX_LOG_ADDRS;
337
338 if (aux->cec.adap) {
339 if (aux->cec.adap->capabilities == cec_caps &&
340 aux->cec.adap->available_log_addrs == num_las) {
341 /* Unchanged, so just set the phys addr */
> 342 cec_s_phys_addr(adap, source_physical_address, false);
343 goto unlock;
344 }
345 /*
346 * The capabilities changed, so unregister the old
347 * adapter first.
348 */
349 cec_unregister_adapter(aux->cec.adap);
350 }
351
352 /* Create a new adapter */
353 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops,
354 aux, connector->name, cec_caps,
355 num_las);
356 if (IS_ERR(aux->cec.adap)) {
357 aux->cec.adap = NULL;
358 goto unlock;
359 }
360
361 cec_fill_conn_info_from_drm(&conn_info, connector);
362 cec_s_conn_info(aux->cec.adap, &conn_info);
363
364 if (cec_register_adapter(aux->cec.adap, connector->dev->dev)) {
365 cec_delete_adapter(aux->cec.adap);
366 aux->cec.adap = NULL;
367 } else {
368 /*
369 * Update the phys addr for the new CEC adapter. When called
370 * from drm_dp_cec_register_connector() edid == NULL, so in
371 * that case the phys addr is just invalidated.
372 */
373 cec_s_phys_addr(adap, source_physical_address, false);
374 }
375 unlock:
376 mutex_unlock(&aux->cec.lock);
377 }
378 EXPORT_SYMBOL(drm_dp_cec_attach);
379
380 /*
381 * Note: Prefer calling drm_dp_cec_attach() with
382 * connector->display_info.source_physical_address if possible.
383 */
384 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid)
385 {
386 u16 source_physical_address = CEC_PHYS_ADDR_INVALID;
387
> 388 if (edid && edid->extensions)
> 389 pa = cec_get_edid_phys_addr((const u8 *)edid,
> 390 EDID_LENGTH * (edid->extensions + 1), NULL);
391
392 drm_dp_cec_attach(aux, source_physical_address);
393 }
394 EXPORT_SYMBOL(drm_dp_cec_set_edid);
395
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Jani Nikula <jani.nikula@intel.com>, dri-devel@lists.freedesktop.org
Cc: oe-kbuild-all@lists.linux.dev, Hans Verkuil <hverkuil@xs4all.nl>,
Jani Nikula <jani.nikula@intel.com>,
intel-gfx@lists.freedesktop.org, linux-media@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH 4/6] drm/cec: add drm_dp_cec_attach() as the non-edid version of set edid
Date: Fri, 25 Aug 2023 19:23:26 +0800 [thread overview]
Message-ID: <202308251937.G5ETiCfF-lkp@intel.com> (raw)
In-Reply-To: <f8ed9b38fd2ebcd8344a1889a6c0f288969454ea.1692884619.git.jani.nikula@intel.com>
Hi Jani,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm/drm-next next-20230825]
[cannot apply to drm-intel/for-linux-next-fixes drm-misc/drm-misc-next linus/master v6.5-rc7]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-edid-add-drm_edid_is_digital/20230824-220926
base: git://anongit.freedesktop.org/drm-intel for-linux-next
patch link: https://lore.kernel.org/r/f8ed9b38fd2ebcd8344a1889a6c0f288969454ea.1692884619.git.jani.nikula%40intel.com
patch subject: [Intel-gfx] [PATCH 4/6] drm/cec: add drm_dp_cec_attach() as the non-edid version of set edid
config: nios2-randconfig-r036-20230824 (https://download.01.org/0day-ci/archive/20230825/202308251937.G5ETiCfF-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230825/202308251937.G5ETiCfF-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308251937.G5ETiCfF-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/display/drm_dp_cec.c: In function 'drm_dp_cec_attach':
>> drivers/gpu/drm/display/drm_dp_cec.c:342:41: error: 'adap' undeclared (first use in this function)
342 | cec_s_phys_addr(adap, source_physical_address, false);
| ^~~~
drivers/gpu/drm/display/drm_dp_cec.c:342:41: note: each undeclared identifier is reported only once for each function it appears in
drivers/gpu/drm/display/drm_dp_cec.c: In function 'drm_dp_cec_set_edid':
>> drivers/gpu/drm/display/drm_dp_cec.c:388:25: error: invalid use of undefined type 'const struct edid'
388 | if (edid && edid->extensions)
| ^~
>> drivers/gpu/drm/display/drm_dp_cec.c:389:17: error: 'pa' undeclared (first use in this function)
389 | pa = cec_get_edid_phys_addr((const u8 *)edid,
| ^~
>> drivers/gpu/drm/display/drm_dp_cec.c:390:45: error: 'EDID_LENGTH' undeclared (first use in this function)
390 | EDID_LENGTH * (edid->extensions + 1), NULL);
| ^~~~~~~~~~~
drivers/gpu/drm/display/drm_dp_cec.c:390:64: error: invalid use of undefined type 'const struct edid'
390 | EDID_LENGTH * (edid->extensions + 1), NULL);
| ^~
vim +/adap +342 drivers/gpu/drm/display/drm_dp_cec.c
293
294 /*
295 * A new EDID is set. If there is no CEC adapter, then create one. If
296 * there was a CEC adapter, then check if the CEC adapter properties
297 * were unchanged and just update the CEC physical address. Otherwise
298 * unregister the old CEC adapter and create a new one.
299 */
300 void drm_dp_cec_attach(struct drm_dp_aux *aux, u16 source_physical_address)
301 {
302 struct drm_connector *connector = aux->cec.connector;
303 u32 cec_caps = CEC_CAP_DEFAULTS | CEC_CAP_NEEDS_HPD |
304 CEC_CAP_CONNECTOR_INFO;
305 struct cec_connector_info conn_info;
306 unsigned int num_las = 1;
307 u8 cap;
308
309 /* No transfer function was set, so not a DP connector */
310 if (!aux->transfer)
311 return;
312
313 #ifndef CONFIG_MEDIA_CEC_RC
314 /*
315 * CEC_CAP_RC is part of CEC_CAP_DEFAULTS, but it is stripped by
316 * cec_allocate_adapter() if CONFIG_MEDIA_CEC_RC is undefined.
317 *
318 * Do this here as well to ensure the tests against cec_caps are
319 * correct.
320 */
321 cec_caps &= ~CEC_CAP_RC;
322 #endif
323 cancel_delayed_work_sync(&aux->cec.unregister_work);
324
325 mutex_lock(&aux->cec.lock);
326 if (!drm_dp_cec_cap(aux, &cap)) {
327 /* CEC is not supported, unregister any existing adapter */
328 cec_unregister_adapter(aux->cec.adap);
329 aux->cec.adap = NULL;
330 goto unlock;
331 }
332
333 if (cap & DP_CEC_SNOOPING_CAPABLE)
334 cec_caps |= CEC_CAP_MONITOR_ALL;
335 if (cap & DP_CEC_MULTIPLE_LA_CAPABLE)
336 num_las = CEC_MAX_LOG_ADDRS;
337
338 if (aux->cec.adap) {
339 if (aux->cec.adap->capabilities == cec_caps &&
340 aux->cec.adap->available_log_addrs == num_las) {
341 /* Unchanged, so just set the phys addr */
> 342 cec_s_phys_addr(adap, source_physical_address, false);
343 goto unlock;
344 }
345 /*
346 * The capabilities changed, so unregister the old
347 * adapter first.
348 */
349 cec_unregister_adapter(aux->cec.adap);
350 }
351
352 /* Create a new adapter */
353 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops,
354 aux, connector->name, cec_caps,
355 num_las);
356 if (IS_ERR(aux->cec.adap)) {
357 aux->cec.adap = NULL;
358 goto unlock;
359 }
360
361 cec_fill_conn_info_from_drm(&conn_info, connector);
362 cec_s_conn_info(aux->cec.adap, &conn_info);
363
364 if (cec_register_adapter(aux->cec.adap, connector->dev->dev)) {
365 cec_delete_adapter(aux->cec.adap);
366 aux->cec.adap = NULL;
367 } else {
368 /*
369 * Update the phys addr for the new CEC adapter. When called
370 * from drm_dp_cec_register_connector() edid == NULL, so in
371 * that case the phys addr is just invalidated.
372 */
373 cec_s_phys_addr(adap, source_physical_address, false);
374 }
375 unlock:
376 mutex_unlock(&aux->cec.lock);
377 }
378 EXPORT_SYMBOL(drm_dp_cec_attach);
379
380 /*
381 * Note: Prefer calling drm_dp_cec_attach() with
382 * connector->display_info.source_physical_address if possible.
383 */
384 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid)
385 {
386 u16 source_physical_address = CEC_PHYS_ADDR_INVALID;
387
> 388 if (edid && edid->extensions)
> 389 pa = cec_get_edid_phys_addr((const u8 *)edid,
> 390 EDID_LENGTH * (edid->extensions + 1), NULL);
391
392 drm_dp_cec_attach(aux, source_physical_address);
393 }
394 EXPORT_SYMBOL(drm_dp_cec_set_edid);
395
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-08-25 11:25 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-24 13:46 [Intel-gfx] [PATCH 0/6] drm, cec and edid updates Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` [Intel-gfx] [PATCH 1/6] drm/edid: add drm_edid_is_digital() Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-31 17:23 ` [Intel-gfx] " Ville Syrjälä
2023-08-31 17:23 ` Ville Syrjälä
2023-08-31 17:23 ` Ville Syrjälä
2023-09-01 19:26 ` [Intel-gfx] " Alex Deucher
2023-09-01 19:26 ` Alex Deucher
2023-09-01 19:26 ` Alex Deucher
2023-09-04 10:43 ` [Intel-gfx] " Jani Nikula
2023-09-04 10:43 ` Jani Nikula
2023-09-04 10:43 ` Jani Nikula
2023-08-24 13:46 ` [Intel-gfx] [PATCH 2/6] drm/i915/display: use drm_edid_is_digital() Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-31 17:24 ` [Intel-gfx] " Ville Syrjälä
2023-08-31 17:24 ` Ville Syrjälä
2023-08-24 13:46 ` [Intel-gfx] [PATCH 3/6] drm/edid: parse source physical address Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-30 9:54 ` [Intel-gfx] " Hans Verkuil
2023-08-30 9:54 ` Hans Verkuil
2023-08-24 13:46 ` [Intel-gfx] [PATCH 4/6] drm/cec: add drm_dp_cec_attach() as the non-edid version of set edid Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-25 11:23 ` kernel test robot [this message]
2023-08-25 11:23 ` [Intel-gfx] " kernel test robot
2023-08-25 11:23 ` kernel test robot
2023-08-25 11:23 ` kernel test robot
2023-08-25 13:01 ` [Intel-gfx] [PATCH v2] " Jani Nikula
2023-08-25 13:01 ` Jani Nikula
2023-08-25 13:01 ` Jani Nikula
2023-08-30 10:26 ` [Intel-gfx] " Hans Verkuil
2023-08-30 10:26 ` Hans Verkuil
2023-08-30 9:57 ` [Intel-gfx] [PATCH 4/6] " Hans Verkuil
2023-08-30 9:57 ` Hans Verkuil
2023-08-30 10:23 ` [Intel-gfx] " Jani Nikula
2023-08-30 10:23 ` Jani Nikula
2023-08-24 13:46 ` [Intel-gfx] [PATCH 5/6] drm/i915/cec: switch to setting physical address directly Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-30 9:57 ` [Intel-gfx] " Hans Verkuil
2023-08-30 9:57 ` Hans Verkuil
2023-08-24 13:46 ` [Intel-gfx] [PATCH 6/6] media: cec: core: add note about *_from_edid() function usage in drm Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-24 13:46 ` Jani Nikula
2023-08-30 10:03 ` [Intel-gfx] " Hans Verkuil
2023-08-30 10:03 ` Hans Verkuil
2023-08-31 10:52 ` [Intel-gfx] " Jani Nikula
2023-08-31 10:52 ` Jani Nikula
2023-08-31 10:51 ` [Intel-gfx] [PATCH v2] " Jani Nikula
2023-08-31 10:51 ` Jani Nikula
2023-08-31 11:38 ` [Intel-gfx] " Hans Verkuil
2023-08-31 11:38 ` Hans Verkuil
2023-08-24 19:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm, cec and edid updates Patchwork
2023-08-24 20:16 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-25 9:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-08-25 16:17 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm, cec and edid updates (rev2) Patchwork
2023-08-25 16:35 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-26 8:15 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-08-31 14:29 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm, cec and edid updates (rev3) Patchwork
2023-08-31 14:44 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-31 18:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-08-31 18:51 ` [Intel-gfx] [PATCH 0/6] drm, cec and edid updates Jani Nikula
2023-08-31 18:51 ` Jani Nikula
2023-08-31 18:51 ` Jani Nikula
2023-08-31 21:32 ` [Intel-gfx] " Hans Verkuil
2023-08-31 21:32 ` Hans Verkuil
2023-09-01 7:24 ` [Intel-gfx] " Maxime Ripard
2023-09-01 7:24 ` Maxime Ripard
2023-09-01 7:24 ` Maxime Ripard
2023-09-01 8:57 ` [Intel-gfx] " Jani Nikula
2023-09-01 8:57 ` Jani Nikula
2023-09-01 8:57 ` Jani Nikula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202308251937.G5ETiCfF-lkp@intel.com \
--to=lkp@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hverkuil@xs4all.nl \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.