mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 01:50:07 +03:00
We have completely different versions of probe for nvgpu and pci device Extract out common steps into nvgpu_probe() function and separate it out in new file nvgpu_common.c Divide task of nvgpu_probe() into further smaller functions Do platform specific things (like irq handling, memresource management, power management) only in individual probes and then call nvgpu_probe() to complete the common initialization Move all debugfs initialization to common gk20a_debug_init() This also helps to bringup all debug nodes to pci device Pass debugfs_symlink name as a parameter to gk20a_debug_init() This allows us to set separate debugfs symlink for nvgpu and pci device In case of railgating, cde and ce debugfs, check if platform supports them or not Copy vidmem_is_vidmem from platform to mm structure and set it to true for pci device Return from gk20a_scale_init() if we don't have either of governor or qos_notifier Fix gk20a_alloc_debugfs_init() and gk20a_secure_page_alloc() to receive device pointer instead of platform_device Export gk20a_railgating_debugfs_init() so that we can call it from gk20a_debug_init() Jira DNVGPU-56 Jira DNVGPU-58 Change-Id: I3cc048082b0a1e57415a9fb8bfb9eec0f0a280cd Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1204207 (cherry picked from commit add6bb0a3d5bd98131bbe6f62d4358d4d722b0fe) Reviewed-on: http://git-master/r/1204462 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/*
|
|
* GK20A Debug functionality
|
|
*
|
|
* Copyright (C) 2011-2016 NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef _DEBUG_GK20A_H_
|
|
#define _DEBUG_GK20A_H_
|
|
|
|
struct platform_device;
|
|
struct gk20a;
|
|
struct gpu_ops;
|
|
|
|
extern unsigned int gk20a_debug_trace_cmdbuf;
|
|
|
|
struct gk20a_debug_output {
|
|
void (*fn)(void *ctx, const char *str, size_t len);
|
|
void *ctx;
|
|
char buf[256];
|
|
};
|
|
|
|
void gk20a_debug_output(struct gk20a_debug_output *o,
|
|
const char *fmt, ...);
|
|
|
|
void gk20a_debug_dump(struct device *pdev);
|
|
void gk20a_debug_show_dump(struct gk20a *g, struct gk20a_debug_output *o);
|
|
int gk20a_gr_debug_dump(struct device *pdev);
|
|
void gk20a_debug_init(struct device *dev, const char *debugfs_symlink);
|
|
void gk20a_init_debug_ops(struct gpu_ops *gops);
|
|
void gk20a_debug_dump_device(void *dev);
|
|
|
|
|
|
#endif
|