From: kernel test robot <lkp@intel.com>
To: Fei Shao <fshao@chromium.org>, Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, Fei Shao <fshao@chromium.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org
Subject: Re: [PATCH] drm/mediatek: dp: Support flexible length of DP calibration data
Date: Wed, 4 Dec 2024 21:10:42 +0800 [thread overview]
Message-ID: <202412042020.FZmfgvza-lkp@intel.com> (raw)
In-Reply-To: <20241204053634.1365491-1-fshao@chromium.org>
Hi Fei,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.13-rc1 next-20241203]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Fei-Shao/drm-mediatek-dp-Support-flexible-length-of-DP-calibration-data/20241204-133854
base: linus/master
patch link: https://lore.kernel.org/r/20241204053634.1365491-1-fshao%40chromium.org
patch subject: [PATCH] drm/mediatek: dp: Support flexible length of DP calibration data
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20241204/202412042020.FZmfgvza-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241204/202412042020.FZmfgvza-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412042020.FZmfgvza-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/drm/display/drm_dp_aux_bus.h:13,
from drivers/gpu/drm/mediatek/mtk_dp.c:7:
drivers/gpu/drm/mediatek/mtk_dp.c: In function 'mtk_dp_get_calibration_data':
>> drivers/gpu/drm/mediatek/mtk_dp.c:1181:34: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
1181 | "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:156:61: note: in expansion of macro 'dev_fmt'
156 | dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/gpu/drm/mediatek/mtk_dp.c:1180:25: note: in expansion of macro 'dev_warn'
1180 | dev_warn(mtk_dp->dev,
| ^~~~~~~~
drivers/gpu/drm/mediatek/mtk_dp.c:1181:93: note: format string is defined here
1181 | "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
| ~~^
| |
| long unsigned int
| %u
vim +1181 drivers/gpu/drm/mediatek/mtk_dp.c
1148
1149 static void mtk_dp_get_calibration_data(struct mtk_dp *mtk_dp)
1150 {
1151 const struct mtk_dp_efuse_fmt *fmt;
1152 struct device *dev = mtk_dp->dev;
1153 struct nvmem_cell *cell;
1154 u32 *cal_data = mtk_dp->cal_data;
1155 u32 *buf;
1156 int i;
1157 size_t len;
1158
1159 cell = nvmem_cell_get(dev, "dp_calibration_data");
1160 if (IS_ERR(cell)) {
1161 dev_warn(dev, "Failed to get nvmem cell dp_calibration_data\n");
1162 goto use_default_val;
1163 }
1164
1165 buf = (u32 *)nvmem_cell_read(cell, &len);
1166 nvmem_cell_put(cell);
1167
1168 if (IS_ERR(buf)) {
1169 dev_warn(dev, "Failed to read nvmem_cell_read\n");
1170 goto use_default_val;
1171 }
1172
1173 /* The cell length is in bytes. Convert it to be compatible with u32 buffer. */
1174 len /= sizeof(u32);
1175
1176 for (i = 0; i < MTK_DP_CAL_MAX; i++) {
1177 fmt = &mtk_dp->data->efuse_fmt[i];
1178
1179 if (fmt->idx >= len) {
1180 dev_warn(mtk_dp->dev,
> 1181 "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
1182 fmt->idx, len);
1183 kfree(buf);
1184 goto use_default_val;
1185 }
1186
1187 cal_data[i] = (buf[fmt->idx] >> fmt->shift) & fmt->mask;
1188
1189 if (cal_data[i] < fmt->min_val || cal_data[i] > fmt->max_val) {
1190 dev_warn(mtk_dp->dev, "Invalid efuse data, idx = %d\n", i);
1191 kfree(buf);
1192 goto use_default_val;
1193 }
1194 }
1195 kfree(buf);
1196
1197 return;
1198
1199 use_default_val:
1200 dev_warn(mtk_dp->dev, "Use default calibration data\n");
1201 for (i = 0; i < MTK_DP_CAL_MAX; i++)
1202 cal_data[i] = mtk_dp->data->efuse_fmt[i].default_val;
1203 }
1204
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Fei Shao <fshao@chromium.org>, Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-mediatek@lists.infradead.org,
oe-kbuild-all@lists.linux.dev,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-arm-kernel@lists.infradead.org,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>
Subject: Re: [PATCH] drm/mediatek: dp: Support flexible length of DP calibration data
Date: Wed, 4 Dec 2024 21:10:42 +0800 [thread overview]
Message-ID: <202412042020.FZmfgvza-lkp@intel.com> (raw)
In-Reply-To: <20241204053634.1365491-1-fshao@chromium.org>
Hi Fei,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.13-rc1 next-20241203]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Fei-Shao/drm-mediatek-dp-Support-flexible-length-of-DP-calibration-data/20241204-133854
base: linus/master
patch link: https://lore.kernel.org/r/20241204053634.1365491-1-fshao%40chromium.org
patch subject: [PATCH] drm/mediatek: dp: Support flexible length of DP calibration data
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20241204/202412042020.FZmfgvza-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241204/202412042020.FZmfgvza-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412042020.FZmfgvza-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/drm/display/drm_dp_aux_bus.h:13,
from drivers/gpu/drm/mediatek/mtk_dp.c:7:
drivers/gpu/drm/mediatek/mtk_dp.c: In function 'mtk_dp_get_calibration_data':
>> drivers/gpu/drm/mediatek/mtk_dp.c:1181:34: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
1181 | "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:156:61: note: in expansion of macro 'dev_fmt'
156 | dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/gpu/drm/mediatek/mtk_dp.c:1180:25: note: in expansion of macro 'dev_warn'
1180 | dev_warn(mtk_dp->dev,
| ^~~~~~~~
drivers/gpu/drm/mediatek/mtk_dp.c:1181:93: note: format string is defined here
1181 | "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
| ~~^
| |
| long unsigned int
| %u
vim +1181 drivers/gpu/drm/mediatek/mtk_dp.c
1148
1149 static void mtk_dp_get_calibration_data(struct mtk_dp *mtk_dp)
1150 {
1151 const struct mtk_dp_efuse_fmt *fmt;
1152 struct device *dev = mtk_dp->dev;
1153 struct nvmem_cell *cell;
1154 u32 *cal_data = mtk_dp->cal_data;
1155 u32 *buf;
1156 int i;
1157 size_t len;
1158
1159 cell = nvmem_cell_get(dev, "dp_calibration_data");
1160 if (IS_ERR(cell)) {
1161 dev_warn(dev, "Failed to get nvmem cell dp_calibration_data\n");
1162 goto use_default_val;
1163 }
1164
1165 buf = (u32 *)nvmem_cell_read(cell, &len);
1166 nvmem_cell_put(cell);
1167
1168 if (IS_ERR(buf)) {
1169 dev_warn(dev, "Failed to read nvmem_cell_read\n");
1170 goto use_default_val;
1171 }
1172
1173 /* The cell length is in bytes. Convert it to be compatible with u32 buffer. */
1174 len /= sizeof(u32);
1175
1176 for (i = 0; i < MTK_DP_CAL_MAX; i++) {
1177 fmt = &mtk_dp->data->efuse_fmt[i];
1178
1179 if (fmt->idx >= len) {
1180 dev_warn(mtk_dp->dev,
> 1181 "Out-of-bound efuse data access, fmt idx = %d, buf len = %lu\n",
1182 fmt->idx, len);
1183 kfree(buf);
1184 goto use_default_val;
1185 }
1186
1187 cal_data[i] = (buf[fmt->idx] >> fmt->shift) & fmt->mask;
1188
1189 if (cal_data[i] < fmt->min_val || cal_data[i] > fmt->max_val) {
1190 dev_warn(mtk_dp->dev, "Invalid efuse data, idx = %d\n", i);
1191 kfree(buf);
1192 goto use_default_val;
1193 }
1194 }
1195 kfree(buf);
1196
1197 return;
1198
1199 use_default_val:
1200 dev_warn(mtk_dp->dev, "Use default calibration data\n");
1201 for (i = 0; i < MTK_DP_CAL_MAX; i++)
1202 cal_data[i] = mtk_dp->data->efuse_fmt[i].default_val;
1203 }
1204
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-12-04 13:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 5:32 [PATCH] drm/mediatek: dp: Support flexible length of DP calibration data Fei Shao
2024-12-04 5:32 ` Fei Shao
2024-12-04 13:10 ` kernel test robot [this message]
2024-12-04 13:10 ` kernel test robot
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=202412042020.FZmfgvza-lkp@intel.com \
--to=lkp@intel.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=chunkuang.hu@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=fshao@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
/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.