From mboxrd@z Thu Jan 1 00:00:00 1970 From: libin.yang@intel.com Subject: [PATCH 2/4] drm/i915: implement set_ncts callback Date: Thu, 6 Aug 2015 14:52:55 +0800 Message-ID: <1438843977-4269-2-git-send-email-libin.yang@intel.com> References: <1438843977-4269-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id F2C276EA97 for ; Thu, 6 Aug 2015 00:03:10 -0700 (PDT) In-Reply-To: <1438843977-4269-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTGliaW4gWWFuZyA8bGliaW4ueWFuZ0BpbnRlbC5jb20+CgpEaXNwbGF5IGF1ZGlvIG1h eSBub3Qgd29yayBhdCBzb21lIGZyZXF1ZW5jaWVzCndpdGggdGhlIEhXIHByb3ZpZGVkIE4vQ1RT LgoKVGhpcyBwYXRjaCBzZXRzIHRoZSBwcm9wZXIgTiB2YWx1ZSBmb3IgdGhlCmdpdmVuIGF1ZGlv IHNhbXBsZSByYXRlIGF0IHRoZSBpbXBhY3RlZCBmcmVxdWVuY2llcy4KQXQgb3RoZXIgZnJlcXVl bmNpZXMsIGl0IHdpbGwgdXNlIHRoZSBOL0NUUyB2YWx1ZQp3aGljaCBIVyBwcm92aWRlcy4KClNp Z25lZC1vZmYtYnk6IExpYmluIFlhbmcgPGxpYmluLnlhbmdAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgfCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdWRpby5jIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCmluZGV4IDNhNzc2NzguLjBiMWNkNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAt NzAxMCw2ICs3MDEwLDggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAJCQkJCV9IU1df QVVEX01JU0NfQ1RSTF9BLCBcCiAJCQkJCV9IU1dfQVVEX01JU0NfQ1RSTF9CKQogCisjZGVmaW5l IEhTV19BVURfUElQRV9DT05OX1NFTF9DVFJMICAweDY1MGFjCisKICNkZWZpbmUgX0hTV19BVURf RElQX0VMRF9DVFJMX1NUX0EJMHg2NTBiNAogI2RlZmluZSBfSFNXX0FVRF9ESVBfRUxEX0NUUkxf U1RfQgkweDY1MWI0CiAjZGVmaW5lIEhTV19BVURfRElQX0VMRF9DVFJMKHBpcGUpIF9QSVBFKHBp cGUsIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IGRjMzJjZjQuLmYxMTQ4Y2Qg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwpAQCAtNjgsNiArNjgsMjggQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB7CiAJeyAxNDg1MDAsIEFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV8x NDg1MDAgfSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeworCWludCBzYW1wbGVfcmF0ZTsK KwlpbnQgY2xvY2s7CisJaW50IG47CisJaW50IGN0czsKK30gYXVkX25jdHNbXSA9IHsKKwl7IDQ0 MTAwLCBESVZfUk9VTkRfVVAoMjk3MDAwICogMTAwMCwgMTAwMSksIDQ0NTksIDIzNDM3NSB9LAor CXsgNDQxMDAsIDI5NzAwMCwgNDcwNCwgMjQ3NTAwIH0sCisJeyA0ODAwMCwgRElWX1JPVU5EX1VQ KDI5NzAwMCAqIDEwMDAsIDEwMDEpLCA1ODI0LCAyODEyNTAgfSwKKwl7IDQ4MDAwLCAyOTcwMDAs IDUxMjAsIDI0NzUwMCB9LAorCXsgMzIwMDAsIERJVl9ST1VORF9VUCgyOTcwMDAgKiAxMDAwLCAx MDAxKSwgNTgyNCwgNDIxODc1IH0sCisJeyAzMjAwMCwgMjk3MDAwLCAzMDcyLCAyMjI3NTAgfSwK Kwl7IDg4MjAwLCBESVZfUk9VTkRfVVAoMjk3MDAwICogMTAwMCwgMTAwMSksIDg5MTgsIDIzNDM3 NSB9LAorCXsgODgyMDAsIDI5NzAwMCwgOTQwOCwgMjQ3NTAwIH0sCisJeyA5NjAwMCwgRElWX1JP VU5EX1VQKDI5NzAwMCAqIDEwMDAsIDEwMDEpLCAxMTY0OCwgMjgxMjUwIH0sCisJeyA5NjAwMCwg Mjk3MDAwLCAxMDI0MCwgMjQ3NTAwIH0sCisJeyAxNzY0MDAsIERJVl9ST1VORF9VUCgyOTcwMDAg KiAxMDAwLCAxMDAxKSwgMTc4MzYsIDIzNDM3NSB9LAorCXsgMTc2NDAwLCAyOTcwMDAsIDE4ODE2 LCAyNDc1MDAgfSwKKwl7IDQ0MTAwLCBESVZfUk9VTkRfVVAoMjk3MDAwICogMTAwMCwgMTAwMSks IDIzMjk2LCAyODEyNTAgfSwKKwl7IDQ0MTAwLCAyOTcwMDAsIDIwNDgwLCAyNDc1MDAgfSwKK307 CisKIC8qIGdldCBBVURfQ09ORklHX1BJWEVMX0NMT0NLX0hETUlfKiB2YWx1ZSBmb3IgbW9kZSAq Lwogc3RhdGljIHUzMiBhdWRpb19jb25maWdfaGRtaV9waXhlbF9jbG9jayhzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKIHsKQEAgLTUxNCwxMiArNTM2LDgzIEBAIHN0YXRpYyBpbnQgaTkx NV9hdWRpb19jb21wb25lbnRfZ2V0X2NkY2xrX2ZyZXEoc3RydWN0IGRldmljZSAqZGV2KQogCXJl dHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc2V0X25jdHMo c3RydWN0IGRldmljZSAqZGV2LCBpbnQgcG9ydCwKKwkJCWludCBkZXZfZW50cnksIGludCByYXRl KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldl90b19pOTE1KGRl dik7CisJc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkZXZfcHJpdi0+ZGV2OworCXN0cnVj dCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOworCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlOworCWVudW0gcGlwZSBwaXBlID0gLTE7CisJdTMyIHRtcDsK KwlpbnQgaTsKKwlpbnQgbl9sb3csIG5fdXAsIG4gPSAwOworCisJLyogMS4gZ2V0IHRoZSBwaXBl ICovCisJZm9yX2VhY2hfaW50ZWxfZW5jb2Rlcihkcm1fZGV2LCBpbnRlbF9lbmNvZGVyKSB7CisJ CWludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsK KwkJaWYgKHBvcnQgPT0gaW50ZWxfZGlnX3BvcnQtPnBvcnQpIHsKKwkJCWNydGMgPSB0b19pbnRl bF9jcnRjKGludGVsX2VuY29kZXItPmJhc2UuY3J0Yyk7CisJCQlpZiAoIWNydGMpIHsKKwkJCQlE Uk1fREVCVUdfS01TKCIlczogY3J0YyBpcyBOVUxMXG4iLCBfX2Z1bmNfXyk7CisJCQkJY29udGlu dWU7CisJCQl9CisJCQlwaXBlID0gY3J0Yy0+cGlwZTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJ aWYgKHBpcGUgPT0gLTEpIHsKKwkJRFJNX0RFQlVHX0tNUygibm8gcGlwZSBmb3IgdGhlIHBvcnQg JWNcbiIsIHBvcnRfbmFtZShwb3J0KSk7CisJCXJldHVybiAtRU5PREVWOworCX0KKwlEUk1fREVC VUdfS01TKCJwaXBlICVjIGNvbm5lY3RzIHBvcnQgJWNcbiIsCisJCQkJICBwaXBlX25hbWUocGlw ZSksIHBvcnRfbmFtZShwb3J0KSk7CisJbW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZTsKKworCS8qIDIuIE5lZWQgc2V0IHRoZSBOL0NUUyBtYW51YWxseSBhdCBzb21lIGZy ZXF1ZW5jaWVzICovCisJaWYgKChtb2RlLT5jbG9jayAhPSAyOTcwMDApICYmCisJCShtb2RlLT5j bG9jayAhPSBESVZfUk9VTkRfVVAoMjk3MDAwICogMTAwMCwgMTAwMSkpKSB7CisJCXRtcCA9IEk5 MTVfUkVBRChIU1dfQVVEX0NGRyhwaXBlKSk7CisJCXRtcCAmPSB+QVVEX0NPTkZJR19OX1BST0df RU5BQkxFOworCQlJOTE1X1dSSVRFKEhTV19BVURfQ0ZHKHBpcGUpLCB0bXApOworCQlyZXR1cm4g MDsKKwl9CisKKwkvKiAzLiBjYWxjdWxhdGUgdGhlIE4vQ1RTICovCisJZm9yIChpID0gMDsgaSA8 IEFSUkFZX1NJWkUoYXVkX25jdHMpOyBpKyspIHsKKwkJaWYgKChyYXRlID09IGF1ZF9uY3RzW2ld LnNhbXBsZV9yYXRlKSAmJgorCQkJKG1vZGUtPmNsb2NrID09IGF1ZF9uY3RzW2ldLmNsb2NrKSkg eworCQkJbiA9IGF1ZF9uY3RzW2ldLm47CisJCQlicmVhazsKKwkJfQorCX0KKwlpZiAobiA9PSAw KQorCQlyZXR1cm4gMDsKKwluX2xvdyA9IG4gJiAweGZmZjsKKwluX3VwID0gKG4gPj4gMTIpICYg MHhmZjsKKworCS8qIDQuIHNldCB0aGUgTi9DVFMgKi8KKwl0bXAgPSBJOTE1X1JFQUQoSFNXX0FV RF9DRkcocGlwZSkpOworCXRtcCB8PSBBVURfQ09ORklHX05fUFJPR19FTkFCTEU7CisJdG1wICY9 IH5BVURfQ09ORklHX1VQUEVSX05fTUFTSzsKKwl0bXAgfD0gKG5fdXAgPDwgQVVEX0NPTkZJR19V UFBFUl9OX1NISUZUKTsKKwl0bXAgJj0gfkFVRF9DT05GSUdfTE9XRVJfTl9NQVNLOworCXRtcCB8 PSAobl9sb3cgPDwgQVVEX0NPTkZJR19MT1dFUl9OX1NISUZUKTsKKwlJOTE1X1dSSVRFKEhTV19B VURfQ0ZHKHBpcGUpLCB0bXApOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9hdWRpb19jb21wb25lbnRfb3BzIGk5MTVfYXVkaW9fY29tcG9uZW50X29wcyA9IHsK IAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmdldF9wb3dlcgk9IGk5MTVfYXVkaW9fY29tcG9u ZW50X2dldF9wb3dlciwKIAkucHV0X3Bvd2VyCT0gaTkxNV9hdWRpb19jb21wb25lbnRfcHV0X3Bv d2VyLAogCS5jb2RlY193YWtlX292ZXJyaWRlID0gaTkxNV9hdWRpb19jb21wb25lbnRfY29kZWNf d2FrZV9vdmVycmlkZSwKIAkuZ2V0X2NkY2xrX2ZyZXEJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9n ZXRfY2RjbGtfZnJlcSwKKwkuc2V0X25jdHMgPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9zZXRfbmN0 cywKIH07CiAKIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfYmluZChzdHJ1Y3QgZGV2 aWNlICppOTE1X2RldiwKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=