From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH v2 3/6] drm/komeda: Implement D71 scaler support Date: Thu, 23 May 2019 11:10:09 +0000 Message-ID: <20190523110933.10742-4-james.qian.wang@arm.com> References: <20190523110933.10742-1-james.qian.wang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20044.outbound.protection.outlook.com [40.107.2.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 441FA89DBD for ; Thu, 23 May 2019 11:10:12 +0000 (UTC) In-Reply-To: <20190523110933.10742-1-james.qian.wang@arm.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau , "airlied@linux.ie" , Brian Starkey , "maarten.lankhorst@linux.intel.com" , "sean@poorly.run" Cc: nd , Ayan Halder , "Oscar Zhang (Arm Technology China)" , "Tiannan Zhu (Arm Technology China)" , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , "Channing Chen (Arm Technology China)" , "james qian wang (Arm Technology China)" , "Yiqi Kang (Arm Technology China)" , "thomas Sun (Arm Technology China)" , "Lowry Li (Arm Technology China)" , Ben Davis List-Id: dri-devel@lists.freedesktop.org MS4gQWRkIHNjYWxlciBjb21wb25lbnQgYW5kIGluaXRpYWxpemUgaXQgYWNjb3JkaW5nIHRvIEQ3 MSBIVy4NCjIuIEltcGxlbWVudCBkNzFfc2NhbGVyX3VwZGF0ZS9kaXNhYmxlL2R1bXANCg0KdjI6 DQotIENvcnJlY3QgYSB0eXBvDQotIENvbnN0aWZ5IGNvbXBvbmVudF9mdW5jczogZDcxX3NjYWxl cl9mdW5jcw0KDQpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBRaWFuIFdhbmcgKEFybSBUZWNobm9sb2d5 IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+DQotLS0NCiAuLi4vYXJtL2Rpc3BsYXkv a29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgICAgfCAxMzEgKysrKysrKysrKysrKysrKystDQog MSBmaWxlIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQoNCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9u ZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9u ZW50LmMNCmluZGV4IDVjOWJjODU5Zjg4Ni4uMGJmNWM3YmFlZGI1IDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jDQorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMN CkBAIC01NTEsNiArNTUxLDEzMiBAQCBzdGF0aWMgaW50IGQ3MV9jb21waXpfaW5pdChzdHJ1Y3Qg ZDcxX2RldiAqZDcxLA0KIAlyZXR1cm4gMDsNCiB9DQogDQorc3RhdGljIHZvaWQgZDcxX3NjYWxl cl91cGRhdGVfZmlsdGVyX2x1dCh1MzIgX19pb21lbSAqcmVnLCB1MzIgaHNpemVfaW4sDQorCQkJ CQkgdTMyIHZzaXplX2luLCB1MzIgaHNpemVfb3V0LA0KKwkJCQkJIHUzMiB2c2l6ZV9vdXQpDQor ew0KKwl1MzIgdmFsID0gMDsNCisNCisJaWYgKGhzaXplX2luIDw9IGhzaXplX291dCkNCisJCXZh bCAgfD0gMHg2MjsNCisJZWxzZSBpZiAoaHNpemVfaW4gPD0gKGhzaXplX291dCArIGhzaXplX291 dCAvIDIpKQ0KKwkJdmFsIHw9IDB4NjM7DQorCWVsc2UgaWYgKGhzaXplX2luIDw9IGhzaXplX291 dCAqIDIpDQorCQl2YWwgfD0gMHg2NDsNCisJZWxzZSBpZiAoaHNpemVfaW4gPD0gaHNpemVfb3V0 ICogMiArIChoc2l6ZV9vdXQgKiAzKSAvIDQpDQorCQl2YWwgfD0gMHg2NTsNCisJZWxzZQ0KKwkJ dmFsIHw9IDB4NjY7DQorDQorCWlmICh2c2l6ZV9pbiA8PSB2c2l6ZV9vdXQpDQorCQl2YWwgIHw9 IFNDX1ZUU0VMKDB4NkEpOw0KKwllbHNlIGlmICh2c2l6ZV9pbiA8PSAodnNpemVfb3V0ICsgdnNp emVfb3V0IC8gMikpDQorCQl2YWwgfD0gU0NfVlRTRUwoMHg2Qik7DQorCWVsc2UgaWYgKHZzaXpl X2luIDw9IHZzaXplX291dCAqIDIpDQorCQl2YWwgfD0gU0NfVlRTRUwoMHg2Qyk7DQorCWVsc2Ug aWYgKHZzaXplX2luIDw9IHZzaXplX291dCAqIDIgKyB2c2l6ZV9vdXQgKiAzIC8gNCkNCisJCXZh bCB8PSBTQ19WVFNFTCgweDZEKTsNCisJZWxzZQ0KKwkJdmFsIHw9IFNDX1ZUU0VMKDB4NkUpOw0K Kw0KKwltYWxpZHBfd3JpdGUzMihyZWcsIFNDX0NPRUZGVEFCLCB2YWwpOw0KK30NCisNCitzdGF0 aWMgdm9pZCBkNzFfc2NhbGVyX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywNCisJ CQkgICAgICBzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudF9zdGF0ZSAqc3RhdGUpDQorew0KKwlzdHJ1 Y3Qga29tZWRhX3NjYWxlcl9zdGF0ZSAqc3QgPSB0b19zY2FsZXJfc3Qoc3RhdGUpOw0KKwl1MzIg X19pb21lbSAqcmVnID0gYy0+cmVnOw0KKwl1MzIgaW5pdF9waCwgZGVsdGFfcGgsIGN0cmw7DQor DQorCWQ3MV9zY2FsZXJfdXBkYXRlX2ZpbHRlcl9sdXQocmVnLCBzdC0+aHNpemVfaW4sIHN0LT52 c2l6ZV9pbiwNCisJCQkJICAgICBzdC0+aHNpemVfb3V0LCBzdC0+dnNpemVfb3V0KTsNCisNCisJ bWFsaWRwX3dyaXRlMzIocmVnLCBCTEtfSU5fU0laRSwgSFZfU0laRShzdC0+aHNpemVfaW4sIHN0 LT52c2l6ZV9pbikpOw0KKwltYWxpZHBfd3JpdGUzMihyZWcsIFNDX09VVF9TSVpFLCBIVl9TSVpF KHN0LT5oc2l6ZV9vdXQsIHN0LT52c2l6ZV9vdXQpKTsNCisNCisJaW5pdF9waCA9IChzdC0+aHNp emVfaW4gPDwgMTUpIC8gc3QtPmhzaXplX291dDsNCisJbWFsaWRwX3dyaXRlMzIocmVnLCBTQ19I X0lOSVRfUEgsIGluaXRfcGgpOw0KKw0KKwlkZWx0YV9waCA9IChzdC0+aHNpemVfaW4gPDwgMTYp IC8gc3QtPmhzaXplX291dDsNCisJbWFsaWRwX3dyaXRlMzIocmVnLCBTQ19IX0RFTFRBX1BILCBk ZWx0YV9waCk7DQorDQorCWluaXRfcGggPSAoc3QtPnZzaXplX2luIDw8IDE1KSAvIHN0LT52c2l6 ZV9vdXQ7DQorCW1hbGlkcF93cml0ZTMyKHJlZywgU0NfVl9JTklUX1BILCBpbml0X3BoKTsNCisN CisJZGVsdGFfcGggPSAoc3QtPnZzaXplX2luIDw8IDE2KSAvIHN0LT52c2l6ZV9vdXQ7DQorCW1h bGlkcF93cml0ZTMyKHJlZywgU0NfVl9ERUxUQV9QSCwgZGVsdGFfcGgpOw0KKw0KKwljdHJsID0g MDsNCisJY3RybCB8PSBzdC0+ZW5fc2NhbGluZyA/IFNDX0NUUkxfU0NMIDogMDsNCisJY3RybCB8 PSBzdC0+ZW5fYWxwaGEgPyBTQ19DVFJMX0FQIDogMDsNCisNCisJbWFsaWRwX3dyaXRlMzIocmVn LCBCTEtfQ09OVFJPTCwgY3RybCk7DQorCW1hbGlkcF93cml0ZTMyKHJlZywgQkxLX0lOUFVUX0lE MCwgdG9fZDcxX2lucHV0X2lkKCZzdGF0ZS0+aW5wdXRzWzBdKSk7DQorfQ0KKw0KK3N0YXRpYyB2 b2lkIGQ3MV9zY2FsZXJfZHVtcChzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywgc3RydWN0IHNl cV9maWxlICpzZikNCit7DQorCXUzMiB2WzldOw0KKw0KKwlkdW1wX2Jsb2NrX2hlYWRlcihzZiwg Yy0+cmVnKTsNCisNCisJZ2V0X3ZhbHVlc19mcm9tX3JlZyhjLT5yZWcsIDB4ODAsIDEsIHYpOw0K KwlzZXFfcHJpbnRmKHNmLCAiU0NfSU5QVVRfSUQwOlx0XHQweCVYXG4iLCB2WzBdKTsNCisNCisJ Z2V0X3ZhbHVlc19mcm9tX3JlZyhjLT5yZWcsIDB4RDAsIDEsIHYpOw0KKwlzZXFfcHJpbnRmKHNm LCAiU0NfQ09OVFJPTDpcdFx0MHglWFxuIiwgdlswXSk7DQorDQorCWdldF92YWx1ZXNfZnJvbV9y ZWcoYy0+cmVnLCAweERDLCA5LCB2KTsNCisJc2VxX3ByaW50ZihzZiwgIlNDX0NPRUZGVEFCOlx0 XHQweCVYXG4iLCB2WzBdKTsNCisJc2VxX3ByaW50ZihzZiwgIlNDX0lOX1NJWkU6XHRcdDB4JVhc biIsIHZbMV0pOw0KKwlzZXFfcHJpbnRmKHNmLCAiU0NfT1VUX1NJWkU6XHRcdDB4JVhcbiIsIHZb Ml0pOw0KKwlzZXFfcHJpbnRmKHNmLCAiU0NfSF9DUk9QOlx0XHQweCVYXG4iLCB2WzNdKTsNCisJ c2VxX3ByaW50ZihzZiwgIlNDX1ZfQ1JPUDpcdFx0MHglWFxuIiwgdls0XSk7DQorCXNlcV9wcmlu dGYoc2YsICJTQ19IX0lOSVRfUEg6XHRcdDB4JVhcbiIsIHZbNV0pOw0KKwlzZXFfcHJpbnRmKHNm LCAiU0NfSF9ERUxUQV9QSDpcdFx0MHglWFxuIiwgdls2XSk7DQorCXNlcV9wcmludGYoc2YsICJT Q19WX0lOSVRfUEg6XHRcdDB4JVhcbiIsIHZbN10pOw0KKwlzZXFfcHJpbnRmKHNmLCAiU0NfVl9E RUxUQV9QSDpcdFx0MHglWFxuIiwgdls4XSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg a29tZWRhX2NvbXBvbmVudF9mdW5jcyBkNzFfc2NhbGVyX2Z1bmNzID0gew0KKwkudXBkYXRlCQk9 IGQ3MV9zY2FsZXJfdXBkYXRlLA0KKwkuZGlzYWJsZQk9IGQ3MV9jb21wb25lbnRfZGlzYWJsZSwN CisJLmR1bXBfcmVnaXN0ZXIJPSBkNzFfc2NhbGVyX2R1bXAsDQorfTsNCisNCitzdGF0aWMgaW50 IGQ3MV9zY2FsZXJfaW5pdChzdHJ1Y3QgZDcxX2RldiAqZDcxLA0KKwkJCSAgIHN0cnVjdCBibG9j a19oZWFkZXIgKmJsaywgdTMyIF9faW9tZW0gKnJlZykNCit7DQorCXN0cnVjdCBrb21lZGFfY29t cG9uZW50ICpjOw0KKwlzdHJ1Y3Qga29tZWRhX3NjYWxlciAqc2NhbGVyOw0KKwl1MzIgcGlwZV9p ZCwgY29tcF9pZDsNCisNCisJZ2V0X3Jlc291cmNlc19pZChibGstPmJsb2NrX2luZm8sICZwaXBl X2lkLCAmY29tcF9pZCk7DQorDQorCWMgPSBrb21lZGFfY29tcG9uZW50X2FkZCgmZDcxLT5waXBl c1twaXBlX2lkXS0+YmFzZSwgc2l6ZW9mKCpzY2FsZXIpLA0KKwkJCQkgY29tcF9pZCwgQkxPQ0tf SU5GT19JTlBVVF9JRChibGstPmJsb2NrX2luZm8pLA0KKwkJCQkgJmQ3MV9zY2FsZXJfZnVuY3Ms DQorCQkJCSAxLCBnZXRfdmFsaWRfaW5wdXRzKGJsayksIDEsIHJlZywNCisJCQkJICJDVSVkX1ND QUxFUiVkIiwNCisJCQkJIHBpcGVfaWQsIEJMT0NLX0lORk9fQkxLX0lEKGJsay0+YmxvY2tfaW5m bykpOw0KKw0KKwlpZiAoSVNfRVJSKGMpKSB7DQorCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0 aWFsaXplIHNjYWxlciIpOw0KKwkJcmV0dXJuIFBUUl9FUlIoYyk7DQorCX0NCisNCisJc2NhbGVy ID0gdG9fc2NhbGVyKGMpOw0KKwlzZXRfcmFuZ2UoJnNjYWxlci0+aHNpemUsIDQsIGQ3MS0+bWF4 X2xpbmVfc2l6ZSk7DQorCXNldF9yYW5nZSgmc2NhbGVyLT52c2l6ZSwgNCwgNDA5Nik7DQorCXNj YWxlci0+bWF4X2Rvd25zY2FsaW5nID0gNjsNCisJc2NhbGVyLT5tYXhfdXBzY2FsaW5nID0gNjQ7 DQorDQorCW1hbGlkcF93cml0ZTMyKGMtPnJlZywgQkxLX0NPTlRST0wsIDApOw0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQogc3RhdGljIHZvaWQgZDcxX2ltcHJvY191cGRhdGUoc3RydWN0IGtvbWVk YV9jb21wb25lbnQgKmMsDQogCQkJICAgICAgc3RydWN0IGtvbWVkYV9jb21wb25lbnRfc3RhdGUg KnN0YXRlKQ0KIHsNCkBAIC03NzEsOCArODk3LDExIEBAIGludCBkNzFfcHJvYmVfYmxvY2soc3Ry dWN0IGQ3MV9kZXYgKmQ3MSwNCiAJCWVyciA9IGQ3MV9jb21waXpfaW5pdChkNzEsIGJsaywgcmVn KTsNCiAJCWJyZWFrOw0KIA0KLQljYXNlIEQ3MV9CTEtfVFlQRV9DVV9TUExJVFRFUjoNCiAJY2Fz ZSBENzFfQkxLX1RZUEVfQ1VfU0NBTEVSOg0KKwkJZXJyID0gZDcxX3NjYWxlcl9pbml0KGQ3MSwg YmxrLCByZWcpOw0KKwkJYnJlYWs7DQorDQorCWNhc2UgRDcxX0JMS19UWVBFX0NVX1NQTElUVEVS Og0KIAljYXNlIEQ3MV9CTEtfVFlQRV9DVV9NRVJHRVI6DQogCQlicmVhazsNCiANCi0tIA0KMi4x Ny4xDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==