1fdde00edSAlexandre Courbot /*
2fdde00edSAlexandre Courbot * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3fdde00edSAlexandre Courbot *
4fdde00edSAlexandre Courbot * Permission is hereby granted, free of charge, to any person obtaining a
5fdde00edSAlexandre Courbot * copy of this software and associated documentation files (the "Software"),
6fdde00edSAlexandre Courbot * to deal in the Software without restriction, including without limitation
7fdde00edSAlexandre Courbot * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8fdde00edSAlexandre Courbot * and/or sell copies of the Software, and to permit persons to whom the
9fdde00edSAlexandre Courbot * Software is furnished to do so, subject to the following conditions:
10fdde00edSAlexandre Courbot *
11fdde00edSAlexandre Courbot * The above copyright notice and this permission notice shall be included in
12fdde00edSAlexandre Courbot * all copies or substantial portions of the Software.
13fdde00edSAlexandre Courbot *
14fdde00edSAlexandre Courbot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15fdde00edSAlexandre Courbot * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16fdde00edSAlexandre Courbot * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17fdde00edSAlexandre Courbot * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18fdde00edSAlexandre Courbot * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19fdde00edSAlexandre Courbot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20fdde00edSAlexandre Courbot * DEALINGS IN THE SOFTWARE.
21fdde00edSAlexandre Courbot */
22fdde00edSAlexandre Courbot #include "gf100.h"
23fdde00edSAlexandre Courbot
24fdde00edSAlexandre Courbot static const struct nvkm_fb_func
25fdde00edSAlexandre Courbot gp10b_fb = {
26fdde00edSAlexandre Courbot .dtor = gf100_fb_dtor,
27fdde00edSAlexandre Courbot .oneinit = gf100_fb_oneinit,
28fdde00edSAlexandre Courbot .init = gm200_fb_init,
29fdde00edSAlexandre Courbot .init_page = gm200_fb_init_page,
30fdde00edSAlexandre Courbot .intr = gf100_fb_intr,
31*5728d064SBen Skeggs .sysmem.flush_page_init = gf100_fb_sysmem_flush_page_init,
32fdde00edSAlexandre Courbot };
33fdde00edSAlexandre Courbot
34fdde00edSAlexandre Courbot int
gp10b_fb_new(struct nvkm_device * device,enum nvkm_subdev_type type,int inst,struct nvkm_fb ** pfb)35b7a9369aSBen Skeggs gp10b_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
36fdde00edSAlexandre Courbot {
37b7a9369aSBen Skeggs return gf100_fb_new_(&gp10b_fb, device, type, inst, pfb);
38fdde00edSAlexandre Courbot }
39