Loading drivers/gpu/drm/nouveau/core/engine/graph/gk110b.c +1 −0 Original line number Diff line number Diff line Loading @@ -113,4 +113,5 @@ gk110b_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = gk110b_graph_pack_mmio, .fecs.ucode = &nvf0_graph_fecs_ucode, .gpccs.ucode = &nvf0_graph_gpccs_ucode, .ppc_nr = 2, }.base; drivers/gpu/drm/nouveau/core/engine/graph/gk20a.c +1 −0 Original line number Diff line number Diff line Loading @@ -44,4 +44,5 @@ gk20a_graph_oclass = &(struct nvc0_graph_oclass) { .cclass = &gk20a_grctx_oclass, .sclass = gk20a_graph_sclass, .mmio = nve4_graph_pack_mmio, .ppc_nr = 1, }.base; drivers/gpu/drm/nouveau/core/engine/graph/gm107.c +1 −0 Original line number Diff line number Diff line Loading @@ -465,4 +465,5 @@ gm107_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = gm107_graph_pack_mmio, .fecs.ucode = 0 ? &gm107_graph_fecs_ucode : NULL, .gpccs.ucode = &gm107_graph_gpccs_ucode, .ppc_nr = 2, }.base; drivers/gpu/drm/nouveau/core/engine/graph/nv108.c +1 −0 Original line number Diff line number Diff line Loading @@ -220,4 +220,5 @@ nv108_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = nv108_graph_pack_mmio, .fecs.ucode = &nv108_graph_fecs_ucode, .gpccs.ucode = &nv108_graph_gpccs_ucode, .ppc_nr = 1, }.base; drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +6 −1 Original line number Diff line number Diff line Loading @@ -1503,7 +1503,7 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nouveau_device *device = nv_device(parent); struct nvc0_graph_priv *priv; bool use_ext_fw, enable; int ret, i; int ret, i, j; use_ext_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", oclass->fecs.ucode == NULL); Loading Loading @@ -1549,6 +1549,11 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine, for (i = 0; i < priv->gpc_nr; i++) { priv->tpc_nr[i] = nv_rd32(priv, GPC_UNIT(i, 0x2608)); priv->tpc_total += priv->tpc_nr[i]; priv->ppc_nr[i] = oclass->ppc_nr; for (j = 0; j < priv->ppc_nr[i]; j++) { u8 mask = nv_rd32(priv, GPC_UNIT(i, 0x0c30 + (j * 4))); priv->ppc_tpc_nr[i][j] = hweight8(mask); } } /*XXX: these need figuring out... though it might not even matter */ Loading Loading
drivers/gpu/drm/nouveau/core/engine/graph/gk110b.c +1 −0 Original line number Diff line number Diff line Loading @@ -113,4 +113,5 @@ gk110b_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = gk110b_graph_pack_mmio, .fecs.ucode = &nvf0_graph_fecs_ucode, .gpccs.ucode = &nvf0_graph_gpccs_ucode, .ppc_nr = 2, }.base;
drivers/gpu/drm/nouveau/core/engine/graph/gk20a.c +1 −0 Original line number Diff line number Diff line Loading @@ -44,4 +44,5 @@ gk20a_graph_oclass = &(struct nvc0_graph_oclass) { .cclass = &gk20a_grctx_oclass, .sclass = gk20a_graph_sclass, .mmio = nve4_graph_pack_mmio, .ppc_nr = 1, }.base;
drivers/gpu/drm/nouveau/core/engine/graph/gm107.c +1 −0 Original line number Diff line number Diff line Loading @@ -465,4 +465,5 @@ gm107_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = gm107_graph_pack_mmio, .fecs.ucode = 0 ? &gm107_graph_fecs_ucode : NULL, .gpccs.ucode = &gm107_graph_gpccs_ucode, .ppc_nr = 2, }.base;
drivers/gpu/drm/nouveau/core/engine/graph/nv108.c +1 −0 Original line number Diff line number Diff line Loading @@ -220,4 +220,5 @@ nv108_graph_oclass = &(struct nvc0_graph_oclass) { .mmio = nv108_graph_pack_mmio, .fecs.ucode = &nv108_graph_fecs_ucode, .gpccs.ucode = &nv108_graph_gpccs_ucode, .ppc_nr = 1, }.base;
drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +6 −1 Original line number Diff line number Diff line Loading @@ -1503,7 +1503,7 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nouveau_device *device = nv_device(parent); struct nvc0_graph_priv *priv; bool use_ext_fw, enable; int ret, i; int ret, i, j; use_ext_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", oclass->fecs.ucode == NULL); Loading Loading @@ -1549,6 +1549,11 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine, for (i = 0; i < priv->gpc_nr; i++) { priv->tpc_nr[i] = nv_rd32(priv, GPC_UNIT(i, 0x2608)); priv->tpc_total += priv->tpc_nr[i]; priv->ppc_nr[i] = oclass->ppc_nr; for (j = 0; j < priv->ppc_nr[i]; j++) { u8 mask = nv_rd32(priv, GPC_UNIT(i, 0x0c30 + (j * 4))); priv->ppc_tpc_nr[i][j] = hweight8(mask); } } /*XXX: these need figuring out... though it might not even matter */ Loading