Merge tag 'char-misc-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char / misc / iio driver updates from Greg KH:
"Here is the big char/misc/iio and other small driver subsystem pull
request for 6.16-rc1.
Overall, a lot of individual changes, but nothing major, just the
normal constant forward progress of new device support and cleanups to
existing subsystems. Highlights in here are:
- Large IIO driver updates and additions and device tree changes
- Android binder bugfixes and logfile fixes
- mhi driver updates
- comedi driver updates
- counter driver updates and additions
- coresight driver updates and additions
- echo driver removal as there are no in-kernel users of it
- nvmem driver updates
- spmi driver updates
- new amd-sbi driver "subsystem" and drivers added
- rust miscdriver binding documentation fix
- other small driver fixes and updates (uio, w1, acrn, hpet,
xillybus, cardreader drivers, fastrpc and others)
All of these have been in linux-next for quite a while with no
reported problems"
* tag 'char-misc-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (390 commits)
binder: fix yet another UAF in binder_devices
counter: microchip-tcb-capture: Add watch validation support
dt-bindings: iio: adc: Add ROHM BD79100G
iio: adc: add support for Nuvoton NCT7201
dt-bindings: iio: adc: add NCT7201 ADCs
iio: chemical: Add driver for SEN0322
dt-bindings: trivial-devices: Document SEN0322
iio: adc: ad7768-1: reorganize driver headers
iio: bmp280: zero-init buffer
iio: ssp_sensors: optimalize -> optimize
HID: sensor-hub: Fix typo and improve documentation
iio: admv1013: replace redundant ternary operator with just len
iio: chemical: mhz19b: Fix error code in probe()
iio: adc: at91-sama5d2: use IIO_DECLARE_BUFFER_WITH_TS
iio: accel: sca3300: use IIO_DECLARE_BUFFER_WITH_TS
iio: adc: ad7380: use IIO_DECLARE_DMA_BUFFER_WITH_TS
iio: adc: ad4695: rename AD4695_MAX_VIN_CHANNELS
iio: adc: ad4695: use IIO_DECLARE_DMA_BUFFER_WITH_TS
iio: introduce IIO_DECLARE_BUFFER_WITH_TS macros
iio: make IIO_DMA_MINALIGN minimum of 8 bytes
...
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (C) 2021-2024 Advanced Micro Devices, Inc.
|
||||
*/
|
||||
#ifndef _AMD_APML_H_
|
||||
#define _AMD_APML_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Mailbox data size for data_in and data_out */
|
||||
#define AMD_SBI_MB_DATA_SIZE 4
|
||||
|
||||
struct apml_mbox_msg {
|
||||
/*
|
||||
* Mailbox Message ID
|
||||
*/
|
||||
__u32 cmd;
|
||||
/*
|
||||
* [0]...[3] mailbox 32bit input/output data
|
||||
*/
|
||||
__u32 mb_in_out;
|
||||
/*
|
||||
* Error code is returned in case of soft mailbox error
|
||||
*/
|
||||
__u32 fw_ret_code;
|
||||
};
|
||||
|
||||
struct apml_cpuid_msg {
|
||||
/*
|
||||
* CPUID input
|
||||
* [0]...[3] cpuid func,
|
||||
* [4][5] cpuid: thread
|
||||
* [6] cpuid: ext function & read eax/ebx or ecx/edx
|
||||
* [7:0] -> bits [7:4] -> ext function &
|
||||
* bit [0] read eax/ebx or ecx/edx
|
||||
* CPUID output
|
||||
*/
|
||||
__u64 cpu_in_out;
|
||||
/*
|
||||
* Status code for CPUID read
|
||||
*/
|
||||
__u32 fw_ret_code;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct apml_mcamsr_msg {
|
||||
/*
|
||||
* MCAMSR input
|
||||
* [0]...[3] mca msr func,
|
||||
* [4][5] thread
|
||||
* MCAMSR output
|
||||
*/
|
||||
__u64 mcamsr_in_out;
|
||||
/*
|
||||
* Status code for MCA/MSR access
|
||||
*/
|
||||
__u32 fw_ret_code;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct apml_reg_xfer_msg {
|
||||
/*
|
||||
* RMI register address offset
|
||||
*/
|
||||
__u16 reg_addr;
|
||||
/*
|
||||
* Register data for read/write
|
||||
*/
|
||||
__u8 data_in_out;
|
||||
/*
|
||||
* Register read or write
|
||||
*/
|
||||
__u8 rflag;
|
||||
};
|
||||
|
||||
/*
|
||||
* AMD sideband interface base IOCTL
|
||||
*/
|
||||
#define SB_BASE_IOCTL_NR 0xF9
|
||||
|
||||
/**
|
||||
* DOC: SBRMI_IOCTL_MBOX_CMD
|
||||
*
|
||||
* @Parameters
|
||||
*
|
||||
* @struct apml_mbox_msg
|
||||
* Pointer to the &struct apml_mbox_msg that will contain the protocol
|
||||
* information
|
||||
*
|
||||
* @Description
|
||||
* IOCTL command for APML messages using generic _IOWR
|
||||
* The IOCTL provides userspace access to AMD sideband mailbox protocol
|
||||
* - Mailbox message read/write(0x0~0xFF)
|
||||
* - returning "-EFAULT" if none of the above
|
||||
* "-EPROTOTYPE" error is returned to provide additional error details
|
||||
*/
|
||||
#define SBRMI_IOCTL_MBOX_CMD _IOWR(SB_BASE_IOCTL_NR, 0, struct apml_mbox_msg)
|
||||
|
||||
/**
|
||||
* DOC: SBRMI_IOCTL_CPUID_CMD
|
||||
*
|
||||
* @Parameters
|
||||
*
|
||||
* @struct apml_cpuid_msg
|
||||
* Pointer to the &struct apml_cpuid_msg that will contain the protocol
|
||||
* information
|
||||
*
|
||||
* @Description
|
||||
* IOCTL command for APML messages using generic _IOWR
|
||||
* The IOCTL provides userspace access to AMD sideband cpuid protocol
|
||||
* - CPUID protocol to get CPU details for Function/Ext Function
|
||||
* at thread level
|
||||
* - returning "-EFAULT" if none of the above
|
||||
* "-EPROTOTYPE" error is returned to provide additional error details
|
||||
*/
|
||||
#define SBRMI_IOCTL_CPUID_CMD _IOWR(SB_BASE_IOCTL_NR, 1, struct apml_cpuid_msg)
|
||||
|
||||
/**
|
||||
* DOC: SBRMI_IOCTL_MCAMSR_CMD
|
||||
*
|
||||
* @Parameters
|
||||
*
|
||||
* @struct apml_mcamsr_msg
|
||||
* Pointer to the &struct apml_mcamsr_msg that will contain the protocol
|
||||
* information
|
||||
*
|
||||
* @Description
|
||||
* IOCTL command for APML messages using generic _IOWR
|
||||
* The IOCTL provides userspace access to AMD sideband MCAMSR protocol
|
||||
* - MCAMSR protocol to get MCA bank details for Function at thread level
|
||||
* - returning "-EFAULT" if none of the above
|
||||
* "-EPROTOTYPE" error is returned to provide additional error details
|
||||
*/
|
||||
#define SBRMI_IOCTL_MCAMSR_CMD _IOWR(SB_BASE_IOCTL_NR, 2, struct apml_mcamsr_msg)
|
||||
|
||||
/**
|
||||
* DOC: SBRMI_IOCTL_REG_XFER_CMD
|
||||
*
|
||||
* @Parameters
|
||||
*
|
||||
* @struct apml_reg_xfer_msg
|
||||
* Pointer to the &struct apml_reg_xfer_msg that will contain the protocol
|
||||
* information
|
||||
*
|
||||
* @Description
|
||||
* IOCTL command for APML messages using generic _IOWR
|
||||
* The IOCTL provides userspace access to AMD sideband register xfer protocol
|
||||
* - Register xfer protocol to get/set hardware register for given offset
|
||||
*/
|
||||
#define SBRMI_IOCTL_REG_XFER_CMD _IOWR(SB_BASE_IOCTL_NR, 3, struct apml_reg_xfer_msg)
|
||||
|
||||
#endif /*_AMD_APML_H_*/
|
||||
Reference in New Issue
Block a user