[Intel-gfx] [V9 3/4] drm/i915/dsi: Add TE handler for dsi cmd mode.
kernel test robot
lkp at intel.com
Wed Sep 9 12:30:47 UTC 2020
Hi Vandita,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-tip/drm-tip]
[also build test WARNING on v5.9-rc4 next-20200908]
[cannot apply to drm-intel/for-linux-next]
[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]
url: https://github.com/0day-ci/linux/commits/Vandita-Kulkarni/Add-support-for-mipi-dsi-cmd-mode/20200909-165807
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: i386-randconfig-s002-20200909 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/i915/i915_irq.c:2302:6: warning: no previous prototype for 'gen11_dsi_te_interrupt_handler' [-Wmissing-prototypes]
2302 | void gen11_dsi_te_interrupt_handler(struct drm_i915_private *dev_priv,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/i915_irq.c:2302:6: sparse: sparse: symbol 'gen11_dsi_te_interrupt_handler' was not declared. Should it be static?
Please review and possibly fold the followup patch.
# https://github.com/0day-ci/linux/commit/3b071e8b378aa99a24cedbc6d3525a17f8e203e5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vandita-Kulkarni/Add-support-for-mipi-dsi-cmd-mode/20200909-165807
git checkout 3b071e8b378aa99a24cedbc6d3525a17f8e203e5
vim +/gen11_dsi_te_interrupt_handler +2302 drivers/gpu/drm/i915/i915_irq.c
2301
> 2302 void gen11_dsi_te_interrupt_handler(struct drm_i915_private *dev_priv,
2303 u32 te_trigger)
2304 {
2305 enum pipe pipe = INVALID_PIPE;
2306 enum transcoder dsi_trans;
2307 enum port port;
2308 u32 val, tmp;
2309
2310 /*
2311 * Incase of dual link, TE comes from DSI_1
2312 * this is to check if dual link is enabled
2313 */
2314 val = I915_READ(TRANS_DDI_FUNC_CTL2(TRANSCODER_DSI_0));
2315 val &= PORT_SYNC_MODE_ENABLE;
2316
2317 /*
2318 * if dual link is enabled, then read DSI_0
2319 * transcoder registers
2320 */
2321 port = ((te_trigger & DSI1_TE && val) || (te_trigger & DSI0_TE)) ?
2322 PORT_A : PORT_B;
2323 dsi_trans = (port == PORT_A) ? TRANSCODER_DSI_0 : TRANSCODER_DSI_1;
2324
2325 /* Check if DSI configured in command mode */
2326 val = I915_READ(DSI_TRANS_FUNC_CONF(dsi_trans));
2327 val = val & OP_MODE_MASK;
2328
2329 if ((val != CMD_MODE_NO_GATE) && (val != CMD_MODE_TE_GATE)) {
2330 drm_err(&dev_priv->drm, "DSI trancoder not configured in command mode\n");
2331 return;
2332 }
2333
2334 /* Get PIPE for handling VBLANK event */
2335 val = I915_READ(TRANS_DDI_FUNC_CTL(dsi_trans));
2336 switch (val & TRANS_DDI_EDP_INPUT_MASK) {
2337 case TRANS_DDI_EDP_INPUT_A_ON:
2338 pipe = PIPE_A;
2339 break;
2340 case TRANS_DDI_EDP_INPUT_B_ONOFF:
2341 pipe = PIPE_B;
2342 break;
2343 case TRANS_DDI_EDP_INPUT_C_ONOFF:
2344 pipe = PIPE_C;
2345 break;
2346 default:
2347 drm_err(&dev_priv->drm, "Invalid PIPE\n");
2348 return;
2349 }
2350
2351 intel_handle_vblank(dev_priv, pipe);
2352
2353 /* clear TE in dsi IIR */
2354 port = (te_trigger & DSI1_TE) ? PORT_B : PORT_A;
2355 tmp = I915_READ(DSI_INTR_IDENT_REG(port));
2356 I915_WRITE(DSI_INTR_IDENT_REG(port), tmp);
2357
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 38704 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20200909/064886b5/attachment-0001.gz>
More information about the Intel-gfx
mailing list