Hi Swapnil,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.8-rc6 next-20200721]
[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/Swapnil-Jakhade/drm-Add-support-for-Cadence-MHDP-DPI-DP-bridge-and-J721E-wrapper/20200722-154322
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 'cdns_mhdp_fw_activate':
>> drivers/gpu/drm/bridge/cdns-mhdp-core.c:765:10: warning: conversion from 
>> 'long unsigned int' to 'unsigned int' changes value from 
>> '18446744073709551613' to '4294967293' [-Woverflow]
     765 |   writel(~CDNS_APB_INT_MASK_SW_EVENT_INT,
   In file included from include/linux/bits.h:23,
                    from include/linux/bitops.h:5,
                    from include/linux/kernel.h:12,
                    from include/linux/clk.h:13,
                    from drivers/gpu/drm/bridge/cdns-mhdp-core.c:10:
   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 
'cdns_mhdp_link_training_init':
   include/linux/bits.h:26:28: warning: comparison of unsigned expression < 0 
is always false [-Wtype-limits]
      26 |   __builtin_constant_p((l) > (h)), (l) > (h), 0)))
         |                            ^
   include/linux/build_bug.h:16:62: note: in definition of macro 
'BUILD_BUG_ON_ZERO'
      16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); 
})))
         |                                                              ^
   include/linux/bits.h:39:3: note: in expansion of macro 'GENMASK_INPUT_CHECK'
      39 |  (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
         |   ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.h:116:35: note: in expansion of macro 
'GENMASK'
     116 | #define CDNS_DP_LANE_EN_LANES(x)  GENMASK((x) - 1, 0)
         |                                   ^~~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:888:8: note: in expansion of macro 
'CDNS_DP_LANE_EN_LANES'
     888 |        CDNS_DP_LANE_EN_LANES(mhdp->link.num_lanes));
         |        ^~~~~~~~~~~~~~~~~~~~~
   include/linux/bits.h:26:40: warning: comparison of unsigned expression < 0 
is always false [-Wtype-limits]
      26 |   __builtin_constant_p((l) > (h)), (l) > (h), 0)))
         |                                        ^
   include/linux/build_bug.h:16:62: note: in definition of macro 
'BUILD_BUG_ON_ZERO'
      16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); 
})))
         |                                                              ^
   include/linux/bits.h:39:3: note: in expansion of macro 'GENMASK_INPUT_CHECK'
      39 |  (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
         |   ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.h:116:35: note: in expansion of macro 
'GENMASK'
     116 | #define CDNS_DP_LANE_EN_LANES(x)  GENMASK((x) - 1, 0)
         |                                   ^~~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:888:8: note: in expansion of macro 
'CDNS_DP_LANE_EN_LANES'
     888 |        CDNS_DP_LANE_EN_LANES(mhdp->link.num_lanes));
         |        ^~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 
