[Nouveau] [PATCH 3/3] pci/gk104: wait for ltssm idle before changing the link
Ilia Mirkin
imirkin at alum.mit.edu
Thu Sep 12 19:07:06 UTC 2019
On Thu, Sep 12, 2019 at 3:00 PM Karol Herbst <kherbst at redhat.com> wrote:
>
> taken from nvgpu
>
> Signed-off-by: Karol Herbst <kherbst at redhat.com>
> ---
> drm/nouveau/nvkm/subdev/pci/gk104.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drm/nouveau/nvkm/subdev/pci/gk104.c b/drm/nouveau/nvkm/subdev/pci/gk104.c
> index 6aeb07fe4..2d1fa67eb 100644
> --- a/drm/nouveau/nvkm/subdev/pci/gk104.c
> +++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
> @@ -23,6 +23,8 @@
> */
> #include "priv.h"
>
> +#include <subdev/timer.h>
> +
> static int
> gk104_pcie_version_supported(struct nvkm_pci *pci)
> {
> @@ -142,6 +144,11 @@ gk104_pcie_set_link_speed(struct nvkm_pci *pci, enum nvkm_pcie_speed speed)
> break;
> }
>
> + /* wait for ltssm idle */
> + nvkm_msec(device, 200,
> + if ((nvkm_rd32(device, 0x8c040) & 0x1f) == 0)
> + break;
> + );
What if it doesn't idle? Should you still do the below things?
> nvkm_mask(device, 0x8c040, 0xc0000, mask_value);
> nvkm_mask(device, 0x8c040, 0x1, 0x1);
> }
> --
> 2.21.0
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
More information about the Nouveau
mailing list