All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>,
	linux-scsi@vger.kernel.org, martin.petersen@oracle.com
Cc: kbuild-all@lists.01.org, Sathya.Prakash@broadcom.com,
	sreekanth.reddy@broadcom.com,
	Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Subject: Re: [PATCH 3/8] mpt3sas: Add master triggers persistent Trigger Page
Date: Tue, 24 Nov 2020 15:48:21 +0800	[thread overview]
Message-ID: <202011241524.HN1092e2-lkp@intel.com> (raw)
In-Reply-To: <20201124035019.27975-4-suganath-prabu.subramani@broadcom.com>

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

Hi Suganath,

I love your patch! Perhaps something to improve:

[auto build test WARNING on scsi/for-next]
[also build test WARNING on mkp-scsi/for-next v5.10-rc5 next-20201123]
[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/Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/9d619bffb390470be629fa99370eb823d64d796e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842
        git checkout 9d619bffb390470be629fa99370eb823d64d796e
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/scsi/mpt3sas/mpt3sas_config.c:1793:1: warning: no previous prototype for '_config_set_driver_trigger_pg0' [-Wmissing-prototypes]
    1793 | _config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/mpt3sas/mpt3sas_config.c:1835:1: warning: no previous prototype for 'mpt3sas_config_update_driver_trigger_pg0' [-Wmissing-prototypes]
    1835 | mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/mpt3sas/mpt3sas_config.c:1927:1: warning: no previous prototype for '_config_set_driver_trigger_pg1' [-Wmissing-prototypes]
    1927 | _config_set_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/mpt3sas/mpt3sas_config.c:1969:1: warning: no previous prototype for 'mpt3sas_config_update_driver_trigger_pg1' [-Wmissing-prototypes]
    1969 | mpt3sas_config_update_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/_config_set_driver_trigger_pg1 +1927 drivers/scsi/mpt3sas/mpt3sas_config.c

  1782	
  1783	/**
  1784	 * mpt3sas_config_set_driver_trigger_pg0 - write driver trigger page 0
  1785	 * @ioc: per adapter object
  1786	 * @mpi_reply: reply mf payload returned from firmware
  1787	 * @config_page: contents of the config page
  1788	 * Context: sleep.
  1789	 *
  1790	 * Returns 0 for success, non-zero for failure.
  1791	 */
  1792	int
> 1793	_config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
  1794		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage0_t *config_page)
  1795	{
  1796		Mpi2ConfigRequest_t mpi_request;
  1797		int r;
  1798	
  1799		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1800		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1801		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1802		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1803		mpi_request.ExtPageType =
  1804		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1805		mpi_request.Header.PageNumber = 0;
  1806		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE0_PAGEVERSION;
  1807		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1808		r = _config_request(ioc, &mpi_request, mpi_reply,
  1809		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1810		if (r)
  1811			goto out;
  1812	
  1813		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_CURRENT;
  1814		_config_request(ioc, &mpi_request, mpi_reply,
  1815		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1816		    sizeof(*config_page));
  1817		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_NVRAM;
  1818		r = _config_request(ioc, &mpi_request, mpi_reply,
  1819		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1820		    sizeof(*config_page));
  1821	 out:
  1822		return r;
  1823	}
  1824	
  1825	/**
  1826	 * mpt3sas_config_update_driver_trigger_pg0 - update driver trigger page 0
  1827	 * @ioc: per adapter object
  1828	 * @trigger_flags: trigger type bit map
  1829	 * @set: set ot clear trigger values
  1830	 * Context: sleep.
  1831	 *
  1832	 * Returns 0 for success, non-zero for failure.
  1833	 */
  1834	int
  1835	mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
  1836		u16 trigger_flag, bool set)
  1837	{
  1838		Mpi26DriverTriggerPage0_t tg_pg0;
  1839		Mpi2ConfigReply_t mpi_reply;
  1840		int rc;
  1841		u16 flags, ioc_status;
  1842	
  1843		rc = mpt3sas_config_get_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0);
  1844		if (rc)
  1845			return rc;
  1846		ioc_status = le16_to_cpu(mpi_reply.IOCStatus) &
  1847		    MPI2_IOCSTATUS_MASK;
  1848		if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
  1849			dcprintk(ioc,
  1850			    ioc_err(ioc,
  1851			    "%s: Failed to get trigger pg0, ioc_status(0x%04x)\n",
  1852			    __func__, ioc_status));
  1853			return -EFAULT;
  1854		}
  1855	
  1856		if (set)
  1857			flags = le16_to_cpu(tg_pg0.TriggerFlags) | trigger_flag;
  1858		else
  1859			flags = le16_to_cpu(tg_pg0.TriggerFlags) & ~trigger_flag;
  1860	
  1861		tg_pg0.TriggerFlags = cpu_to_le16(flags);
  1862	
  1863		rc = _config_set_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0);
  1864		if (rc)
  1865			return rc;
  1866		ioc_status = le16_to_cpu(mpi_reply.IOCStatus) &
  1867		    MPI2_IOCSTATUS_MASK;
  1868		if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
  1869			dcprintk(ioc,
  1870			    ioc_err(ioc,
  1871			    "%s: Failed to update trigger pg0, ioc_status(0x%04x)\n",
  1872			    __func__, ioc_status));
  1873			return -EFAULT;
  1874		}
  1875	
  1876		return 0;
  1877	}
  1878	
  1879	/**
  1880	 * mpt3sas_config_get_driver_trigger_pg1 - obtain driver trigger page 1
  1881	 * @ioc: per adapter object
  1882	 * @mpi_reply: reply mf payload returned from firmware
  1883	 * @config_page: contents of the config page
  1884	 * Context: sleep.
  1885	 *
  1886	 * Returns 0 for success, non-zero for failure.
  1887	 */
  1888	int
  1889	mpt3sas_config_get_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
  1890		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage1_t *config_page)
  1891	{
  1892		Mpi2ConfigRequest_t mpi_request;
  1893		int r;
  1894	
  1895		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1896		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1897		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1898		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1899		mpi_request.ExtPageType =
  1900		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1901		mpi_request.Header.PageNumber = 1;
  1902		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE1_PAGEVERSION;
  1903		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1904		r = _config_request(ioc, &mpi_request, mpi_reply,
  1905		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1906		if (r)
  1907			goto out;
  1908	
  1909		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
  1910		r = _config_request(ioc, &mpi_request, mpi_reply,
  1911		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1912		    sizeof(*config_page));
  1913	 out:
  1914		return r;
  1915	}
  1916	
  1917	/**
  1918	 * mpt3sas_config_set_driver_trigger_pg1 - write driver trigger page 1
  1919	 * @ioc: per adapter object
  1920	 * @mpi_reply: reply mf payload returned from firmware
  1921	 * @config_page: contents of the config page
  1922	 * Context: sleep.
  1923	 *
  1924	 * Returns 0 for success, non-zero for failure.
  1925	 */
  1926	int
> 1927	_config_set_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
  1928		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage1_t *config_page)
  1929	{
  1930		Mpi2ConfigRequest_t mpi_request;
  1931		int r;
  1932	
  1933		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1934		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1935		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1936		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1937		mpi_request.ExtPageType =
  1938		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1939		mpi_request.Header.PageNumber = 1;
  1940		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE1_PAGEVERSION;
  1941		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1942		r = _config_request(ioc, &mpi_request, mpi_reply,
  1943		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1944		if (r)
  1945			goto out;
  1946	
  1947		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_CURRENT;
  1948		_config_request(ioc, &mpi_request, mpi_reply,
  1949		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1950		    sizeof(*config_page));
  1951		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_NVRAM;
  1952		r = _config_request(ioc, &mpi_request, mpi_reply,
  1953		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1954		    sizeof(*config_page));
  1955	 out:
  1956		return r;
  1957	}
  1958	

---
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: 45542 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 3/8] mpt3sas: Add master triggers persistent Trigger Page
Date: Tue, 24 Nov 2020 15:48:21 +0800	[thread overview]
Message-ID: <202011241524.HN1092e2-lkp@intel.com> (raw)
In-Reply-To: <20201124035019.27975-4-suganath-prabu.subramani@broadcom.com>

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

Hi Suganath,

I love your patch! Perhaps something to improve:

[auto build test WARNING on scsi/for-next]
[also build test WARNING on mkp-scsi/for-next v5.10-rc5 next-20201123]
[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/Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/9d619bffb390470be629fa99370eb823d64d796e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842
        git checkout 9d619bffb390470be629fa99370eb823d64d796e
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/scsi/mpt3sas/mpt3sas_config.c:1793:1: warning: no previous prototype for '_config_set_driver_trigger_pg0' [-Wmissing-prototypes]
    1793 | _config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/mpt3sas/mpt3sas_config.c:1835:1: warning: no previous prototype for 'mpt3sas_config_update_driver_trigger_pg0' [-Wmissing-prototypes]
    1835 | mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/mpt3sas/mpt3sas_config.c:1927:1: warning: no previous prototype for '_config_set_driver_trigger_pg1' [-Wmissing-prototypes]
    1927 | _config_set_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/mpt3sas/mpt3sas_config.c:1969:1: warning: no previous prototype for 'mpt3sas_config_update_driver_trigger_pg1' [-Wmissing-prototypes]
    1969 | mpt3sas_config_update_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/_config_set_driver_trigger_pg1 +1927 drivers/scsi/mpt3sas/mpt3sas_config.c

  1782	
  1783	/**
  1784	 * mpt3sas_config_set_driver_trigger_pg0 - write driver trigger page 0
  1785	 * @ioc: per adapter object
  1786	 * @mpi_reply: reply mf payload returned from firmware
  1787	 * @config_page: contents of the config page
  1788	 * Context: sleep.
  1789	 *
  1790	 * Returns 0 for success, non-zero for failure.
  1791	 */
  1792	int
> 1793	_config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
  1794		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage0_t *config_page)
  1795	{
  1796		Mpi2ConfigRequest_t mpi_request;
  1797		int r;
  1798	
  1799		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1800		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1801		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1802		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1803		mpi_request.ExtPageType =
  1804		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1805		mpi_request.Header.PageNumber = 0;
  1806		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE0_PAGEVERSION;
  1807		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1808		r = _config_request(ioc, &mpi_request, mpi_reply,
  1809		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1810		if (r)
  1811			goto out;
  1812	
  1813		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_CURRENT;
  1814		_config_request(ioc, &mpi_request, mpi_reply,
  1815		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1816		    sizeof(*config_page));
  1817		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_NVRAM;
  1818		r = _config_request(ioc, &mpi_request, mpi_reply,
  1819		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1820		    sizeof(*config_page));
  1821	 out:
  1822		return r;
  1823	}
  1824	
  1825	/**
  1826	 * mpt3sas_config_update_driver_trigger_pg0 - update driver trigger page 0
  1827	 * @ioc: per adapter object
  1828	 * @trigger_flags: trigger type bit map
  1829	 * @set: set ot clear trigger values
  1830	 * Context: sleep.
  1831	 *
  1832	 * Returns 0 for success, non-zero for failure.
  1833	 */
  1834	int
  1835	mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc,
  1836		u16 trigger_flag, bool set)
  1837	{
  1838		Mpi26DriverTriggerPage0_t tg_pg0;
  1839		Mpi2ConfigReply_t mpi_reply;
  1840		int rc;
  1841		u16 flags, ioc_status;
  1842	
  1843		rc = mpt3sas_config_get_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0);
  1844		if (rc)
  1845			return rc;
  1846		ioc_status = le16_to_cpu(mpi_reply.IOCStatus) &
  1847		    MPI2_IOCSTATUS_MASK;
  1848		if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
  1849			dcprintk(ioc,
  1850			    ioc_err(ioc,
  1851			    "%s: Failed to get trigger pg0, ioc_status(0x%04x)\n",
  1852			    __func__, ioc_status));
  1853			return -EFAULT;
  1854		}
  1855	
  1856		if (set)
  1857			flags = le16_to_cpu(tg_pg0.TriggerFlags) | trigger_flag;
  1858		else
  1859			flags = le16_to_cpu(tg_pg0.TriggerFlags) & ~trigger_flag;
  1860	
  1861		tg_pg0.TriggerFlags = cpu_to_le16(flags);
  1862	
  1863		rc = _config_set_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0);
  1864		if (rc)
  1865			return rc;
  1866		ioc_status = le16_to_cpu(mpi_reply.IOCStatus) &
  1867		    MPI2_IOCSTATUS_MASK;
  1868		if (ioc_status != MPI2_IOCSTATUS_SUCCESS) {
  1869			dcprintk(ioc,
  1870			    ioc_err(ioc,
  1871			    "%s: Failed to update trigger pg0, ioc_status(0x%04x)\n",
  1872			    __func__, ioc_status));
  1873			return -EFAULT;
  1874		}
  1875	
  1876		return 0;
  1877	}
  1878	
  1879	/**
  1880	 * mpt3sas_config_get_driver_trigger_pg1 - obtain driver trigger page 1
  1881	 * @ioc: per adapter object
  1882	 * @mpi_reply: reply mf payload returned from firmware
  1883	 * @config_page: contents of the config page
  1884	 * Context: sleep.
  1885	 *
  1886	 * Returns 0 for success, non-zero for failure.
  1887	 */
  1888	int
  1889	mpt3sas_config_get_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
  1890		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage1_t *config_page)
  1891	{
  1892		Mpi2ConfigRequest_t mpi_request;
  1893		int r;
  1894	
  1895		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1896		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1897		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1898		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1899		mpi_request.ExtPageType =
  1900		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1901		mpi_request.Header.PageNumber = 1;
  1902		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE1_PAGEVERSION;
  1903		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1904		r = _config_request(ioc, &mpi_request, mpi_reply,
  1905		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1906		if (r)
  1907			goto out;
  1908	
  1909		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_READ_CURRENT;
  1910		r = _config_request(ioc, &mpi_request, mpi_reply,
  1911		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1912		    sizeof(*config_page));
  1913	 out:
  1914		return r;
  1915	}
  1916	
  1917	/**
  1918	 * mpt3sas_config_set_driver_trigger_pg1 - write driver trigger page 1
  1919	 * @ioc: per adapter object
  1920	 * @mpi_reply: reply mf payload returned from firmware
  1921	 * @config_page: contents of the config page
  1922	 * Context: sleep.
  1923	 *
  1924	 * Returns 0 for success, non-zero for failure.
  1925	 */
  1926	int
> 1927	_config_set_driver_trigger_pg1(struct MPT3SAS_ADAPTER *ioc,
  1928		Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage1_t *config_page)
  1929	{
  1930		Mpi2ConfigRequest_t mpi_request;
  1931		int r;
  1932	
  1933		memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t));
  1934		mpi_request.Function = MPI2_FUNCTION_CONFIG;
  1935		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER;
  1936		mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED;
  1937		mpi_request.ExtPageType =
  1938		    MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER;
  1939		mpi_request.Header.PageNumber = 1;
  1940		mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE1_PAGEVERSION;
  1941		ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE);
  1942		r = _config_request(ioc, &mpi_request, mpi_reply,
  1943		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0);
  1944		if (r)
  1945			goto out;
  1946	
  1947		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_CURRENT;
  1948		_config_request(ioc, &mpi_request, mpi_reply,
  1949		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1950		    sizeof(*config_page));
  1951		mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_NVRAM;
  1952		r = _config_request(ioc, &mpi_request, mpi_reply,
  1953		    MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page,
  1954		    sizeof(*config_page));
  1955	 out:
  1956		return r;
  1957	}
  1958	

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

  reply	other threads:[~2020-11-24  7:49 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-24  3:50 [PATCH 0/8] mpt3sas: Features to enhance driver debugging Suganath Prabu S
2020-11-24  3:50 ` [PATCH 1/8] mpt3sas: Sync time stamp periodically between Driver and FW Suganath Prabu S
2020-11-24  7:46   ` kernel test robot
2020-11-24  7:46     ` kernel test robot
2020-11-24  3:50 ` [PATCH 2/8] mpt3sas: Add persistent trigger pages support Suganath Prabu S
2020-11-24  6:34   ` kernel test robot
2020-11-24  6:34     ` kernel test robot
2020-11-24  8:41   ` kernel test robot
2020-11-24  8:41     ` kernel test robot
2020-11-24  8:41   ` [RFC PATCH] mpt3sas: _config_set_driver_trigger_pg0 can be static kernel test robot
2020-11-24  8:41     ` kernel test robot
2020-11-24  3:50 ` [PATCH 3/8] mpt3sas: Add master triggers persistent Trigger Page Suganath Prabu S
2020-11-24  7:48   ` kernel test robot [this message]
2020-11-24  7:48     ` kernel test robot
2020-11-24  9:25   ` kernel test robot
2020-11-24  9:25     ` kernel test robot
2020-11-24  9:25   ` [RFC PATCH] mpt3sas: _config_set_driver_trigger_pg1 can be static kernel test robot
2020-11-24  9:25     ` kernel test robot
2020-11-24  3:50 ` [PATCH 4/8] mpt3sas: Add Event triggers persistent Trigger Page2 Suganath Prabu S
2020-11-24  8:40   ` kernel test robot
2020-11-24  8:40     ` kernel test robot
2020-11-24 10:24   ` kernel test robot
2020-11-24 10:24     ` kernel test robot
2020-11-24 10:24   ` [RFC PATCH] mpt3sas: _config_set_driver_trigger_pg2 can be static kernel test robot
2020-11-24 10:24     ` kernel test robot
2020-11-24  3:50 ` [PATCH 5/8] mpt3sas: Add SCSI sense triggers persistent Trigger Page3 Suganath Prabu S
2020-11-24  9:52   ` kernel test robot
2020-11-24  9:52     ` kernel test robot
2020-11-24 11:09   ` kernel test robot
2020-11-24 11:09     ` kernel test robot
2020-11-24 11:09   ` [RFC PATCH] mpt3sas: _config_set_driver_trigger_pg3 can be static kernel test robot
2020-11-24 11:09     ` kernel test robot
2020-11-24  3:50 ` [PATCH 6/8] mpt3sas: Add MPI triggers persistent Trigger Page4 Suganath Prabu S
2020-11-24 11:03   ` kernel test robot
2020-11-24 11:03     ` kernel test robot
2020-11-24 12:05   ` kernel test robot
2020-11-24 12:05     ` kernel test robot
2020-11-24 12:05   ` [RFC PATCH] mpt3sas: _config_set_driver_trigger_pg4 can be static kernel test robot
2020-11-24 12:05     ` kernel test robot
2020-11-24  3:50 ` [PATCH 7/8] mpt3sas: Handle trigger page support after reset Suganath Prabu S
2020-11-24  3:50 ` [PATCH 8/8] mpt3sas: Update driver version to 36.100.00.00 Suganath Prabu S

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=202011241524.HN1092e2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Sathya.Prakash@broadcom.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=sreekanth.reddy@broadcom.com \
    --cc=suganath-prabu.subramani@broadcom.com \
    /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.