All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.