All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Deepak Kumar Singh <deesin@codeaurora.org>,
	bjorn.andersson@linaro.org, swboyd@chromium.org,
	clew@codeaurora.org, sibis@codeaurora.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-remoteproc@vger.kernel.org,
	Deepak Kumar Singh <deesin@codeaurora.org>,
	Andy Gross <agross@kernel.org>
Subject: Re: [PATCH V3 1/1] soc: qcom: smp2p: Add wakeup capability to SMP2P IRQ
Date: Sat, 18 Sep 2021 12:09:40 +0800	[thread overview]
Message-ID: <202109181203.oKrkUjil-lkp@intel.com> (raw)
In-Reply-To: <1631896288-17281-1-git-send-email-deesin@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 6490 bytes --]

Hi Deepak,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc1 next-20210917]
[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]

url:    https://github.com/0day-ci/linux/commits/Deepak-Kumar-Singh/soc-qcom-smp2p-Add-wakeup-capability-to-SMP2P-IRQ/20210918-003323
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bdb575f872175ed0ecf2638369da1cb7a6e86a14
config: riscv-randconfig-r033-20210918 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/0day-ci/linux/commit/22bbf691312dc17d566e752b888dfbc6b14b671f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Deepak-Kumar-Singh/soc-qcom-smp2p-Add-wakeup-capability-to-SMP2P-IRQ/20210918-003323
        git checkout 22bbf691312dc17d566e752b888dfbc6b14b671f
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/soc/qcom/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/soc/qcom/smp2p.c:555:3: error: use of undeclared identifier 'set_wake_irq_fail'
                   set_wake_irq_fail;
                   ^
   1 error generated.


vim +/set_wake_irq_fail +555 drivers/soc/qcom/smp2p.c

   443	
   444	static int qcom_smp2p_probe(struct platform_device *pdev)
   445	{
   446		struct smp2p_entry *entry;
   447		struct device_node *node;
   448		struct qcom_smp2p *smp2p;
   449		const char *key;
   450		int irq;
   451		int ret;
   452	
   453		smp2p = devm_kzalloc(&pdev->dev, sizeof(*smp2p), GFP_KERNEL);
   454		if (!smp2p)
   455			return -ENOMEM;
   456	
   457		smp2p->dev = &pdev->dev;
   458		INIT_LIST_HEAD(&smp2p->inbound);
   459		INIT_LIST_HEAD(&smp2p->outbound);
   460	
   461		platform_set_drvdata(pdev, smp2p);
   462	
   463		key = "qcom,smem";
   464		ret = of_property_read_u32_array(pdev->dev.of_node, key,
   465						 smp2p->smem_items, 2);
   466		if (ret)
   467			return ret;
   468	
   469		key = "qcom,local-pid";
   470		ret = of_property_read_u32(pdev->dev.of_node, key, &smp2p->local_pid);
   471		if (ret)
   472			goto report_read_failure;
   473	
   474		key = "qcom,remote-pid";
   475		ret = of_property_read_u32(pdev->dev.of_node, key, &smp2p->remote_pid);
   476		if (ret)
   477			goto report_read_failure;
   478	
   479		irq = platform_get_irq(pdev, 0);
   480		if (irq < 0)
   481			return irq;
   482	
   483		smp2p->mbox_client.dev = &pdev->dev;
   484		smp2p->mbox_client.knows_txdone = true;
   485		smp2p->mbox_chan = mbox_request_channel(&smp2p->mbox_client, 0);
   486		if (IS_ERR(smp2p->mbox_chan)) {
   487			if (PTR_ERR(smp2p->mbox_chan) != -ENODEV)
   488				return PTR_ERR(smp2p->mbox_chan);
   489	
   490			smp2p->mbox_chan = NULL;
   491	
   492			ret = smp2p_parse_ipc(smp2p);
   493			if (ret)
   494				return ret;
   495		}
   496	
   497		ret = qcom_smp2p_alloc_outbound_item(smp2p);
   498		if (ret < 0)
   499			goto release_mbox;
   500	
   501		for_each_available_child_of_node(pdev->dev.of_node, node) {
   502			entry = devm_kzalloc(&pdev->dev, sizeof(*entry), GFP_KERNEL);
   503			if (!entry) {
   504				ret = -ENOMEM;
   505				goto unwind_interfaces;
   506			}
   507	
   508			entry->smp2p = smp2p;
   509			spin_lock_init(&entry->lock);
   510	
   511			ret = of_property_read_string(node, "qcom,entry-name", &entry->name);
   512			if (ret < 0)
   513				goto unwind_interfaces;
   514	
   515			if (of_property_read_bool(node, "interrupt-controller")) {
   516				ret = qcom_smp2p_inbound_entry(smp2p, entry, node);
   517				if (ret < 0)
   518					goto unwind_interfaces;
   519	
   520				list_add(&entry->node, &smp2p->inbound);
   521			} else  {
   522				ret = qcom_smp2p_outbound_entry(smp2p, entry, node);
   523				if (ret < 0)
   524					goto unwind_interfaces;
   525	
   526				list_add(&entry->node, &smp2p->outbound);
   527			}
   528		}
   529	
   530		/* Kick the outgoing edge after allocating entries */
   531		qcom_smp2p_kick(smp2p);
   532	
   533		ret = devm_request_threaded_irq(&pdev->dev, irq,
   534						NULL, qcom_smp2p_intr,
   535						IRQF_ONESHOT,
   536						"smp2p", (void *)smp2p);
   537		if (ret) {
   538			dev_err(&pdev->dev, "failed to request interrupt\n");
   539			goto unwind_interfaces;
   540		}
   541	
   542		/*
   543		 * Treat smp2p interrupt as wakeup source, but keep it disabled
   544		 * by default. User space can decide enabling it depending on its
   545		 * use cases. For example if remoteproc crashes and device wants
   546		 * to handle it immediatedly (e.g. to not miss phone calls) it can
   547		 * enable wakeup source from user space, while other devices which
   548		 * do not have proper autosleep feature may want to handle it with
   549		 * other wakeup events (e.g. Power button) instead waking up immediately.
   550		 */
   551		device_set_wakeup_capable(&pdev->dev, true);
   552	
   553		ret = dev_pm_set_wake_irq(&pdev->dev, irq);
   554		if (ret)
 > 555			set_wake_irq_fail;
   556	
   557		return 0;
   558	
   559	set_wake_irq_fail:
   560		dev_pm_clear_wake_irq(&pdev->dev);
   561	
   562	unwind_interfaces:
   563		list_for_each_entry(entry, &smp2p->inbound, node)
   564			irq_domain_remove(entry->domain);
   565	
   566		list_for_each_entry(entry, &smp2p->outbound, node)
   567			qcom_smem_state_unregister(entry->state);
   568	
   569		smp2p->out->valid_entries = 0;
   570	
   571	release_mbox:
   572		mbox_free_channel(smp2p->mbox_chan);
   573	
   574		return ret;
   575	
   576	report_read_failure:
   577		dev_err(&pdev->dev, "failed to read %s\n", key);
   578		return -EINVAL;
   579	}
   580	

