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
prev parent reply other threads:[~2024-12-04 13:11 UTC|newest]
Thread overview: 2+ 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 13:10 ` kernel test robot [this message]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox