From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 09/10] drm/radeon: improve encoder picking functions Date: Tue, 24 Feb 2015 09:24:03 +1000 Message-ID: <1424733844-20185-10-git-send-email-airlied@gmail.com> References: <1424733844-20185-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTP id 35D766E518 for ; Mon, 23 Feb 2015 15:24:20 -0800 (PST) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t1NNOJho030506 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 23 Feb 2015 18:24:19 -0500 Received: from prime.bne.redhat.com (dhcp-40-231.bne.redhat.com [10.64.40.231]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t1NNO7Lc023517 for ; Mon, 23 Feb 2015 18:24:19 -0500 In-Reply-To: <1424733844-20185-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkZvciBNU1Qgd2UgbmVlZCB0 byBiZSBhYmxlIHRvIHBpY2sgZnJvbnQgZW5kIGVuY29kZXJzCnNlcGFyYXRlIGZyb20gYmFja2Vu ZCwgYnV0IG9ubHkgZm9yIE1TVCwgc28gd2UgbmVlZCB0bwptYWtlIHRoZSBlbmNvZGVyIHBpY2tp bmcgaW50ZXJmYWNlIHNtYXJ0ZXIuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGll ZEByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2Rl cnMuYyB8IDgwICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fbW9kZS5oICAgICAgIHwgIDYgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDYz IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v YXRvbWJpb3NfZW5jb2RlcnMuYwppbmRleCBkYzU1MTM5Li5lMGE5MTM2YyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19lbmNvZGVycy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYwpAQCAtMjAxNSw3ICsyMDE1LDE0IEBA IGF0b21iaW9zX2FwcGx5X2VuY29kZXJfcXVpcmtzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcmFkZW9uX2F0b21fcGlja19kaWdfZW5jb2RlcihzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCit2b2lkIHJhZGVvbl9hdG9tX3JlbGVhc2VfZGlnX2Vu Y29kZXIoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBlbmNfaWR4KQoreworCWlmIChl bmNfaWR4IDwgMCkKKwkJcmV0dXJuOworCXJkZXYtPm1vZGVfaW5mby5hY3RpdmVfZW5jb2RlcnMg Jj0gfigxIDw8IGVuY19pZHgpOworfQorCitpbnQgcmFkZW9uX2F0b21fcGlja19kaWdfZW5jb2Rl cihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGludCBmZV9pZHgpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKIAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diA9IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC0yMDI0LDcxICsyMDMxLDc5IEBAIHN0YXRpYyBpbnQg cmFkZW9uX2F0b21fcGlja19kaWdfZW5jb2RlcihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp CiAJc3RydWN0IGRybV9lbmNvZGVyICp0ZXN0X2VuY29kZXI7CiAJc3RydWN0IHJhZGVvbl9lbmNv ZGVyX2F0b21fZGlnICpkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7CiAJdWludDMyX3Qg ZGlnX2VuY19pbl91c2UgPSAwOworCWludCBlbmNfaWR4ID0gLTE7CiAKKwlpZiAoZmVfaWR4ID49 IDApIHsKKwkJZW5jX2lkeCA9IGZlX2lkeDsKKwkJZ290byBhc3NpZ25lZDsKKwl9CiAJaWYgKEFT SUNfSVNfRENFNihyZGV2KSkgewogCQkvKiBEQ0U2ICovCiAJCXN3aXRjaCAocmFkZW9uX2VuY29k ZXItPmVuY29kZXJfaWQpIHsKIAkJY2FzZSBFTkNPREVSX09CSkVDVF9JRF9JTlRFUk5BTF9VTklQ SFk6CiAJCQlpZiAoZGlnLT5saW5rYikKLQkJCQlyZXR1cm4gMTsKKwkJCQllbmNfaWR4ID0gMTsK IAkJCWVsc2UKLQkJCQlyZXR1cm4gMDsKKwkJCQllbmNfaWR4ID0gMDsKIAkJCWJyZWFrOwogCQlj YXNlIEVOQ09ERVJfT0JKRUNUX0lEX0lOVEVSTkFMX1VOSVBIWTE6CiAJCQlpZiAoZGlnLT5saW5r YikKLQkJCQlyZXR1cm4gMzsKKwkJCQllbmNfaWR4ID0gMzsKIAkJCWVsc2UKLQkJCQlyZXR1cm4g MjsKKwkJCQllbmNfaWR4ID0gMjsKIAkJCWJyZWFrOwogCQljYXNlIEVOQ09ERVJfT0JKRUNUX0lE X0lOVEVSTkFMX1VOSVBIWTI6CiAJCQlpZiAoZGlnLT5saW5rYikKLQkJCQlyZXR1cm4gNTsKKwkJ CQllbmNfaWR4ID0gNTsKIAkJCWVsc2UKLQkJCQlyZXR1cm4gNDsKKwkJCQllbmNfaWR4ID0gNDsK IAkJCWJyZWFrOwogCQljYXNlIEVOQ09ERVJfT0JKRUNUX0lEX0lOVEVSTkFMX1VOSVBIWTM6Ci0J CQlyZXR1cm4gNjsKKwkJCWVuY19pZHggPSA2OwogCQkJYnJlYWs7CiAJCX0KKwkJZ290byBhc3Np Z25lZDsKIAl9IGVsc2UgaWYgKEFTSUNfSVNfRENFNChyZGV2KSkgewogCQkvKiBEQ0U0LzUgKi8K IAkJaWYgKEFTSUNfSVNfRENFNDEocmRldikgJiYgIUFTSUNfSVNfRENFNjEocmRldikpIHsKIAkJ CS8qIG9udGFyaW8gZm9sbG93cyBEQ0U0ICovCiAJCQlpZiAocmRldi0+ZmFtaWx5ID09IENISVBf UEFMTSkgewogCQkJCWlmIChkaWctPmxpbmtiKQotCQkJCQlyZXR1cm4gMTsKKwkJCQkJZW5jX2lk eCA9IDE7CiAJCQkJZWxzZQotCQkJCQlyZXR1cm4gMDsKKwkJCQkJZW5jX2lkeCA9IDA7CiAJCQl9 IGVsc2UKIAkJCQkvKiBsbGFubyBmb2xsb3dzIERDRTMuMiAqLwotCQkJCXJldHVybiByYWRlb25f Y3J0Yy0+Y3J0Y19pZDsKKwkJCQllbmNfaWR4ID0gcmFkZW9uX2NydGMtPmNydGNfaWQ7CiAJCX0g ZWxzZSB7CiAJCQlzd2l0Y2ggKHJhZGVvbl9lbmNvZGVyLT5lbmNvZGVyX2lkKSB7CiAJCQljYXNl IEVOQ09ERVJfT0JKRUNUX0lEX0lOVEVSTkFMX1VOSVBIWToKIAkJCQlpZiAoZGlnLT5saW5rYikK LQkJCQkJcmV0dXJuIDE7CisJCQkJCWVuY19pZHggPSAxOwogCQkJCWVsc2UKLQkJCQkJcmV0dXJu IDA7CisJCQkJCWVuY19pZHggPSAwOwogCQkJCWJyZWFrOwogCQkJY2FzZSBFTkNPREVSX09CSkVD VF9JRF9JTlRFUk5BTF9VTklQSFkxOgogCQkJCWlmIChkaWctPmxpbmtiKQotCQkJCQlyZXR1cm4g MzsKKwkJCQkJZW5jX2lkeCA9IDM7CiAJCQkJZWxzZQotCQkJCQlyZXR1cm4gMjsKKwkJCQkJZW5j X2lkeCA9IDI7CiAJCQkJYnJlYWs7CiAJCQljYXNlIEVOQ09ERVJfT0JKRUNUX0lEX0lOVEVSTkFM X1VOSVBIWTI6CiAJCQkJaWYgKGRpZy0+bGlua2IpCi0JCQkJCXJldHVybiA1OworCQkJCQllbmNf aWR4ID0gNTsKIAkJCQllbHNlCi0JCQkJCXJldHVybiA0OworCQkJCQllbmNfaWR4ID0gNDsKIAkJ CQlicmVhazsKIAkJCX0KIAkJfQorCQlnb3RvIGFzc2lnbmVkOwogCX0KIAogCS8qIG9uIERDRTMy IGFuZCBlbmNvZGVyIGNhbiBkcml2ZXIgYW55IGJsb2NrIHNvIGp1c3QgY3J0YyBpZCAqLwogCWlm IChBU0lDX0lTX0RDRTMyKHJkZXYpKSB7Ci0JCXJldHVybiByYWRlb25fY3J0Yy0+Y3J0Y19pZDsK KwkJZW5jX2lkeCA9IHJhZGVvbl9jcnRjLT5jcnRjX2lkOworCQlnb3RvIGFzc2lnbmVkOwogCX0K IAogCS8qIG9uIERDRTMgLSBMVlRNQSBjYW4gb25seSBiZSBkcml2ZW4gYnkgRElHQiAqLwpAQCAt MjExNiw2ICsyMTMxLDE3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2F0b21fcGlja19kaWdfZW5jb2Rl cihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJaWYgKCEoZGlnX2VuY19pbl91c2UgJiAx KSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIDE7CisKK2Fzc2lnbmVkOgorCWlmIChlbmNfaWR4ID09 IC0xKSB7CisJCURSTV9FUlJPUigiR290IGVuY29kZXIgaW5kZXggaW5jb3JyZWN0IC0gcmV0dXJu aW5nIDBcbiIpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKHJkZXYtPm1vZGVfaW5mby5hY3RpdmVf ZW5jb2RlcnMgJiAoMSA8PCBlbmNfaWR4KSkgeworCQlEUk1fRVJST1IoImNob3NlbiBlbmNvZGVy IGluIHVzZSAlZFxuIiwgZW5jX2lkeCk7CisJfQorCXJkZXYtPm1vZGVfaW5mby5hY3RpdmVfZW5j b2RlcnMgfD0gKDEgPDwgZW5jX2lkeCk7CisJcmV0dXJuIGVuY19pZHg7CiB9CiAKIC8qIFRoaXMg b25seSBuZWVkcyB0byBiZSBjYWxsZWQgb25jZSBhdCBzdGFydHVwICovCkBAIC0yMzcwLDcgKzIz OTYsNyBAQCBzdGF0aWMgdm9pZCByYWRlb25fYXRvbV9lbmNvZGVyX3ByZXBhcmUoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyKQogCSAgICAgRU5DT0RFUl9PQkpFQ1RfSURfTk9ORSkpIHsKIAkJ c3RydWN0IHJhZGVvbl9lbmNvZGVyX2F0b21fZGlnICpkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5j X3ByaXY7CiAJCWlmIChkaWcpIHsKLQkJCWRpZy0+ZGlnX2VuY29kZXIgPSByYWRlb25fYXRvbV9w aWNrX2RpZ19lbmNvZGVyKGVuY29kZXIpOworCQkJZGlnLT5kaWdfZW5jb2RlciA9IHJhZGVvbl9h dG9tX3BpY2tfZGlnX2VuY29kZXIoZW5jb2RlciwgLTEpOwogCQkJaWYgKHJhZGVvbl9lbmNvZGVy LT5hY3RpdmVfZGV2aWNlICYgQVRPTV9ERVZJQ0VfREZQX1NVUFBPUlQpIHsKIAkJCQlpZiAocmRl di0+ZmFtaWx5ID49IENISVBfUjYwMCkKIAkJCQkJZGlnLT5hZm10ID0gcmRldi0+bW9kZV9pbmZv LmFmbXRbZGlnLT5kaWdfZW5jb2Rlcl07CkBAIC0yNDcyLDEwICsyNDk4LDE4IEBAIHN0YXRpYyB2 b2lkIHJhZGVvbl9hdG9tX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCiAKIGRpc2FibGVfZG9uZToKIAlpZiAocmFkZW9uX2VuY29kZXJfaXNfZGlnaXRhbChlbmNv ZGVyKSkgewotCQlkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3ByaXY7Ci0JCWRpZy0+ZGlnX2Vu Y29kZXIgPSAtMTsKLQl9Ci0JcmFkZW9uX2VuY29kZXItPmFjdGl2ZV9kZXZpY2UgPSAwOworCQlp ZiAoYXRvbWJpb3NfZ2V0X2VuY29kZXJfbW9kZShlbmNvZGVyKSA9PSBBVE9NX0VOQ09ERVJfTU9E RV9IRE1JKSB7CisJCQlpZiAocmRldi0+YXNpYy0+ZGlzcGxheS5oZG1pX2VuYWJsZSkKKwkJCQly YWRlb25faGRtaV9lbmFibGUocmRldiwgZW5jb2RlciwgZmFsc2UpOworCQl9CisJCWlmIChhdG9t Ymlvc19nZXRfZW5jb2Rlcl9tb2RlKGVuY29kZXIpICE9IEFUT01fRU5DT0RFUl9NT0RFX0RQX01T VCkgeworCQkJZGlnID0gcmFkZW9uX2VuY29kZXItPmVuY19wcml2OworCQkJcmFkZW9uX2F0b21f cmVsZWFzZV9kaWdfZW5jb2RlcihyZGV2LCBkaWctPmRpZ19lbmNvZGVyKTsKKwkJCWRpZy0+ZGln X2VuY29kZXIgPSAtMTsKKwkJCXJhZGVvbl9lbmNvZGVyLT5hY3RpdmVfZGV2aWNlID0gMDsKKwkJ fQorCX0gZWxzZQorCQlyYWRlb25fZW5jb2Rlci0+YWN0aXZlX2RldmljZSA9IDA7CiB9CiAKIC8q IHRoZXNlIGFyZSBoYW5kbGVkIGJ5IHRoZSBwcmltYXJ5IGVuY29kZXJzICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9tb2RlLmgKaW5kZXggM2Q0ZjM5MC4uMmNhZGVlMmEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9tb2RlLmgKQEAgLTI2NSw2ICsyNjUsOSBAQCBzdHJ1Y3QgcmFkZW9u X21vZGVfaW5mbyB7CiAJdTE2IGZpcm13YXJlX2ZsYWdzOwogCS8qIHBvaW50ZXIgdG8gYmFja2xp Z2h0IGVuY29kZXIgKi8KIAlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKmJsX2VuY29kZXI7CisKKwkv KiBiaXRtYXNrIGZvciBhY3RpdmUgZW5jb2RlciBmcm9udGVuZHMgKi8KKwl1aW50MzJfdCBhY3Rp dmVfZW5jb2RlcnM7CiB9OwogCiAjZGVmaW5lIFJBREVPTl9NQVhfQkxfTEVWRUwgMHhGRgpAQCAt OTQ1LDQgKzk0OCw3IEBAIHZvaWQgcmFkZW9uX2ZiX3JlbW92ZV9jb25uZWN0b3Ioc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCBkcm1fY29ubmVjdG9yCiB2b2lkIHJhZGVvbl9jcnRj X2hhbmRsZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCk7CiAK IGludCByYWRlb25fYWxpZ25fcGl0Y2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCB3 aWR0aCwgaW50IGJwcCwgYm9vbCB0aWxlZCk7CisKK2ludCByYWRlb25fYXRvbV9waWNrX2RpZ19l bmNvZGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgaW50IGZlX2lkeCk7Cit2b2lkIHJh ZGVvbl9hdG9tX3JlbGVhc2VfZGlnX2VuY29kZXIoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IGludCBlbmNfaWR4KTsKICNlbmRpZgotLSAKMi4xLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==