mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: create common.fbp unit
create a new unit common.fbp which initializes fbp support and provides
APIs to retrieve fbp data.
Create private header with below data
struct nvgpu_fbp {
u32 num_fbps;
u32 max_fbps_count;
u32 fbp_en_mask;
u32 *fbp_rop_l2_en_mask;
};
Expose below public APIs to initialize/remove fbp support:
nvgpu_fbp_init_support()
nvgpu_fbp_remove_support()
vgpu_fbp_init_support() for vGPU
Expose below APIs to retrieve fbp data
nvgpu_fbp_get_num_fbps()
nvgpu_fbp_get_max_fbps_count()
nvgpu_fbp_get_fbp_en_mask()
nvgpu_fbp_get_rop_l2_en_mask()
Use above APIs to retrieve fbp data in all the code.
Remove corresponding fields from struct nvgpu_gr since they are no
longer referred from that structure
Jira NVGPU-3124
Change-Id: I027caf4874b1f6154219f01902020dec4d7b0cb1
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2108617
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alex Waterman <alexw@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
3af5242bb0
commit
d2512bd5ee
@@ -36,6 +36,7 @@
|
||||
#include <nvgpu/ltc.h>
|
||||
#include <nvgpu/cbc.h>
|
||||
#include <nvgpu/ecc.h>
|
||||
#include <nvgpu/fbp.h>
|
||||
#include <nvgpu/vidmem.h>
|
||||
#include <nvgpu/mm.h>
|
||||
#include <nvgpu/soc.h>
|
||||
@@ -371,6 +372,13 @@ int gk20a_finalize_poweron(struct gk20a *g)
|
||||
goto done;
|
||||
}
|
||||
|
||||
err = nvgpu_fbp_init_support(g);
|
||||
if (err != 0) {
|
||||
nvgpu_err(g, "failed to init gk20a fbp");
|
||||
nvgpu_mutex_release(&g->tpc_pg_lock);
|
||||
goto done;
|
||||
}
|
||||
|
||||
err = nvgpu_gr_init_support(g);
|
||||
if (err != 0) {
|
||||
nvgpu_err(g, "failed to init gk20a gr");
|
||||
@@ -570,8 +578,6 @@ void gk20a_init_gpu_characteristics(struct gk20a *g)
|
||||
if (g->ops.gr.init_cyclestats != NULL) {
|
||||
g->ops.gr.init_cyclestats(g);
|
||||
}
|
||||
|
||||
g->ops.gr.get_rop_l2_en_mask(g);
|
||||
}
|
||||
|
||||
static struct gk20a *gk20a_from_refcount(struct nvgpu_ref *refcount)
|
||||
|
||||
Reference in New Issue
Block a user