From mboxrd@z Thu Jan 1 00:00:00 1970 From: libin.yang@intel.com Subject: [PATCH v2 2/4] drm/i915: implement set_ncts callback Date: Mon, 10 Aug 2015 15:32:09 +0800 Message-ID: <1439191931-25705-2-git-send-email-libin.yang@intel.com> References: <1439191931-25705-1-git-send-email-libin.yang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id D76B96E233 for ; Mon, 10 Aug 2015 00:42:05 -0700 (PDT) In-Reply-To: <1439191931-25705-1-git-send-email-libin.yang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: alsa-devel@alsa-project.org, tiwai@suse.de, intel-gfx@lists.freedesktop.org, daniel.vetter@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTGliaW4gWWFuZyA8bGliaW4ueWFuZ0BpbnRlbC5jb20+CgpEaXNwbGF5IGF1ZGlvIG1h eSBub3Qgd29yayBhdCBzb21lIGZyZXF1ZW5jaWVzCndpdGggdGhlIEhXIHByb3ZpZGVkIE4vQ1RT LgoKVGhpcyBwYXRjaCBzZXRzIHRoZSBwcm9wZXIgTiB2YWx1ZSBmb3IgdGhlCmdpdmVuIGF1ZGlv IHNhbXBsZSByYXRlIGF0IHRoZSBpbXBhY3RlZCBmcmVxdWVuY2llcy4KQXQgb3RoZXIgZnJlcXVl bmNpZXMsIGl0IHdpbGwgdXNlIHRoZSBOL0NUUyB2YWx1ZQp3aGljaCBIVyBwcm92aWRlcy4KClNp Z25lZC1vZmYtYnk6IExpYmluIFlhbmcgPGxpYmluLnlhbmdAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgfCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdWRpby5jIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCmluZGV4IGVhNDZkNjguLmRhMmQxMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAt NzAxNCw2ICs3MDE0LDggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAJCQkJCV9IU1df QVVEX01JU0NfQ1RSTF9BLCBcCiAJCQkJCV9IU1dfQVVEX01JU0NfQ1RSTF9CKQogCisjZGVmaW5l IEhTV19BVURfUElQRV9DT05OX1NFTF9DVFJMICAweDY1MGFjCisKICNkZWZpbmUgX0hTV19BVURf RElQX0VMRF9DVFJMX1NUX0EJMHg2NTBiNAogI2RlZmluZSBfSFNXX0FVRF9ESVBfRUxEX0NUUkxf U1RfQgkweDY1MWI0CiAjZGVmaW5lIEhTV19BVURfRElQX0VMRF9DVFJMKHBpcGUpIF9QSVBFKHBp cGUsIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IGRjMzJjZjQuLmVkZGYzN2Yg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwpAQCAtNjgsNiArNjgsMzAgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB7CiAJeyAxNDg1MDAsIEFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV8x NDg1MDAgfSwKIH07CiAKKyNkZWZpbmUgVE1EU18yOTdNIDI5NzAwMAorI2RlZmluZSBUTURTXzI5 Nk0gRElWX1JPVU5EX1VQKDI5NzAwMCAqIDEwMDAsIDEwMDEpCitzdGF0aWMgY29uc3Qgc3RydWN0 IHsKKwlpbnQgc2FtcGxlX3JhdGU7CisJaW50IGNsb2NrOworCWludCBuOworCWludCBjdHM7Cit9 IGF1ZF9uY3RzW10gPSB7CisJeyA0NDEwMCwgVE1EU18yOTZNLCA0NDU5LCAyMzQzNzUgfSwKKwl7 IDQ0MTAwLCBUTURTXzI5N00sIDQ3MDQsIDI0NzUwMCB9LAorCXsgNDgwMDAsIFRNRFNfMjk2TSwg NTgyNCwgMjgxMjUwIH0sCisJeyA0ODAwMCwgVE1EU18yOTdNLCA1MTIwLCAyNDc1MDAgfSwKKwl7 IDMyMDAwLCBUTURTXzI5Nk0sIDU4MjQsIDQyMTg3NSB9LAorCXsgMzIwMDAsIFRNRFNfMjk3TSwg MzA3MiwgMjIyNzUwIH0sCisJeyA4ODIwMCwgVE1EU18yOTZNLCA4OTE4LCAyMzQzNzUgfSwKKwl7 IDg4MjAwLCBUTURTXzI5N00sIDk0MDgsIDI0NzUwMCB9LAorCXsgOTYwMDAsIFRNRFNfMjk2TSwg MTE2NDgsIDI4MTI1MCB9LAorCXsgOTYwMDAsIFRNRFNfMjk3TSwgMTAyNDAsIDI0NzUwMCB9LAor CXsgMTc2NDAwLCBUTURTXzI5Nk0sIDE3ODM2LCAyMzQzNzUgfSwKKwl7IDE3NjQwMCwgVE1EU18y OTdNLCAxODgxNiwgMjQ3NTAwIH0sCisJeyA0NDEwMCwgVE1EU18yOTZNLCAyMzI5NiwgMjgxMjUw IH0sCisJeyA0NDEwMCwgVE1EU18yOTdNLCAyMDQ4MCwgMjQ3NTAwIH0sCit9OworCiAvKiBnZXQg QVVEX0NPTkZJR19QSVhFTF9DTE9DS19IRE1JXyogdmFsdWUgZm9yIG1vZGUgKi8KIHN0YXRpYyB1 MzIgYXVkaW9fY29uZmlnX2hkbWlfcGl4ZWxfY2xvY2soc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCiB7CkBAIC01MTQsMTIgKzUzOCw4MyBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29t cG9uZW50X2dldF9jZGNsa19mcmVxKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1cm4gcmV0Owog fQogCitzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X3NldF9uY3RzKHN0cnVjdCBkZXZp Y2UgKmRldiwgaW50IHBvcnQsCisJCQlpbnQgZGV2X2VudHJ5LCBpbnQgcmF0ZSkKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXZfdG9faTkxNShkZXYpOworCXN0cnVj dCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGV2X3ByaXYtPmRldjsKKwlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlcjsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydDsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZTsKKwllbnVtIHBpcGUgcGlwZSA9IC0xOworCXUzMiB0bXA7CisJaW50IGk7CisJ aW50IG5fbG93LCBuX3VwLCBuID0gMDsKKworCS8qIDEuIGdldCB0aGUgcGlwZSAqLworCWZvcl9l YWNoX2ludGVsX2VuY29kZXIoZHJtX2RldiwgaW50ZWxfZW5jb2RlcikgeworCQlpbnRlbF9kaWdf cG9ydCA9IGVuY190b19kaWdfcG9ydCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7CisJCWlmIChwb3J0 ID09IGludGVsX2RpZ19wb3J0LT5wb3J0KSB7CisJCQljcnRjID0gdG9faW50ZWxfY3J0YyhpbnRl bF9lbmNvZGVyLT5iYXNlLmNydGMpOworCQkJaWYgKCFjcnRjKSB7CisJCQkJRFJNX0RFQlVHX0tN UygiJXM6IGNydGMgaXMgTlVMTFxuIiwgX19mdW5jX18pOworCQkJCWNvbnRpbnVlOworCQkJfQor CQkJcGlwZSA9IGNydGMtPnBpcGU7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChwaXBlID09 IC0xKSB7CisJCURSTV9ERUJVR19LTVMoIm5vIHBpcGUgZm9yIHRoZSBwb3J0ICVjXG4iLCBwb3J0 X25hbWUocG9ydCkpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJRFJNX0RFQlVHX0tNUygicGlw ZSAlYyBjb25uZWN0cyBwb3J0ICVjXG4iLAorCQkJCSAgcGlwZV9uYW1lKHBpcGUpLCBwb3J0X25h bWUocG9ydCkpOworCW1vZGUgPSAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisK KwkvKiAyLiBOZWVkIHNldCB0aGUgTi9DVFMgbWFudWFsbHkgYXQgc29tZSBmcmVxdWVuY2llcyAq LworCWlmICgobW9kZS0+Y2xvY2sgIT0gVE1EU18yOTdNKSAmJgorCQkobW9kZS0+Y2xvY2sgIT0g VE1EU18yOTZNKSkgeworCQl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DRkcocGlwZSkpOworCQl0 bXAgJj0gfkFVRF9DT05GSUdfTl9QUk9HX0VOQUJMRTsKKwkJSTkxNV9XUklURShIU1dfQVVEX0NG RyhwaXBlKSwgdG1wKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogMy4gY2FsY3VsYXRlIHRoZSBO L0NUUyAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGF1ZF9uY3RzKTsgaSsrKSB7CisJ CWlmICgocmF0ZSA9PSBhdWRfbmN0c1tpXS5zYW1wbGVfcmF0ZSkgJiYKKwkJCShtb2RlLT5jbG9j ayA9PSBhdWRfbmN0c1tpXS5jbG9jaykpIHsKKwkJCW4gPSBhdWRfbmN0c1tpXS5uOworCQkJYnJl YWs7CisJCX0KKwl9CisJaWYgKG4gPT0gMCkKKwkJcmV0dXJuIDA7CisJbl9sb3cgPSBuICYgMHhm ZmY7CisJbl91cCA9IChuID4+IDEyKSAmIDB4ZmY7CisKKwkvKiA0LiBzZXQgdGhlIE4vQ1RTICov CisJdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKHBpcGUpKTsKKwl0bXAgfD0gQVVEX0NPTkZJ R19OX1BST0dfRU5BQkxFOworCXRtcCAmPSB+QVVEX0NPTkZJR19VUFBFUl9OX01BU0s7CisJdG1w IHw9IChuX3VwIDw8IEFVRF9DT05GSUdfVVBQRVJfTl9TSElGVCk7CisJdG1wICY9IH5BVURfQ09O RklHX0xPV0VSX05fTUFTSzsKKwl0bXAgfD0gKG5fbG93IDw8IEFVRF9DT05GSUdfTE9XRVJfTl9T SElGVCk7CisJSTkxNV9XUklURShIU1dfQVVEX0NGRyhwaXBlKSwgdG1wKTsKKworCXJldHVybiAw OworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50X29wcyBpOTE1 X2F1ZGlvX2NvbXBvbmVudF9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5nZXRf cG93ZXIJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIsCiAJLnB1dF9wb3dlcgk9IGk5 MTVfYXVkaW9fY29tcG9uZW50X3B1dF9wb3dlciwKIAkuY29kZWNfd2FrZV9vdmVycmlkZSA9IGk5 MTVfYXVkaW9fY29tcG9uZW50X2NvZGVjX3dha2Vfb3ZlcnJpZGUsCiAJLmdldF9jZGNsa19mcmVx CT0gaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X2NkY2xrX2ZyZXEsCisJLnNldF9uY3RzID0gaTkx NV9hdWRpb19jb21wb25lbnRfc2V0X25jdHMsCiB9OwogCiBzdGF0aWMgaW50IGk5MTVfYXVkaW9f Y29tcG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqaTkxNV9kZXYsCi0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK