From: kernel test robot <lkp@intel.com>
To: Alim Akhtar <alim.akhtar@samsung.com>, vkoul@kernel.org
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
robh+dt@kernel.org, krzk@kernel.org, kwmad.kim@samsung.com,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
kishon@ti.com, Alim Akhtar <alim.akhtar@samsung.com>
Subject: Re: [RESEND PATCH v10 2/2] phy: samsung-ufs: add UFS PHY driver for samsung SoC
Date: Sun, 28 Jun 2020 16:32:19 +0800 [thread overview]
Message-ID: <202006281648.YTe3Lpsx%lkp@intel.com> (raw)
In-Reply-To: <20200624235631.11232-2-alim.akhtar@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 5207 bytes --]
Hi Alim,
I love your patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on soc/for-next linus/master v5.8-rc2 next-20200626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alim-Akhtar/dt-bindings-phy-Document-Samsung-UFS-PHY-bindings/20200625-081802
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r014-20200628 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 8cd117c24f48428e01f88cf18480e5af7eb20c0c)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
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/phy/samsung/phy-samsung-ufs.c:47:5: warning: no previous prototype for function 'samsung_ufs_phy_wait_for_lock_acq' [-Wmissing-prototypes]
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:47:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
static
>> drivers/phy/samsung/phy-samsung-ufs.c:77:5: warning: no previous prototype for function 'samsung_ufs_phy_calibrate' [-Wmissing-prototypes]
int samsung_ufs_phy_calibrate(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_calibrate(struct phy *phy)
^
static
2 warnings generated.
vim +/samsung_ufs_phy_wait_for_lock_acq +47 drivers/phy/samsung/phy-samsung-ufs.c
46
> 47 int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
48 {
49 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
50 const unsigned int timeout_us = 100000;
51 const unsigned int sleep_us = 10;
52 u32 val;
53 int err;
54
55 err = readl_poll_timeout(
56 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_PLL_LOCK_STATUS),
57 val, (val & PHY_PLL_LOCK_BIT), sleep_us, timeout_us);
58 if (err) {
59 dev_err(ufs_phy->dev,
60 "failed to get phy pll lock acquisition %d\n", err);
61 goto out;
62 }
63
64 err = readl_poll_timeout(
65 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_CDR_LOCK_STATUS),
66 val, (val & PHY_CDR_LOCK_BIT), sleep_us, timeout_us);
67 if (err) {
68 dev_err(ufs_phy->dev,
69 "failed to get phy cdr lock acquisition %d\n", err);
70 goto out;
71 }
72
73 out:
74 return err;
75 }
76
> 77 int samsung_ufs_phy_calibrate(struct phy *phy)
78 {
79 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
80 struct samsung_ufs_phy_cfg **cfgs = ufs_phy->cfg;
81 const struct samsung_ufs_phy_cfg *cfg;
82 int i;
83 int err = 0;
84
85 if (unlikely(ufs_phy->ufs_phy_state < CFG_PRE_INIT ||
86 ufs_phy->ufs_phy_state >= CFG_TAG_MAX)) {
87 dev_err(ufs_phy->dev, "invalid phy config index %d\n",
88 ufs_phy->ufs_phy_state);
89 return -EINVAL;
90 }
91
92 if (ufs_phy->is_pre_init)
93 ufs_phy->is_pre_init = false;
94 if (ufs_phy->is_post_init) {
95 ufs_phy->is_post_init = false;
96 ufs_phy->ufs_phy_state = CFG_POST_INIT;
97 }
98 if (ufs_phy->is_pre_pmc) {
99 ufs_phy->is_pre_pmc = false;
100 ufs_phy->ufs_phy_state = CFG_PRE_PWR_HS;
101 }
102 if (ufs_phy->is_post_pmc) {
103 ufs_phy->is_post_pmc = false;
104 ufs_phy->ufs_phy_state = CFG_POST_PWR_HS;
105 }
106
107 switch (ufs_phy->ufs_phy_state) {
108 case CFG_PRE_INIT:
109 ufs_phy->is_post_init = true;
110 break;
111 case CFG_POST_INIT:
112 ufs_phy->is_pre_pmc = true;
113 break;
114 case CFG_PRE_PWR_HS:
115 ufs_phy->is_post_pmc = true;
116 break;
117 case CFG_POST_PWR_HS:
118 break;
119 default:
120 dev_err(ufs_phy->dev, "wrong state for phy calibration\n");
121 }
122
123 cfg = cfgs[ufs_phy->ufs_phy_state];
124 if (!cfg)
125 goto out;
126
127 for_each_phy_cfg(cfg) {
128 for_each_phy_lane(ufs_phy, i) {
129 samsung_ufs_phy_config(ufs_phy, cfg, i);
130 }
131 }
132
133 if (ufs_phy->ufs_phy_state == CFG_POST_PWR_HS)
134 err = samsung_ufs_phy_wait_for_lock_acq(phy);
135 out:
136 return err;
137 }
138
---
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: 38512 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Alim Akhtar <alim.akhtar@samsung.com>, vkoul@kernel.org
Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
krzk@kernel.org, kwmad.kim@samsung.com,
clang-built-linux@googlegroups.com, robh+dt@kernel.org,
Alim Akhtar <alim.akhtar@samsung.com>,
kishon@ti.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH v10 2/2] phy: samsung-ufs: add UFS PHY driver for samsung SoC
Date: Sun, 28 Jun 2020 16:32:19 +0800 [thread overview]
Message-ID: <202006281648.YTe3Lpsx%lkp@intel.com> (raw)
In-Reply-To: <20200624235631.11232-2-alim.akhtar@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 5207 bytes --]
Hi Alim,
I love your patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on soc/for-next linus/master v5.8-rc2 next-20200626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alim-Akhtar/dt-bindings-phy-Document-Samsung-UFS-PHY-bindings/20200625-081802
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r014-20200628 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 8cd117c24f48428e01f88cf18480e5af7eb20c0c)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
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/phy/samsung/phy-samsung-ufs.c:47:5: warning: no previous prototype for function 'samsung_ufs_phy_wait_for_lock_acq' [-Wmissing-prototypes]
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:47:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
static
>> drivers/phy/samsung/phy-samsung-ufs.c:77:5: warning: no previous prototype for function 'samsung_ufs_phy_calibrate' [-Wmissing-prototypes]
int samsung_ufs_phy_calibrate(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_calibrate(struct phy *phy)
^
static
2 warnings generated.
vim +/samsung_ufs_phy_wait_for_lock_acq +47 drivers/phy/samsung/phy-samsung-ufs.c
46
> 47 int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
48 {
49 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
50 const unsigned int timeout_us = 100000;
51 const unsigned int sleep_us = 10;
52 u32 val;
53 int err;
54
55 err = readl_poll_timeout(
56 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_PLL_LOCK_STATUS),
57 val, (val & PHY_PLL_LOCK_BIT), sleep_us, timeout_us);
58 if (err) {
59 dev_err(ufs_phy->dev,
60 "failed to get phy pll lock acquisition %d\n", err);
61 goto out;
62 }
63
64 err = readl_poll_timeout(
65 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_CDR_LOCK_STATUS),
66 val, (val & PHY_CDR_LOCK_BIT), sleep_us, timeout_us);
67 if (err) {
68 dev_err(ufs_phy->dev,
69 "failed to get phy cdr lock acquisition %d\n", err);
70 goto out;
71 }
72
73 out:
74 return err;
75 }
76
> 77 int samsung_ufs_phy_calibrate(struct phy *phy)
78 {
79 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
80 struct samsung_ufs_phy_cfg **cfgs = ufs_phy->cfg;
81 const struct samsung_ufs_phy_cfg *cfg;
82 int i;
83 int err = 0;
84
85 if (unlikely(ufs_phy->ufs_phy_state < CFG_PRE_INIT ||
86 ufs_phy->ufs_phy_state >= CFG_TAG_MAX)) {
87 dev_err(ufs_phy->dev, "invalid phy config index %d\n",
88 ufs_phy->ufs_phy_state);
89 return -EINVAL;
90 }
91
92 if (ufs_phy->is_pre_init)
93 ufs_phy->is_pre_init = false;
94 if (ufs_phy->is_post_init) {
95 ufs_phy->is_post_init = false;
96 ufs_phy->ufs_phy_state = CFG_POST_INIT;
97 }
98 if (ufs_phy->is_pre_pmc) {
99 ufs_phy->is_pre_pmc = false;
100 ufs_phy->ufs_phy_state = CFG_PRE_PWR_HS;
101 }
102 if (ufs_phy->is_post_pmc) {
103 ufs_phy->is_post_pmc = false;
104 ufs_phy->ufs_phy_state = CFG_POST_PWR_HS;
105 }
106
107 switch (ufs_phy->ufs_phy_state) {
108 case CFG_PRE_INIT:
109 ufs_phy->is_post_init = true;
110 break;
111 case CFG_POST_INIT:
112 ufs_phy->is_pre_pmc = true;
113 break;
114 case CFG_PRE_PWR_HS:
115 ufs_phy->is_post_pmc = true;
116 break;
117 case CFG_POST_PWR_HS:
118 break;
119 default:
120 dev_err(ufs_phy->dev, "wrong state for phy calibration\n");
121 }
122
123 cfg = cfgs[ufs_phy->ufs_phy_state];
124 if (!cfg)
125 goto out;
126
127 for_each_phy_cfg(cfg) {
128 for_each_phy_lane(ufs_phy, i) {
129 samsung_ufs_phy_config(ufs_phy, cfg, i);
130 }
131 }
132
133 if (ufs_phy->ufs_phy_state == CFG_POST_PWR_HS)
134 err = samsung_ufs_phy_wait_for_lock_acq(phy);
135 out:
136 return err;
137 }
138
---
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: 38512 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RESEND PATCH v10 2/2] phy: samsung-ufs: add UFS PHY driver for samsung SoC
Date: Sun, 28 Jun 2020 16:32:19 +0800 [thread overview]
Message-ID: <202006281648.YTe3Lpsx%lkp@intel.com> (raw)
In-Reply-To: <20200624235631.11232-2-alim.akhtar@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 5351 bytes --]
Hi Alim,
I love your patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on soc/for-next linus/master v5.8-rc2 next-20200626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alim-Akhtar/dt-bindings-phy-Document-Samsung-UFS-PHY-bindings/20200625-081802
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r014-20200628 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 8cd117c24f48428e01f88cf18480e5af7eb20c0c)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
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/phy/samsung/phy-samsung-ufs.c:47:5: warning: no previous prototype for function 'samsung_ufs_phy_wait_for_lock_acq' [-Wmissing-prototypes]
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:47:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
^
static
>> drivers/phy/samsung/phy-samsung-ufs.c:77:5: warning: no previous prototype for function 'samsung_ufs_phy_calibrate' [-Wmissing-prototypes]
int samsung_ufs_phy_calibrate(struct phy *phy)
^
drivers/phy/samsung/phy-samsung-ufs.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int samsung_ufs_phy_calibrate(struct phy *phy)
^
static
2 warnings generated.
vim +/samsung_ufs_phy_wait_for_lock_acq +47 drivers/phy/samsung/phy-samsung-ufs.c
46
> 47 int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy)
48 {
49 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
50 const unsigned int timeout_us = 100000;
51 const unsigned int sleep_us = 10;
52 u32 val;
53 int err;
54
55 err = readl_poll_timeout(
56 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_PLL_LOCK_STATUS),
57 val, (val & PHY_PLL_LOCK_BIT), sleep_us, timeout_us);
58 if (err) {
59 dev_err(ufs_phy->dev,
60 "failed to get phy pll lock acquisition %d\n", err);
61 goto out;
62 }
63
64 err = readl_poll_timeout(
65 ufs_phy->reg_pma + PHY_APB_ADDR(PHY_CDR_LOCK_STATUS),
66 val, (val & PHY_CDR_LOCK_BIT), sleep_us, timeout_us);
67 if (err) {
68 dev_err(ufs_phy->dev,
69 "failed to get phy cdr lock acquisition %d\n", err);
70 goto out;
71 }
72
73 out:
74 return err;
75 }
76
> 77 int samsung_ufs_phy_calibrate(struct phy *phy)
78 {
79 struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
80 struct samsung_ufs_phy_cfg **cfgs = ufs_phy->cfg;
81 const struct samsung_ufs_phy_cfg *cfg;
82 int i;
83 int err = 0;
84
85 if (unlikely(ufs_phy->ufs_phy_state < CFG_PRE_INIT ||
86 ufs_phy->ufs_phy_state >= CFG_TAG_MAX)) {
87 dev_err(ufs_phy->dev, "invalid phy config index %d\n",
88 ufs_phy->ufs_phy_state);
89 return -EINVAL;
90 }
91
92 if (ufs_phy->is_pre_init)
93 ufs_phy->is_pre_init = false;
94 if (ufs_phy->is_post_init) {
95 ufs_phy->is_post_init = false;
96 ufs_phy->ufs_phy_state = CFG_POST_INIT;
97 }
98 if (ufs_phy->is_pre_pmc) {
99 ufs_phy->is_pre_pmc = false;
100 ufs_phy->ufs_phy_state = CFG_PRE_PWR_HS;
101 }
102 if (ufs_phy->is_post_pmc) {
103 ufs_phy->is_post_pmc = false;
104 ufs_phy->ufs_phy_state = CFG_POST_PWR_HS;
105 }
106
107 switch (ufs_phy->ufs_phy_state) {
108 case CFG_PRE_INIT:
109 ufs_phy->is_post_init = true;
110 break;
111 case CFG_POST_INIT:
112 ufs_phy->is_pre_pmc = true;
113 break;
114 case CFG_PRE_PWR_HS:
115 ufs_phy->is_post_pmc = true;
116 break;
117 case CFG_POST_PWR_HS:
118 break;
119 default:
120 dev_err(ufs_phy->dev, "wrong state for phy calibration\n");
121 }
122
123 cfg = cfgs[ufs_phy->ufs_phy_state];
124 if (!cfg)
125 goto out;
126
127 for_each_phy_cfg(cfg) {
128 for_each_phy_lane(ufs_phy, i) {
129 samsung_ufs_phy_config(ufs_phy, cfg, i);
130 }
131 }
132
133 if (ufs_phy->ufs_phy_state == CFG_POST_PWR_HS)
134 err = samsung_ufs_phy_wait_for_lock_acq(phy);
135 out:
136 return err;
137 }
138
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38512 bytes --]
next prev parent reply other threads:[~2020-06-28 8:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20200625001543epcas5p2d1f9f7f7de574cac6db4157ca2ec1eec@epcas5p2.samsung.com>
2020-06-24 23:56 ` [RESEND PATCH v10 1/2] dt-bindings: phy: Document Samsung UFS PHY bindings Alim Akhtar
2020-06-24 23:56 ` Alim Akhtar
2020-06-24 23:56 ` [RESEND PATCH v10 2/2] phy: samsung-ufs: add UFS PHY driver for samsung SoC Alim Akhtar
2020-06-24 23:56 ` Alim Akhtar
2020-06-28 8:32 ` kernel test robot [this message]
2020-06-28 8:32 ` kernel test robot
2020-06-28 8:32 ` kernel test robot
2020-07-01 6:53 ` Vinod Koul
2020-07-01 6:53 ` Vinod Koul
2020-07-03 1:27 ` Alim Akhtar
2020-07-03 1:27 ` Alim Akhtar
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=202006281648.YTe3Lpsx%lkp@intel.com \
--to=lkp@intel.com \
--cc=alim.akhtar@samsung.com \
--cc=clang-built-linux@googlegroups.com \
--cc=devicetree@vger.kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=kishon@ti.com \
--cc=krzk@kernel.org \
--cc=kwmad.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=vkoul@kernel.org \
/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.