diff options
author | Jason M. Bills <jason.m.bills@intel.com> | 2022-03-02 21:29:51 +0300 |
---|---|---|
committer | jmbills <jasonm.bills@yahoo.com> | 2022-03-11 00:27:19 +0300 |
commit | c99771723899dbb2cedf8611563f39bdd252c5e3 (patch) | |
tree | f8582348e01d57e029c012a20dd3e07af4611cef | |
parent | 246e36dba646e1fc5176e536bf9e80b2a3a6ba5f (diff) | |
download | linux-c99771723899dbb2cedf8611563f39bdd252c5e3.tar.xz |
peci: add domain_id to the PECI command stuctures
This adds an additional field to the PECI command structures to support
passing the domain ID parameter as part of the command.
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
-rw-r--r-- | include/uapi/linux/peci-ioctl.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/uapi/linux/peci-ioctl.h b/include/uapi/linux/peci-ioctl.h index ab7c0239103a..9b1dc539176d 100644 --- a/include/uapi/linux/peci-ioctl.h +++ b/include/uapi/linux/peci-ioctl.h @@ -161,6 +161,7 @@ struct peci_get_temp_msg { * @rx_len: number of data to be read in bytes * @cc: completion code * @pkg_config: package config data to be read + * @domain_id: domain ID of the client * * The RdPkgConfig() command provides read access to the Package Configuration * Space (PCS) within the processor, including various power and thermal @@ -240,6 +241,8 @@ struct peci_rd_pkg_cfg_msg { __u8 cc; __u8 padding[2]; __u8 pkg_config[4]; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /** @@ -250,6 +253,7 @@ struct peci_rd_pkg_cfg_msg { * @tx_len: number of data to be written in bytes * @cc: completion code * @value: package config data to be written + * @domain_id: domain ID of the client * * The WrPkgConfig() command provides write access to the Package Configuration * Space (PCS) within the processor, including various power and thermal @@ -272,6 +276,8 @@ struct peci_wr_pkg_cfg_msg { __u8 cc; __u8 padding[2]; __u32 value; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /** @@ -281,6 +287,7 @@ struct peci_wr_pkg_cfg_msg { * @address: address of MSR to read from * @cc: completion code * @value: data to be read + * @domain_id: domain ID of the client * * The RdIAMSR() PECI command provides read access to Model Specific Registers * (MSRs) defined in the processor's Intel Architecture (IA). @@ -296,6 +303,8 @@ struct peci_rd_ia_msr_msg { __u8 cc; __u8 padding[3]; __u64 value; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /** @@ -306,6 +315,7 @@ struct peci_rd_ia_msr_msg { * @tx_len: number of data to be written in bytes * @cc: completion code * @value: data to be written + * @domain_id: domain ID of the client * * The WrIAMSR() PECI command provides write access to Model Specific Registers * (MSRs) defined in the processor's Intel Architecture (IA). @@ -320,6 +330,8 @@ struct peci_wr_ia_msr_msg { __u8 cc; __u8 padding[2]; __u64 value; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /** @@ -329,6 +341,7 @@ struct peci_wr_ia_msr_msg { * @address: address of MSR to read from * @cc: completion code * @value: data to be read + * @domain_id: domain ID of the client * * The RdIAMSREX() PECI command provides read access to Model Specific * Registers (MSRs) defined in the processor's Intel Architecture (IA). @@ -348,6 +361,8 @@ struct peci_rd_ia_msrex_msg { __u8 cc; __u8 padding1; __u64 value; + __u8 domain_id; + __u8 padding2[3]; } __attribute__((__packed__)); /** @@ -359,6 +374,7 @@ struct peci_rd_ia_msrex_msg { * @reg: specific register to read from * @cc: completion code * @pci_config: config data to be read + * @domain_id: domain ID of the client * * The RdPCIConfig() command provides sideband read access to the PCI * configuration space maintained in downstream devices external to the @@ -387,6 +403,8 @@ struct peci_rd_pci_cfg_msg { __u8 cc; __u8 padding[1]; __u8 pci_config[4]; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /** @@ -399,6 +417,7 @@ struct peci_rd_pci_cfg_msg { * @tx_len: number of data to be written in bytes * @cc: completion code * @pci_config: config data to be written + * @domain_id: domain ID of the client * * The RdPCIConfig() command provides sideband write access to the PCI * configuration space maintained in downstream devices external to the @@ -415,6 +434,8 @@ struct peci_wr_pci_cfg_msg { __u8 tx_len; __u8 cc; __u8 pci_config[4]; + __u8 domain_id; + __u8 padding[3]; } __attribute__((__packed__)); /** @@ -427,6 +448,7 @@ struct peci_wr_pci_cfg_msg { * @rx_len: number of data to be read in bytes * @cc: completion code * @pci_config: config data to be read + * @domain_id: domain ID of the client * * The RdPCIConfigLocal() command provides sideband read access to the PCI * configuration space that resides within the processor. This includes all @@ -445,6 +467,8 @@ struct peci_rd_pci_cfg_local_msg { __u8 rx_len; __u8 cc; __u8 pci_config[4]; + __u8 domain_id; + __u8 padding[3]; } __attribute__((__packed__)); /** @@ -457,6 +481,7 @@ struct peci_rd_pci_cfg_local_msg { * @tx_len: number of data to be written in bytes * @cc: completion code * @value: config data to be written + * @domain_id: domain ID of the client * * The WrPCIConfigLocal() command provides sideband write access to the PCI * configuration space that resides within the processor. PECI originators can @@ -475,6 +500,8 @@ struct peci_wr_pci_cfg_local_msg { __u8 tx_len; __u8 cc; __u32 value; + __u8 domain_id; + __u8 padding[3]; } __attribute__((__packed__)); struct peci_rd_end_pt_cfg_msg { @@ -516,6 +543,8 @@ struct peci_rd_end_pt_cfg_msg { __u8 cc; __u8 padding[2]; __u8 data[8]; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); struct peci_wr_end_pt_cfg_msg { @@ -553,6 +582,8 @@ struct peci_wr_end_pt_cfg_msg { __u8 cc; __u8 padding[2]; __u64 value; + __u8 domain_id; + __u8 padding1[3]; } __attribute__((__packed__)); /* Crashdump Agent */ @@ -579,6 +610,8 @@ struct peci_crashdump_disc_msg { __u8 param2; __u8 rx_len; __u8 data[8]; + __u8 domain_id; + __u8 padding[3]; } __attribute__((__packed__)); struct peci_crashdump_get_frame_msg { @@ -601,6 +634,8 @@ struct peci_crashdump_get_frame_msg { __u8 cc; __u8 padding1[2]; __u8 data[16]; + __u8 domain_id; + __u8 padding2[3]; } __attribute__((__packed__)); #define PECI_IOC_BASE 0xb8 |