From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id E3F0A6E550 for ; Wed, 23 May 2018 18:31:31 +0000 (UTC) From: Ville Syrjala Date: Wed, 23 May 2018 21:31:09 +0300 Message-Id: <20180523183110.1975-7-ville.syrjala@linux.intel.com> In-Reply-To: <20180523183110.1975-1-ville.syrjala@linux.intel.com> References: <20180523183110.1975-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 7/8] lib/kms: Respect fb color_encoding/color_range List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkNv bmZpZ3VyZSB0aGUgcGxhbmUgY29sb3JfZW5jb2RpbmcvY29sb3JfcmFuZ2UgYmFzZWQgb24gd2hh dCB0aGUKZmIgY29udGVudHMgYXJlLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2ttcy5jIHwgNzYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGxpYi9pZ3Rfa21zLmggfCAgOSArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCAw Y2VlMGMwNjM5MGIuLjU2ZmEwZGM2MDlhMCAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuYworKysg Yi9saWIvaWd0X2ttcy5jCkBAIC0xNzMsNiArMTczLDggQEAgY29uc3QgY2hhciAqIGNvbnN0IGln dF9wbGFuZV9wcm9wX25hbWVzW0lHVF9OVU1fUExBTkVfUFJPUFNdID0gewogCVtJR1RfUExBTkVf VFlQRV0gPSAidHlwZSIsCiAJW0lHVF9QTEFORV9ST1RBVElPTl0gPSAicm90YXRpb24iLAogCVtJ R1RfUExBTkVfSU5fRk9STUFUU10gPSAiSU5fRk9STUFUUyIsCisJW0lHVF9QTEFORV9DT0xPUl9F TkNPRElOR10gPSAiQ09MT1JfRU5DT0RJTkciLAorCVtJR1RfUExBTkVfQ09MT1JfUkFOR0VdID0g IkNPTE9SX1JBTkdFIiwKIH07CiAKIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY3J0Y19wcm9wX25h bWVzW0lHVF9OVU1fQ1JUQ19QUk9QU10gPSB7CkBAIC0xOTQsNiArMTk2LDYxIEBAIGNvbnN0IGNo YXIgKiBjb25zdCBpZ3RfY29ubmVjdG9yX3Byb3BfbmFtZXNbSUdUX05VTV9DT05ORUNUT1JfUFJP UFNdID0gewogCVtJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0JdID0gIkJyb2FkY2FzdCBSR0Ii LAogfTsKIAorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY29sb3JfZW5jb2RpbmdfbmFt ZXNbSUdUX05VTV9DT0xPUl9FTkNPRElOR1NdID0geworCVtJR1RfQ09MT1JfWUNCQ1JfQlQ2MDFd ID0gIklUVS1SIEJULjYwMSBZQ2JDciIsCisJW0lHVF9DT0xPUl9ZQ0JDUl9CVDcwOV0gPSAiSVRV LVIgQlQuNzA5IFlDYkNyIiwKKwlbSUdUX0NPTE9SX1lDQkNSX0JUMjAyMF0gPSAiSVRVLVIgQlQu MjAyMCBZQ2JDciIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGlndF9jb2xvcl9y YW5nZV9uYW1lc1tJR1RfTlVNX0NPTE9SX1JBTkdFU10gPSB7CisJW0lHVF9DT0xPUl9ZQ0JDUl9G VUxMX1JBTkdFXSA9ICJZQ2JDciBmdWxsIHJhbmdlIiwKKwlbSUdUX0NPTE9SX1lDQkNSX0xJTUlU RURfUkFOR0VdID0gIllDYkNyIGxpbWl0ZWQgcmFuZ2UiLAorfTsKKworc3RhdGljIHZvaWQgcGFy c2VfZW51bV9wcm9wKGRybU1vZGVQcm9wZXJ0eVB0ciBwcm9wLAorCQkJICAgIGludCBudW1fZW51 bXMsCisJCQkgICAgdWludDY0X3QgdmFsdWVzW10sCisJCQkgICAgY29uc3QgY2hhciAqIGNvbnN0 IGVudW1fbmFtZXNbXSkKK3sKKwlpZ3RfYXNzZXJ0KChwcm9wLT5mbGFncyAmIH4oRFJNX01PREVf UFJPUF9JTU1VVEFCTEUgfAorCQkJCSAgICBEUk1fTU9ERV9QUk9QX0FUT01JQykpID09IERSTV9N T0RFX1BST1BfRU5VTSk7CisJaWd0X2Fzc2VydChwcm9wLT5jb3VudF9lbnVtcyA9PSBwcm9wLT5j b3VudF92YWx1ZXMpOworCWlndF9hc3NlcnQocHJvcC0+Y291bnRfZW51bXMgPj0gMSk7CisJaWd0 X2Fzc2VydCghIShwcm9wLT5mbGFncyAmIERSTV9NT0RFX1BST1BfSU1NVVRBQkxFKSA9PSAocHJv cC0+Y291bnRfZW51bXMgPT0gMSkpOworCisJZm9yIChpbnQgaSA9IDA7IGkgPCBwcm9wLT5jb3Vu dF9lbnVtczsgaSsrKSB7CisJCWZvciAoaW50IGogPSAwOyBqIDwgbnVtX2VudW1zOyBqKyspIHsK KwkJCWlmIChzdHJjbXAocHJvcC0+ZW51bXNbaV0ubmFtZSwgZW51bV9uYW1lc1tqXSkpCisJCQkJ Y29udGludWU7CisKKwkJCXZhbHVlc1tqXSA9IHByb3AtPmVudW1zW2ldLnZhbHVlOworCQl9CisJ fQorfQorCitzdGF0aWMgdm9pZAorcGFyc2VfY29sb3JfZW5jb2RpbmdfcHJvcChpZ3RfcGxhbmVf dCAqcGxhbmUsIGRybU1vZGVQcm9wZXJ0eVB0ciBwcm9wKQoreworCXBhcnNlX2VudW1fcHJvcChw cm9wLCBBUlJBWV9TSVpFKGlndF9jb2xvcl9lbmNvZGluZ19uYW1lcyksCisJCQlwbGFuZS0+Y29s b3JfZW5jb2RpbmcudmFsdWVzLAorCQkJaWd0X2NvbG9yX2VuY29kaW5nX25hbWVzKTsKK30KKwor c3RhdGljIHZvaWQKK3BhcnNlX2NvbG9yX3JhbmdlX3Byb3AoaWd0X3BsYW5lX3QgKnBsYW5lLCBk cm1Nb2RlUHJvcGVydHlQdHIgcHJvcCkKK3sKKwlwYXJzZV9lbnVtX3Byb3AocHJvcCwgQVJSQVlf U0laRShpZ3RfY29sb3JfcmFuZ2VfbmFtZXMpLAorCQkJcGxhbmUtPmNvbG9yX3JhbmdlLnZhbHVl cywKKwkJCWlndF9jb2xvcl9yYW5nZV9uYW1lcyk7Cit9CisKK3R5cGVkZWYgdm9pZCAoKnBhcnNl X3BsYW5lX3Byb3BfdCkoaWd0X3BsYW5lX3QgKnBsYW5lLCBkcm1Nb2RlUHJvcGVydHlQdHIgcHJv cCk7CisKK3N0YXRpYyBjb25zdCBwYXJzZV9wbGFuZV9wcm9wX3QgaWd0X3BhcnNlX3BsYW5lX3By b3BbSUdUX05VTV9QTEFORV9QUk9QU10gPSB7CisJW0lHVF9QTEFORV9DT0xPUl9FTkNPRElOR10g PSBwYXJzZV9jb2xvcl9lbmNvZGluZ19wcm9wLAorCVtJR1RfUExBTkVfQ09MT1JfUkFOR0VdID0g cGFyc2VfY29sb3JfcmFuZ2VfcHJvcCwKK307CisKIC8qCiAgKiBSZXRyaWV2ZSBhbGwgdGhlIHBy b3BlcmllcyBzcGVjaWZpZWQgaW4gcHJvcHNfbmFtZSBhbmQgc3RvcmUgdGhlbSBpbnRvCiAgKiBw bGFuZS0+cHJvcHMuCkBAIC0yMTgsNiArMjc1LDkgQEAgaWd0X2ZpbGxfcGxhbmVfcHJvcHMoaWd0 X2Rpc3BsYXlfdCAqZGlzcGxheSwgaWd0X3BsYW5lX3QgKnBsYW5lLAogCQkJaWYgKHN0cmNtcChw cm9wLT5uYW1lLCBwcm9wX25hbWVzW2pdKSAhPSAwKQogCQkJCWNvbnRpbnVlOwogCisJCQlpZiAo aWd0X3BhcnNlX3BsYW5lX3Byb3Bbal0pCisJCQkJaWd0X3BhcnNlX3BsYW5lX3Byb3Bbal0ocGxh bmUsIHByb3ApOworCiAJCQlwbGFuZS0+cHJvcHNbal0gPSBwcm9wcy0+cHJvcHNbaV07CiAJCQli cmVhazsKIAkJfQpAQCAtMTcyMSw2ICsxNzgxLDEzIEBAIHN0YXRpYyB2b2lkIGlndF9wbGFuZV9y ZXNldChpZ3RfcGxhbmVfdCAqcGxhbmUpCiAJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBsYW5l LCBJR1RfUExBTkVfRkJfSUQsIDApOwogCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwg SUdUX1BMQU5FX0NSVENfSUQsIDApOwogCisJaWYgKGlndF9wbGFuZV9oYXNfcHJvcChwbGFuZSwg SUdUX1BMQU5FX0NPTE9SX0VOQ09ESU5HKSkKKwkJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBs YW5lLCBJR1RfUExBTkVfQ09MT1JfRU5DT0RJTkcsCisJCQkJCSBwbGFuZS0+Y29sb3JfZW5jb2Rp bmcudmFsdWVzW0lHVF9DT0xPUl9ZQ0JDUl9CVDYwMV0pOworCWlmIChpZ3RfcGxhbmVfaGFzX3By b3AocGxhbmUsIElHVF9QTEFORV9DT0xPUl9SQU5HRSkpCisJCWlndF9wbGFuZV9zZXRfcHJvcF92 YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NPTE9SX1JBTkdFLAorCQkJCQkgcGxhbmUtPmNvbG9yX3Jh bmdlLnZhbHVlc1tJR1RfQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5HRV0pOworCiAJLyogVXNlIGRl ZmF1bHQgcm90YXRpb24gKi8KIAlpZiAoaWd0X3BsYW5lX2hhc19wcm9wKHBsYW5lLCBJR1RfUExB TkVfUk9UQVRJT04pKQogCQlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxhbmUsIElHVF9QTEFO RV9ST1RBVElPTiwgSUdUX1JPVEFUSU9OXzApOwpAQCAtMzU0Niw2ICszNjEzLDE1IEBAIHZvaWQg aWd0X3BsYW5lX3NldF9mYihpZ3RfcGxhbmVfdCAqcGxhbmUsIHN0cnVjdCBpZ3RfZmIgKmZiKQog CQkvKiBzZXQgZGVmYXVsdCBzcmMgcG9zL3NpemUgYXMgZmIgc2l6ZSAqLwogCQlpZ3RfZmJfc2V0 X3Bvc2l0aW9uKGZiLCBwbGFuZSwgMCwgMCk7CiAJCWlndF9mYl9zZXRfc2l6ZShmYiwgcGxhbmUs IGZiLT53aWR0aCwgZmItPmhlaWdodCk7CisKKwkJaWYgKGlndF9wbGFuZV9oYXNfcHJvcChwbGFu ZSwgSUdUX1BMQU5FX0NPTE9SX0VOQ09ESU5HKSkKKwkJCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1 ZShwbGFuZSwKKwkJCQkJCSBJR1RfUExBTkVfQ09MT1JfRU5DT0RJTkcsCisJCQkJCQkgcGxhbmUt PmNvbG9yX2VuY29kaW5nLnZhbHVlc1tmYi0+Y29sb3JfZW5jb2RpbmddKTsKKwkJaWYgKGlndF9w bGFuZV9oYXNfcHJvcChwbGFuZSwgSUdUX1BMQU5FX0NPTE9SX1JBTkdFKSkKKwkJCWlndF9wbGFu ZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwKKwkJCQkJCSBJR1RfUExBTkVfQ09MT1JfUkFOR0UsCisJ CQkJCQkgcGxhbmUtPmNvbG9yX3JhbmdlLnZhbHVlc1tmYi0+Y29sb3JfcmFuZ2VdKTsKIAl9IGVs c2UgewogCQlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIDAsIDApOwogCmRpZmYgLS1naXQgYS9s aWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCAwZTc1ZDBjOWU2YjkuLjUwOWEwZWQy ZGUzZCAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC0y NjMsNiArMjYzLDggQEAgZW51bSBpZ3RfYXRvbWljX3BsYW5lX3Byb3BlcnRpZXMgewogICAgICAg IElHVF9QTEFORV9UWVBFLAogICAgICAgIElHVF9QTEFORV9ST1RBVElPTiwKICAgICAgICBJR1Rf UExBTkVfSU5fRk9STUFUUywKKyAgICAgICBJR1RfUExBTkVfQ09MT1JfRU5DT0RJTkcsCisgICAg ICAgSUdUX1BMQU5FX0NPTE9SX1JBTkdFLAogICAgICAgIElHVF9OVU1fUExBTkVfUFJPUFMKIH07 CiAKQEAgLTMwNyw2ICszMDksMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCS8qIGdlbSBoYW5kbGUg Zm9yIGZiICovCiAJdWludDMyX3QgZ2VtX2hhbmRsZTsKIAorCXN0cnVjdCB7CisJCXVpbnQ2NF90 IHZhbHVlc1tJR1RfTlVNX0NPTE9SX0VOQ09ESU5HU107CisJfSBjb2xvcl9lbmNvZGluZzsKKwlz dHJ1Y3QgeworCQl1aW50NjRfdCB2YWx1ZXNbSUdUX05VTV9DT0xPUl9SQU5HRVNdOworCX0gY29s b3JfcmFuZ2U7CisKIAl1aW50NjRfdCBjaGFuZ2VkOwogCXVpbnQzMl90IHByb3BzW0lHVF9OVU1f UExBTkVfUFJPUFNdOwogCXVpbnQ2NF90IHZhbHVlc1tJR1RfTlVNX1BMQU5FX1BST1BTXTsKLS0g CjIuMTYuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K aWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==