On Sun, Feb 25, 2018 at 12:42:30AM +0100, Lukas Wunner wrote: > DRM drivers need to tell vga_switcheroo whether they use runtime PM. > If they do use it, vga_switcheroo lets them autosuspend at their own > discretion. If on the other hand they do not use it, vga_switcheroo > allows the user to suspend and resume the GPU manually via the > ->set_gpu_state hook. > > i915 currently tells vga_switcheroo that it never uses runtime PM, even > though it does use it on HSW and newer. The result is that users may > interfere with the driver's runtime PM on those platforms. Avoid by > reporting runtime PM support correctly to vga_switcheroo. > > Cc: Imre Deak <imre.deak@xxxxxxxxx> > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> AFAICS this also needs calling vga_switcheroo_set_dynamic_switch() from the i915 runtime suspend/resume handlers. Also after this we can remove i915_switcheroo_set_state() ? It's probably worth mentioning in the commit message that this changes the semantics of the switching: while atm you can't open the the DRM file for an inactive device (switched off from with IGD/DIS/DIGD/DDIS) after this change you can. I suppose that's not a problem, it just means display probing will fail on inactive devices (the same way it's with MIGD/MDIS currently). --Imre > --- > drivers/gpu/drm/i915/i915_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index aaa861b51024..519a1b9568df 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -668,7 +668,8 @@ static int i915_load_modeset_init(struct drm_device *dev) > > intel_register_dsm_handler(); > > - ret = vga_switcheroo_register_client(pdev, &i915_switcheroo_ops, false); > + ret = vga_switcheroo_register_client(pdev, &i915_switcheroo_ops, > + HAS_RUNTIME_PM(dev_priv)); > if (ret) > goto cleanup_vga_client; > > -- > 2.15.1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx