Received: by 2002:a05:7412:3b8b:b0:fc:a2b0:25d7 with SMTP id nd11csp3063131rdb; Tue, 13 Feb 2024 06:02:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX4LiNsplg/wskLMnyOqeBXSAr3TaocLFbOgyD2BtLUHoiuRLTgUNbbu4BgPHYNag7lxC+iD/+COIexWLg2BX68LEG0PpNZKEbOX4O7gg== X-Google-Smtp-Source: AGHT+IGXonr4At/rb8wqE/+ChSyH6gr5s+RvRjndlWXyP8ijdeDIM1vDIzPBk9SqpaERgPP1IvqV X-Received: by 2002:a05:6a21:e85:b0:1a0:6496:84c1 with SMTP id ma5-20020a056a210e8500b001a0649684c1mr596752pzb.37.1707832956782; Tue, 13 Feb 2024 06:02:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707832956; cv=pass; d=google.com; s=arc-20160816; b=tJ9/pzqM9GnPz4kkjbudvMFJkM2HGJWfVmMtfs8KxD/zzNq/c9bo5u6B0iF/9gi2ri VybpN9pyt2SArzqBjwm2x8onmKx7DFodhoZl6nCqG+WMiEoPGPaYqFcLOjX1wrtRzpVL 9Gpfq4hcyNZVmtRGMctw8swURBDVzyeie+FMRZCDt+BCSOza///ggWaotgMnJ3wU0DUb 2Yoa/PQP5iFvqVn5x79Cqzh8U9ewewn4tnMXQuW7Y1FukFUrZoP0gccubvHmT2+c3RLc OrgWblhJTIaLgQMpbqQVA8ldyKqg1kKx0aSajngDKmuxxZj1G+3BDlJSEmQcvbDKR4lc CfPQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence; bh=iQZGa2j+slpWb59zzZSHGyPHGPCdHKBm7wfB42qCupU=; fh=+P/Pw/T0M+MF5mWfGKOXbG+Id2eiqp8Rm6Rg4NuzekE=; b=Nvur4kvEwOx0oy4fEKw45jr9M9MH/IeNDKKCM1jdx5/z9UYwr2xn8m4i6cCnXELTCZ 3xZ7Kc+F2eWKnSfEMXDHmnZ214VXLHNxJlryRQDlTO4ZQMoTA+x5xbMdlvr56We12E2i 578PEm8JSlJCBlGQChI6MiRvUvMGf8ZnMwvIwfVMjSs3hU+e77eB6K9Q+MF/iEwy2oZ2 uy8v84knhvA0GZcRCCnBf2xGCr1fg9WPuTnvr2gj1kMud1DFcDRw+OYdeea1COhnzfUf umSsnLoubp+ljnR0UBLtZMJqbfEmZXGXcJ/SPKbvhvGriWfuyxzMQ/Q2UePzddtC0IB6 CehA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-63630-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-63630-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org X-Forwarded-Encrypted: i=2; AJvYcCUH93Jhi62Gtfpb4VZUnDefTXxTwh6n0FHooz+VaX5zdi8grlw+BPZi2ET8MDh5FeqZF+cTlMIjkPSG1RpaAkp8Y9VguIAeTNtf10OrWg== Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id u17-20020a63b551000000b005d6edec5950si2069482pgo.373.2024.02.13.06.02.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 06:02:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-63630-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-63630-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-63630-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 712F0286C6A for ; Tue, 13 Feb 2024 14:02:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6587357305; Tue, 13 Feb 2024 14:02:25 +0000 (UTC) Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EDA457300; Tue, 13 Feb 2024 14:02:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707832944; cv=none; b=twYYh9elI111WATVr4rZ0MAo2jiw1bj35V7/OBhzeTfAW8e08SStGSGGww1UJqK29K4HiDBxSv1ysq0fRFYwkp0lH3iGZhZnPdA/DAVyTV+s0ebp/624KINjOC5prrsnG8OrXIPoG3X/8eS/RvodC4UBhcrp+6xWHgRMMxETmNI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707832944; c=relaxed/simple; bh=x0qXZH3kJEepjTNqW7t+XjZ668V1LMFYMTAebEXWNck=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=h5RrGBDxSuokdT17SKziaD5wRtmEA6scshBpOQA4DbOFPB7M1+TQPYW4Ybm54i5w8dc+bE6LgaYlGVOorUQyMvmXxFbqcxyWmkhQUw21L3Fpmh+jxi28hQZFG1X38h2C7b2dTpIJIPSAjcqksXkB75ujxDz5kr+xIa0fxipxKR8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.161.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-5958d3f2d8aso1797631eaf.1; Tue, 13 Feb 2024 06:02:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707832942; x=1708437742; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iQZGa2j+slpWb59zzZSHGyPHGPCdHKBm7wfB42qCupU=; b=YM3/MHwIF68deVXJYCINbD05rSO7PzKOS5yhp20NF4ayWcK8SH1ib09bcmwJSeFMyH Z99DgcXXP/ztlegfqxE9+gtlNOt0eIxJI74oqAg+fxTOrayvQXd2afga/VmWygybH7kO f+6svh8cOukPqf0xt2xroAwvnpyy/9tqA1VYPExrP6HneyLqcCzPy2kJj+zpf+dXmvhi 20dyEDX5KLuqYXLfBtGzjal14CzCjMNL4MZKGHdKHVxJzTMVzz3IupJUDZeo13rs7vTy O9a50OngkNItp22dNR4N/yIXM8j/0Qj0Rn7m+6nqlKj3KEu6Bm/yHWxpapfopneRZrqO KGCQ== X-Forwarded-Encrypted: i=1; AJvYcCVfaQ0heVqD1cfbrLFnHQ+Sr/j1SNyGWZDfP7fcnY0QRAdA5+jXux8tKOYeC5InpEzqmIjAl9rlhtiWdTa2GYA38bQQlEbWFKImxDIl9iBw6XtJwArEbv4ML9AqjvJxVeyYXSqWRdjnZ9Wwtpn/6HJ6TxlnodfXo6uUeWjYRowNQB4= X-Gm-Message-State: AOJu0YzIkhc130tBrPsOMoMNYUl4JKq+3drhhSDD6Nfwk5gVrProZOUf bTX2UQEj04wkfyNSRyLRZfo2YAOwyTFcRabMQN4tn5OrH6B+7CwOEj84t4cSht393/6iB58YR7O xAEClTlGaaKhf8qYkx1Ww1vq+GiU= X-Received: by 2002:a05:6820:a8f:b0:59d:6ef2:7b01 with SMTP id de15-20020a0568200a8f00b0059d6ef27b01mr3252579oob.1.1707832942323; Tue, 13 Feb 2024 06:02:22 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240212063233.5599-1-raag.jadav@intel.com> In-Reply-To: <20240212063233.5599-1-raag.jadav@intel.com> From: "Rafael J. Wysocki" Date: Tue, 13 Feb 2024 15:02:11 +0100 Message-ID: Subject: Re: [PATCH v1] PCI / PM: Really allow runtime PM without callback functions To: Raag Jadav Cc: bhelgaas@google.com, jarkko.nikula@linux.intel.com, mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, stanislaw.gruszka@linux.intel.com, lukas@wunner.de, rafael@kernel.org, ilpo.jarvinen@linux.intel.com, linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, sashal@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Feb 12, 2024 at 7:32=E2=80=AFAM Raag Jadav w= rote: > > Commit c5eb1190074c ("PCI / PM: Allow runtime PM without callback > functions") tried to eliminate the need for runtime PM callbacks > by modifying pci_pm_runtime_suspend() and pci_pm_runtime_resume(), > but didn't modify pci_pm_runtime_idle() with relevant changes, which > still returns -ENOSYS if the driver supplies no runtime PM callbacks. > > Fix this by modifying pci_pm_runtime_idle() such that it allows PCI > device power state transitions without runtime PM callbacks. > > 0) | pm_runtime_work() { > 0) | rpm_idle() { > 0) | rpm_check_suspend_allowed() { > 0) 1.500 us | __dev_pm_qos_resume_latency(); /* =3D 0x7fffff= ff */ > 0) 4.840 us | } /* rpm_check_suspend_allowed =3D 0x0 */ > 0) 1.550 us | __rpm_get_callback(); /* =3D 0xffffffffb4bc84f0 = */ > 0) 1.800 us | pci_pm_runtime_idle(); /* =3D -38 */ > 0) + 17.070 us | } /* rpm_idle =3D -38 */ > 0) + 22.450 us | } /* pm_runtime_work =3D -38 */ > > Debugged-by: Mika Westerberg > Signed-off-by: Raag Jadav > Tested-by: Jarkko Nikula > Reviewed-by: Andy Shevchenko > Reviewed-by: Stanislaw Gruszka Acked-by: Rafael J. Wysocki > --- > > This is not marked for linux-stable for the need of extensive testing > and can be backported after a few releases if no issues are reported. > > drivers/pci/pci-driver.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index 51ec9e7e784f..bb7f6775b350 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -1382,10 +1382,7 @@ static int pci_pm_runtime_idle(struct device *dev) > if (!pci_dev->driver) > return 0; > > - if (!pm) > - return -ENOSYS; > - > - if (pm->runtime_idle) > + if (pm && pm->runtime_idle) > return pm->runtime_idle(dev); > > return 0; > -- > 2.35.3 > >