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=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 58922C43461 for ; Fri, 4 Sep 2020 11:54:33 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 2F9FC214F1 for ; Fri, 4 Sep 2020 11:54:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2F9FC214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0AD086EB61; Fri, 4 Sep 2020 11:54:32 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE2C16EB61; Fri, 4 Sep 2020 11:54:30 +0000 (UTC) IronPort-SDR: KjMYl5Qz8mM4B+pJpnxfV7tpaukaonBHnMz6IHOUTSFNi2JkqmKktjTj0QGFujNmqtkhBR5rSD 7BPTgF2I8pdg== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="158705826" X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="158705826" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 04:54:30 -0700 IronPort-SDR: 0+JUrLV6BBRb8lB9gn5KixvUrefz4WkZfjQc8l1BC+XvAb+iEZejC7oXbNJrf3HOO92/Aq8s/D yDfLPTqYoT8g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="339669720" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by FMSMGA003.fm.intel.com with SMTP; 04 Sep 2020 04:54:27 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 04 Sep 2020 14:54:26 +0300 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH v2 10/18] drm/dp: Add drm_dp_downstream_{min, max}_tmds_clock() Date: Fri, 4 Sep 2020 14:53:46 +0300 Message-Id: <20200904115354.25336-11-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200904115354.25336-1-ville.syrjala@linux.intel.com> References: <20200904115354.25336-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBoZWxwZXJzIHRvIGdldCB0aGUgVE1EUyBjbG9jayBsaW1pdHMgZm9yIEhETUkvRFZJIGRvd25z dHJlYW0KZmFjaW5nIHBvcnRzLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hl bHBlci5jIHwgMTE2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmggICAgIHwgICA2ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKaW5kZXggODIyYTMwZTYwOWVmLi5mNTY3 NDI4ZjJhZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwpAQCAtNjQzLDYgKzY0MywxMTQgQEAg aW50IGRybV9kcF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJ VkVSX0NBUF9TSVpFXSwKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2Rv dGNsb2NrKTsKIAorLyoqCisgKiBkcm1fZHBfZG93bnN0cmVhbV9tYXhfdG1kc19jbG9jaygpIC0g ZXh0cmFjdCBkb3duc3RyZWFtIGZhY2luZyBwb3J0IG1heCBUTURTIGNsb2NrCisgKiBAZHBjZDog RGlzcGxheVBvcnQgY29uZmlndXJhdGlvbiBkYXRhCisgKiBAcG9ydF9jYXA6IHBvcnQgY2FwYWJp bGl0aWVzCisgKiBAZWRpZDogRURJRAorICoKKyAqIFJldHVybnMgSERNSS9EVkkgZG93bnN0cmVh bSBmYWNpbmcgcG9ydCBtYXggVE1EUyBjbG9jayBpbiBrSHogb24gc3VjY2VzcywKKyAqIG9yIDAg aWYgbWF4IFRNRFMgY2xvY2sgbm90IGRlZmluZWQKKyAqLworaW50IGRybV9kcF9kb3duc3RyZWFt X21heF90bWRzX2Nsb2NrKGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdLAorCQkJ CSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sCisJCQkJICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAq ZWRpZCkKK3sKKwlpZiAoIWRybV9kcF9pc19icmFuY2goZHBjZCkpCisJCXJldHVybiAwOworCisJ aWYgKGRwY2RbRFBfRFBDRF9SRVZdIDwgMHgxMSkgeworCQlzd2l0Y2ggKGRwY2RbRFBfRE9XTlNU UkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9EV05fU1RSTV9QT1JUX1RZUEVfTUFTSykgeworCQljYXNl IERQX0RXTl9TVFJNX1BPUlRfVFlQRV9UTURTOgorCQkJcmV0dXJuIDE2NTAwMDsKKwkJZGVmYXVs dDoKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJc3dpdGNoIChwb3J0X2NhcFswXSAmIERQX0RT X1BPUlRfVFlQRV9NQVNLKSB7CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfRFBfRFVBTE1PREU6CisJ CWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRfZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsKKwkJLyoK KwkJICogSXQncyBsZWZ0IHVwIHRvIHRoZSBkcml2ZXIgdG8gY2hlY2sgdGhlCisJCSAqIERQIGR1 YWwgbW9kZSBhZGFwdGVyJ3MgbWF4IFRNRFMgY2xvY2suCisJCSAqCisJCSAqIFVuZm9ydHVuYXRs ZXkgaXQgbG9va3MgbGlrZSBicmFuY2ggZGV2aWNlcworCQkgKiBtYXkgbm90IGZvcmR3YXJkIHRo YXQgdGhlIERQIGR1YWwgbW9kZSBpMmMKKwkJICogYWNjZXNzIHNvIHdlIGp1c3QgdXN1YWxseSBn ZXQgaTJjIG5hayA6KAorCQkgKi8KKwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JUX1RZ UEVfSERNSToKKwkJIC8qCisJCSAgKiBXZSBzaG91bGQgcGVyaGFwcyBhc3N1bWUgMTY1IE1IeiB3 aGVuIGRldGFpbGVkIGNhcAorCQkgICogaW5mbyBpcyBub3QgYXZhaWxhYmxlLiBCdXQgbG9va3Mg bGlrZSBtYW55IHR5cGljYWwKKwkJICAqIGJyYW5jaCBkZXZpY2VzIGZhbGwgaW50byB0aGF0IGNh dGVnb3J5IGFuZCBzbyB3ZSdkCisJCSAgKiBwcm9iYWJseSBlbmQgdXAgd2l0aCB1c2VycyBjb21w bGFpbmluZyB0aGF0IHRoZXkgY2FuJ3QKKwkJICAqIGdldCBoaWdoIHJlc29sdXRpb24gbW9kZXMg d2l0aCB0aGVpciBmYXZvcml0ZSBkb25nbGUuCisJCSAgKgorCQkgICogU28gbGV0J3MgbGltaXQg dG8gMzAwIE1IeiBpbnN0ZWFkIHNpbmNlIERQQ0QgMS40CisJCSAgKiBIRE1JIDIuMCBERlBzIGFy ZSByZXF1aXJlZCB0byBoYXZlIHRoZSBkZXRhaWxlZCBjYXAKKwkJICAqIGluZm8uIFNvIGl0J3Mg bW9yZSBsaWtlbHkgd2UncmUgZGVhbGluZyB3aXRoIGEgSERNSSAxLjQKKwkJICAqIGNvbXBhdGli bGUqIGRldmljZSBoZXJlLgorCQkgICovCisJCWlmICgoZHBjZFtEUF9ET1dOU1RSRUFNUE9SVF9Q UkVTRU5UXSAmIERQX0RFVEFJTEVEX0NBUF9JTkZPX0FWQUlMQUJMRSkgPT0gMCkKKwkJCXJldHVy biAzMDAwMDA7CisJCXJldHVybiBwb3J0X2NhcFsxXSAqIDI1MDA7CisJY2FzZSBEUF9EU19QT1JU X1RZUEVfRFZJOgorCQlpZiAoKGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9E RVRBSUxFRF9DQVBfSU5GT19BVkFJTEFCTEUpID09IDApCisJCQlyZXR1cm4gMTY1MDAwOworCQkv KiBGSVhNRSB3aGF0IHRvIGRvIGFib3V0IERWSSBkdWFsIGxpbms/ICovCisJCXJldHVybiBwb3J0 X2NhcFsxXSAqIDI1MDA7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorRVhQT1JUX1NZ TUJPTChkcm1fZHBfZG93bnN0cmVhbV9tYXhfdG1kc19jbG9jayk7CisKKy8qKgorICogZHJtX2Rw X2Rvd25zdHJlYW1fbWluX3RtZHNfY2xvY2soKSAtIGV4dHJhY3QgZG93bnN0cmVhbSBmYWNpbmcg cG9ydCBtaW4gVE1EUyBjbG9jaworICogQGRwY2Q6IERpc3BsYXlQb3J0IGNvbmZpZ3VyYXRpb24g ZGF0YQorICogQHBvcnRfY2FwOiBwb3J0IGNhcGFiaWxpdGllcworICogQGVkaWQ6IEVESUQKKyAq CisgKiBSZXR1cm5zIEhETUkvRFZJIGRvd25zdHJlYW0gZmFjaW5nIHBvcnQgbWluIFRNRFMgY2xv Y2sgaW4ga0h6IG9uIHN1Y2Nlc3MsCisgKiBvciAwIGlmIG1heCBUTURTIGNsb2NrIG5vdCBkZWZp bmVkCisgKi8KK2ludCBkcm1fZHBfZG93bnN0cmVhbV9taW5fdG1kc19jbG9jayhjb25zdCB1OCBk cGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRd LAorCQkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCit7CisJaWYgKCFkcm1fZHBfaXNf YnJhbmNoKGRwY2QpKQorCQlyZXR1cm4gMDsKKworCWlmIChkcGNkW0RQX0RQQ0RfUkVWXSA8IDB4 MTEpIHsKKwkJc3dpdGNoIChkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBfRFdO X1NUUk1fUE9SVF9UWVBFX01BU0spIHsKKwkJY2FzZSBEUF9EV05fU1RSTV9QT1JUX1RZUEVfVE1E UzoKKwkJCXJldHVybiAyNTAwMDsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAwOworCQl9CisJfQor CisJc3dpdGNoIChwb3J0X2NhcFswXSAmIERQX0RTX1BPUlRfVFlQRV9NQVNLKSB7CisJY2FzZSBE UF9EU19QT1JUX1RZUEVfRFBfRFVBTE1PREU6CisJCWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRf ZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsKKwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JU X1RZUEVfRFZJOgorCWNhc2UgRFBfRFNfUE9SVF9UWVBFX0hETUk6CisJCS8qCisJCSAqIFVuY2xl YXIgd2hldGhlciB0aGUgcHJvdG9jb2wgY29udmVydGVyIGNvdWxkCisJCSAqIHV0aWxpemUgcGl4 ZWwgcmVwbGljYXRpb24uIEFzc3VtZSBpdCB3b24ndC4KKwkJICovCisJCXJldHVybiAyNTAwMDsK KwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKGRybV9kcF9kb3du c3RyZWFtX21pbl90bWRzX2Nsb2NrKTsKKwogLyoqCiAgICogZHJtX2RwX2Rvd25zdHJlYW1fbWF4 X2JwYygpIC0gZXh0cmFjdCBkb3duc3RyZWFtIGZhY2luZyBwb3J0IG1heAogICAqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJpdHMgcGVyIGNvbXBvbmVudApAQCAtNzg4LDYgKzg5Niwx NCBAQCB2b2lkIGRybV9kcF9kb3duc3RyZWFtX2RlYnVnKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAkJ aWYgKGNsayA+IDApCiAJCQlzZXFfcHJpbnRmKG0sICJcdFx0TWF4IGRvdCBjbG9jazogJWQga0h6 XG4iLCBjbGspOwogCisJCWNsayA9IGRybV9kcF9kb3duc3RyZWFtX21heF90bWRzX2Nsb2NrKGRw Y2QsIHBvcnRfY2FwLCBlZGlkKTsKKwkJaWYgKGNsayA+IDApCisJCQlzZXFfcHJpbnRmKG0sICJc dFx0TWF4IFRNRFMgY2xvY2s6ICVkIGtIelxuIiwgY2xrKTsKKworCQljbGsgPSBkcm1fZHBfZG93 bnN0cmVhbV9taW5fdG1kc19jbG9jayhkcGNkLCBwb3J0X2NhcCwgZWRpZCk7CisJCWlmIChjbGsg PiAwKQorCQkJc2VxX3ByaW50ZihtLCAiXHRcdE1pbiBUTURTIGNsb2NrOiAlZCBrSHpcbiIsIGNs ayk7CisKIAkJYnBjID0gZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhkcGNkLCBwb3J0X2NhcCwg ZWRpZCk7CiAKIAkJaWYgKGJwYyA+IDApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBf aGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKaW5kZXggMTliYzA0MjA3Nzg4 Li42ODEyYTNlMGRlOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAor KysgYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKQEAgLTE2NDUsNiArMTY0NSwxMiBAQCBi b29sIGRybV9kcF9kb3duc3RyZWFtX2lzX3RtZHMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9D QVBfU0laRV0sCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwogaW50IGRybV9k cF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9T SVpFXSwKIAkJCQkgICBjb25zdCB1OCBwb3J0X2NhcFs0XSk7CitpbnQgZHJtX2RwX2Rvd25zdHJl YW1fbWF4X3RtZHNfY2xvY2soY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCisJ CQkJICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBlZGlk ICplZGlkKTsKK2ludCBkcm1fZHBfZG93bnN0cmVhbV9taW5fdG1kc19jbG9jayhjb25zdCB1OCBk cGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRd LAorCQkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwogaW50IGRybV9kcF9kb3duc3Ry ZWFtX21heF9icGMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiAJCQkgICAg ICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlk KTsKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg== 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=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 B189CC28E83 for ; Fri, 4 Sep 2020 11:54:32 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 8BA3C214F1 for ; Fri, 4 Sep 2020 11:54:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8BA3C214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 051796EB5F; Fri, 4 Sep 2020 11:54:32 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE2C16EB61; Fri, 4 Sep 2020 11:54:30 +0000 (UTC) IronPort-SDR: KjMYl5Qz8mM4B+pJpnxfV7tpaukaonBHnMz6IHOUTSFNi2JkqmKktjTj0QGFujNmqtkhBR5rSD 7BPTgF2I8pdg== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="158705826" X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="158705826" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 04:54:30 -0700 IronPort-SDR: 0+JUrLV6BBRb8lB9gn5KixvUrefz4WkZfjQc8l1BC+XvAb+iEZejC7oXbNJrf3HOO92/Aq8s/D yDfLPTqYoT8g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="339669720" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by FMSMGA003.fm.intel.com with SMTP; 04 Sep 2020 04:54:27 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 04 Sep 2020 14:54:26 +0300 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Date: Fri, 4 Sep 2020 14:53:46 +0300 Message-Id: <20200904115354.25336-11-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200904115354.25336-1-ville.syrjala@linux.intel.com> References: <20200904115354.25336-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 10/18] drm/dp: Add drm_dp_downstream_{min, max}_tmds_clock() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBoZWxwZXJzIHRvIGdldCB0aGUgVE1EUyBjbG9jayBsaW1pdHMgZm9yIEhETUkvRFZJIGRvd25z dHJlYW0KZmFjaW5nIHBvcnRzLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hl bHBlci5jIHwgMTE2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmggICAgIHwgICA2ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKaW5kZXggODIyYTMwZTYwOWVmLi5mNTY3 NDI4ZjJhZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwpAQCAtNjQzLDYgKzY0MywxMTQgQEAg aW50IGRybV9kcF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJ VkVSX0NBUF9TSVpFXSwKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2Rv dGNsb2NrKTsKIAorLyoqCisgKiBkcm1fZHBfZG93bnN0cmVhbV9tYXhfdG1kc19jbG9jaygpIC0g ZXh0cmFjdCBkb3duc3RyZWFtIGZhY2luZyBwb3J0IG1heCBUTURTIGNsb2NrCisgKiBAZHBjZDog RGlzcGxheVBvcnQgY29uZmlndXJhdGlvbiBkYXRhCisgKiBAcG9ydF9jYXA6IHBvcnQgY2FwYWJp bGl0aWVzCisgKiBAZWRpZDogRURJRAorICoKKyAqIFJldHVybnMgSERNSS9EVkkgZG93bnN0cmVh bSBmYWNpbmcgcG9ydCBtYXggVE1EUyBjbG9jayBpbiBrSHogb24gc3VjY2VzcywKKyAqIG9yIDAg aWYgbWF4IFRNRFMgY2xvY2sgbm90IGRlZmluZWQKKyAqLworaW50IGRybV9kcF9kb3duc3RyZWFt X21heF90bWRzX2Nsb2NrKGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdLAorCQkJ CSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sCisJCQkJICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAq ZWRpZCkKK3sKKwlpZiAoIWRybV9kcF9pc19icmFuY2goZHBjZCkpCisJCXJldHVybiAwOworCisJ aWYgKGRwY2RbRFBfRFBDRF9SRVZdIDwgMHgxMSkgeworCQlzd2l0Y2ggKGRwY2RbRFBfRE9XTlNU UkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9EV05fU1RSTV9QT1JUX1RZUEVfTUFTSykgeworCQljYXNl IERQX0RXTl9TVFJNX1BPUlRfVFlQRV9UTURTOgorCQkJcmV0dXJuIDE2NTAwMDsKKwkJZGVmYXVs dDoKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJc3dpdGNoIChwb3J0X2NhcFswXSAmIERQX0RT X1BPUlRfVFlQRV9NQVNLKSB7CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfRFBfRFVBTE1PREU6CisJ CWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRfZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsKKwkJLyoK KwkJICogSXQncyBsZWZ0IHVwIHRvIHRoZSBkcml2ZXIgdG8gY2hlY2sgdGhlCisJCSAqIERQIGR1 YWwgbW9kZSBhZGFwdGVyJ3MgbWF4IFRNRFMgY2xvY2suCisJCSAqCisJCSAqIFVuZm9ydHVuYXRs ZXkgaXQgbG9va3MgbGlrZSBicmFuY2ggZGV2aWNlcworCQkgKiBtYXkgbm90IGZvcmR3YXJkIHRo YXQgdGhlIERQIGR1YWwgbW9kZSBpMmMKKwkJICogYWNjZXNzIHNvIHdlIGp1c3QgdXN1YWxseSBn ZXQgaTJjIG5hayA6KAorCQkgKi8KKwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JUX1RZ UEVfSERNSToKKwkJIC8qCisJCSAgKiBXZSBzaG91bGQgcGVyaGFwcyBhc3N1bWUgMTY1IE1IeiB3 aGVuIGRldGFpbGVkIGNhcAorCQkgICogaW5mbyBpcyBub3QgYXZhaWxhYmxlLiBCdXQgbG9va3Mg bGlrZSBtYW55IHR5cGljYWwKKwkJICAqIGJyYW5jaCBkZXZpY2VzIGZhbGwgaW50byB0aGF0IGNh dGVnb3J5IGFuZCBzbyB3ZSdkCisJCSAgKiBwcm9iYWJseSBlbmQgdXAgd2l0aCB1c2VycyBjb21w bGFpbmluZyB0aGF0IHRoZXkgY2FuJ3QKKwkJICAqIGdldCBoaWdoIHJlc29sdXRpb24gbW9kZXMg d2l0aCB0aGVpciBmYXZvcml0ZSBkb25nbGUuCisJCSAgKgorCQkgICogU28gbGV0J3MgbGltaXQg dG8gMzAwIE1IeiBpbnN0ZWFkIHNpbmNlIERQQ0QgMS40CisJCSAgKiBIRE1JIDIuMCBERlBzIGFy ZSByZXF1aXJlZCB0byBoYXZlIHRoZSBkZXRhaWxlZCBjYXAKKwkJICAqIGluZm8uIFNvIGl0J3Mg bW9yZSBsaWtlbHkgd2UncmUgZGVhbGluZyB3aXRoIGEgSERNSSAxLjQKKwkJICAqIGNvbXBhdGli bGUqIGRldmljZSBoZXJlLgorCQkgICovCisJCWlmICgoZHBjZFtEUF9ET1dOU1RSRUFNUE9SVF9Q UkVTRU5UXSAmIERQX0RFVEFJTEVEX0NBUF9JTkZPX0FWQUlMQUJMRSkgPT0gMCkKKwkJCXJldHVy biAzMDAwMDA7CisJCXJldHVybiBwb3J0X2NhcFsxXSAqIDI1MDA7CisJY2FzZSBEUF9EU19QT1JU X1RZUEVfRFZJOgorCQlpZiAoKGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9E RVRBSUxFRF9DQVBfSU5GT19BVkFJTEFCTEUpID09IDApCisJCQlyZXR1cm4gMTY1MDAwOworCQkv KiBGSVhNRSB3aGF0IHRvIGRvIGFib3V0IERWSSBkdWFsIGxpbms/ICovCisJCXJldHVybiBwb3J0 X2NhcFsxXSAqIDI1MDA7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorRVhQT1JUX1NZ TUJPTChkcm1fZHBfZG93bnN0cmVhbV9tYXhfdG1kc19jbG9jayk7CisKKy8qKgorICogZHJtX2Rw X2Rvd25zdHJlYW1fbWluX3RtZHNfY2xvY2soKSAtIGV4dHJhY3QgZG93bnN0cmVhbSBmYWNpbmcg cG9ydCBtaW4gVE1EUyBjbG9jaworICogQGRwY2Q6IERpc3BsYXlQb3J0IGNvbmZpZ3VyYXRpb24g ZGF0YQorICogQHBvcnRfY2FwOiBwb3J0IGNhcGFiaWxpdGllcworICogQGVkaWQ6IEVESUQKKyAq CisgKiBSZXR1cm5zIEhETUkvRFZJIGRvd25zdHJlYW0gZmFjaW5nIHBvcnQgbWluIFRNRFMgY2xv Y2sgaW4ga0h6IG9uIHN1Y2Nlc3MsCisgKiBvciAwIGlmIG1heCBUTURTIGNsb2NrIG5vdCBkZWZp bmVkCisgKi8KK2ludCBkcm1fZHBfZG93bnN0cmVhbV9taW5fdG1kc19jbG9jayhjb25zdCB1OCBk cGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRd LAorCQkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCit7CisJaWYgKCFkcm1fZHBfaXNf YnJhbmNoKGRwY2QpKQorCQlyZXR1cm4gMDsKKworCWlmIChkcGNkW0RQX0RQQ0RfUkVWXSA8IDB4 MTEpIHsKKwkJc3dpdGNoIChkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBfRFdO X1NUUk1fUE9SVF9UWVBFX01BU0spIHsKKwkJY2FzZSBEUF9EV05fU1RSTV9QT1JUX1RZUEVfVE1E UzoKKwkJCXJldHVybiAyNTAwMDsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAwOworCQl9CisJfQor CisJc3dpdGNoIChwb3J0X2NhcFswXSAmIERQX0RTX1BPUlRfVFlQRV9NQVNLKSB7CisJY2FzZSBE UF9EU19QT1JUX1RZUEVfRFBfRFVBTE1PREU6CisJCWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRf ZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsKKwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JU X1RZUEVfRFZJOgorCWNhc2UgRFBfRFNfUE9SVF9UWVBFX0hETUk6CisJCS8qCisJCSAqIFVuY2xl YXIgd2hldGhlciB0aGUgcHJvdG9jb2wgY29udmVydGVyIGNvdWxkCisJCSAqIHV0aWxpemUgcGl4 ZWwgcmVwbGljYXRpb24uIEFzc3VtZSBpdCB3b24ndC4KKwkJICovCisJCXJldHVybiAyNTAwMDsK KwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKGRybV9kcF9kb3du c3RyZWFtX21pbl90bWRzX2Nsb2NrKTsKKwogLyoqCiAgICogZHJtX2RwX2Rvd25zdHJlYW1fbWF4 X2JwYygpIC0gZXh0cmFjdCBkb3duc3RyZWFtIGZhY2luZyBwb3J0IG1heAogICAqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJpdHMgcGVyIGNvbXBvbmVudApAQCAtNzg4LDYgKzg5Niwx NCBAQCB2b2lkIGRybV9kcF9kb3duc3RyZWFtX2RlYnVnKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAkJ aWYgKGNsayA+IDApCiAJCQlzZXFfcHJpbnRmKG0sICJcdFx0TWF4IGRvdCBjbG9jazogJWQga0h6 XG4iLCBjbGspOwogCisJCWNsayA9IGRybV9kcF9kb3duc3RyZWFtX21heF90bWRzX2Nsb2NrKGRw Y2QsIHBvcnRfY2FwLCBlZGlkKTsKKwkJaWYgKGNsayA+IDApCisJCQlzZXFfcHJpbnRmKG0sICJc dFx0TWF4IFRNRFMgY2xvY2s6ICVkIGtIelxuIiwgY2xrKTsKKworCQljbGsgPSBkcm1fZHBfZG93 bnN0cmVhbV9taW5fdG1kc19jbG9jayhkcGNkLCBwb3J0X2NhcCwgZWRpZCk7CisJCWlmIChjbGsg PiAwKQorCQkJc2VxX3ByaW50ZihtLCAiXHRcdE1pbiBUTURTIGNsb2NrOiAlZCBrSHpcbiIsIGNs ayk7CisKIAkJYnBjID0gZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhkcGNkLCBwb3J0X2NhcCwg ZWRpZCk7CiAKIAkJaWYgKGJwYyA+IDApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBf aGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKaW5kZXggMTliYzA0MjA3Nzg4 Li42ODEyYTNlMGRlOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAor KysgYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKQEAgLTE2NDUsNiArMTY0NSwxMiBAQCBi b29sIGRybV9kcF9kb3duc3RyZWFtX2lzX3RtZHMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9D QVBfU0laRV0sCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwogaW50IGRybV9k cF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9T SVpFXSwKIAkJCQkgICBjb25zdCB1OCBwb3J0X2NhcFs0XSk7CitpbnQgZHJtX2RwX2Rvd25zdHJl YW1fbWF4X3RtZHNfY2xvY2soY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCisJ CQkJICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBlZGlk ICplZGlkKTsKK2ludCBkcm1fZHBfZG93bnN0cmVhbV9taW5fdG1kc19jbG9jayhjb25zdCB1OCBk cGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRd LAorCQkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwogaW50IGRybV9kcF9kb3duc3Ry ZWFtX21heF9icGMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiAJCQkgICAg ICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlk KTsKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==