From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 28/34] drm/amd/display: Add double buffer machanism to ICSC Date: Tue, 20 Mar 2018 15:12:53 -0400 Message-ID: <20180320191259.14453-29-harry.wentland@amd.com> References: <20180320191259.14453-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180320191259.14453-1-harry.wentland-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Xingyue Tao RnJvbTogWGluZ3l1ZSBUYW8gPHhpbmd5dWUudGFvQGFtZC5jb20+CgotIFZpZGVvIHBsYXliYWNr IHNob3dzIHRlYXJpbmcgd2hlbiBhZGp1c3RpbmcKYnJpZ2h0bmVzcyB0aHJvdWdoIHJhZGVvbiBj dXN0b20gc2V0dGluZ3MuCi0gTm93IGFkZGVkIGRvdWJsZSBidWZmZXIgbWVjaGFuaXNtIHRvIHN3 aXRjaAppbnB1dCBDU0MgZnJvbSByZWdpc3RlciBidWZmZXIgSUNTQyBhbmQgQ09NQQotIEltcHJv dmVkIHRhYiBhbGlnbm1lbnQKClNpZ25lZC1vZmYtYnk6IFhpbmd5dWUgVGFvIDx4aW5neXVlLnRh b0BhbWQuY29tPgpSZXZpZXdlZC1ieTogVG9ueSBDaGVuZyA8VG9ueS5DaGVuZ0BhbWQuY29tPgpB Y2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5oICAgfCAxMSArKysr Ky0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcF9jbS5jICAgIHwg NDQgKysrKysrKysrKysrKystLS0tLS0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNu MTAvZGNuMTBfcmVzb3VyY2UuYyAgfCAzMSArKysrKysrKysrKysrKy0KIDMgZmlsZXMgY2hhbmdl ZCwgNjcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5oIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5oCmluZGV4IDE3YjA2MmE4Zjg4YS4u YjgxYjJhYTNjNDlmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNuMTAvZGNuMTBfZHBwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj bjEwL2RjbjEwX2RwcC5oCkBAIC0xMDgsNiArMTA4LDggQEAKIAlTUkkoQ01fREdBTV9MVVRfREFU QSwgQ00sIGlkKSwgXAogCVNSSShDTV9DT05UUk9MLCBDTSwgaWQpLCBcCiAJU1JJKENNX0RHQU1f Q09OVFJPTCwgQ00sIGlkKSwgXAorCVNSSShDTV9URVNUX0RFQlVHX0lOREVYLCBDTSwgaWQpLCBc CisJU1JJKENNX1RFU1RfREVCVUdfREFUQSwgQ00sIGlkKSwgXAogCVNSSShGT1JNQVRfQ09OVFJP TCwgQ05WQ19DRkcsIGlkKSwgXAogCVNSSShDTlZDX1NVUkZBQ0VfUElYRUxfRk9STUFULCBDTlZD X0NGRywgaWQpLCBcCiAJU1JJKENVUlNPUjBfQ09OVFJPTCwgQ05WQ19DVVIsIGlkKSwgXApAQCAt MzAwLDYgKzMwMiw3IEBACiAJVEZfU0YoQ00wX0NNX0RHQU1fTFVUX0lOREVYLCBDTV9ER0FNX0xV VF9JTkRFWCwgbWFza19zaCksIFwKIAlURl9TRihDTTBfQ01fREdBTV9MVVRfREFUQSwgQ01fREdB TV9MVVRfREFUQSwgbWFza19zaCksIFwKIAlURl9TRihDTTBfQ01fREdBTV9DT05UUk9MLCBDTV9E R0FNX0xVVF9NT0RFLCBtYXNrX3NoKSwgXAorCVRGX1NGKENNMF9DTV9URVNUX0RFQlVHX0lOREVY LCBDTV9URVNUX0RFQlVHX0lOREVYLCBtYXNrX3NoKSwgXAogCVRGX1NGKENOVkNfQ0ZHMF9GT1JN QVRfQ09OVFJPTCwgQ05WQ19CWVBBU1MsIG1hc2tfc2gpLCBcCiAJVEYyX1NGKENOVkNfQ0ZHMCwg Rk9STUFUX0NPTlRST0xfX0FMUEhBX0VOLCBtYXNrX3NoKSwgXAogCVRGX1NGKENOVkNfQ0ZHMF9G T1JNQVRfQ09OVFJPTCwgRk9STUFUX0VYUEFOU0lPTl9NT0RFLCBtYXNrX3NoKSwgXApAQCAtMTAx MCw2ICsxMDEzLDggQEAKIAl0eXBlIENVUjBfRVhQQU5TSU9OX01PREU7IFwKIAl0eXBlIENVUjBf RU5BQkxFOyBcCiAJdHlwZSBDTV9CWVBBU1M7IFwKKwl0eXBlIENNX1RFU1RfREVCVUdfSU5ERVg7 IFwKKwl0eXBlIENNX1RFU1RfREVCVUdfREFUQV9JRDlfSUNTQ19NT0RFOyBcCiAJdHlwZSBGT1JN QVRfQ09OVFJPTF9fQUxQSEFfRU47IFwKIAl0eXBlIENVUjBfQ09MT1IwOyBcCiAJdHlwZSBDVVIw X0NPTE9SMTsgXApAQCAtMTI1NSw2ICsxMjYwLDggQEAgc3RydWN0IGRjbl9kcHBfbWFzayB7CiAJ dWludDMyX3QgQ01fSUdBTV9MVVRfUldfQ09OVFJPTDsgXAogCXVpbnQzMl90IENNX0lHQU1fTFVU X1JXX0lOREVYOyBcCiAJdWludDMyX3QgQ01fSUdBTV9MVVRfU0VRX0NPTE9SOyBcCisJdWludDMy X3QgQ01fVEVTVF9ERUJVR19JTkRFWDsgXAorCXVpbnQzMl90IENNX1RFU1RfREVCVUdfREFUQTsg XAogCXVpbnQzMl90IEZPUk1BVF9DT05UUk9MOyBcCiAJdWludDMyX3QgQ05WQ19TVVJGQUNFX1BJ WEVMX0ZPUk1BVDsgXAogCXVpbnQzMl90IENVUlNPUl9DT05UUk9MOyBcCkBAIC0xMjg5LDggKzEy OTYsOCBAQCBzdHJ1Y3QgZGNuMTBfZHBwIHsKIAogZW51bSBkY24xMF9pbnB1dF9jc2Nfc2VsZWN0 IHsKIAlJTlBVVF9DU0NfU0VMRUNUX0JZUEFTUyA9IDAsCi0JSU5QVVRfQ1NDX1NFTEVDVF9JQ1ND LAotCUlOUFVUX0NTQ19TRUxFQ1RfQ09NQQorCUlOUFVUX0NTQ19TRUxFQ1RfSUNTQyA9IDEsCisJ SU5QVVRfQ1NDX1NFTEVDVF9DT01BID0gMgogfTsKIAogdm9pZCBkcHAxX3NldF9jdXJzb3JfYXR0 cmlidXRlcygKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24x MC9kY24xMF9kcHBfY20uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9kcHBfY20uYwppbmRleCBmYjMyOTc1ZTRiNjcuLmNjNTExNDE1Y2FlZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcF9jbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9kcHBfY20uYwpA QCAtMjY3LDYgKzI2Nyw3IEBAIHZvaWQgZHBwMV9jbV9zZXRfb3V0cHV0X2NzY19kZWZhdWx0KAog CQlCUkVBS19UT19ERUJVR0dFUigpOwogCQlyZXR1cm47CiAJfQorCiAJZHBwMV9jbV9wcm9ncmFt X2NvbG9yX21hdHJpeChkcHAsIHJlZ3ZhbCk7CiAJUkVHX1NFVChDTV9PQ1NDX0NPTlRST0wsIDAs IENNX09DU0NfTU9ERSwgb2NzY19tb2RlKTsKIH0KQEAgLTMzMCw2ICszMzEsNyBAQCB2b2lkIGRw cDFfY21fc2V0X291dHB1dF9jc2NfYWRqdXN0bWVudCgKIHsKIAlzdHJ1Y3QgZGNuMTBfZHBwICpk cHAgPSBUT19EQ04xMF9EUFAoZHBwX2Jhc2UpOwogCXVpbnQzMl90IG9jc2NfbW9kZSA9IDQ7CisK IAlkcHAxX2NtX3Byb2dyYW1fY29sb3JfbWF0cml4KGRwcCwgcmVndmFsKTsKIAlSRUdfU0VUKENN X09DU0NfQ09OVFJPTCwgMCwgQ01fT0NTQ19NT0RFLCBvY3NjX21vZGUpOwogfQpAQCAtNDM3LDE3 ICs0MzksMTggQEAgdm9pZCBkcHAxX2NtX3Byb2dyYW1fcmVnYW1tYV9sdXRiX3NldHRpbmdzKAog dm9pZCBkcHAxX3Byb2dyYW1faW5wdXRfY3NjKAogCQlzdHJ1Y3QgZHBwICpkcHBfYmFzZSwKIAkJ ZW51bSBkY19jb2xvcl9zcGFjZSBjb2xvcl9zcGFjZSwKLQkJZW51bSBkY24xMF9pbnB1dF9jc2Nf c2VsZWN0IHNlbGVjdCwKKwkJZW51bSBkY24xMF9pbnB1dF9jc2Nfc2VsZWN0IGlucHV0X3NlbGVj dCwKIAkJY29uc3Qgc3RydWN0IG91dF9jc2NfY29sb3JfbWF0cml4ICp0YmxfZW50cnkpCiB7CiAJ c3RydWN0IGRjbjEwX2RwcCAqZHBwID0gVE9fRENOMTBfRFBQKGRwcF9iYXNlKTsKIAlpbnQgaTsK IAlpbnQgYXJyX3NpemUgPSBzaXplb2YoZGNuMTBfaW5wdXRfY3NjX21hdHJpeCkvc2l6ZW9mKHN0 cnVjdCBkY24xMF9pbnB1dF9jc2NfbWF0cml4KTsKIAljb25zdCB1aW50MTZfdCAqcmVndmFsID0g TlVMTDsKLQl1aW50MzJfdCBzZWxlY3Rpb24gPSAxOworCXVpbnQzMl90IGN1cl9zZWxlY3QgPSAw OworCWVudW0gZGNuMTBfaW5wdXRfY3NjX3NlbGVjdCBzZWxlY3Q7CiAJc3RydWN0IGNvbG9yX21h dHJpY2VzX3JlZyBnYW1fcmVnczsKIAotCWlmIChzZWxlY3QgPT0gSU5QVVRfQ1NDX1NFTEVDVF9C WVBBU1MpIHsKKwlpZiAoaW5wdXRfc2VsZWN0ID09IElOUFVUX0NTQ19TRUxFQ1RfQllQQVNTKSB7 CiAJCVJFR19TRVQoQ01fSUNTQ19DT05UUk9MLCAwLCBDTV9JQ1NDX01PREUsIDApOwogCQlyZXR1 cm47CiAJfQpAQCAtNDY3LDM2ICs0NzAsNDUgQEAgdm9pZCBkcHAxX3Byb2dyYW1faW5wdXRfY3Nj KAogCQlyZWd2YWwgPSB0YmxfZW50cnktPnJlZ3ZhbDsKIAl9CiAKLQlpZiAoc2VsZWN0ID09IElO UFVUX0NTQ19TRUxFQ1RfQ09NQSkKLQkJc2VsZWN0aW9uID0gMjsKLQlSRUdfU0VUKENNX0lDU0Nf Q09OVFJPTCwgMCwKLQkJCUNNX0lDU0NfTU9ERSwgc2VsZWN0aW9uKTsKKwkvKiBkZXRlcm1pbmUg d2hpY2ggQ1NDIG1hdHJpeCAoaWNzYyBvciBjb21hKSB3ZSBhcmUgdXNpbmcKKwkgKiBjdXJyZW50 bHkuICBzZWxlY3QgdGhlIGFsdGVybmF0ZSBzZXQgdG8gZG91YmxlIGJ1ZmZlcgorCSAqIHRoZSBD U0MgdXBkYXRlIHNvIENTQyBpcyB1cGRhdGVkIG9uIGZyYW1lIGJvdW5kYXJ5CisJICovCisJUkVH X1NFVChDTV9URVNUX0RFQlVHX0lOREVYLCAwLAorCQkJQ01fVEVTVF9ERUJVR19JTkRFWCwgOSk7 CisKKwlSRUdfR0VUKENNX1RFU1RfREVCVUdfREFUQSwKKwkJCUNNX1RFU1RfREVCVUdfREFUQV9J RDlfSUNTQ19NT0RFLCAmY3VyX3NlbGVjdCk7CisKKwlpZiAoY3VyX3NlbGVjdCAhPSBJTlBVVF9D U0NfU0VMRUNUX0lDU0MpCisJCXNlbGVjdCA9IElOUFVUX0NTQ19TRUxFQ1RfSUNTQzsKKwllbHNl CisJCXNlbGVjdCA9IElOUFVUX0NTQ19TRUxFQ1RfQ09NQTsKIAogCWdhbV9yZWdzLnNoaWZ0cy5j c2NfYzExID0gZHBwLT50Zl9zaGlmdC0+Q01fSUNTQ19DMTE7CiAJZ2FtX3JlZ3MubWFza3MuY3Nj X2MxMSAgPSBkcHAtPnRmX21hc2stPkNNX0lDU0NfQzExOwogCWdhbV9yZWdzLnNoaWZ0cy5jc2Nf YzEyID0gZHBwLT50Zl9zaGlmdC0+Q01fSUNTQ19DMTI7CiAJZ2FtX3JlZ3MubWFza3MuY3NjX2Mx MiA9IGRwcC0+dGZfbWFzay0+Q01fSUNTQ19DMTI7CiAKLQogCWlmIChzZWxlY3QgPT0gSU5QVVRf Q1NDX1NFTEVDVF9JQ1NDKSB7CiAKIAkJZ2FtX3JlZ3MuY3NjX2MxMV9jMTIgPSBSRUcoQ01fSUNT Q19DMTFfQzEyKTsKIAkJZ2FtX3JlZ3MuY3NjX2MzM19jMzQgPSBSRUcoQ01fSUNTQ19DMzNfQzM0 KTsKIAotCQljbV9oZWxwZXJfcHJvZ3JhbV9jb2xvcl9tYXRyaWNlcygKLQkJCQlkcHAtPmJhc2Uu Y3R4LAotCQkJCXJlZ3ZhbCwKLQkJCQkmZ2FtX3JlZ3MpOwogCX0gZWxzZSB7CiAKIAkJZ2FtX3Jl Z3MuY3NjX2MxMV9jMTIgPSBSRUcoQ01fQ09NQV9DMTFfQzEyKTsKIAkJZ2FtX3JlZ3MuY3NjX2Mz M19jMzQgPSBSRUcoQ01fQ09NQV9DMzNfQzM0KTsKIAotCQljbV9oZWxwZXJfcHJvZ3JhbV9jb2xv cl9tYXRyaWNlcygKLQkJCQlkcHAtPmJhc2UuY3R4LAotCQkJCXJlZ3ZhbCwKLQkJCQkmZ2FtX3Jl Z3MpOwogCX0KKworCWNtX2hlbHBlcl9wcm9ncmFtX2NvbG9yX21hdHJpY2VzKAorCQkJZHBwLT5i YXNlLmN0eCwKKwkJCXJlZ3ZhbCwKKwkJCSZnYW1fcmVncyk7CisKKwlSRUdfU0VUKENNX0lDU0Nf Q09OVFJPTCwgMCwKKwkJCQlDTV9JQ1NDX01PREUsIHNlbGVjdCk7CiB9CiAKIC8va2VlcCBoZXJl IGZvciBub3csIGRlY2lkZSBtdWx0aSBkY2Ugc3VwcG9ydCBsYXRlcgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfcmVzb3VyY2UuYwppbmRleCBh M2ZlMzQzYjRhODUuLmQzMjFkYTk3MjE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMKQEAgLTMxOSwxMiArMzE5LDQx IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNuX2RwcF9yZWdpc3RlcnMgdGZfcmVnc1tdID0gewog CXRmX3JlZ3MoMyksCiB9OwogCisvKgorICoKKwlEQ04xIENNIGRlYnVnIHN0YXR1cyByZWdpc3Rl ciBkZWZpbml0aW9uCisKKwlyZWdpc3RlciA6SUQ5X0NNX1NUQVRVUyBkbworCWltcGxlbWVudF9y ZWYgOmNtCisJbWFwIHRvOiAgOmNtZGVidWdpbmQsIGF0OiBqCisJd2lkdGggMzIKKwlkaXNjbG9z dXJlICAgTkVWRVIKKworCQlmaWVsZCA6SUQ5X1ZVUERBVEVfQ0ZHLCBbMF0sIFIKKwkJZmllbGQg OklEOV9JR0FNX0xVVF9NT0RFLCBbMi4uMV0sIFIKKwkJZmllbGQgOklEOV9CTlNfQllQQVNTLCBb M10sIFIKKwkJZmllbGQgOklEOV9JQ1NDX01PREUsIFs1Li40XSwgUgorCQlmaWVsZCA6SUQ5X0RH QU1fTFVUX01PREUsIFs4Li42XSwgUgorCQlmaWVsZCA6SUQ5X0hEUl9CWVBBU1MsIFs5XSwgUgor CQlmaWVsZCA6SUQ5X0dBTVVUX1JFTUFQX01PREUsIFsxMS4uMTBdLCBSCisJCWZpZWxkIDpJRDlf UkdBTV9MVVRfTU9ERSwgWzE0Li4xMl0sIFIKKwkJIzEgZnJlZSBiaXQKKwkJZmllbGQgOklEOV9P Q1NDX01PREUsIFsxOC4uMTZdLCBSCisJCWZpZWxkIDpJRDlfREVOT1JNX01PREUsIFsyMS4uMTld LCBSCisJCWZpZWxkIDpJRDlfUk9VTkRfVFJVTkNfTU9ERSwgWzI1Li4yMl0sIFIKKwkJZmllbGQg OklEOV9ESVRIRVJfRU4sIFsyNl0sIFIKKwkJZmllbGQgOklEOV9ESVRIRVJfTU9ERSwgWzI4Li4y N10sIFIKKwllbmQKKyovCisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNuX2RwcF9zaGlmdCB0Zl9z aGlmdCA9IHsKLQlURl9SRUdfTElTVF9TSF9NQVNLX0RDTjEwKF9fU0hJRlQpCisJVEZfUkVHX0xJ U1RfU0hfTUFTS19EQ04xMChfX1NISUZUKSwKKwkuQ01fVEVTVF9ERUJVR19EQVRBX0lEOV9JQ1ND X01PREUgPSAweDQKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNuX2RwcF9tYXNrIHRmX21h c2sgPSB7CiAJVEZfUkVHX0xJU1RfU0hfTUFTS19EQ04xMChfTUFTSyksCisJLkNNX1RFU1RfREVC VUdfREFUQV9JRDlfSUNTQ19NT0RFID0gMHgzMAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk Y25fbXBjX3JlZ2lzdGVycyBtcGNfcmVncyA9IHsKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==