mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 01:50:07 +03:00
gpu: nvgpu: compiled out non-safe devctls
The following DEVCTLs not needed in safety build Compiled out below DEVCTLs for safety build * NVGPU_GPU_DEVCTL_SET_THERM_ALERT_LIMIT * NVGPU_GPU_DEVCTL_GET_TPC_EXCEPTION_EN_STATUS * NVGPU_GPU_DEVCTL_GET_CPU_TIME_CORRELATION_INFO Also added config flag CONFIG_NVGPU_IOCTL_NON_FUSA JIRA NVGPU-3768 Change-Id: Ia233d0aac8201268524581f588d97390a913ab9c Signed-off-by: Sagar Kadamati <skadamati@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2159398 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
5798894b68
commit
77051a8c86
@@ -48,6 +48,7 @@ ccflags-y += -DCONFIG_NVGPU_SYSFS
|
|||||||
ccflags-y += -DCONFIG_NVGPU_CLK_ARB
|
ccflags-y += -DCONFIG_NVGPU_CLK_ARB
|
||||||
ccflags-y += -DCONFIG_NVGPU_FALCON_DEBUG
|
ccflags-y += -DCONFIG_NVGPU_FALCON_DEBUG
|
||||||
ccflags-y += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
ccflags-y += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
||||||
|
ccflags-y += -DCONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
|
|
||||||
ifeq ($(CONFIG_NVGPU_LOGGING),y)
|
ifeq ($(CONFIG_NVGPU_LOGGING),y)
|
||||||
ccflags-y += -DCONFIG_NVGPU_LOGGING=1
|
ccflags-y += -DCONFIG_NVGPU_LOGGING=1
|
||||||
|
|||||||
@@ -172,6 +172,8 @@ NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CLK_ARB
|
|||||||
|
|
||||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
||||||
|
|
||||||
|
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ struct therm_pmucmdhandler_params {
|
|||||||
u32 success;
|
u32 success;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
static void therm_pmucmdhandler(struct gk20a *g, struct pmu_msg *msg,
|
static void therm_pmucmdhandler(struct gk20a *g, struct pmu_msg *msg,
|
||||||
void *param, u32 status)
|
void *param, u32 status)
|
||||||
{
|
{
|
||||||
@@ -53,6 +54,7 @@ static void therm_pmucmdhandler(struct gk20a *g, struct pmu_msg *msg,
|
|||||||
phandlerparams->success = 1;
|
phandlerparams->success = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int therm_send_pmgr_tables_to_pmu(struct gk20a *g)
|
int therm_send_pmgr_tables_to_pmu(struct gk20a *g)
|
||||||
{
|
{
|
||||||
@@ -86,6 +88,7 @@ exit:
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
static int therm_pmu_cmd_post(struct gk20a *g, struct pmu_cmd *cmd,
|
static int therm_pmu_cmd_post(struct gk20a *g, struct pmu_cmd *cmd,
|
||||||
struct pmu_payload *payload,
|
struct pmu_payload *payload,
|
||||||
u32 queue_id, pmu_callback callback, void *cb_param)
|
u32 queue_id, pmu_callback callback, void *cb_param)
|
||||||
@@ -257,6 +260,7 @@ int nvgpu_therm_configure_therm_alert(struct gk20a *g, struct nvgpu_pmu *pmu)
|
|||||||
exit:
|
exit:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void nvgpu_pmu_therm_rpc_handler(struct gk20a *g, struct nvgpu_pmu *pmu,
|
void nvgpu_pmu_therm_rpc_handler(struct gk20a *g, struct nvgpu_pmu *pmu,
|
||||||
struct nv_pmu_rpc_header *rpc)
|
struct nv_pmu_rpc_header *rpc)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
* DEALINGS IN THE SOFTWARE.
|
* DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
#include <nvgpu/ptimer.h>
|
#include <nvgpu/ptimer.h>
|
||||||
#include <nvgpu/timers.h>
|
#include <nvgpu/timers.h>
|
||||||
#include <nvgpu/gk20a.h>
|
#include <nvgpu/gk20a.h>
|
||||||
@@ -50,3 +51,4 @@ end:
|
|||||||
gk20a_idle(g);
|
gk20a_idle(g);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -752,7 +752,9 @@ static const struct gpu_ops vgpu_gp10b_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = NULL,
|
.isr = NULL,
|
||||||
.read_ptimer = vgpu_read_ptimer,
|
.read_ptimer = vgpu_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = vgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = vgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -1497,6 +1497,7 @@ int vgpu_gr_set_preemption_mode(struct nvgpu_channel *ch,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
u64 vgpu_gr_gk20a_tpc_enabled_exceptions(struct gk20a *g)
|
u64 vgpu_gr_gk20a_tpc_enabled_exceptions(struct gk20a *g)
|
||||||
{
|
{
|
||||||
struct tegra_vgpu_cmd_msg msg = {};
|
struct tegra_vgpu_cmd_msg msg = {};
|
||||||
@@ -1518,3 +1519,4 @@ u64 vgpu_gr_gk20a_tpc_enabled_exceptions(struct gk20a *g)
|
|||||||
tpc_exception_en = p->tpc_exception_en_sm_mask;
|
tpc_exception_en = p->tpc_exception_en_sm_mask;
|
||||||
return tpc_exception_en;
|
return tpc_exception_en;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -93,6 +93,8 @@ int vgpu_gr_isr(struct gk20a *g, struct tegra_vgpu_gr_intr_info *info);
|
|||||||
void vgpu_gr_handle_sm_esr_event(struct gk20a *g,
|
void vgpu_gr_handle_sm_esr_event(struct gk20a *g,
|
||||||
struct tegra_vgpu_sm_esr_info *info);
|
struct tegra_vgpu_sm_esr_info *info);
|
||||||
int vgpu_init_gr_support(struct gk20a *g);
|
int vgpu_init_gr_support(struct gk20a *g);
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
u64 vgpu_gr_gk20a_tpc_enabled_exceptions(struct gk20a *g);
|
u64 vgpu_gr_gk20a_tpc_enabled_exceptions(struct gk20a *g);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* NVGPU_GR_VGPU_H */
|
#endif /* NVGPU_GR_VGPU_H */
|
||||||
|
|||||||
@@ -443,8 +443,10 @@ static const struct gpu_ops vgpu_gv11b_ops = {
|
|||||||
.flush_channel_tlb = nvgpu_gr_intr_flush_channel_tlb,
|
.flush_channel_tlb = nvgpu_gr_intr_flush_channel_tlb,
|
||||||
.get_sm_no_lock_down_hww_global_esr_mask =
|
.get_sm_no_lock_down_hww_global_esr_mask =
|
||||||
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
.tpc_enabled_exceptions =
|
.tpc_enabled_exceptions =
|
||||||
vgpu_gr_gk20a_tpc_enabled_exceptions,
|
vgpu_gr_gk20a_tpc_enabled_exceptions,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.gpu_class = {
|
.gpu_class = {
|
||||||
@@ -847,7 +849,9 @@ static const struct gpu_ops vgpu_gv11b_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = NULL,
|
.isr = NULL,
|
||||||
.read_ptimer = vgpu_read_ptimer,
|
.read_ptimer = vgpu_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = vgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = vgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ u32 gm20b_gr_intr_get_sm_hww_global_esr(struct gk20a *g, u32 gpc, u32 tpc,
|
|||||||
u32 sm);
|
u32 sm);
|
||||||
u32 gm20b_gr_intr_get_sm_hww_warp_esr(struct gk20a *g, u32 gpc, u32 tpc, u32 sm);
|
u32 gm20b_gr_intr_get_sm_hww_warp_esr(struct gk20a *g, u32 gpc, u32 tpc, u32 sm);
|
||||||
u32 gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask(struct gk20a *g);
|
u32 gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask(struct gk20a *g);
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
u64 gm20b_gr_intr_tpc_enabled_exceptions(struct gk20a *g);
|
u64 gm20b_gr_intr_tpc_enabled_exceptions(struct gk20a *g);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* NVGPU_GR_INTR_GM20B_H */
|
#endif /* NVGPU_GR_INTR_GM20B_H */
|
||||||
|
|||||||
@@ -411,6 +411,7 @@ u32 gm20b_gr_intr_nonstall_isr(struct gk20a *g)
|
|||||||
return ops;
|
return ops;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
u64 gm20b_gr_intr_tpc_enabled_exceptions(struct gk20a *g)
|
u64 gm20b_gr_intr_tpc_enabled_exceptions(struct gk20a *g)
|
||||||
{
|
{
|
||||||
u32 sm_id;
|
u32 sm_id;
|
||||||
@@ -440,3 +441,4 @@ u64 gm20b_gr_intr_tpc_enabled_exceptions(struct gk20a *g)
|
|||||||
|
|
||||||
return tpc_exception_en;
|
return tpc_exception_en;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -456,8 +456,10 @@ static const struct gpu_ops gm20b_ops = {
|
|||||||
gm20b_gr_intr_get_sm_hww_global_esr,
|
gm20b_gr_intr_get_sm_hww_global_esr,
|
||||||
.get_sm_no_lock_down_hww_global_esr_mask =
|
.get_sm_no_lock_down_hww_global_esr_mask =
|
||||||
gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
.tpc_enabled_exceptions =
|
.tpc_enabled_exceptions =
|
||||||
gm20b_gr_intr_tpc_enabled_exceptions,
|
gm20b_gr_intr_tpc_enabled_exceptions,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
.falcon = {
|
.falcon = {
|
||||||
.read_fecs_ctxsw_mailbox =
|
.read_fecs_ctxsw_mailbox =
|
||||||
@@ -959,7 +961,9 @@ static const struct gpu_ops gm20b_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = gk20a_ptimer_isr,
|
.isr = gk20a_ptimer_isr,
|
||||||
.read_ptimer = gk20a_read_ptimer,
|
.read_ptimer = gk20a_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -523,8 +523,10 @@ static const struct gpu_ops gp10b_ops = {
|
|||||||
gm20b_gr_intr_get_sm_hww_global_esr,
|
gm20b_gr_intr_get_sm_hww_global_esr,
|
||||||
.get_sm_no_lock_down_hww_global_esr_mask =
|
.get_sm_no_lock_down_hww_global_esr_mask =
|
||||||
gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
gm20b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
.tpc_enabled_exceptions =
|
.tpc_enabled_exceptions =
|
||||||
gm20b_gr_intr_tpc_enabled_exceptions,
|
gm20b_gr_intr_tpc_enabled_exceptions,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
.falcon = {
|
.falcon = {
|
||||||
.read_fecs_ctxsw_mailbox =
|
.read_fecs_ctxsw_mailbox =
|
||||||
@@ -1048,7 +1050,9 @@ static const struct gpu_ops gp10b_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = gk20a_ptimer_isr,
|
.isr = gk20a_ptimer_isr,
|
||||||
.read_ptimer = gk20a_read_ptimer,
|
.read_ptimer = gk20a_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -624,8 +624,10 @@ static const struct gpu_ops gv11b_ops = {
|
|||||||
gv11b_gr_intr_get_sm_hww_global_esr,
|
gv11b_gr_intr_get_sm_hww_global_esr,
|
||||||
.get_sm_no_lock_down_hww_global_esr_mask =
|
.get_sm_no_lock_down_hww_global_esr_mask =
|
||||||
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
.tpc_enabled_exceptions =
|
.tpc_enabled_exceptions =
|
||||||
gm20b_gr_intr_tpc_enabled_exceptions,
|
gm20b_gr_intr_tpc_enabled_exceptions,
|
||||||
|
#endif
|
||||||
.get_ctxsw_checksum_mismatch_mailbox_val =
|
.get_ctxsw_checksum_mismatch_mailbox_val =
|
||||||
gv11b_gr_intr_ctxsw_checksum_mismatch_mailbox_val,
|
gv11b_gr_intr_ctxsw_checksum_mismatch_mailbox_val,
|
||||||
},
|
},
|
||||||
@@ -1221,7 +1223,9 @@ static const struct gpu_ops gv11b_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = gk20a_ptimer_isr,
|
.isr = gk20a_ptimer_isr,
|
||||||
.read_ptimer = gk20a_read_ptimer,
|
.read_ptimer = gk20a_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -665,8 +665,10 @@ static const struct gpu_ops tu104_ops = {
|
|||||||
gv11b_gr_intr_get_sm_hww_global_esr,
|
gv11b_gr_intr_get_sm_hww_global_esr,
|
||||||
.get_sm_no_lock_down_hww_global_esr_mask =
|
.get_sm_no_lock_down_hww_global_esr_mask =
|
||||||
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
gv11b_gr_intr_get_sm_no_lock_down_hww_global_esr_mask,
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
.tpc_enabled_exceptions =
|
.tpc_enabled_exceptions =
|
||||||
gm20b_gr_intr_tpc_enabled_exceptions,
|
gm20b_gr_intr_tpc_enabled_exceptions,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
.falcon = {
|
.falcon = {
|
||||||
.handle_fecs_ecc_error =
|
.handle_fecs_ecc_error =
|
||||||
@@ -1267,7 +1269,9 @@ static const struct gpu_ops tu104_ops = {
|
|||||||
.ptimer = {
|
.ptimer = {
|
||||||
.isr = gk20a_ptimer_isr,
|
.isr = gk20a_ptimer_isr,
|
||||||
.read_ptimer = gk20a_read_ptimer,
|
.read_ptimer = gk20a_read_ptimer,
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
.get_timestamps_zipper = nvgpu_get_timestamps_zipper,
|
||||||
|
#endif
|
||||||
},
|
},
|
||||||
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
#if defined(CONFIG_NVGPU_CYCLESTATS)
|
||||||
.css = {
|
.css = {
|
||||||
|
|||||||
@@ -897,7 +897,9 @@ struct gpu_ops {
|
|||||||
u32 offset);
|
u32 offset);
|
||||||
u32 (*get_sm_no_lock_down_hww_global_esr_mask)(
|
u32 (*get_sm_no_lock_down_hww_global_esr_mask)(
|
||||||
struct gk20a *g);
|
struct gk20a *g);
|
||||||
|
#ifdef CONFIG_NVGPU_DEBUGGER
|
||||||
u64 (*tpc_enabled_exceptions)(struct gk20a *g);
|
u64 (*tpc_enabled_exceptions)(struct gk20a *g);
|
||||||
|
#endif
|
||||||
u32 (*get_ctxsw_checksum_mismatch_mailbox_val)(void);
|
u32 (*get_ctxsw_checksum_mismatch_mailbox_val)(void);
|
||||||
} intr;
|
} intr;
|
||||||
} gr;
|
} gr;
|
||||||
@@ -1400,7 +1402,9 @@ struct gpu_ops {
|
|||||||
int (*get_internal_sensor_curr_temp)(struct gk20a *g, u32 *temp_f24_8);
|
int (*get_internal_sensor_curr_temp)(struct gk20a *g, u32 *temp_f24_8);
|
||||||
void (*get_internal_sensor_limits)(s32 *max_24_8,
|
void (*get_internal_sensor_limits)(s32 *max_24_8,
|
||||||
s32 *min_24_8);
|
s32 *min_24_8);
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
int (*configure_therm_alert)(struct gk20a *g, s32 curr_warn_temp);
|
int (*configure_therm_alert)(struct gk20a *g, s32 curr_warn_temp);
|
||||||
|
#endif
|
||||||
void (*throttle_enable)(struct gk20a *g, u32 val);
|
void (*throttle_enable)(struct gk20a *g, u32 val);
|
||||||
u32 (*throttle_disable)(struct gk20a *g);
|
u32 (*throttle_disable)(struct gk20a *g);
|
||||||
void (*idle_slowdown_enable)(struct gk20a *g, u32 val);
|
void (*idle_slowdown_enable)(struct gk20a *g, u32 val);
|
||||||
@@ -1643,9 +1647,11 @@ struct gpu_ops {
|
|||||||
struct {
|
struct {
|
||||||
void (*isr)(struct gk20a *g);
|
void (*isr)(struct gk20a *g);
|
||||||
int (*read_ptimer)(struct gk20a *g, u64 *value);
|
int (*read_ptimer)(struct gk20a *g, u64 *value);
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
int (*get_timestamps_zipper)(struct gk20a *g,
|
int (*get_timestamps_zipper)(struct gk20a *g,
|
||||||
u32 source_id, u32 count,
|
u32 source_id, u32 count,
|
||||||
struct nvgpu_cpu_time_correlation_sample *samples);
|
struct nvgpu_cpu_time_correlation_sample *samples);
|
||||||
|
#endif
|
||||||
} ptimer;
|
} ptimer;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|||||||
@@ -34,7 +34,9 @@ int nvgpu_therm_domain_sw_setup(struct gk20a *g, struct nvgpu_pmu *pmu);
|
|||||||
int nvgpu_therm_domain_pmu_setup(struct gk20a *g, struct nvgpu_pmu *pmu);
|
int nvgpu_therm_domain_pmu_setup(struct gk20a *g, struct nvgpu_pmu *pmu);
|
||||||
int nvgpu_therm_pmu_init_pmupstate(struct gk20a *g, struct nvgpu_pmu *pmu);
|
int nvgpu_therm_pmu_init_pmupstate(struct gk20a *g, struct nvgpu_pmu *pmu);
|
||||||
void nvgpu_therm_pmu_free_pmupstate(struct gk20a *g, struct nvgpu_pmu *pmu);
|
void nvgpu_therm_pmu_free_pmupstate(struct gk20a *g, struct nvgpu_pmu *pmu);
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
int nvgpu_therm_configure_therm_alert(struct gk20a *g, struct nvgpu_pmu *pmu);
|
int nvgpu_therm_configure_therm_alert(struct gk20a *g, struct nvgpu_pmu *pmu);
|
||||||
|
#endif
|
||||||
void nvgpu_pmu_therm_rpc_handler(struct gk20a *g, struct nvgpu_pmu *pmu,
|
void nvgpu_pmu_therm_rpc_handler(struct gk20a *g, struct nvgpu_pmu *pmu,
|
||||||
struct nv_pmu_rpc_header *rpc);
|
struct nv_pmu_rpc_header *rpc);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -49,7 +49,9 @@ static inline u32 scale_ptimer(u32 timeout , u32 scale10x)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NVGPU_IOCTL_NON_FUSA
|
||||||
int nvgpu_get_timestamps_zipper(struct gk20a *g,
|
int nvgpu_get_timestamps_zipper(struct gk20a *g,
|
||||||
u32 source_id, u32 count,
|
u32 source_id, u32 count,
|
||||||
struct nvgpu_cpu_time_correlation_sample *samples);
|
struct nvgpu_cpu_time_correlation_sample *samples);
|
||||||
|
#endif /* CONFIG_NVGPU_IOCTL_NON_FUSA */
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user