mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: ga10b: LSPMU interrupt update
Enable/disable LSPMU interrupt in MC, as required LSPMU interrupts are configured as part of LSPMU ucode init and don't need any additional PMU IRQ register to set/clear as part of GPU power-on/off sequence. Bug 3681561 Change-Id: Ifb47bc9cc83e16e46649b0eef5f257acb02f302c Signed-off-by: mkumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2740623 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
e89553fe62
commit
da632aa173
@@ -404,18 +404,9 @@ bool ga10b_pmu_is_interrupted(struct nvgpu_pmu *pmu)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GA10B PMU IRQ registers are not accessible when NVRISCV PRIV lockdown is
|
|
||||||
* engaged, so need to skip modifying/configuring IRQ registers.
|
|
||||||
*
|
|
||||||
* HAL checks for PRIV lockdown and if enabled then just enable PMU interrupt
|
|
||||||
* from MC, if not enabled then follows legacy chip method to configure
|
|
||||||
* the PMU interrupt.
|
|
||||||
*
|
*
|
||||||
* Interrupts required for LS-PMU are configured by LS-PMU ucode as part of
|
* Interrupts required for LS-PMU are configured by LS-PMU ucode as part of
|
||||||
* LS-PMU init code.
|
* LS-PMU init code, so just enable/disable PMU interrupt from MC.
|
||||||
*
|
|
||||||
* Legacy chip path helps to configure interrupt required of non LS-PMU ucode
|
|
||||||
* or power-off path to clear interrupt.
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ga10b_pmu_enable_irq(struct nvgpu_pmu *pmu, bool enable)
|
void ga10b_pmu_enable_irq(struct nvgpu_pmu *pmu, bool enable)
|
||||||
@@ -424,13 +415,9 @@ void ga10b_pmu_enable_irq(struct nvgpu_pmu *pmu, bool enable)
|
|||||||
|
|
||||||
nvgpu_log_fn(g, " ");
|
nvgpu_log_fn(g, " ");
|
||||||
|
|
||||||
if (g->ops.falcon.is_priv_lockdown(pmu->flcn)) {
|
|
||||||
nvgpu_cic_mon_intr_stall_unit_config(g,
|
nvgpu_cic_mon_intr_stall_unit_config(g,
|
||||||
NVGPU_CIC_INTR_UNIT_PMU,
|
NVGPU_CIC_INTR_UNIT_PMU,
|
||||||
enable);
|
enable);
|
||||||
} else {
|
|
||||||
gv11b_pmu_enable_irq(pmu, enable);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ga10b_pmu_handle_ecc(struct gk20a *g)
|
static int ga10b_pmu_handle_ecc(struct gk20a *g)
|
||||||
|
|||||||
Reference in New Issue
Block a user