mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-09 20:14:09 +08:00
drm/nouveau/kms/nv50-: add module option to select EVO/NVD push buffer location
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
7c1f6bbd09
commit
a708d8a7f6
@ -220,6 +220,10 @@ nv50_dmac_wait(struct nvif_push *push, u32 size)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MODULE_PARM_DESC(kms_vram_pushbuf, "Place EVO/NVD push buffers in VRAM (default: auto)");
|
||||||
|
static int nv50_dmac_vram_pushbuf = -1;
|
||||||
|
module_param_named(kms_vram_pushbuf, nv50_dmac_vram_pushbuf, int, 0400);
|
||||||
|
|
||||||
int
|
int
|
||||||
nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
|
nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
|
||||||
const s32 *oclass, u8 head, void *data, u32 size, s64 syncbuf,
|
const s32 *oclass, u8 head, void *data, u32 size, s64 syncbuf,
|
||||||
@ -241,7 +245,8 @@ nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
|
|||||||
*
|
*
|
||||||
* This appears to match NVIDIA's behaviour on Pascal.
|
* This appears to match NVIDIA's behaviour on Pascal.
|
||||||
*/
|
*/
|
||||||
if (device->info.family == NV_DEVICE_INFO_V0_PASCAL)
|
if ((nv50_dmac_vram_pushbuf > 0) ||
|
||||||
|
(nv50_dmac_vram_pushbuf < 0 && device->info.family == NV_DEVICE_INFO_V0_PASCAL))
|
||||||
type |= NVIF_MEM_VRAM;
|
type |= NVIF_MEM_VRAM;
|
||||||
|
|
||||||
ret = nvif_mem_ctor_map(&cli->mmu, "kmsChanPush", type, 0x1000,
|
ret = nvif_mem_ctor_map(&cli->mmu, "kmsChanPush", type, 0x1000,
|
||||||
|
Loading…
Reference in New Issue
Block a user