devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Swapnil Jakhade <sjakhade@cadence.com>,
	airlied@linux.ie, daniel@ffwll.ch,
	Laurent.pinchart@ideasonboard.com, robh+dt@kernel.org,
	a.hajda@samsung.com, narmstrong@baylibre.com, jonas@kwiboo.se,
	jernej.skrabec@siol.net, dri-devel@lists.freedesktop.org,
	devicetree@vger.kernel.org
Cc: kbuild-all@lists.01.org
Subject: Re: [PATCH v7 2/3] drm: bridge: Add support for Cadence MHDP DPI/DP bridge
Date: Wed, 22 Jul 2020 19:43:16 +0800	[thread overview]
Message-ID: <202007221900.njOmmww1%lkp@intel.com> (raw)
In-Reply-To: <1595403640-12816-3-git-send-email-sjakhade@cadence.com>

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

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 <lkp@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-all@lists.01.org

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

  reply	other threads:[~2020-07-22 12:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-22  7:40 [PATCH v7 0/3] drm: Add support for Cadence MHDP DPI/DP bridge and J721E wrapper Swapnil Jakhade
2020-07-22  7:40 ` [PATCH v7 1/3] dt-bindings: drm/bridge: Document Cadence MHDP bridge bindings Swapnil Jakhade
2020-07-23 15:33   ` Rob Herring
2020-07-23 15:33   ` Rob Herring
2020-07-26 17:28   ` Sam Ravnborg
2020-07-22  7:40 ` [PATCH v7 2/3] drm: bridge: Add support for Cadence MHDP DPI/DP bridge Swapnil Jakhade
2020-07-22 11:43   ` kernel test robot [this message]
2020-07-22 11:51   ` Laurent Pinchart
2020-07-22 21:25   ` kernel test robot
2020-07-26 17:44   ` Sam Ravnborg
2020-07-22  7:40 ` [PATCH v7 3/3] drm: bridge: cdns-mhdp: Add j721e wrapper Swapnil Jakhade
2020-07-26 17:50   ` Sam Ravnborg

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=202007221900.njOmmww1%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kbuild-all@lists.01.org \
    --cc=narmstrong@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sjakhade@cadence.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).