From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH 1/4] drm/komeda: Introduce komeda_coeffs_table/manager Date: Tue, 21 May 2019 09:34:42 +0000 Message-ID: <20190521093411.26609-2-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 a29tZWRhIGRpc3BsYXkgSFdzIGhhdmUga2luZHMgb2YgY29lZmZpY2llbnQgdGFibGVzIGZvciB2 YXJpb3VzIHB1cnBvc2VzDQpsaWtlIGdhbW1hL2RlZ2FtbWEuIHVzdXNhbGx5IHRoZXNlIHRhYmxl cyBhcmUgc2hhcmVkIGJ5IG11bHRpcGxlIEhXDQpjb21wb25lbnQgYW5kIGhhdmUgbGltaXRlZCBu dW1iZXIuDQpJbnRyb2R1Y2Uga29tZWRhX2NvZWZmc190YWJsZS9tYW5hZ2VyIGZvciBkZXNjcmli aW5nIGFuZCBtYW5hZ2luZyB0aGVzZQ0KdGFibGVzLCBsaWtlIHRhYmxlIHJldXNlLCByYWNpbmcu DQoNClNpZ25lZC1vZmYtYnk6IEphbWVzIFFpYW4gV2FuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEp IDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEvTWFrZWZpbGUgICB8ICAgMSArDQogLi4uL2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2NvZWZmcy5jICAgIHwgMTE5ICsrKysrKysrKysrKysrKysrKw0KIC4uLi9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jb2VmZnMuaCAgICB8ICA3NCArKysrKysrKysrKw0K IDMgZmlsZXMgY2hhbmdlZCwgMTk0IGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY29lZmZzLmMNCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf Y29lZmZzLmgNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxl DQppbmRleCA3M2I4ZThiZTE4NjIuLmU4NTNjMWM0OTljOSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUNCkBAIC04LDYgKzgsNyBAQCBrb21lZGEteSA6 PSBcDQogCWtvbWVkYV9kcnYubyBcDQogCWtvbWVkYV9kZXYubyBcDQogCWtvbWVkYV9mb3JtYXRf Y2Fwcy5vIFwNCisJa29tZWRhX2NvZWZmcy5vIFwNCiAJa29tZWRhX2NvbG9yX21nbXQubyBcDQog CWtvbWVkYV9waXBlbGluZS5vIFwNCiAJa29tZWRhX3BpcGVsaW5lX3N0YXRlLm8gXA0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NvZWZmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY29lZmZzLmMNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLmQ5ZDM1ZTIzMDAzYw0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfY29lZmZzLmMNCkBAIC0wLDAgKzEsMTE5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjANCisvKg0KKyAqIChDKSBDT1BZUklHSFQgMjAxOSBBUk0gTGltaXRlZC4gQWxs IHJpZ2h0cyByZXNlcnZlZC4NCisgKiBBdXRob3I6IEphbWVzLlFpYW4uV2FuZyA8amFtZXMucWlh bi53YW5nQGFybS5jb20+DQorICoNCisgKi8NCisjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KKyNp bmNsdWRlICJrb21lZGFfY29lZmZzLmgiDQorDQorc3RhdGljIGlubGluZSBib29sIGlzX3RhYmxl X2luX3VzaW5nKHN0cnVjdCBrb21lZGFfY29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCXJldHVy biByZWZjb3VudF9yZWFkKCZ0YWJsZS0+cmVmY291bnQpID4gMTsNCit9DQorDQorLyogcmVxdWVz dCBhIGNvZWZmcyB0YWJsZSBmb3IgdGhlIGNvZWZmcyBkYXRhIHNwZWNpZmllZCBieSBhcmd1bWVu dCBjb2VmZnMgKi8NCitzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqDQora29tZWRhX2NvZWZm c19yZXF1ZXN0KHN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKm1nciwgdm9pZCAqY29lZmZz KQ0KK3sNCisJc3RydWN0IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlOw0KKwl1MzIgaTsNCisN CisJbXV0ZXhfbG9jaygmbWdyLT5tdXRleCk7DQorDQorCS8qIHNlYXJjaCB0YWJsZSBsaXN0IHRv IGZpbmQgaWYgdGhlcmUgaXMgYSBpbi11c2luZyB0YWJsZSB3aXRoIHRoZQ0KKwkgKiBzYW1lIGNv ZWZmaWNpZW50IGNvbnRlbnQsIGlmIGZpbmQsIHJldXNlIHRoaXMgdGFibGUuDQorCSAqLw0KKwlm b3IgKGkgPSAwOyBpIDwgbWdyLT5uX3RhYmxlczsgaSsrKSB7DQorCQl0YWJsZSA9IG1nci0+dGFi bGVzW2ldOw0KKw0KKwkJLyogc2tpcCB0aGUgdW51c2VkIHRhYmxlICovDQorCQlpZiAoIWlzX3Rh YmxlX2luX3VzaW5nKHRhYmxlKSkNCisJCQljb250aW51ZTsNCisNCisJCWlmICghbWVtY21wKHRh YmxlLT5jb2VmZnMsIGNvZWZmcywgbWdyLT5jb2VmZnNfc3opKQ0KKwkJCWdvdG8gZm91bmQ7DQor CX0NCisNCisJLyogY2FuIG5vdCByZXVzZSB0aGUgZXhpc3RpbmcgaW4tdXNpbmcgdGFibGUsIGxv b3AgZm9yIGEgbmV3IG9uZSAqLw0KKwlmb3IgKGkgPSAwOyBpIDwgbWdyLT5uX3RhYmxlczsgaSsr KSB7DQorCQl0YWJsZSA9IG1nci0+dGFibGVzW2ldOw0KKw0KKwkJaWYgKCFpc190YWJsZV9pbl91 c2luZyh0YWJsZSkpIHsNCisJCQltZW1jcHkodGFibGUtPmNvZWZmcywgY29lZmZzLCBtZ3ItPmNv ZWZmc19zeik7DQorCQkJdGFibGUtPm5lZWRzX3VwZGF0ZSA9IHRydWU7DQorCQkJZ290byBmb3Vu ZDsNCisJCX0NCisJfQ0KKw0KKwkvKiBTaW5jZSBwcmV2aW91cyB0d28gc2VhcmNoIGxvb3Agd2ls bCBkaXJlY3RseSBnb3RvIGZvdW5kIGlmIGZvdW5kIGFuDQorCSAqIGF2YWlsYWJsZSB0YWJsZSwg c28gb25jZSBwcm9ncmFtIHJhbiBoZXJlIG1lYW5zIHNlYXJjaCBmYWlsZWQuDQorCSAqIGNsZWFy IHRoZSB0YWJsZSB0byBOVUxMLCB1bmxvY2sobWdyLT5tdXRleCkgYW5kIHJldHVybiBOVUxMLg0K KwkgKi8NCisJdGFibGUgPSBOVUxMOw0KKw0KK2ZvdW5kOg0KKwlrb21lZGFfY29lZmZzX2dldCh0 YWJsZSk7DQorCW11dGV4X3VubG9jaygmbWdyLT5tdXRleCk7DQorCXJldHVybiB0YWJsZTsNCit9 DQorDQorLyogQWRkIGEgY29lZmZzIHRhYmxlIHRvIG1hbmFnZXIgKi8NCitpbnQga29tZWRhX2Nv ZWZmc19hZGQoc3RydWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciAqbWdyLA0KKwkJICAgICAgdTMy IGh3X2lkLCB1MzIgX19pb21lbSAqcmVnLA0KKwkJICAgICAgdm9pZCAoKnVwZGF0ZSkoc3RydWN0 IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlKSkNCit7DQorCXN0cnVjdCBrb21lZGFfY29lZmZz X3RhYmxlICp0YWJsZTsNCisNCisJaWYgKG1nci0+bl90YWJsZXMgPj0gQVJSQVlfU0laRShtZ3It PnRhYmxlcykpDQorCQlyZXR1cm4gLUVOT1NQQzsNCisNCisJdGFibGUgPSBremFsbG9jKHNpemVv ZigqdGFibGUpLCBHRlBfS0VSTkVMKTsNCisJaWYgKCF0YWJsZSkNCisJCXJldHVybiAtRU5PTUVN Ow0KKw0KKwl0YWJsZS0+Y29lZmZzID0ga3phbGxvYyhtZ3ItPmNvZWZmc19zeiwgR0ZQX0tFUk5F TCk7DQorCWlmICghdGFibGUtPmNvZWZmcykgew0KKwkJa2ZyZWUodGFibGUpOw0KKwkJcmV0dXJu IC1FTk9NRU07DQorCX0NCisNCisJcmVmY291bnRfc2V0KCZ0YWJsZS0+cmVmY291bnQsIDEpOw0K Kwl0YWJsZS0+bWdyID0gbWdyOw0KKwl0YWJsZS0+aHdfaWQgPSBod19pZDsNCisJdGFibGUtPnVw ZGF0ZSA9IHVwZGF0ZTsNCisJdGFibGUtPnJlZyA9IHJlZzsNCisNCisJbWdyLT50YWJsZXNbbWdy LT5uX3RhYmxlcysrXSA9IHRhYmxlOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RydWN0IGtvbWVk YV9jb2VmZnNfbWFuYWdlciAqa29tZWRhX2NvZWZmc19jcmVhdGVfbWFuYWdlcih1MzIgY29lZmZz X3N6KQ0KK3sNCisJc3RydWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciAqbWdyOw0KKw0KKwltZ3Ig PSBremFsbG9jKHNpemVvZigqbWdyKSwgR0ZQX0tFUk5FTCk7DQorCWlmICghbWdyKQ0KKwkJcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7DQorDQorCW11dGV4X2luaXQoJm1nci0+bXV0ZXgpOw0KKwlt Z3ItPmNvZWZmc19zeiA9IGNvZWZmc19zejsNCisNCisJcmV0dXJuIG1ncjsNCit9DQorDQordm9p ZCBrb21lZGFfY29lZmZzX2Rlc3Ryb3lfbWFuYWdlcihzdHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5h Z2VyICptZ3IpDQorew0KKwl1MzIgaTsNCisNCisJaWYgKCFtZ3IpDQorCQlyZXR1cm47DQorDQor CWZvciAoaSA9IDA7IGkgPCBtZ3ItPm5fdGFibGVzOyBpKyspIHsNCisJCVdBUk5fT04oaXNfdGFi bGVfaW5fdXNpbmcobWdyLT50YWJsZXNbaV0pKTsNCisJCWtmcmVlKG1nci0+dGFibGVzW2ldLT5j b2VmZnMpOw0KKwkJa2ZyZWUobWdyLT50YWJsZXNbaV0pOw0KKwl9DQorDQorCWtmcmVlKG1ncik7 DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2NvZWZmcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf Y29lZmZzLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjE3MmFj MmVhMTdiYQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfY29lZmZzLmgNCkBAIC0wLDAgKzEsNzQgQEANCisvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0KKy8qDQorICogKEMpIENPUFlSSUdIVCAyMDE5IEFS TSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqIEF1dGhvcjogSmFtZXMuUWlhbi5X YW5nIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCisgKg0KKyAqLw0KKyNpZm5kZWYgX0tPTUVE QV9DT0VGRlNfSF8NCisjZGVmaW5lIF9LT01FREFfQ09FRkZTX0hfDQorDQorI2luY2x1ZGUgPGxp bnV4L3JlZmNvdW50Lmg+DQorDQorLyogS29tZWRhIGRpc3BsYXkgSFdzIGhhdmUga2luZHMgb2Yg Y29lZmZpY2llbnQgdGFibGVzIGZvciB2YXJpb3VzIHB1cnBvc2VzLA0KKyAqIGxpa2UgZ2FtbWEv ZGVnYW1tYS4gdXN1c2FsbHkgdGhlc2UgdGFibGVzIGFyZSBzaGFyZWQgYnkgbXVsdGlwbGUgSFcg Y29tcG9uZW50DQorICogYW5kIGxpbWl0ZWQgbnVtYmVyLg0KKyAqIFRoZSBrb21lZGFfY29lZmZz X3RhYmxlL21hbmFnZXIgYXJlIGltcG9ydGVkIGZvciBkZXNjcmliaW5nIGFuZCBtYW5hZ2luZw0K KyAqIHRoZXNlIHRhYmxlcyBmb3IgdGFibGUgcmV1c2UgYW5kIHJhY2luZy4NCisgKi8NCitzdHJ1 Y3Qga29tZWRhX2NvZWZmc190YWJsZSB7DQorCXN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIg Km1ncjsNCisJcmVmY291bnRfdCByZWZjb3VudDsNCisJYm9vbCBuZWVkc191cGRhdGU7DQorCXUz MiBod19pZDsNCisJdm9pZCAqY29lZmZzOw0KKwl1MzIgX19pb21lbSAqcmVnOw0KKwl2b2lkICgq dXBkYXRlKShzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqdGFibGUpOw0KK307DQorDQorc3Ry dWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciB7DQorCXN0cnVjdCBtdXRleCBtdXRleDsgLyogZm9y IHRhYmxlcyBhY2Nlc3NpbmcgKi8NCisJdTMyIG5fdGFibGVzOw0KKwl1MzIgY29lZmZzX3N6Ow0K KwlzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqdGFibGVzWzhdOw0KK307DQorDQorc3RhdGlj IGlubGluZSBzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqDQora29tZWRhX2NvZWZmc19nZXQo c3RydWN0IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlKQ0KK3sNCisJaWYgKHRhYmxlKQ0KKwkJ cmVmY291bnRfaW5jKCZ0YWJsZS0+cmVmY291bnQpOw0KKw0KKwlyZXR1cm4gdGFibGU7DQorfQ0K Kw0KK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2tvbWVkYV9jb2VmZnNfcHV0KHN0cnVjdCBrb21lZGFf Y29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCWlmICh0YWJsZSkNCisJCXJlZmNvdW50X2RlYygm dGFibGUtPnJlZmNvdW50KTsNCit9DQorDQorI2RlZmluZSBrb21lZGFfY29lZmZzX3B1dCh0YWJs ZSkgXA0KK2RvIHsgXA0KKwlfX2tvbWVkYV9jb2VmZnNfcHV0KHRhYmxlKTsgXA0KKwkodGFibGUp ID0gTlVMTDsgXA0KK30gd2hpbGUgKDApDQorDQorc3RhdGljIGlubGluZSB2b2lkIGtvbWVkYV9j b2VmZnNfdXBkYXRlKHN0cnVjdCBrb21lZGFfY29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCWlm ICghdGFibGUgfHwgIXRhYmxlLT5uZWVkc191cGRhdGUpDQorCQlyZXR1cm47DQorDQorCXRhYmxl LT51cGRhdGUodGFibGUpOw0KKwl0YWJsZS0+bmVlZHNfdXBkYXRlID0gZmFsc2U7DQorfQ0KKw0K K3N0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKmtvbWVkYV9jb2VmZnNfY3JlYXRlX21hbmFn ZXIodTMyIGNvZWZmc19zeik7DQordm9pZCBrb21lZGFfY29lZmZzX2Rlc3Ryb3lfbWFuYWdlcihz dHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5hZ2VyICptZ3IpOw0KKw0KK2ludCBrb21lZGFfY29lZmZz X2FkZChzdHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5hZ2VyICptZ3IsDQorCQkgICAgICB1MzIgaHdf aWQsIHUzMiBfX2lvbWVtICpyZWcsDQorCQkgICAgICB2b2lkICgqdXBkYXRlKShzdHJ1Y3Qga29t ZWRhX2NvZWZmc190YWJsZSAqdGFibGUpKTsNCitzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAq DQora29tZWRhX2NvZWZmc19yZXF1ZXN0KHN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKm1n ciwgdm9pZCAqY29lZmZzKTsNCisNCisjZW5kaWYgLypfS09NRURBX0NPRUZGU19IXyovDQotLQ0K Mi4xNy4xDQo=