From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sonika Jindal Subject: [PATCH] drm/i915/skl: Add support for edp 1.4 intermediate frequencies Date: Thu, 5 Mar 2015 10:02:30 +0530 Message-ID: <1425529950-9632-1-git-send-email-sonika.jindal@intel.com> References: <20150304112438.GM11371@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 171D96E724 for ; Wed, 4 Mar 2015 20:40:19 -0800 (PST) In-Reply-To: <20150304112438.GM11371@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 List-Id: intel-gfx@lists.freedesktop.org ZURwIDEuNCBzdXBwb3J0cyBjdXN0b20gZnJlcXVlbmNpZXMuClNreWxha2Ugc3VwcG9ydHMgZm9s bG93aW5nIGludGVybWVkaWF0ZSBmcmVxdWVuY2llcyA6IDMuMjQgR0h6LCAyLjE2IEdIeiBhbmQK NC4zMiBHSHogYWxvbmcgd2l0aCB1c3VhbCBMQlIsIEhCUiBhbmQgSEJSMiBmcmVxdWVuY2llcy4K UmVhZCBzaW5rIHN1cHBvcnRlZCBmcmVxdWVuY2llcyBhbmQgZ2V0IGNvbW1vbiBmcmVxdWVuY2ll cyBmcm9tIHNpbmsgYW5kCnNvdXJjZSBhbmQgdXNlIHRoZXNlIGZvciBsaW5rIHRyYWluaW5nLgoK djI6IFJlYmFzZWQsIHJlbW92ZWQgY2FsY3VsYXRpb24gb2YgbWluX2Nsb2NrIHNpbmNlIGZvciBl ZHAgaXQgaXMgdGFrZW4gYXMKbWF4X2Nsb2NrIChhcyBwZXIgY29tbWVudCkuCnYzOiBLZWVwaW5n IHNpbmdsZSBhcnJheSBmb3IgbGluayByYXRlcyAoU2F0aGVlc2gpCnY0OiBTZXR0aW5nIExJTktf QldfU0VUIHRvIDAgd2hlbiBzZXR0aW5nIExJTktfUkFURV9TRVQgKFNhdGhlZXNoKQp2NTogU29t ZSBtaW5vciBuaXRzIChWaWxsZSkKdjY6IEtlZXBpbmcgc2VwYXJhdGUgYXJyYXlzIGZvciBzb3Vy Y2UgYW5kIHNpbmsgcmF0ZXMgKFZpbGxlKQp2NzogUmVtb3ZlIHJlZHVuZGFudCBzZXR0aW5nIG9m IERQX0xJTktfQldfU0VUIHRvIDAgKFZpbGxlKQoKUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNvbmlrYSBK aW5kYWwgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jIHwgICAgOSArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICB8ICAxMDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgICAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDExMSBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5k ZXggOTg1ZDUzMS4uNDM3ZDI4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTc4Niw5 ICs3ODYsMTggQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCWNhc2UgRFBMTF9DUlRMMV9MSU5LX1JBVEVfODEwOgogCQkJbGlu a19jbG9jayA9IDgxMDAwOwogCQkJYnJlYWs7CisJCWNhc2UgRFBMTF9DUlRMMV9MSU5LX1JBVEVf MTA4MDoKKwkJCWxpbmtfY2xvY2sgPSAxMDgwMDA7CisJCQlicmVhazsKIAkJY2FzZSBEUExMX0NS VEwxX0xJTktfUkFURV8xMzUwOgogCQkJbGlua19jbG9jayA9IDEzNTAwMDsKIAkJCWJyZWFrOwor CQljYXNlIERQTExfQ1JUTDFfTElOS19SQVRFXzE2MjA6CisJCQlsaW5rX2Nsb2NrID0gMTYyMDAw OworCQkJYnJlYWs7CisJCWNhc2UgRFBMTF9DUlRMMV9MSU5LX1JBVEVfMjE2MDoKKwkJCWxpbmtf Y2xvY2sgPSAyMTYwMDA7CisJCQlicmVhazsKIAkJY2FzZSBEUExMX0NSVEwxX0xJTktfUkFURV8y NzAwOgogCQkJbGlua19jbG9jayA9IDI3MDAwMDsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKaW5kZXggMGFlODQ1NC4uMmU0NTFkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBA IC04NCw2ICs4NCwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRwX2xpbmtfZHBsbCBjaHZfZHBs bFtdID0gewogCXsgRFBfTElOS19CV181XzQsCS8qIG0yX2ludCA9IDI3LCBtMl9mcmFjdGlvbiA9 IDAgKi8KIAkJeyAucDEgPSAyLCAucDIgPSAxLCAubiA9IDEsIC5tMSA9IDIsIC5tMiA9IDB4NmMw MDAwMCB9IH0KIH07CisvKiBTa3lsYWtlIHN1cHBvcnRzIGZvbGxvd2luZyByYXRlcyAqLworc3Rh dGljIGNvbnN0IHVpbnQzMl90IGdlbjlfcmF0ZXNbXSA9IHsgMTYyMDAwLCAyMTYwMDAsIDI3MDAw MCwgMzI0MDAwLAorCQkJCQk0MzIwMDAsIDU0MDAwMCB9OworCitzdGF0aWMgY29uc3QgdWludDMy X3QgZGVmYXVsdF9yYXRlc1tdID0geyAxNjIwMDAsIDI3MDAwMCwgNTQwMDAwIH07CiAKIC8qKgog ICogaXNfZWRwIC0gaXMgdGhlIGdpdmVuIHBvcnQgYXR0YWNoZWQgdG8gYW4gZURQIHBhbmVsIChl aXRoZXIgQ1BVIG9yIFBDSCkKQEAgLTExNDQsNiArMTE0OSwyNSBAQCBpbnRlbF9yZWFkX3Npbmtf cmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDMyX3QgKnNpbmtfcmF0ZXMpCiAJ cmV0dXJuIGk7CiB9CiAKK3N0YXRpYyBpbnQKK2ludGVsX3JlYWRfc291cmNlX3JhdGVzKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpzb3VyY2VfcmF0ZXMpCit7CisJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CisJaW50IGk7CisJ aW50IG1heF9kZWZhdWx0X3JhdGU7CisKKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAm JiBpbnRlbF9kcC0+c3VwcG9ydGVkX3JhdGVzWzBdKSB7CisJCWZvciAoaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGdlbjlfcmF0ZXMpOyArK2kpCisJCQlzb3VyY2VfcmF0ZXNbaV0gPSBnZW45X3JhdGVz W2ldOworCX0gZWxzZSB7CisJCS8qIEluZGV4IG9mIHRoZSBtYXhfbGlua19idyBzdXBwb3J0ZWQg KyAxICovCisJCW1heF9kZWZhdWx0X3JhdGUgPSAoaW50ZWxfZHBfbWF4X2xpbmtfYncoaW50ZWxf ZHApID4+IDMpICsgMTsKKwkJZm9yIChpID0gMDsgaSA8IG1heF9kZWZhdWx0X3JhdGU7ICsraSkK KwkJCXNvdXJjZV9yYXRlc1tpXSA9IGRlZmF1bHRfcmF0ZXNbaV07CisJfQorCXJldHVybiBpOwor fQorCiBzdGF0aWMgdm9pZAogaW50ZWxfZHBfc2V0X2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsIGlu dCBsaW5rX2J3KQpAQCAtMTE3Nyw2ICsxMjAxLDQ1IEBAIGludGVsX2RwX3NldF9jbG9jayhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9CiAKK3N0YXRpYyBpbnQgaW50ZWxfc3Vw cG9ydGVkX3JhdGVzKGNvbnN0IHVpbnQzMl90ICpzb3VyY2VfcmF0ZXMsIGludCBzb3VyY2VfbGVu LAorY29uc3QgdWludDMyX3QgKnNpbmtfcmF0ZXMsIGludCBzaW5rX2xlbiwgdWludDMyX3QgKnN1 cHBvcnRlZF9yYXRlcykKK3sKKwlpbnQgaSA9IDAsIGogPSAwLCBrID0gMDsKKworCS8qIEZvciBw YW5lbHMgd2l0aCBlZHAgdmVyc2lvbiBsZXNzIHRoYW4gMS40ICovCisJaWYgKHNpbmtfbGVuID09 IDApIHsKKwkJZm9yIChpID0gMDsgaSA8IHNvdXJjZV9sZW47ICsraSkKKwkJCXN1cHBvcnRlZF9y YXRlc1tpXSA9IHNvdXJjZV9yYXRlc1tpXTsKKwkJcmV0dXJuIHNvdXJjZV9sZW47CisJfQorCisJ LyogRm9yIGVkcDEuNCBwYW5lbHMsIGZpbmQgdGhlIGNvbW1vbiByYXRlcyBiZXR3ZWVuIHNvdXJj ZSBhbmQgc2luayAqLworCXdoaWxlIChpIDwgc291cmNlX2xlbiAmJiBqIDwgc2lua19sZW4pIHsK KwkJaWYgKHNvdXJjZV9yYXRlc1tpXSA9PSBzaW5rX3JhdGVzW2pdKSB7CisJCQlzdXBwb3J0ZWRf cmF0ZXNba10gPSBzb3VyY2VfcmF0ZXNbaV07CisJCQkrK2s7CisJCQkrK2k7CisJCQkrK2o7CisJ CX0gZWxzZSBpZiAoc291cmNlX3JhdGVzW2ldIDwgc2lua19yYXRlc1tqXSkgeworCQkJKytpOwor CQl9IGVsc2UgeworCQkJKytqOworCQl9CisJfQorCXJldHVybiBrOworfQorCitzdGF0aWMgaW50 IHJhdGVfdG9faW5kZXgodWludDMyX3QgZmluZCwgY29uc3QgdWludDMyX3QgKnJhdGVzKQorewor CWludCBpID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBEUF9NQVhfU1VQUE9SVEVEX1JBVEVTOyAr K2kpCisJCWlmIChmaW5kID09IHJhdGVzW2ldKQorCQkJYnJlYWs7CisKKwlyZXR1cm4gaTsKK30K KwogYm9vbAogaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCkBAIC0xMTkz LDEwICsxMjU2LDI1IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCWludCBtYXhfbGFuZV9jb3VudCA9IGludGVsX2RwX21heF9sYW5lX2Nv dW50KGludGVsX2RwKTsKIAkvKiBDb252ZW5pZW50bHksIHRoZSBsaW5rIEJXIGNvbnN0YW50cyBi ZWNvbWUgaW5kaWNlcyB3aXRoIGEgc2hpZnQuLi4qLwogCWludCBtaW5fY2xvY2sgPSAwOwotCWlu dCBtYXhfY2xvY2sgPSBpbnRlbF9kcF9tYXhfbGlua19idyhpbnRlbF9kcCkgPj4gMzsKKwlpbnQg bWF4X2Nsb2NrOwogCWludCBicHAsIG1vZGVfcmF0ZTsKLQlzdGF0aWMgaW50IGJ3c1tdID0geyBE UF9MSU5LX0JXXzFfNjIsIERQX0xJTktfQldfMl83LCBEUF9MSU5LX0JXXzVfNCB9OwogCWludCBs aW5rX2F2YWlsLCBsaW5rX2Nsb2NrOworCXVpbnQzMl90IHNpbmtfcmF0ZXNbOF07CisJdWludDMy X3Qgc3VwcG9ydGVkX3JhdGVzWzhdID0gezB9OworCXVpbnQzMl90IHNvdXJjZV9yYXRlc1s4XTsK KwlpbnQgc291cmNlX2xlbiwgc2lua19sZW4sIHN1cHBvcnRlZF9sZW47CisKKwlzaW5rX2xlbiA9 IGludGVsX3JlYWRfc2lua19yYXRlcyhpbnRlbF9kcCwgc2lua19yYXRlcyk7CisKKwlzb3VyY2Vf bGVuID0gaW50ZWxfcmVhZF9zb3VyY2VfcmF0ZXMoaW50ZWxfZHAsIHNvdXJjZV9yYXRlcyk7CisK KwlzdXBwb3J0ZWRfbGVuID0gaW50ZWxfc3VwcG9ydGVkX3JhdGVzKHNvdXJjZV9yYXRlcywgc291 cmNlX2xlbiwKKwkJCQlzaW5rX3JhdGVzLCBzaW5rX2xlbiwgc3VwcG9ydGVkX3JhdGVzKTsKKwor CS8qIE5vIGNvbW1vbiBsaW5rIHJhdGVzIGJldHdlZW4gc291cmNlIGFuZCBzaW5rICovCisJV0FS Tl9PTihzdXBwb3J0ZWRfbGVuIDw9IDApOworCisJbWF4X2Nsb2NrID0gc3VwcG9ydGVkX2xlbiAt IDE7CiAKIAlpZiAoSEFTX1BDSF9TUExJVChkZXYpICYmICFIQVNfRERJKGRldikgJiYgcG9ydCAh PSBQT1JUX0EpCiAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwpAQCAtMTIy MCw4ICsxMjk4LDggQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCXJldHVybiBmYWxzZTsKIAogCURSTV9ERUJVR19LTVMoIkRQIGxpbmsg Y29tcHV0YXRpb24gd2l0aCBtYXggbGFuZSBjb3VudCAlaSAiCi0JCSAgICAgICJtYXggYncgJTAy eCBwaXhlbCBjbG9jayAlaUtIelxuIiwKLQkJICAgICAgbWF4X2xhbmVfY291bnQsIGJ3c1ttYXhf Y2xvY2tdLAorCQkgICAgICAibWF4IGJ3ICVkIHBpeGVsIGNsb2NrICVpS0h6XG4iLAorCQkgICAg ICBtYXhfbGFuZV9jb3VudCwgc3VwcG9ydGVkX3JhdGVzW21heF9jbG9ja10sCiAJCSAgICAgIGFk anVzdGVkX21vZGUtPmNydGNfY2xvY2spOwogCiAJLyogV2FsayB0aHJvdWdoIGFsbCBicHAgdmFs dWVzLiBMdWNraWx5IHRoZXkncmUgYWxsIG5pY2VseSBzcGFjZWQgd2l0aCAyCkBAIC0xMjUwLDgg KzEzMjgsMTEgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJCQkgICBicHApOwogCiAJCWZvciAoY2xvY2sgPSBtaW5fY2xvY2s7IGNs b2NrIDw9IG1heF9jbG9jazsgY2xvY2srKykgewotCQkJZm9yIChsYW5lX2NvdW50ID0gbWluX2xh bmVfY291bnQ7IGxhbmVfY291bnQgPD0gbWF4X2xhbmVfY291bnQ7IGxhbmVfY291bnQgPDw9IDEp IHsKLQkJCQlsaW5rX2Nsb2NrID0gZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKGJ3c1tjbG9j a10pOworCQkJZm9yIChsYW5lX2NvdW50ID0gbWluX2xhbmVfY291bnQ7CisJCQkJbGFuZV9jb3Vu dCA8PSBtYXhfbGFuZV9jb3VudDsKKwkJCQlsYW5lX2NvdW50IDw8PSAxKSB7CisKKwkJCQlsaW5r X2Nsb2NrID0gc3VwcG9ydGVkX3JhdGVzW2Nsb2NrXTsKIAkJCQlsaW5rX2F2YWlsID0gaW50ZWxf ZHBfbWF4X2RhdGFfcmF0ZShsaW5rX2Nsb2NrLAogCQkJCQkJCQkgICAgbGFuZV9jb3VudCk7CiAK QEAgLTEyODAsMTAgKzEzNjEsMTkgQEAgZm91bmQ6CiAJaWYgKGludGVsX2RwLT5jb2xvcl9yYW5n ZSkKIAkJcGlwZV9jb25maWctPmxpbWl0ZWRfY29sb3JfcmFuZ2UgPSB0cnVlOwogCi0JaW50ZWxf ZHAtPmxpbmtfYncgPSBid3NbY2xvY2tdOwogCWludGVsX2RwLT5sYW5lX2NvdW50ID0gbGFuZV9j b3VudDsKKworCWludGVsX2RwLT5saW5rX2J3ID0KKwkJZHJtX2RwX2xpbmtfcmF0ZV90b19id19j b2RlKHN1cHBvcnRlZF9yYXRlc1tjbG9ja10pOworCisJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDkgJiYgaW50ZWxfZHAtPnN1cHBvcnRlZF9yYXRlc1swXSkgeworCQlpbnRlbF9kcC0+cmF0 ZV9zZWxlY3QgPQorCQkJcmF0ZV90b19pbmRleChzdXBwb3J0ZWRfcmF0ZXNbY2xvY2tdLCBzaW5r X3JhdGVzKTsKKwkJaW50ZWxfZHAtPmxpbmtfYncgPSAwOworCX0KKwogCXBpcGVfY29uZmlnLT5w aXBlX2JwcCA9IGJwcDsKLQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IGRybV9kcF9id19jb2Rl X3RvX2xpbmtfcmF0ZShpbnRlbF9kcC0+bGlua19idyk7CisJcGlwZV9jb25maWctPnBvcnRfY2xv Y2sgPSBzdXBwb3J0ZWRfcmF0ZXNbY2xvY2tdOwogCiAJRFJNX0RFQlVHX0tNUygiRFAgbGluayBi dyAlMDJ4IGxhbmUgY291bnQgJWQgY2xvY2sgJWQgYnBwICVkXG4iLAogCQkgICAgICBpbnRlbF9k cC0+bGlua19idywgaW50ZWxfZHAtPmxhbmVfY291bnQsCkBAIC0zMzkzLDYgKzM0ODMsOSBAQCBp bnRlbF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYg KGRybV9kcF9lbmhhbmNlZF9mcmFtZV9jYXAoaW50ZWxfZHAtPmRwY2QpKQogCQlsaW5rX2NvbmZp Z1sxXSB8PSBEUF9MQU5FX0NPVU5UX0VOSEFOQ0VEX0ZSQU1FX0VOOwogCWRybV9kcF9kcGNkX3dy aXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9MSU5LX0JXX1NFVCwgbGlua19jb25maWcsIDIpOworCWlm IChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5ICYmIGludGVsX2RwLT5zdXBwb3J0ZWRfcmF0ZXNb MF0pCisJCWRybV9kcF9kcGNkX3dyaXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9MSU5LX1JBVEVfU0VU LAorCQkJCSZpbnRlbF9kcC0+cmF0ZV9zZWxlY3QsIDEpOwogCiAJbGlua19jb25maWdbMF0gPSAw OwogCWxpbmtfY29uZmlnWzFdID0gRFBfU0VUX0FOU0lfOEIxMEI7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCmluZGV4IDFmNDFhODMuLmEyYTVjYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CkBAIC02MjIsNiArNjIyLDcgQEAgc3RydWN0IGludGVsX2RwIHsKIAl1aW50MzJfdCBjb2xvcl9y YW5nZTsKIAlib29sIGNvbG9yX3JhbmdlX2F1dG87CiAJdWludDhfdCBsaW5rX2J3OworCXVpbnQ4 X3QgcmF0ZV9zZWxlY3Q7CiAJdWludDhfdCBsYW5lX2NvdW50OwogCXVpbnQ4X3QgZHBjZFtEUF9S RUNFSVZFUl9DQVBfU0laRV07CiAJdWludDhfdCBwc3JfZHBjZFtFRFBfUFNSX1JFQ0VJVkVSX0NB UF9TSVpFXTsKLS0gCjEuNy4xMC40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=