All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH v5 06/11] misc: amd-sbi: Add support for AMD_SBI IOCTL
@ 2025-03-07  3:39 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-03-07  3:39 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250303105902.215009-7-akshay.gupta@amd.com>
References: <20250303105902.215009-7-akshay.gupta@amd.com>
TO: Akshay Gupta <akshay.gupta@amd.com>
TO: linux-hwmon@vger.kernel.org
TO: linux-kernel@vger.kernel.org
CC: linux@roeck-us.net
CC: gregkh@linuxfoundation.org
CC: arnd@arndb.de
CC: shyam-sundar.s-k@amd.com
CC: gautham.shenoy@amd.com
CC: mario.limonciello@amd.com
CC: naveenkrishna.chatradhi@amd.com
CC: Akshay Gupta <akshay.gupta@amd.com>

Hi Akshay,

kernel test robot noticed the following build warnings:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on char-misc/char-misc-next char-misc/char-misc-linus groeck-staging/hwmon-next soc/for-next linus/master v6.14-rc5 next-20250306]
[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/Akshay-Gupta/hwmon-misc-amd-sbi-Move-core-sbrmi-from-hwmon-to-misc/20250303-190830
base:   char-misc/char-misc-testing
patch link:    https://lore.kernel.org/r/20250303105902.215009-7-akshay.gupta%40amd.com
patch subject: [PATCH v5 06/11] misc: amd-sbi: Add support for AMD_SBI IOCTL
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: riscv-randconfig-r072-20250306 (https://download.01.org/0day-ci/archive/20250307/202503071145.fhmAEjMr-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)

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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202503071145.fhmAEjMr-lkp@intel.com/

smatch warnings:
drivers/misc/amd-sbi/rmi-core.c:110 sbrmi_ioctl() warn: can 'data' even be NULL?

vim +/data +110 drivers/misc/amd-sbi/rmi-core.c

dd49a6be4bc20c Akshay Gupta 2025-03-03  100  
dd49a6be4bc20c Akshay Gupta 2025-03-03  101  static long sbrmi_ioctl(struct file *fp, unsigned int cmd, unsigned long arg)
dd49a6be4bc20c Akshay Gupta 2025-03-03  102  {
dd49a6be4bc20c Akshay Gupta 2025-03-03  103  	int __user *arguser = (int  __user *)arg;
dd49a6be4bc20c Akshay Gupta 2025-03-03  104  	struct apml_message msg = { 0 };
dd49a6be4bc20c Akshay Gupta 2025-03-03  105  	bool read = false;
dd49a6be4bc20c Akshay Gupta 2025-03-03  106  	int ret;
dd49a6be4bc20c Akshay Gupta 2025-03-03  107  
dd49a6be4bc20c Akshay Gupta 2025-03-03  108  	struct sbrmi_data *data = container_of(fp->private_data, struct sbrmi_data,
dd49a6be4bc20c Akshay Gupta 2025-03-03  109  					       sbrmi_misc_dev);
dd49a6be4bc20c Akshay Gupta 2025-03-03 @110  	if (!data)
dd49a6be4bc20c Akshay Gupta 2025-03-03  111  		return -ENODEV;
dd49a6be4bc20c Akshay Gupta 2025-03-03  112  
dd49a6be4bc20c Akshay Gupta 2025-03-03  113  	/* Copy the structure from user */
dd49a6be4bc20c Akshay Gupta 2025-03-03  114  	if (copy_struct_from_user(&msg, sizeof(msg), arguser,
dd49a6be4bc20c Akshay Gupta 2025-03-03  115  				  sizeof(struct apml_message)))
dd49a6be4bc20c Akshay Gupta 2025-03-03  116  		return -EFAULT;
dd49a6be4bc20c Akshay Gupta 2025-03-03  117  
dd49a6be4bc20c Akshay Gupta 2025-03-03  118  	/* Is this a read/monitor/get request */
dd49a6be4bc20c Akshay Gupta 2025-03-03  119  	if (msg.data_in.reg_in[AMD_SBI_RD_FLAG_INDEX])
dd49a6be4bc20c Akshay Gupta 2025-03-03  120  		read = true;
dd49a6be4bc20c Akshay Gupta 2025-03-03  121  
dd49a6be4bc20c Akshay Gupta 2025-03-03  122  	switch (msg.cmd) {
dd49a6be4bc20c Akshay Gupta 2025-03-03  123  	case 0 ... 0x999:
dd49a6be4bc20c Akshay Gupta 2025-03-03  124  		/* Mailbox protocol */
dd49a6be4bc20c Akshay Gupta 2025-03-03  125  		ret = rmi_mailbox_xfer(data, &msg);
dd49a6be4bc20c Akshay Gupta 2025-03-03  126  		break;
dd49a6be4bc20c Akshay Gupta 2025-03-03  127  	default:
dd49a6be4bc20c Akshay Gupta 2025-03-03  128  		return -EINVAL;
dd49a6be4bc20c Akshay Gupta 2025-03-03  129  	}
dd49a6be4bc20c Akshay Gupta 2025-03-03  130  
dd49a6be4bc20c Akshay Gupta 2025-03-03  131  	/* Copy results back to user only for get/monitor commands and firmware failures */
dd49a6be4bc20c Akshay Gupta 2025-03-03  132  	if ((read && !ret) || ret == -EPROTOTYPE) {
dd49a6be4bc20c Akshay Gupta 2025-03-03  133  		if (copy_to_user(arguser, &msg, sizeof(struct apml_message)))
dd49a6be4bc20c Akshay Gupta 2025-03-03  134  			ret = -EFAULT;
dd49a6be4bc20c Akshay Gupta 2025-03-03  135  	}
dd49a6be4bc20c Akshay Gupta 2025-03-03  136  	return ret;
dd49a6be4bc20c Akshay Gupta 2025-03-03  137  }
dd49a6be4bc20c Akshay Gupta 2025-03-03  138  

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

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [PATCH v5 00/11] misc: Move AMD side band interface(SBI) functionality
@ 2025-03-03 10:58 Akshay Gupta
  2025-03-03 10:58 ` [PATCH v5 06/11] misc: amd-sbi: Add support for AMD_SBI IOCTL Akshay Gupta
  0 siblings, 1 reply; 4+ messages in thread
From: Akshay Gupta @ 2025-03-03 10:58 UTC (permalink / raw)
  To: linux-hwmon, linux-kernel
  Cc: linux, gregkh, arnd, shyam-sundar.s-k, gautham.shenoy,
	mario.limonciello, naveenkrishna.chatradhi, Akshay Gupta

At present, sbrmi driver under hwmon subsystem, is probed as an i2c driver,
fetches data using APML specified protocol and reports through hwmon power sensor.

AMD provides additional information using custom protocols, which cannot be
enumerated as hwmon sensors. Hence, move the existing functionality from hwmon/
to misc/ and add support for following custom protocols
  - read Processor feature capabilities and configuration information
    through side band.
  - read Machine Check Architecture(MCA) registers over sideband.
    The information is accessed for range of MCA registers by passing
    register address and thread ID to the protocol.

NOTE: AMD defines Advanced Platform Management Link (APML) interface which provides
system management functionality access to the baseboard management
controller (BMC).

This patchset is an attempt to keep all APML core functionality in one place,
provide hwmon and IOCTL interface to user space
1. [Patch 1] Move the i2c client probe, hwmon sensors and sbrmi core functionality
   from drivers/hwmon to drivers/misc/
2. [Patch 2] Move sbrmi core functionality to new core file to export core functionality
3. [Patch 3] Move hwmon device sensor as separate entity
4. [Patch 4] Convert i2c to regmap which provides multiple benefits
   over direct smbus APIs.
    a. i2c/i3c support and 
    b. 1 byte/2 byte RMI register size addressing
5. [Patch 5] Optimize wait condition with regmap API regmap_read_poll_timeout as per
   suggestion from Arnd
6. [Patch 6, 7] Register a misc device which provides
    a. An ioctl interface through node /dev/sbrmiX
    b. Register sets is common across APML protocols. IOCTL is providing
       synchronization among protocols as transactions may create
       race condition.
7. [Subsequent patches 8, 9 and 10] add support for AMD custom protocols
    a. CPUID
    b. MCAMSR
    c. Register xfer
8. [Patch 11] AMD side band description document

Open-sourced and widely used [1]_ will continue to provide user-space programmable API.

.. [1] https://github.com/amd/esmi_oob_library

Akshay Gupta (11):
  hwmon/misc: amd-sbi: Move core sbrmi from hwmon to misc
  misc: amd-sbi: Move protocol functionality to core file
  misc: amd-sbi: Move hwmon device sensor as separate entity
  misc: amd-sbi: Use regmap subsystem
  misc: amd-sbi: Optimize the wait condition for mailbox command
    completion
  misc: amd-sbi: Add support for AMD_SBI IOCTL
  misc: amd-sbi: Add support for mailbox error codes
  misc: amd-sbi: Add support for CPUID protocol
  misc: amd-sbi: Add support for read MCA register protocol
  misc: amd-sbi: Add support for register xfer
  misc: amd-sbi: Add document for AMD SB IOCTL description

 Documentation/misc-devices/amd-sbi.rst        |  87 ++++
 Documentation/misc-devices/index.rst          |   1 +
 .../userspace-api/ioctl/ioctl-number.rst      |   2 +
 drivers/hwmon/Kconfig                         |  10 -
 drivers/hwmon/sbrmi.c                         | 357 --------------
 drivers/misc/Kconfig                          |   1 +
 drivers/misc/Makefile                         |   1 +
 drivers/misc/amd-sbi/Kconfig                  |   9 +
 drivers/misc/amd-sbi/Makefile                 |   3 +
 drivers/misc/amd-sbi/rmi-core.c               | 445 ++++++++++++++++++
 drivers/misc/amd-sbi/rmi-core.h               |  67 +++
 drivers/misc/amd-sbi/rmi-hwmon.c              | 122 +++++
 drivers/misc/amd-sbi/rmi-i2c.c                | 133 ++++++
 include/uapi/misc/amd-apml.h                  |  97 ++++
 14 files changed, 968 insertions(+), 367 deletions(-)
 create mode 100644 Documentation/misc-devices/amd-sbi.rst
 delete mode 100644 drivers/hwmon/sbrmi.c
 create mode 100644 drivers/misc/amd-sbi/Kconfig
 create mode 100644 drivers/misc/amd-sbi/Makefile
 create mode 100644 drivers/misc/amd-sbi/rmi-core.c
 create mode 100644 drivers/misc/amd-sbi/rmi-core.h
 create mode 100644 drivers/misc/amd-sbi/rmi-hwmon.c
 create mode 100644 drivers/misc/amd-sbi/rmi-i2c.c
 create mode 100644 include/uapi/misc/amd-apml.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-03-07 10:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-07  3:39 [PATCH v5 06/11] misc: amd-sbi: Add support for AMD_SBI IOCTL kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2025-03-03 10:58 [PATCH v5 00/11] misc: Move AMD side band interface(SBI) functionality Akshay Gupta
2025-03-03 10:58 ` [PATCH v5 06/11] misc: amd-sbi: Add support for AMD_SBI IOCTL Akshay Gupta
2025-03-03 16:18   ` Arnd Bergmann
2025-03-07 10:43     ` Gupta, Akshay

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.