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);