gpu: nvgpu: Inject function address from nvgpu

This patch inserts the function address of
gk20a_debug_dump_device into host data struct once
the nvgpu module loads and removes it during unload.

Bug 1476801

Change-Id: If49262208325b2aa0807705c26086e6d7c81632c
Signed-off-by: Yogesh Bhosale <ybhosale@nvidia.com>
Reviewed-on: http://git-master/r/779397
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
This commit is contained in:
Yogesh
2015-08-05 13:36:13 -07:00
committed by Terje Bergstrom
parent 08f37cba39
commit e44e67333b
2 changed files with 11 additions and 0 deletions

View File

@@ -863,4 +863,6 @@ void gk20a_pbus_isr(struct gk20a *g);
int gk20a_user_init(struct platform_device *dev);
void gk20a_user_deinit(struct platform_device *dev);
extern void gk20a_debug_dump_device(struct platform_device *pdev);
#endif /* GK20A_H */

View File

@@ -747,6 +747,10 @@ static int gk20a_tegra_probe(struct platform_device *dev)
platform->g->host1x_dev = host1x_pdev;
if (platform->g->host1x_dev)
nvhost_register_dump_device(platform->g->host1x_dev,
gk20a_debug_dump_device);
/* WAR for bug 1547668: Disable railgating and scaling irrespective of
* platform data if the rework has not been made. */
@@ -776,6 +780,11 @@ static int gk20a_tegra_late_probe(struct platform_device *dev)
static int gk20a_tegra_remove(struct platform_device *dev)
{
struct gk20a_platform *platform = gk20a_get_platform(dev);
if (platform->g->host1x_dev)
nvhost_unregister_dump_device(platform->g->host1x_dev);
/* remove gk20a power subdomain from host1x */
nvhost_unregister_client_domain(dev_to_genpd(&dev->dev));