---
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: 31281 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH V3 1/1] soc: qcom: smp2p: Add wakeup capability to SMP2P IRQ
Date: Sat, 18 Sep 2021 12:09:40 +0800	[thread overview]
Message-ID: <202109181203.oKrkUjil-lkp@intel.com> (raw)
In-Reply-To: <1631896288-17281-1-git-send-email-deesin@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 6674 bytes --]

Hi Deepak,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc1 next-20210917]
[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]

url:    https://github.com/0day-ci/linux/commits/Deepak-Kumar-Singh/soc-qcom-smp2p-Add-wakeup-capability-to-SMP2P-IRQ/20210918-003323
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bdb575f872175ed0ecf2638369da1cb7a6e86a14
config: riscv-randconfig-r033-20210918 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/0day-ci/linux/commit/22bbf691312dc17d566e752b888dfbc6b14b671f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Deepak-Kumar-Singh/soc-qcom-smp2p-Add-wakeup-capability-to-SMP2P-IRQ/20210918-003323
        git checkout 22bbf691312dc17d566e752b888dfbc6b14b671f
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/soc/qcom/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/soc/qcom/smp2p.c:555:3: error: use of undeclared identifier 'set_wake_irq_fail'
                   set_wake_irq_fail;
                   ^
   1 error generated.


