From patchwork Wed Aug 28 12:07:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Joakim Zhang X-Patchwork-Id: 11118787 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 49C8E14F7 for ; Wed, 28 Aug 2019 12:08:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 24F75206BB for ; Wed, 28 Aug 2019 12:08:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HU5BAcX4"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="V7VozV9l" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 24F75206BB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Z9Yr9d/9WQqy9wlMXKg1eBKZ8y2KePNNdjKfdYAv4zE=; b=HU5BAcX4E5wYbP uVtyDsInur9/bvcY4gIetGT/q3NVyGP0Q/q81y1AQ5rFTLYHOmkTtabLlTpAJWT/O50bQ+i2MULI+ j/4wKclw35QnH7deyQWazvb+2daSwkjf7kC9iWXmzyEUNW452MRhCjl7n3yIPl9kFAFK/gOoCE5c9 VY6WXKKxvmwQ5Le403AjVJXv92Cpum0yPT6YIUQgh/wAtTsaipU9rBlGxgoWTe8dPI730xk4WktLo eT11lQgVu6mbmpx5i1J8qcT5zFQo+WHfbrwiOpdYFD+Kf49ZJuPp20y1oepVnrQTg7fSe6d42xF11 o/FMyK/BQ7HEspBeojmQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i2wkG-0002lw-Fo; Wed, 28 Aug 2019 12:08:12 +0000 Received: from mail-eopbgr150054.outbound.protection.outlook.com ([40.107.15.54] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i2wk3-0002bi-Hr for linux-arm-kernel@lists.infradead.org; Wed, 28 Aug 2019 12:08:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ChadZg9qJNAzmKJgFIrxVfYgCqzl47L989DqOVNrHp0tnd1kIsdsGnKYu1BSoato64NoO+QuOfkgkSGdpVbQiz7ORTTdODdY9w5GthbAWb//pDrRKxz8wWROpud2esdrq74cNiPzuDeJPsXBP3EEV27pLYOp+kvkWfjj96EiUqhADaiGbDI3/riqdGoE+9fo5nHgDg3Y9SPj+MNibOuA2TOJ82apcpY3sAmG4iHg2CIV6cMBCmTVFfyk+6RgmFIb7w6qxe74WjkozYg+VrCHtgNpqzZKWEHfS/nNjYjLi797zSRM3MvlHZj0ht579zrCq6P+hQAT91JWvekGz8uA8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=splZpLRIg307YZ8ZzcSuD2I78HnOFmZqTKJvaamvXK4=; b=k5vlJdjRk2kiokbiEXhwMwwPToVwAXQf6OLQqigNZsj+yVEeUUIQ4mCsYJvVPjX9aeB0V9lE/Qvn/5hQ/YdyvoXLr5/vxVr38Y4qYxfYO8lVkSfhzfXfw2MlQKJntKiQi5tv0J7Znhwbo44EagtG4sJHMUIXDyZDvDRQQPiAXrY+kThvSHGQddtboN582mklP+PB/TnzC6d7j0snROe+aXjX++MBmPyssYFvGCbeQ22z1u/fSsKjeaS+kk3nUDWejmVzNtK0mz7JgKVkAj3WEdepaVnFMyP88wyFZ1ihqAJKGKuGRwYmCOQzROcMDW+0wb+V/Jj0Mo1gj4V0Ki7eDQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=splZpLRIg307YZ8ZzcSuD2I78HnOFmZqTKJvaamvXK4=; b=V7VozV9lKyzci6mgns9XdUIAG5Ar3fOTu6ExyhoEqYORqVRdO9xREVbnlZQ8/aRDkzkGOyPRBsN8WWYtkmzKFBjOozcP0wH7kcU2bfLfVeOhNkVtw5qMoNBVXSzZayZlZrV3Gep015QpTcpXsm49ZHancDefULeSsMQvQtdiBRM= Received: from DB7PR04MB4618.eurprd04.prod.outlook.com (52.135.139.151) by DB7PR04MB5402.eurprd04.prod.outlook.com (20.178.104.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.19; Wed, 28 Aug 2019 12:07:56 +0000 Received: from DB7PR04MB4618.eurprd04.prod.outlook.com ([fe80::c8ca:1c9c:6c3:fb6f]) by DB7PR04MB4618.eurprd04.prod.outlook.com ([fe80::c8ca:1c9c:6c3:fb6f%4]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 12:07:56 +0000 From: Joakim Zhang To: "mark.rutland@arm.com" , "will@kernel.org" , "robin.murphy@arm.com" Subject: [PATCH V9 2/3] Documentation: admin-guide: perf: add i.MX8 ddr pmu user doc Thread-Topic: [PATCH V9 2/3] Documentation: admin-guide: perf: add i.MX8 ddr pmu user doc Thread-Index: AQHVXZk5JlxofySHm0WNpgZ0+Op51w== Date: Wed, 28 Aug 2019 12:07:56 +0000 Message-ID: <20190828120524.9038-2-qiangqing.zhang@nxp.com> References: <20190828120524.9038-1-qiangqing.zhang@nxp.com> In-Reply-To: <20190828120524.9038-1-qiangqing.zhang@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-clientproxiedby: SG2PR01CA0127.apcprd01.prod.exchangelabs.com (2603:1096:4:40::31) To DB7PR04MB4618.eurprd04.prod.outlook.com (2603:10a6:5:38::23) authentication-results: spf=none (sender IP is ) smtp.mailfrom=qiangqing.zhang@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5ec4d1b6-52eb-4e84-645d-08d72bb05c41 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DB7PR04MB5402; x-ms-traffictypediagnostic: DB7PR04MB5402: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(376002)(346002)(54534003)(199004)(189003)(110136005)(25786009)(86362001)(6512007)(2501003)(256004)(2201001)(36756003)(3846002)(53936002)(6116002)(66946007)(66446008)(66556008)(66476007)(66066001)(1076003)(71190400001)(71200400001)(316002)(14444005)(64756008)(2616005)(81156014)(186003)(6486002)(478600001)(54906003)(486006)(8676002)(11346002)(8936002)(446003)(7736002)(6436002)(305945005)(99286004)(52116002)(76176011)(476003)(386003)(81166006)(6506007)(2906002)(102836004)(50226002)(5660300002)(4326008)(14454004)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR04MB5402; H:DB7PR04MB4618.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: iiffY2tl64IrohhwtQfFbxGCXytHdgQHZezCnHCjJVmOcTCuS0Z/MuBjvxYtmPZk6jshu6UwVkQQAZXt8ZsrhAQ8YxGsL1PcYr9+ge65Z/wNCq7wHE9megO2twmos5zoZjT5N+EkUK6XS2yNXO6fmAdDy4v6fMY+c0dVvt6lfISLzAwgk4JdLprvfl3Jn4sgIkNUUk1/qQwmWYej7avxbU5ChDIvUeE0lw9RuGHlkmkJkzi4Za5wp7O1GngqG2PN/iGG/EOsmj/kuiu1beJvyWlR8Hnj4x1juAV/5Ia3zXMkPlybJMuw7jyP1gYFAJebY8wtaEDDe5OlPtzyr+cAiL0OCVokQFm/erkNSnJYzGiekV3PwHo9kljJndhTZNFr8QaMc2zqa/8ixoAfShxtPtJreDrkCrWctrQCgXS4Srg= Content-ID: <13E7EB8CC8632742B82CC28E5BEF1FCF@eurprd04.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ec4d1b6-52eb-4e84-645d-08d72bb05c41 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 12:07:56.0451 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EJlnLSHgFQeuZTFxd32/5X1MYeeSgq4Q9vDVlfJeA0yXRaInjQ872Vu5gfcBZo4DOuMIT9e0GDQMtLuijW+ITQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5402 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190828_050759_593131_A44AD9C2 X-CRM114-Status: GOOD ( 16.62 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.15.54 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Frank Li , dl-linux-imx , "linux-arm-kernel@lists.infradead.org" , Joakim Zhang Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Add i.MX8 ddr pmu user doc. Signed-off-by: Joakim Zhang --- ChangeLog: V1 -> V4: * new add in V4. V4 -> V5: * no change. V5 -> V6: * change the event name V6 -> V7: * no change. V7 -> V8: * improve the doc, add more details. V8 -> V9: * improve the doc. --- Documentation/admin-guide/perf/imx-ddr.rst | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Documentation/admin-guide/perf/imx-ddr.rst diff --git a/Documentation/admin-guide/perf/imx-ddr.rst b/Documentation/admin-guide/perf/imx-ddr.rst new file mode 100644 index 000000000000..517a205abad6 --- /dev/null +++ b/Documentation/admin-guide/perf/imx-ddr.rst @@ -0,0 +1,52 @@ +===================================================== +Freescale i.MX8 DDR Performance Monitoring Unit (PMU) +===================================================== + +There are no performance counters inside the DRAM controller, so performance +signals are brought out to the edge of the controller where a set of 4 x 32 bit +counters is implemented. This is controlled by the CSV modes programed in counter +control register which causes a large number of PERF signals to be generated. + +Selection of the value for each counter is done via the config registers. There +is one register for each counter. Counter 0 is special in that it always counts +“time” and when expired causes a lock on itself and the other counters and an +interrupt is raised. If any other counter overflows, it continues counting, and +no interrupt is raised. + +The "format" directory describes format of the config (event ID) and config1 +(AXI filtering) fields of the perf_event_attr structure, see /sys/bus/event_source/ +devices/imx8_ddr0/format/. The "events" directory describes the events types +hardware supported that can be used with perf tool, see /sys/bus/event_source/ +devices/imx8_ddr0/events/. + e.g.:: + perf stat -a -e imx8_ddr0/cycles/ cmd + perf stat -a -e imx8_ddr0/read/,imx8_ddr0/write/ cmd + +AXI filtering is only used by CSV modes 0x41 (axid-read) and 0x42 (axid-write) +to count reading or writing matches filter setting. Filter setting is various +from different DRAM controller implementations, which is distinguished by quirks +in the driver. + +* With DDR_CAP_AXI_ID_FILTER quirk. + Filter is defined with two configuration parts: + --AXI_ID defines AxID matching value. + --AXI_MASKING defines which bits of AxID are meaningful for the matching. + 0:corresponding bit is masked. + 1: corresponding bit is not masked, i.e. used to do the matching. + + AXI_ID and AXI_MASKING are mapped on DPCR1 register in performance counter. + When non-masked bits are matching corresponding AXI_ID bits then counter is + incremented. Perf counter is incremented if + AxID && AXI_MASKING == AXI_ID && AXI_MASKING + + This filter doesn't support filter different AXI ID for axid-read and axid-write + event at the same time as this filter is shared between counters. + e.g.:: + perf stat -a -e imx8_ddr0/axid-read,axi_mask=0xMMMM,axi_id=0xDDDD/ cmd + perf stat -a -e imx8_ddr0/axid-write,axi_mask=0xMMMM,axi_id=0xDDDD/ cmd + + NOTE: axi_mask is inverted in userspace(i.e. set bits are bits to mask), and + it will be reverted in driver automatically. so that the user can just specify + axi_id to monitor a specific id, rather than having to specify axi_mask. + e.g.:: + perf stat -a -e imx8_ddr0/axid-read,axi_id=0x12/ cmd, which will monitor ARID=0x12