mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 07:43:57 -04:00
Also exposes this for use by upcoming GSP-RM initialisation code. v2: add SPDX header Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Karol Herbst <kherbst@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230525003106.3853741-3-skeggsb@gmail.com
31 lines
708 B
C
31 lines
708 B
C
// SPDX-License-Identifier: MIT
|
|
#include "ram.h"
|
|
|
|
#include <subdev/bios.h>
|
|
|
|
static const struct nvkm_ram_func
|
|
gp102_ram = {
|
|
};
|
|
|
|
int
|
|
gp102_ram_new(struct nvkm_fb *fb, struct nvkm_ram **pram)
|
|
{
|
|
enum nvkm_ram_type type = nvkm_fb_bios_memtype(fb->subdev.device->bios);
|
|
const u32 rsvd_head = ( 256 * 1024); /* vga memory */
|
|
const u32 rsvd_tail = (1024 * 1024); /* vbios etc */
|
|
u64 size = fb->func->vidmem.size(fb);
|
|
int ret;
|
|
|
|
ret = nvkm_ram_new_(&gp102_ram, fb, type, size, pram);
|
|
if (ret)
|
|
return ret;
|
|
|
|
nvkm_mm_fini(&(*pram)->vram);
|
|
|
|
return nvkm_mm_init(&(*pram)->vram, NVKM_RAM_MM_NORMAL,
|
|
rsvd_head >> NVKM_RAM_MM_SHIFT,
|
|
(size - rsvd_head - rsvd_tail) >> NVKM_RAM_MM_SHIFT,
|
|
1);
|
|
|
|
}
|