Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp772105ybm; Wed, 22 May 2019 11:13:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqw9DM+OPvqM3ObdokO+sBddq/tvQb1csSNpj7drn2U3yI+uBNb08m6dJq+g5WS5flG8P2r2 X-Received: by 2002:a65:4c86:: with SMTP id m6mr90115018pgt.75.1558548814789; Wed, 22 May 2019 11:13:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558548814; cv=none; d=google.com; s=arc-20160816; b=c2eMNViX7+nzrhgWUuFVsq+FJhXLA3f5qJY1/iluhQr2duMW/zUW68EqyzmRphlOMK HjkHdSrAjk/jOnGEnO96qN79t6BT+O8E4BJ0WhDZ/e8GU7tWd0oS+sfAEXQDzeeKaIwz NHPrOkNn3e+DzfbYaGpifU69dNy8niqetcb1Fu95WxpHzZZ7u10rRxRjRv4zpsqy7guQ g9WPEZYMmfYlGq4SkZrIG0303x3k9ALLqHvJy5YzHiNpytJ6qkFFBX0I9oQWdMoXt0hs NgnsKEych1G20JYm6ZxIHGvu5BlkObrV/EaZZcWdzJuuBQ1rrY+ZTUf+mTWt4lmj8Bsd f1dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=sDsBBmHLETJ18MHoLUn7SV83TFgM6hfgiB0FtQ0+QLQ=; b=MUuO2jkcBumMa2Ey6c5zJRKo7nxkJHIVof90RH0qZnp0jFwu3Elj7rCHr/XP9Bkqt+ GLZGrPmD0TaIybsLd6e16r13QQvhP1Oljkzqamq6DmCnjutulu8gSAr3UK6KJ6vq7IGg vPN5MOBmYERM0MYpbfXJJJW38HlYDbyVvUlsd0NRbfBTZaaJLkBKQxQ4i1Q+V9s0FuBy 73ZW5XtGikBS83/1i9w55Kwo2LynxdpO7qgWgaany6R0kQjqyBsKRRIMN1etQEiXmpX5 mR+L20u/qEYPqBniS0KZ38nQDYIdfGLgkpnYSnWEITTaV9IKNsyxE4n+OI99Q4p92L1W ZpTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="l2iwC/N/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k14si25921513pgr.413.2019.05.22.11.13.18; Wed, 22 May 2019 11:13:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="l2iwC/N/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729454AbfEVSMJ (ORCPT + 99 others); Wed, 22 May 2019 14:12:09 -0400 Received: from mail.kernel.org ([198.145.29.99]:46198 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727975AbfEVSMI (ORCPT ); Wed, 22 May 2019 14:12:08 -0400 Received: from localhost (unknown [69.71.4.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C75C120863; Wed, 22 May 2019 18:12:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1558548728; bh=3WQ3M9QP+2THWg2C9BAXf4+415QJkdpmvuQ16XUxwCE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=l2iwC/N/iNoycLsezLmlaQWwbnSnNqiiwUoDCjjUFf2zie3wDN0zyfYi9cuSVEt6q g+XZzv9XD2GR+hX8iP6OWjycEA06Uk9GWGtaFDaB62SCrlgfm4ze5MURwPulf9+XrF Umc0gS/Op9bK2i+4Q5i6uNAfAAchOhVX0BLmSp0E= Date: Wed, 22 May 2019 13:11:57 -0500 From: Bjorn Helgaas To: Kai Heng Feng Cc: Rafael Wysocki , linux-pci@vger.kernel.org, LKML , Mathias Nyman , linux-usb@vger.kernel.org Subject: Re: [PATCH] PCI / PM: Don't runtime suspend when device only supports wakeup from D0 Message-ID: <20190522181157.GC79339@google.com> References: <20190521163104.15759-1-kai.heng.feng@canonical.com> <20190521222300.GG57618@google.com> <20190522134854.GA79339@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 22, 2019 at 11:46:25PM +0800, Kai Heng Feng wrote: > > On May 22, 2019, at 9:48 PM, Bjorn Helgaas wrote: > > On Wed, May 22, 2019 at 11:42:14AM +0800, Kai Heng Feng wrote: > >> at 6:23 AM, Bjorn Helgaas wrote: > >>> On Wed, May 22, 2019 at 12:31:04AM +0800, Kai-Heng Feng wrote: > >>>> There's an xHC device that doesn't wake when a USB device gets plugged > >>>> to its USB port. The driver's own runtime suspend callback was called, > >>>> PME signaling was enabled, but it stays at PCI D0. > > ... > > And I guess this patch basically means we wouldn't call the driver's > > suspend callback if we're merely going to stay at D0, so the driver > > would have no idea anything happened. That might match > > Documentation/power/pci.txt better, because it suggests that the > > suspend callback is related to putting a device in a low-power state, > > and D0 is not a low-power state. > > Yes, the patch is to let the device stay at D0 and don’t run driver’s own > runtime suspend routine. > > I guess I’ll just proceed to send a V2 with updated commit message? Now that I understand what "runtime suspended to D0" means, help me understand what's actually wrong. The PCI core apparently *does* enable PME when we "suspend to D0". But somehow calling the xHCI runtime suspend callback makes the driver unable to notice when the PME is signaled? Bjorn