From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [Intel-gfx] [RFC-v2 9/9] drm/i915/dsi: Initiate fame request in cmd mode
Date: Wed, 13 Nov 2019 05:43:36 +0800 [thread overview]
Message-ID: <201911130558.SmHpha9G%lkp@intel.com> (raw)
In-Reply-To: <20191111111029.9126-10-vandita.kulkarni@intel.com>
[-- Attachment #1: Type: text/plain, Size: 13850 bytes --]
Hi Vandita,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.4-rc7 next-20191112]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Vandita-Kulkarni/Add-support-for-mipi-dsi-cmd-mode/20191113-022822
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/display/intel_display.c: In function 'intel_atomic_commit_tail':
>> drivers/gpu/drm/i915/display/intel_display.c:14737:21: error: 'struct intel_crtc_state' has no member named 'hw'
if (new_crtc_state->hw.active)
^~
--
In file included from include/linux/list.h:9:0,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from include/drm/drm_crtc.h:28,
from include/drm/drm_atomic_helper.h:31,
from drivers/gpu/drm/i915/display/icl_dsi.c:28:
drivers/gpu/drm/i915/display/icl_dsi.c: In function 'gen11_dsi_frame_update':
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:52: error: 'struct intel_crtc_state' has no member named 'uapi'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^
include/linux/kernel.h:993:26: note: in definition of macro 'container_of'
void *__mptr = (void *)(ptr); \
^~~
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:28: note: in expansion of macro 'to_intel_crtc'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^~~~~~~~~~~~~
In file included from include/linux/ioport.h:13:0,
from include/linux/acpi.h:12,
from include/linux/i2c.h:13,
from include/drm/drm_crtc.h:28,
from include/drm/drm_atomic_helper.h:31,
from drivers/gpu/drm/i915/display/icl_dsi.c:28:
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:52: error: 'struct intel_crtc_state' has no member named 'uapi'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^
include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:994:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:994:20: note: in expansion of macro '__same_type'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_display_types.h:1121:26: note: in expansion of macro 'container_of'
#define to_intel_crtc(x) container_of(x, struct intel_crtc, base)
^~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:28: note: in expansion of macro 'to_intel_crtc'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:52: error: 'struct intel_crtc_state' has no member named 'uapi'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^
include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:994:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:995:6: note: in expansion of macro '__same_type'
!__same_type(*(ptr), void), \
^~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_display_types.h:1121:26: note: in expansion of macro 'container_of'
#define to_intel_crtc(x) container_of(x, struct intel_crtc, base)
^~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/icl_dsi.c:203:28: note: in expansion of macro 'to_intel_crtc'
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
^~~~~~~~~~~~~
drivers/gpu/drm/i915/display/icl_dsi.c:208:28: error: 'struct intel_crtc_state' has no member named 'hw'
private_flags = crtc_state->hw.adjusted_mode.private_flags;
^~
drivers/gpu/drm/i915/display/icl_dsi.c: In function 'gen11_dsi_get_config':
drivers/gpu/drm/i915/display/icl_dsi.c:1347:14: error: 'struct intel_crtc_state' has no member named 'hw'
pipe_config->hw.adjusted_mode.private_flags |=
^~
drivers/gpu/drm/i915/display/icl_dsi.c: In function 'gen11_dsi_compute_config':
drivers/gpu/drm/i915/display/icl_dsi.c:1380:13: error: 'struct intel_crtc_state' has no member named 'hw'
pipe_config->hw.adjusted_mode.private_flags &=
^~
drivers/gpu/drm/i915/display/icl_dsi.c:1390:15: error: 'struct intel_crtc_state' has no member named 'hw'
pipe_config->hw.adjusted_mode.private_flags |=
^~
drivers/gpu/drm/i915/display/icl_dsi.c:1393:15: error: 'struct intel_crtc_state' has no member named 'hw'
pipe_config->hw.adjusted_mode.private_flags |=
^~
vim +14737 drivers/gpu/drm/i915/display/intel_display.c
14630
14631 static void intel_atomic_commit_tail(struct intel_atomic_state *state)
14632 {
14633 struct drm_device *dev = state->base.dev;
14634 struct drm_i915_private *dev_priv = to_i915(dev);
14635 struct intel_crtc_state *new_crtc_state, *old_crtc_state;
14636 struct intel_crtc *crtc;
14637 u64 put_domains[I915_MAX_PIPES] = {};
14638 intel_wakeref_t wakeref = 0;
14639 int i;
14640
14641 intel_atomic_commit_fence_wait(state);
14642
14643 drm_atomic_helper_wait_for_dependencies(&state->base);
14644
14645 if (state->modeset)
14646 wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_MODESET);
14647
14648 for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
14649 new_crtc_state, i) {
14650 if (needs_modeset(new_crtc_state) ||
14651 new_crtc_state->update_pipe) {
14652
14653 put_domains[crtc->pipe] =
14654 modeset_get_crtc_power_domains(new_crtc_state);
14655 }
14656 }
14657
14658 intel_commit_modeset_disables(state);
14659
14660 /* FIXME: Eventually get rid of our crtc->config pointer */
14661 for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
14662 crtc->config = new_crtc_state;
14663
14664 if (state->modeset) {
14665 drm_atomic_helper_update_legacy_modeset_state(dev, &state->base);
14666
14667 intel_set_cdclk_pre_plane_update(dev_priv,
14668 &state->cdclk.actual,
14669 &dev_priv->cdclk.actual,
14670 state->cdclk.pipe);
14671
14672 /*
14673 * SKL workaround: bspec recommends we disable the SAGV when we
14674 * have more then one pipe enabled
14675 */
14676 if (!intel_can_enable_sagv(state))
14677 intel_disable_sagv(dev_priv);
14678
14679 intel_modeset_verify_disabled(dev_priv, state);
14680 }
14681
14682 /* Complete the events for pipes that have now been disabled */
14683 for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
14684 bool modeset = needs_modeset(new_crtc_state);
14685
14686 /* Complete events for now disable pipes here. */
14687 if (modeset && !new_crtc_state->base.active && new_crtc_state->base.event) {
14688 spin_lock_irq(&dev->event_lock);
14689 drm_crtc_send_vblank_event(&crtc->base, new_crtc_state->base.event);
14690 spin_unlock_irq(&dev->event_lock);
14691
14692 new_crtc_state->base.event = NULL;
14693 }
14694 }
14695
14696 if (state->modeset)
14697 intel_encoders_update_prepare(state);
14698
14699 /* Now enable the clocks, plane, pipe, and connectors that we set up. */
14700 dev_priv->display.commit_modeset_enables(state);
14701
14702 if (state->modeset) {
14703 intel_encoders_update_complete(state);
14704
14705 intel_set_cdclk_post_plane_update(dev_priv,
14706 &state->cdclk.actual,
14707 &dev_priv->cdclk.actual,
14708 state->cdclk.pipe);
14709 }
14710
14711 /* FIXME: We should call drm_atomic_helper_commit_hw_done() here
14712 * already, but still need the state for the delayed optimization. To
14713 * fix this:
14714 * - wrap the optimization/post_plane_update stuff into a per-crtc work.
14715 * - schedule that vblank worker _before_ calling hw_done
14716 * - at the start of commit_tail, cancel it _synchrously
14717 * - switch over to the vblank wait helper in the core after that since
14718 * we don't need out special handling any more.
14719 */
14720 drm_atomic_helper_wait_for_flip_done(dev, &state->base);
14721
14722 for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
14723 if (new_crtc_state->base.active &&
14724 !needs_modeset(new_crtc_state) &&
14725 !new_crtc_state->preload_luts &&
14726 (new_crtc_state->base.color_mgmt_changed ||
14727 new_crtc_state->update_pipe))
14728 intel_color_load_luts(new_crtc_state);
14729 }
14730
14731 /*
14732 * Incase of mipi dsi command mode, we need to set frame update
14733 * for every commit
14734 */
14735 if ((INTEL_GEN(dev_priv) >= 11) &&
14736 (intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI))) {
14737 if (new_crtc_state->hw.active)
14738 gen11_dsi_frame_update(new_crtc_state);
14739 }
14740
14741 /*
14742 * Now that the vblank has passed, we can go ahead and program the
14743 * optimal watermarks on platforms that need two-step watermark
14744 * programming.
14745 *
14746 * TODO: Move this (and other cleanup) to an async worker eventually.
14747 */
14748 for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
14749 if (dev_priv->display.optimize_watermarks)
14750 dev_priv->display.optimize_watermarks(state,
14751 new_crtc_state);
14752 }
14753
14754 for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
14755 intel_post_plane_update(old_crtc_state);
14756
14757 if (put_domains[i])
14758 modeset_put_power_domains(dev_priv, put_domains[i]);
14759
14760 intel_modeset_verify_crtc(crtc, state, old_crtc_state, new_crtc_state);
14761 }
14762
14763 if (state->modeset)
14764 intel_verify_planes(state);
14765
14766 if (state->modeset && intel_can_enable_sagv(state))
14767 intel_enable_sagv(dev_priv);
14768
14769 drm_atomic_helper_commit_hw_done(&state->base);
14770
14771 if (state->modeset) {
14772 /* As one of the primary mmio accessors, KMS has a high
14773 * likelihood of triggering bugs in unclaimed access. After we
14774 * finish modesetting, see if an error has been flagged, and if
14775 * so enable debugging for the next modeset - and hope we catch
14776 * the culprit.
14777 */
14778 intel_uncore_arm_unclaimed_mmio_detection(&dev_priv->uncore);
14779 intel_display_power_put(dev_priv, POWER_DOMAIN_MODESET, wakeref);
14780 }
14781 intel_runtime_pm_put(&dev_priv->runtime_pm, state->wakeref);
14782
14783 /*
14784 * Defer the cleanup of the old state to a separate worker to not
14785 * impede the current task (userspace for blocking modesets) that
14786 * are executed inline. For out-of-line asynchronous modesets/flips,
14787 * deferring to a new worker seems overkill, but we would place a
14788 * schedule point (cond_resched()) here anyway to keep latencies
14789 * down.
14790 */
14791 INIT_WORK(&state->base.commit_work, intel_atomic_cleanup_work);
14792 queue_work(system_highpri_wq, &state->base.commit_work);
14793 }
14794
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28187 bytes --]
next prev parent reply other threads:[~2019-11-12 21:43 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-11 11:10 [RFC-v2 0/9] Add support for mipi dsi cmd mode Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-11 11:10 ` [RFC-v2 1/9] drm/i915/dsi: Define command mode registers Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 16:25 ` Jani Nikula
2019-11-12 16:25 ` [Intel-gfx] " Jani Nikula
2019-11-11 11:10 ` [RFC-v2 2/9] drm/i915/dsi: Configure transcoder operation for command mode Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 16:23 ` Jani Nikula
2019-11-12 16:23 ` [Intel-gfx] " Jani Nikula
2019-11-11 11:10 ` [RFC-v2 3/9] drm/i915/dsi: Add vblank calculation " Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-11 11:10 ` [RFC-v2 4/9] drm/i915/dsi: Add cmd mode flags in display mode private flags Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 16:27 ` Jani Nikula
2019-11-12 16:27 ` [Intel-gfx] " Jani Nikula
2019-11-11 11:10 ` [RFC-v2 5/9] drm/i915/dsi: Add check for periodic command mode Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 20:51 ` kbuild test robot
2019-11-11 11:10 ` [RFC-v2 6/9] drm/i915/dsi: Use private flags to indicate TE in cmd mode Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-11 11:10 ` [RFC-v2 7/9] drm/i915/dsi: Configure TE interrupt for " Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 14:59 ` Jani Nikula
2019-11-12 14:59 ` [Intel-gfx] " Jani Nikula
2019-11-11 11:10 ` [RFC-v2 8/9] drm/i915/dsi: Add TE handler for dsi " Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 15:10 ` Jani Nikula
2019-11-12 15:10 ` [Intel-gfx] " Jani Nikula
2019-11-11 11:10 ` [RFC-v2 9/9] drm/i915/dsi: Initiate fame request in " Vandita Kulkarni
2019-11-11 11:10 ` [Intel-gfx] " Vandita Kulkarni
2019-11-12 21:43 ` kbuild test robot [this message]
2019-11-11 17:20 ` ✗ Fi.CI.CHECKPATCH: warning for Add support for mipi dsi " Patchwork
2019-11-11 17:20 ` [Intel-gfx] " Patchwork
2019-11-11 17:23 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-11-11 17:23 ` [Intel-gfx] " Patchwork
2019-11-11 17:53 ` ✓ Fi.CI.BAT: success " Patchwork
2019-11-11 17:53 ` [Intel-gfx] " Patchwork
2019-11-12 5:52 ` ✗ Fi.CI.IGT: failure " Patchwork
2019-11-12 5:52 ` [Intel-gfx] " Patchwork
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=201911130558.SmHpha9G%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.