[Intel-gfx] [TRYBOT PATCH] drm/i915: Calculate vlv/chv intermediate watermarks correctly, v3.

kbuild test robot lkp at intel.com
Sat Jul 22 21:09:01 UTC 2017


Hi Maarten,

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.13-rc1 next-20170721]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Maarten-Lankhorst/drm-i915-Calculate-vlv-chv-intermediate-watermarks-correctly-v3/20170723-044645
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x010-201730 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/intel_pm.c: In function 'vlv_compute_intermediate_wm':
   drivers/gpu/drm/i915/intel_pm.c:2012:3: error: implicit declaration of function 'intel_atomic_get_old_crtc_state' [-Werror=implicit-function-declaration]
      intel_atomic_get_old_crtc_state(new_crtc_state->base.state, crtc);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/intel_pm.c:2012:3: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
   cc1: all warnings being treated as errors

vim +2012 drivers/gpu/drm/i915/intel_pm.c

  2004	
  2005	static int vlv_compute_intermediate_wm(struct drm_device *dev,
  2006					       struct intel_crtc *crtc,
  2007					       struct intel_crtc_state *new_crtc_state)
  2008	{
  2009		struct vlv_wm_state *intermediate = &new_crtc_state->wm.vlv.intermediate;
  2010		const struct vlv_wm_state *optimal = &new_crtc_state->wm.vlv.optimal;
  2011		const struct intel_crtc_state *old_crtc_state =
> 2012			intel_atomic_get_old_crtc_state(new_crtc_state->base.state, crtc);
  2013		const struct vlv_wm_state *active = &old_crtc_state->wm.vlv.optimal;
  2014		int level;
  2015	
  2016		if (!new_crtc_state->base.active || drm_atomic_crtc_needs_modeset(&new_crtc_state->base)) {
  2017			*intermediate = *optimal;
  2018	
  2019			intermediate->cxsr = false;
  2020			goto out;
  2021		}
  2022	
  2023		intermediate->num_levels = min(optimal->num_levels, active->num_levels);
  2024		intermediate->cxsr = optimal->cxsr && active->cxsr &&
  2025			!new_crtc_state->disable_cxsr;
  2026	
  2027		for (level = 0; level < intermediate->num_levels; level++) {
  2028			enum plane_id plane_id;
  2029	
  2030			for_each_plane_id_on_crtc(crtc, plane_id) {
  2031				intermediate->wm[level].plane[plane_id] =
  2032					min(optimal->wm[level].plane[plane_id],
  2033					    active->wm[level].plane[plane_id]);
  2034			}
  2035	
  2036			intermediate->sr[level].plane = min(optimal->sr[level].plane,
  2037							    active->sr[level].plane);
  2038			intermediate->sr[level].cursor = min(optimal->sr[level].cursor,
  2039							     active->sr[level].cursor);
  2040		}
  2041	
  2042		vlv_invalidate_wms(crtc, intermediate, level);
  2043	
  2044	out:
  2045		/*
  2046		 * If our intermediate WM are identical to the final WM, then we can
  2047		 * omit the post-vblank programming; only update if it's different.
  2048		 */
  2049		if (memcmp(intermediate, optimal, sizeof(*intermediate)) != 0)
  2050			new_crtc_state->wm.need_postvbl_update = true;
  2051	
  2052		return 0;
  2053	}
  2054	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 27950 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170723/09edf8ca/attachment-0001.gz>


More information about the Intel-gfx mailing list