mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 09:57:08 +03:00
gpu: nvgpu: Add thermal alert limit IOCTL for UMD
Added the thermal alert lmit IOCTL for UMD JIRA DNVGPU-130 Bug 200231080 Change-Id: I4a84157d90b12b576fa144567a3bdd5d39f5278e Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1249483 (cherry picked from commit d3458008cc3dd98d3a51841b6ed8cea1aed9eb89) Reviewed-on: http://git-master/r/1253457 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
eaeb5ff20f
commit
8a63a431c4
@@ -1298,6 +1298,30 @@ static int nvgpu_gpu_get_temperature(struct gk20a *g,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static int nvgpu_gpu_set_therm_alert_limit(struct gk20a *g,
|
||||||
|
struct nvgpu_gpu_set_therm_alert_limit_args *args)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
gk20a_dbg_fn("");
|
||||||
|
|
||||||
|
if (args->reserved[0] || args->reserved[1] || args->reserved[2])
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (!g->ops.therm.configure_therm_alert)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
err = gk20a_busy(g->dev);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
err = g->ops.therm.configure_therm_alert(g, args->temp_f24_8);
|
||||||
|
|
||||||
|
gk20a_idle(g->dev);
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
struct gk20a_ctrl_priv *priv = filp->private_data;
|
struct gk20a_ctrl_priv *priv = filp->private_data;
|
||||||
@@ -1606,6 +1630,11 @@ long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg
|
|||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
case NVGPU_GPU_IOCTL_SET_THERM_ALERT_LIMIT:
|
||||||
|
err = nvgpu_gpu_set_therm_alert_limit(g,
|
||||||
|
(struct nvgpu_gpu_set_therm_alert_limit_args *)buf);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dev_dbg(dev_from_gk20a(g), "unrecognized gpu ioctl cmd: 0x%x", cmd);
|
dev_dbg(dev_from_gk20a(g), "unrecognized gpu ioctl cmd: 0x%x", cmd);
|
||||||
err = -ENOTTY;
|
err = -ENOTTY;
|
||||||
|
|||||||
@@ -777,6 +777,14 @@ struct nvgpu_gpu_get_temperature_args {
|
|||||||
__s32 temp_f24_8;
|
__s32 temp_f24_8;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct nvgpu_gpu_set_therm_alert_limit_args {
|
||||||
|
__u32 reserved[3];
|
||||||
|
/* Temperature in signed fixed point format SFXP24.8
|
||||||
|
* Celsius = temp_f24_8 / 256.
|
||||||
|
*/
|
||||||
|
__s32 temp_f24_8;
|
||||||
|
};
|
||||||
|
|
||||||
#define NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE \
|
#define NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE \
|
||||||
_IOR(NVGPU_GPU_IOCTL_MAGIC, 1, struct nvgpu_gpu_zcull_get_ctx_size_args)
|
_IOR(NVGPU_GPU_IOCTL_MAGIC, 1, struct nvgpu_gpu_zcull_get_ctx_size_args)
|
||||||
#define NVGPU_GPU_IOCTL_ZCULL_GET_INFO \
|
#define NVGPU_GPU_IOCTL_ZCULL_GET_INFO \
|
||||||
@@ -858,8 +866,11 @@ struct nvgpu_gpu_get_temperature_args {
|
|||||||
_IOWR(NVGPU_GPU_IOCTL_MAGIC, 37, struct nvgpu_gpu_get_temperature_args)
|
_IOWR(NVGPU_GPU_IOCTL_MAGIC, 37, struct nvgpu_gpu_get_temperature_args)
|
||||||
#define NVGPU_GPU_IOCTL_GET_FBP_L2_MASKS \
|
#define NVGPU_GPU_IOCTL_GET_FBP_L2_MASKS \
|
||||||
_IOWR(NVGPU_GPU_IOCTL_MAGIC, 38, struct nvgpu_gpu_get_fbp_l2_masks_args)
|
_IOWR(NVGPU_GPU_IOCTL_MAGIC, 38, struct nvgpu_gpu_get_fbp_l2_masks_args)
|
||||||
|
#define NVGPU_GPU_IOCTL_SET_THERM_ALERT_LIMIT \
|
||||||
|
_IOWR(NVGPU_GPU_IOCTL_MAGIC, 39, \
|
||||||
|
struct nvgpu_gpu_set_therm_alert_limit_args)
|
||||||
#define NVGPU_GPU_IOCTL_LAST \
|
#define NVGPU_GPU_IOCTL_LAST \
|
||||||
_IOC_NR(NVGPU_GPU_IOCTL_GET_FBP_L2_MASKS)
|
_IOC_NR(NVGPU_GPU_IOCTL_SET_THERM_ALERT_LIMIT)
|
||||||
#define NVGPU_GPU_IOCTL_MAX_ARG_SIZE \
|
#define NVGPU_GPU_IOCTL_MAX_ARG_SIZE \
|
||||||
sizeof(struct nvgpu_gpu_get_cpu_time_correlation_info_args)
|
sizeof(struct nvgpu_gpu_get_cpu_time_correlation_info_args)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user