mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: initialize os-specific features on vgpu
API to initialize os-specific features nvgpu_finalize_poweron_linux() does not get called for VGPU Add it to vgpu_pm_finalize_poweron() Jira NVGPU-395 Change-Id: I5488853aad36606c18b64a4fbe4076909a6b23f9 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1603913 GVS: Gerrit_Virtual_Submit Reviewed-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> 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
5b41eb839a
commit
a0cea295e7
@@ -186,7 +186,7 @@ static int nvgpu_init_os_linux_ops(struct nvgpu_os_linux *l)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l)
|
int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l)
|
||||||
{
|
{
|
||||||
struct gk20a *g = &l->g;
|
struct gk20a *g = &l->g;
|
||||||
int err;
|
int err;
|
||||||
|
|||||||
@@ -19,8 +19,10 @@
|
|||||||
|
|
||||||
struct gk20a;
|
struct gk20a;
|
||||||
struct device;
|
struct device;
|
||||||
|
struct nvgpu_os_linux;
|
||||||
|
|
||||||
int gk20a_pm_finalize_poweron(struct device *dev);
|
int gk20a_pm_finalize_poweron(struct device *dev);
|
||||||
|
int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l);
|
||||||
void gk20a_remove_support(struct gk20a *g);
|
void gk20a_remove_support(struct gk20a *g);
|
||||||
void gk20a_driver_start_unload(struct gk20a *g);
|
void gk20a_driver_start_unload(struct gk20a *g);
|
||||||
int nvgpu_quiesce(struct gk20a *g);
|
int nvgpu_quiesce(struct gk20a *g);
|
||||||
|
|||||||
@@ -460,6 +460,7 @@ static int vgpu_init_hal(struct gk20a *g)
|
|||||||
int vgpu_pm_finalize_poweron(struct device *dev)
|
int vgpu_pm_finalize_poweron(struct device *dev)
|
||||||
{
|
{
|
||||||
struct gk20a *g = get_gk20a(dev);
|
struct gk20a *g = get_gk20a(dev);
|
||||||
|
struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
gk20a_dbg_fn("");
|
gk20a_dbg_fn("");
|
||||||
@@ -501,6 +502,10 @@ int vgpu_pm_finalize_poweron(struct device *dev)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = nvgpu_finalize_poweron_linux(l);
|
||||||
|
if (err)
|
||||||
|
goto done;
|
||||||
|
|
||||||
gk20a_ctxsw_trace_init(g);
|
gk20a_ctxsw_trace_init(g);
|
||||||
gk20a_sched_ctrl_init(g);
|
gk20a_sched_ctrl_init(g);
|
||||||
gk20a_channel_resume(g);
|
gk20a_channel_resume(g);
|
||||||
|
|||||||
Reference in New Issue
Block a user