Hi "Thomas,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on 622e96fb58d63985b028abc2cb9a873124bdac1e]
url:
https://github.com/0day-ci/linux/commits/Thomas-Wei-schuh/bus-mhi-core-Lo...
base: 622e96fb58d63985b028abc2cb9a873124bdac1e
config: sh-randconfig-r015-20211210
(
https://download.01.org/0day-ci/archive/20211211/202112111112.sFiipK0A-lk...)
compiler: sh4-linux-gcc (GCC) 11.2.0
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
#
https://github.com/0day-ci/linux/commit/bc1fbdf39b0c8e31c64a703307a4e88a5...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Thomas-Wei-schuh/bus-mhi-core-Load-firmware-asynchronous/20211211-001725
git checkout bc1fbdf39b0c8e31c64a703307a4e88a56efc8ca
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir
ARCH=sh SHELL=/bin/bash drivers/bus/mhi/core/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/bus/mhi/core/boot.c: In function 'mhi_fw_load_callback':
> drivers/bus/mhi/core/boot.c:463:15: warning: 'dma_addr'
is used uninitialized [-Wuninitialized]
463 | ret =
mhi_fw_load_bhi(mhi_cntrl, dma_addr, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/dma_addr +463 drivers/bus/mhi/core/boot.c
cd457afb166705 Manivannan Sadhasivam 2020-02-20 434
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 435 static void
mhi_fw_load_callback(const struct firmware *firmware, void *context)
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 436 {
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 437 struct mhi_fw_load_callback_ctx
*ctx = context;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 438 const char *fw_name =
ctx->fw_name;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 439 struct mhi_controller *mhi_cntrl =
ctx->mhi_cntrl;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 440 struct device *dev =
&mhi_cntrl->mhi_dev->dev;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 441 dma_addr_t dma_addr;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 442 size_t size;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 443 void *buf;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 444 int ret;
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 445
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 446 kfree(context);
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 447
cd457afb166705 Manivannan Sadhasivam 2020-02-20 448 size = (mhi_cntrl->fbc_download)
? mhi_cntrl->sbl_size : firmware->size;
cd457afb166705 Manivannan Sadhasivam 2020-02-20 449
cd457afb166705 Manivannan Sadhasivam 2020-02-20 450 /* SBL size provided is maximum
size, not necessarily the image size */
cd457afb166705 Manivannan Sadhasivam 2020-02-20 451 if (size > firmware->size)
cd457afb166705 Manivannan Sadhasivam 2020-02-20 452 size = firmware->size;
cd457afb166705 Manivannan Sadhasivam 2020-02-20 453
2e36190de69cb4 Bhaumik Bhatt 2021-08-02 454 buf =
dma_alloc_coherent(mhi_cntrl->cntrl_dev, size, &dma_addr,
2e36190de69cb4 Bhaumik Bhatt 2021-08-02 455 GFP_KERNEL);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 456 if (!buf) {
cd457afb166705 Manivannan Sadhasivam 2020-02-20 457 release_firmware(firmware);
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 458 mhi_fw_load_finish(mhi_cntrl,
MHI_FW_ERROR_FW_LOAD);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 459 }
cd457afb166705 Manivannan Sadhasivam 2020-02-20 460
1b55c16a5e4718 Bhaumik Bhatt 2020-11-09 461 /* Download image using BHI */
cd457afb166705 Manivannan Sadhasivam 2020-02-20 462 memcpy(buf, firmware->data,
size);
1b55c16a5e4718 Bhaumik Bhatt 2020-11-09 @463 ret = mhi_fw_load_bhi(mhi_cntrl,
dma_addr, size);
2e36190de69cb4 Bhaumik Bhatt 2021-08-02 464
dma_free_coherent(mhi_cntrl->cntrl_dev, size, buf, dma_addr);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 465
cd457afb166705 Manivannan Sadhasivam 2020-02-20 466 /* Error or in EDL mode, we're
done */
0a895f091ebd94 Bhaumik Bhatt 2020-05-21 467 if (ret) {
1b55c16a5e4718 Bhaumik Bhatt 2020-11-09 468 dev_err(dev, "MHI did not
load image over BHI, ret: %d\n", ret);
12e050c77be036 Bhaumik Bhatt 2020-11-09 469 release_firmware(firmware);
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 470 mhi_fw_load_finish(mhi_cntrl,
MHI_FW_ERROR_FW_LOAD);
0a895f091ebd94 Bhaumik Bhatt 2020-05-21 471 }
0a895f091ebd94 Bhaumik Bhatt 2020-05-21 472
4f214496ac7421 Bhaumik Bhatt 2021-03-29 473 /* Wait for ready since EDL image
was loaded */
418bec695696ab Bhaumik Bhatt 2021-03-29 474 if (fw_name ==
mhi_cntrl->edl_image) {
12e050c77be036 Bhaumik Bhatt 2020-11-09 475 release_firmware(firmware);
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 476 mhi_fw_load_finish(mhi_cntrl,
MHI_FW_LOAD_READY_STATE);
12e050c77be036 Bhaumik Bhatt 2020-11-09 477 }
cd457afb166705 Manivannan Sadhasivam 2020-02-20 478
cd457afb166705 Manivannan Sadhasivam 2020-02-20 479
write_lock_irq(&mhi_cntrl->pm_lock);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 480 mhi_cntrl->dev_state =
MHI_STATE_RESET;
cd457afb166705 Manivannan Sadhasivam 2020-02-20 481
write_unlock_irq(&mhi_cntrl->pm_lock);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 482
cd457afb166705 Manivannan Sadhasivam 2020-02-20 483 /*
cd457afb166705 Manivannan Sadhasivam 2020-02-20 484 * If we're doing fbc, populate
vector tables while
cd457afb166705 Manivannan Sadhasivam 2020-02-20 485 * device transitioning into MHI
READY state
cd457afb166705 Manivannan Sadhasivam 2020-02-20 486 */
cd457afb166705 Manivannan Sadhasivam 2020-02-20 487 if (mhi_cntrl->fbc_download) {
cd457afb166705 Manivannan Sadhasivam 2020-02-20 488 ret =
mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->fbc_image,
cd457afb166705 Manivannan Sadhasivam 2020-02-20 489 firmware->size);
12e050c77be036 Bhaumik Bhatt 2020-11-09 490 if (ret) {
12e050c77be036 Bhaumik Bhatt 2020-11-09 491 release_firmware(firmware);
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 492 mhi_fw_load_finish(mhi_cntrl,
MHI_FW_ERROR_FW_LOAD);
12e050c77be036 Bhaumik Bhatt 2020-11-09 493 }
cd457afb166705 Manivannan Sadhasivam 2020-02-20 494
cd457afb166705 Manivannan Sadhasivam 2020-02-20 495 /* Load the firmware into BHIE vec
table */
cd457afb166705 Manivannan Sadhasivam 2020-02-20 496 mhi_firmware_copy(mhi_cntrl,
firmware, mhi_cntrl->fbc_image);
cd457afb166705 Manivannan Sadhasivam 2020-02-20 497 }
cd457afb166705 Manivannan Sadhasivam 2020-02-20 498
12e050c77be036 Bhaumik Bhatt 2020-11-09 499 release_firmware(firmware);
12e050c77be036 Bhaumik Bhatt 2020-11-09 500
bc1fbdf39b0c8e Thomas Weißschuh 2021-12-10 501 mhi_fw_load_finish(mhi_cntrl,
MHI_FW_LOAD_READY_STATE);
0a895f091ebd94 Bhaumik Bhatt 2020-05-21 502 }
cd457afb166705 Manivannan Sadhasivam 2020-02-20 503
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org