drivers/misc/mods: Add mods_bpmpipc component

- Add mods_bpmpipc component for support BPMP MRQ comunication on
  "product_security" fused chips
- Add ioctl "MODS_ESC_BPMP_UPHY_LANE_EOM_SCAN" for uphy eom read

DVS: https://builds4u.nvidia.com/dvs/#/change/3220339765791234.2?showTab=DVS

JIRA TM-949
Bug 3846090

Change-Id: I1aebf99b7516d55cd84e01a6ba36801546bbb1ed
Signed-off-by: koenz <koenz@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2828417
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
koenz
2022-11-08 16:08:28 +08:00
committed by Laxman Dewangan
parent 9265e42093
commit 0e7a054913
5 changed files with 406 additions and 0 deletions

View File

@@ -1927,6 +1927,26 @@ struct MODS_PROXIMITY_TO_NUMA_NODE {
__s32 numa_node;
};
/* Used by MODS_ESC_BPMP_UPHY_LANE_EOM_SCAN
*
* Get EOM data of UPHY lane from bpmp
*/
struct MODS_BPMP_UPHY_LANE_EOM_SCAN_PARAMS {
/* IN */
/* the address of bpmp db/req/resp is various for different
* chip/socket, the value of them will be passed from user.
*/
__u64 db_phys_addr;
__u64 req_phys_addr;
__u64 resp_phys_addr;
__u32 brick;
__u32 lane;
__u32 pcie_gen5;
/* OUT */
__u32 data;
};
#pragma pack(pop)
#define MODS_IOC_MAGIC 'x'
@@ -2133,5 +2153,8 @@ struct MODS_PROXIMITY_TO_NUMA_NODE {
#define MODS_ESC_PROXIMITY_TO_NUMA_NODE MODSIO(WR, 143, MODS_PROXIMITY_TO_NUMA_NODE)
#define MODS_ESC_MODS_SEND_IPI MODSIO(W, 144, MODS_SEND_IPI)
#define MODS_ESC_FFA_CMD MODSIO(WR, 145, MODS_FFA_PARAMS)
#define MODS_ESC_BPMP_UPHY_LANE_EOM_SCAN MODSIO(WR, 146, \
MODS_BPMP_UPHY_LANE_EOM_SCAN_PARAMS)
#endif /* _UAPI_MODS_H_ */