mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
misc: mods: update from Perforce to 4.21
Bug 4165184 Change-Id: I6b548008b21024d8e322c5a1ca1f98fbc5b389a2 Signed-off-by: Chris Dragan <kdragan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2975467 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
4ded4286d6
commit
a7810cdbac
@@ -1953,6 +1953,38 @@ static int esc_mods_write_msr(struct mods_client *client, struct MODS_MSR *p)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
|
||||
static int esc_mods_idle(struct mods_client *client, struct MODS_IDLE *p)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
LOG_ENT();
|
||||
|
||||
switch (p->idle_method) {
|
||||
|
||||
case MODS_IDLE_METHOD_ARM_WFI:
|
||||
dsb(st);
|
||||
for (i = 0; i < p->num_loops; i++)
|
||||
wfi();
|
||||
break;
|
||||
|
||||
case MODS_IDLE_METHOD_ARM_WFE:
|
||||
dsb(st);
|
||||
for (i = 0; i < p->num_loops; i++)
|
||||
wfe();
|
||||
break;
|
||||
|
||||
default:
|
||||
cl_error("unsupported idle method %u\n", p->idle_method);
|
||||
LOG_EXT();
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
LOG_EXT();
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int esc_mods_get_driver_stats(struct mods_client *client,
|
||||
struct MODS_GET_DRIVER_STATS *p)
|
||||
{
|
||||
@@ -2661,6 +2693,11 @@ static long mods_krnl_ioctl(struct file *fp,
|
||||
MODS_FLUSH_CPU_CACHE_RANGE);
|
||||
break;
|
||||
#endif
|
||||
#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
|
||||
case MODS_ESC_IDLE:
|
||||
MODS_IOCTL_NORETVAL(MODS_ESC_IDLE, esc_mods_idle, MODS_IDLE);
|
||||
break;
|
||||
#endif
|
||||
#if defined(MODS_HAS_TEGRA) && defined(CONFIG_DMA_SHARED_BUFFER)
|
||||
case MODS_ESC_DMABUF_GET_PHYSICAL_ADDRESS:
|
||||
MODS_IOCTL(MODS_ESC_DMABUF_GET_PHYSICAL_ADDRESS,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
/* Driver version */
|
||||
#define MODS_DRIVER_VERSION_MAJOR 4
|
||||
#define MODS_DRIVER_VERSION_MINOR 20
|
||||
#define MODS_DRIVER_VERSION_MINOR 21
|
||||
#define MODS_DRIVER_VERSION ((MODS_DRIVER_VERSION_MAJOR << 8) | \
|
||||
((MODS_DRIVER_VERSION_MINOR / 10) << 4) | \
|
||||
(MODS_DRIVER_VERSION_MINOR % 10))
|
||||
@@ -1935,6 +1935,18 @@ struct MODS_BPMP_UPHY_LANE_EOM_SCAN_PARAMS {
|
||||
__u32 data;
|
||||
};
|
||||
|
||||
#define MODS_IDLE_METHOD_ARM_WFI 0
|
||||
#define MODS_IDLE_METHOD_ARM_WFE 1
|
||||
|
||||
/* Used by MODS_ESC_IDLE
|
||||
*
|
||||
* Idles the calling CPU.
|
||||
*/
|
||||
struct MODS_IDLE {
|
||||
__u32 idle_method;
|
||||
__u32 num_loops;
|
||||
};
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#define MODS_IOC_MAGIC 'x'
|
||||
@@ -2151,5 +2163,6 @@ struct MODS_BPMP_UPHY_LANE_EOM_SCAN_PARAMS {
|
||||
#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)
|
||||
#define MODS_ESC_IDLE MODSIO(W, 147, MODS_IDLE)
|
||||
|
||||
#endif /* _UAPI_MODS_H_ */
|
||||
|
||||
Reference in New Issue
Block a user