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
next prev parent reply other threads:[~2023-08-25 11:25 UTC|newest]
Thread overview: 36+ 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 ` [Intel-gfx] [PATCH 1/6] drm/edid: add drm_edid_is_digital() Jani Nikula
2023-08-31 17:23 ` Ville Syrjälä
2023-09-01 19:26 ` Alex Deucher
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-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-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-25 11:23 ` kernel test robot [this message]
2023-08-25 11:23 ` kernel test robot
2023-08-25 13:01 ` [Intel-gfx] [PATCH v2] " Jani Nikula
2023-08-30 10:26 ` Hans Verkuil
2023-08-30 9:57 ` [Intel-gfx] [PATCH 4/6] " Hans Verkuil
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-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-30 10:03 ` Hans Verkuil
2023-08-31 10:52 ` Jani Nikula
2023-08-31 10:51 ` [Intel-gfx] [PATCH v2] " Jani Nikula
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 21:32 ` Hans Verkuil
2023-09-01 7:24 ` Maxime Ripard
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox