[PATCH] drm/nouveau/fb: restore init() for ramgp102
Danilo Krummrich
dakr at kernel.org
Thu Sep 5 11:07:14 UTC 2024
Hi Ben,
On 9/4/24 1:16 AM, Ben Skeggs wrote:
> init() was removed from ramgp102 when reworking the memory detection, as
> it was thought that the code was only necessary when the driver performs
> mclk changes, which nouveau doesn't support on pascal.
>
> However, it turns out that we still need to execute this on some GPUs to
> restore settings after DEVINIT, so revert to the original behaviour.
>
> Bug: https://gitlab.freedesktop.org/drm/nouveau/-/issues/319
Please use 'Closes:' instead and CC stable.
- Danilo
> Fixes: 2c0c15a22fa0 ("drm/nouveau/fb/gp102-ga100: switch to simpler vram size detection method")
> Signed-off-by: Ben Skeggs <bskeggs at nvidia.com>
> ---
> drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h | 2 ++
> drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c | 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c | 1 +
> 3 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h
> index 50f0c1914f58..4c3f74396579 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h
> @@ -46,6 +46,8 @@ u32 gm107_ram_probe_fbp(const struct nvkm_ram_func *,
> u32 gm200_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32,
> struct nvkm_device *, int, int *);
>
> +int gp100_ram_init(struct nvkm_ram *);
> +
> /* RAM type-specific MR calculation routines */
> int nvkm_sddr2_calc(struct nvkm_ram *);
> int nvkm_sddr3_calc(struct nvkm_ram *);
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c
> index 378f6fb70990..8987a21e81d1 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c
> @@ -27,7 +27,7 @@
> #include <subdev/bios/init.h>
> #include <subdev/bios/rammap.h>
>
> -static int
> +int
> gp100_ram_init(struct nvkm_ram *ram)
> {
> struct nvkm_subdev *subdev = &ram->fb->subdev;
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c
> index 8550f5e47347..b6b6ee59019d 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c
> @@ -5,6 +5,7 @@
>
> static const struct nvkm_ram_func
> gp102_ram = {
> + .init = gp100_ram_init,
> };
>
> int
More information about the Nouveau
mailing list