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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7ADB8C433F5 for ; Mon, 25 Apr 2022 20:13:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6jsmN5DdLukmU+4k5q8/5aeyjgcOG2upDTDZL2gWAn4=; b=H2+R/jtAK8mgaa 13HSdIRZ5psZxysHZtQ4FmdBFhn31rsUdhQS8QhWnNI3M1dQ9pyD5FV6BGPCX4bGRMvkVhrupApWm bQRsLh8h1ECoxsn98hp6EqpJpDCChHuocymLOOBizPPEzEAuWnDCl8fFrvYAtE75ks8IHzA9F+jOS WfOY2IRaaKJajYaIT7nSgl3kiPyxLOUBuj/Jqy6ePh/oJdhSmQR9X2c95OohD4H51VwP3DC4dYWpO DozhmKu5OpGRn2MlNG9jNgInGLicPpxgY1W2fnRFsKQO7ZaVNw4lX1bZrq0SqooFFFhBID5xO+c4x Gx1L+IXR9BaeBgFbtsCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nj554-00BA2i-5r; Mon, 25 Apr 2022 20:13:10 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nj551-00BA2G-ON for linux-rockchip@lists.infradead.org; Mon, 25 Apr 2022 20:13:09 +0000 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D686B496; Mon, 25 Apr 2022 22:13:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1650917584; bh=j9/h+Lzb9JQyfGPMnzoJXPO4nHAqhL/GoRpG4bxJMsg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=TKoC0lda7s8K8Md3H4iZCkAGPifICnLhOW6LiAlM/ZtamGLI+CioPIcAr+gCRHgwu /qPMOLt2fJO9fcsBZx/g+cSA9iw/cGuwEWmX3E1uFCXSArh6clOuqFnvrL1IBPyZjA Sdf2/whLngHebdxKfUad5R9XpGWWvvuiS1Y8Yqu0= Date: Mon, 25 Apr 2022 23:13:03 +0300 From: Laurent Pinchart To: Ricardo Ribalda Cc: linux-media@vger.kernel.org, Dafna Hirschfeld , Heiko Stuebner , Paul Elder , Tomasz Figa , linux-rockchip@lists.infradead.org Subject: Re: [PATCH v4 14/21] media: rkisp1: debug: Collect input status by sampling ISP_FLAGS_SHD Message-ID: References: <20220421234240.1694-1-laurent.pinchart@ideasonboard.com> <20220421234240.1694-15-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220425_131307_985293_FF336685 X-CRM114-Status: GOOD ( 24.07 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgUmljYXJkbywKCk9uIE1vbiwgQXByIDI1LCAyMDIyIGF0IDAxOjA4OjA4UE0gKzAyMDAsIFJp Y2FyZG8gUmliYWxkYSB3cm90ZToKPiBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+IAo+ID4gVGhl IElTUF9GTEFHU19TSEQgcmVnaXN0ZXIgZXhwb3NlcyB0aGUgSVNQIHBhcmFsbGVsIGlucHV0IHNp Z25hbHMgKGRhdGEKPiA+IGFuZCBzeW5jaHJvbml6YXRpb24pIGluIHJlYWwgdGltZS4gVGhpcyBj YW4gaGVscCBkZWJ1Z2dpbmcgd2hlbiB0aGUKPiA+IGRldmljZSBkb2Vzbid0IG91dHB1dCBhbnkg aW1hZ2UuIFNhbXBsZSB0aGUgcmVnaXN0ZXIgMTAwMDAgdGltZXMgd2l0aCBhCj4gPiAxwrVzIGRl bGF5IGFuZCBleHBvc2UgdGhlIHJlc3VsdCB0aHJvdWdoIGRlYnVnZnMuCj4gCj4gSSB0aGluayB0 aGlzIGlzIHF1aXRlIGNsZXZlciA6KQoKVGhhbmsgeW91IDotKQoKPiBPdXQgb2YgY3VyaW9zaXR5 LCBob3cgbG9uZyBkb2VzIHJlYWRpbmcgdGhlIGRlYnVnIGZpbGUgdGFrZXM/CgojIHRpbWUgY2F0 IC9zeXMva2VybmVsL2RlYnVnLzMyZTEwMDAwLmlzcC9pbnB1dF9zdGF0dXMKWy4uLl0KcmVhbCAg ICAwbSAwLjAzcwp1c2VyICAgIDBtIDAuMDBzCnN5cyAgICAgMG0gMC4wMnMKCj4gPiBTaWduZWQt b2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5j b20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsIEVsZGVyIDxwYXVsLmVsZGVyQGlkZWFzb25ib2Fy ZC5jb20+Cj4gCj4gUmV2aWV3ZWQtYnk6IFJpY2FyZG8gUmliYWxkYSA8cmliYWxkYUBjaHJvbWl1 bS5vcmc+Cj4gCj4gPiAtLS0KPiA+IENoYW5nZXMgc2luY2UgdjM6Cj4gPiAKPiA+IC0gRml4IHBt X3J1bnRpbWVfZ2V0X2lmX2luX3VzZSgpIHJldHVybiB2YWx1ZSBoYW5kbGluZwo+ID4gCj4gPiBD aGFuZ2VzIHNpbmNlIHYyOgo+ID4gCj4gPiAtIEhhbmRsZSBydW50aW1lIFBNCj4gPiAtLS0KPiA+ ICAuLi4vcGxhdGZvcm0vcm9ja2NoaXAvcmtpc3AxL3JraXNwMS1kZWJ1Zy5jICAgfCA1NCArKysr KysrKysrKysrKysrKysrCj4gPiAgLi4uL3BsYXRmb3JtL3JvY2tjaGlwL3JraXNwMS9ya2lzcDEt cmVncy5oICAgIHwgIDkgKysrKwo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygr KQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yb2NrY2hpcC9y a2lzcDEvcmtpc3AxLWRlYnVnLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3Jr aXNwMS9ya2lzcDEtZGVidWcuYwo+ID4gaW5kZXggNjRiMzM3NzRjYmRmLi43ODJhNjk2YWM1ODcg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JraXNwMS9y a2lzcDEtZGVidWcuYwo+ID4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yb2NrY2hpcC9y a2lzcDEvcmtpc3AxLWRlYnVnLmMKPiA+IEBAIC05LDkgKzksNjEgQEAKPiA+ICAgKi8KPiA+ICAK PiA+ICAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kZWxh eS5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgv cG1fcnVudGltZS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgo+ID4gIAo+ID4g ICNpbmNsdWRlICJya2lzcDEtY29tbW9uLmgiCj4gPiArI2luY2x1ZGUgInJraXNwMS1yZWdzLmgi Cj4gPiArCj4gPiArI2RlZmluZSBSS0lTUDFfREVCVUdfREFUQV9DT1VOVF9CSU5TCTMyCj4gPiAr I2RlZmluZSBSS0lTUDFfREVCVUdfREFUQV9DT1VOVF9TVEVQCSg0MDk2IC8gUktJU1AxX0RFQlVH X0RBVEFfQ09VTlRfQklOUykKPiA+ICsKPiA+ICtzdGF0aWMgaW50IHJraXNwMV9kZWJ1Z19pbnB1 dF9zdGF0dXNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCj4gPiArewo+ID4gKwlz dHJ1Y3Qgcmtpc3AxX2RldmljZSAqcmtpc3AxID0gbS0+cHJpdmF0ZTsKPiA+ICsJdTE2IGRhdGFf Y291bnRbUktJU1AxX0RFQlVHX0RBVEFfQ09VTlRfQklOU10gPSB7IH07Cj4gPiArCXVuc2lnbmVk IGludCBoc3luY19jb3VudCA9IDA7Cj4gPiArCXVuc2lnbmVkIGludCB2c3luY19jb3VudCA9IDA7 Cj4gPiArCXVuc2lnbmVkIGludCBpOwo+ID4gKwl1MzIgZGF0YTsKPiA+ICsJdTMyIHZhbDsKPiA+ ICsJaW50IHJldDsKPiA+ICsKPiA+ICsJcmV0ID0gcG1fcnVudGltZV9nZXRfaWZfaW5fdXNlKHJr aXNwMS0+ZGV2KTsKPiA+ICsJaWYgKHJldCA8PSAwKQo+ID4gKwkJcmV0dXJuIHJldCA/IDogLUVO T0RBVEE7Cj4gPiArCj4gPiArCS8qIFNhbXBsZSB0aGUgSVNQIGlucHV0IHBvcnQgc3RhdHVzIDEw MDAwIHRpbWVzIHdpdGggYSAxwrVzIGludGVydmFsLiAqLwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwg MTAwMDA7ICsraSkgewo+ID4gKwkJdmFsID0gcmtpc3AxX3JlYWQocmtpc3AxLCBSS0lTUDFfQ0lG X0lTUF9GTEFHU19TSEQpOwo+ID4gKwo+ID4gKwkJZGF0YSA9ICh2YWwgJiBSS0lTUDFfQ0lGX0lT UF9GTEFHU19TSERfU19EQVRBX01BU0spCj4gPiArCQkgICAgID4+IFJLSVNQMV9DSUZfSVNQX0ZM QUdTX1NIRF9TX0RBVEFfU0hJRlQ7Cj4gPiArCQlkYXRhX2NvdW50W2RhdGEgLyBSS0lTUDFfREVC VUdfREFUQV9DT1VOVF9TVEVQXSsrOwo+ID4gKwo+ID4gKwkJaWYgKHZhbCAmIFJLSVNQMV9DSUZf SVNQX0ZMQUdTX1NIRF9TX0hTWU5DKQo+ID4gKwkJCWhzeW5jX2NvdW50Kys7Cj4gPiArCQlpZiAo dmFsICYgUktJU1AxX0NJRl9JU1BfRkxBR1NfU0hEX1NfVlNZTkMpCj4gPiArCQkJdnN5bmNfY291 bnQrKzsKPiA+ICsKPiA+ICsJCXVkZWxheSgxKTsKPiA+ICsJfQo+ID4gKwo+ID4gKwlwbV9ydW50 aW1lX3B1dChya2lzcDEtPmRldik7Cj4gPiArCj4gPiArCXNlcV9wcmludGYobSwgInZzeW5jOiAl dSwgaHN5bmM6ICV1XG4iLCB2c3luY19jb3VudCwgaHN5bmNfY291bnQpOwo+ID4gKwlzZXFfcHV0 cyhtLCAiZGF0YTpcbiIpOwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkYXRhX2Nv dW50KTsgKytpKQo+ID4gKwkJc2VxX3ByaW50ZihtLCAiLSBbJTA0dTolMDR1XTogJXVcbiIsCj4g PiArCQkJICAgaSAqIFJLSVNQMV9ERUJVR19EQVRBX0NPVU5UX1NURVAsCj4gPiArCQkJICAgKGkg KyAxKSAqIFJLSVNQMV9ERUJVR19EQVRBX0NPVU5UX1NURVAgLSAxLAo+ID4gKwkJCSAgIGRhdGFf Y291bnRbaV0pOwo+ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArREVGSU5FX1NIT1df QVRUUklCVVRFKHJraXNwMV9kZWJ1Z19pbnB1dF9zdGF0dXMpOwo+ID4gIAo+ID4gIHZvaWQgcmtp c3AxX2RlYnVnX2luaXQoc3RydWN0IHJraXNwMV9kZXZpY2UgKnJraXNwMSkKPiA+ICB7Cj4gPiBA QCAtNDIsNiArOTQsOCBAQCB2b2lkIHJraXNwMV9kZWJ1Z19pbml0KHN0cnVjdCBya2lzcDFfZGV2 aWNlICpya2lzcDEpCj4gPiAgCQkJICAgICAmZGVidWctPmZyYW1lX2Ryb3BbUktJU1AxX01BSU5Q QVRIXSk7Cj4gPiAgCWRlYnVnZnNfY3JlYXRlX3Vsb25nKCJzcF9mcmFtZV9kcm9wIiwgMDQ0NCwg ZGVidWctPmRlYnVnZnNfZGlyLAo+ID4gIAkJCSAgICAgJmRlYnVnLT5mcmFtZV9kcm9wW1JLSVNQ MV9TRUxGUEFUSF0pOwo+ID4gKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpbnB1dF9zdGF0dXMiLCAw NDQ0LCBkZWJ1Zy0+ZGVidWdmc19kaXIsIHJraXNwMSwKPiA+ICsJCQkgICAgJnJraXNwMV9kZWJ1 Z19pbnB1dF9zdGF0dXNfZm9wcyk7Cj4gPiAgfQo+ID4gIAo+ID4gIHZvaWQgcmtpc3AxX2RlYnVn X2NsZWFudXAoc3RydWN0IHJraXNwMV9kZXZpY2UgKnJraXNwMSkKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JraXNwMS9ya2lzcDEtcmVncy5oIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9yb2NrY2hpcC9ya2lzcDEvcmtpc3AxLXJlZ3MuaAo+ID4gaW5k ZXggYTkzZDAxMjdiODEzLi4yYjMyMmRiOTcyNTIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JraXNwMS9ya2lzcDEtcmVncy5oCj4gPiArKysgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3JvY2tjaGlwL3JraXNwMS9ya2lzcDEtcmVncy5oCj4gPiBAQCAt NDU0LDYgKzQ1NCwxNSBAQAo+ID4gICNkZWZpbmUgUktJU1AxX0NJRl9JU1BfREVNT1NBSUNfQllQ QVNTCQkJQklUKDEwKQo+ID4gICNkZWZpbmUgUktJU1AxX0NJRl9JU1BfREVNT1NBSUNfVEgoeCkJ CQkoKHgpICYgMHhGRikKPiA+ICAKPiA+ICsvKiBJU1BfRkxBR1NfU0hEICovCj4gPiArI2RlZmlu ZSBSS0lTUDFfQ0lGX0lTUF9GTEFHU19TSERfSVNQX0VOQUJMRV9TSEQJCUJJVCgwKQo+ID4gKyNk ZWZpbmUgUktJU1AxX0NJRl9JU1BfRkxBR1NfU0hEX0lTUF9FTkFCTEVfSU5GT1JNX1NIRAlCSVQo MSkKPiA+ICsjZGVmaW5lIFJLSVNQMV9DSUZfSVNQX0ZMQUdTX1NIRF9JTkZPUk1fRklFTEQJCUJJ VCgyKQo+ID4gKyNkZWZpbmUgUktJU1AxX0NJRl9JU1BfRkxBR1NfU0hEX1NfREFUQV9NQVNLCQlH RU5NQVNLKDI3LCAxNikKPiA+ICsjZGVmaW5lIFJLSVNQMV9DSUZfSVNQX0ZMQUdTX1NIRF9TX0RB VEFfU0hJRlQJCTE2Cj4gPiArI2RlZmluZSBSS0lTUDFfQ0lGX0lTUF9GTEFHU19TSERfU19WU1lO QwkJQklUKDMwKQo+ID4gKyNkZWZpbmUgUktJU1AxX0NJRl9JU1BfRkxBR1NfU0hEX1NfSFNZTkMJ CUJJVCgzMSkKPiA+ICsKPiA+ICAvKiBBV0IgKi8KPiA+ICAvKiBJU1BfQVdCX1BST1AgKi8KPiA+ ICAjZGVmaW5lIFJLSVNQMV9DSUZfSVNQX0FXQl9ZTUFYX0NNUF9FTgkJCUJJVCgyKQoKLS0gClJl Z2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2No aXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECBA2C433F5 for ; Mon, 25 Apr 2022 20:13:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245153AbiDYUQO (ORCPT ); Mon, 25 Apr 2022 16:16:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245146AbiDYUQM (ORCPT ); Mon, 25 Apr 2022 16:16:12 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9EBFC1240F3 for ; Mon, 25 Apr 2022 13:13:06 -0700 (PDT) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D686B496; Mon, 25 Apr 2022 22:13:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1650917584; bh=j9/h+Lzb9JQyfGPMnzoJXPO4nHAqhL/GoRpG4bxJMsg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=TKoC0lda7s8K8Md3H4iZCkAGPifICnLhOW6LiAlM/ZtamGLI+CioPIcAr+gCRHgwu /qPMOLt2fJO9fcsBZx/g+cSA9iw/cGuwEWmX3E1uFCXSArh6clOuqFnvrL1IBPyZjA Sdf2/whLngHebdxKfUad5R9XpGWWvvuiS1Y8Yqu0= Date: Mon, 25 Apr 2022 23:13:03 +0300 From: Laurent Pinchart To: Ricardo Ribalda Cc: linux-media@vger.kernel.org, Dafna Hirschfeld , Heiko Stuebner , Paul Elder , Tomasz Figa , linux-rockchip@lists.infradead.org Subject: Re: [PATCH v4 14/21] media: rkisp1: debug: Collect input status by sampling ISP_FLAGS_SHD Message-ID: References: <20220421234240.1694-1-laurent.pinchart@ideasonboard.com> <20220421234240.1694-15-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hi Ricardo, On Mon, Apr 25, 2022 at 01:08:08PM +0200, Ricardo Ribalda wrote: > Laurent Pinchart wrote: > > > The ISP_FLAGS_SHD register exposes the ISP parallel input signals (data > > and synchronization) in real time. This can help debugging when the > > device doesn't output any image. Sample the register 10000 times with a > > 1µs delay and expose the result through debugfs. > > I think this is quite clever :) Thank you :-) > Out of curiosity, how long does reading the debug file takes? # time cat /sys/kernel/debug/32e10000.isp/input_status [...] real 0m 0.03s user 0m 0.00s sys 0m 0.02s > > Signed-off-by: Laurent Pinchart > > Signed-off-by: Paul Elder > > Reviewed-by: Ricardo Ribalda > > > --- > > Changes since v3: > > > > - Fix pm_runtime_get_if_in_use() return value handling > > > > Changes since v2: > > > > - Handle runtime PM > > --- > > .../platform/rockchip/rkisp1/rkisp1-debug.c | 54 +++++++++++++++++++ > > .../platform/rockchip/rkisp1/rkisp1-regs.h | 9 ++++ > > 2 files changed, 63 insertions(+) > > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > index 64b33774cbdf..782a696ac587 100644 > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-debug.c > > @@ -9,9 +9,61 @@ > > */ > > > > #include > > +#include > > #include > > +#include > > +#include > > > > #include "rkisp1-common.h" > > +#include "rkisp1-regs.h" > > + > > +#define RKISP1_DEBUG_DATA_COUNT_BINS 32 > > +#define RKISP1_DEBUG_DATA_COUNT_STEP (4096 / RKISP1_DEBUG_DATA_COUNT_BINS) > > + > > +static int rkisp1_debug_input_status_show(struct seq_file *m, void *p) > > +{ > > + struct rkisp1_device *rkisp1 = m->private; > > + u16 data_count[RKISP1_DEBUG_DATA_COUNT_BINS] = { }; > > + unsigned int hsync_count = 0; > > + unsigned int vsync_count = 0; > > + unsigned int i; > > + u32 data; > > + u32 val; > > + int ret; > > + > > + ret = pm_runtime_get_if_in_use(rkisp1->dev); > > + if (ret <= 0) > > + return ret ? : -ENODATA; > > + > > + /* Sample the ISP input port status 10000 times with a 1µs interval. */ > > + for (i = 0; i < 10000; ++i) { > > + val = rkisp1_read(rkisp1, RKISP1_CIF_ISP_FLAGS_SHD); > > + > > + data = (val & RKISP1_CIF_ISP_FLAGS_SHD_S_DATA_MASK) > > + >> RKISP1_CIF_ISP_FLAGS_SHD_S_DATA_SHIFT; > > + data_count[data / RKISP1_DEBUG_DATA_COUNT_STEP]++; > > + > > + if (val & RKISP1_CIF_ISP_FLAGS_SHD_S_HSYNC) > > + hsync_count++; > > + if (val & RKISP1_CIF_ISP_FLAGS_SHD_S_VSYNC) > > + vsync_count++; > > + > > + udelay(1); > > + } > > + > > + pm_runtime_put(rkisp1->dev); > > + > > + seq_printf(m, "vsync: %u, hsync: %u\n", vsync_count, hsync_count); > > + seq_puts(m, "data:\n"); > > + for (i = 0; i < ARRAY_SIZE(data_count); ++i) > > + seq_printf(m, "- [%04u:%04u]: %u\n", > > + i * RKISP1_DEBUG_DATA_COUNT_STEP, > > + (i + 1) * RKISP1_DEBUG_DATA_COUNT_STEP - 1, > > + data_count[i]); > > + > > + return 0; > > +} > > +DEFINE_SHOW_ATTRIBUTE(rkisp1_debug_input_status); > > > > void rkisp1_debug_init(struct rkisp1_device *rkisp1) > > { > > @@ -42,6 +94,8 @@ void rkisp1_debug_init(struct rkisp1_device *rkisp1) > > &debug->frame_drop[RKISP1_MAINPATH]); > > debugfs_create_ulong("sp_frame_drop", 0444, debug->debugfs_dir, > > &debug->frame_drop[RKISP1_SELFPATH]); > > + debugfs_create_file("input_status", 0444, debug->debugfs_dir, rkisp1, > > + &rkisp1_debug_input_status_fops); > > } > > > > void rkisp1_debug_cleanup(struct rkisp1_device *rkisp1) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > > index a93d0127b813..2b322db97252 100644 > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > > @@ -454,6 +454,15 @@ > > #define RKISP1_CIF_ISP_DEMOSAIC_BYPASS BIT(10) > > #define RKISP1_CIF_ISP_DEMOSAIC_TH(x) ((x) & 0xFF) > > > > +/* ISP_FLAGS_SHD */ > > +#define RKISP1_CIF_ISP_FLAGS_SHD_ISP_ENABLE_SHD BIT(0) > > +#define RKISP1_CIF_ISP_FLAGS_SHD_ISP_ENABLE_INFORM_SHD BIT(1) > > +#define RKISP1_CIF_ISP_FLAGS_SHD_INFORM_FIELD BIT(2) > > +#define RKISP1_CIF_ISP_FLAGS_SHD_S_DATA_MASK GENMASK(27, 16) > > +#define RKISP1_CIF_ISP_FLAGS_SHD_S_DATA_SHIFT 16 > > +#define RKISP1_CIF_ISP_FLAGS_SHD_S_VSYNC BIT(30) > > +#define RKISP1_CIF_ISP_FLAGS_SHD_S_HSYNC BIT(31) > > + > > /* AWB */ > > /* ISP_AWB_PROP */ > > #define RKISP1_CIF_ISP_AWB_YMAX_CMP_EN BIT(2) -- Regards, Laurent Pinchart