'cdns_mhdp_fill_host_caps':
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:1378:2: error: implicit declaration 
of function 'phy_get_attrs'; did you mean 'vfs_getattr'? 
[-Werror=implicit-function-declaration]
    1378 |  phy_get_attrs(mhdp->phy, &attrs);
         |  ^~~~~~~~~~~~~
         |  vfs_getattr
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:1384:19: error: 'struct phy_attrs' 
has no member named 'max_link_rate'
    1384 |  link_rate = attrs.max_link_rate;
         |                   ^
   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 'cdns_mhdp_attach':
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:1709:10: warning: conversion from 
'long unsigned int' to 'unsigned int' changes value from '18446744073709551613' 
to '4294967293' [-Woverflow]
    1709 |   writel(~CDNS_APB_INT_MASK_SW_EVENT_INT,
   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 
'cdns_mhdp_validate_mode_params':
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:2077:16: warning: variable 'pxlfmt' 
set but not used [-Wunused-but-set-variable]
    2077 |  u32 bpp, bpc, pxlfmt;
         |                ^~~~~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:2077:11: warning: variable 'bpc' set 
but not used [-Wunused-but-set-variable]
    2077 |  u32 bpp, bpc, pxlfmt;
         |           ^~~
   drivers/gpu/drm/bridge/cdns-mhdp-core.c: In function 'cdns_mhdp_irq_handler':
   drivers/gpu/drm/bridge/cdns-mhdp-core.c:2285:6: warning: variable 'apb_stat' 
set but not used [-Wunused-but-set-variable]
    2285 |  u32 apb_stat, sw_ev0;
         |      ^~~~~~~~
   cc1: some warnings being treated as errors

vim +765 drivers/gpu/drm/bridge/cdns-mhdp-core.c

   686  
   687  static int cdns_mhdp_fw_activate(const struct firmware *fw,
   688                                   struct cdns_mhdp_device *mhdp)
   689  {
   690          unsigned int reg;
   691          int ret = 0;
   692  
   693          dev_dbg(mhdp->dev, "%s\n", __func__);
   694  
   695          if (!fw || !fw->data) {
   696                  dev_err(mhdp->dev, "%s: No firmware.\n", __func__);
   697                  return -EINVAL;
   698          }
   699  
   700          spin_lock(&mhdp->start_lock);
   701          if (mhdp->hw_state != MHDP_HW_INACTIVE) {
   702                  spin_unlock(&mhdp->start_lock);
   703                  if (mhdp->hw_state != MHDP_HW_STOPPED)
   704                          dev_err(mhdp->dev, "%s: Bad HW state: %d\n",
   705                                  __func__, mhdp->hw_state);
   706                  return -EBUSY;
   707          }
   708          mhdp->hw_state = MHDP_HW_LOADING;
   709          spin_unlock(&mhdp->start_lock);
   710  
   711          /* Release uCPU reset and stall it. */
   712          writel(CDNS_CPU_STALL, mhdp->regs + CDNS_APB_CTRL);
   713  
   714          memcpy_toio(mhdp->regs + CDNS_MHDP_IMEM, fw->data, fw->size);
   715  
   716          /* Leave debug mode, release stall */
   717          writel(0, mhdp->regs + CDNS_APB_CTRL);
   718  
   719          /*
   720           * Wait for the KEEP_ALIVE "message" on the first 8 bits.
   721           * Updated each sched "tick" (~2ms)
   722           */
   723          ret = readl_poll_timeout(mhdp->regs + CDNS_KEEP_ALIVE, reg,
   724                                   reg & CDNS_KEEP_ALIVE_MASK, 500,
   725                                   CDNS_KEEP_ALIVE_TIMEOUT);
   726          if (ret) {
   727                  dev_err(mhdp->dev,
   728                          "device didn't give any life sign: reg %d\n", 
reg);
   729                  goto error;
   730          }
   731  
   732          ret = cdns_mhdp_check_fw_version(mhdp);
   733          if (ret)
   734                  goto error;
   735  
   736          /* Init events to 0 as it's not cleared by FW at boot but on 
read */
   737          readl(mhdp->regs + CDNS_SW_EVENT0);
   738          readl(mhdp->regs + CDNS_SW_EVENT1);
   739          readl(mhdp->regs + CDNS_SW_EVENT2);
   740          readl(mhdp->regs + CDNS_SW_EVENT3);
   741  
   742          /* Activate uCPU */
   743          ret = cdns_mhdp_set_firmware_active(mhdp, true);
   744          if (ret) {
   745                  dev_err(mhdp->dev, "%s: Failed to activate FW: %d\n",
   746                          __func__, ret);
   747                  goto error;
   748          }
   749  
   750          spin_lock(&mhdp->start_lock);
   751  
   752          mhdp->hw_state = MHDP_HW_READY;
   753          wake_up(&fw_load_wq);
   754          /*
   755           * Here we must keep the lock while enabling the interrupts
   756           * since it would otherwise be possible that interrupt enable
   757           * code is executed after the bridge is detached. The similar
   758           * situation is not possible in attach()/detach() callbacks
   759           * since the hw_state changes from MHDP_HW_READY to
   760           * MHDP_HW_STOPPED happens only due to driver removal when
   761           * bridge should already be detached.
   762           */
   763          if (mhdp->bridge_attached)
   764                  /* enable SW event interrupts */
 > 765                  writel(~CDNS_APB_INT_MASK_SW_EVENT_INT,
   766                         mhdp->regs + CDNS_APB_INT_MASK);
   767  
   768          spin_unlock(&mhdp->start_lock);
   769  
   770          dev_dbg(mhdp->dev, "DP FW activated\n");
   771  
   772          return 0;
   773  error:
   774          spin_lock(&mhdp->start_lock);
   775          mhdp->hw_state = MHDP_HW_INACTIVE;
   776          spin_unlock(&mhdp->start_lock);
   777  
   778          return ret;
   779  }
   780  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to