History

drm/nouveau: keep DMA buffers required for suspend/resume

Nouveau deallocates a few buffers post GPU init which are required for GPU suspend/resume to function correctly. This is likely not as big an issue on systems where the NVGPU is the only GPU, but on multi-GPU set ups it leads to a regression where the kernel module errors and results in a system-wide rendering freeze. This commit addresses that regression by moving the two buffers required for suspend and resume to be deallocated at driver unload instead of post init.

Sid Pranjale committed 2 years ago

Commit f6ecfda1 parent f7916c41 file · +2 −2Browse files

Unified · Split

drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c+2−2
@@ -1054,8 +1054,6 @@ r535_gsp_postinit(struct nvkm_gsp *gsp) · 1053 unmodified lines
10541054 /* Release the DMA buffers that were needed only for boot and init */
10551055 nvkm_gsp_mem_dtor(gsp, &gsp->boot.fw);
10561056 nvkm_gsp_mem_dtor(gsp, &gsp->libos);
1057− nvkm_gsp_mem_dtor(gsp, &gsp->rmargs);
1058− nvkm_gsp_mem_dtor(gsp, &gsp->wpr_meta);
10591057
10601058 return ret;
10611059 }
@@ -2163,6 +2161,8 @@ r535_gsp_dtor(struct nvkm_gsp *gsp) · 1101 unmodified lines
21632161
21642162 r535_gsp_dtor_fws(gsp);
21652163
2164+ nvkm_gsp_mem_dtor(gsp, &gsp->rmargs);
2165+ nvkm_gsp_mem_dtor(gsp, &gsp->wpr_meta);
21662166 nvkm_gsp_mem_dtor(gsp, &gsp->shm.mem);
21672167 nvkm_gsp_mem_dtor(gsp, &gsp->loginit);
21682168 nvkm_gsp_mem_dtor(gsp, &gsp->logintr);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t