linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c

/*
 * Copyright 2010 Red Hat Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Authors: Ben Skeggs
 */
#include "ctxgf100.h"

#include <subdev/fb.h>
#include <subdev/mc.h>
#include <subdev/timer.h>
#include <engine/fifo.h>

/*******************************************************************************
 * PGRAPH context register lists
 ******************************************************************************/

static const struct gf100_gr_init
gf100_grctx_init_icmd_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_icmd[] =;

static const struct gf100_gr_init
gf100_grctx_init_9097_0[] =;

const struct gf100_gr_init
gf100_grctx_init_902d_0[] =;

const struct gf100_gr_init
gf100_grctx_init_9039_0[] =;

const struct gf100_gr_init
gf100_grctx_init_90c0_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_mthd[] =;

const struct gf100_gr_init
gf100_grctx_init_main_0[] =;

const struct gf100_gr_init
gf100_grctx_init_fe_0[] =;

const struct gf100_gr_init
gf100_grctx_init_pri_0[] =;

const struct gf100_gr_init
gf100_grctx_init_memfmt_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_ds_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_pd_0[] =;

const struct gf100_gr_init
gf100_grctx_init_rstr2d_0[] =;

const struct gf100_gr_init
gf100_grctx_init_scc_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_be_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_hub[] =;

const struct gf100_gr_init
gf100_grctx_init_gpc_unk_0[] =;

const struct gf100_gr_init
gf100_grctx_init_prop_0[] =;

const struct gf100_gr_init
gf100_grctx_init_gpc_unk_1[] =;

static const struct gf100_gr_init
gf100_grctx_init_setup_0[] =;

const struct gf100_gr_init
gf100_grctx_init_zcull_0[] =;

const struct gf100_gr_init
gf100_grctx_init_crstr_0[] =;

const struct gf100_gr_init
gf100_grctx_init_gpm_0[] =;

const struct gf100_gr_init
gf100_grctx_init_gcc_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_gpc_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_gpc_1[] =;

static const struct gf100_gr_init
gf100_grctx_init_zcullr_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_zcull[] =;

const struct gf100_gr_init
gf100_grctx_init_pe_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_tex_0[] =;

const struct gf100_gr_init
gf100_grctx_init_wwdx_0[] =;

const struct gf100_gr_init
gf100_grctx_init_mpc_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_l1c_0[] =;

const struct gf100_gr_init
gf100_grctx_init_tpccs_0[] =;

static const struct gf100_gr_init
gf100_grctx_init_sm_0[] =;

const struct gf100_gr_pack
gf100_grctx_pack_tpc[] =;

/*******************************************************************************
 * PGRAPH context implementation
 ******************************************************************************/

void
gf100_grctx_patch_wr32(struct gf100_gr_chan *chan, u32 addr, u32 data)
{}

void
gf100_grctx_generate_r419cb8(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_bundle(struct gf100_gr_chan *chan, u64 addr, u32 size)
{}

void
gf100_grctx_generate_pagepool(struct gf100_gr_chan *chan, u64 addr)
{}

void
gf100_grctx_generate_attrib(struct gf100_gr_chan *chan)
{}

void
gf100_grctx_generate_attrib_cb(struct gf100_gr_chan *chan, u64 addr, u32 size)
{}

u32
gf100_grctx_generate_attrib_cb_size(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_unkn(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_r4060a8(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_rop_mapping(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_max_ways_evict(struct gf100_gr *gr)
{}

static const u32
gf100_grctx_alpha_beta_map[17][32] =;

void
gf100_grctx_generate_alpha_beta_tables(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_tpc_nr(struct gf100_gr *gr, int gpc)
{}

void
gf100_grctx_generate_sm_id(struct gf100_gr *gr, int gpc, int tpc, int sm)
{}

void
gf100_grctx_generate_floorsweep(struct gf100_gr *gr)
{}

void
gf100_grctx_generate_main(struct gf100_gr_chan *chan)
{}

#define CB_RESERVED

int
gf100_grctx_generate(struct gf100_gr *gr, struct gf100_gr_chan *chan, struct nvkm_gpuobj *inst)
{}

const struct gf100_grctx_func
gf100_grctx =;