vim +/set_wake_irq_fail +555 drivers/soc/qcom/smp2p.c

   443	
   444	static int qcom_smp2p_probe(struct platform_device *pdev)
   445	{
   446		struct smp2p_entry *entry;
   447		struct device_node *node;
   448		struct qcom_smp2p *smp2p;
   449		const char *key;
   450		int irq;
   451		int ret;
   452	
   453		smp2p = devm_kzalloc(&pdev->dev, sizeof(*smp2p), GFP_KERNEL);
   454		if (!smp2p)
   455			return -ENOMEM;
   456	
   457		smp2p->dev = &pdev->dev;
   458		INIT_LIST_HEAD(&smp2p->inbound);
   459		INIT_LIST_HEAD(&smp2p->outbound);
   460	
   461		platform_set_drvdata(pdev, smp2p);
   462	
   463		key = "qcom,smem";
   464		ret = of_property_read_u32_array(pdev->dev.of_node, key,
   465						 smp2p->smem_items, 2);
   466		if (ret)
   467			return ret;
   468	
   469		key = "qcom,local-pid";
   470		ret = of_property_read_u32(pdev->dev.of_node, key, &smp2p->local_pid);
   471		if (ret)
   472			goto report_read_failure;
   473	
   474		key = "qcom,remote-pid";
   475		ret = of_property_read_u32(pdev->dev.of_node, key, &smp2p->remote_pid);
   476		if (ret)
   477			goto report_read_failure;
   478	
   479		irq = platform_get_irq(pdev, 0);
   480		if (irq < 0)
   481			return irq;
   482	
   483		smp2p->mbox_client.dev = &pdev->dev;
   484		smp2p->mbox_client.knows_txdone = true;
   485		smp2p->mbox_chan = mbox_request_channel(&smp2p->mbox_client, 0);
   486		if (IS_ERR(smp2p->mbox_chan)) {
   487			if (PTR_ERR(smp2p->mbox_chan) != -ENODEV)
   488				return PTR_ERR(smp2p->mbox_chan);
   489	
   490			smp2p->mbox_chan = NULL;
   491	
   492			ret = smp2p_parse_ipc(smp2p);
   493			if (ret)
   494				return ret;
   495		}
   496	
   497		ret = qcom_smp2p_alloc_outbound_item(smp2p);
   498		if (ret < 0)
   499			goto release_mbox;
   500	
   501		for_each_available_child_of_node(pdev->dev.of_node, node) {
   502			entry = devm_kzalloc(&pdev->dev, sizeof(*entry), GFP_KERNEL);
   503			if (!entry) {
   504				ret = -ENOMEM;
   505				goto unwind_interfaces;
   506			}
   507	
   508			entry->smp2p = smp2p;
   509			spin_lock_init(&entry->lock);
   510	
   511			ret = of_property_read_string(node, "qcom,entry-name", &entry->name);
   512			if (ret < 0)
   513				goto unwind_interfaces;
   514	
   515			if (of_property_read_bool(node, "interrupt-controller")) {
   516				ret = qcom_smp2p_inbound_entry(smp2p, entry, node);
   517				if (ret < 0)
   518					goto unwind_interfaces;
   519	
   520				list_add(&entry->node, &smp2p->inbound);
   521			} else  {
   522				ret = qcom_smp2p_outbound_entry(smp2p, entry, node);
   523				if (ret < 0)
   524					goto unwind_interfaces;
   525	
   526				list_add(&entry->node, &smp2p->outbound);
   527			}
   528		}
   529	
   530		/* Kick the outgoing edge after allocating entries */
   531		qcom_smp2p_kick(smp2p);
   532	
   533		ret = devm_request_threaded_irq(&pdev->dev, irq,
   534						NULL, qcom_smp2p_intr,
   535						IRQF_ONESHOT,
   536						"smp2p", (void *)smp2p);
   537		if (ret) {
   538			dev_err(&pdev->dev, "failed to request interrupt\n");
   539			goto unwind_interfaces;
   540		}
   541	
   542		/*
   543		 * Treat smp2p interrupt as wakeup source, but keep it disabled
   544		 * by default. User space can decide enabling it depending on its
   545		 * use cases. For example if remoteproc crashes and device wants
   546		 * to handle it immediatedly (e.g. to not miss phone calls) it can
   547		 * enable wakeup source from user space, while other devices which
   548		 * do not have proper autosleep feature may want to handle it with
   549		 * other wakeup events (e.g. Power button) instead waking up immediately.
   550		 */
   551		device_set_wakeup_capable(&pdev->dev, true);
   552	
   553		ret = dev_pm_set_wake_irq(&pdev->dev, irq);
   554		if (ret)
 > 555			set_wake_irq_fail;
   556	
   557		return 0;
   558	
   559	set_wake_irq_fail:
   560		dev_pm_clear_wake_irq(&pdev->dev);
   561	
   562	unwind_interfaces:
   563		list_for_each_entry(entry, &smp2p->inbound, node)
   564			irq_domain_remove(entry->domain);
   565	
   566		list_for_each_entry(entry, &smp2p->outbound, node)
   567			qcom_smem_state_unregister(entry->state);
   568	
   569		smp2p->out->valid_entries = 0;
   570	
   571	release_mbox:
   572		mbox_free_channel(smp2p->mbox_chan);
   573	
   574		return ret;
   575	
   576	report_read_failure:
   577		dev_err(&pdev->dev, "failed to read %s\n", key);
   578		return -EINVAL;
   579	}
   580	

---
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: 31281 bytes --]

  reply	other threads:[~2021-09-18  4:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-17 16:31 [PATCH V3 1/1] soc: qcom: smp2p: Add wakeup capability to SMP2P IRQ Deepak Kumar Singh
2021-09-18  4:09 ` kernel test robot [this message]
2021-09-18  4:09   ` 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=202109181203.oKrkUjil-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=clew@codeaurora.org \
    --cc=deesin@codeaurora.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=sibis@codeaurora.org \
    --cc=swboyd@chromium.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.