From patchwork Thu Aug 19 22:19:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 499777 Delivered-To: patch@linaro.org Received: by 2002:a02:6f15:0:0:0:0:0 with SMTP id x21csp950058jab; Thu, 19 Aug 2021 15:19:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2M0zIwfefsEbccLrWdCBEitHoZROSwB2cwgQ6UIhUuwvuRkZg43izVI2ULHZaBC921zOT X-Received: by 2002:a17:906:f2c9:: with SMTP id gz9mr18514674ejb.41.1629411575916; Thu, 19 Aug 2021 15:19:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629411575; cv=none; d=google.com; s=arc-20160816; b=Vh3gIzmv11HI5b8kF9DDNgWa2X30VBTdIut7qsJxbM8fgcN4Bz2opNFqyrkF+79Gl3 PLrwJou1PBUpHn0HDP484n1hvvKKfbVdOuhuSyhFtaSAC6G6fMvvOn13BnPXrLp//MSZ LkKbWt+SXmVBeG1TiyHxNuNVVAkoIgFdijlNcX6/9szySk6xS2CEvwNg6pW8GQhmZJrt lGWCUY43MDvxcQBzZWSrcZe1B5vMUJUn68fCyu189VV2yRoCMZOLbL638jDQX2Q+3ojq 8GgRi7aAbRWBOro8RcADFZbIOPrQSimU9wnTl3iRyTRMK8c4NoJMxY8R8P6hhIKmiwzy jz7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vPUru/TYDi5YjR/bbAhvMjF9OzpGGdZFmOl2rbUnBB4=; b=kzV/b8gWehK0R02+BtgChLWwZXYT2Sv4XvGYJ7XbmaHfbmQI6HQa0X2zu9BRKRSDaI p77Jb8ojtyJrQRsEa8epbLhdJpPqOee8EfhGC4DEYS1twylsaRUmJyrqlHq+vnOqj+yx xmU63dvrYfexwBd74bB0c9ZRS1peVd1ag/KhIQMSunQSVe5AYsQbmIxz7sXeZxsc5N1i ocSk3PLPcjrXDrp2WEXPynssajjnYUOdgqszMxbBgbKlcPwAurOx3GZPMcTVjmYXZGH1 i+rWMSi6dRbQvMdbsYfER3z7+b2Rnd0rmR5mFrj5TStdpARBlfg5iI0ja0Lk8Yasa6jJ pqeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S7vi+fiV; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m15si4544867edq.280.2021.08.19.15.19.35; Thu, 19 Aug 2021 15:19:35 -0700 (PDT) Received-SPF: pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S7vi+fiV; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236811AbhHSWUK (ORCPT + 8 others); Thu, 19 Aug 2021 18:20:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236661AbhHSWUH (ORCPT ); Thu, 19 Aug 2021 18:20:07 -0400 Received: from mail-il1-x12f.google.com (mail-il1-x12f.google.com [IPv6:2607:f8b0:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 81A95C061575 for ; Thu, 19 Aug 2021 15:19:30 -0700 (PDT) Received: by mail-il1-x12f.google.com with SMTP id u7so7506476ilk.7 for ; Thu, 19 Aug 2021 15:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vPUru/TYDi5YjR/bbAhvMjF9OzpGGdZFmOl2rbUnBB4=; b=S7vi+fiVH/33qj0cnmQ8BsS//9/RbmQkZAE9NIfUZaQamE0mxS8rlq4pBey3Zg0dXk pujrPK9G3j11L02JpYV8TnSbqs3bBljFpwrM7yL96+2cngVEMIA1qYZOJM05SuaDV1Rj 2ExUNLcA665tlRfnIcJ0NEzD4xPE4RXUMBV//wp3XSBpooHTvvMXtIN9Tisdtkamnfye 9Q2okibI5n1e1Dgb4ZgBG5q5qsDFPOApxogYjMgzPL+Il4vfTT2+HFUyRdGkiBV7OatM 0EpWHps/ujczw+cztWpk9fccvhqU7a6RBh1s8k1YhpshhQT8b9i6M5po6B64JoqmZPTf ZZpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vPUru/TYDi5YjR/bbAhvMjF9OzpGGdZFmOl2rbUnBB4=; b=Hvf221PJSb7aSAGNohM/S3JuUHnckb9ajaDUKgry+whYY5VpKYxIVwAAX29O3ch8V4 z9kY4Vz/F84IjZVU482zBvHvPJq+dE7GpPXcTGNR45zs289U5eK8dUT52q1GgztdltI6 Bt+v9ACg2b+wDl9o+UW7kg1OlGdIEFRfe6Bc4AuG5m0EfiXAMDxTSMRn309S5dtehmKY TmtSDt+n4IiH1JFpLWW2JCT9a7kdkg55Vkq2f7LpVq66klA4RiBMkbhSiIJlDjVG6EK7 JDfqrJa0ayqUCM3pVr85N45g8L08QOYea4LyhNzOKAfki4NXzNltTT4z8lXCssWY4kdm Ndjg== X-Gm-Message-State: AOAM532qHP4QLULTcR3sY5smb1Fqq9o3WEyaZByZXwDisCnBlzpo6MWx qZESrrcDv8+lyvZ1OlFzdFbK7ALh5kIB3cmu X-Received: by 2002:a92:c601:: with SMTP id p1mr11250320ilm.284.1629411569899; Thu, 19 Aug 2021 15:19:29 -0700 (PDT) Received: from localhost.localdomain (c-73-185-129-58.hsd1.mn.comcast.net. [73.185.129.58]) by smtp.gmail.com with ESMTPSA id o15sm2245188ilo.73.2021.08.19.15.19.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Aug 2021 15:19:29 -0700 (PDT) From: Alex Elder To: davem@davemloft.net, kuba@kernel.org Cc: bjorn.andersson@linaro.org, evgreen@chromium.org, cpratapa@codeaurora.org, subashab@codeaurora.org, elder@kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 0/5] net: ipa: kill off ipa_clock_get() Date: Thu, 19 Aug 2021 17:19:22 -0500 Message-Id: <20210819221927.3286267-1-elder@linaro.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This series replaces the remaining uses of ipa_clock_get() with calls to pm_runtime_get_sync() instead. It replaces all calls to ipa_clock_put() with calls to pm_runtime_put(). This completes the preparation for enabling automated suspend under the control of the power management core code. The next patch (in an upcoming series) enables that. Then the "ipa_clock" files and symbols will switch to using an "ipa_power" naming convention instead. Additional info It is possible for pm_runtime_get_sync() to return an error. There are really three cases, identified by return value: - 1, meaning power was already active - 0, meaning power was not previously active, but is now - EACCES, meaning runtime PM is disabled One additional case is EINVAL, meaning a previous suspend or resume (or idle) call returned an error. But we have always assumed this won't happen (we previously didn't even check for an error). But because we use pm_runtime_force_suspend() to implement system suspend, there's a chance we'd get an EACCES error (the first thing that function does is disable runtime suspend). Individual patches explain what happens in that case, but generally we just accept that it could be an unlikely problem (occurring only at startup time). Similarly, pm_runtime_put() could return an error. There too, we ignore EINVAL, assuming the IPA suspend and resume operations won't produce an error. EBUSY and EPERM are not applicable, EAGAIN is not expected (and harmless). We should never get EACCES (runtime suspend disabled), because pm_runtime_put() calls match prior pm_runtime_get_sync() calls, and a system suspend will not be started while a runtime suspend or resume is underway. In summary, the value returned from pm_runtime_put() is not meaningful, so we explicitly ignore it. -Alex Alex Elder (5): net: ipa: don't use ipa_clock_get() in "ipa_main.c" net: ipa: don't use ipa_clock_get() in "ipa_smp2p.c" net: ipa: don't use ipa_clock_get() in "ipa_uc.c" net: ipa: don't use ipa_clock_get() in "ipa_modem.c" net: ipa: kill ipa_clock_get() drivers/net/ipa/ipa_clock.c | 17 -------------- drivers/net/ipa/ipa_clock.h | 24 -------------------- drivers/net/ipa/ipa_interrupt.c | 14 ++++++------ drivers/net/ipa/ipa_main.c | 21 ++++++++--------- drivers/net/ipa/ipa_modem.c | 40 +++++++++++++++++++-------------- drivers/net/ipa/ipa_smp2p.c | 19 +++++++++------- drivers/net/ipa/ipa_uc.c | 22 ++++++++++-------- 7 files changed, 65 insertions(+), 92 deletions(-) -- 2.27.0