Hi Lyude,
thanks a lot for your persistence in attacking these runtime PM issues in nouveau. v4 of this series looks very good overall. I only have comments on patches 1, 2 and 8. On this patch 1 it's merely a nit:
On Wed, Aug 01, 2018 at 05:14:51PM -0400, Lyude Paul wrote:
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -835,7 +835,6 @@ nouveau_pmops_runtime_suspend(struct device *dev) return -EBUSY; }
- drm_kms_helper_poll_disable(drm_dev); nouveau_switcheroo_optimus_dsm(); ret = nouveau_do_suspend(drm_dev, true); pci_save_state(pdev);
This third hunk in the patch lacks an explanation in the commit message. I think its rationale is that drm_kms_helper_poll_disable() is already invoked in nouveau_display_fini(), which gets called on ->runtime_suspend, hence need not be invoked once more in nouveau_pmops_runtime_suspend().
Thanks,
Lukas