From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command
Date: Thu, 12 Mar 2020 06:30:40 +0800 [thread overview]
Message-ID: <202003120625.zce60twG%lkp@intel.com> (raw)
In-Reply-To: <20200311092036.16084-1-ulf.hansson@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 3781 bytes --]
Hi Ulf,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.6-rc5 next-20200311]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Ulf-Hansson/mmc-core-Respect-MMC_CAP_NEED_RSP_BUSY-for-eMMC-sleep-command/20200312-034807
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e3a36eb6dfaeea8175c05d5915dcf0b939be6dab
config: sparc64-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=sparc64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/mmc/core/mmc.c: In function 'mmc_sleep':
>> drivers/mmc/core/mmc.c:1917:21: error: 'MMC_CAP_NEED_RSP_BUSY' undeclared (first use in this function); did you mean 'MMC_CAP_NEEDS_POLL'?
1917 | if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
| ^~~~~~~~~~~~~~~~~~~~~
| MMC_CAP_NEEDS_POLL
drivers/mmc/core/mmc.c:1917:21: note: each undeclared identifier is reported only once for each function it appears in
vim +1917 drivers/mmc/core/mmc.c
1890
1891 static int mmc_sleep(struct mmc_host *host)
1892 {
1893 struct mmc_command cmd = {};
1894 struct mmc_card *card = host->card;
1895 unsigned int timeout_ms = DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000);
1896 int err;
1897
1898 /* Re-tuning can't be done once the card is deselected */
1899 mmc_retune_hold(host);
1900
1901 err = mmc_deselect_cards(host);
1902 if (err)
1903 goto out_release;
1904
1905 cmd.opcode = MMC_SLEEP_AWAKE;
1906 cmd.arg = card->rca << 16;
1907 cmd.arg |= 1 << 15;
1908
1909 /*
1910 * If the max_busy_timeout of the host is specified, validate it against
1911 * the sleep cmd timeout. A failure means we need to prevent the host
1912 * from doing hw busy detection, which is done by converting to a R1
1913 * response instead of a R1B. Note, some hosts requires R1B, which also
1914 * means they are on their own when it comes to deal with the busy
1915 * timeout.
1916 */
> 1917 if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
1918 (timeout_ms > host->max_busy_timeout)) {
1919 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
1920 } else {
1921 cmd.flags = MMC_RSP_R1B | MMC_CMD_AC;
1922 cmd.busy_timeout = timeout_ms;
1923 }
1924
1925 err = mmc_wait_for_cmd(host, &cmd, 0);
1926 if (err)
1927 goto out_release;
1928
1929 /*
1930 * If the host does not wait while the card signals busy, then we will
1931 * will have to wait the sleep/awake timeout. Note, we cannot use the
1932 * SEND_STATUS command to poll the status because that command (and most
1933 * others) is invalid while the card sleeps.
1934 */
1935 if (!cmd.busy_timeout || !(host->caps & MMC_CAP_WAIT_WHILE_BUSY))
1936 mmc_delay(timeout_ms);
1937
1938 out_release:
1939 mmc_retune_release(host);
1940 return err;
1941 }
1942
---
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: 61106 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: kbuild-all@lists.01.org, "linux-mmc@vger.kernel.org,
Ulf Hansson" <ulf.hansson@linaro.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Ludovic Barre <ludovic.barre@st.com>,
Baolin Wang <baolin.wang7@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
Chaotian Jing <chaotian.jing@mediatek.com>,
Shawn Lin <shawn.lin@rock-chips.com>,
mirq-linux@rere.qmqm.pl, Bitan Biswas <bbiswas@nvidia.com>,
Peter Geis <pgwipeout@gmail.com>,
Sowjanya Komatineni <skomatineni@nvidia.com>,
Faiz Abbas <faiz_abbas@ti.com>,
Anders Roxell <anders.roxell@linaro.org>,
Naresh Kamboju <naresh.kamboju@linaro.org>,
Jon Hunter <jonathanh@nvidia.com>,
stable@vger.kernel.org
Subject: Re: [PATCH] mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command
Date: Thu, 12 Mar 2020 06:30:40 +0800 [thread overview]
Message-ID: <202003120625.zce60twG%lkp@intel.com> (raw)
In-Reply-To: <20200311092036.16084-1-ulf.hansson@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 3688 bytes --]
Hi Ulf,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.6-rc5 next-20200311]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Ulf-Hansson/mmc-core-Respect-MMC_CAP_NEED_RSP_BUSY-for-eMMC-sleep-command/20200312-034807
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e3a36eb6dfaeea8175c05d5915dcf0b939be6dab
config: sparc64-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=sparc64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/mmc/core/mmc.c: In function 'mmc_sleep':
>> drivers/mmc/core/mmc.c:1917:21: error: 'MMC_CAP_NEED_RSP_BUSY' undeclared (first use in this function); did you mean 'MMC_CAP_NEEDS_POLL'?
1917 | if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
| ^~~~~~~~~~~~~~~~~~~~~
| MMC_CAP_NEEDS_POLL
drivers/mmc/core/mmc.c:1917:21: note: each undeclared identifier is reported only once for each function it appears in
vim +1917 drivers/mmc/core/mmc.c
1890
1891 static int mmc_sleep(struct mmc_host *host)
1892 {
1893 struct mmc_command cmd = {};
1894 struct mmc_card *card = host->card;
1895 unsigned int timeout_ms = DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000);
1896 int err;
1897
1898 /* Re-tuning can't be done once the card is deselected */
1899 mmc_retune_hold(host);
1900
1901 err = mmc_deselect_cards(host);
1902 if (err)
1903 goto out_release;
1904
1905 cmd.opcode = MMC_SLEEP_AWAKE;
1906 cmd.arg = card->rca << 16;
1907 cmd.arg |= 1 << 15;
1908
1909 /*
1910 * If the max_busy_timeout of the host is specified, validate it against
1911 * the sleep cmd timeout. A failure means we need to prevent the host
1912 * from doing hw busy detection, which is done by converting to a R1
1913 * response instead of a R1B. Note, some hosts requires R1B, which also
1914 * means they are on their own when it comes to deal with the busy
1915 * timeout.
1916 */
> 1917 if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
1918 (timeout_ms > host->max_busy_timeout)) {
1919 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
1920 } else {
1921 cmd.flags = MMC_RSP_R1B | MMC_CMD_AC;
1922 cmd.busy_timeout = timeout_ms;
1923 }
1924
1925 err = mmc_wait_for_cmd(host, &cmd, 0);
1926 if (err)
1927 goto out_release;
1928
1929 /*
1930 * If the host does not wait while the card signals busy, then we will
1931 * will have to wait the sleep/awake timeout. Note, we cannot use the
1932 * SEND_STATUS command to poll the status because that command (and most
1933 * others) is invalid while the card sleeps.
1934 */
1935 if (!cmd.busy_timeout || !(host->caps & MMC_CAP_WAIT_WHILE_BUSY))
1936 mmc_delay(timeout_ms);
1937
1938 out_release:
1939 mmc_retune_release(host);
1940 return err;
1941 }
1942
---
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: 61106 bytes --]
next prev parent reply other threads:[~2020-03-11 22:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-11 9:20 [PATCH] mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command Ulf Hansson
2020-03-11 22:30 ` kbuild test robot
2020-03-11 22:30 ` kbuild test robot
2020-03-11 22:30 ` kbuild test robot [this message]
2020-03-11 22:30 ` kbuild 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=202003120625.zce60twG%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.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.