[Intel-gfx] [PATCH 2/8] drm/i915/display: Store compressed bpp in U6.4 format
kernel test robot
lkp at intel.com
Sat Sep 30 05:41:40 UTC 2023
Hi Mitul,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-tip/drm-tip]
url: https://github.com/intel-lab-lkp/linux/commits/Mitul-Golani/drm-display-dp-Add-helper-function-to-get-DSC-bpp-precision/20230929-162949
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
patch link: https://lore.kernel.org/r/20230929071322.945521-3-mitulkumar.ajitkumar.golani%40intel.com
patch subject: [PATCH 2/8] drm/i915/display: Store compressed bpp in U6.4 format
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20230930/202309301303.ujZmUWZH-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230930/202309301303.ujZmUWZH-lkp@intel.com/reproduce)
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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309301303.ujZmUWZH-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/display/intel_link_bw.c: In function 'intel_link_bw_reduce_bpp':
>> drivers/gpu/drm/i915/display/intel_link_bw.c:71:52: error: 'struct <anonymous>' has no member named 'compressed_bpp'; did you mean 'compressed_bpp_x16'?
71 | link_bpp = crtc_state->dsc.compressed_bpp;
| ^~~~~~~~~~~~~~
| compressed_bpp_x16
vim +71 drivers/gpu/drm/i915/display/intel_link_bw.c
8ca0b875c08258 Imre Deak 2023-09-21 28
8ca0b875c08258 Imre Deak 2023-09-21 29 /**
8ca0b875c08258 Imre Deak 2023-09-21 30 * intel_link_bw_reduce_bpp - reduce maximum link bpp for a selected pipe
8ca0b875c08258 Imre Deak 2023-09-21 31 * @state: atomic state
8ca0b875c08258 Imre Deak 2023-09-21 32 * @limits: link BW limits
8ca0b875c08258 Imre Deak 2023-09-21 33 * @pipe_mask: mask of pipes to select from
8ca0b875c08258 Imre Deak 2023-09-21 34 * @reason: explanation of why bpp reduction is needed
8ca0b875c08258 Imre Deak 2023-09-21 35 *
8ca0b875c08258 Imre Deak 2023-09-21 36 * Select the pipe from @pipe_mask with the biggest link bpp value and set the
8ca0b875c08258 Imre Deak 2023-09-21 37 * maximum of link bpp in @limits below this value. Modeset the selected pipe,
8ca0b875c08258 Imre Deak 2023-09-21 38 * so that its state will get recomputed.
8ca0b875c08258 Imre Deak 2023-09-21 39 *
8ca0b875c08258 Imre Deak 2023-09-21 40 * This function can be called to resolve a link's BW overallocation by reducing
8ca0b875c08258 Imre Deak 2023-09-21 41 * the link bpp of one pipe on the link and hence reducing the total link BW.
8ca0b875c08258 Imre Deak 2023-09-21 42 *
8ca0b875c08258 Imre Deak 2023-09-21 43 * Returns
8ca0b875c08258 Imre Deak 2023-09-21 44 * - 0 in case of success
8ca0b875c08258 Imre Deak 2023-09-21 45 * - %-ENOSPC if no pipe can further reduce its link bpp
8ca0b875c08258 Imre Deak 2023-09-21 46 * - Other negative error, if modesetting the selected pipe failed
8ca0b875c08258 Imre Deak 2023-09-21 47 */
8ca0b875c08258 Imre Deak 2023-09-21 48 int intel_link_bw_reduce_bpp(struct intel_atomic_state *state,
8ca0b875c08258 Imre Deak 2023-09-21 49 struct intel_link_bw_limits *limits,
8ca0b875c08258 Imre Deak 2023-09-21 50 u8 pipe_mask,
8ca0b875c08258 Imre Deak 2023-09-21 51 const char *reason)
8ca0b875c08258 Imre Deak 2023-09-21 52 {
8ca0b875c08258 Imre Deak 2023-09-21 53 struct drm_i915_private *i915 = to_i915(state->base.dev);
8ca0b875c08258 Imre Deak 2023-09-21 54 enum pipe max_bpp_pipe = INVALID_PIPE;
8ca0b875c08258 Imre Deak 2023-09-21 55 struct intel_crtc *crtc;
8ca0b875c08258 Imre Deak 2023-09-21 56 int max_bpp = 0;
8ca0b875c08258 Imre Deak 2023-09-21 57
8ca0b875c08258 Imre Deak 2023-09-21 58 for_each_intel_crtc_in_pipe_mask(&i915->drm, crtc, pipe_mask) {
8ca0b875c08258 Imre Deak 2023-09-21 59 struct intel_crtc_state *crtc_state;
8ca0b875c08258 Imre Deak 2023-09-21 60 int link_bpp;
8ca0b875c08258 Imre Deak 2023-09-21 61
8ca0b875c08258 Imre Deak 2023-09-21 62 if (limits->bpp_limit_reached_pipes & BIT(crtc->pipe))
8ca0b875c08258 Imre Deak 2023-09-21 63 continue;
8ca0b875c08258 Imre Deak 2023-09-21 64
8ca0b875c08258 Imre Deak 2023-09-21 65 crtc_state = intel_atomic_get_crtc_state(&state->base,
8ca0b875c08258 Imre Deak 2023-09-21 66 crtc);
8ca0b875c08258 Imre Deak 2023-09-21 67 if (IS_ERR(crtc_state))
8ca0b875c08258 Imre Deak 2023-09-21 68 return PTR_ERR(crtc_state);
8ca0b875c08258 Imre Deak 2023-09-21 69
8ca0b875c08258 Imre Deak 2023-09-21 70 if (crtc_state->dsc.compression_enable)
8ca0b875c08258 Imre Deak 2023-09-21 @71 link_bpp = crtc_state->dsc.compressed_bpp;
8ca0b875c08258 Imre Deak 2023-09-21 72 else
8ca0b875c08258 Imre Deak 2023-09-21 73 /*
8ca0b875c08258 Imre Deak 2023-09-21 74 * TODO: for YUV420 the actual link bpp is only half
8ca0b875c08258 Imre Deak 2023-09-21 75 * of the pipe bpp value. The MST encoder's BW allocation
8ca0b875c08258 Imre Deak 2023-09-21 76 * is based on the pipe bpp value, set the actual link bpp
8ca0b875c08258 Imre Deak 2023-09-21 77 * limit here once the MST BW allocation is fixed.
8ca0b875c08258 Imre Deak 2023-09-21 78 */
8ca0b875c08258 Imre Deak 2023-09-21 79 link_bpp = crtc_state->pipe_bpp;
8ca0b875c08258 Imre Deak 2023-09-21 80
8ca0b875c08258 Imre Deak 2023-09-21 81 if (link_bpp > max_bpp) {
8ca0b875c08258 Imre Deak 2023-09-21 82 max_bpp = link_bpp;
8ca0b875c08258 Imre Deak 2023-09-21 83 max_bpp_pipe = crtc->pipe;
8ca0b875c08258 Imre Deak 2023-09-21 84 }
8ca0b875c08258 Imre Deak 2023-09-21 85 }
8ca0b875c08258 Imre Deak 2023-09-21 86
8ca0b875c08258 Imre Deak 2023-09-21 87 if (max_bpp_pipe == INVALID_PIPE)
8ca0b875c08258 Imre Deak 2023-09-21 88 return -ENOSPC;
8ca0b875c08258 Imre Deak 2023-09-21 89
8ca0b875c08258 Imre Deak 2023-09-21 90 limits->max_bpp_x16[max_bpp_pipe] = to_bpp_x16(max_bpp) - 1;
8ca0b875c08258 Imre Deak 2023-09-21 91
8ca0b875c08258 Imre Deak 2023-09-21 92 return intel_modeset_pipes_in_mask_early(state, reason,
8ca0b875c08258 Imre Deak 2023-09-21 93 BIT(max_bpp_pipe));
8ca0b875c08258 Imre Deak 2023-09-21 94 }
8ca0b875c08258 Imre Deak 2023-09-21 95
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Intel-gfx
mailing list