public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Jayant Chowdhary <jchowdhary@google.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org, kernel-team@android.com,
	linux-kbuild@vger.kernel.org
Subject: Re: [PATCH] uapi: Make generic uapi headers compile standalone.
Date: Fri, 8 Jun 2018 06:37:41 +0800	[thread overview]
Message-ID: <201806080652.8WjxQoFE%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180606231602.231326-1-jchowdhary@google.com>

Hi Jayant,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.17 next-20180607]
[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/Jayant-Chowdhary/uapi-Make-generic-uapi-headers-compile-standalone/20180608-014548
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   drivers/gpu/drm/radeon/cik.c:6721:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6721:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6721:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6722:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6722:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6722:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6724:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6724:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6724:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6725:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6725:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6725:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6726:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6726:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6726:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6731:49: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6731:49:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6731:49:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6733:49: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6733:49:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6733:49:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6735:57: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6735:57:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6735:57:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6742:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6742:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6742:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6743:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6743:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6743:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6746:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6746:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6746:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6747:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6747:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6747:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6750:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6750:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6750:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6751:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6751:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6751:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6755:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6755:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6755:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6756:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6756:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6756:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6759:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6759:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6759:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6760:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6760:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6760:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6763:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6763:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6763:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6764:33: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6764:33:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6764:33:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6768:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6768:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6768:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6769:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6769:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6769:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6771:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6771:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6771:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6772:25: sparse: incorrect type in assignment (different base types) @@    expected unsigned int volatile [unsigned] [usertype] <noident> @@    got latile [unsigned] [usertype] <noident> @@
   drivers/gpu/drm/radeon/cik.c:6772:25:    expected unsigned int volatile [unsigned] [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:6772:25:    got restricted __le32 [usertype] <noident>
   drivers/gpu/drm/radeon/cik.c:7497:24: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/cik.c:7587:27: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/cik.c:7588:28: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/cik.c:7589:27: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/cik.c:7497:24: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9065:16: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9142:15: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9142:15: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9144:22: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9144:22: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9262:29: sparse: expression using sizeof(void)
   drivers/gpu/drm/radeon/cik.c:9293:39: sparse: expression using sizeof(void)
>> drivers/gpu/drm/radeon/cik.c:9333:39: sparse: too many warnings

vim +9333 drivers/gpu/drm/radeon/cik.c

cd84a27d Alex Deucher  2012-07-20  9234  
cd84a27d Alex Deucher  2012-07-20  9235  /**
cd84a27d Alex Deucher  2012-07-20  9236   * dce8_program_watermarks - program display watermarks
cd84a27d Alex Deucher  2012-07-20  9237   *
cd84a27d Alex Deucher  2012-07-20  9238   * @rdev: radeon_device pointer
cd84a27d Alex Deucher  2012-07-20  9239   * @radeon_crtc: the selected display controller
cd84a27d Alex Deucher  2012-07-20  9240   * @lb_size: line buffer size
cd84a27d Alex Deucher  2012-07-20  9241   * @num_heads: number of display controllers in use
cd84a27d Alex Deucher  2012-07-20  9242   *
cd84a27d Alex Deucher  2012-07-20  9243   * Calculate and program the display watermarks for the
cd84a27d Alex Deucher  2012-07-20  9244   * selected display controller (CIK).
cd84a27d Alex Deucher  2012-07-20  9245   */
cd84a27d Alex Deucher  2012-07-20  9246  static void dce8_program_watermarks(struct radeon_device *rdev,
cd84a27d Alex Deucher  2012-07-20  9247  				    struct radeon_crtc *radeon_crtc,
cd84a27d Alex Deucher  2012-07-20  9248  				    u32 lb_size, u32 num_heads)
cd84a27d Alex Deucher  2012-07-20  9249  {
cd84a27d Alex Deucher  2012-07-20  9250  	struct drm_display_mode *mode = &radeon_crtc->base.mode;
58ea2dea Alex Deucher  2013-01-24  9251  	struct dce8_wm_params wm_low, wm_high;
e6b9a6c8 Mario Kleiner 2017-04-24  9252  	u32 active_time;
cd84a27d Alex Deucher  2012-07-20  9253  	u32 line_time = 0;
cd84a27d Alex Deucher  2012-07-20  9254  	u32 latency_watermark_a = 0, latency_watermark_b = 0;
cd84a27d Alex Deucher  2012-07-20  9255  	u32 tmp, wm_mask;
cd84a27d Alex Deucher  2012-07-20  9256  
cd84a27d Alex Deucher  2012-07-20  9257  	if (radeon_crtc->base.enabled && num_heads && mode) {
55f61a04 Mario Kleiner 2017-06-13  9258  		active_time = (u32) div_u64((u64)mode->crtc_hdisplay * 1000000,
55f61a04 Mario Kleiner 2017-06-13  9259  					    (u32)mode->clock);
55f61a04 Mario Kleiner 2017-06-13  9260  		line_time = (u32) div_u64((u64)mode->crtc_htotal * 1000000,
55f61a04 Mario Kleiner 2017-06-13  9261  					  (u32)mode->clock);
55f61a04 Mario Kleiner 2017-06-13  9262  		line_time = min(line_time, (u32)65535);
cd84a27d Alex Deucher  2012-07-20  9263  
58ea2dea Alex Deucher  2013-01-24  9264  		/* watermark for high clocks */
58ea2dea Alex Deucher  2013-01-24  9265  		if ((rdev->pm.pm_method == PM_METHOD_DPM) &&
58ea2dea Alex Deucher  2013-01-24  9266  		    rdev->pm.dpm_enabled) {
58ea2dea Alex Deucher  2013-01-24  9267  			wm_high.yclk =
58ea2dea Alex Deucher  2013-01-24  9268  				radeon_dpm_get_mclk(rdev, false) * 10;
58ea2dea Alex Deucher  2013-01-24  9269  			wm_high.sclk =
58ea2dea Alex Deucher  2013-01-24  9270  				radeon_dpm_get_sclk(rdev, false) * 10;
58ea2dea Alex Deucher  2013-01-24  9271  		} else {
58ea2dea Alex Deucher  2013-01-24  9272  			wm_high.yclk = rdev->pm.current_mclk * 10;
58ea2dea Alex Deucher  2013-01-24  9273  			wm_high.sclk = rdev->pm.current_sclk * 10;
58ea2dea Alex Deucher  2013-01-24  9274  		}
58ea2dea Alex Deucher  2013-01-24  9275  
58ea2dea Alex Deucher  2013-01-24  9276  		wm_high.disp_clk = mode->clock;
58ea2dea Alex Deucher  2013-01-24  9277  		wm_high.src_width = mode->crtc_hdisplay;
e6b9a6c8 Mario Kleiner 2017-04-24  9278  		wm_high.active_time = active_time;
58ea2dea Alex Deucher  2013-01-24  9279  		wm_high.blank_time = line_time - wm_high.active_time;
58ea2dea Alex Deucher  2013-01-24  9280  		wm_high.interlaced = false;
cd84a27d Alex Deucher  2012-07-20  9281  		if (mode->flags & DRM_MODE_FLAG_INTERLACE)
58ea2dea Alex Deucher  2013-01-24  9282  			wm_high.interlaced = true;
58ea2dea Alex Deucher  2013-01-24  9283  		wm_high.vsc = radeon_crtc->vsc;
58ea2dea Alex Deucher  2013-01-24  9284  		wm_high.vtaps = 1;
cd84a27d Alex Deucher  2012-07-20  9285  		if (radeon_crtc->rmx_type != RMX_OFF)
58ea2dea Alex Deucher  2013-01-24  9286  			wm_high.vtaps = 2;
58ea2dea Alex Deucher  2013-01-24  9287  		wm_high.bytes_per_pixel = 4; /* XXX: get this from fb config */
58ea2dea Alex Deucher  2013-01-24  9288  		wm_high.lb_size = lb_size;
58ea2dea Alex Deucher  2013-01-24  9289  		wm_high.dram_channels = cik_get_number_of_dram_channels(rdev);
58ea2dea Alex Deucher  2013-01-24  9290  		wm_high.num_heads = num_heads;
cd84a27d Alex Deucher  2012-07-20  9291  
cd84a27d Alex Deucher  2012-07-20  9292  		/* set for high clocks */
58ea2dea Alex Deucher  2013-01-24  9293  		latency_watermark_a = min(dce8_latency_watermark(&wm_high), (u32)65535);
58ea2dea Alex Deucher  2013-01-24  9294  
58ea2dea Alex Deucher  2013-01-24  9295  		/* possibly force display priority to high */
58ea2dea Alex Deucher  2013-01-24  9296  		/* should really do this at mode validation time... */
58ea2dea Alex Deucher  2013-01-24  9297  		if (!dce8_average_bandwidth_vs_dram_bandwidth_for_display(&wm_high) ||
58ea2dea Alex Deucher  2013-01-24  9298  		    !dce8_average_bandwidth_vs_available_bandwidth(&wm_high) ||
58ea2dea Alex Deucher  2013-01-24  9299  		    !dce8_check_latency_hiding(&wm_high) ||
58ea2dea Alex Deucher  2013-01-24  9300  		    (rdev->disp_priority == 2)) {
58ea2dea Alex Deucher  2013-01-24  9301  			DRM_DEBUG_KMS("force priority to high\n");
58ea2dea Alex Deucher  2013-01-24  9302  		}
58ea2dea Alex Deucher  2013-01-24  9303  
58ea2dea Alex Deucher  2013-01-24  9304  		/* watermark for low clocks */
58ea2dea Alex Deucher  2013-01-24  9305  		if ((rdev->pm.pm_method == PM_METHOD_DPM) &&
58ea2dea Alex Deucher  2013-01-24  9306  		    rdev->pm.dpm_enabled) {
58ea2dea Alex Deucher  2013-01-24  9307  			wm_low.yclk =
58ea2dea Alex Deucher  2013-01-24  9308  				radeon_dpm_get_mclk(rdev, true) * 10;
58ea2dea Alex Deucher  2013-01-24  9309  			wm_low.sclk =
58ea2dea Alex Deucher  2013-01-24  9310  				radeon_dpm_get_sclk(rdev, true) * 10;
58ea2dea Alex Deucher  2013-01-24  9311  		} else {
58ea2dea Alex Deucher  2013-01-24  9312  			wm_low.yclk = rdev->pm.current_mclk * 10;
58ea2dea Alex Deucher  2013-01-24  9313  			wm_low.sclk = rdev->pm.current_sclk * 10;
58ea2dea Alex Deucher  2013-01-24  9314  		}
58ea2dea Alex Deucher  2013-01-24  9315  
58ea2dea Alex Deucher  2013-01-24  9316  		wm_low.disp_clk = mode->clock;
58ea2dea Alex Deucher  2013-01-24  9317  		wm_low.src_width = mode->crtc_hdisplay;
e6b9a6c8 Mario Kleiner 2017-04-24  9318  		wm_low.active_time = active_time;
58ea2dea Alex Deucher  2013-01-24  9319  		wm_low.blank_time = line_time - wm_low.active_time;
58ea2dea Alex Deucher  2013-01-24  9320  		wm_low.interlaced = false;
58ea2dea Alex Deucher  2013-01-24  9321  		if (mode->flags & DRM_MODE_FLAG_INTERLACE)
58ea2dea Alex Deucher  2013-01-24  9322  			wm_low.interlaced = true;
58ea2dea Alex Deucher  2013-01-24  9323  		wm_low.vsc = radeon_crtc->vsc;
58ea2dea Alex Deucher  2013-01-24  9324  		wm_low.vtaps = 1;
58ea2dea Alex Deucher  2013-01-24  9325  		if (radeon_crtc->rmx_type != RMX_OFF)
58ea2dea Alex Deucher  2013-01-24  9326  			wm_low.vtaps = 2;
58ea2dea Alex Deucher  2013-01-24  9327  		wm_low.bytes_per_pixel = 4; /* XXX: get this from fb config */
58ea2dea Alex Deucher  2013-01-24  9328  		wm_low.lb_size = lb_size;
58ea2dea Alex Deucher  2013-01-24  9329  		wm_low.dram_channels = cik_get_number_of_dram_channels(rdev);
58ea2dea Alex Deucher  2013-01-24  9330  		wm_low.num_heads = num_heads;
58ea2dea Alex Deucher  2013-01-24  9331  
cd84a27d Alex Deucher  2012-07-20  9332  		/* set for low clocks */
58ea2dea Alex Deucher  2013-01-24 @9333  		latency_watermark_b = min(dce8_latency_watermark(&wm_low), (u32)65535);
cd84a27d Alex Deucher  2012-07-20  9334  
cd84a27d Alex Deucher  2012-07-20  9335  		/* possibly force display priority to high */
cd84a27d Alex Deucher  2012-07-20  9336  		/* should really do this at mode validation time... */
58ea2dea Alex Deucher  2013-01-24  9337  		if (!dce8_average_bandwidth_vs_dram_bandwidth_for_display(&wm_low) ||
58ea2dea Alex Deucher  2013-01-24  9338  		    !dce8_average_bandwidth_vs_available_bandwidth(&wm_low) ||
58ea2dea Alex Deucher  2013-01-24  9339  		    !dce8_check_latency_hiding(&wm_low) ||
cd84a27d Alex Deucher  2012-07-20  9340  		    (rdev->disp_priority == 2)) {
cd84a27d Alex Deucher  2012-07-20  9341  			DRM_DEBUG_KMS("force priority to high\n");
cd84a27d Alex Deucher  2012-07-20  9342  		}
5b5561b3 Mario Kleiner 2015-11-25  9343  
5b5561b3 Mario Kleiner 2015-11-25  9344  		/* Save number of lines the linebuffer leads before the scanout */
5b5561b3 Mario Kleiner 2015-11-25  9345  		radeon_crtc->lb_vblank_lead_lines = DIV_ROUND_UP(lb_size, mode->crtc_hdisplay);
cd84a27d Alex Deucher  2012-07-20  9346  	}
cd84a27d Alex Deucher  2012-07-20  9347  
cd84a27d Alex Deucher  2012-07-20  9348  	/* select wm A */
cd84a27d Alex Deucher  2012-07-20  9349  	wm_mask = RREG32(DPG_WATERMARK_MASK_CONTROL + radeon_crtc->crtc_offset);
cd84a27d Alex Deucher  2012-07-20  9350  	tmp = wm_mask;
cd84a27d Alex Deucher  2012-07-20  9351  	tmp &= ~LATENCY_WATERMARK_MASK(3);
cd84a27d Alex Deucher  2012-07-20  9352  	tmp |= LATENCY_WATERMARK_MASK(1);
cd84a27d Alex Deucher  2012-07-20  9353  	WREG32(DPG_WATERMARK_MASK_CONTROL + radeon_crtc->crtc_offset, tmp);
cd84a27d Alex Deucher  2012-07-20  9354  	WREG32(DPG_PIPE_LATENCY_CONTROL + radeon_crtc->crtc_offset,
cd84a27d Alex Deucher  2012-07-20  9355  	       (LATENCY_LOW_WATERMARK(latency_watermark_a) |
cd84a27d Alex Deucher  2012-07-20  9356  		LATENCY_HIGH_WATERMARK(line_time)));
cd84a27d Alex Deucher  2012-07-20  9357  	/* select wm B */
cd84a27d Alex Deucher  2012-07-20  9358  	tmp = RREG32(DPG_WATERMARK_MASK_CONTROL + radeon_crtc->crtc_offset);
cd84a27d Alex Deucher  2012-07-20  9359  	tmp &= ~LATENCY_WATERMARK_MASK(3);
cd84a27d Alex Deucher  2012-07-20  9360  	tmp |= LATENCY_WATERMARK_MASK(2);
cd84a27d Alex Deucher  2012-07-20  9361  	WREG32(DPG_WATERMARK_MASK_CONTROL + radeon_crtc->crtc_offset, tmp);
cd84a27d Alex Deucher  2012-07-20  9362  	WREG32(DPG_PIPE_LATENCY_CONTROL + radeon_crtc->crtc_offset,
cd84a27d Alex Deucher  2012-07-20  9363  	       (LATENCY_LOW_WATERMARK(latency_watermark_b) |
cd84a27d Alex Deucher  2012-07-20  9364  		LATENCY_HIGH_WATERMARK(line_time)));
cd84a27d Alex Deucher  2012-07-20  9365  	/* restore original selection */
cd84a27d Alex Deucher  2012-07-20  9366  	WREG32(DPG_WATERMARK_MASK_CONTROL + radeon_crtc->crtc_offset, wm_mask);
58ea2dea Alex Deucher  2013-01-24  9367  
58ea2dea Alex Deucher  2013-01-24  9368  	/* save values for DPM */
58ea2dea Alex Deucher  2013-01-24  9369  	radeon_crtc->line_time = line_time;
58ea2dea Alex Deucher  2013-01-24  9370  	radeon_crtc->wm_high = latency_watermark_a;
58ea2dea Alex Deucher  2013-01-24  9371  	radeon_crtc->wm_low = latency_watermark_b;
cd84a27d Alex Deucher  2012-07-20  9372  }
cd84a27d Alex Deucher  2012-07-20  9373  

:::::: The code at line 9333 was first introduced by commit
:::::: 58ea2deab36ecf0b416d3486442cc6df693dcc79 drm/radeon/kms: fix up dce8 display watermark calc for dpm

:::::: TO: Alex Deucher <alexander.deucher@amd.com>
:::::: CC: Alex Deucher <alexander.deucher@amd.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

  parent reply	other threads:[~2018-06-07 22:38 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-06 23:16 [PATCH] uapi: Make generic uapi headers compile standalone Jayant Chowdhary
2018-06-07  4:58 ` Masahiro Yamada
2018-06-08  1:14   ` Jayant Chowdhary
2018-06-07 20:05 ` kbuild test robot
2018-06-07 21:26 ` kbuild test robot
2018-06-07 22:37 ` kbuild test robot [this message]
2018-06-08  0:07 ` Randy Dunlap
2018-06-08 18:36   ` Jayant Chowdhary
2018-06-08 20:48     ` Randy Dunlap
2018-06-08  2:11 ` kbuild test robot
  -- strict thread matches above, loose matches on Subject: below --
2018-06-06 22:37 Jayant Chowdhary

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=201806080652.8WjxQoFE%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=jchowdhary@google.com \
    --cc=kbuild-all@01.org \
    --cc=kernel-team@android.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox