Dave Airlie
2025-Jun-17 05:09 UTC
[PATCH] nouveau/gsp: get zeroed pages for any device allocations we need
From: Dave Airlie <airlied at redhat.com>
This seems to remove some random behaviour around suspend/resume
operations, and ordering of memory allocations.
Cc: stable at vger.kernel.org
Reviewed-by: Ben Skeggs <bskeggs at nvidia.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c
index baf42339f93e..4460da3239b5 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c
@@ -1583,7 +1583,7 @@ nvkm_gsp_sg(struct nvkm_device *device, u64 size, struct
sg_table *sgt)
return ret;
for_each_sgtable_sg(sgt, sgl, i) {
- struct page *page = alloc_page(GFP_KERNEL);
+ struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
if (!page) {
nvkm_gsp_sg_free(device, sgt);
--
2.49.0
Danilo Krummrich
2025-Jun-17 16:27 UTC
[PATCH] nouveau/gsp: get zeroed pages for any device allocations we need
On 6/17/25 7:09 AM, Dave Airlie wrote:> From: Dave Airlie <airlied at redhat.com> > > This seems to remove some random behaviour around suspend/resume > operations, and ordering of memory allocations.What do you mean with ordering of memory allocations?> > Cc: stable at vger.kernel.orgI think we should add: Fixes: 176fdcbddfd2 ("drm/nouveau/gsp/r535: add support for booting GSP-RM")> Reviewed-by: Ben Skeggs <bskeggs at nvidia.com> > Signed-off-by: Dave Airlie <airlied at redhat.com> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c > index baf42339f93e..4460da3239b5 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c > @@ -1583,7 +1583,7 @@ nvkm_gsp_sg(struct nvkm_device *device, u64 size, struct sg_table *sgt) > return ret; > > for_each_sgtable_sg(sgt, sgl, i) { > - struct page *page = alloc_page(GFP_KERNEL); > + struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO); > > if (!page) { > nvkm_gsp_sg_free(device, sgt);