From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH i-g-t v2 2/7] chamelium: Add support for HPD toggle scheduling instead of async pulses Date: Tue, 27 Jun 2017 13:53:06 +0300 Message-ID: <20170627105311.28975-2-paul.kocialkowski@linux.intel.com> References: <20170627105311.28975-1-paul.kocialkowski@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6072989FEA for ; Tue, 27 Jun 2017 10:53:24 +0000 (UTC) In-Reply-To: <20170627105311.28975-1-paul.kocialkowski@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Lyude List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhZGRzIHN1cHBvcnQgZm9yIHRoZSBuZXdseS1pbnRyb2R1Y2VkIFNjaGVkdWxlSHBkVG9n Z2xlIFhNTFJQQwptZXRob2Qgb2YgdGhlIENoYW1lbGl1bSdzIGludGVyZmFjZSBhbmQgbWFrZXMg dXNlIG9mIGl0IGluc3RlYWQgb2YKc3RhcnRpbmcgcHVsc2VzIHdpdGggYW4gYXN5bmNocm9ub3Vz IGNhbGwsIHN1c3BlbmRpbmcgYW5kIGRlYWxpbmcgd2l0aAp0aGUgcmVzdWx0IGF0IHJlc3VtZS4K ClRoZSBYTUxSUEMgbGlicmFyeSBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCB0aGUgY2FsbCB3aWxs IGJlIG1hZGUgYmVmb3JlCmNhcmluZyBmb3IgaXRzIG91dGNvbWUgYW5kIHRoaXMgaXMgaW4gZmFj dCB3aGF0IHdhcyBoYXBwZW5pbmc6CnRoZSBjYWxsIHdhcyBiZWluZyBkZWxheWVkIHVudGlsIHJl c3VtZSB0aW1lLCBhcyBjYW4gYmUgc2VlbiBmcm9tIHRoZQpDaGFtZWxpdW0ncyBsb2dzLiBUaGUg cXVpdGUgZ2VuZXJvdXMgdGltZW91dCBmb3IgSFBEIGV2ZW50IGRldGVjdGlvbgp3b3VsZCB0aGVu IGNhdGNoIHRoZSB0b2dnbGUsIHRoYXQgd2FzIHNlbnQgYWZ0ZXIgcmVzdW1lLgoKVGhpcyBpcyBl c3BlY2lhbGx5IHVzZWZ1bCBmb3IgdGVzdGluZyBIUEQgZHVyaW5nIHN1c3BlbmQvcmVzdW1lLgoK U2lnbmVkLW9mZi1ieTogUGF1bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGxpbnV4 LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2NoYW1lbGl1bS5jIHwgNzggKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYi9pZ3RfY2hhbWVsaXVt LmggfCAgNyArKystLQogdGVzdHMvY2hhbWVsaXVtLmMgICB8IDEzICsrKysrLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWIvaWd0X2NoYW1lbGl1bS5jIGIvbGliL2lndF9jaGFtZWxpdW0uYwppbmRleCA0YTJhZjc5 Ni4uMjI1Zjk4YzMgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY2hhbWVsaXVtLmMKKysrIGIvbGliL2ln dF9jaGFtZWxpdW0uYwpAQCAtNDQ3LDc2ICs0NDcsMjYgQEAgdm9pZCBjaGFtZWxpdW1fZmlyZV9t aXhlZF9ocGRfcHVsc2VzKHN0cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bSwKIAl4bWxycGNfREVD UkVGKHB1bHNlX3dpZHRocyk7CiB9CiAKLXN0YXRpYyB2b2lkIGFzeW5jX3JwY19oYW5kbGVyKGNv bnN0IGNoYXIgKnNlcnZlcl91cmwsIGNvbnN0IGNoYXIgKm1ldGhvZF9uYW1lLAotCQkJICAgICAg eG1scnBjX3ZhbHVlICpwYXJhbV9hcnJheSwgdm9pZCAqdXNlcl9kYXRhLAotCQkJICAgICAgeG1s cnBjX2VudiAqZmF1bHQsIHhtbHJwY192YWx1ZSAqcmVzdWx0KQotewotCS8qIFdlIGRvbid0IGNh cmUgYWJvdXQgdGhlIHJlc3BvbnNlcyAqLwotfQotCiAvKioKLSAqIGNoYW1lbGl1bV9hc3luY19o cGRfcHVsc2Vfc3RhcnQ6CisgKiBjaGFtZWxpdW1fc2NoZWR1bGVfaHBkX3RvZ2dsZToKICAqIEBj aGFtZWxpdW06IFRoZSBDaGFtZWxpdW0gaW5zdGFuY2UgdG8gdXNlCiAgKiBAcG9ydDogVGhlIHBv cnQgdG8gZmlyZSB0aGUgSFBEIHB1bHNlcyBvbgotICogQGhpZ2g6IFdoZXRoZXIgdG8gZmlyZSBh IGhpZ2ggcHVsc2UgKGUuZy4gc2ltdWxhdGUgYSBjb25uZWN0KSwgb3IgYSBsb3cKLSAqIHB1bHNl IChlLmcuIHNpbXVsYXRlIGEgZGlzY29ubmVjdCkKLSAqIEBkZWxheV9zZWNzOiBIb3cgbG9uZyB0 byB3YWl0IGJlZm9yZSBzZW5kaW5nIHRoZSBIUEQgcHVsc2UuCi0gKgotICogSW5zdHJ1Y3RzIHRo ZSBjaGFtZWxpdW0gdG8gc2VuZCBhbiBocGQgcHVsc2UgYWZ0ZXIgQGRlbGF5X3NlY3Mgc2Vjb25k cyBoYXZlCi0gKiBwYXNzZWQsIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGNoYW1lbGl1bSB0byBm aW5pc2guIFRoaXMgaXMgdXNlZnVsIGZvcgotICogdGVzdGluZyB0aGluZ3Mgc3VjaCBhcyBocGQg YWZ0ZXIgYSBzdXNwZW5kL3Jlc3VtZSBjeWNsZSwgc2luY2Ugd2UgY2FuJ3QgdGVsbAotICogdGhl IGNoYW1lbGl1bSB0byBzZW5kIGEgaG90cGx1ZyBhdCB0aGUgc2FtZSB0aW1lIHRoYXQgb3VyIHN5 c3RlbSBpcwotICogc3VzcGVuZGVkLgotICoKLSAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgdGhlIHVz ZXIgZXZlbnR1YWxseSBjYWxsCi0gKiAjY2hhbWVsaXVtX2FzeW5jX2hwZF9wdWxzZV9maW5pc2gs IHRvIGNsZWFuIHVwIHRoZSBsZWZ0b3ZlciBYTUwtUlBDCi0gKiByZXNwb25zZXMgZnJvbSB0aGUg Y2hhbWVsaXVtLgotICovCi12b2lkIGNoYW1lbGl1bV9hc3luY19ocGRfcHVsc2Vfc3RhcnQoc3Ry dWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtLAotCQkJCSAgICAgc3RydWN0IGNoYW1lbGl1bV9wb3J0 ICpwb3J0LAotCQkJCSAgICAgYm9vbCBoaWdoLCBpbnQgZGVsYXlfc2VjcykKLXsKLQl4bWxycGNf dmFsdWUgKnB1bHNlX3dpZHRocyA9IHhtbHJwY19hcnJheV9uZXcoJmNoYW1lbGl1bS0+ZW52KSwg KndpZHRoOwotCi0JLyogVE9ETzogQWN0dWFsbHkgaW1wbGVtZW50IHNvbWV0aGluZyBpbiB0aGUg Y2hhbWVsZW9uIHNlcnZlciB0byBhbGxvdwotCSAqIGZvciBkZWxheWVkIGFjdGlvbnMgc3VjaCBh cyBob3RwbHVncy4gVGhpcyB3b3VsZCB3b3JrIGEgYml0IGJldHRlcgotCSAqIGFuZCBhbGxvdyB1 cyB0byB0ZXN0IHN1c3BlbmQvcmVzdW1lIG9uIHBvcnRzIHdpdGhvdXQgaHBkIGxpa2UgVkdBCi0J ICovCi0KLQlpZ3RfZGVidWcoIlNlbmRpbmcgSFBEIHB1bHNlICglcykgb24gJXMgd2l0aCAlZCBz ZWNvbmQgZGVsYXlcbiIsCi0JCSAgaGlnaCA/ICJoaWdoLT5sb3ciIDogImxvdy0+aGlnaCIsIHBv cnQtPm5hbWUsIGRlbGF5X3NlY3MpOwotCi0JLyogSWYgd2UncmUgc3RhcnRpbmcgYXQgaGlnaCwg bWFrZSB0aGUgZmlyc3QgcHVsc2Ugd2lkdGggMCBzbyB3ZSBrZWVwCi0JICogdGhlIHBvcnQgY29u bmVjdGVkICovCi0JaWYgKGhpZ2gpIHsKLQkJd2lkdGggPSB4bWxycGNfaW50X25ldygmY2hhbWVs aXVtLT5lbnYsIDApOwotCQl4bWxycGNfYXJyYXlfYXBwZW5kX2l0ZW0oJmNoYW1lbGl1bS0+ZW52 LCBwdWxzZV93aWR0aHMsIHdpZHRoKTsKLQkJeG1scnBjX0RFQ1JFRih3aWR0aCk7Ci0JfQotCi0J d2lkdGggPSB4bWxycGNfaW50X25ldygmY2hhbWVsaXVtLT5lbnYsIGRlbGF5X3NlY3MgKiAxMDAw KTsKLQl4bWxycGNfYXJyYXlfYXBwZW5kX2l0ZW0oJmNoYW1lbGl1bS0+ZW52LCBwdWxzZV93aWR0 aHMsIHdpZHRoKTsKLQl4bWxycGNfREVDUkVGKHdpZHRoKTsKLQotCXhtbHJwY19jbGllbnRfc3Rh cnRfcnBjZigmY2hhbWVsaXVtLT5lbnYsIGNoYW1lbGl1bS0+Y2xpZW50LAotCQkJCSBjaGFtZWxp dW0tPnVybCwKLQkJCQkgIkZpcmVNaXhlZEhwZFB1bHNlcyIsIGFzeW5jX3JwY19oYW5kbGVyLCBO VUxMLAotCQkJCSAiKGlBKSIsIHBvcnQtPmlkLCBwdWxzZV93aWR0aHMpOwotCXhtbHJwY19ERUNS RUYocHVsc2Vfd2lkdGhzKTsKLX0KLQotLyoqCi0gKiBjaGFtZWxpdW1fYXN5bmNfaHBkX3B1bHNl X2ZpbmlzaDoKLSAqIEBjaGFtZWxpdW06IFRoZSBDaGFtZWxpdW0gaW5zdGFuY2UgdG8gdXNlCisg KiBAZGVsYXlfbXM6IERlbGF5IGluIG1pbGxpLXNlY29uZCBiZWZvcmUgdGhlIHRvZ2dsZSB0YWtl cyBwbGFjZQorICogQHJpc2luZ19lZGdlOiBXaGV0aGVyIHRoZSB0b2dnbGUgc2hvdWxkIGJlIGEg cmlzaW5nIGVkZ2Ugb3IgYSBmYWxsaW5nIGVkZ2UKICAqCi0gKiBXYWl0cyBmb3IgYW55IGFzeW5j aHJvbm91cyBSUEMgc3RhcnRlZCBieSAjY2hhbWVsaXVtX2FzeW5jX2hwZF9wdWxzZV9zdGFydAot ICogdG8gY29tcGxldGUsIGFuZCB0aGVuIGNsZWFucyB1cCBhbnkgbGVmdG92ZXIgcmVzcG9uc2Vz IGZyb20gdGhlIGNoYW1lbGl1bS4KLSAqIElmIGFsbCBvZiB0aGUgUlBDIGNhbGxzIGhhdmUgYWxy ZWFkeSBjb21wbGV0ZWQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucwotICogaW1tZWRpYXRlbHkuCisg KiBJbnN0cnVjdHMgdGhlIGNoYW1lbGl1bSB0byBzY2hlZHVsZSBhbiBocGQgdG9nZ2xlIChlaXRo ZXIgYSByaXNpbmcgZWRnZSBvcgorICogYSBmYWxsaW5nIGVkZ2UsIGRlcGVuZGluZyBvbiBAcmlz aW5nX2VkZykgYWZ0ZXIgQGRlbGF5X21zIGhhdmUgcGFzc2VkLgorICogVGhpcyBpcyB1c2VmdWwg Zm9yIHRlc3RpbmcgdGhpbmdzIHN1Y2ggYXMgaHBkIGFmdGVyIGEgc3VzcGVuZC9yZXN1bWUgY3lj bGUuCiAgKi8KLXZvaWQgY2hhbWVsaXVtX2FzeW5jX2hwZF9wdWxzZV9maW5pc2goc3RydWN0IGNo YW1lbGl1bSAqY2hhbWVsaXVtKQordm9pZCBjaGFtZWxpdW1fc2NoZWR1bGVfaHBkX3RvZ2dsZShz dHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sCisJCQkJICAgc3RydWN0IGNoYW1lbGl1bV9wb3J0 ICpwb3J0LCBpbnQgZGVsYXlfbXMsCisJCQkJICAgYm9vbCByaXNpbmdfZWRnZSkKIHsKLQl4bWxy cGNfY2xpZW50X2V2ZW50X2xvb3BfZmluaXNoKGNoYW1lbGl1bS0+Y2xpZW50KTsKKwlpZ3RfZGVi dWcoIlNjaGVkdWxpbmcgSFBEIHRvZ2dsZSBvbiAlcyBpbiAlZCBtc1xuIiwgcG9ydC0+bmFtZSwK KwkJICBkZWxheV9tcyk7CisKKwl4bWxycGNfREVDUkVGKGNoYW1lbGl1bV9ycGMoY2hhbWVsaXVt LCBOVUxMLCAiU2NoZWR1bGVIcGRUb2dnbGUiLAorCQkJCSAgICAiKGlpaSkiLCBwb3J0LT5pZCwg ZGVsYXlfbXMsIHJpc2luZ19lZGdlKSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvbGliL2lndF9j aGFtZWxpdW0uaCBiL2xpYi9pZ3RfY2hhbWVsaXVtLmgKaW5kZXggMTVmNjAyNDYuLjgxMzIyYWQy IDEwMDY0NAotLS0gYS9saWIvaWd0X2NoYW1lbGl1bS5oCisrKyBiL2xpYi9pZ3RfY2hhbWVsaXVt LmgKQEAgLTYxLDEwICs2MSw5IEBAIHZvaWQgY2hhbWVsaXVtX2ZpcmVfbWl4ZWRfaHBkX3B1bHNl cyhzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sCiB2b2lkIGNoYW1lbGl1bV9maXJlX2hwZF9w dWxzZXMoc3RydWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtLAogCQkJICAgICAgIHN0cnVjdCBjaGFt ZWxpdW1fcG9ydCAqcG9ydCwKIAkJCSAgICAgICBpbnQgd2lkdGhfbXNlYywgaW50IGNvdW50KTsK LXZvaWQgY2hhbWVsaXVtX2FzeW5jX2hwZF9wdWxzZV9zdGFydChzdHJ1Y3QgY2hhbWVsaXVtICpj aGFtZWxpdW0sCi0JCQkJICAgICBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsCi0JCQkJICAg ICBib29sIGhpZ2gsIGludCBkZWxheV9zZWNzKTsKLXZvaWQgY2hhbWVsaXVtX2FzeW5jX2hwZF9w dWxzZV9maW5pc2goc3RydWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtKTsKK3ZvaWQgY2hhbWVsaXVt X3NjaGVkdWxlX2hwZF90b2dnbGUoc3RydWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtLAorCQkJCSAg IHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwgaW50IGRlbGF5X21zLAorCQkJCSAgIGJvb2wg cmlzaW5nX2VkZ2UpOwogaW50IGNoYW1lbGl1bV9uZXdfZWRpZChzdHJ1Y3QgY2hhbWVsaXVtICpj aGFtZWxpdW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQpOwogdm9pZCBjaGFtZWxpdW1fcG9y dF9zZXRfZWRpZChzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0sCiAJCQkgICAgIHN0cnVjdCBj aGFtZWxpdW1fcG9ydCAqcG9ydCwgaW50IGVkaWRfaWQpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hh bWVsaXVtLmMgYi90ZXN0cy9jaGFtZWxpdW0uYwppbmRleCBmMWFkZGIwZi4uMDRlN2UzNzkgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2NoYW1lbGl1bS5jCisrKyBiL3Rlc3RzL2NoYW1lbGl1bS5jCkBAIC0y MjYsMjUgKzIyNiwyNCBAQCB0cnlfc3VzcGVuZF9yZXN1bWVfaHBkKGRhdGFfdCAqZGF0YSwgc3Ry dWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0LAogCWlndF9mbHVzaF9ob3RwbHVncyhtb24pOwogCiAJ aWYgKHBvcnQpIHsKLQkJY2hhbWVsaXVtX2FzeW5jX2hwZF9wdWxzZV9zdGFydChkYXRhLT5jaGFt ZWxpdW0sIHBvcnQsCi0JCQkJCQljb25uZWN0ZWQsCi0JCQkJCQlTVVNQRU5EX1JFU1VNRV9ERUxB WSAvIDIpOworCQljaGFtZWxpdW1fc2NoZWR1bGVfaHBkX3RvZ2dsZShkYXRhLT5jaGFtZWxpdW0s IHBvcnQsCisJCQkJCSAgICAgIFNVU1BFTkRfUkVTVU1FX0RFTEFZICogMTAwMCAvIDIsCisJCQkJ CSAgICAgICFjb25uZWN0ZWQpOwogCX0gZWxzZSB7CiAJCWZvciAocCA9IDA7IHAgPCBkYXRhLT5w b3J0X2NvdW50OyBwKyspIHsKIAkJCXBvcnQgPSBkYXRhLT5wb3J0c1twXTsKIAkJCWlmIChjaGFt ZWxpdW1fcG9ydF9nZXRfdHlwZShwb3J0KSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfVkdBKQogCQkJ CWNvbnRpbnVlOwogCi0JCQljaGFtZWxpdW1fYXN5bmNfaHBkX3B1bHNlX3N0YXJ0KGRhdGEtPmNo YW1lbGl1bSwgcG9ydCwKLQkJCQkJCQljb25uZWN0ZWQsCi0JCQkJCQkJU1VTUEVORF9SRVNVTUVf REVMQVkgLyAyKTsKKwkJCWNoYW1lbGl1bV9zY2hlZHVsZV9ocGRfdG9nZ2xlKGRhdGEtPmNoYW1l bGl1bSwgcG9ydCwKKwkJCQkJCSAgICAgIFNVU1BFTkRfUkVTVU1FX0RFTEFZICogMTAwMCAvIDIs CisJCQkJCQkgICAgICAhY29ubmVjdGVkKTsKIAkJfQogCiAJCXBvcnQgPSBOVUxMOwogCX0KIAog CWlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKHN0YXRlLCB0ZXN0KTsKLQljaGFtZWxpdW1f YXN5bmNfaHBkX3B1bHNlX2ZpbmlzaChkYXRhLT5jaGFtZWxpdW0pOwogCiAJaWd0X2Fzc2VydChp Z3RfaG90cGx1Z19kZXRlY3RlZChtb24sIEhPVFBMVUdfVElNRU9VVCkpOwogCWlmIChwb3J0KSB7 Ci0tIAoyLjEzLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=