mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
gpu: nvgpu: Return GPU classes in get_litter_value
Return GPU classes in HAL get_litter_value() instead of assigning them to GPU characteristics at HAL initialization time. JIRA NVGPU-259 Change-Id: I92cbadf3bd07292a8715d30843972def879795f5 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1593691 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
5b368d3e46
commit
c87e85af0c
@@ -213,6 +213,24 @@ static int gv100_get_litter_value(struct gk20a *g, int value)
|
|||||||
case GPU_LIT_SMPC_PRI_STRIDE:
|
case GPU_LIT_SMPC_PRI_STRIDE:
|
||||||
ret = proj_smpc_stride_v();
|
ret = proj_smpc_stride_v();
|
||||||
break;
|
break;
|
||||||
|
case GPU_LIT_TWOD_CLASS:
|
||||||
|
ret = FERMI_TWOD_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_THREED_CLASS:
|
||||||
|
ret = VOLTA_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_COMPUTE_CLASS:
|
||||||
|
ret = VOLTA_COMPUTE_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_GPFIFO_CLASS:
|
||||||
|
ret = VOLTA_CHANNEL_GPFIFO_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_I2M_CLASS:
|
||||||
|
ret = KEPLER_INLINE_TO_MEMORY_B;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_DMA_COPY_CLASS:
|
||||||
|
ret = VOLTA_DMA_COPY_A;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -697,7 +715,6 @@ static const struct gpu_ops gv100_ops = {
|
|||||||
int gv100_init_hal(struct gk20a *g)
|
int gv100_init_hal(struct gk20a *g)
|
||||||
{
|
{
|
||||||
struct gpu_ops *gops = &g->ops;
|
struct gpu_ops *gops = &g->ops;
|
||||||
struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics;
|
|
||||||
|
|
||||||
gops->bios = gv100_ops.bios;
|
gops->bios = gv100_ops.bios;
|
||||||
gops->ltc = gv100_ops.ltc;
|
gops->ltc = gv100_ops.ltc;
|
||||||
@@ -754,12 +771,5 @@ int gv100_init_hal(struct gk20a *g)
|
|||||||
|
|
||||||
g->name = "gv10x";
|
g->name = "gv10x";
|
||||||
|
|
||||||
c->twod_class = FERMI_TWOD_A;
|
|
||||||
c->threed_class = VOLTA_A;
|
|
||||||
c->compute_class = VOLTA_COMPUTE_A;
|
|
||||||
c->gpfifo_class = VOLTA_CHANNEL_GPFIFO_A;
|
|
||||||
c->inline_to_memory_class = KEPLER_INLINE_TO_MEMORY_B;
|
|
||||||
c->dma_copy_class = VOLTA_DMA_COPY_A;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,6 +196,24 @@ int gv11b_get_litter_value(struct gk20a *g, int value)
|
|||||||
case GPU_LIT_FBPA_SHARED_BASE:
|
case GPU_LIT_FBPA_SHARED_BASE:
|
||||||
ret = 0;
|
ret = 0;
|
||||||
break;
|
break;
|
||||||
|
case GPU_LIT_TWOD_CLASS:
|
||||||
|
ret = FERMI_TWOD_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_THREED_CLASS:
|
||||||
|
ret = VOLTA_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_COMPUTE_CLASS:
|
||||||
|
ret = VOLTA_COMPUTE_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_GPFIFO_CLASS:
|
||||||
|
ret = VOLTA_CHANNEL_GPFIFO_A;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_I2M_CLASS:
|
||||||
|
ret = KEPLER_INLINE_TO_MEMORY_B;
|
||||||
|
break;
|
||||||
|
case GPU_LIT_DMA_COPY_CLASS:
|
||||||
|
ret = VOLTA_DMA_COPY_A;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
nvgpu_err(g, "Missing definition %d", value);
|
nvgpu_err(g, "Missing definition %d", value);
|
||||||
@@ -674,7 +692,6 @@ static const struct gpu_ops gv11b_ops = {
|
|||||||
int gv11b_init_hal(struct gk20a *g)
|
int gv11b_init_hal(struct gk20a *g)
|
||||||
{
|
{
|
||||||
struct gpu_ops *gops = &g->ops;
|
struct gpu_ops *gops = &g->ops;
|
||||||
struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics;
|
|
||||||
u32 val;
|
u32 val;
|
||||||
bool priv_security;
|
bool priv_security;
|
||||||
|
|
||||||
@@ -760,12 +777,5 @@ int gv11b_init_hal(struct gk20a *g)
|
|||||||
|
|
||||||
g->name = "gv11b";
|
g->name = "gv11b";
|
||||||
|
|
||||||
c->twod_class = FERMI_TWOD_A;
|
|
||||||
c->threed_class = VOLTA_A;
|
|
||||||
c->compute_class = VOLTA_COMPUTE_A;
|
|
||||||
c->gpfifo_class = VOLTA_CHANNEL_GPFIFO_A;
|
|
||||||
c->inline_to_memory_class = KEPLER_INLINE_TO_MEMORY_B;
|
|
||||||
c->dma_copy_class = VOLTA_DMA_COPY_A;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user