[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202410150906.OEI0jyKN-lkp@intel.com>
Date: Tue, 15 Oct 2024 10:08:26 +0800
From: kernel test robot <lkp@...el.com>
To: haibo.chen@....com, adrian.hunter@...el.com, ulf.hansson@...aro.org,
linux-mmc@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, imx@...ts.linux.dev, haibo.chen@....com,
shawnguo@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
festevam@...il.com, s32@....com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/4] mmc: host: sdhci-esdhc-imx: save tuning value for
the SDIO card as wakeup source
Hi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on shawnguo/for-next]
[also build test WARNING on linus/master v6.12-rc3 next-20241014]
[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/haibo-chen-nxp-com/mmc-sdhci-export-APIs-for-sdhci-irq-wakeup/20241014-140300
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
patch link: https://lore.kernel.org/r/20241014060130.1162629-4-haibo.chen%40nxp.com
patch subject: [PATCH 3/4] mmc: host: sdhci-esdhc-imx: save tuning value for the SDIO card as wakeup source
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20241015/202410150906.OEI0jyKN-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241015/202410150906.OEI0jyKN-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410150906.OEI0jyKN-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/mmc/host/sdhci-esdhc-imx.c:1592:13: warning: 'sdhc_esdhc_tuning_restore' defined but not used [-Wunused-function]
1592 | static void sdhc_esdhc_tuning_restore(struct sdhci_host *host)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/mmc/host/sdhci-esdhc-imx.c:1569:13: warning: 'sdhc_esdhc_tuning_save' defined but not used [-Wunused-function]
1569 | static void sdhc_esdhc_tuning_save(struct sdhci_host *host)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/sdhc_esdhc_tuning_restore +1592 drivers/mmc/host/sdhci-esdhc-imx.c
1568
> 1569 static void sdhc_esdhc_tuning_save(struct sdhci_host *host)
1570 {
1571 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1572 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1573 u32 reg;
1574
1575 /*
1576 * SD/eMMC do not need this tuning save because it will re-init
1577 * after system resume back.
1578 * Here save the tuning delay value for SDIO device since it may
1579 * keep power during system PM. And for usdhc, only SDR50 and
1580 * SDR104 mode for SDIO devide need to do tuning, and need to
1581 * save/restore.
1582 */
1583 if ((host->timing == MMC_TIMING_UHS_SDR50) |
1584 (host->timing == MMC_TIMING_UHS_SDR104)) {
1585 reg = readl(host->ioaddr + ESDHC_TUNE_CTRL_STATUS);
1586 reg = (reg & ESDHC_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK) >>
1587 ESDHC_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT;
1588 imx_data->boarddata.saved_tuning_delay_cell = reg;
1589 }
1590 }
1591
> 1592 static void sdhc_esdhc_tuning_restore(struct sdhci_host *host)
1593 {
1594 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
1595 struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
1596 u32 reg;
1597
1598 if ((host->timing == MMC_TIMING_UHS_SDR50) |
1599 (host->timing == MMC_TIMING_UHS_SDR104)) {
1600 /*
1601 * restore the tuning delay value actually is a
1602 * manual tuning method, so clear the standard
1603 * tuning enable bit here. Will set back this
1604 * ESDHC_STD_TUNING_EN in esdhc_reset_tuning()
1605 * when trigger re-tuning.
1606 */
1607 reg = readl(host->ioaddr + ESDHC_TUNING_CTRL);
1608 reg &= ~ESDHC_STD_TUNING_EN;
1609 writel(reg, host->ioaddr + ESDHC_TUNING_CTRL);
1610
1611 reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
1612 reg |= ESDHC_MIX_CTRL_SMPCLK_SEL | ESDHC_MIX_CTRL_FBCLK_SEL;
1613 writel(reg, host->ioaddr + ESDHC_MIX_CTRL);
1614
1615 writel(imx_data->boarddata.saved_tuning_delay_cell <<
1616 ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT,
1617 host->ioaddr + ESDHC_TUNE_CTRL_STATUS);
1618 }
1619 }
1620
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists