All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] IO and fast wake lines calculation and increase fw sync length
@ 2024-02-21  7:53 Jouni Högander
  2024-02-21  7:53 ` [PATCH 1/3] drm/i915/display: Add aux function pointer for fast wake sync pulse count Jouni Högander
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Jouni Högander @ 2024-02-21  7:53 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Jouni Högander

This patch set is improving IO and fast wake lines calculation in PSR
code:

Use actual fast wake sync pulse count in calculation
Implement getter for IO buffer wake times and use that
Better presentation on how these are calculated

Also number of precharge pulses is increased by 2 pulses to fix
problems with certain panel models.

Jouni Högander (3):
  drm/i915/display: Add aux function pointer for fast wake sync pulse
    count
  drm/i915/psr: Improve fast and IO wake lines calculation
  drm/i915/display: Increase number of fast wake precharge pulses

 .../drm/i915/display/intel_display_types.h    |  6 +++
 drivers/gpu/drm/i915/display/intel_dp_aux.c   | 12 +++---
 drivers/gpu/drm/i915/display/intel_psr.c      | 40 +++++++++++++++----
 3 files changed, 46 insertions(+), 12 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] drm/i915/psr: Improve fast and IO wake lines calculation
@ 2024-02-24 23:35 kernel test robot
  0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-02-24 23:35 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20240221075322.2764209-3-jouni.hogander@intel.com>
References: <20240221075322.2764209-3-jouni.hogander@intel.com>
TO: "Jouni Högander" <jouni.hogander@intel.com>
TO: intel-gfx@lists.freedesktop.org
CC: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
CC: "Jouni Högander" <jouni.hogander@intel.com>

Hi Jouni,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip next-20240223]
[cannot apply to drm-intel/for-linux-next-fixes linus/master v6.8-rc5]
[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/Jouni-H-gander/drm-i915-display-Add-aux-function-pointer-for-fast-wake-sync-pulse-count/20240221-160220
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    https://lore.kernel.org/r/20240221075322.2764209-3-jouni.hogander%40intel.com
patch subject: [PATCH 2/3] drm/i915/psr: Improve fast and IO wake lines calculation
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: i386-randconfig-r081-20240223 (https://download.01.org/0day-ci/archive/20240225/202402250758.KqBqXYrz-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0

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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202402250758.KqBqXYrz-lkp@intel.com/

smatch warnings:
drivers/gpu/drm/i915/display/intel_psr.c:1203 _compute_alpm_params() error: uninitialized symbol 'io_wake_time'.

vim +/io_wake_time +1203 drivers/gpu/drm/i915/display/intel_psr.c

7903f1d36c3d97 Jouni Högander 2024-02-21  1174  
96a24945731fe9 Jouni Högander 2024-01-30  1175  static bool _compute_alpm_params(struct intel_dp *intel_dp,
cb42e8ede5b475 Jouni Högander 2023-02-21  1176  				 struct intel_crtc_state *crtc_state)
cb42e8ede5b475 Jouni Högander 2023-02-21  1177  {
cb42e8ede5b475 Jouni Högander 2023-02-21  1178  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
cb42e8ede5b475 Jouni Högander 2023-02-21  1179  	int io_wake_lines, io_wake_time, fast_wake_lines, fast_wake_time;
cb42e8ede5b475 Jouni Högander 2023-02-21  1180  	u8 max_wake_lines;
cb42e8ede5b475 Jouni Högander 2023-02-21  1181  
7903f1d36c3d97 Jouni Högander 2024-02-21  1182  	if (intel_dp->get_aux_fw_sync_len) {
7903f1d36c3d97 Jouni Högander 2024-02-21  1183  		int io_wake_time = get_io_wake_time(intel_dp, crtc_state);
7903f1d36c3d97 Jouni Högander 2024-02-21  1184  		int tfw_exit_latency = 20; /* eDP spec */
7903f1d36c3d97 Jouni Högander 2024-02-21  1185  		int phy_wake = 4;	   /* eDP spec */
7903f1d36c3d97 Jouni Högander 2024-02-21  1186  		int preamble = 8;	   /* eDP spec */
7903f1d36c3d97 Jouni Högander 2024-02-21  1187  		int precharge = intel_dp->get_aux_fw_sync_len() - preamble;
7903f1d36c3d97 Jouni Högander 2024-02-21  1188  
7903f1d36c3d97 Jouni Högander 2024-02-21  1189  		io_wake_time = max(precharge, io_wake_time) + preamble +
7903f1d36c3d97 Jouni Högander 2024-02-21  1190  			phy_wake + tfw_exit_latency;
7903f1d36c3d97 Jouni Högander 2024-02-21  1191  		fast_wake_time = precharge + preamble + phy_wake +
7903f1d36c3d97 Jouni Högander 2024-02-21  1192  			tfw_exit_latency;
29f3067a236ac5 Jouni Högander 2024-01-30  1193  
29f3067a236ac5 Jouni Högander 2024-01-30  1194  		/* TODO: Check how we can use ALPM_CTL fast wake extended field */
cb42e8ede5b475 Jouni Högander 2023-02-21  1195  		max_wake_lines = 12;
cb42e8ede5b475 Jouni Högander 2023-02-21  1196  	} else {
cb42e8ede5b475 Jouni Högander 2023-02-21  1197  		io_wake_time = 50;
cb42e8ede5b475 Jouni Högander 2023-02-21  1198  		fast_wake_time = 32;
cb42e8ede5b475 Jouni Högander 2023-02-21  1199  		max_wake_lines = 8;
cb42e8ede5b475 Jouni Högander 2023-02-21  1200  	}
cb42e8ede5b475 Jouni Högander 2023-02-21  1201  
cb42e8ede5b475 Jouni Högander 2023-02-21  1202  	io_wake_lines = intel_usecs_to_scanlines(
ef0af9db2a2125 Jouni Högander 2023-06-20 @1203  		&crtc_state->hw.adjusted_mode, io_wake_time);
cb42e8ede5b475 Jouni Högander 2023-02-21  1204  	fast_wake_lines = intel_usecs_to_scanlines(
ef0af9db2a2125 Jouni Högander 2023-06-20  1205  		&crtc_state->hw.adjusted_mode, fast_wake_time);
cb42e8ede5b475 Jouni Högander 2023-02-21  1206  
cb42e8ede5b475 Jouni Högander 2023-02-21  1207  	if (io_wake_lines > max_wake_lines ||
cb42e8ede5b475 Jouni Högander 2023-02-21  1208  	    fast_wake_lines > max_wake_lines)
cb42e8ede5b475 Jouni Högander 2023-02-21  1209  		return false;
cb42e8ede5b475 Jouni Högander 2023-02-21  1210  
29f3067a236ac5 Jouni Högander 2024-01-30  1211  	if (!_lnl_compute_alpm_params(intel_dp, crtc_state))
29f3067a236ac5 Jouni Högander 2024-01-30  1212  		return false;
29f3067a236ac5 Jouni Högander 2024-01-30  1213  
942d654171bdaf Jouni Högander 2023-10-24  1214  	if (i915->display.params.psr_safest_params)
cb42e8ede5b475 Jouni Högander 2023-02-21  1215  		io_wake_lines = fast_wake_lines = max_wake_lines;
cb42e8ede5b475 Jouni Högander 2023-02-21  1216  
cb42e8ede5b475 Jouni Högander 2023-02-21  1217  	/* According to Bspec lower limit should be set as 7 lines. */
96a24945731fe9 Jouni Högander 2024-01-30  1218  	intel_dp->psr.alpm_parameters.io_wake_lines = max(io_wake_lines, 7);
96a24945731fe9 Jouni Högander 2024-01-30  1219  	intel_dp->psr.alpm_parameters.fast_wake_lines = max(fast_wake_lines, 7);
cb42e8ede5b475 Jouni Högander 2023-02-21  1220  
cb42e8ede5b475 Jouni Högander 2023-02-21  1221  	return true;
cb42e8ede5b475 Jouni Högander 2023-02-21  1222  }
cb42e8ede5b475 Jouni Högander 2023-02-21  1223  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-02-26 10:05 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-21  7:53 [PATCH 0/3] IO and fast wake lines calculation and increase fw sync length Jouni Högander
2024-02-21  7:53 ` [PATCH 1/3] drm/i915/display: Add aux function pointer for fast wake sync pulse count Jouni Högander
2024-02-21 19:05   ` Ville Syrjälä
2024-02-21  7:53 ` [PATCH 2/3] drm/i915/psr: Improve fast and IO wake lines calculation Jouni Högander
2024-02-21 19:05   ` Ville Syrjälä
2024-02-21 19:16     ` Ville Syrjälä
2024-02-21 21:45       ` Ville Syrjälä
2024-02-22  9:28         ` Hogander, Jouni
2024-02-22  8:39     ` Hogander, Jouni
2024-02-22  0:42   ` kernel test robot
2024-02-26 10:05   ` Dan Carpenter
2024-02-21  7:53 ` [PATCH 3/3] drm/i915/display: Increase number of fast wake precharge pulses Jouni Högander
2024-02-21 19:11   ` Ville Syrjälä
2024-02-22  9:15     ` Hogander, Jouni
2024-02-21 10:18 ` ✗ Fi.CI.CHECKPATCH: warning for IO and fast wake lines calculation and increase fw sync length Patchwork
2024-02-21 10:18 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-21 10:32 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-21 12:20 ` ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-02-24 23:35 [PATCH 2/3] drm/i915/psr: Improve fast and IO wake lines calculation kernel test robot

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.