From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH 2/4] drm/komeda: Introduce komeda_color_manager/state Date: Tue, 21 May 2019 09:34:48 +0000 Message-ID: <20190521093411.26609-3-james.qian.wang@arm.com> References: <20190521093411.26609-1-james.qian.wang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190521093411.26609-1-james.qian.wang@arm.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Liviu Dudau , "airlied@linux.ie" , Brian Starkey , "maarten.lankhorst@linux.intel.com" , "sean@poorly.run" , "ezequiel@collabora.com" , "uma.shankar@intel.com" Cc: "Jonathan Chai (Arm Technology China)" , "Julien Yin (Arm Technology China)" , "thomas Sun (Arm Technology China)" , "Lowry Li (Arm Technology China)" , Ayan Halder , "Tiannan Zhu (Arm Technology China)" , "Yiqi Kang (Arm Technology China)" , nd , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Ben Davis , "Oscar Zhang (Arm Technology China)" , "Channing Chen (Arm Technology China)" , "james qian wang (Arm Technology China)" List-Id: dri-devel@lists.freedesktop.org TWFueSBrb21lZGEgY29tcG9uZW50IHN1cHBvcnQgY29sb3IgbWFuYWdlbWVudCBsaWtlIGxheWVy IGFuZCBJUFMsIHNvDQprb21lZGFfY29sb3JfbWFuYWdlci9zdGF0ZSBhcmUgaW50cm9kdWNlZCB0 byBtYW5hZ2VyIGdhbW1hLCBjc2MgYW5kIGRlZ2FtbWENCnRvZ2V0aGVyIGZvciBlYXNpbHkgc2hh cmUgaXQgdG8gbXVsdGlwbGUgY29tcG9ucGVudC4NCg0KQW5kIGZvciBrb21lZGFfY29sb3JfbWFu YWdlciB3aGljaDoNCi0gY29udmVydCBkcm0gM2QgZ2FtbWEgbHV0IHRvIGtvbWVkYSBzcGVjaWZp YyBnYW1tYSBjb2VmZnMNCi0gZ2FtbWEgdGFibGUgbWFuYWdlbWVudCBhbmQgaGlkZSB0aGUgSFcg ZGlmZmVyZW5jZSBmb3Iga29tZWRhLUNPUkUNCg0KU2lnbmVkLW9mZi1ieTogSmFtZXMgUWlhbiBX YW5nIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPGphbWVzLnFpYW4ud2FuZ0Bhcm0uY29tPg0KLS0t DQogLi4uL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY29sb3JfbWdtdC5jICAgIHwgMTI2ICsr KysrKysrKysrKysrKysrKw0KIC4uLi9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NvbG9yX21n bXQuaCAgICB8ICAzMiArKysrLQ0KIDIgZmlsZXMgY2hhbmdlZCwgMTU2IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9jb2xvcl9tZ210LmMNCmluZGV4IDlkMTRhOTJkYmIxNy4uYmYyMzg4 ZDY0MWI5IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfY29sb3JfbWdtdC5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9jb2xvcl9tZ210LmMNCkBAIC00LDcgKzQsOSBAQA0KICAqIEF1dGhvcjogSmFt ZXMuUWlhbi5XYW5nIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCiAgKg0KICAqLw0KKyNpbmNs dWRlIDxkcm0vZHJtX3ByaW50Lmg+DQoNCisjaW5jbHVkZSAibWFsaWRwX3V0aWxzLmgiDQogI2lu Y2x1ZGUgImtvbWVkYV9jb2xvcl9tZ210LmgiDQoNCiAvKiAxMGJpdCBwcmVjaXNpb24gWVVWMlJH QiBtYXRyaXggKi8NCkBAIC02NSwzICs2NywxMjcgQEAgY29uc3QgczMyICprb21lZGFfc2VsZWN0 X3l1djJyZ2JfY29lZmZzKHUzMiBjb2xvcl9lbmNvZGluZywgdTMyIGNvbG9yX3JhbmdlKQ0KDQog CXJldHVybiBjb2VmZnM7DQogfQ0KKw0KK3N0cnVjdCBnYW1tYV9jdXJ2ZV9zZWN0b3Igew0KKwl1 MzIgYm91bmRhcnlfc3RhcnQ7DQorCXUzMiBudW1fb2Zfc2VnbWVudHM7DQorCXUzMiBzZWdtZW50 X3dpZHRoOw0KK307DQorDQorc3RydWN0IGdhbW1hX2N1cnZlX3NlZ21lbnQgew0KKwl1MzIgc3Rh cnQ7DQorCXUzMiBlbmQ7DQorfTsNCisNCitzdGF0aWMgc3RydWN0IGdhbW1hX2N1cnZlX3NlY3Rv ciBzZWN0b3JfdGJsW10gPSB7DQorCXsgMCwgICAgNCwgIDQgICB9LA0KKwl7IDE2LCAgIDQsICA0 ICAgfSwNCisJeyAzMiwgICA0LCAgOCAgIH0sDQorCXsgNjQsICAgNCwgIDE2ICB9LA0KKwl7IDEy OCwgIDQsICAzMiAgfSwNCisJeyAyNTYsICA0LCAgNjQgIH0sDQorCXsgNTEyLCAgMTYsIDMyICB9 LA0KKwl7IDEwMjQsIDI0LCAxMjggfSwNCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgZ2FtbWFfY3Vy dmVfc2VjdG9yIGlnYW1tYV9zZWN0b3JfdGJsW10gPSB7DQorCXswLCA2NCwgNjR9LA0KK307DQor DQorc3RhdGljIHZvaWQNCitkcm1fbHV0X3RvX2NvZWZmcyhzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Js b2IgKmx1dF9ibG9iLCB1MzIgKmNvZWZmcywNCisJCSAgc3RydWN0IGdhbW1hX2N1cnZlX3NlY3Rv ciAqc2VjdG9yX3RibCwgdTMyIG51bV9zZWN0b3JzKQ0KK3sNCisJc3RydWN0IGRybV9jb2xvcl9s dXQgKmx1dDsNCisJdTMyIGksIGosIGluLCBudW0gPSAwOw0KKw0KKwlpZiAoIWx1dF9ibG9iKQ0K KwkJcmV0dXJuOw0KKw0KKwlsdXQgPSBsdXRfYmxvYi0+ZGF0YTsNCisNCisJZm9yIChpID0gMDsg aSA8IG51bV9zZWN0b3JzOyBpKyspIHsNCisJCWZvciAoaiA9IDA7IGogPCBzZWN0b3JfdGJsW2ld Lm51bV9vZl9zZWdtZW50czsgaisrKSB7DQorCQkJaW4gPSBzZWN0b3JfdGJsW2ldLmJvdW5kYXJ5 X3N0YXJ0ICsNCisJCQkgICAgIGogKiBzZWN0b3JfdGJsW2ldLnNlZ21lbnRfd2lkdGg7DQorDQor CQkJY29lZmZzW251bSsrXSA9IGRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaW5dLnJlZCwNCisJ CQkJCQlLT01FREFfQ09MT1JfUFJFQ0lTSU9OKTsNCisJCX0NCisJfQ0KKw0KKwljb2VmZnNbbnVt XSA9IEJJVChLT01FREFfQ09MT1JfUFJFQ0lTSU9OKTsNCit9DQorDQordm9pZCBkcm1fbHV0X3Rv X2lnYW1tYV9jb2VmZnMoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpsdXRfYmxvYiwgdTMyICpj b2VmZnMpDQorew0KKwlkcm1fbHV0X3RvX2NvZWZmcyhsdXRfYmxvYiwgY29lZmZzLA0KKwkJCSAg aWdhbW1hX3NlY3Rvcl90YmwsIEFSUkFZX1NJWkUoaWdhbW1hX3NlY3Rvcl90YmwpKTsNCit9DQor DQordm9pZCBkcm1fbHV0X3RvX2ZnYW1tYV9jb2VmZnMoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9i ICpsdXRfYmxvYiwgdTMyICpjb2VmZnMpDQorew0KKwlkcm1fbHV0X3RvX2NvZWZmcyhsdXRfYmxv YiwgY29lZmZzLA0KKwkJCSAgc2VjdG9yX3RibCwgQVJSQVlfU0laRShzZWN0b3JfdGJsKSk7DQor fQ0KKw0KK3ZvaWQgZHJtX2N0bV90b19jb2VmZnMoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpj dG1fYmxvYiwgdTMyICpjb2VmZnMpDQorew0KKwlzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqY3RtOw0K Kwl1MzIgaTsNCisNCisJaWYgKCFjdG1fYmxvYikNCisJCXJldHVybjsNCisNCisJY3RtID0gY3Rt X2Jsb2ItPmRhdGE7DQorDQorCWZvciAoaSA9IDA7IGkgPCBLT01FREFfTl9DVE1fQ09FRkZTOyAr K2kpIHsNCisJCS8qIENvbnZlcnQgZnJvbSBTMzEuMzIgdG8gUTMuMTIuICovDQorCQlzNjQgdiA9 IGN0bS0+bWF0cml4W2ldOw0KKw0KKwkJY29lZmZzW2ldID0gY2xhbXBfdmFsKHYsIDEgLSAoMUxM IDw8IDM0KSwgKDFMTCA8PCAzNCkgLSAxKSA+PiAyMDsNCisJfQ0KK30NCisNCit2b2lkIGtvbWVk YV9jb2xvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGtvbWVkYV9jb2xvcl9zdGF0ZSAqbmV3LA0K KwkJCQkgIHN0cnVjdCBrb21lZGFfY29sb3Jfc3RhdGUgKm9sZCkNCit7DQorCW5ldy0+aWdhbW1h ID0ga29tZWRhX2NvZWZmc19nZXQob2xkLT5pZ2FtbWEpOw0KKwluZXctPmZnYW1tYSA9IGtvbWVk YV9jb2VmZnNfZ2V0KG9sZC0+ZmdhbW1hKTsNCit9DQorDQordm9pZCBrb21lZGFfY29sb3JfY2xl YW51cF9zdGF0ZShzdHJ1Y3Qga29tZWRhX2NvbG9yX3N0YXRlICpjb2xvcl9zdCkNCit7DQorCWtv bWVkYV9jb2VmZnNfcHV0KGNvbG9yX3N0LT5pZ2FtbWEpOw0KKwlrb21lZGFfY29lZmZzX3B1dChj b2xvcl9zdC0+ZmdhbW1hKTsNCit9DQorDQoraW50IGtvbWVkYV9jb2xvcl92YWxpZGF0ZShzdHJ1 Y3Qga29tZWRhX2NvbG9yX21hbmFnZXIgKm1nciwNCisJCQkgIHN0cnVjdCBrb21lZGFfY29sb3Jf c3RhdGUgKnN0LA0KKwkJCSAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICppZ2FtbWFfYmxvYiwN CisJCQkgIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZmdhbW1hX2Jsb2IpDQorew0KKwl1MzIg Y29lZmZzW0tPTUVEQV9OX0dBTU1BX0NPRUZGU107DQorDQorCWtvbWVkYV9jb2xvcl9jbGVhbnVw X3N0YXRlKHN0KTsNCisNCisJaWYgKGlnYW1tYV9ibG9iKSB7DQorCQlkcm1fbHV0X3RvX2lnYW1t YV9jb2VmZnMoaWdhbW1hX2Jsb2IsIGNvZWZmcyk7DQorCQlzdC0+aWdhbW1hID0ga29tZWRhX2Nv ZWZmc19yZXF1ZXN0KG1nci0+aWdhbW1hX21nciwgY29lZmZzKTsNCisJCWlmICghc3QtPmlnYW1t YSkgew0KKwkJCURSTV9ERUJVR19BVE9NSUMoInJlcXVlc3QgaWdhbW1hIHRhYmxlIGZhaWxlZC5c biIpOw0KKwkJCXJldHVybiAtRUJVU1k7DQorCQl9DQorCX0NCisNCisJaWYgKGZnYW1tYV9ibG9i KSB7DQorCQlkcm1fbHV0X3RvX2ZnYW1tYV9jb2VmZnMoZmdhbW1hX2Jsb2IsIGNvZWZmcyk7DQor CQlzdC0+ZmdhbW1hID0ga29tZWRhX2NvZWZmc19yZXF1ZXN0KG1nci0+ZmdhbW1hX21nciwgY29l ZmZzKTsNCisJCWlmICghc3QtPmZnYW1tYSkgew0KKwkJCURSTV9ERUJVR19BVE9NSUMoInJlcXVl c3QgZmdhbW1hIHRhYmxlIGZhaWxlZC5cbiIpOw0KKwkJCXJldHVybiAtRUJVU1k7DQorCQl9DQor CX0NCisNCisJcmV0dXJuIDA7DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX2NvbG9yX21nbXQuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX2NvbG9yX21nbXQuaA0KaW5kZXggYTJkZjIxOGY1OGU3Li40 MWE5NmIzYjU0MGYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9jb2xvcl9tZ210LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2NvbG9yX21nbXQuaA0KQEAgLTQsMTQgKzQsNDIgQEANCiAgKiBBdXRo b3I6IEphbWVzLlFpYW4uV2FuZyA8amFtZXMucWlhbi53YW5nQGFybS5jb20+DQogICoNCiAgKi8N Ci0NCiAjaWZuZGVmIF9LT01FREFfQ09MT1JfTUdNVF9IXw0KICNkZWZpbmUgX0tPTUVEQV9DT0xP Ul9NR01UX0hfDQoNCiAjaW5jbHVkZSA8ZHJtL2RybV9jb2xvcl9tZ210Lmg+DQorI2luY2x1ZGUg ImtvbWVkYV9jb2VmZnMuaCINCg0KICNkZWZpbmUgS09NRURBX05fWVVWMlJHQl9DT0VGRlMJCTEy DQorI2RlZmluZSBLT01FREFfTl9SR0IyWVVWX0NPRUZGUwkJMTINCisjZGVmaW5lIEtPTUVEQV9D T0xPUl9QUkVDSVNJT04JCTEyDQorI2RlZmluZSBLT01FREFfTl9HQU1NQV9DT0VGRlMJCTY1DQor I2RlZmluZSBLT01FREFfQ09MT1JfTFVUX1NJWkUJCUJJVChLT01FREFfQ09MT1JfUFJFQ0lTSU9O KQ0KKyNkZWZpbmUgS09NRURBX05fQ1RNX0NPRUZGUwkJOQ0KKw0KK3N0cnVjdCBrb21lZGFfY29s b3JfbWFuYWdlciB7DQorCXN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKmlnYW1tYV9tZ3I7 DQorCXN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKmZnYW1tYV9tZ3I7DQorCWJvb2wgaGFz X2N0bTsNCit9Ow0KKw0KK3N0cnVjdCBrb21lZGFfY29sb3Jfc3RhdGUgew0KKwlzdHJ1Y3Qga29t ZWRhX2NvZWZmc190YWJsZSAqaWdhbW1hOw0KKwlzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAq ZmdhbW1hOw0KK307DQorDQordm9pZCBrb21lZGFfY29sb3JfZHVwbGljYXRlX3N0YXRlKHN0cnVj dCBrb21lZGFfY29sb3Jfc3RhdGUgKm5ldywNCisJCQkJICBzdHJ1Y3Qga29tZWRhX2NvbG9yX3N0 YXRlICpvbGQpOw0KK3ZvaWQga29tZWRhX2NvbG9yX2NsZWFudXBfc3RhdGUoc3RydWN0IGtvbWVk YV9jb2xvcl9zdGF0ZSAqY29sb3Jfc3QpOw0KK2ludCBrb21lZGFfY29sb3JfdmFsaWRhdGUoc3Ry dWN0IGtvbWVkYV9jb2xvcl9tYW5hZ2VyICptZ3IsDQorCQkJICBzdHJ1Y3Qga29tZWRhX2NvbG9y X3N0YXRlICpzdCwNCisJCQkgIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqaWdhbW1hX2Jsb2Is DQorCQkJICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmZnYW1tYV9ibG9iKTsNCisNCit2b2lk IGRybV9sdXRfdG9faWdhbW1hX2NvZWZmcyhzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmx1dF9i bG9iLCB1MzIgKmNvZWZmcyk7DQordm9pZCBkcm1fbHV0X3RvX2ZnYW1tYV9jb2VmZnMoc3RydWN0 IGRybV9wcm9wZXJ0eV9ibG9iICpsdXRfYmxvYiwgdTMyICpjb2VmZnMpOw0KK3ZvaWQgZHJtX2N0 bV90b19jb2VmZnMoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpjdG1fYmxvYiwgdTMyICpjb2Vm ZnMpOw0KDQogY29uc3QgczMyICprb21lZGFfc2VsZWN0X3l1djJyZ2JfY29lZmZzKHUzMiBjb2xv cl9lbmNvZGluZywgdTMyIGNvbG9yX3JhbmdlKTsNCg0KLSNlbmRpZg0KKyNlbmRpZiAvKl9LT01F REFfQ09MT1JfTUdNVF9IXyovDQotLQ0KMi4xNy4xDQo=