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 --]
next prev parent 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).