Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1548014pxb; Thu, 4 Feb 2021 16:25:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzAuhwrW/aIrg8dFZp4GLcxEoa6rLYx8pswV7coJolvoovvOCI11NnFxUVTGOeCu7nJhNSc X-Received: by 2002:aa7:cc18:: with SMTP id q24mr1078853edt.82.1612484700734; Thu, 04 Feb 2021 16:25:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612484700; cv=none; d=google.com; s=arc-20160816; b=aIIAvM33J76pj3jpAeVx+PLewMLgL5CWRd6tfvuul7wOiCzmXwyTxYR1FZvstQHIJE sSzFvy6Gtm4Ku06vRA9BqSMad+UbV+4D1JeXn9fs/NZU10+HHzTqJVIfTbvBEFYy1DQI 5ejjoaiba82RiqQp4OfqFXe+8ga034qk251aiuCXVMu8CO5FeuGaXoOcBf4NhSG+hPFU LqHyWcxQvpFZhqJ4kgXimNFszcPJHHXSepubhKSdfYnoX6KC5l8C2FrV8d1vg7RESxcf oDq4K82KRp02pNZMI+dla6ye0tlAXhwygGdBfL8dMyGl6YEYADit4J4fDmLVOTnxM92d g54A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from:dmarc-filter :sender:dkim-signature; bh=7wJpQUhUKdisJi/nBL0j602/BJmGi54/LgyG/xEEfh8=; b=R/lDVaBy6PlBbOwJc+b8F//kRTha/4dHMNz/DCloiGkvuwrPAzoZ/IbuboGgnOJNtj bHrlPuCScnwIwW11l3bnT1lOWg1Fl1tznYLc3hEnzgQmLc3CTihFyKiNxAiQBeu/t6Ll Igho0Xc+MpGqNebsaC+GHOkwTIa5959Neiq/52Y/4MBWsywVteg9BSE4eaFSMOF925Jl Vc6EGW37D2PudiMdxCpakHLA2LJXSaqIxnpWK9IxYzihkPg7GOAkCH9auJoOduUUPjP8 EAEQo+2cfCHD0/I7ALTW/iGKz14I+z5ZdnLk/oouN/elp89+zJmBW5WD9CfIVLtJDkDm tBgw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=tOtm1Hps; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rl12si4080794ejb.454.2021.02.04.16.24.36; Thu, 04 Feb 2021 16:25:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-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=@mg.codeaurora.org header.s=smtp header.b=tOtm1Hps; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236701AbhBDOZe (ORCPT + 99 others); Thu, 4 Feb 2021 09:25:34 -0500 Received: from mail29.static.mailgun.info ([104.130.122.29]:23167 "EHLO mail29.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236606AbhBDOXP (ORCPT ); Thu, 4 Feb 2021 09:23:15 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1612448564; h=Message-Id: Date: Subject: Cc: To: From: Sender; bh=7wJpQUhUKdisJi/nBL0j602/BJmGi54/LgyG/xEEfh8=; b=tOtm1Hpsr8K5CFWtLhMSmpIhBqawubO5QVqQme45H53N8/KmlpBYJYRjcLscvy6TMPqFF2Tk bZiKATyWQPQhkTirPGyGjdDxxmsngepjATosezhW37A1hfZphSL3YG64o6wk/75oqUC+XUds wJBGvgYWkpuwOjTVbjRAl05IOew= X-Mailgun-Sending-Ip: 104.130.122.29 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n06.prod.us-west-2.postgun.com with SMTP id 601c03168e43a988b7d9acae (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Thu, 04 Feb 2021 14:22:14 GMT Sender: mkshah=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 76E11C43466; Thu, 4 Feb 2021 14:22:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00,SPF_FAIL autolearn=no autolearn_force=no version=3.4.0 Received: from mkshah-linux.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mkshah) by smtp.codeaurora.org (Postfix) with ESMTPSA id C163FC433C6; Thu, 4 Feb 2021 14:22:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org C163FC433C6 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=mkshah@codeaurora.org From: Maulik Shah To: swboyd@chromium.org, mka@chromium.org, evgreen@chromium.org, bjorn.andersson@linaro.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, agross@kernel.org, dianders@chromium.org, linux@roeck-us.net, rnayak@codeaurora.org, ilina@codeaurora.org, lsrao@codeaurora.org, Maulik Shah Subject: [PATCH v6 0/4] Introduce SoC sleep stats driver Date: Thu, 4 Feb 2021 19:51:44 +0530 Message-Id: <1612448508-9179-1-git-send-email-mkshah@codeaurora.org> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes in v6: - Address stephen's comments from v5 which includes below - Pad 0 in documentation example to make address 8 digit - define macro to calculate offset in driver - Add appended_stats_avail to prv_data instead of using entire stats_config - make array subsystems[] as const - Add comment for SSR case - Use memcpy_fromio() and devm_kcalloc() during probe - Change file permission mode from 444 to 400 - Address guenter's comments to add depends on QCOM_SMEM - Add adsp_island and cdsp_island subsystems - Use strim() to remove whitespace in stat name Changes in v5: - Remove underscore from node name in Documentation and DTSI change - Remove global config from driver change Changes in v4: - Address bjorn's comments from v3 on change 2. - Add bjorn's Reviewed-by on change 3 and 4. Changes in v3: - Address stephen's comments from v2 in change 1 and 2. - Address bjorn's comments from v2 in change 3 and 4. - Add Rob and bjorn's Reviewed-by on YAML change. Changes in v2: - Convert Documentation to YAML. - Address stephen's comments from v1. - Use debugfs instead of sysfs. - Add sc7180 dts changes for sleep stats - Add defconfig changes to enable driver - Include subsystem stats from [1] in this single stats driver. - Address stephen's comments from [1] - Update cover letter inline to mention [1] Qualcomm Technologies, Inc. (QTI)'s chipsets support SoC level low power modes. SoCs Always On Processor/Resource Power Manager produces statistics of the SoC sleep modes involving lowering or powering down of the rails and the oscillator clock. Additionally multiple subsystems present on SoC like modem, spss, adsp, cdsp maintains their low power mode statistics in shared memory (SMEM). Statistics includes SoC sleep mode type, number of times LPM entered, time of last entry, exit, and accumulated sleep duration in seconds. This series adds a driver to read the stats and export to debugfs. [1] https://lore.kernel.org/patchwork/patch/1149381/ Mahesh Sivasubramanian (2): dt-bindings: Introduce SoC sleep stats bindings soc: qcom: Add SoC sleep stats driver Maulik Shah (2): arm64: dts: qcom: sc7180: Enable SoC sleep stats arm64: defconfig: Enable SoC sleep stats driver .../bindings/soc/qcom/soc-sleep-stats.yaml | 46 ++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 7 +- arch/arm64/configs/defconfig | 1 + drivers/soc/qcom/Kconfig | 10 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/soc_sleep_stats.c | 258 +++++++++++++++++++++ 6 files changed, 322 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml create mode 100644 drivers/soc/qcom/soc_sleep_stats.c -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation