From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: [PATCH v2 0/7] Modernize vga_switcheroo by using device link for HDA Date: Mon, 5 Mar 2018 21:58:31 +0100 Message-ID: <20180305205831.GA1397@al> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Lukas Wunner Cc: zigarrre-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Imre Deak , "Rafael J. Wysocki" , linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Daniel Drake , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Denis Lisov , Bjorn Helgaas , Martin Lopatar , Alex Deucher , Maik Freudenberg , Raphael Doursenaud List-Id: dri-devel@lists.freedesktop.org SGkgTHVrYXMsCgpTb3JyeSBmb3IgdGhlIGRlbGF5LCBJIGZpbmFsbHkgZm91bmQgc29tZSB0aW1l IHRvIHJldmlld2QgYW5kIHRlc3QgdGhlCnBhdGNoZXMgYW5kIGZvdW5kIHNvbWUgaXNzdWVzIChz b21lIG9mIHRoZW0gbWlnaHQgYWxyZWFkeSBiZSBwcmVzZW50IGluCnY0LjE1IHdpdGhvdXQgeW91 ciBwYXRjaGVzIHRob3VnaCwgSSBkaWQgbm90IHRyeSkuCgpUZXN0IGVudmlyb25tZW50OgotIEJy YW5jaCBzd2l0Y2hlcm9vX2RldmxpbmtfdjIgKGNvbW1pdCB2NC4xNS0yMC1nYjMzZDUwYzVjNmFk KQotIExhcHRvcDogQ2xldm8gUDY1MVJBIChub3V2ZWF1IHVzZXMgUFIzKSwgbHNwY2k6CiAgMDA6 MDEuMCBQQ0kgYnJpZGdlIFswNjA0XTogSW50ZWwgQ29ycG9yYXRpb24gWGVvbiBFMy0xMjAwIHY1 L0UzLTE1MDAgdjUvNnRoIEdlbiBDb3JlIFByb2Nlc3NvciBQQ0llIENvbnRyb2xsZXIgKHgxNikg WzgwODY6MTkwMV0gKHJldiAwNykKICAwMTowMC4wIFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXIg WzAzMDBdOiBOVklESUEgQ29ycG9yYXRpb24gR00yMDRNIFtHZUZvcmNlIEdUWCA5NjVNXSBbMTBk ZToxM2Q5XSAocmV2IGExKQogIDAxOjAwLjEgQXVkaW8gZGV2aWNlIFswNDAzXTogTlZJRElBIENv cnBvcmF0aW9uIEdNMjA0IEhpZ2ggRGVmaW5pdGlvbiBBdWRpbyBDb250cm9sbGVyIFsxMGRlOjBm YmJdIChyZXYgYTEpCi0gRGlzdHJpYnV0aW9uOiBBcmNoIExpbnV4IHg4Nl82NAotIFRlc3RlZCBm cm9tICgxKSBjb25zb2xlIGFuZCAoMikgWG9yZyAxLjE5LjMtMiAoT3BlbmJveCkKLSBCb290ZWQg d2l0aCBIRE1JIGNhYmxlIGNvbm5lY3RlZCBhbmQgbm91dmVhdS9zbmQtaGRhLWludGVsIHVubG9h ZGVkLgoKVG8gY2hlY2sgdGhlIHJ1bnRpbWUgUE0gc3RhdHVzLCBJIHVzZWQgdGhpcyAicnBtLXN0 YXR1cyIgc2NyaXB0OgoKICAgIGdyZXAgLS1jb2xvciAuIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAw MDA6MDA6MDEuMC97MDAwMDowMTowMC4wLywwMDAwOjAxOjAwLjEvLH1wb3dlci9jb250cm9sCiAg ICBncmVwIC0tY29sb3IgLiAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAxLjAvezAwMDA6 MDE6MDAuMC8sMDAwMDowMTowMC4xLyx9cG93ZXIvcnVudGltZV97ZW5hYmxlZCx1c2FnZSxhY3Rp dmVfa2lkcyxzdGF0dXN9CgoKVG8gdGVzdCBhdWRpbyBvdXRwdXQgKHZpYSBIRE1JOyBEUCBwb3J0 IGRvZXMgbm90IHNlZW0gdG8gc3VwcG9ydCBhdWRpbyk6CgogICAgc3BlYWtlci10ZXN0IC1EaGRt aTpDQVJEPU5WaWRpYSxERVY9MCAtYzIKCkJlbG93IEkgZmlyc3QgbGlzdCBzb21lIGlzc3Vlcywg dGhlbiBzb21lIGdvb2QgbmV3cy4KCklzc3VlIDEgLSBHUFUgZG9lcyBub3Qgc3VzcGVuZCBvbiB0 ZXh0IGNvbnNvbGUuCldoZW4gcHJlc2VudCBhdCB0aGUgdGV4dCBjb25zb2xlIGFuZCBhbiBleHRl cm5hbCBtb25pdG9yIGlzIGNvbm5lY3RlZAp0aHJvdWdoIEhETUkgb3IgRFAsIHRoZSBSUE0gY291 bnRlciBpcyAxLiBPbmx5IHdoZW4gdGhlIGNhYmxlIGlzIHJlbW92ZWQKKG9yIHdoZW4gImVjaG8g b2ZmID4gL3N5cy9jbGFzcy9kcm0vY2FyZDEtSERNSS1BLTEvc3RhdHVzIiksIHRoZSBSUE0KY291 bnQgZHJvcHMgdG8gMCBhbmQgdGhlIEdQVSBkZXZpY2Ugc3VzcGVuZHMuIFdoZW4gWG9yZyBpcyBz dGFydGVkCihzdGFydHgpLCB0aGUgUlBNIGNvdW50ZXIgYWxzbyBkcm9wcyB0byAwIHRob3VnaC4K Cklzc3VlIDIgLSBSUE0gY291bnRlciBmb3IgYXVkaW8gZnVuY3Rpb24gZHJvcHMgYmVsb3cgMCBv biBzeXN0ZW0gc2xlZXAuCldoZW4gYm90aCBub3V2ZWF1IGFuZCBzbmQtaGRhLWludGVsIGFyZSBs b2FkZWQgYW5kIGEgSERNSSAob3IgRFA/KSBjYWJsZQppcyBjb25uZWN0ZWQsIHRoZSBSUE0gY291 bnRlciBiZWNvbWVzIG9uZSBhZnRlciBzdXNwZW5kL3Jlc3VtZS4gVGhpcwpoYXBwZW5zIGJvdGgg d2l0aCB0ZXh0IGNvbnNvbGUgYW5kIFhvcmcuCgpJc3N1ZSAzIC0gaW52YWxpZCBQQ0kgY29uZmln IHJlYWRzIHRvIGF1ZGlvIGRldmljZSBpZiBkaXNjb25uZWN0ZWQuCldoZW4gbm8gSERNSS9EUCBj YWJsZSBpcyBjb25uZWN0ZWQsIHRoZSBIRE1JIGF1ZGlvIGZ1bmN0aW9uIHdpbGwgYmUKaW5hY2Nl c3NpYmxlIGFmdGVyIHJ1bnRpbWUvc3lzdGVtIHJlc3VtZS4gQXNzdW1lIG5vdXZlYXUgbG9hZGVk IGJlZm9yZQpzL3IsIHRoZW4gbG9hZGluZyBzbmQtaGRhLWludGVsIHdpbGwgZmFpbCB3aXRoOgoK ICAgIDBdOiBwYW1fdW5peChzdWRvOnNlc3Npb24pOiBzZXNzaW9uIGNsb3NlZCBmb3IgdXNlciBy b290CiAgICBoZGF1ZGlvIGhkYXVkaW9DMUQwOiBubyBBRkcgb3IgTUZHIG5vZGUgZm91bmQKICAg IGhkYXVkaW8gaGRhdWRpb0MxRDE6IG5vIEFGRyBvciBNRkcgbm9kZSBmb3VuZAogICAgaGRhdWRp byBoZGF1ZGlvQzFEMjogbm8gQUZHIG9yIE1GRyBub2RlIGZvdW5kCiAgICBoZGF1ZGlvIGhkYXVk aW9DMUQzOiBubyBBRkcgb3IgTUZHIG5vZGUgZm91bmQKICAgIGhkYXVkaW8gaGRhdWRpb0MxRDQ6 IG5vIEFGRyBvciBNRkcgbm9kZSBmb3VuZAogICAgaGRhdWRpbyBoZGF1ZGlvQzFENTogbm8gQUZH IG9yIE1GRyBub2RlIGZvdW5kCiAgICBoZGF1ZGlvIGhkYXVkaW9DMUQ2OiBubyBBRkcgb3IgTUZH IG5vZGUgZm91bmQKICAgIGhkYXVkaW8gaGRhdWRpb0MxRDc6IG5vIEFGRyBvciBNRkcgbm9kZSBm b3VuZAogICAgc25kX2hkYV9pbnRlbCAwMDAwOjAxOjAwLjE6IG5vIGNvZGVjcyBpbml0aWFsaXpl ZAoKQWZ0ZXIgcm1tb2Qgc25kLWhkYS1pbnRlbCBhbmQgc3lzdGVtIHN1c3BlbmQvcmVzdW1lOgoK ICAgIHBjaSAwMDAwOjAxOjAwLjE6IHJlc3RvcmluZyBjb25maWcgc3BhY2UgYXQgb2Zmc2V0IDB4 M2MgKHdhcyAweGZmZmZmZmZmLCB3cml0aW5nIDB4MjAwKQogICAgcGNpIDAwMDA6MDE6MDAuMTog cmVzdG9yaW5nIGNvbmZpZyBzcGFjZSBhdCBvZmZzZXQgMHgzOCAod2FzIDB4ZmZmZmZmZmYsIHdy aXRpbmcgMHgwKQogICAgcGNpIDAwMDA6MDE6MDAuMTogcmVzdG9yaW5nIGNvbmZpZyBzcGFjZSBh dCBvZmZzZXQgMHgzNCAod2FzIDB4ZmZmZmZmZmYsIHdyaXRpbmcgMHg2MCkKClRoaXMgcGVyc2lz dHMgdW50aWwgcmVtb3ZpbmcgYm90aCBQQ0kgZGV2aWNlcyBhbmQgcmVzY2FubmluZyB0aGUgcm9v dApwb3J0LiAoV2hlbiBubyBIRE1JL0RQIGNhYmxlIGlzIGNvbm5lY3RlZCwgdGhlIGF1ZGlvIGZ1 bmN0aW9uIHdpbGwgbm90CmFwcGVhcjsgcmVtb3ZlK3Jlc2NhbiBpcyByZXF1aXJlZCB0byByZWNv dmVyLikKCklzc3VlIDQgLSBydW50aW1lX2FjdGl2ZV9raWRzIGxlYWsgd2l0aCBhdWRpbyBmdW5j dGlvbi4KQWZ0ZXIgdGhlIGFib3ZlIGlzc3VlLCB0aGUgYXVkaW8gZGV2aWNlIG5ldmVyIGVudGVy ZWQgdGhlIHN1c3BlbmRlZApzdGF0ZSBldmVuIHRob3VnaCB0aGUgcnVudGltZV91c2FnZSBjb3Vu dGVyIHJlYWNoZWQgMC4gSXQgdHVybmVkIG91dAp0aGF0IHJ1bnRpbWVfYWN0aXZlX2tpZHMgd2Fz IDQuIEV2ZXJ5IHRpbWUgc25kLWhkYS1pbnRlbCBpcyBsb2FkZWQgKGFuZApmYWlscyB0byBpbml0 aWFsaXplIGR1ZSB0byB0aGUgYWJvdmUgaXNzdWUpLCB0aGlzIGNvdW50ZXIgaXMgaW5jcmVhc2Vk LgoKSXNzdWUgNSAtIGF1ZGlvIGJyZWFrcyBhZnRlciBzeXN0ZW0gc2xlZXAgb3Igc3RvcHBpbmcg WG9yZy4KV2hlbiBYb3JnIGlzIHN0b3BwZWQgb3IgdGhlIHN5c3RlbSBzbGVlcC9yZXN1bWVzIHdo aWxlIHNwZWFrZXItdGVzdCBpcwphY3RpdmUgKGUuZy4gaW4gR05VIHNjcmVlbiksIGF1ZGlvIHN0 b3BzIHBsYXlpbmcgYW5kIHNwZWFrZXItdGVzdCBleGl0cy4KCklzc3VlIDYgLSB3cm9uZyBwaW4g c3RhdHVzIHJlcG9ydGVkIC8gbm8gYXVkaW8KKFBvc3NpYmx5ICJ3b3JraW5nIGFzIGV4cGVjdGVk IiBzaW5jZSBhdWRpbyBpcyB0aWVkIHRvIEdQVSBmdW5jdGlvbi4pClNjZW5hcmlvOiBIRE1JIGNh YmxlIGlzIGNvbm5lY3RlZCBidXQgR1BVIGlzIHVudXNlZAooImVjaG8gb2ZmID4gL3N5cy9jbGFz cy9kcm0vY2FyZDEtSERNSS0xLTEvc3RhdHVzIiBmcm9tIGNvbnNvbGUgb3IKd2l0aCAieHJhbmRy IC0tb3V0cHV0IEhETUktQS0xIC0tb2ZmIikuIGhkYWphY2tzZW5zZXRlc3QgcmVwb3J0cyBubwpI RE1JIHBpbiBwcmVzZW5jZSBldmVuIGlmIGNvbm5lY3RlZCwgZG1lc2cgcmVwb3J0czoKCiAgICBu b3V2ZWF1IDAwMDA6MDE6MDAuMDogRFJNOiBEREMgcmVzcG9uZGVkLCBidXQgbm8gRURJRCBmb3Ig SERNSS1BLTEKClVzaW5nICJzcGVha2VyLXRlc3QiLCB0aGUgcHJvZ3JhbSBkb2VzIG5vdCBmYWls IGJ1dCBubyBzb3VuZCBjYW4gYmUKaGVhcmQgZWl0aGVyLgoKSXNzdWUgNyAtIG5vdXZlYXU6IHdh cm5pbmcgYWZ0ZXIgdW5sb2FkaW5nIGFmdGVyIHN0b3BwaW5nIFhvcmcKKElzc3VlIGluIG5vdXZl YXUsIGxpa2VseSBub3QgcmVsYXRlZCB0byB0aGlzIHBhdGNoIHNldC4pCkFmdGVyICJ4cmFuZHIg LS1vdXRwdXQgSERNSS0xLTEgLS1tb2RlIDI1NjB4MTQ0MCIgaW4gWG9yZywgc3RvcHBpbmcgWG9y ZwooYW5kIHBvc3NpYmx5ICJlY2hvIG9mZiA+IC9zeXMvY2xhc3MvZHJtL2NhcmQxLUhETUktQS0x L3N0YXR1cyIpLApyZW1vdmluZyBub3V2ZWF1IHRyaWdnZXJlZDoKCiAgICBXQVJOSU5HOiBDUFU6 IDcgUElEOiA1NDc1IGF0IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYzo0MzkgZHJt X21vZGVfY29uZmlnX2NsZWFudXArMHgxZmEvMHgyNjAKICAgIENQVTogNyBQSUQ6IDU0NzUgQ29t bTogcm1tb2QgTm90IHRhaW50ZWQgNC4xNS4wdGVzdGluZy0wMDAyMC1nYjMzZDUwYzVjNmFkICM1 NQogICAgUklQOiAwMDEwOmRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKzB4MWZhLzB4MjYwCiAgICBb Li5dCiAgICBDYWxsIFRyYWNlOgogICAgIG5vdXZlYXVfZGlzcGxheV9kZXN0cm95KzB4NDEvMHg4 MCBbbm91dmVhdV0KICAgICBub3V2ZWF1X2RybV91bmxvYWQrMHg2Yi8weGQwIFtub3V2ZWF1XQog ICAgIGRybV9kZXZfdW5yZWdpc3RlcisweDNjLzB4ZTAKICAgICBkcm1fcHV0X2RldisweDJlLzB4 NjAKICAgICBub3V2ZWF1X2RybV9kZXZpY2VfcmVtb3ZlKzB4MzcvMHg1MCBbbm91dmVhdV0KICAg ICBwY2lfZGV2aWNlX3JlbW92ZSsweDM2LzB4YjAKICAgICBkZXZpY2VfcmVsZWFzZV9kcml2ZXJf aW50ZXJuYWwrMHgxNjAvMHgyMzAKICAgICBkcml2ZXJfZGV0YWNoKzB4M2EvMHg3MAogICAgIGJ1 c19yZW1vdmVfZHJpdmVyKzB4NTgvMHhkMAogICAgIHBjaV91bnJlZ2lzdGVyX2RyaXZlcisweDNi LzB4OTAKICAgICBub3V2ZWF1X2RybV9leGl0KzB4MTUvMHg0MzIgW25vdXZlYXVdCiAgICAgU3lT X2RlbGV0ZV9tb2R1bGUrMHgxNmMvMHgyMzAKCklzc3VlIDggLSBhY3BpOiBzbGVlcGluZyBmdW5j dGlvbiBpbiBhdG9taWMgY29udGV4dC4KKElzc3VlIGlzIGxpa2VseSBub3QgcmVsYXRlZCB0byB0 aGlzIHBhdGNoIHNldC4pCkF0IHNvbWUgcG9pbnQgSSBhbHNvIGdvdCBhIEJVRywgbm91dmVhdSB3 YXMgYWxyZWFkeSB1bmxvYWRlZCBhbmQgSSByYW46CiJlY2hvIDEgfCB0ZWUgL3N5cy9idXMvcGNp L2RldmljZXMvMDAwMDowMTowMC57MCwxfS9yZW1vdmUiCgogICAgQlVHOiBzbGVlcGluZyBmdW5j dGlvbiBjYWxsZWQgZnJvbSBpbnZhbGlkIGNvbnRleHQgYXQgL2hvbWUvcGV0ZXIvbGludXgvbW0v c2xhYi5oOjQxOQogICAgaW5fYXRvbWljKCk6IDEsIGlycXNfZGlzYWJsZWQoKTogMCwgcGlkOiA0 ODQ0LCBuYW1lOiBrd29ya2VyLzM6NAogICAgSU5GTzogbG9ja2RlcCBpcyB0dXJuZWQgb2ZmLgog ICAgQ1BVOiAzIFBJRDogNDg0NCBDb21tOiBrd29ya2VyLzM6NCBUYWludGVkOiBHICAgICAgICBX ICAgICAgICA0LjE1LjB0ZXN0aW5nLTAwMDIwLWdiMzNkNTBjNWM2YWQgIzU1CiAgICBIYXJkd2Fy ZSBuYW1lOiBOb3RlYm9vayAgICAgICAgICAgICAgICAgICAgICAgICBQNjVfUDY3UkdSRVJBL1A2 NV9QNjdSR1JFUkEsIEJJT1MgMS4wNS4xNiAwNS8xNi8yMDE2CiAgICBXb3JrcXVldWU6IGV2ZW50 c19wb3dlcl9lZmZpY2llbnQgc3JjdV9pbnZva2VfY2FsbGJhY2tzCiAgICBDYWxsIFRyYWNlOgog ICAgIGR1bXBfc3RhY2srMHg1Zi8weDg2CiAgICAgX19fbWlnaHRfc2xlZXArMHgyMGMvMHgyNDAK ICAgICBrbWVtX2NhY2hlX2FsbG9jX3RyYWNlKzB4NGQvMHgyMzAKICAgICBhY3BpX3V0X2V2YWx1 YXRlX29iamVjdCsweDY4LzB4MjNjCiAgICAgPyBzcmN1X2ludm9rZV9jYWxsYmFja3MrMHhhMi8w eDE1MAogICAgIGFjcGlfcnNfZ2V0X3BydF9tZXRob2RfZGF0YSsweDQyLzB4YTIKICAgICBhY3Bp X2dldF9pcnFfcm91dGluZ190YWJsZSsweDcwLzB4OWYKICAgICA/IF9fc2xhYl9mcmVlKzB4MTFj LzB4MzgwCiAgICAgYWNwaV9wY2lfaXJxX2ZpbmRfcHJ0X2VudHJ5KzB4ODMvMHgzMzAKICAgICA/ IHNyY3VfaW52b2tlX2NhbGxiYWNrcysweGEyLzB4MTUwCiAgICAgYWNwaV9wY2lfaXJxX2xvb2t1 cCsweDI3LzB4MmUwCiAgICAgYWNwaV9wY2lfaXJxX2Rpc2FibGUrMHg0NS8weGIwCiAgICAgcGNp X3JlbGVhc2VfZGV2KzB4MjkvMHg2MAogICAgIGRldmljZV9yZWxlYXNlKzB4MmQvMHg4MAogICAg IGtvYmplY3RfcHV0KzB4YjcvMHgxOTAKICAgICBfX2RldmljZV9saW5rX2ZyZWVfc3JjdSsweDMy LzB4NDAKICAgICBzcmN1X2ludm9rZV9jYWxsYmFja3MrMHhiYS8weDE1MAogICAgIHByb2Nlc3Nf b25lX3dvcmsrMHgyNzMvMHg2NzAKICAgICB3b3JrZXJfdGhyZWFkKzB4NGEvMHg0MDAKICAgICBr dGhyZWFkKzB4MTAwLzB4MTQwCiAgICAgPyBwcm9jZXNzX29uZV93b3JrKzB4NjcwLzB4NjcwCiAg ICAgPyBrdGhyZWFkX2NyZWF0ZV93b3JrZXJfb25fY3B1KzB4NTAvMHg1MAogICAgID8gZG9fc3lz Y2FsbF82NCsweDU2LzB4MWEwCiAgICAgPyBTeVNfZXhpdF9ncm91cCsweDEwLzB4MTAKCklzc3Vl IDkgLSBwb3RlbnRpYWwgbWVtb3J5IGNvcnJ1cHRpb24uCkF0IHNvbWUgcG9pbnQgKHBvc3NpYmx5 IGFmdGVyIGlzc3VlIDcsIGJ1dCBJIGFtIG5vdCBmdWxseSBzdXJlKSwgSSBzYXcKYW4gYXJ0aWZh Y3QgaW4gdGhlIHRleHQgY29uc29sZSB3aGljaCB3b3VsZCBwZXJzaXN0IGV2ZW4gd2hlbiBzd2l0 Y2hpbmcKYmV0d2VlbiBjb25zb2xlcy4gSXQgd2FzIGdvbmUgYWZ0ZXIgc3lzdGVtIHNsZWVwL3Jl c3VtZS4gSWYgSSByZW1lbWJlcgpjb3JyZWN0bHksIGl0IGxvb2tlZCBsaWtlIHNvbWV0aGluZyBm cm9tIGEgWG9yZyBzZXNzaW9uIHdoaWNoIEkga2lsbGVkCmJlZm9yZS4KClRoYXQgd2FzIHRoZSBi YWQgbmV3cywgdGhlIGdvb2QgbmV3czoKLSBMb2FkaW5nIG5vdXZlYXUgYW5kIHNuZC1oZGEtaW50 ZWwgKGluIGFueSBvcmRlcikgd2hpbGUgUlBNIGlzIGVuYWJsZWQKICBhbmQgdGhlIHBvcnQgd2Fz IGluIEQzY29sZCB3b3Jrcy4KLSBSUE0gaW50ZXJhY3Rpb24gYmV0d2VlbiBhdWRpbyBhbmQgR1BV IHNlZW1zIGdvb2QsIHdoZW4gYXVkaW8gcmVzdW1lcywKICB0aGUgR1BVIFJQTSBjb3VudGVyIGlu Y3JlbWVudHMsIHdoZW4gYXVkaW8gc3VzcGVuZHMgaXQgZGVjcmVtZW50cy4KLSBBcyB0aGUgR1BV IGVudGVycyBEM2NvbGQsIEkgY2FuIG9ic2VydmUgc2lnbmlmaWNhbnQgcG93ZXIgc2F2aW5ncwog IHRocm91Z2ggL3N5cy9jbGFzcy9wb3dlcl9zdXBwbHkvQkFUMC8gKG5vIHJlZ3Jlc3Npb25zIGhl cmUpLgotIEluIGEgZGVmYXVsdCBjb25maWd1cmF0aW9uIEkgaGF2ZSBubyBhdWRpbyBmdW5jdGlv biAoc2VlIGFsc28gbm91dmVhdQogIGJ1ZyBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD03NTk4NSkgc28gbW9zdCBvZiB0aGUKICBhYm92ZSBpc3N1ZXMgc2hvdWxk IG5vdCBvY2N1ci4KCkhvcGUgaXQgaGVscHMsIGFuZCBpZiBkZXNpcmVkIHlvdSBjYW4gYWRkOgpU ZXN0ZWQtYnk6IFBldGVyIFd1IDxwZXRlckBsZWtlbnN0ZXluLm5sPgoKRm9yIHRoZSBmb2xsb3dp bmcgcGF0Y2hlcywgeW91IGNhbiBhbHNvIGFkZCBteSBSZXZpZXdlZC1ieToKCiAgICB2Z2Ffc3dp dGNoZXJvbzogVXBkYXRlIFBDSSBjdXJyZW50X3N0YXRlIG9uIHBvd2VyIGNoYW5nZQogICAgdmdh X3N3aXRjaGVyb286IERlZHVwbGljYXRlIHBvd2VyIHN0YXRlIHRyYWNraW5nCiAgICB2Z2Ffc3dp dGNoZXJvbzogVXNlIGRldmljZSBsaW5rIGZvciBIREEgY29udHJvbGxlcgogICAgdmdhX3N3aXRj aGVyb286IExldCBIREEgYXV0b3N1c3BlbmQgb24gbXV4IGNoYW5nZQogICAgZHJtL25vdXZlYXU6 IFJ1bnRpbWUgc3VzcGVuZCBkZXNwaXRlIEhEQSBiZWluZyB1bmJvdW5kCgpUaGUgdHdvIG90aGVy IFBDSSBwYXRjaGVzIGxvb2sgZmluZSBhcyB3ZWxsLgoKS2luZCByZWdhcmRzLApQZXRlcgoKT24g U2F0LCBNYXIgMDMsIDIwMTggYXQgMTA6NTM6MjRBTSArMDEwMCwgTHVrYXMgV3VubmVyIHdyb3Rl Ogo+IE1vZGVybml6ZSB2Z2Ffc3dpdGNoZXJvbyBieSB1c2luZyBhIGRldmljZSBsaW5rIHRvIGVu Zm9yY2UgYSBydW50aW1lIFBNCj4gZGVwZW5kZW5jeSBmcm9tIGFuIEhEQSBjb250cm9sbGVyIHRv IHRoZSBHUFUgaXQncyBpbnRlZ3JhdGVkIGludG8sIHYyLgo+IAo+IENoYW5nZXMgc2luY2UgdjE6 Cj4gCj4gLSBSZXBsYWNlIHBhdGNoIFsxLzddIHRvIHVzZSBwY2lfc2F2ZV9zdGF0ZSgpIC8gcGNp X3Jlc3RvcmVfc3RhdGUoKQo+ICAgZm9yIGNvbnNpc3RlbmN5IGJldHdlZW4gcnVudGltZSBQTSBj b2RlIHBhdGggb2YgYm91bmQgYW5kIHVuYm91bmQKPiAgIGRldmljZXMuIChSYWZhZWwsIEJqb3Ju KQo+IAo+IC0gUGF0Y2ggWzUvN106IERyb3AgYW4gdW5uZWNlc3NhcnkgaW5pdGlhbGl6YXRpb24u IChCam9ybikKPiAgIFJlcGhyYXNlIGVycm9yIG1lc3NhZ2Ugb24gZmFpbGVkIGxpbmsgYWRkaXRp b24gZm9yIGNsYXJpdHkuCj4gCj4gTGluayB0byB2MToKPiBodHRwczovL3d3dy5zcGluaWNzLm5l dC9saXN0cy9kcmktZGV2ZWwvbXNnMTY1ODg5Lmh0bWwKPiAKPiBUZXN0aW5nIG9uIG1vcmUgbWFj aGluZXMgd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZCwgcGFydGljdWxhcmx5Cj4gTnZpZGlh IE9wdGltdXMgb3IgQU1EIFBvd2VyWHByZXNzLgo+IAo+IFRoZSBzZXJpZXMgaXMgYmFzZWQgb24g NC4xNi1yYzMuICBUbyB0ZXN0IGl0IG9uIDQuMTUsIHlvdSBuZWVkIHRvCj4gY2hlcnJ5LXBpY2sg NzUwNmRjNzk4OTkzIGFuZCAyZmE2ZDZjZGFmMjguICBGb3IgeW91ciBjb252ZW5pZW5jZQo+IEkn dmUgcHVzaGVkIGEgNC4xNS1iYXNlZCBicmFuY2ggdG86Cj4gaHR0cHM6Ly9naXRodWIuY29tL2wx ay9saW51eC9jb21taXRzL3N3aXRjaGVyb29fZGV2bGlua192Mgo+IAo+IE1pbmltYWwgdGVzdCBw cm9jZWR1cmU6Cj4gCj4gLSBOb3RlIHdlbGw6IFJlY2VudCBPcHRpbXVzIHJlcXVpcmUgdGhhdCBh IE1pbmktRFAgb3IgSERNSSBjYWJsZSBpcwo+ICAgcGx1Z2dlZCBpbiBvbiBib290IGZvciB0aGUg SERBIGRldmljZSB0byBiZSBwcmVzZW50Lgo+IAo+IC0gQ2hlY2sgdGhhdCBIREEsIEdQVSBhbmQg cm9vdCBwb3J0IGF1dG9zdXNwZW5kIHdoZW4gbm90IGluIHVzZToKPiAgIGNhdCAvc3lzL2J1cy9w Y2kvZGV2aWNlcy8wMDAwOjAxOjAwLjEvcG93ZXIvcnVudGltZV9zdGF0dXMgICMgSERBCj4gICBj YXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMTowMC4wL3Bvd2VyL3J1bnRpbWVfc3RhdHVz ICAjIEdQVQo+ICAgY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDEuMC9wb3dlci9y dW50aW1lX3N0YXR1cyAgIyBSb290IFBvcnQKPiAKPiAtIENoZWNrIHRoYXQgYWxsIHRocmVlIGF1 dG9yZXN1bWUgd2hlbiBhY2Nlc3NpbmcgdGhlIEhEQToKPiAgIGhkYWphY2tzZW5zZXRlc3QgLWMg MQo+IAo+IC0gVW5iaW5kIHRoZSBIREEgY29udHJvbGxlcjoKPiAgIGVjaG8gMDAwMDowMTowMC4x ID4gL3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRlbC91bmJpbmQKPiAgIFdhaXQgZm9y IEdQVSB0byBwb3dlciBvZmYsIHRoZW4gcmViaW5kIHRoZSBIREEgY29udHJvbGxlcjoKPiAgIGVj aG8gMDAwMDowMTowMC4xID4gL3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRlbC9iaW5k Cj4gICBDaGVjayBkbWVzZyBmb3IgZXJyb3JzLCB0cnkgYWNjZXNzaW5nIEhEQSB3aXRoIGhkYWph Y2tzZW5zZXRlc3QuCj4gCj4gLSBJZiB5b3VyIGxhcHRvcCB1c2VzIHRoZSByb290IHBvcnQncyBf UFIzIHRvIGN1dCBwb3dlciB0byB0aGUgR1BVOgo+ICAgVW5iaW5kIHRoZSBHUFU6Cj4gICBlY2hv IDAwMDA6MDE6MDAuMCA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL3tub3V2ZWF1LGFtZGdwdSxyYWRl b259L3VuYmluZAo+ICAgQWxsb3cgcnVudGltZSBQTSBvbiB0aGUgR1BVOgo+ICAgZWNobyBhdXRv ID4gL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMTowMC4wL3Bvd2VyL2NvbnRyb2wKPiAgIFdh aXQgZm9yIEdQVSB0byBwb3dlciBvZmYsIHRoZW4gcmViaW5kIGl0Ogo+ICAgZWNobyAwMDAwOjAx OjAwLjAgPiAvc3lzL2J1cy9wY2kvZHJpdmVycy97bm91dmVhdSxhbWRncHUscmFkZW9ufS9iaW5k Cj4gICBDaGVjayBkbWVzZyBmb3IgZXJyb3JzLiAgSWYgeW91IHNlZSBhbnkgdGhlbiB3ZSBtYXkg bmVlZCB0byBwZXJmb3JtCj4gICBmdXJ0aGVyIGFjdGlvbnMgaW4gcGNpX3BtX3J1bnRpbWVfcmVz dW1lKCksIHNlZSBwYXRjaCBbMS83XS4KPiAKPiBUaGFua3MsCj4gCj4gTHVrYXMKPiAKPiAKPiBM dWthcyBXdW5uZXIgKDYpOgo+ICAgUENJOiBNYWtlIHBjaV93YWtldXBfYnVzKCkgJiBwY2lfYnVz X3NldF9jdXJyZW50X3N0YXRlKCkgcHVibGljCj4gICB2Z2Ffc3dpdGNoZXJvbzogVXBkYXRlIFBD SSBjdXJyZW50X3N0YXRlIG9uIHBvd2VyIGNoYW5nZQo+ICAgdmdhX3N3aXRjaGVyb286IERlZHVw bGljYXRlIHBvd2VyIHN0YXRlIHRyYWNraW5nCj4gICB2Z2Ffc3dpdGNoZXJvbzogVXNlIGRldmlj ZSBsaW5rIGZvciBIREEgY29udHJvbGxlcgo+ICAgdmdhX3N3aXRjaGVyb286IExldCBIREEgYXV0 b3N1c3BlbmQgb24gbXV4IGNoYW5nZQo+ICAgZHJtL25vdXZlYXU6IFJ1bnRpbWUgc3VzcGVuZCBk ZXNwaXRlIEhEQSBiZWluZyB1bmJvdW5kCj4gCj4gUmFmYWVsIEouIFd5c29ja2kgKDEpOgo+ICAg UENJOiBSZXN0b3JlIGNvbmZpZyBzcGFjZSBvbiBydW50aW1lIHJlc3VtZSBkZXNwaXRlIGJlaW5n IHVuYm91bmQKPiAKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jIHwg ICAyIC0KPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYyAgIHwgIDQ2IC0t LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaCAgIHwgICAx IC0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgICAgIHwgICAyIC0KPiAg ZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0Y2hlcm9vLmMgICAgICAgIHwgMTUyICsrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvcGNpL3BjaS1kcml2ZXIuYyAgICAgICAg ICAgICAgICB8ICAxNyArKy0tCj4gIGRyaXZlcnMvcGNpL3BjaS5jICAgICAgICAgICAgICAgICAg ICAgICB8ICAgOCArLQo+ICBkcml2ZXJzL3BjaS9xdWlya3MuYyAgICAgICAgICAgICAgICAgICAg fCAgMzkgKysrKysrKysKPiAgaW5jbHVkZS9saW51eC9wY2kuaCAgICAgICAgICAgICAgICAgICAg IHwgICAyICsKPiAgaW5jbHVkZS9saW51eC9wY2lfaWRzLmggICAgICAgICAgICAgICAgIHwgICAx ICsKPiAgaW5jbHVkZS9saW51eC92Z2Ffc3dpdGNoZXJvby5oICAgICAgICAgIHwgICA2IC0tCj4g IGluY2x1ZGUvc291bmQvaGRhdWRpby5oICAgICAgICAgICAgICAgICB8ICAgMyAtCj4gIHNvdW5k L3BjaS9oZGEvaGRhX2ludGVsLmMgICAgICAgICAgICAgICB8ICAzNiArKysrKy0tLQo+ICBzb3Vu ZC9wY2kvaGRhL2hkYV9pbnRlbC5oICAgICAgICAgICAgICAgfCAgIDMgLQo+ICAxNCBmaWxlcyBj aGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMjAxIGRlbGV0aW9ucygtKQo+IAo+IC0tIAo+IDIu MTUuMQo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO b3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK