From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH 04/13] drm/i2c: tda998x: derive CTS_N value from aclk sample rate ratio Date: Tue, 11 Jun 2019 12:01:52 +0100 Message-ID: References: <20190611110052.iw6qbw2yvypxus6t@shell.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16DCF89129 for ; Tue, 11 Jun 2019 11:09:35 +0000 (UTC) In-Reply-To: <20190611110052.iw6qbw2yvypxus6t@shell.armlinux.org.uk> MIME-Version: 1.0 Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sven Van Asbroeck , Mark Brown , Peter Ujfalusi , Jyri Sarha Cc: David Airlie , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIFREQTk5OHggZGVyaXZlcyB0aGUgQ1RTIHZhbHVlIHVzaW5nIHRoZSBzdXBwbGllZCBJMlMg Yml0IGNsb2NrCihBQ0xLLCBpbiBUREE5OTh4IHBhcmxlbmNlKSByYXRoZXIgdGhhbiAxMjjCt2Zz LiAgVERBOTk4eCB1c2VzIHR3bwpjb25zdGFudHMgbmFtZWQgbSBhbmQgayBpbiB0aGUgQ1RTIGdl bmVyYXRvciBzdWNoIHRoYXQgd2UgaGF2ZSB0aGlzCnJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBJ MlMgc291cmNlIEFDTEsgYW5kIHRoZSBzaW5rIGZzOgoKCTEyOMK3ZnNfc2luayA9IEFDTEvCt20g LyBrCgpXaGVyZSBBQ0xLID0gYWNsa19yYXRpb8K3ZnNfc291cmNlLgoKV2hlbiBhdWRpbyBzdXBw b3J0IHdhcyBvcmlnaW5hbGx5IGFkZGVkLCB3ZSBzdXBwb3J0ZWQgYSBmaXhlZCByYXRpbwpvZiA2 NMK3ZnMsIGludGVuZGluZyB0byBzdXBwb3J0IHRoZSBLaXJrd29vZCBJMlMgb24gRG92ZS4gIEhv d2V2ZXIsCndoZW4gaGRtaS1jb2RlYyBzdXBwb3J0IHdhcyBhZGRlZCwgdGhpcyB3YXMgY2hhbmdl ZCB0byBzY2FsZSB0aGUKcmF0aW8gd2l0aCB0aGUgc2FtcGxlIHdpZHRoLCB3aGljaCB3b3VsZCd2 ZSBicm9rZW4gaXRzIHVzZSB3aXRoCktpcmt3b29kIEkyUy4KCldlIGFyZSBub3cgc3RhcnRpbmcg dG8gc2VlIG90aGVyIHVzZXJzIHdob3NlIEkyUyBibG9ja3Mgc2VuZCBhdCA2NMK3ZnMKZm9yIDE2 LWJpdCBzYW1wbGVzLCBzbyB3ZSBuZWVkIHRvIHJlaW5zdGF0ZSB0aGUgc3VwcG9ydCBmb3IgdGhl IGZpeGVkCnJhdGlvIEkyUyBiaXQgY2xvY2suCgpUaGlzIGNvbW1pdCB0YWtlcyBhIHN0ZXAgdG93 YXJkcyBzdXBwb3J0aW5nIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGJ5CnNlbGVjdGluZyB0aGUgQ1RT X04gcmVnaXN0ZXIgbSBhbmQgayB2YWx1ZXMgYmFzZWQgb24gdGhlIGJpdCBjbG9jawpyYXRpby4g IEhvd2V2ZXIsIGFzIHRoZSBkcml2ZXIgaXMgbm90IGdpdmVuIHRoZSBiaXQgY2xvY2sgcmF0aW8g ZnJvbQpBTFNBLCBjb250aW51ZSBkZXJpdmluZyB0aGlzIGZyb20gdGhlIHNhbXBsZSB3aWR0aC4g IFRoaXMgd2lsbCBiZQphZGRyZXNzZWQgaW4gYSBsYXRlciBjb21taXQuCgpTaWduZWQtb2ZmLWJ5 OiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVrPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDIwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwppbmRleCA3OGEyYjgxNWE4ZGUuLmJm NzU0MTRhOGM2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwpAQCAtNDMsNiArNDMsNyBA QCBzdHJ1Y3QgdGRhOTk4eF9hdWRpb19wb3J0IHsKIHN0cnVjdCB0ZGE5OTh4X2F1ZGlvX3NldHRp bmdzIHsKIAlzdHJ1Y3QgdGRhOTk4eF9hdWRpb19wYXJhbXMgcGFyYW1zOwogCXU4IGkyc19mb3Jt YXQ7CisJdTggY3RzX247CiB9OwogCiBzdHJ1Y3QgdGRhOTk4eF9wcml2IHsKQEAgLTg5MSw2ICs4 OTIsNTggQEAgc3RhdGljIHU4IHRkYTk5OHhfZ2V0X2FkaXYoc3RydWN0IHRkYTk5OHhfcHJpdiAq cHJpdiwgdW5zaWduZWQgaW50IGZzKQogCXJldHVybiBhZGl2OwogfQogCisvKgorICogSW4gYXV0 by1DVFMgbW9kZSwgdGhlIFREQTk5OHggdXNlcyBhICJtZWFzdXJlZCB0aW1lIHN0YW1wIiBjb3Vu dGVyIHRvCisgKiBnZW5lcmF0ZSB0aGUgQ1RTIHZhbHVlLiAgSXQgYXBwZWFycyB0aGF0IHRoZSAi bWVhc3VyZWQgdGltZSBzdGFtcCIgaXMKKyAqIHRoZSBudW1iZXIgb2YgVERNUyBjbG9jayBjeWNs ZXMgd2l0aGluIGEgbnVtYmVyIG9mIGF1ZGlvIGlucHV0IGNsb2NrCisgKiBjeWNsZXMgZGVmaW5l ZCBieSB0aGUgayBhbmQgTiBwYXJhbWV0ZXJzIGRlZmluZWQgYmVsb3csIGluIGEgc2ltaWxhcgor ICogd2F5IHRvIHRoYXQgd2hpY2ggaXMgc2V0IG91dCBpbiB0aGUgQ1RTIGdlbmVyYXRpb24gaW4g dGhlIEhETUkgc3BlYy4KKyAqCisgKiAgdG1kc2NsayAtLS0tPiBtdHMgLT4gL20gLS0tPiBDVFMK KyAqICAgICAgICAgICAgICAgICBeCisgKiAgc2NsayAtPiAvayAtPiAvTgorICoKKyAqIENUUyA9 IG10cyAvIG0sIHdoZXJlIG0gaXMgMl5NLgorICogL2sgaXMgYSBkaXZpZGVyIGJhc2VkIG9uIHRo ZSBLIHZhbHVlIGJlbG93LCBLKzEgZm9yIEsgPCA0LCBvciA4IGZvciBLID49IDQKKyAqIC9OIGlz IGEgZGl2aWRlciBiYXNlZCBvbiB0aGUgSERNSSBzcGVjaWZpZWQgTiB2YWx1ZS4KKyAqCisgKiBU aGlzIHByb2R1Y2VzIHRoZSBmb2xsb3dpbmcgZXF1YXRpb246CisgKiAgQ1RTID0gdG1kc19jbG9j ayAqIGsgKiBOIC8gKHNjbGsgKiBtKQorICoKKyAqIFdoZW4gY29tYmluZWQgd2l0aCB0aGUgc2lu ay1zaWRlIGVxdWF0aW9uLCBhbmQgcmVhbGlzaW5nIHRoYXQgc2NsayBpcworICogYmNsa19yYXRp byAqIGZzLCB3ZSBlbmQgdXAgd2l0aDoKKyAqICBrID0gbSAqIGJjbGtfcmF0aW8gLyAxMjguCisg KgorICogTm90ZTogUy9QRElGIGFsd2F5cyB1c2VzIGEgYmNsa19yYXRpbyBvZiA2NC4KKyAqLwor c3RhdGljIGludCB0ZGE5OTh4X2Rlcml2ZV9jdHNfbihzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2 LAorCQkJCXN0cnVjdCB0ZGE5OTh4X2F1ZGlvX3NldHRpbmdzICpzZXR0aW5ncywKKwkJCQl1bnNp Z25lZCBpbnQgcmF0aW8pCit7CisJc3dpdGNoIChyYXRpbykgeworCWNhc2UgMTY6CisJCXNldHRp bmdzLT5jdHNfbiA9IENUU19OX00oMykgfCBDVFNfTl9LKDApOworCQlicmVhazsKKwljYXNlIDMy OgorCQlzZXR0aW5ncy0+Y3RzX24gPSBDVFNfTl9NKDMpIHwgQ1RTX05fSygxKTsKKwkJYnJlYWs7 CisJY2FzZSA0ODoKKwkJc2V0dGluZ3MtPmN0c19uID0gQ1RTX05fTSgzKSB8IENUU19OX0soMik7 CisJCWJyZWFrOworCWNhc2UgNjQ6CisJCXNldHRpbmdzLT5jdHNfbiA9IENUU19OX00oMykgfCBD VFNfTl9LKDMpOworCQlicmVhazsKKwljYXNlIDEyODoKKwkJc2V0dGluZ3MtPmN0c19uID0gQ1RT X05fTSgwKSB8IENUU19OX0soMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl9lcnIoJnBy aXYtPmhkbWktPmRldiwgInVuc3VwcG9ydGVkIGJjbGsgcmF0aW8gJXVmc1xuIiwKKwkJCXJhdGlv KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCB0 ZGE5OTh4X2F1ZGlvX211dGUoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwgYm9vbCBvbikKIHsK IAlpZiAob24pIHsKQEAgLTkwNSw3ICs5NTgsNyBAQCBzdGF0aWMgdm9pZCB0ZGE5OTh4X2F1ZGlv X211dGUoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwgYm9vbCBvbikKIHN0YXRpYyBpbnQgdGRh OTk4eF9jb25maWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAkJCQkgY29u c3Qgc3RydWN0IHRkYTk5OHhfYXVkaW9fc2V0dGluZ3MgKnNldHRpbmdzKQogewotCXU4IGJ1Zls2 XSwgY2xrc2VsX2FpcCwgY2xrc2VsX2ZzLCBjdHNfbiwgYWRpdjsKKwl1OCBidWZbNl0sIGNsa3Nl bF9haXAsIGNsa3NlbF9mcywgYWRpdjsKIAl1MzIgbjsKIAogCWFkaXYgPSB0ZGE5OTh4X2dldF9h ZGl2KHByaXYsIHNldHRpbmdzLT5wYXJhbXMuc2FtcGxlX3JhdGUpOwpAQCAtOTIwLDcgKzk3Myw2 IEBAIHN0YXRpYyBpbnQgdGRhOTk4eF9jb25maWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJp diAqcHJpdiwKIAkJcmVnX3dyaXRlKHByaXYsIFJFR19NVVhfQVAsIE1VWF9BUF9TRUxFQ1RfU1BE SUYpOwogCQljbGtzZWxfYWlwID0gQUlQX0NMS1NFTF9BSVBfU1BESUY7CiAJCWNsa3NlbF9mcyA9 IEFJUF9DTEtTRUxfRlNfRlM2NFNQRElGOwotCQljdHNfbiA9IENUU19OX00oMykgfCBDVFNfTl9L KDMpOwogCQlicmVhazsKIAogCWNhc2UgQUZNVF9JMlM6CkBAIC05MjgsMjAgKzk4MCw2IEBAIHN0 YXRpYyBpbnQgdGRhOTk4eF9jb25maWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJp diwKIAkJcmVnX3dyaXRlKHByaXYsIFJFR19NVVhfQVAsIE1VWF9BUF9TRUxFQ1RfSTJTKTsKIAkJ Y2xrc2VsX2FpcCA9IEFJUF9DTEtTRUxfQUlQX0kyUzsKIAkJY2xrc2VsX2ZzID0gQUlQX0NMS1NF TF9GU19BQ0xLOwotCQlzd2l0Y2ggKHNldHRpbmdzLT5wYXJhbXMuc2FtcGxlX3dpZHRoKSB7Ci0J CWNhc2UgMTY6Ci0JCQljdHNfbiA9IENUU19OX00oMykgfCBDVFNfTl9LKDEpOwotCQkJYnJlYWs7 Ci0JCWNhc2UgMTg6Ci0JCWNhc2UgMjA6Ci0JCWNhc2UgMjQ6Ci0JCQljdHNfbiA9IENUU19OX00o MykgfCBDVFNfTl9LKDIpOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCWNhc2UgMzI6Ci0JCQlj dHNfbiA9IENUU19OX00oMykgfCBDVFNfTl9LKDMpOwotCQkJYnJlYWs7Ci0JCX0KIAkJYnJlYWs7 CiAKIAlkZWZhdWx0OgpAQCAtOTUzLDcgKzk5MSw3IEBAIHN0YXRpYyBpbnQgdGRhOTk4eF9jb25m aWd1cmVfYXVkaW8oc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAlyZWdfd3JpdGUocHJpdiwg UkVHX0FJUF9DTEtTRUwsIGNsa3NlbF9haXApOwogCXJlZ19jbGVhcihwcml2LCBSRUdfQUlQX0NO VFJMXzAsIEFJUF9DTlRSTF8wX0xBWU9VVCB8CiAJCQkJCUFJUF9DTlRSTF8wX0FDUl9NQU4pOwkv KiBhdXRvIENUUyAqLwotCXJlZ193cml0ZShwcml2LCBSRUdfQ1RTX04sIGN0c19uKTsKKwlyZWdf d3JpdGUocHJpdiwgUkVHX0NUU19OLCBzZXR0aW5ncy0+Y3RzX24pOwogCXJlZ193cml0ZShwcml2 LCBSRUdfQVVESU9fRElWLCBhZGl2KTsKIAogCS8qCkBAIC0xMDAwLDYgKzEwMzgsNyBAQCBzdGF0 aWMgaW50IHRkYTk5OHhfYXVkaW9faHdfcGFyYW1zKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJCQkgICBzdHJ1Y3QgaGRtaV9jb2RlY19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1 Y3QgdGRhOTk4eF9wcml2ICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQg aW50IGJjbGtfcmF0aW87CiAJYm9vbCBzcGRpZiA9IGRhaWZtdC0+Zm10ID09IEhETUlfU1BESUY7 CiAJaW50IGksIHJldDsKIAlzdHJ1Y3QgdGRhOTk4eF9hdWRpb19zZXR0aW5ncyBhdWRpbyA9IHsK QEAgLTEwNTIsNiArMTA5MSwxMSBAQCBzdGF0aWMgaW50IHRkYTk5OHhfYXVkaW9faHdfcGFyYW1z KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQog CisJYmNsa19yYXRpbyA9IHNwZGlmID8gNjQgOiBwYXJhbXMtPnNhbXBsZV93aWR0aCAqIDI7CisJ cmV0ID0gdGRhOTk4eF9kZXJpdmVfY3RzX24ocHJpdiwgJmF1ZGlvLCBiY2xrX3JhdGlvKTsKKwlp ZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKwogCW11dGV4X2xvY2soJnByaXYtPmF1ZGlvX211 dGV4KTsKIAlpZiAocHJpdi0+c3VwcG9ydHNfaW5mb2ZyYW1lcyAmJiBwcml2LT5zaW5rX2hhc19h dWRpbykKIAkJcmV0ID0gdGRhOTk4eF9jb25maWd1cmVfYXVkaW8ocHJpdiwgJmF1ZGlvKTsKQEAg LTE2NDAsOCArMTY4NCw4IEBAIHN0YXRpYyBpbnQgdGRhOTk4eF9nZXRfYXVkaW9fcG9ydHMoc3Ry dWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgdGRh OTk4eF9zZXRfY29uZmlnKHN0cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYsCi0JCQkgICAgICAgY29u c3Qgc3RydWN0IHRkYTk5OHhfZW5jb2Rlcl9wYXJhbXMgKnApCitzdGF0aWMgaW50IHRkYTk5OHhf c2V0X2NvbmZpZyhzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LAorCQkJICAgICAgY29uc3Qgc3Ry dWN0IHRkYTk5OHhfZW5jb2Rlcl9wYXJhbXMgKnApCiB7CiAJcHJpdi0+dmlwX2NudHJsXzAgPSBW SVBfQ05UUkxfMF9TV0FQX0EocC0+c3dhcF9hKSB8CiAJCQkgICAgKHAtPm1pcnJfYSA/IFZJUF9D TlRSTF8wX01JUlJfQSA6IDApIHwKQEAgLTE2NTcsOSArMTcwMSwxNyBAQCBzdGF0aWMgdm9pZCB0 ZGE5OTh4X3NldF9jb25maWcoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAkJCSAgICAocC0+ bWlycl9mID8gVklQX0NOVFJMXzJfTUlSUl9GIDogMCk7CiAKIAlpZiAocC0+YXVkaW9fcGFyYW1z LmZvcm1hdCAhPSBBRk1UX1VOVVNFRCkgeworCQl1bnNpZ25lZCBpbnQgcmF0aW87CisJCWJvb2wg c3BkaWYgPSBwLT5hdWRpb19wYXJhbXMuZm9ybWF0ID09IEFGTVRfU1BESUY7CisKIAkJcHJpdi0+ YXVkaW8ucGFyYW1zID0gcC0+YXVkaW9fcGFyYW1zOwogCQlwcml2LT5hdWRpby5pMnNfZm9ybWF0 ID0gSTJTX0ZPUk1BVF9QSElMSVBTOworCisJCXJhdGlvID0gc3BkaWYgPyA2NCA6IHAtPmF1ZGlv X3BhcmFtcy5zYW1wbGVfd2lkdGggKiAyOworCQlyZXR1cm4gdGRhOTk4eF9kZXJpdmVfY3RzX24o cHJpdiwgJnByaXYtPmF1ZGlvLCByYXRpbyk7CiAJfQorCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRp YyB2b2lkIHRkYTk5OHhfZGVzdHJveShzdHJ1Y3QgZGV2aWNlICpkZXYpCkBAIC0xODYxLDcgKzE5 MTMsOSBAQCBzdGF0aWMgaW50IHRkYTk5OHhfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldikKIAkJ aWYgKHByaXYtPmF1ZGlvX3BvcnRbMF0uZm9ybWF0ICE9IEFGTVRfVU5VU0VEKQogCQkJdGRhOTk4 eF9hdWRpb19jb2RlY19pbml0KHByaXYsICZjbGllbnQtPmRldik7CiAJfSBlbHNlIGlmIChkZXYt PnBsYXRmb3JtX2RhdGEpIHsKLQkJdGRhOTk4eF9zZXRfY29uZmlnKHByaXYsIGRldi0+cGxhdGZv cm1fZGF0YSk7CisJCXJldCA9IHRkYTk5OHhfc2V0X2NvbmZpZyhwcml2LCBkZXYtPnBsYXRmb3Jt X2RhdGEpOworCQlpZiAocmV0KQorCQkJZ290byBmYWlsOwogCX0KIAogCXByaXYtPmJyaWRnZS5m dW5jcyA9ICZ0ZGE5OTh4X2JyaWRnZV9mdW5jczsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=