From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88F22C433E0 for ; Tue, 16 Feb 2021 10:22:38 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 2C3E964DAF for ; Tue, 16 Feb 2021 10:22:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C3E964DAF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZPH4T4hLMxn65ZLmaHiA7zX8dZPFB09fdlZX2byPQWQ=; b=DlMlqQL20oyVe3yh3FwUPKhmN F9ivzIhSOx89Yde2MlGuhk28pYiY8ywThwUGyyxruhPBAOPl6Nbrf8hW9YkJv2fJp1GMP/ZrTIGKv B4bFWjsxfL582+GS1ZaRgwQorsrX1p+AZAcqlaObXih9e1kPQkVEW7dtmz5B/t7eBhhuylryuzTcN 5asQd78oJL57/NloEUT/fZf/+PGLbMlg1rkaL0INnhA0UujLnEyqfEDbUtf1eGGztN+VKCyfCi5TM /fmgeGcFqtuxBKqOxtssQDUocVpQBKYwTTNG6AXVtd7socb50rXIHhXUSgCjpZ22Q6tVe2j30FRTL hTFaemckg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lBxTu-0007Wn-Nm; Tue, 16 Feb 2021 10:21:22 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lBxTr-0007VQ-M2 for linux-arm-kernel@lists.infradead.org; Tue, 16 Feb 2021 10:21:20 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 28754D6E; Tue, 16 Feb 2021 02:21:18 -0800 (PST) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A60263F73B; Tue, 16 Feb 2021 02:21:15 -0800 (PST) Subject: Re: [PATCH V3 08/14] coresight: core: Add support for dedicated percpu sinks To: Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org References: <1611737738-1493-1-git-send-email-anshuman.khandual@arm.com> <1611737738-1493-9-git-send-email-anshuman.khandual@arm.com> From: Anshuman Khandual Message-ID: <14f558ff-25d0-8a64-f5b3-38422dbcd69b@arm.com> Date: Tue, 16 Feb 2021 15:51:38 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210216_052119_913905_7624E37A X-CRM114-Status: GOOD ( 25.11 ) 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: linux-kernel@vger.kernel.org, lcherian@marvell.com, mathieu.poirier@linaro.org, mike.leach@linaro.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAxLzI4LzIxIDI6NDYgUE0sIFN1enVraSBLIFBvdWxvc2Ugd3JvdGU6Cj4gT24gMS8yNy8y MSA4OjU1IEFNLCBBbnNodW1hbiBLaGFuZHVhbCB3cm90ZToKPj4gQWRkIHN1cHBvcnQgZm9yIGRl ZGljYXRlZCBzaW5rcyB0aGF0IGFyZSBib3VuZCB0byBpbmRpdmlkdWFsIENQVXMuIChlLmcsCj4+ IFRSQkUpLiBUbyBhbGxvdyBxdWlja2VyIGFjY2VzcyB0byB0aGUgc2luayBmb3IgYSBnaXZlbiBD UFUgYm91bmQgc291cmNlLAo+PiBrZWVwIGEgcGVyY3B1IGFycmF5IG9mIHRoZSBzaW5rIGRldmlj ZXMuIEFsc28sIGFkZCBzdXBwb3J0IGZvciBidWlsZGluZwo+PiBhIHBhdGggdG8gdGhlIENQVSBs b2NhbCBzaW5rIGZyb20gdGhlIEVUTS4KPj4KPj4gVGhpcyBhZGRzIGEgbmV3IHBlcmNwdSBzaW5r IHR5cGUgQ09SRVNJR0hUX0RFVl9TVUJUWVBFX1NJTktfUEVSQ1BVX1NZU01FTS4KPj4gVGhpcyBu ZXcgc2luayB0eXBlIGlzIGV4Y2x1c2l2ZWx5IGF2YWlsYWJsZSBhbmQgY2FuIG9ubHkgd29yayB3 aXRoIHBlcmNwdQo+PiBzb3VyY2UgdHlwZSBkZXZpY2UgQ09SRVNJR0hUX0RFVl9TVUJUWVBFX1NP VVJDRV9QRVJDUFVfUFJPQy4KPj4KPj4gVGhpcyBkZWZpbmVzIGEgcGVyY3B1IHN0cnVjdHVyZSB0 aGF0IGFjY29tbW9kYXRlcyBhIHNpbmdsZSBjb3Jlc2lnaHRfZGV2aWNlCj4+IHdoaWNoIGNhbiBi ZSB1c2VkIHRvIHN0b3JlIGFuIGluaXRpYWxpemVkIGluc3RhbmNlIGZyb20gYSBzaW5rIGRyaXZl ci4gQXMKPj4gdGhlc2Ugc2lua3MgYXJlIGV4Y2x1c2l2ZWx5IGxpbmtlZCBhbmQgZGVwZW5kZW50 IG9uIGNvcnJlc3BvbmRpbmcgcGVyY3B1Cj4+IHNvdXJjZXMgZGV2aWNlcywgdGhleSBzaG91bGQg YWxzbyBiZSB0aGUgZGVmYXVsdCBzaW5rIGRldmljZSBkdXJpbmcgYSBwZXJmCj4+IHNlc3Npb24u Cj4+Cj4+IE91dHdhcmRzIGRldmljZSBjb25uZWN0aW9ucyBhcmUgc2Nhbm5lZCB3aGlsZSBlc3Rh Ymxpc2hpbmcgcGF0aHMgYmV0d2VlbiBhCj4+IHNvdXJjZSBhbmQgYSBzaW5rIGRldmljZS4gQnV0 IHN1Y2ggY29ubmVjdGlvbnMgYXJlIG5vdCBwcmVzZW50IGZvciBjZXJ0YWluCj4+IHBlcmNwdSBz b3VyY2UgYW5kIHNpbmsgZGV2aWNlcyB3aGljaCBhcmUgZXhjbHVzaXZlbHkgbGlua2VkIGFuZCBk ZXBlbmRlbnQuCj4+IEJ1aWxkIHRoZSBwYXRoIGRpcmVjdGx5IGFuZCBza2lwIGNvbm5lY3Rpb24g c2Nhbm5pbmcgZm9yIHN1Y2ggZGV2aWNlcy4KPj4KPj4gQ2M6IE1hdGhpZXUgUG9pcmllciA8bWF0 aGlldS5wb2lyaWVyQGxpbmFyby5vcmc+Cj4+IENjOiBNaWtlIExlYWNoIDxtaWtlLmxlYWNoQGxp bmFyby5vcmc+Cj4+IENjOiBTdXp1a2kgSyBQb3Vsb3NlIDxzdXp1a2kucG91bG9zZUBhcm0uY29t Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBbnNodW1hbiBLaGFuZHVhbCA8YW5zaHVtYW4ua2hhbmR1YWxA YXJtLmNvbT4KPj4gLS0tCj4+IENoYW5nZXMgaW4gVjM6Cj4+Cj4+IC0gVXBkYXRlZCBjb3Jlc2ln aHRfZmluZF9kZWZhdWx0X3NpbmsoKQo+Pgo+PiDCoCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2ln aHQvY29yZXNpZ2h0LWNvcmUuYyB8IDE2ICsrKysrKysrKysrKysrLS0KPj4gwqAgaW5jbHVkZS9s aW51eC9jb3Jlc2lnaHQuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg MTIgKysrKysrKysrKysrCj4+IMKgIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVz aWdodC9jb3Jlc2lnaHQtY29yZS5jIGIvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVz aWdodC1jb3JlLmMKPj4gaW5kZXggMDA2MmM4OS4uNDc5NWUyOCAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb3JlLmMKPj4gKysrIGIvZHJpdmVy cy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb3JlLmMKPj4gQEAgLTIzLDYgKzIzLDcg QEAKPj4gwqAgI2luY2x1ZGUgImNvcmVzaWdodC1wcml2LmgiCj4+IMKgIMKgIHN0YXRpYyBERUZJ TkVfTVVURVgoY29yZXNpZ2h0X211dGV4KTsKPj4gK0RFRklORV9QRVJfQ1BVKHN0cnVjdCBjb3Jl c2lnaHRfZGV2aWNlICosIGNzZGV2X3NpbmspOwo+PiDCoCDCoCAvKioKPj4gwqDCoCAqIHN0cnVj dCBjb3Jlc2lnaHRfbm9kZSAtIGVsZW1lbnRzIG9mIGEgcGF0aCwgZnJvbSBzb3VyY2UgdG8gc2lu awo+PiBAQCAtNzg0LDYgKzc4NSwxMyBAQCBzdGF0aWMgaW50IF9jb3Jlc2lnaHRfYnVpbGRfcGF0 aChzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY3NkZXYsCj4+IMKgwqDCoMKgwqAgaWYgKGNzZGV2 ID09IHNpbmspCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPj4gwqAgK8KgwqDCoCBp ZiAoY29yZXNpZ2h0X2lzX3BlcmNwdV9zb3VyY2UoY3NkZXYpICYmIGNvcmVzaWdodF9pc19wZXJj cHVfc2luayhzaW5rKSAmJgo+PiArwqDCoMKgwqDCoMKgwqAgc2luayA9PSBwZXJfY3B1KGNzZGV2 X3NpbmssIHNvdXJjZV9vcHMoY3NkZXYpLT5jcHVfaWQoY3NkZXYpKSkgewo+PiArwqDCoMKgwqDC oMKgwqAgX2NvcmVzaWdodF9idWlsZF9wYXRoKHNpbmssIHNpbmssIHBhdGgpOwo+PiArwqDCoMKg wqDCoMKgwqAgZm91bmQgPSB0cnVlOwo+PiArwqDCoMKgwqDCoMKgwqAgZ290byBvdXQ7Cj4+ICvC oMKgwqAgfQo+PiArCj4+IMKgwqDCoMKgwqAgLyogTm90IGEgc2luayAtIHJlY3Vyc2l2ZWx5IGV4 cGxvcmUgZWFjaCBwb3J0IGZvdW5kIG9uIHRoaXMgZWxlbWVudCAqLwo+PiDCoMKgwqDCoMKgIGZv ciAoaSA9IDA7IGkgPCBjc2Rldi0+cGRhdGEtPm5yX291dHBvcnQ7IGkrKykgewo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKmNoaWxkX2RldjsKPj4gQEAgLTk5 OSw4ICsxMDA3LDEyIEBAIGNvcmVzaWdodF9maW5kX2RlZmF1bHRfc2luayhzdHJ1Y3QgY29yZXNp Z2h0X2RldmljZSAqY3NkZXYpCj4+IMKgwqDCoMKgwqAgaW50IGRlcHRoID0gMDsKPj4gwqAgwqDC oMKgwqDCoCAvKiBsb29rIGZvciBhIGRlZmF1bHQgc2luayBpZiB3ZSBoYXZlIG5vdCBmb3VuZCBm b3IgdGhpcyBkZXZpY2UgKi8KPj4gLcKgwqDCoCBpZiAoIWNzZGV2LT5kZWZfc2luaykKPj4gLcKg wqDCoMKgwqDCoMKgIGNzZGV2LT5kZWZfc2luayA9IGNvcmVzaWdodF9maW5kX3NpbmsoY3NkZXYs ICZkZXB0aCk7Cj4+ICvCoMKgwqAgaWYgKCFjc2Rldi0+ZGVmX3NpbmspIHsKPj4gK8KgwqDCoMKg wqDCoMKgIGlmIChjb3Jlc2lnaHRfaXNfcGVyY3B1X3NvdXJjZShjc2RldikpCj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNzZGV2LT5kZWZfc2luayA9IHBlcl9jcHUoY3NkZXZfc2luaywgc291 cmNlX29wcyhjc2RldiktPmNwdV9pZChjc2RldikpOwo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFj c2Rldi0+ZGVmX3NpbmspCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNzZGV2LT5kZWZfc2lu ayA9IGNvcmVzaWdodF9maW5kX3NpbmsoY3NkZXYsICZkZXB0aCk7Cj4+ICvCoMKgwqAgfQo+PiDC oMKgwqDCoMKgIHJldHVybiBjc2Rldi0+ZGVmX3Npbms7Cj4+IMKgIH0KPj4gwqAgZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LmggYi9pbmNsdWRlL2xpbnV4L2NvcmVzaWdodC5o Cj4+IGluZGV4IDk3NmVjMjYuLmJjM2E1Y2EgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgv Y29yZXNpZ2h0LmgKPj4gKysrIGIvaW5jbHVkZS9saW51eC9jb3Jlc2lnaHQuaAo+PiBAQCAtNTAs NiArNTAsNyBAQCBlbnVtIGNvcmVzaWdodF9kZXZfc3VidHlwZV9zaW5rIHsKPj4gwqDCoMKgwqDC oCBDT1JFU0lHSFRfREVWX1NVQlRZUEVfU0lOS19QT1JULAo+PiDCoMKgwqDCoMKgIENPUkVTSUdI VF9ERVZfU1VCVFlQRV9TSU5LX0JVRkZFUiwKPj4gwqDCoMKgwqDCoCBDT1JFU0lHSFRfREVWX1NV QlRZUEVfU0lOS19TWVNNRU0sCj4+ICvCoMKgwqAgQ09SRVNJR0hUX0RFVl9TVUJUWVBFX1NJTktf UEVSQ1BVX1NZU01FTSwKPj4gwqAgfTsKPj4gwqAgwqAgZW51bSBjb3Jlc2lnaHRfZGV2X3N1YnR5 cGVfbGluayB7Cj4+IEBAIC00MjgsNiArNDI5LDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjc2Rl dl9hY2Nlc3Nfd3JpdGU2NChzdHJ1Y3QgY3NkZXZfYWNjZXNzICpjc2EsIHU2NCB2YWwsIHUzMiBv Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjc2EtPndyaXRlKHZhbCwgb2Zmc2V0LCBmYWxzZSwgdHJ1 ZSk7Cj4+IMKgIH0KPj4gwqAgK3N0YXRpYyBpbmxpbmUgYm9vbCBjb3Jlc2lnaHRfaXNfcGVyY3B1 X3NvdXJjZShzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY3NkZXYpCj4+ICt7Cj4+ICvCoMKgwqAg cmV0dXJuIGNzZGV2ICYmIChjc2Rldi0+dHlwZSA9PSBDT1JFU0lHSFRfREVWX1RZUEVfU09VUkNF KSAmJgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3NkZXYtPnN1YnR5cGUuc291cmNlX3N1YnR5 cGUgPT0gQ09SRVNJR0hUX0RFVl9TVUJUWVBFX1NPVVJDRV9QUk9DOwo+IAo+IFBsZWFzZSBhZGQg KCkgYXJvdW5kIHRoZSBsYXN0IGxpbmUuIFNhbWUgYmVsb3cuCgpPa2F5LCB3aWxsIGRvLgoKPiAK Pj4gK30KPj4gKwo+PiArc3RhdGljIGlubGluZSBib29sIGNvcmVzaWdodF9pc19wZXJjcHVfc2lu ayhzdHJ1Y3QgY29yZXNpZ2h0X2RldmljZSAqY3NkZXYpCj4+ICt7Cj4+ICvCoMKgwqAgcmV0dXJu IGNzZGV2ICYmIChjc2Rldi0+dHlwZSA9PSBDT1JFU0lHSFRfREVWX1RZUEVfU0lOSykgJiYKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgIGNzZGV2LT5zdWJ0eXBlLnNpbmtfc3VidHlwZSA9PSBDT1JF U0lHSFRfREVWX1NVQlRZUEVfU0lOS19QRVJDUFVfU1lTTUVNOwoKT2theSwgd2lsbCBhZGQgaGVy ZSBhcyB3ZWxsLgoKPj4gK30KPj4gwqAgI2Vsc2XCoMKgwqAgLyogIUNPTkZJR182NEJJVCAqLwo+ PiDCoCDCoCBzdGF0aWMgaW5saW5lIHU2NCBjc2Rldl9hY2Nlc3NfcmVsYXhlZF9yZWFkNjQoc3Ry dWN0IGNzZGV2X2FjY2VzcyAqY3NhLAo+Pgo+IAo+IFdpdGggdGhlIGFib3ZlIDoKPiAKPiBUZXN0 ZWQtYnk6IFN1enVraSBLIFBvdWxvc2UgPHN1enVraS5wb3Vsb3NlQGFybS5jb20+Cj4gUmV2aWV3 ZWQtYnk6IFN1enVraSBLIFBvdWxvc2UgPHN1enVraS5wb3Vsb3NlQGFybS5jb20+CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58C77C433DB for ; Tue, 16 Feb 2021 10:25:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F110A64DAF for ; Tue, 16 Feb 2021 10:25:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230159AbhBPKYb (ORCPT ); Tue, 16 Feb 2021 05:24:31 -0500 Received: from foss.arm.com ([217.140.110.172]:59892 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229703AbhBPKWE (ORCPT ); Tue, 16 Feb 2021 05:22:04 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 28754D6E; Tue, 16 Feb 2021 02:21:18 -0800 (PST) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A60263F73B; Tue, 16 Feb 2021 02:21:15 -0800 (PST) Subject: Re: [PATCH V3 08/14] coresight: core: Add support for dedicated percpu sinks To: Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org Cc: mathieu.poirier@linaro.org, mike.leach@linaro.org, lcherian@marvell.com, linux-kernel@vger.kernel.org References: <1611737738-1493-1-git-send-email-anshuman.khandual@arm.com> <1611737738-1493-9-git-send-email-anshuman.khandual@arm.com> From: Anshuman Khandual Message-ID: <14f558ff-25d0-8a64-f5b3-38422dbcd69b@arm.com> Date: Tue, 16 Feb 2021 15:51:38 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/28/21 2:46 PM, Suzuki K Poulose wrote: > On 1/27/21 8:55 AM, Anshuman Khandual wrote: >> Add support for dedicated sinks that are bound to individual CPUs. (e.g, >> TRBE). To allow quicker access to the sink for a given CPU bound source, >> keep a percpu array of the sink devices. Also, add support for building >> a path to the CPU local sink from the ETM. >> >> This adds a new percpu sink type CORESIGHT_DEV_SUBTYPE_SINK_PERCPU_SYSMEM. >> This new sink type is exclusively available and can only work with percpu >> source type device CORESIGHT_DEV_SUBTYPE_SOURCE_PERCPU_PROC. >> >> This defines a percpu structure that accommodates a single coresight_device >> which can be used to store an initialized instance from a sink driver. As >> these sinks are exclusively linked and dependent on corresponding percpu >> sources devices, they should also be the default sink device during a perf >> session. >> >> Outwards device connections are scanned while establishing paths between a >> source and a sink device. But such connections are not present for certain >> percpu source and sink devices which are exclusively linked and dependent. >> Build the path directly and skip connection scanning for such devices. >> >> Cc: Mathieu Poirier >> Cc: Mike Leach >> Cc: Suzuki K Poulose >> Signed-off-by: Anshuman Khandual >> --- >> Changes in V3: >> >> - Updated coresight_find_default_sink() >> >>   drivers/hwtracing/coresight/coresight-core.c | 16 ++++++++++++++-- >>   include/linux/coresight.h                    | 12 ++++++++++++ >>   2 files changed, 26 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c >> index 0062c89..4795e28 100644 >> --- a/drivers/hwtracing/coresight/coresight-core.c >> +++ b/drivers/hwtracing/coresight/coresight-core.c >> @@ -23,6 +23,7 @@ >>   #include "coresight-priv.h" >>     static DEFINE_MUTEX(coresight_mutex); >> +DEFINE_PER_CPU(struct coresight_device *, csdev_sink); >>     /** >>    * struct coresight_node - elements of a path, from source to sink >> @@ -784,6 +785,13 @@ static int _coresight_build_path(struct coresight_device *csdev, >>       if (csdev == sink) >>           goto out; >>   +    if (coresight_is_percpu_source(csdev) && coresight_is_percpu_sink(sink) && >> +        sink == per_cpu(csdev_sink, source_ops(csdev)->cpu_id(csdev))) { >> +        _coresight_build_path(sink, sink, path); >> +        found = true; >> +        goto out; >> +    } >> + >>       /* Not a sink - recursively explore each port found on this element */ >>       for (i = 0; i < csdev->pdata->nr_outport; i++) { >>           struct coresight_device *child_dev; >> @@ -999,8 +1007,12 @@ coresight_find_default_sink(struct coresight_device *csdev) >>       int depth = 0; >>         /* look for a default sink if we have not found for this device */ >> -    if (!csdev->def_sink) >> -        csdev->def_sink = coresight_find_sink(csdev, &depth); >> +    if (!csdev->def_sink) { >> +        if (coresight_is_percpu_source(csdev)) >> +            csdev->def_sink = per_cpu(csdev_sink, source_ops(csdev)->cpu_id(csdev)); >> +        if (!csdev->def_sink) >> +            csdev->def_sink = coresight_find_sink(csdev, &depth); >> +    } >>       return csdev->def_sink; >>   } >>   diff --git a/include/linux/coresight.h b/include/linux/coresight.h >> index 976ec26..bc3a5ca 100644 >> --- a/include/linux/coresight.h >> +++ b/include/linux/coresight.h >> @@ -50,6 +50,7 @@ enum coresight_dev_subtype_sink { >>       CORESIGHT_DEV_SUBTYPE_SINK_PORT, >>       CORESIGHT_DEV_SUBTYPE_SINK_BUFFER, >>       CORESIGHT_DEV_SUBTYPE_SINK_SYSMEM, >> +    CORESIGHT_DEV_SUBTYPE_SINK_PERCPU_SYSMEM, >>   }; >>     enum coresight_dev_subtype_link { >> @@ -428,6 +429,17 @@ static inline void csdev_access_write64(struct csdev_access *csa, u64 val, u32 o >>           csa->write(val, offset, false, true); >>   } >>   +static inline bool coresight_is_percpu_source(struct coresight_device *csdev) >> +{ >> +    return csdev && (csdev->type == CORESIGHT_DEV_TYPE_SOURCE) && >> +           csdev->subtype.source_subtype == CORESIGHT_DEV_SUBTYPE_SOURCE_PROC; > > Please add () around the last line. Same below. Okay, will do. > >> +} >> + >> +static inline bool coresight_is_percpu_sink(struct coresight_device *csdev) >> +{ >> +    return csdev && (csdev->type == CORESIGHT_DEV_TYPE_SINK) && >> +           csdev->subtype.sink_subtype == CORESIGHT_DEV_SUBTYPE_SINK_PERCPU_SYSMEM; Okay, will add here as well. >> +} >>   #else    /* !CONFIG_64BIT */ >>     static inline u64 csdev_access_relaxed_read64(struct csdev_access *csa, >> > > With the above : > > Tested-by: Suzuki K Poulose > Reviewed-by: Suzuki K Poulose