All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 9606/13554] drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:968:31: warning: variable 'num_dspp' set but not used
@ 2020-05-29  2:41 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-29  2:41 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6510 bytes --]

Hi Kalyan,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   ff387fc20c697cdc887b2abf7ef494e853795a2f
commit: e47616df008b1059c57892fb34883403a6933231 [9606/13554] drm/msm/dpu: add support for color processing blocks in dpu driver
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout e47616df008b1059c57892fb34883403a6933231
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_mode_set':
>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:968:31: warning: variable 'num_dspp' set but not used [-Wunused-but-set-variable]
968 |  int num_lm, num_ctl, num_pp, num_dspp;
|                               ^~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:963:30: warning: variable 'topology' set but not used [-Wunused-but-set-variable]
963 |  struct msm_display_topology topology;
|                              ^~~~~~~~

vim +/num_dspp +968 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c

   950	
   951	static void dpu_encoder_virt_mode_set(struct drm_encoder *drm_enc,
   952					      struct drm_display_mode *mode,
   953					      struct drm_display_mode *adj_mode)
   954	{
   955		struct dpu_encoder_virt *dpu_enc;
   956		struct msm_drm_private *priv;
   957		struct dpu_kms *dpu_kms;
   958		struct list_head *connector_list;
   959		struct drm_connector *conn = NULL, *conn_iter;
   960		struct drm_crtc *drm_crtc;
   961		struct dpu_crtc_state *cstate;
   962		struct dpu_global_state *global_state;
   963		struct msm_display_topology topology;
   964		struct dpu_hw_blk *hw_pp[MAX_CHANNELS_PER_ENC];
   965		struct dpu_hw_blk *hw_ctl[MAX_CHANNELS_PER_ENC];
   966		struct dpu_hw_blk *hw_lm[MAX_CHANNELS_PER_ENC];
   967		struct dpu_hw_blk *hw_dspp[MAX_CHANNELS_PER_ENC] = { NULL };
 > 968		int num_lm, num_ctl, num_pp, num_dspp;
   969		int i, j;
   970	
   971		if (!drm_enc) {
   972			DPU_ERROR("invalid encoder\n");
   973			return;
   974		}
   975	
   976		dpu_enc = to_dpu_encoder_virt(drm_enc);
   977		DPU_DEBUG_ENC(dpu_enc, "\n");
   978	
   979		priv = drm_enc->dev->dev_private;
   980		dpu_kms = to_dpu_kms(priv->kms);
   981		connector_list = &dpu_kms->dev->mode_config.connector_list;
   982	
   983		global_state = dpu_kms_get_existing_global_state(dpu_kms);
   984		if (IS_ERR_OR_NULL(global_state)) {
   985			DPU_ERROR("Failed to get global state");
   986			return;
   987		}
   988	
   989		trace_dpu_enc_mode_set(DRMID(drm_enc));
   990	
   991		list_for_each_entry(conn_iter, connector_list, head)
   992			if (conn_iter->encoder == drm_enc)
   993				conn = conn_iter;
   994	
   995		if (!conn) {
   996			DPU_ERROR_ENC(dpu_enc, "failed to find attached connector\n");
   997			return;
   998		} else if (!conn->state) {
   999			DPU_ERROR_ENC(dpu_enc, "invalid connector state\n");
  1000			return;
  1001		}
  1002	
  1003		drm_for_each_crtc(drm_crtc, drm_enc->dev)
  1004			if (drm_crtc->state->encoder_mask & drm_encoder_mask(drm_enc))
  1005				break;
  1006	
  1007		topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode);
  1008	
  1009		/* Query resource that have been reserved in atomic check step. */
  1010		num_pp = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
  1011			drm_enc->base.id, DPU_HW_BLK_PINGPONG, hw_pp,
  1012			ARRAY_SIZE(hw_pp));
  1013		num_ctl = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
  1014			drm_enc->base.id, DPU_HW_BLK_CTL, hw_ctl, ARRAY_SIZE(hw_ctl));
  1015		num_lm = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
  1016			drm_enc->base.id, DPU_HW_BLK_LM, hw_lm, ARRAY_SIZE(hw_lm));
  1017		num_dspp = dpu_rm_get_assigned_resources(&dpu_kms->rm, global_state,
  1018			drm_enc->base.id, DPU_HW_BLK_DSPP, hw_dspp,
  1019			ARRAY_SIZE(hw_dspp));
  1020	
  1021		for (i = 0; i < MAX_CHANNELS_PER_ENC; i++)
  1022			dpu_enc->hw_pp[i] = i < num_pp ? to_dpu_hw_pingpong(hw_pp[i])
  1023							: NULL;
  1024	
  1025		cstate = to_dpu_crtc_state(drm_crtc->state);
  1026	
  1027		for (i = 0; i < num_lm; i++) {
  1028			int ctl_idx = (i < num_ctl) ? i : (num_ctl-1);
  1029	
  1030			cstate->mixers[i].hw_lm = to_dpu_hw_mixer(hw_lm[i]);
  1031			cstate->mixers[i].lm_ctl = to_dpu_hw_ctl(hw_ctl[ctl_idx]);
  1032			cstate->mixers[i].hw_dspp = to_dpu_hw_dspp(hw_dspp[i]);
  1033		}
  1034	
  1035		cstate->num_mixers = num_lm;
  1036	
  1037		for (i = 0; i < dpu_enc->num_phys_encs; i++) {
  1038			int num_blk;
  1039			struct dpu_hw_blk *hw_blk[MAX_CHANNELS_PER_ENC];
  1040			struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i];
  1041	
  1042			if (!dpu_enc->hw_pp[i]) {
  1043				DPU_ERROR_ENC(dpu_enc,
  1044					"no pp block assigned at idx: %d\n", i);
  1045				return;
  1046			}
  1047	
  1048			if (!hw_ctl[i]) {
  1049				DPU_ERROR_ENC(dpu_enc,
  1050					"no ctl block assigned at idx: %d\n", i);
  1051				return;
  1052			}
  1053	
  1054			phys->hw_pp = dpu_enc->hw_pp[i];
  1055			phys->hw_ctl = to_dpu_hw_ctl(hw_ctl[i]);
  1056	
  1057			num_blk = dpu_rm_get_assigned_resources(&dpu_kms->rm,
  1058				global_state, drm_enc->base.id, DPU_HW_BLK_INTF,
  1059				hw_blk, ARRAY_SIZE(hw_blk));
  1060			for (j = 0; j < num_blk; j++) {
  1061				struct dpu_hw_intf *hw_intf;
  1062	
  1063				hw_intf = to_dpu_hw_intf(hw_blk[i]);
  1064				if (hw_intf->idx == phys->intf_idx)
  1065					phys->hw_intf = hw_intf;
  1066			}
  1067	
  1068			if (!phys->hw_intf) {
  1069				DPU_ERROR_ENC(dpu_enc,
  1070					      "no intf block assigned at idx: %d\n", i);
  1071				return;
  1072			}
  1073	
  1074			phys->connector = conn->state->connector;
  1075			if (phys->ops.mode_set)
  1076				phys->ops.mode_set(phys, mode, adj_mode);
  1077		}
  1078	}
  1079	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 71764 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-29  2:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-29  2:41 [linux-next:master 9606/13554] drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:968:31: warning: variable 'num_dspp' set but not used kbuild 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.