From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 14/25] drm/i915/pmu: Use GT parked for estimating RC6 while asleep Date: Tue, 19 Feb 2019 12:22:04 +0000 Message-ID: <20190219122215.8941-14-chris@chris-wilson.co.uk> References: <20190219122215.8941-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id A9A61891D9 for ; Tue, 19 Feb 2019 12:22:45 +0000 (UTC) In-Reply-To: <20190219122215.8941-1-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org QXMgd2UgdHJhY2sgd2hlbiB3ZSBwdXQgdGhlIEdUIGRldmljZSB0byBzbGVlcCB1cG9uIGlkbGlu Zywgd2UgY2FuIHVzZQp0aGF0IGNhbGxiYWNrIHRvIHNhbXBsZSB0aGUgY3VycmVudCByYzYgY291 bnRlcnMgYW5kIHJlY29yZCB0aGUKdGltZXN0YW1wIGZvciBlc3RpbWF0aW5nIHNhbXBsZXMgYWZ0 ZXIgdGhhdCBwb2ludCB3aGlsZSBhc2xlZXAuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyB8IDgz ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wbXUuaCB8ICA0ICstCiAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IDIxYWRhZDcyYmQ4Ni4u MjA2ZjQ3ZDEyNTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTExMCwxNyArMTEwLDQ5 IEBAIHN0YXRpYyBib29sIHBtdV9uZWVkc190aW1lcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgYm9vbCBncHVfYWN0aXZlKQogCXJldHVybiBlbmFibGU7CiB9CiAKK3N0YXRpYyB1NjQg X19nZXRfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXU2NCB2YWw7CisK Kwl2YWwgPSBpbnRlbF9yYzZfcmVzaWRlbmN5X25zKGk5MTUsCisJCQkJICAgICBJU19WQUxMRVlW SUVXKGk5MTUpID8KKwkJCQkgICAgIFZMVl9HVF9SRU5ERVJfUkM2IDoKKwkJCQkgICAgIEdFTjZf R1RfR0ZYX1JDNik7CisKKwlpZiAoSEFTX1JDNnAoaTkxNSkpCisJCXZhbCArPSBpbnRlbF9yYzZf cmVzaWRlbmN5X25zKGk5MTUsIEdFTjZfR1RfR0ZYX1JDNnApOworCisJaWYgKEhBU19SQzZwcChp OTE1KSkKKwkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVuY3lfbnMoaTkxNSwgR0VONl9HVF9HRlhf UkM2cHApOworCisJcmV0dXJuIHZhbDsKK30KKwogdm9pZCBpOTE1X3BtdV9ndF9wYXJrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CisJdTY0IHZhbDsKKwogCWlmICghaTkxNS0+ cG11LmJhc2UuZXZlbnRfaW5pdCkKIAkJcmV0dXJuOwogCisJdmFsID0gMDsKKwlpZiAoaTkxNS0+ cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JDNl0uY3VyKQorCQl2YWwgPSBfX2dldF9yYzYoaTkx NSk7CisKIAlzcGluX2xvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CisKKwlpZiAodmFsID49IGk5 MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZfRVNUSU1BVEVEXS5jdXIpIHsKKwkJaTkx NS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JDNl9FU1RJTUFURURdLmN1ciA9IDA7CisJCWk5 MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZdLmN1ciA9IHZhbDsKKwl9CisJaTkxNS0+ cG11LnNsZWVwX3RpbWVzdGFtcCA9IGppZmZpZXM7CisKIAkvKgogCSAqIFNpZ25hbCBzYW1wbGlu ZyB0aW1lciB0byBzdG9wIGlmIG9ubHkgZW5naW5lIGV2ZW50cyBhcmUgZW5hYmxlZCBhbmQKIAkg KiBHUFUgd2VudCBpZGxlLgogCSAqLwogCWk5MTUtPnBtdS50aW1lcl9lbmFibGVkID0gcG11X25l ZWRzX3RpbWVyKGk5MTUsIGZhbHNlKTsKKwogCXNwaW5fdW5sb2NrX2lycSgmaTkxNS0+cG11Lmxv Y2spOwogfQogCkBAIC0xNDEsMTAgKzE3MywyMyBAQCB2b2lkIGk5MTVfcG11X2d0X3VucGFya2Vk KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCQlyZXR1cm47CiAKIAlzcGluX2xvY2tf aXJxKCZpOTE1LT5wbXUubG9jayk7CisKIAkvKgogCSAqIFJlLWVuYWJsZSBzYW1wbGluZyB0aW1l ciB3aGVuIEdQVSBnb2VzIGFjdGl2ZS4KIAkgKi8KIAlfX2k5MTVfcG11X21heWJlX3N0YXJ0X3Rp bWVyKGk5MTUpOworCisJLyogRXN0aW1hdGUgaG93IGxvbmcgd2Ugc2xlcHQgYW5kIGFjY3VtdWxh dGUgdGhhdCBpbnRvIHJjNiBjb3VudGVycyAqLworCWlmIChpOTE1LT5wbXUuc2FtcGxlW19fSTkx NV9TQU1QTEVfUkM2XS5jdXIpIHsKKwkJdTY0IHZhbDsKKworCQl2YWwgPSBqaWZmaWVzIC0gaTkx NS0+cG11LnNsZWVwX3RpbWVzdGFtcDsKKwkJdmFsID0gamlmZmllc190b19uc2Vjcyh2YWwpOwor CQl2YWwgKz0gaTkxNS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JDNl0uY3VyOworCisJCWk5 MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZfRVNUSU1BVEVEXS5jdXIgPSB2YWw7CisJ fQorCiAJc3Bpbl91bmxvY2tfaXJxKCZpOTE1LT5wbXUubG9jayk7CiB9CiAKQEAgLTQxMSwyNCAr NDU2LDYgQEAgc3RhdGljIGludCBpOTE1X3BtdV9ldmVudF9pbml0KHN0cnVjdCBwZXJmX2V2ZW50 ICpldmVudCkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHU2NCBfX2dldF9yYzYoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCi17Ci0JdTY0IHZhbDsKLQotCXZhbCA9IGludGVsX3JjNl9y ZXNpZGVuY3lfbnMoaTkxNSwKLQkJCQkgICAgIElTX1ZBTExFWVZJRVcoaTkxNSkgPwotCQkJCSAg ICAgVkxWX0dUX1JFTkRFUl9SQzYgOgotCQkJCSAgICAgR0VONl9HVF9HRlhfUkM2KTsKLQotCWlm IChIQVNfUkM2cChpOTE1KSkKLQkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVuY3lfbnMoaTkxNSwg R0VONl9HVF9HRlhfUkM2cCk7Ci0KLQlpZiAoSEFTX1JDNnBwKGk5MTUpKQotCQl2YWwgKz0gaW50 ZWxfcmM2X3Jlc2lkZW5jeV9ucyhpOTE1LCBHRU42X0dUX0dGWF9SQzZwcCk7Ci0KLQlyZXR1cm4g dmFsOwotfQotCiBzdGF0aWMgdTY0IGdldF9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiB7CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfUE0pCkBAIC00MzYsNyArNDYzLDkgQEAgc3Rh dGljIHU2NCBnZXRfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCXVuc2lnbmVk IGxvbmcgZmxhZ3M7CiAJdTY0IHZhbDsKIAotCXdha2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dl dF9pZl9pbl91c2UoaTkxNSk7CisJd2FrZXJlZiA9IDA7CisJaWYgKFJFQURfT05DRShpOTE1LT5n dC5hd2FrZSkpCisJCXdha2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldF9pZl9pbl91c2UoaTkx NSk7CiAJaWYgKHdha2VyZWYpIHsKIAkJdmFsID0gX19nZXRfcmM2KGk5MTUpOwogCQlpbnRlbF9y dW50aW1lX3BtX3B1dChpOTE1LCB3YWtlcmVmKTsKQEAgLTQ1OCw5ICs0ODcsNiBAQCBzdGF0aWMg dTY0IGdldF9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIAkJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKIAl9IGVsc2UgewotCQlzdHJ1 Y3QgcGNpX2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2OwotCQlzdHJ1Y3QgZGV2aWNlICprZGV2 ID0gJnBkZXYtPmRldjsKLQogCQkvKgogCQkgKiBXZSBhcmUgcnVudGltZSBzdXNwZW5kZWQuCiAJ CSAqCkBAIC00NjksNyArNDk1LDYgQEAgc3RhdGljIHU2NCBnZXRfcmM2KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogCQkgKiBjb3VudGVyIHZhbHVlLgogCQkgKi8KIAkJc3Bpbl9sb2Nr X2lycXNhdmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7Ci0JCXNwaW5fbG9jaygma2Rldi0+cG93 ZXIubG9jayk7CiAKIAkJLyoKIAkJICogQWZ0ZXIgdGhlIGFib3ZlIGJyYW5jaCBpbnRlbF9ydW50 aW1lX3BtX2dldF9pZl9pbl91c2UgZmFpbGVkCkBAIC00ODIsMTUgKzUwNyw4IEBAIHN0YXRpYyB1 NjQgZ2V0X3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJICogc3VzcGVuZGVk IGFuZCBpZiBub3Qgd2UgY2Fubm90IGRvIGJldHRlciB0aGFuIHJlcG9ydCB0aGUgbGFzdAogCQkg KiBrbm93biBSQzYgdmFsdWUuCiAJCSAqLwotCQlpZiAoa2Rldi0+cG93ZXIucnVudGltZV9zdGF0 dXMgPT0gUlBNX1NVU1BFTkRFRCkgewotCQkJaWYgKCFpOTE1LT5wbXUuc2FtcGxlW19fSTkxNV9T QU1QTEVfUkM2X0VTVElNQVRFRF0uY3VyKQotCQkJCWk5MTUtPnBtdS5zdXNwZW5kZWRfamlmZmll c19sYXN0ID0KLQkJCQkJCSAga2Rldi0+cG93ZXIuc3VzcGVuZGVkX2ppZmZpZXM7Ci0KLQkJCXZh bCA9IGtkZXYtPnBvd2VyLnN1c3BlbmRlZF9qaWZmaWVzIC0KLQkJCSAgICAgIGk5MTUtPnBtdS5z dXNwZW5kZWRfamlmZmllc19sYXN0OwotCQkJdmFsICs9IGppZmZpZXMgLSBrZGV2LT5wb3dlci5h Y2NvdW50aW5nX3RpbWVzdGFtcDsKLQorCQlpZiAoIVJFQURfT05DRShpOTE1LT5ndC5hd2FrZSkp IHsKKwkJCXZhbCA9IGppZmZpZXMgLSBpOTE1LT5wbXUuc2xlZXBfdGltZXN0YW1wOwogCQkJdmFs ID0gamlmZmllc190b19uc2Vjcyh2YWwpOwogCQkJdmFsICs9IGk5MTUtPnBtdS5zYW1wbGVbX19J OTE1X1NBTVBMRV9SQzZdLmN1cjsKIApAQCAtNTAxLDcgKzUxOSw2IEBAIHN0YXRpYyB1NjQgZ2V0 X3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJCXZhbCA9IGk5MTUtPnBtdS5z YW1wbGVbX19JOTE1X1NBTVBMRV9SQzZdLmN1cjsKIAkJfQogCi0JCXNwaW5fdW5sb2NrKCZrZGV2 LT5wb3dlci5sb2NrKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTkxNS0+cG11LmxvY2ss IGZsYWdzKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCmluZGV4IGIzNzI4YzVmMTNlNy4u NmZhMDI0MGExNzA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKQEAgLTk3LDkgKzk3LDkgQEAg c3RydWN0IGk5MTVfcG11IHsKIAkgKi8KIAlzdHJ1Y3QgaTkxNV9wbXVfc2FtcGxlIHNhbXBsZVtf X0k5MTVfTlVNX1BNVV9TQU1QTEVSU107CiAJLyoqCi0JICogQHN1c3BlbmRlZF9qaWZmaWVzX2xh c3Q6IENhY2hlZCBzdXNwZW5kIHRpbWUgZnJvbSBQTSBjb3JlLgorCSAqIEBzbGVlcF90aW1lc3Rh bXA6IExhc3QgdGltZSBHVCBwYXJrZWQgZm9yIFJDNiBlc3RpbWF0aW9uLgogCSAqLwotCXVuc2ln bmVkIGxvbmcgc3VzcGVuZGVkX2ppZmZpZXNfbGFzdDsKKwl1bnNpZ25lZCBsb25nIHNsZWVwX3Rp bWVzdGFtcDsKIAkvKioKIAkgKiBAaTkxNV9hdHRyOiBNZW1vcnkgYmxvY2sgaG9sZGluZyBkZXZp Y2UgYXR0cmlidXRlcy4KIAkgKi8KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4