Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ void gk104_grctx_generate_bundle(struct gf100_grctx *); void gk104_grctx_generate_pagepool(struct gf100_grctx *); void gk104_grctx_generate_unkn(struct gf100_gr_priv *); void gk104_grctx_generate_r418bb8(struct gf100_gr_priv *); void gk104_grctx_generate_rop_active_fbps(struct gf100_gr_priv *); extern struct nvkm_oclass *gk110_grctx_oclass; extern struct nvkm_oclass *gk110b_grctx_oclass; Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c +9 −7 Original line number Diff line number Diff line Loading @@ -940,6 +940,14 @@ gk104_grctx_generate_r418bb8(struct gf100_gr_priv *priv) nv_wr32(priv, 0x40780c + (i * 4), data[i]); } void gk104_grctx_generate_rop_active_fbps(struct gf100_gr_priv *priv) { const u32 fbp_count = nv_rd32(priv, 0x120074); nv_mask(priv, 0x408850, 0x0000000f, fbp_count); /* zrop */ nv_mask(priv, 0x408958, 0x0000000f, fbp_count); /* crop */ } void gk104_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) { Loading Loading @@ -970,13 +978,7 @@ gk104_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) nv_wr32(priv, 0x4064d0 + (i * 0x04), 0x00000000); nv_wr32(priv, 0x405b00, (priv->tpc_total << 8) | priv->gpc_nr); if (priv->gpc_nr == 1) { nv_mask(priv, 0x408850, 0x0000000f, priv->tpc_nr[0]); nv_mask(priv, 0x408958, 0x0000000f, priv->tpc_nr[0]); } else { nv_mask(priv, 0x408850, 0x0000000f, priv->gpc_nr); nv_mask(priv, 0x408958, 0x0000000f, priv->gpc_nr); } gk104_grctx_generate_rop_active_fbps(priv); nv_mask(priv, 0x419f78, 0x00000001, 0x00000000); gf100_gr_icmd(priv, oclass->icmd); Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c +1 −7 Original line number Diff line number Diff line Loading @@ -982,13 +982,7 @@ gm107_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) nv_wr32(priv, 0x405b00, (priv->tpc_total << 8) | priv->gpc_nr); if (priv->gpc_nr == 1) { nv_mask(priv, 0x408850, 0x0000000f, priv->tpc_nr[0]); nv_mask(priv, 0x408958, 0x0000000f, priv->tpc_nr[0]); } else { nv_mask(priv, 0x408850, 0x0000000f, priv->gpc_nr); nv_mask(priv, 0x408958, 0x0000000f, priv->gpc_nr); } gk104_grctx_generate_rop_active_fbps(priv); gf100_gr_icmd(priv, oclass->icmd); nv_wr32(priv, 0x404154, 0x00000400); Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h +1 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ void gk104_grctx_generate_bundle(struct gf100_grctx *); void gk104_grctx_generate_pagepool(struct gf100_grctx *); void gk104_grctx_generate_unkn(struct gf100_gr_priv *); void gk104_grctx_generate_r418bb8(struct gf100_gr_priv *); void gk104_grctx_generate_rop_active_fbps(struct gf100_gr_priv *); extern struct nvkm_oclass *gk110_grctx_oclass; extern struct nvkm_oclass *gk110b_grctx_oclass; Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c +9 −7 Original line number Diff line number Diff line Loading @@ -940,6 +940,14 @@ gk104_grctx_generate_r418bb8(struct gf100_gr_priv *priv) nv_wr32(priv, 0x40780c + (i * 4), data[i]); } void gk104_grctx_generate_rop_active_fbps(struct gf100_gr_priv *priv) { const u32 fbp_count = nv_rd32(priv, 0x120074); nv_mask(priv, 0x408850, 0x0000000f, fbp_count); /* zrop */ nv_mask(priv, 0x408958, 0x0000000f, fbp_count); /* crop */ } void gk104_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) { Loading Loading @@ -970,13 +978,7 @@ gk104_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) nv_wr32(priv, 0x4064d0 + (i * 0x04), 0x00000000); nv_wr32(priv, 0x405b00, (priv->tpc_total << 8) | priv->gpc_nr); if (priv->gpc_nr == 1) { nv_mask(priv, 0x408850, 0x0000000f, priv->tpc_nr[0]); nv_mask(priv, 0x408958, 0x0000000f, priv->tpc_nr[0]); } else { nv_mask(priv, 0x408850, 0x0000000f, priv->gpc_nr); nv_mask(priv, 0x408958, 0x0000000f, priv->gpc_nr); } gk104_grctx_generate_rop_active_fbps(priv); nv_mask(priv, 0x419f78, 0x00000001, 0x00000000); gf100_gr_icmd(priv, oclass->icmd); Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c +1 −7 Original line number Diff line number Diff line Loading @@ -982,13 +982,7 @@ gm107_grctx_generate_main(struct gf100_gr_priv *priv, struct gf100_grctx *info) nv_wr32(priv, 0x405b00, (priv->tpc_total << 8) | priv->gpc_nr); if (priv->gpc_nr == 1) { nv_mask(priv, 0x408850, 0x0000000f, priv->tpc_nr[0]); nv_mask(priv, 0x408958, 0x0000000f, priv->tpc_nr[0]); } else { nv_mask(priv, 0x408850, 0x0000000f, priv->gpc_nr); nv_mask(priv, 0x408958, 0x0000000f, priv->gpc_nr); } gk104_grctx_generate_rop_active_fbps(priv); gf100_gr_icmd(priv, oclass->icmd); nv_wr32(priv, 0x404154, 0x00000400); Loading