/* * GP106 Graphics Context * * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #include "gk20a/gk20a.h" #include "gr_ctx_gp106.h" static int gr_gp106_get_netlist_name(struct gk20a *g, int index, char *name) { u32 ver = g->gpu_characteristics.arch + g->gpu_characteristics.impl; switch (ver) { case NVGPU_GPUID_GP104: sprintf(name, "%s/%s", "gp104", GP104_NETLIST_IMAGE_FW_NAME); break; case NVGPU_GPUID_GP106: sprintf(name, "%s/%s", "gp106", GP106_NETLIST_IMAGE_FW_NAME); break; default: nvgpu_err(g, "no support for GPUID %x", ver); } return 0; } static bool gr_gp106_is_firmware_defined(void) { return true; } void gp106_init_gr_ctx(struct gpu_ops *gops) { gops->gr_ctx.get_netlist_name = gr_gp106_get_netlist_name; gops->gr_ctx.is_fw_defined = gr_gp106_is_firmware_defined; gops->gr_ctx.use_dma_for_fw_bootstrap = false; }