All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Markus Schneider-Pargmann <msp@baylibre.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v8 1/3] firmware: ti_sci: Introduce Power Management Ops
Date: Sat, 3 Aug 2024 14:31:15 +0800	[thread overview]
Message-ID: <202408031302.28NpPykP-lkp@intel.com> (raw)
In-Reply-To: <20240801195422.2296347-2-msp@baylibre.com>

Hi Markus,

kernel test robot noticed the following build warnings:

[auto build test WARNING on soc/for-next]
[also build test WARNING on linus/master v6.11-rc1 next-20240802]
[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/Markus-Schneider-Pargmann/firmware-ti_sci-Introduce-Power-Management-Ops/20240803-041746
base:   https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link:    https://lore.kernel.org/r/20240801195422.2296347-2-msp%40baylibre.com
patch subject: [PATCH v8 1/3] firmware: ti_sci: Introduce Power Management Ops
config: arm-keystone_defconfig (https://download.01.org/0day-ci/archive/20240803/202408031302.28NpPykP-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240803/202408031302.28NpPykP-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/202408031302.28NpPykP-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/firmware/ti_sci.c:1886:12: warning: 'ti_sci_cmd_set_latency_constraint' defined but not used [-Wunused-function]
    1886 | static int ti_sci_cmd_set_latency_constraint(const struct ti_sci_handle *handle,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/firmware/ti_sci.c:1832:12: warning: 'ti_sci_cmd_set_device_constraint' defined but not used [-Wunused-function]
    1832 | static int ti_sci_cmd_set_device_constraint(const struct ti_sci_handle *handle,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/firmware/ti_sci.c:1779:12: warning: 'ti_sci_cmd_set_io_isolation' defined but not used [-Wunused-function]
    1779 | static int ti_sci_cmd_set_io_isolation(const struct ti_sci_handle *handle,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/firmware/ti_sci.c:1664:12: warning: 'ti_sci_cmd_prepare_sleep' defined but not used [-Wunused-function]
    1664 | static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~


vim +/ti_sci_cmd_set_io_isolation +1779 drivers/firmware/ti_sci.c

  1653	
  1654	/**
  1655	 * ti_sci_cmd_prepare_sleep() - Prepare system for system suspend
  1656	 * @handle:		pointer to TI SCI handle
  1657	 * @mode:		Device identifier
  1658	 * @ctx_lo:		Low part of address for context save
  1659	 * @ctx_hi:		High part of address for context save
  1660	 * @debug_flags:	Debug flags to pass to firmware
  1661	 *
  1662	 * Return: 0 if all went well, else returns appropriate error value.
  1663	 */
> 1664	static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
  1665					    u32 ctx_lo, u32 ctx_hi, u32 debug_flags)
  1666	{
  1667		struct ti_sci_info *info;
  1668		struct ti_sci_msg_req_prepare_sleep *req;
  1669		struct ti_sci_msg_hdr *resp;
  1670		struct ti_sci_xfer *xfer;
  1671		struct device *dev;
  1672		int ret = 0;
  1673	
  1674		if (IS_ERR(handle))
  1675			return PTR_ERR(handle);
  1676		if (!handle)
  1677			return -EINVAL;
  1678	
  1679		info = handle_to_ti_sci_info(handle);
  1680		dev = info->dev;
  1681	
  1682		xfer = ti_sci_get_one_xfer(info, TI_SCI_MSG_PREPARE_SLEEP,
  1683					   TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
  1684					   sizeof(*req), sizeof(*resp));
  1685		if (IS_ERR(xfer)) {
  1686			ret = PTR_ERR(xfer);
  1687			dev_err(dev, "Message alloc failed(%d)\n", ret);
  1688			return ret;
  1689		}
  1690	
  1691		req = (struct ti_sci_msg_req_prepare_sleep *)xfer->xfer_buf;
  1692		req->mode = mode;
  1693		req->ctx_lo = ctx_lo;
  1694		req->ctx_hi = ctx_hi;
  1695		req->debug_flags = debug_flags;
  1696	
  1697		ret = ti_sci_do_xfer(info, xfer);
  1698		if (ret) {
  1699			dev_err(dev, "Mbox send fail %d\n", ret);
  1700			goto fail;
  1701		}
  1702	
  1703		resp = (struct ti_sci_msg_hdr *)xfer->xfer_buf;
  1704	
  1705		ret = ti_sci_is_response_ack(resp) ? 0 : -ENODEV;
  1706	
  1707	fail:
  1708		ti_sci_put_one_xfer(&info->minfo, xfer);
  1709	
  1710		return ret;
  1711	}
  1712	
  1713	/**
  1714	 * ti_sci_msg_cmd_lpm_wake_reason() - Get the wakeup source from LPM
  1715	 * @handle:		Pointer to TI SCI handle
  1716	 * @source:		The wakeup source that woke the SoC from LPM
  1717	 * @timestamp:		Timestamp of the wakeup event
  1718	 *
  1719	 * Return: 0 if all went well, else returns appropriate error value.
  1720	 */
  1721	static int ti_sci_msg_cmd_lpm_wake_reason(const struct ti_sci_handle *handle,
  1722						  u32 *source, u64 *timestamp)
  1723	{
  1724		struct ti_sci_info *info;
  1725		struct ti_sci_xfer *xfer;
  1726		struct ti_sci_msg_resp_lpm_wake_reason *resp;
  1727		struct device *dev;
  1728		int ret = 0;
  1729	
  1730		if (IS_ERR(handle))
  1731			return PTR_ERR(handle);
  1732		if (!handle)
  1733			return -EINVAL;
  1734	
  1735		info = handle_to_ti_sci_info(handle);
  1736		dev = info->dev;
  1737	
  1738		xfer = ti_sci_get_one_xfer(info, TI_SCI_MSG_LPM_WAKE_REASON,
  1739					   TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
  1740					   sizeof(struct ti_sci_msg_hdr),
  1741					   sizeof(*resp));
  1742		if (IS_ERR(xfer)) {
  1743			ret = PTR_ERR(xfer);
  1744			dev_err(dev, "Message alloc failed(%d)\n", ret);
  1745			return ret;
  1746		}
  1747	
  1748		ret = ti_sci_do_xfer(info, xfer);
  1749		if (ret) {
  1750			dev_err(dev, "Mbox send fail %d\n", ret);
  1751			goto fail;
  1752		}
  1753	
  1754		resp = (struct ti_sci_msg_resp_lpm_wake_reason *)xfer->xfer_buf;
  1755	
  1756		if (!ti_sci_is_response_ack(resp)) {
  1757			ret = -ENODEV;
  1758			goto fail;
  1759		}
  1760	
  1761		if (source)
  1762			*source = resp->wake_source;
  1763		if (timestamp)
  1764			*timestamp = resp->wake_timestamp;
  1765	
  1766	fail:
  1767		ti_sci_put_one_xfer(&info->minfo, xfer);
  1768	
  1769		return ret;
  1770	}
  1771	
  1772	/**
  1773	 * ti_sci_cmd_set_io_isolation() - Enable IO isolation in LPM
  1774	 * @handle:		Pointer to TI SCI handle
  1775	 * @state:		The desired state of the IO isolation
  1776	 *
  1777	 * Return: 0 if all went well, else returns appropriate error value.
  1778	 */
> 1779	static int ti_sci_cmd_set_io_isolation(const struct ti_sci_handle *handle,
  1780					       u8 state)
  1781	{
  1782		struct ti_sci_info *info;
  1783		struct ti_sci_msg_req_set_io_isolation *req;
  1784		struct ti_sci_msg_hdr *resp;
  1785		struct ti_sci_xfer *xfer;
  1786		struct device *dev;
  1787		int ret = 0;
  1788	
  1789		if (IS_ERR(handle))
  1790			return PTR_ERR(handle);
  1791		if (!handle)
  1792			return -EINVAL;
  1793	
  1794		info = handle_to_ti_sci_info(handle);
  1795		dev = info->dev;
  1796	
  1797		xfer = ti_sci_get_one_xfer(info, TI_SCI_MSG_SET_IO_ISOLATION,
  1798					   TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
  1799					   sizeof(*req), sizeof(*resp));
  1800		if (IS_ERR(xfer)) {
  1801			ret = PTR_ERR(xfer);
  1802			dev_err(dev, "Message alloc failed(%d)\n", ret);
  1803			return ret;
  1804		}
  1805		req = (struct ti_sci_msg_req_set_io_isolation *)xfer->xfer_buf;
  1806		req->state = state;
  1807	
  1808		ret = ti_sci_do_xfer(info, xfer);
  1809		if (ret) {
  1810			dev_err(dev, "Mbox send fail %d\n", ret);
  1811			goto fail;
  1812		}
  1813	
  1814		resp = (struct ti_sci_msg_hdr *)xfer->xfer_buf;
  1815	
  1816		ret = ti_sci_is_response_ack(resp) ? 0 : -ENODEV;
  1817	
  1818	fail:
  1819		ti_sci_put_one_xfer(&info->minfo, xfer);
  1820	
  1821		return ret;
  1822	}
  1823	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2024-08-03  6:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-01 19:54 [PATCH v8 0/3] firmware: ti_sci: Introduce system suspend support Markus Schneider-Pargmann
2024-08-01 19:54 ` [PATCH v8 1/3] firmware: ti_sci: Introduce Power Management Ops Markus Schneider-Pargmann
2024-08-03  6:31   ` kernel test robot [this message]
2024-08-06 15:39   ` Nishanth Menon
2024-08-06 18:47     ` Markus Schneider-Pargmann
2024-08-01 19:54 ` [PATCH v8 2/3] firmware: ti_sci: Add support for querying the firmware caps Markus Schneider-Pargmann
2024-08-06 15:42   ` Nishanth Menon
2024-08-01 19:54 ` [PATCH v8 3/3] firmware: ti_sci: Add system suspend and resume call Markus Schneider-Pargmann

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=202408031302.28NpPykP-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=msp@baylibre.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 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.