From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 17/22] drm/i915: Use struct intel_dp_signal_levels for eDP on SNB and IVB Date: Fri, 23 Oct 2015 13:02:00 +0300 Message-ID: <1445594525-7174-18-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1445594525-7174-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 8D80172262 for ; Fri, 23 Oct 2015 03:02:52 -0700 (PDT) In-Reply-To: <1445594525-7174-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, jim.bride@linux.intel.com, sivakumar.thulasimani@intel.com Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org VXNlIHRoZSBuZXcgc3RydWN0IGludGVsX2RwX3NpZ25hbF9sZXZlbHMgdG8gc3RvcmUgdm9sdGFn ZSBzd2luZyBhbmQgcHJlCmVtcGhhc2lzIGxldmVscyBmb3IgZURQIG9uIFNOQiBhbmQgSVZCLgoK U2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2 YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX3NpZ25hbF9sZXZlbHMuYyB8IDEzMiArKysrKysrKysrKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX3NpZ25hbF9sZXZlbHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX3NpZ25hbF9sZXZlbHMuYwppbmRleCAzNjViZGM0Li5h ZWRkMzViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9zaWduYWxf bGV2ZWxzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfc2lnbmFsX2xldmVs cy5jCkBAIC00NDMsNyArNDQzLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzaWduYWxfbGV2ZWxz IGdlbjRfc2lnbmFsX2xldmVscyA9IHsKIAkuc2V0ID0gZ2VuNF9zZXRfc2lnbmFsX2xldmVscywK IH07CiAKLS8qIE5vdCBmb3IgZURQICovCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNpZ25hbF9sZXZl bHMgc25iX3NpZ25hbF9sZXZlbHMgPSB7CiAJLm1heF92b2x0YWdlID0gRFBfVFJBSU5fVk9MVEFH RV9TV0lOR19MRVZFTF8zLAogCS5tYXhfcHJlX2VtcGggPSB7CkBAIC00NTYsNzMgKzQ1NSwxMjMg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzaWduYWxfbGV2ZWxzIHNuYl9zaWduYWxfbGV2ZWxzID0g ewogCS5zZXQgPSBnZW40X3NldF9zaWduYWxfbGV2ZWxzLAogfTsKIAotLyogR2VuNidzIERQIHZv bHRhZ2Ugc3dpbmcgYW5kIHByZS1lbXBoYXNpcyBjb250cm9sICovCi1zdGF0aWMgdWludDMyX3QK LWdlbjZfZWRwX3NpZ25hbF9sZXZlbHModWludDhfdCB0cmFpbl9zZXQpCisvKiBTTkIncyBEUCB2 b2x0YWdlIHN3aW5nIGFuZCBwcmUtZW1waGFzaXMgY29udHJvbCAqLworc3RhdGljIHZvaWQKK3Nu Yl9lZHBfc2V0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhf dCB0cmFpbl9zZXQpCiB7Ci0JaW50IHNpZ25hbF9sZXZlbHMgPSB0cmFpbl9zZXQgJiAoRFBfVFJB SU5fVk9MVEFHRV9TV0lOR19NQVNLIHwKLQkJCQkJIERQX1RSQUlOX1BSRV9FTVBIQVNJU19NQVNL KTsKLQlzd2l0Y2ggKHNpZ25hbF9sZXZlbHMpIHsKKwl1aW50MzJfdCBzaWduYWxfbGV2ZWxzOwor CisJdHJhaW5fc2V0ICY9CisJCShEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX01BU0sgfCBEUF9UUkFJ Tl9QUkVfRU1QSEFTSVNfTUFTSyk7CisKKwlzd2l0Y2ggKHRyYWluX3NldCkgewogCWNhc2UgRFBf VFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8wIHwgRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMDoK IAljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMSB8IERQX1RSQUlOX1BSRV9FTVBI X0xFVkVMXzA6Ci0JCXJldHVybiBFRFBfTElOS19UUkFJTl80MDBfNjAwTVZfMERCX1NOQl9COwor CQlzaWduYWxfbGV2ZWxzID0gIEVEUF9MSU5LX1RSQUlOXzQwMF82MDBNVl8wREJfU05CX0I7CisJ CWJyZWFrOwogCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8wIHwgRFBfVFJBSU5f UFJFX0VNUEhfTEVWRUxfMToKLQkJcmV0dXJuIEVEUF9MSU5LX1RSQUlOXzQwME1WXzNfNURCX1NO Ql9COworCQlzaWduYWxfbGV2ZWxzID0gRURQX0xJTktfVFJBSU5fNDAwTVZfM181REJfU05CX0I7 CisJCWJyZWFrOwogCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8wIHwgRFBfVFJB SU5fUFJFX0VNUEhfTEVWRUxfMjoKIAljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxf MSB8IERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzI6Ci0JCXJldHVybiBFRFBfTElOS19UUkFJTl80 MDBfNjAwTVZfNkRCX1NOQl9COworCQlzaWduYWxfbGV2ZWxzID0gRURQX0xJTktfVFJBSU5fNDAw XzYwME1WXzZEQl9TTkJfQjsKKwkJYnJlYWs7CiAJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5H X0xFVkVMXzEgfCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8xOgogCWNhc2UgRFBfVFJBSU5fVk9M VEFHRV9TV0lOR19MRVZFTF8yIHwgRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMToKLQkJcmV0dXJu IEVEUF9MSU5LX1RSQUlOXzYwMF84MDBNVl8zXzVEQl9TTkJfQjsKKwkJc2lnbmFsX2xldmVscyA9 IEVEUF9MSU5LX1RSQUlOXzYwMF84MDBNVl8zXzVEQl9TTkJfQjsKKwkJYnJlYWs7CiAJY2FzZSBE UF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzIgfCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8w OgogCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zIHwgRFBfVFJBSU5fUFJFX0VN UEhfTEVWRUxfMDoKLQkJcmV0dXJuIEVEUF9MSU5LX1RSQUlOXzgwMF8xMjAwTVZfMERCX1NOQl9C OworCQlzaWduYWxfbGV2ZWxzID0gRURQX0xJTktfVFJBSU5fODAwXzEyMDBNVl8wREJfU05CX0I7 CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVR19LTVMoIlVuc3VwcG9ydGVkIHZvbHRh Z2Ugc3dpbmcvcHJlLWVtcGhhc2lzIGxldmVsOiIKLQkJCSAgICAgICIweCV4XG4iLCBzaWduYWxf bGV2ZWxzKTsKLQkJcmV0dXJuIEVEUF9MSU5LX1RSQUlOXzQwMF82MDBNVl8wREJfU05CX0I7CisJ CQkgICAgICAiMHgleFxuIiwgdHJhaW5fc2V0KTsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5L X1RSQUlOXzQwMF82MDBNVl8wREJfU05CX0I7CiAJfQorCisJRFJNX0RFQlVHX0tNUygiVXNpbmcg c2lnbmFsIGxldmVscyAlMDh4XG4iLCBzaWduYWxfbGV2ZWxzKTsKKworCWludGVsX2RwLT5EUCAm PSB+RURQX0xJTktfVFJBSU5fVk9MX0VNUF9NQVNLX1NOQjsKKwlpbnRlbF9kcC0+RFAgfD0gc2ln bmFsX2xldmVsczsKIH0KIAotLyogR2VuNydzIERQIHZvbHRhZ2Ugc3dpbmcgYW5kIHByZS1lbXBo YXNpcyBjb250cm9sICovCi1zdGF0aWMgdWludDMyX3QKLWdlbjdfZWRwX3NpZ25hbF9sZXZlbHMo dWludDhfdCB0cmFpbl9zZXQpCitzdGF0aWMgY29uc3Qgc3RydWN0IHNpZ25hbF9sZXZlbHMgc25i X2VkcF9zaWduYWxfbGV2ZWxzID0geworCS5tYXhfdm9sdGFnZSA9IERQX1RSQUlOX1ZPTFRBR0Vf U1dJTkdfTEVWRUxfMiwKKwkubWF4X3ByZV9lbXBoID0geworCQlEUF9UUkFJTl9QUkVfRU1QSF9M RVZFTF8yLAorCQlEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8yLAorCQlEUF9UUkFJTl9QUkVfRU1Q SF9MRVZFTF8xLAorCQlEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wLAorCX0sCisKKwkuc2V0ID0g c25iX2VkcF9zZXRfc2lnbmFsX2xldmVscywKK307CisKKy8qIElWQidzIERQIHZvbHRhZ2Ugc3dp bmcgYW5kIHByZS1lbXBoYXNpcyBjb250cm9sICovCitzdGF0aWMgdm9pZAoraXZiX2VkcF9zZXRf c2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50OF90IHRyYWluX3Nl dCkKIHsKLQlpbnQgc2lnbmFsX2xldmVscyA9IHRyYWluX3NldCAmIChEUF9UUkFJTl9WT0xUQUdF X1NXSU5HX01BU0sgfAotCQkJCQkgRFBfVFJBSU5fUFJFX0VNUEhBU0lTX01BU0spOwotCXN3aXRj aCAoc2lnbmFsX2xldmVscykgeworCXVpbnQzMl90IHNpZ25hbF9sZXZlbHM7CisKKwl0cmFpbl9z ZXQgJj0KKwkJKERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSyB8IERQX1RSQUlOX1BSRV9FTVBI QVNJU19NQVNLKTsKKworCXN3aXRjaCAodHJhaW5fc2V0KSB7CiAJY2FzZSBEUF9UUkFJTl9WT0xU QUdFX1NXSU5HX0xFVkVMXzAgfCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOgotCQlyZXR1cm4g RURQX0xJTktfVFJBSU5fNDAwTVZfMERCX0lWQjsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5L X1RSQUlOXzQwME1WXzBEQl9JVkI7CisJCWJyZWFrOwogCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9T V0lOR19MRVZFTF8wIHwgRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMToKLQkJcmV0dXJuIEVEUF9M SU5LX1RSQUlOXzQwME1WXzNfNURCX0lWQjsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5LX1RS QUlOXzQwME1WXzNfNURCX0lWQjsKKwkJYnJlYWs7CiAJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NX SU5HX0xFVkVMXzAgfCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8yOgotCQlyZXR1cm4gRURQX0xJ TktfVFJBSU5fNDAwTVZfNkRCX0lWQjsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5LX1RSQUlO XzQwME1WXzZEQl9JVkI7CisJCWJyZWFrOwogCiAJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5H X0xFVkVMXzEgfCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOgotCQlyZXR1cm4gRURQX0xJTktf VFJBSU5fNjAwTVZfMERCX0lWQjsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5LX1RSQUlOXzYw ME1WXzBEQl9JVkI7CisJCWJyZWFrOwogCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZF TF8xIHwgRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMToKLQkJcmV0dXJuIEVEUF9MSU5LX1RSQUlO XzYwME1WXzNfNURCX0lWQjsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9MSU5LX1RSQUlOXzYwME1W XzNfNURCX0lWQjsKKwkJYnJlYWs7CiAKIAljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVW RUxfMiB8IERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzA6Ci0JCXJldHVybiBFRFBfTElOS19UUkFJ Tl84MDBNVl8wREJfSVZCOworCQlzaWduYWxfbGV2ZWxzID0gRURQX0xJTktfVFJBSU5fODAwTVZf MERCX0lWQjsKKwkJYnJlYWs7CiAJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzIg fCBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8xOgotCQlyZXR1cm4gRURQX0xJTktfVFJBSU5fODAw TVZfM181REJfSVZCOworCQlzaWduYWxfbGV2ZWxzID0gRURQX0xJTktfVFJBSU5fODAwTVZfM181 REJfSVZCOworCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCURSTV9ERUJVR19LTVMoIlVuc3VwcG9y dGVkIHZvbHRhZ2Ugc3dpbmcvcHJlLWVtcGhhc2lzIGxldmVsOiIKLQkJCSAgICAgICIweCV4XG4i LCBzaWduYWxfbGV2ZWxzKTsKLQkJcmV0dXJuIEVEUF9MSU5LX1RSQUlOXzUwME1WXzBEQl9JVkI7 CisJCQkgICAgICAiMHgleFxuIiwgdHJhaW5fc2V0KTsKKwkJc2lnbmFsX2xldmVscyA9IEVEUF9M SU5LX1RSQUlOXzUwME1WXzBEQl9JVkI7CiAJfQorCisJRFJNX0RFQlVHX0tNUygiVXNpbmcgc2ln bmFsIGxldmVscyAlMDh4XG4iLCBzaWduYWxfbGV2ZWxzKTsKKworCWludGVsX2RwLT5EUCAmPSB+ RURQX0xJTktfVFJBSU5fVk9MX0VNUF9NQVNLX0lWQjsKKwlpbnRlbF9kcC0+RFAgfD0gc2lnbmFs X2xldmVsczsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBzaWduYWxfbGV2ZWxzIGl2Yl9lZHBf c2lnbmFsX2xldmVscyA9IHsKKwkubWF4X3ZvbHRhZ2UgPSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5H X0xFVkVMXzIsCisJLm1heF9wcmVfZW1waCA9IHsKKwkJRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxf MiwKKwkJRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMSwKKwkJRFBfVFJBSU5fUFJFX0VNUEhfTEVW RUxfMSwKKwkJRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMCwKKwl9LAorCisJLnNldCA9IGl2Yl9l ZHBfc2V0X3NpZ25hbF9sZXZlbHMsCit9OworCiBzdGF0aWMgdm9pZAogX3VwZGF0ZV9zaWduYWxf bGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0JZW51 bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJdWludDMyX3Qgc2lnbmFsX2xl dmVscywgbWFzayA9IDA7Ci0JdWludDhfdCB0cmFpbl9zZXQgPSBpbnRlbF9kcC0+dHJhaW5fc2V0 WzBdOwogCiAJaWYgKEhBU19EREkoZGV2KSkgewogCQlzaWduYWxfbGV2ZWxzID0gZGRpX3NpZ25h bF9sZXZlbHMoaW50ZWxfZHApOwpAQCAtNTM1LDEyICs1ODQsNiBAQCBfdXBkYXRlX3NpZ25hbF9s ZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJc2lnbmFsX2xldmVscyA9IGNodl9z aWduYWxfbGV2ZWxzKGludGVsX2RwKTsKIAl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkg ewogCQlzaWduYWxfbGV2ZWxzID0gdmx2X3NpZ25hbF9sZXZlbHMoaW50ZWxfZHApOwotCX0gZWxz ZSBpZiAoSVNfR0VONyhkZXYpICYmIHBvcnQgPT0gUE9SVF9BKSB7Ci0JCXNpZ25hbF9sZXZlbHMg PSBnZW43X2VkcF9zaWduYWxfbGV2ZWxzKHRyYWluX3NldCk7Ci0JCW1hc2sgPSBFRFBfTElOS19U UkFJTl9WT0xfRU1QX01BU0tfSVZCOwotCX0gZWxzZSBpZiAoSVNfR0VONihkZXYpICYmIHBvcnQg PT0gUE9SVF9BKSB7Ci0JCXNpZ25hbF9sZXZlbHMgPSBnZW42X2VkcF9zaWduYWxfbGV2ZWxzKHRy YWluX3NldCk7Ci0JCW1hc2sgPSBFRFBfTElOS19UUkFJTl9WT0xfRU1QX01BU0tfU05COwogCX0g ZWxzZSB7CiAJCVdBUk4oMSwgIlNob3VsZCBiZSBjYWxsaW5nIGludGVsX2RwLT5zaWduYWxfbGV2 ZWxzLT5zZXQgaW5zdGVhZC4iKTsKIAkJcmV0dXJuOwpAQCAtNTk5LDkgKzY0MiwxNiBAQCBpbnRl bF9kcF9pbml0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKTsKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0OwogCi0JaWYg KHBvcnQgIT0gUE9SVF9BICYmIChJU19JVllCUklER0UoZGV2KSB8fCBJU19HRU42KGRldikpKQot CQlpbnRlbF9kcC0+c2lnbmFsX2xldmVscyA9ICZzbmJfc2lnbmFsX2xldmVsczsKLQotCWlmIChJ TlRFTF9JTkZPKGRldiktPmdlbiA8PSA1KQorCWlmIChJU19JVllCUklER0UoZGV2KSkgeworCQlp ZiAocG9ydCA9PSBQT1JUX0EpCisJCQlpbnRlbF9kcC0+c2lnbmFsX2xldmVscyA9ICZpdmJfZWRw X3NpZ25hbF9sZXZlbHM7CisJCWVsc2UKKwkJCWludGVsX2RwLT5zaWduYWxfbGV2ZWxzID0gJnNu Yl9zaWduYWxfbGV2ZWxzOworCX0gZWxzZSBpZiAoSVNfR0VONihkZXYpKSB7CisJCWlmIChwb3J0 ID09IFBPUlRfQSkKKwkJCWludGVsX2RwLT5zaWduYWxfbGV2ZWxzID0gJnNuYl9lZHBfc2lnbmFs X2xldmVsczsKKwkJZWxzZQorCQkJaW50ZWxfZHAtPnNpZ25hbF9sZXZlbHMgPSAmc25iX3NpZ25h bF9sZXZlbHM7CisJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA1KQogCQlpbnRl bF9kcC0+c2lnbmFsX2xldmVscyA9ICZnZW40X3NpZ25hbF9sZXZlbHM7CiB9Ci0tIAoyLjQuMwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK