From: kernel test robot <lkp@intel.com>
To: Tejas Upadhyay <tejas.upadhyay@intel.com>,
intel-gfx@lists.freedesktop.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [Intel-gfx] [PATCH] drm/i915/gt: Add workaround 14016712196
Date: Fri, 12 May 2023 15:49:16 +0800 [thread overview]
Message-ID: <202305121525.3EWdGoBY-lkp@intel.com> (raw)
In-Reply-To: <20230512052744.778113-1-tejas.upadhyay@intel.com>
Hi Tejas,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-tip/drm-tip]
url: https://github.com/intel-lab-lkp/linux/commits/Tejas-Upadhyay/drm-i915-gt-Add-workaround-14016712196/20230512-132314
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
patch link: https://lore.kernel.org/r/20230512052744.778113-1-tejas.upadhyay%40intel.com
patch subject: [Intel-gfx] [PATCH] drm/i915/gt: Add workaround 14016712196
config: i386-randconfig-a004 (https://download.01.org/0day-ci/archive/20230512/202305121525.3EWdGoBY-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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
# https://github.com/intel-lab-lkp/linux/commit/429038a73fb0b1cbcfa5b41e17d70e48d835d347
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Tejas-Upadhyay/drm-i915-gt-Add-workaround-14016712196/20230512-132314
git checkout 429038a73fb0b1cbcfa5b41e17d70e48d835d347
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpu/drm/i915/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305121525.3EWdGoBY-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/i915/gt/gen8_engine_cs.c:180:5: warning: no previous prototype for function 'mtl_dummy_pipe_control' [-Wmissing-prototypes]
int mtl_dummy_pipe_control(struct i915_request *rq, u32 *cs)
^
drivers/gpu/drm/i915/gt/gen8_engine_cs.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int mtl_dummy_pipe_control(struct i915_request *rq, u32 *cs)
^
static
>> drivers/gpu/drm/i915/gt/gen8_engine_cs.c:248:36: warning: variable 'cs' is uninitialized when used here [-Wuninitialized]
err = mtl_dummy_pipe_control(rq, cs);
^~
drivers/gpu/drm/i915/gt/gen8_engine_cs.c:245:10: note: initialize the variable 'cs' to silence this warning
u32 *cs, count;
^
= NULL
drivers/gpu/drm/i915/gt/gen8_engine_cs.c:210:36: warning: variable 'cs' is uninitialized when used here [-Wuninitialized]
err = mtl_dummy_pipe_control(rq, cs);
^~
drivers/gpu/drm/i915/gt/gen8_engine_cs.c:207:10: note: initialize the variable 'cs' to silence this warning
u32 *cs;
^
= NULL
3 warnings generated.
vim +/mtl_dummy_pipe_control +180 drivers/gpu/drm/i915/gt/gen8_engine_cs.c
179
> 180 int mtl_dummy_pipe_control(struct i915_request *rq, u32 *cs)
181 {
182 struct intel_engine_cs *engine = rq->engine;
183
184 if (IS_MTL_GRAPHICS_STEP(engine->i915, M, STEP_A0, STEP_B0) ||
185 IS_MTL_GRAPHICS_STEP(engine->i915, P, STEP_A0, STEP_B0)) {
186 /* dummy PIPE_CONTROL + depth flush */
187 cs = intel_ring_begin(rq, 6);
188 if (IS_ERR(cs))
189 return PTR_ERR(cs);
190 cs = gen12_emit_pipe_control(cs,
191 0,
192 PIPE_CONTROL_DEPTH_CACHE_FLUSH,
193 LRC_PPHWSP_SCRATCH_ADDR);
194 intel_ring_advance(rq, cs);
195 }
196
197 return 0;
198 }
199
200 int gen12_emit_flush_rcs(struct i915_request *rq, u32 mode)
201 {
202 struct intel_engine_cs *engine = rq->engine;
203 int err;
204
205 if (mode & EMIT_FLUSH) {
206 u32 flags = 0;
207 u32 *cs;
208
209 /* Wa_14016712196 */
210 err = mtl_dummy_pipe_control(rq, cs);
211 if (err)
212 return err;
213
214 flags |= PIPE_CONTROL_TILE_CACHE_FLUSH;
215 flags |= PIPE_CONTROL_FLUSH_L3;
216 flags |= PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH;
217 flags |= PIPE_CONTROL_DEPTH_CACHE_FLUSH;
218 /* Wa_1409600907:tgl,adl-p */
219 flags |= PIPE_CONTROL_DEPTH_STALL;
220 flags |= PIPE_CONTROL_DC_FLUSH_ENABLE;
221 flags |= PIPE_CONTROL_FLUSH_ENABLE;
222
223 flags |= PIPE_CONTROL_STORE_DATA_INDEX;
224 flags |= PIPE_CONTROL_QW_WRITE;
225
226 flags |= PIPE_CONTROL_CS_STALL;
227
228 if (!HAS_3D_PIPELINE(engine->i915))
229 flags &= ~PIPE_CONTROL_3D_ARCH_FLAGS;
230 else if (engine->class == COMPUTE_CLASS)
231 flags &= ~PIPE_CONTROL_3D_ENGINE_FLAGS;
232
233 cs = intel_ring_begin(rq, 6);
234 if (IS_ERR(cs))
235 return PTR_ERR(cs);
236
237 cs = gen12_emit_pipe_control(cs,
238 PIPE_CONTROL0_HDC_PIPELINE_FLUSH,
239 flags, LRC_PPHWSP_SCRATCH_ADDR);
240 intel_ring_advance(rq, cs);
241 }
242
243 if (mode & EMIT_INVALIDATE) {
244 u32 flags = 0;
245 u32 *cs, count;
246
247 /* Wa_14016712196 */
> 248 err = mtl_dummy_pipe_control(rq, cs);
249 if (err)
250 return err;
251
252 flags |= PIPE_CONTROL_COMMAND_CACHE_INVALIDATE;
253 flags |= PIPE_CONTROL_TLB_INVALIDATE;
254 flags |= PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE;
255 flags |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE;
256 flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE;
257 flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE;
258 flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE;
259
260 flags |= PIPE_CONTROL_STORE_DATA_INDEX;
261 flags |= PIPE_CONTROL_QW_WRITE;
262
263 flags |= PIPE_CONTROL_CS_STALL;
264
265 if (!HAS_3D_PIPELINE(engine->i915))
266 flags &= ~PIPE_CONTROL_3D_ARCH_FLAGS;
267 else if (engine->class == COMPUTE_CLASS)
268 flags &= ~PIPE_CONTROL_3D_ENGINE_FLAGS;
269
270 if (!HAS_FLAT_CCS(rq->engine->i915))
271 count = 8 + 4;
272 else
273 count = 8;
274
275 cs = intel_ring_begin(rq, count);
276 if (IS_ERR(cs))
277 return PTR_ERR(cs);
278
279 /*
280 * Prevent the pre-parser from skipping past the TLB
281 * invalidate and loading a stale page for the batch
282 * buffer / request payload.
283 */
284 *cs++ = preparser_disable(true);
285
286 cs = gen8_emit_pipe_control(cs, flags, LRC_PPHWSP_SCRATCH_ADDR);
287
288 if (!HAS_FLAT_CCS(rq->engine->i915)) {
289 /* hsdes: 1809175790 */
290 cs = gen12_emit_aux_table_inv(rq->engine->gt,
291 cs, GEN12_GFX_CCS_AUX_NV);
292 }
293
294 *cs++ = preparser_disable(false);
295 intel_ring_advance(rq, cs);
296 }
297
298 return 0;
299 }
300
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-05-12 7:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 5:27 [Intel-gfx] [PATCH] drm/i915/gt: Add workaround 14016712196 Tejas Upadhyay
2023-05-12 5:53 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
2023-05-12 7:49 ` kernel test robot [this message]
2023-05-12 7:51 ` [Intel-gfx] [PATCH] " kernel test robot
2023-05-12 8:32 ` kernel test robot
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=202305121525.3EWdGoBY-lkp@intel.com \
--to=lkp@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tejas.upadhyay@intel.com \
/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 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.