From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/i915: Clean up HDMI deep color handling a bit Date: Mon, 02 Sep 2019 10:39:43 +0300 Message-ID: <87zhjncfk0.fsf@intel.com> References: <20190822180500.26608-1-ville.syrjala@linux.intel.com> <20190828183424.7856-1-ville.syrjala@linux.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 ESMTPS id 9340189199 for ; Mon, 2 Sep 2019 07:38:57 +0000 (UTC) In-Reply-To: <20190828183424.7856-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyOCBBdWcgMjAxOSwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4KPiBSZW9ncmFuaXplIHRoZSBIRE1JIGRlZXAgY29sb3Igc3RhdGUg Y29tcHV0YXRpb24gdG8ganVzdAo+IGxvb3Agb3ZlciBwb3NzaWJsZSBicGMgdmFsdWVzLiBBdm9p ZHMgaGF2aW5nIHRvIG1haW50YWluCj4gc28gbWFueSB2YXJpYW50cyBvZiB0aGUgY2xvY2sgZXRj Lgo+Cj4gVGhlIGN1cnJlbnQgY29kZSBhbHNvIGxvb2tzIGNvbmZ1c2VkIHcuci50LiBwb3J0X2Ns b2NrIHZzLgo+IGJ3X2NvbnN0cmFpbmVkLiBJdCB3b3VsZCBoYXBwaWx5IHVwZGF0ZSBwb3J0X2Ns b2NrIGZvcgo+IGRlZXAgY29sb3IgYnV0IHRoZW4gbm90IGFjdHVhbGx5IGVuYWJsZSBkZWVwIGNv bG9yIGR1ZSB0bwo+IGJ3X2NvbnN0cmFpbmVkIGJlaW5nIHNldC4gVGhlIG5ldyBsb2dpYyBoYW5k bGVzIHRoYXQgY2FzZQo+IGNvcnJlY3RseS4KPgo+IHYyOiBQdWxsIHN0dWZmIGludG8gc2VwYXJh dGUgZnVuY3MgKEphbmkpCj4KPiBSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGludGVsLmNvbT4gI3YxCgpBbHNvIHYyLCBJIHRoaW5rIHRoaXMgaXMgbmVhdGVyLgoKQlIsCkph bmkuCgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf aGRtaS5jIHwgMTM0ICsrKysrKysrKysrKystLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDc3 IGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9oZG1pLmMKPiBpbmRleCAwZjVhMGM2MThlNDYuLjAyYzVjMzgxMWE1NiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCj4gQEAgLTIy NjEsOSArMjI2MSw3IEBAIHN0YXRpYyBib29sIGhkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCj4gIHN0YXRpYyBib29s Cj4gIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gLQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gLQkJCSAg IGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tfMTBicGMsCj4gLQkJCSAgIGludCAqY2xvY2tf OGJwYykKPiArCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZykKPiAgewo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNvbmZpZy0+YmFz ZS5jcnRjKTsKPiAgCj4gQEAgLTIyNzIsMTEgKzIyNzAsNiBAQCBpbnRlbF9oZG1pX3ljYmNyNDIw X2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCXJldHVybiBmYWxz ZTsKPiAgCX0KPiAgCj4gLQkvKiBZQ0JDUjQyMCBUTURTIHJhdGUgcmVxdWlyZW1lbnQgaXMgaGFs ZiB0aGUgcGl4ZWwgY2xvY2sgKi8KPiAtCWNvbmZpZy0+cG9ydF9jbG9jayAvPSAyOwo+IC0JKmNs b2NrXzEyYnBjIC89IDI7Cj4gLQkqY2xvY2tfMTBicGMgLz0gMjsKPiAtCSpjbG9ja184YnBjIC89 IDI7Cj4gIAljb25maWctPm91dHB1dF9mb3JtYXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNS NDIwOwo+ICAKPiAgCS8qIFlDQkNSIDQyMCBvdXRwdXQgY29udmVyc2lvbiBuZWVkcyBhIHNjYWxl ciAqLwo+IEBAIC0yMjkxLDYgKzIyODQsNzYgQEAgaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWco c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4g IAo+ICtzdGF0aWMgaW50IGludGVsX2hkbWlfcG9ydF9jbG9jayhpbnQgY2xvY2ssIGludCBicGMp Cj4gK3sKPiArCS8qCj4gKwkgKiBOZWVkIHRvIGFkanVzdCB0aGUgcG9ydCBsaW5rIGJ5Ogo+ICsJ ICogIDEuNXggZm9yIDEyYnBjCj4gKwkgKiAgMS4yNXggZm9yIDEwYnBjCj4gKwkgKi8KPiArCXJl dHVybiBjbG9jayAqIGJwYyAvIDg7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaW50ZWxfaGRtaV9j b21wdXRlX2JwYyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCSAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gKwkJCQkgIGludCBjbG9jaywgYm9vbCBm b3JjZV9kdmkpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3Rv X2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwo+ICsJaW50IGJwYzsKPiArCj4gKwlmb3IgKGJw YyA9IDEyOyBicGMgPj0gMTA7IGJwYyAtPSAyKSB7Cj4gKwkJaWYgKGhkbWlfZGVlcF9jb2xvcl9w b3NzaWJsZShjcnRjX3N0YXRlLCBicGMpICYmCj4gKwkJICAgIGhkbWlfcG9ydF9jbG9ja192YWxp ZChpbnRlbF9oZG1pLAo+ICsJCQkJCSAgaW50ZWxfaGRtaV9wb3J0X2Nsb2NrKGNsb2NrLCBicGMp LAo+ICsJCQkJCSAgdHJ1ZSwgZm9yY2VfZHZpKSA9PSBNT0RFX09LKQo+ICsJCQlyZXR1cm4gYnBj Owo+ICsJfQo+ICsKPiArCXJldHVybiA4Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGludGVsX2hk bWlfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCSAg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJCSAgICBib29sIGZv cmNlX2R2aSkKPiArewo+ICsJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9f aW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gKwkJJmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9k ZTsKPiArCWludCBicGMsIGNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jazsKPiArCj4g KwlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTENMSykKPiArCQlj bG9jayAqPSAyOwo+ICsKPiArCS8qIFlDQkNSNDIwIFRNRFMgcmF0ZSByZXF1aXJlbWVudCBpcyBo YWxmIHRoZSBwaXhlbCBjbG9jayAqLwo+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQg PT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkKPiArCQljbG9jayAvPSAyOwo+ICsKPiAr CWJwYyA9IGludGVsX2hkbWlfY29tcHV0ZV9icGMoZW5jb2RlciwgY3J0Y19zdGF0ZSwKPiArCQkJ CSAgICAgY2xvY2ssIGZvcmNlX2R2aSk7Cj4gKwo+ICsJY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA9 IGludGVsX2hkbWlfcG9ydF9jbG9jayhjbG9jaywgYnBjKTsKPiArCj4gKwkvKgo+ICsJICogcGlw ZV9icHAgY291bGQgYWxyZWFkeSBiZSBiZWxvdyA4YnBjIGR1ZSB0bwo+ICsJICogRkRJIGJhbmR3 aWR0aCBjb25zdHJhaW50cy4gV2Ugc2hvdWxkbid0IGJ1bXAgaXQKPiArCSAqIGJhY2sgdXAgdG8g OGJwYyBpbiB0aGF0IGNhc2UuCj4gKwkgKi8KPiArCWlmIChjcnRjX3N0YXRlLT5waXBlX2JwcCA+ IGJwYyAqIDMpCj4gKwkJY3J0Y19zdGF0ZS0+cGlwZV9icHAgPSBicGMgKiAzOwo+ICsKPiArCURS TV9ERUJVR19LTVMoInBpY2tpbmcgJWQgYnBjIGZvciBIRE1JIG91dHB1dCAocGlwZSBicHA6ICVk KVxuIiwKPiArCQkgICAgICBicGMsIGNydGNfc3RhdGUtPnBpcGVfYnBwKTsKPiArCj4gKwlpZiAo aGRtaV9wb3J0X2Nsb2NrX3ZhbGlkKGludGVsX2hkbWksIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ss Cj4gKwkJCQkgIGZhbHNlLCBmb3JjZV9kdmkpICE9IE1PREVfT0spIHsKPiArCQlEUk1fREVCVUdf S01TKCJ1bnN1cHBvcnRlZCBIRE1JIGNsb2NrICglZCBrSHopLCByZWplY3RpbmcgbW9kZVxuIiwK PiArCQkJICAgICAgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7 Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIGludCBpbnRlbF9oZG1pX2NvbXB1 dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJCSAgICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+IEBAIC0yMzAyLDExICsyMzY1LDggQEAgaW50 IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gIAlzdHJ1Y3QgZHJtX3NjZGMgKnNjZGMgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRt aS5zY2RjOwo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICppbnRlbF9j b25uX3N0YXRlID0KPiAgCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0 YXRlKTsKPiAtCWludCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZS5jcnRjX2Nsb2NrOwo+IC0JaW50IGNsb2NrXzEwYnBjID0gY2xvY2tfOGJwYyAqIDUgLyA0Owo+ IC0JaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwo+IC0JaW50IGRlc2lyZWRf YnBwOwo+ICAJYm9vbCBmb3JjZV9kdmkgPSBpbnRlbF9jb25uX3N0YXRlLT5mb3JjZV9hdWRpbyA9 PSBIRE1JX0FVRElPX09GRl9EVkk7Cj4gKwlpbnQgcmV0Owo+ICAKPiAgCWlmIChhZGp1c3RlZF9t b2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKPiAgCQlyZXR1cm4gLUVJTlZBTDsK PiBAQCAtMjMyOCwxNyArMjM4OCwxMSBAQCBpbnQgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJaW50ZWxfY29ubl9zdGF0ZS0+YnJv YWRjYXN0X3JnYiA9PSBJTlRFTF9CUk9BRENBU1RfUkdCX0xJTUlURUQ7Cj4gIAl9Cj4gIAo+IC0J aWYgKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspIHsKPiArCWlm IChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMQ0xLKQo+ICAJCXBpcGVf Y29uZmlnLT5waXhlbF9tdWx0aXBsaWVyID0gMjsKPiAtCQljbG9ja184YnBjICo9IDI7Cj4gLQkJ Y2xvY2tfMTBicGMgKj0gMjsKPiAtCQljbG9ja18xMmJwYyAqPSAyOwo+IC0JfQo+ICAKPiAgCWlm IChkcm1fbW9kZV9pc180MjBfb25seSgmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8sIGFkanVzdGVk X21vZGUpKSB7Cj4gLQkJaWYgKCFpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhjb25uZWN0b3Is IHBpcGVfY29uZmlnLAo+IC0JCQkJCQkmY2xvY2tfMTJicGMsICZjbG9ja18xMGJwYywKPiAtCQkJ CQkJJmNsb2NrXzhicGMpKSB7Cj4gKwkJaWYgKCFpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhj b25uZWN0b3IsIHBpcGVfY29uZmlnKSkgewo+ICAJCQlEUk1fRVJST1IoIkNhbid0IHN1cHBvcnQg WUNCQ1I0MjAgb3V0cHV0XG4iKTsKPiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAkJfQo+IEBAIC0y MzU1LDQzICsyNDA5LDkgQEAgaW50IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQlpbnRlbF9jb25uX3N0YXRlLT5mb3JjZV9hdWRp byA9PSBIRE1JX0FVRElPX09OOwo+ICAJfQo+ICAKPiAtCS8qCj4gLQkgKiBOb3RlIHRoYXQgZzR4 L3ZsdiBkb24ndCBzdXBwb3J0IDEyYnBjIGhkbWkgb3V0cHV0cy4gV2UgYWxzbyBuZWVkCj4gLQkg KiB0byBjaGVjayB0aGF0IHRoZSBoaWdoZXIgY2xvY2sgc3RpbGwgZml0cyB3aXRoaW4gbGltaXRz Lgo+IC0JICovCj4gLQlpZiAoaGRtaV9kZWVwX2NvbG9yX3Bvc3NpYmxlKHBpcGVfY29uZmlnLCAx MikgJiYKPiAtCSAgICBoZG1pX3BvcnRfY2xvY2tfdmFsaWQoaW50ZWxfaGRtaSwgY2xvY2tfMTJi cGMsCj4gLQkJCQkgIHRydWUsIGZvcmNlX2R2aSkgPT0gTU9ERV9PSykgewo+IC0JCURSTV9ERUJV R19LTVMoInBpY2tpbmcgYnBjIHRvIDEyIGZvciBIRE1JIG91dHB1dFxuIik7Cj4gLQkJZGVzaXJl ZF9icHAgPSAxMiozOwo+IC0KPiAtCQkvKiBOZWVkIHRvIGFkanVzdCB0aGUgcG9ydCBsaW5rIGJ5 IDEuNXggZm9yIDEyYnBjLiAqLwo+IC0JCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY2xvY2tf MTJicGM7Cj4gLQl9IGVsc2UgaWYgKGhkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShwaXBlX2NvbmZp ZywgMTApICYmCj4gLQkJICAgaGRtaV9wb3J0X2Nsb2NrX3ZhbGlkKGludGVsX2hkbWksIGNsb2Nr XzEwYnBjLAo+IC0JCQkJCSB0cnVlLCBmb3JjZV9kdmkpID09IE1PREVfT0spIHsKPiAtCQlEUk1f REVCVUdfS01TKCJwaWNraW5nIGJwYyB0byAxMCBmb3IgSERNSSBvdXRwdXRcbiIpOwo+IC0JCWRl c2lyZWRfYnBwID0gMTAgKiAzOwo+IC0KPiAtCQkvKiBOZWVkIHRvIGFkanVzdCB0aGUgcG9ydCBs aW5rIGJ5IDEuMjV4IGZvciAxMGJwYy4gKi8KPiAtCQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9 IGNsb2NrXzEwYnBjOwo+IC0JfSBlbHNlIHsKPiAtCQlEUk1fREVCVUdfS01TKCJwaWNraW5nIGJw YyB0byA4IGZvciBIRE1JIG91dHB1dFxuIik7Cj4gLQkJZGVzaXJlZF9icHAgPSA4KjM7Cj4gLQo+ IC0JCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY2xvY2tfOGJwYzsKPiAtCX0KPiAtCj4gLQlp ZiAoIXBpcGVfY29uZmlnLT5id19jb25zdHJhaW5lZCkgewo+IC0JCURSTV9ERUJVR19LTVMoImZv cmNpbmcgcGlwZSBicHAgdG8gJWkgZm9yIEhETUlcbiIsIGRlc2lyZWRfYnBwKTsKPiAtCQlwaXBl X2NvbmZpZy0+cGlwZV9icHAgPSBkZXNpcmVkX2JwcDsKPiAtCX0KPiAtCj4gLQlpZiAoaGRtaV9w b3J0X2Nsb2NrX3ZhbGlkKGludGVsX2hkbWksIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+IC0J CQkJICBmYWxzZSwgZm9yY2VfZHZpKSAhPSBNT0RFX09LKSB7Cj4gLQkJRFJNX0RFQlVHX0tNUygi dW5zdXBwb3J0ZWQgSERNSSBjbG9jaywgcmVqZWN0aW5nIG1vZGVcbiIpOwo+IC0JCXJldHVybiAt RUlOVkFMOwo+IC0JfQo+ICsJcmV0ID0gaW50ZWxfaGRtaV9jb21wdXRlX2Nsb2NrKGVuY29kZXIs IHBpcGVfY29uZmlnLCBmb3JjZV9kdmkpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ ICAKPiAgCS8qIFNldCB1c2VyIHNlbGVjdGVkIFBBUiB0byBpbmNvbWluZyBtb2RlJ3MgbWVtYmVy ICovCj4gIAlhZGp1c3RlZF9tb2RlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IGNvbm5fc3RhdGUt PnBpY3R1cmVfYXNwZWN0X3JhdGlvOwoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJj ZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4