From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH] drm/radeon: fix TOPDOWN handling for bo_create Date: Tue, 17 Mar 2015 11:19:20 -0400 Message-ID: References: <1426088652-32727-1-git-send-email-alexander.deucher@amd.com> <550087B6.3090307@vodafone.de> <55015640.4020008@daenzer.net> <55015B27.2030208@vodafone.de> <550251B2.5020000@daenzer.net> <5507A41F.20003@daenzer.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a114902aeaf1b6805117d7d26 Return-path: Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 600886E6E3 for ; Tue, 17 Mar 2015 08:19:21 -0700 (PDT) Received: by qgh62 with SMTP id 62so10958716qgh.1 for ; Tue, 17 Mar 2015 08:19:20 -0700 (PDT) In-Reply-To: <5507A41F.20003@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Michel_D=C3=A4nzer?= Cc: Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org --001a114902aeaf1b6805117d7d26 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Mar 16, 2015 at 11:48 PM, Michel D=C3=A4nzer w= rote: > On 17.03.2015 07:32, Alex Deucher wrote: >> On Thu, Mar 12, 2015 at 10:55 PM, Michel D=C3=A4nzer wrote: >>> On 12.03.2015 22:09, Alex Deucher wrote: >>>> On Thu, Mar 12, 2015 at 5:23 AM, Christian K=C3=B6nig >>>> wrote: >>>>> On 12.03.2015 10:02, Michel D=C3=A4nzer wrote: >>>>>> >>>>>> On 12.03.2015 06:14, Alex Deucher wrote: >>>>>>> >>>>>>> On Wed, Mar 11, 2015 at 4:51 PM, Alex Deucher >>>>>>> wrote: >>>>>>>> >>>>>>>> On Wed, Mar 11, 2015 at 2:21 PM, Christian K=C3=B6nig >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> On 11.03.2015 16:44, Alex Deucher wrote: >>>>>>>>>> >>>>>>>>>> radeon_bo_create() calls radeon_ttm_placement_from_domain() >>>>>>>>>> before ttm_bo_init() is called. radeon_ttm_placement_from_domai= n() >>>>>>>>>> uses the ttm bo size to determine when to select top down >>>>>>>>>> allocation but since the ttm bo is not initialized yet the >>>>>>>>>> check is always false. >>>>>>>>>> >>>>>>>>>> Noticed-by: Oded Gabbay >>>>>>>>>> Signed-off-by: Alex Deucher >>>>>>>>>> Cc: stable@vger.kernel.org >>>>>>>>> >>>>>>>>> >>>>>>>>> And I was already wondering why the heck the BOs always made this >>>>>>>>> ping/pong >>>>>>>>> in memory after creation. >>>>>>>>> >>>>>>>>> Patch is Reviewed-by: Christian K=C3=B6nig >>>>>>>> >>>>>>>> And fixing that promptly broke VCE due to vram location requiremen= ts. >>>>>>>> Updated patch attached. Thoughts? >>>>>>> >>>>>>> And one more take to make things a bit more explicit for static ker= nel >>>>>>> driver allocations. >>>>>> >>>>>> struct ttm_place::lpfn is honoured even with TTM_PL_FLAG_TOPDOWN, so >>>>>> latter should work with RADEON_GEM_CPU_ACCESS. It sounds like the >>>>>> problem is really that some BOs are expected to be within a certain >>>>>> range from the beginning of VRAM, but lpfn isn't set accordingly. It >>>>>> would be better to fix that by setting lpfn directly than indirectly= via >>>>>> RADEON_GEM_CPU_ACCESS. >>>>> >>>>> >>>>> Yeah, agree. We should probably try to find the root cause of this in= stead. >>>>> >>>>> As far as I know VCE has no documented limitation on where buffers ar= e >>>>> placed (unlike UVD). So this is a bit strange. Are you sure that it i= sn't >>>>> UVD which breaks here? >>>> >>>> It's definitely VCE, I don't know why UVD didn't have a problem. I >>>> considered using pin_restricted to make sure it got pinned in the CPU >>>> visible region, but that had two problems: 1. it would end up getting >>>> migrated when pinned, >>> >>> Maybe something like radeon_uvd_force_into_uvd_segment() is needed for >>> VCE as well? >>> >>> >>>> 2. it would end up at the top of the restricted >>>> region since the top down flag is set which would end up fragmenting >>>> vram. >>> >>> If that's an issue (which outweighs the supposed benefit of >>> TTM_PL_FLAG_TOPDOWN), then again the proper solution would be not to se= t >>> TTM_PL_FLAG_TOPDOWN when rbo->placements[i].lpfn !=3D 0 and smaller tha= n >>> the whole available region, instead of checking for VRAM and >>> RADEON_GEM_CPU_ACCESS. >>> >> >> How about something like the attached patch? I'm not really sure >> about the restrictions for the UVD and VCE fw and stack/heap buffers, >> but this seems to work. It seems like the current UVD/VCE code works >> by accident since the check for TOPDOWN fails. > > This patch is getting a bit messy, mixing several logically separate > changes. Can you split it up accordingly? E.g. one patch just adding the > new fpfn and lpfn function parameters but passing 0 for them (so no > functional change), then one or several patches with the corresponding > functional changes, and finally one patch adding the new size parameter > (and thus making TTM_PL_FLAG_TOPDOWN actually used for newly allocated > BOs). I think that would help for reviewing and generally understanding > the changes. > > >> @@ -105,14 +106,17 @@ void radeon_ttm_placement_from_domain(struct radeo= n_bo *rbo, u32 domain) >> */ >> if ((rbo->flags & RADEON_GEM_NO_CPU_ACCESS) && >> rbo->rdev->mc.visible_vram_size < rbo->rdev->mc.real_v= ram_size) { >> - rbo->placements[c].fpfn =3D >> - rbo->rdev->mc.visible_vram_size >> PAGE_SH= IFT; >> + if (fpfn > (rbo->rdev->mc.visible_vram_size >> PAG= E_SHIFT)) >> + rbo->placements[c].fpfn =3D fpfn; >> + else >> + rbo->placements[c].fpfn =3D >> + rbo->rdev->mc.visible_vram_size >>= PAGE_SHIFT; >> rbo->placements[c++].flags =3D TTM_PL_FLAG_WC | >> TTM_PL_FLAG_UNCACHED = | >> TTM_PL_FLAG_VRAM; >> } > > If (fpfn >=3D rbo->rdev->mc.visible_vram_size), this whole block can be > skipped, since the next placement will be identical. > > OTOH, fpfn is currently always 0 anyway, so maybe it's better not to add > that parameter in the first place. > > > Other than that, looks good to me. Broken out patches attached. Also available here: http://cgit.freedesktop.org/~agd5f/linux/log/?h=3Dtopdown-fixes Alex --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0005-drm-radeon-optimize-radeon_uvd_force_into_uvd_segmen.patch" Content-Disposition: attachment; filename="0005-drm-radeon-optimize-radeon_uvd_force_into_uvd_segmen.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ifp0 RnJvbSAyMTY2ZGI5MTQ0ODc1MGE5MWMwZjE5ZmE1N2Y5ZjZmYzYzMDJhZDE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6NDY6MDggLTA0MDAKU3ViamVjdDogW1BBVENI IDA1LzEwXSBkcm0vcmFkZW9uOiBvcHRpbWl6ZQogcmFkZW9uX3V2ZF9mb3JjZV9pbnRvX3V2ZF9z ZWdtZW50KCkKClVzZSB0aGUgbmV3IGxwZm4gcGFyYW1ldGVyIHRvIHJhZGVvbl90dG1fcGxhY2Vt ZW50X2Zyb21fZG9tYWluKCkKdG8gc2V0IHRoZSByZXN0cmljdGlvbiB1cGZyb250IHJhdGhlciB0 aGFuIGFkanVzdGluZyBpbgpyYWRlb25fdXZkX2ZvcmNlX2ludG9fdXZkX3NlZ21lbnQoKS4KClNp Z25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyB8IDggKysrKysrLS0KIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3V2ZC5jICAgIHwgNyAtLS0tLS0tCiAyIGZpbGVz IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX29iamVjdC5jCmluZGV4IGFmMTY2ZTUuLmIxZTQyOWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCkBAIC01NTcsOSArNTU3LDEzIEBAIGludCByYWRl b25fYm9fbGlzdF92YWxpZGF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCX0KIAog CQlyZXRyeToKLQkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21haW4s IDAsIDApOwotCQkJaWYgKHJpbmcgPT0gUjYwMF9SSU5HX1RZUEVfVVZEX0lOREVYKQorCQkJaWYg KHJpbmcgPT0gUjYwMF9SSU5HX1RZUEVfVVZEX0lOREVYKSB7CisJCQkJcmFkZW9uX3R0bV9wbGFj ZW1lbnRfZnJvbV9kb21haW4oYm8sIGRvbWFpbiwKKwkJCQkJCQkJIDAsICgyNTYgKiAxMDI0ICog MTAyNCkgPj4gUEFHRV9TSElGVCk7CiAJCQkJcmFkZW9uX3V2ZF9mb3JjZV9pbnRvX3V2ZF9zZWdt ZW50KGJvLCBhbGxvd2VkKTsKKwkJCX0gZWxzZSB7CisJCQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4oYm8sIGRvbWFpbiwgMCwgMCk7CisJCQl9CiAKIAkJCWluaXRpYWxfYnl0ZXNf bW92ZWQgPSBhdG9taWM2NF9yZWFkKCZyZGV2LT5udW1fYnl0ZXNfbW92ZWQpOwogCQkJciA9IHR0 bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5wbGFjZW1lbnQsIHRydWUsIGZhbHNlKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3V2ZC5jIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMKaW5kZXggZTk4ZTRjNi4uY2VhM2ViMSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMKQEAgLTI1OSwxMyArMjU5LDYgQEAgaW50IHJhZGVv bl91dmRfcmVzdW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogdm9pZCByYWRlb25fdXZk X2ZvcmNlX2ludG9fdXZkX3NlZ21lbnQoc3RydWN0IHJhZGVvbl9ibyAqcmJvLAogCQkJCSAgICAg ICB1aW50MzJfdCBhbGxvd2VkX2RvbWFpbnMpCiB7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBp IDwgcmJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVudDsgKytpKSB7Ci0JCXJiby0+cGxhY2VtZW50 c1tpXS5mcGZuID0gMCA+PiBQQUdFX1NISUZUOwotCQlyYm8tPnBsYWNlbWVudHNbaV0ubHBmbiA9 ICgyNTYgKiAxMDI0ICogMTAyNCkgPj4gUEFHRV9TSElGVDsKLQl9Ci0KIAkvKiBJZiBpdCBtdXN0 IGJlIGluIFZSQU0gaXQgbXVzdCBiZSBpbiB0aGUgZmlyc3Qgc2VnbWVudCBhcyB3ZWxsICovCiAJ aWYgKGFsbG93ZWRfZG9tYWlucyA9PSBSQURFT05fR0VNX0RPTUFJTl9WUkFNKQogCQlyZXR1cm47 Ci0tIAoxLjguMy4xCgo= --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0010-drm-radeon-fix-TOPDOWN-handling-for-bo_create-v4.patch" Content-Disposition: attachment; filename="0010-drm-radeon-fix-TOPDOWN-handling-for-bo_create-v4.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ig41 RnJvbSBkYjBiZTIxZDgzMDc4YjJmZTRjYzZlOTExNWQwYjYzYTcyYTdlNTA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTE6MTM6MDMgLTA0MDAKU3ViamVjdDogW1BBVENI IDEwLzEwXSBkcm0vcmFkZW9uOiBmaXggVE9QRE9XTiBoYW5kbGluZyBmb3IgYm9fY3JlYXRlICh2 NCkKCnJhZGVvbl9ib19jcmVhdGUoKSBjYWxscyByYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2Rv bWFpbigpCmJlZm9yZSB0dG1fYm9faW5pdCgpIGlzIGNhbGxlZC4gIHJhZGVvbl90dG1fcGxhY2Vt ZW50X2Zyb21fZG9tYWluKCkKdXNlcyB0aGUgdHRtIGJvIHNpemUgdG8gZGV0ZXJtaW5lIHdoZW4g dG8gc2VsZWN0IHRvcCBkb3duCmFsbG9jYXRpb24gYnV0IHNpbmNlIHRoZSB0dG0gYm8gaXMgbm90 IGluaXRpYWxpemVkIHlldCB0aGUKY2hlY2sgaXMgYWx3YXlzIGZhbHNlLgoKdjI6IG9ubHkgdXNl IHRvcGRvd24gZm9yIHZyYW0gaWYgdGhlIHVzZXIgaGFzIG5vdCByZXF1ZXN0ZWQKQ1BVIGFjY2Vz cyBleHBsaWNpdGx5LiAgRml4ZXMgVkNFLgoKdjM6IGV4cGxpY3RseSBzZXQgQ1BVIGFjY2VzcyBv biBrZXJuZWwgYWxsb2NhdGlvbnMgd2hlcmUgd2UKZXhwZWN0IGFsbG9jYXRpb25zIHRvIGJlIGF0 IHRoZSBzdGFydCBvZiB2cmFtIHRvIGF2b2lkCmZyYWdtZW50YXRpb24gYW5kIGV4dHJhIG1pZ3Jh dGlvbi4KCnY0OiBkcm9wIHYyL3YzIGNoYW5nZXMsIHJlYmFzZSBvbiB0b3Agb2YgcGZuIGNoYW5n ZXMKCk5vdGljZWQtYnk6IE9kZWQgR2FiYmF5IDxvZGVkLmdhYmJheUBhbWQuY29tPgpTaWduZWQt b2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX21uLmMgICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9vYmplY3QuYyB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX3R0bS5jICAgIHwgMTIgKysrKysrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDI0 IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmlu ZGV4IDdkZTNlMjEuLjgwOWZjNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaApAQCAtMjk4MSw3 ICsyOTgxLDcgQEAgZXh0ZXJuIGludCByYWRlb25fY3NfcGFyc2VyX2luaXQoc3RydWN0IHJhZGVv bl9jc19wYXJzZXIgKnAsIHZvaWQgKmRhdGEpOwogZXh0ZXJuIHZvaWQgcmFkZW9uX2xlZ2FjeV9z ZXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgZW5hYmxlKTsK IGV4dGVybiB2b2lkIHJhZGVvbl9hdG9tX3NldF9jbG9ja19nYXRpbmcoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYsIGludCBlbmFibGUpOwogZXh0ZXJuIHZvaWQgcmFkZW9uX3R0bV9wbGFjZW1l bnRfZnJvbV9kb21haW4oc3RydWN0IHJhZGVvbl9ibyAqcmJvLCB1MzIgZG9tYWluLAotCQkJCQkg ICAgIHVuc2lnbmVkIGZwZm4sIHVuc2lnbmVkIGxwZm4pOworCQkJCQkgICAgIHU2NCBzaXplLCB1 bnNpZ25lZCBmcGZuLCB1bnNpZ25lZCBscGZuKTsKIGV4dGVybiBib29sIHJhZGVvbl90dG1fYm9f aXNfcmFkZW9uX2JvKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pOwogZXh0ZXJuIGludCBy YWRlb25fdHRtX3R0X3NldF91c2VycHRyKHN0cnVjdCB0dG1fdHQgKnR0bSwgdWludDY0X3QgYWRk ciwKIAkJCQkgICAgIHVpbnQzMl90IGZsYWdzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2Vt LmMKaW5kZXggMDE3NTI5Ni4uM2U3ODU2NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dl bS5jCkBAIC0zMzcsNyArMzM3LDggQEAgaW50IHJhZGVvbl9nZW1fdXNlcnB0cl9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJZ290byByZWxlYXNlX29iamVjdDsK IAkJfQogCi0JCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBSQURFT05fR0VN X0RPTUFJTl9HVFQsIDAsIDApOworCQlyYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihi bywgUkFERU9OX0dFTV9ET01BSU5fR1RULAorCQkJCQkJIGJvLT50Ym8ubWVtLnNpemUsIDAsIDAp OwogCQlyID0gdHRtX2JvX3ZhbGlkYXRlKCZiby0+dGJvLCAmYm8tPnBsYWNlbWVudCwgdHJ1ZSwg ZmFsc2UpOwogCQlyYWRlb25fYm9fdW5yZXNlcnZlKGJvKTsKIAkJdXBfcmVhZCgmY3VycmVudC0+ bW0tPm1tYXBfc2VtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X21uLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tbi5jCmluZGV4IDM1OWYxZjIu LjBkZWYyMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21uLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW4uYwpAQCAtMTQxLDcgKzE0MSw4 IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9tbl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHN0cnVjdCBt bXVfbm90aWZpZXIgKm1uLAogCQkJCURSTV9FUlJPUigiKCVkKSBmYWlsZWQgdG8gd2FpdCBmb3Ig dXNlciBib1xuIiwgcik7CiAJCX0KIAotCQlyYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFp bihibywgUkFERU9OX0dFTV9ET01BSU5fQ1BVLCAwLCAwKTsKKwkJcmFkZW9uX3R0bV9wbGFjZW1l bnRfZnJvbV9kb21haW4oYm8sIFJBREVPTl9HRU1fRE9NQUlOX0NQVSwKKwkJCQkJCSBiby0+dGJv Lm1lbS5zaXplLCAwLCAwKTsKIAkJciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5w bGFjZW1lbnQsIGZhbHNlLCBmYWxzZSk7CiAJCWlmIChyKQogCQkJRFJNX0VSUk9SKCIoJWQpIGZh aWxlZCB0byB2YWxpZGF0ZSB1c2VyIGJvXG4iLCByKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fb2JqZWN0LmMKaW5kZXggMjA1ZGZiOC4uNDRiNTk0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fb2JqZWN0LmMKQEAgLTk0LDcgKzk0LDcgQEAgYm9vbCByYWRlb25fdHRtX2JvX2lz X3JhZGVvbl9ibyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogfQogCiB2b2lkIHJhZGVv bl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHN0cnVjdCByYWRlb25fYm8gKnJibywgdTMyIGRv bWFpbiwKLQkJCQkgICAgICB1bnNpZ25lZCBmcGZuLCB1bnNpZ25lZCBscGZuKQorCQkJCSAgICAg IHU2NCBzaXplLCB1bnNpZ25lZCBmcGZuLCB1bnNpZ25lZCBscGZuKQogewogCXUzMiBjID0gMCwg aTsKIApAQCAtMTgxLDkgKzE4MSwxMCBAQCB2b2lkIHJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21f ZG9tYWluKHN0cnVjdCByYWRlb25fYm8gKnJibywgdTMyIGRvbWFpbiwKIAkgKiBpbXByb3ZlIGZy YWdtZW50YXRpb24gcXVhbGl0eS4KIAkgKiA1MTJrYiB3YXMgbWVhc3VyZWQgYXMgdGhlIG1vc3Qg b3B0aW1hbCBudW1iZXIuCiAJICovCi0JaWYgKHJiby0+dGJvLm1lbS5zaXplID4gNTEyICogMTAy NCkgeworCWlmIChzaXplID4gNTEyICogMTAyNCkgewogCQlmb3IgKGkgPSAwOyBpIDwgYzsgaSsr KSB7Ci0JCQlyYm8tPnBsYWNlbWVudHNbaV0uZmxhZ3MgfD0gVFRNX1BMX0ZMQUdfVE9QRE9XTjsK KwkJCWlmIChyYm8tPnBsYWNlbWVudHNbaV0ubHBmbiA9PSAwKQorCQkJCXJiby0+cGxhY2VtZW50 c1tpXS5mbGFncyB8PSBUVE1fUExfRkxBR19UT1BET1dOOwogCQl9CiAJfQogfQpAQCAtMjU0LDcg KzI1NSw3IEBAIGludCByYWRlb25fYm9fY3JlYXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LAogCWJvLT5mbGFncyAmPSB+UkFERU9OX0dFTV9HVFRfV0M7CiAjZW5kaWYKIAotCXJhZGVvbl90 dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21haW4sIGZwZm4sIGxwZm4pOworCXJhZGVv bl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21haW4sIHNpemUsIGZwZm4sIGxwZm4p OwogCS8qIEtlcm5lbCBhbGxvY2F0aW9uIGFyZSB1bmludGVycnVwdGlibGUgKi8KIAlkb3duX3Jl YWQoJnJkZXYtPnBtLm1jbGtfbG9jayk7CiAJciA9IHR0bV9ib19pbml0KCZyZGV2LT5tbWFuLmJk ZXYsICZiby0+dGJvLCBzaXplLCB0eXBlLApAQCAtMzYwLDcgKzM2MSw3IEBAIGludCByYWRlb25f Ym9fcGluX3Jlc3RyaWN0ZWQoc3RydWN0IHJhZGVvbl9ibyAqYm8sIHUzMiBkb21haW4sIHU2NCBt YXhfb2Zmc2V0LAogCQlscGZuID0gYm8tPnJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplID4+IFBB R0VfU0hJRlQ7CiAJZWxzZQogCQlscGZuID0gbWF4X29mZnNldCA+PiBQQUdFX1NISUZUOwotCXJh ZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21haW4sIDAsIGxwZm4pOworCXJh ZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21haW4sIGJvLT50Ym8ubWVtLnNp emUsIDAsIGxwZm4pOwogCWZvciAoaSA9IDA7IGkgPCBiby0+cGxhY2VtZW50Lm51bV9wbGFjZW1l bnQ7IGkrKykKIAkJYm8tPnBsYWNlbWVudHNbaV0uZmxhZ3MgfD0gVFRNX1BMX0ZMQUdfTk9fRVZJ Q1Q7CiAKQEAgLTU1OCwxMSArNTU5LDExIEBAIGludCByYWRlb25fYm9fbGlzdF92YWxpZGF0ZShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAogCQlyZXRyeToKIAkJCWlmIChyaW5nID09IFI2 MDBfUklOR19UWVBFX1VWRF9JTkRFWCkgewotCQkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21f ZG9tYWluKGJvLCBkb21haW4sCisJCQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4o Ym8sIGRvbWFpbiwgYm8tPnRiby5tZW0uc2l6ZSwKIAkJCQkJCQkJIDAsICgyNTYgKiAxMDI0ICog MTAyNCkgPj4gUEFHRV9TSElGVCk7CiAJCQkJcmFkZW9uX3V2ZF9mb3JjZV9pbnRvX3V2ZF9zZWdt ZW50KGJvLCBhbGxvd2VkKTsKIAkJCX0gZWxzZSB7Ci0JCQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4oYm8sIGRvbWFpbiwgMCwgMCk7CisJCQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4oYm8sIGRvbWFpbiwgYm8tPnRiby5tZW0uc2l6ZSwgMCwgMCk7CiAJCQl9CiAK IAkJCWluaXRpYWxfYnl0ZXNfbW92ZWQgPSBhdG9taWM2NF9yZWFkKCZyZGV2LT5udW1fYnl0ZXNf bW92ZWQpOwpAQCAtODA1LDEwICs4MDYsMTIgQEAgaW50IHJhZGVvbl9ib19mYXVsdF9yZXNlcnZl X25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogCiAJLyogaHVycmFoIHRoZSBt ZW1vcnkgaXMgbm90IHZpc2libGUgISAqLwogCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9t YWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwKKwkJCQkJIHJiby0+dGJvLm1lbS5zaXpl LAogCQkJCQkgMCwgcmRldi0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7CiAJ ciA9IHR0bV9ib192YWxpZGF0ZShibywgJnJiby0+cGxhY2VtZW50LCBmYWxzZSwgZmFsc2UpOwog CWlmICh1bmxpa2VseShyID09IC1FTk9NRU0pKSB7Ci0JCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zy b21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCAwKTsKKwkJcmFkZW9uX3R0 bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJTl9HVFQsCisJCQkJ CQkgcmJvLT50Ym8ubWVtLnNpemUsIDAsIDApOwogCQlyZXR1cm4gdHRtX2JvX3ZhbGlkYXRlKGJv LCAmcmJvLT5wbGFjZW1lbnQsIGZhbHNlLCBmYWxzZSk7CiAJfSBlbHNlIGlmICh1bmxpa2VseShy ICE9IDApKSB7CiAJCXJldHVybiByOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwppbmRl eCA0OWQwMGQ4Li5iZWZiNTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwpAQCAt MTk3LDcgKzE5Nyw4IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9ldmljdF9mbGFncyhzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvLAogCXN3aXRjaCAoYm8tPm1lbS5tZW1fdHlwZSkgewogCWNhc2Ug VFRNX1BMX1ZSQU06CiAJCWlmIChyYm8tPnJkZXYtPnJpbmdbcmFkZW9uX2NvcHlfcmluZ19pbmRl eChyYm8tPnJkZXYpXS5yZWFkeSA9PSBmYWxzZSkKLQkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zy b21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fQ1BVLCAwLCAwKTsKKwkJCXJhZGVvbl90 dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fQ1BVLAorCQkJ CQkJCSByYm8tPnRiby5tZW0uc2l6ZSwgMCwgMCk7CiAJCWVsc2UgaWYgKHJiby0+cmRldi0+bWMu dmlzaWJsZV92cmFtX3NpemUgPCByYm8tPnJkZXYtPm1jLnJlYWxfdnJhbV9zaXplICYmCiAJCQkg Ym8tPm1lbS5zdGFydCA8IChyYm8tPnJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplID4+IFBBR0Vf U0hJRlQpKSB7CiAJCQl1bnNpZ25lZCBmcGZuID0gcmJvLT5yZGV2LT5tYy52aXNpYmxlX3ZyYW1f c2l6ZSA+PiBQQUdFX1NISUZUOwpAQCAtMjA5LDcgKzIxMCw4IEBAIHN0YXRpYyB2b2lkIHJhZGVv bl9ldmljdF9mbGFncyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQkJICogQk9zIHRv IGJlIGV2aWN0ZWQgZnJvbSBWUkFNCiAJCQkgKi8KIAkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zy b21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fVlJBTSB8Ci0JCQkJCQkJIFJBREVPTl9H RU1fRE9NQUlOX0dUVCwgMCwgMCk7CisJCQkJCQkJIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwKKwkJ CQkJCQkgcmJvLT50Ym8ubWVtLnNpemUsIDAsIDApOwogCQkJcmJvLT5wbGFjZW1lbnQubnVtX2J1 c3lfcGxhY2VtZW50ID0gMDsKIAkJCWZvciAoaSA9IDA7IGkgPCByYm8tPnBsYWNlbWVudC5udW1f cGxhY2VtZW50OyBpKyspIHsKIAkJCQlpZiAocmJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYgVFRN X1BMX0ZMQUdfVlJBTSkgewpAQCAtMjIyLDExICsyMjQsMTMgQEAgc3RhdGljIHZvaWQgcmFkZW9u X2V2aWN0X2ZsYWdzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJCQkJfQogCQkJfQog CQl9IGVsc2UKLQkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHJibywgUkFERU9O X0dFTV9ET01BSU5fR1RULCAwLCAwKTsKKwkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9t YWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fR1RULAorCQkJCQkJCSByYm8tPnRiby5tZW0uc2l6 ZSwgMCwgMCk7CiAJCWJyZWFrOwogCWNhc2UgVFRNX1BMX1RUOgogCWRlZmF1bHQ6Ci0JCXJhZGVv bl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fQ1BVLCAw LCAwKTsKKwkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VN X0RPTUFJTl9DUFUsCisJCQkJCQkgcmJvLT50Ym8ubWVtLnNpemUsIDAsIDApOwogCX0KIAkqcGxh Y2VtZW50ID0gcmJvLT5wbGFjZW1lbnQ7CiB9Ci0tIAoxLjguMy4xCgo= --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0009-drm-radeon-force-the-vce-allocation-into-the-first-2.patch" Content-Disposition: attachment; filename="0009-drm-radeon-force-the-vce-allocation-into-the-first-2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3igc2 RnJvbSBiM2NiNTk3MTE4NTM3M2RmNzE1NjIxNmRmYzEyODBjOGRjYmUzNzhhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTE6MDM6MzcgLTA0MDAKU3ViamVjdDogW1BBVENI IDA5LzEwXSBkcm0vcmFkZW9uOiBmb3JjZSB0aGUgdmNlIGFsbG9jYXRpb24gaW50byB0aGUgZmly c3QgMjU2CiBNQgoKVXNlIHRoZSBuZXcgbHBmbiBwYXJhbWV0ZXIgdG8gbGltaXQgdGhlIHZjZSBm dy9zdGFjay9oZWFwCmJ1ZmZlciB0byB0aGUgZmlyc3QgMjU2IE1CIG9mIHZyYW0uCgpTaWduZWQt b2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl92Y2UuYwppbmRleCA4ZmViZjZmLi5jMzVmMGE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl92Y2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl92Y2UuYwpAQCAtMTI2LDggKzEyNiw4IEBAIGludCByYWRlb25fdmNlX2luaXQoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCiAJc2l6ZSA9IFJBREVPTl9HUFVfUEFHRV9BTElHTihyZGV2LT52 Y2VfZnctPnNpemUpICsKIAkgICAgICAgUkFERU9OX1ZDRV9TVEFDS19TSVpFICsgUkFERU9OX1ZD RV9IRUFQX1NJWkU7CiAJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgc2l6ZSwgUEFHRV9TSVpF LCB0cnVlLAotCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCAwLCAwLCBOVUxMLCBO VUxMLAotCQkJICAgICAmcmRldi0+dmNlLnZjcHVfYm8pOworCQkJICAgICBSQURFT05fR0VNX0RP TUFJTl9WUkFNLCAwLCAoMjU2ICogMTAyNCAqIDEwMjQpID4+IFBBR0VfU0hJRlQsIDAsCisJCQkg ICAgIE5VTEwsIE5VTEwsICZyZGV2LT52Y2UudmNwdV9ibyk7CiAJaWYgKHIpIHsKIAkJZGV2X2Vy cihyZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBWQ0UgYm9cbiIsIHIpOwogCQly ZXR1cm4gcjsKLS0gCjEuOC4zLjEKCg== --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0008-drm-radeon-force-the-uvd-allocation-into-the-first-2.patch" Content-Disposition: attachment; filename="0008-drm-radeon-force-the-uvd-allocation-into-the-first-2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3igk3 RnJvbSBjYWI5MWNjNWUyZTM5NTU0ZTMzZGQwYzRmZmY5N2Q1ODI0ZDBjNDhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTE6MDA6NTggLTA0MDAKU3ViamVjdDogW1BBVENI IDA4LzEwXSBkcm0vcmFkZW9uOiBmb3JjZSB0aGUgdXZkIGFsbG9jYXRpb24gaW50byB0aGUgZmly c3QgMjU2CiBNQgoKVXNlIHRoZSBuZXcgbHBmbiBwYXJhbWV0ZXIgdG8gbGltaXQgdGhlIHV2ZCBm dy9zdGFjay9oZWFwCmJ1ZmZlciB0byB0aGUgZmlyc3QgMjU2IE1CIG9mIHZyYW0uCgpTaWduZWQt b2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl91dmQuYwppbmRleCBjZWEzZWIxLi4yYjQ3ZjFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl91dmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl91dmQuYwpAQCAtMTQxLDggKzE0MSw4IEBAIGludCByYWRlb25fdXZkX2luaXQoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCiAJCSAgUkFERU9OX1VWRF9TVEFDS19TSVpFICsgUkFERU9OX1VW RF9IRUFQX1NJWkUgKwogCQkgIFJBREVPTl9HUFVfUEFHRV9TSVpFOwogCXIgPSByYWRlb25fYm9f Y3JlYXRlKHJkZXYsIGJvX3NpemUsIFBBR0VfU0laRSwgdHJ1ZSwKLQkJCSAgICAgUkFERU9OX0dF TV9ET01BSU5fVlJBTSwgMCwgMCwgMCwgTlVMTCwKLQkJCSAgICAgTlVMTCwgJnJkZXYtPnV2ZC52 Y3B1X2JvKTsKKwkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgKDI1NiAqIDEwMjQg KiAxMDI0KSA+PiBQQUdFX1NISUZULCAwLAorCQkJICAgICBOVUxMLCBOVUxMLCAmcmRldi0+dXZk LnZjcHVfYm8pOwogCWlmIChyKSB7CiAJCWRldl9lcnIocmRldi0+ZGV2LCAiKCVkKSBmYWlsZWQg dG8gYWxsb2NhdGUgVVZEIGJvXG4iLCByKTsKIAkJcmV0dXJuIHI7Ci0tIAoxLjguMy4xCgo= --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0007-drm-radeon-limit-the-vbios-scratch-area-to-the-first.patch" Content-Disposition: attachment; filename="0007-drm-radeon-limit-the-vbios-scratch-area-to-the-first.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3igs4 RnJvbSBiYTU2MDk2MTE0YzdlOTAwYjgzZjAzZTYwYmYzMDg1NzU2NjE0NjliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6NTU6NDcgLTA0MDAKU3ViamVjdDogW1BBVENI IDA3LzEwXSBkcm0vcmFkZW9uOiBsaW1pdCB0aGUgdmJpb3Mgc2NyYXRjaCBhcmVhIHRvIHRoZSBm aXJzdAogMjU2ay4KClRvZG86IHVzZSB0aGUgYXRvbSBWUkFNX1VzYWdlQnlGaXJtd2FyZSBkYXRh IHRhYmxlIHRvIGRldGVybWluZQp0aGUgZXhhY3QgbG9jYXRpb24gYW5kIHNpemUgYW5kIHVzZSB0 aGF0IGluc3RlYWQuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVj aGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCmluZGV4IGZiMTM4YjcuLjQ5ZDAwZDggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCkBAIC04ODgsNyArODg4LDcgQEAgaW50IHJhZGVvbl90 dG1faW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlyYWRlb25fdHRtX3NldF9hY3Rp dmVfdnJhbV9zaXplKHJkZXYsIHJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplKTsKIAogCXIgPSBy YWRlb25fYm9fY3JlYXRlKHJkZXYsIDI1NiAqIDEwMjQsIFBBR0VfU0laRSwgdHJ1ZSwKLQkJCSAg ICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgMCwgMCwgTlVMTCwKKwkJCSAgICAgUkFERU9O X0dFTV9ET01BSU5fVlJBTSwgMCwgKDI1NiAqIDEwMjQpID4+IFBBR0VfU0hJRlQsIDAsIE5VTEws CiAJCQkgICAgIE5VTEwsICZyZGV2LT5zdG9sbGVuX3ZnYV9tZW1vcnkpOwogCWlmIChyKSB7CiAJ CXJldHVybiByOwotLSAKMS44LjMuMQoK --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0006-drm-radeon-use-lpfn-in-radeon_bo_fault_reserve_notif.patch" Content-Disposition: attachment; filename="0006-drm-radeon-use-lpfn-in-radeon_bo_fault_reserve_notif.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ih05 RnJvbSAzZTEzNDBmN2JjMGEzMzU2MGViZTE4YjAyOGNlZDFlMzQxZTRjNjcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6NTA6NDAgLTA0MDAKU3ViamVjdDogW1BBVENI IDA2LzEwXSBkcm0vcmFkZW9uOiB1c2UgbHBmbiBpbgogcmFkZW9uX2JvX2ZhdWx0X3Jlc2VydmVf bm90aWZ5KCkKClJhdGhlciB0aGFuIGZpeGluZyBpdCBhZnRlciBjYWxsaW5nIHJhZGVvbl90dG1f cGxhY2VtZW50X2Zyb21fZG9tYWluKCkuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFs ZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fb2JqZWN0LmMgfCAxNCArKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmpl Y3QuYwppbmRleCBiMWU0MjlhLi4yMDVkZmI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9vYmplY3QuYwpAQCAtNzg3LDggKzc4Nyw4IEBAIGludCByYWRlb25fYm9fZmF1bHRfcmVzZXJ2 ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKIHsKIAlzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldjsKIAlzdHJ1Y3QgcmFkZW9uX2JvICpyYm87Ci0JdW5zaWduZWQgbG9uZyBv ZmZzZXQsIHNpemUsIGxwZm47Ci0JaW50IGksIHI7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNp emU7CisJaW50IHI7CiAKIAlpZiAoIXJhZGVvbl90dG1fYm9faXNfcmFkZW9uX2JvKGJvKSkKIAkJ cmV0dXJuIDA7CkBAIC04MDQsMTQgKzgwNCw4IEBAIGludCByYWRlb25fYm9fZmF1bHRfcmVzZXJ2 ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKIAkJcmV0dXJuIDA7CiAKIAkv KiBodXJyYWggdGhlIG1lbW9yeSBpcyBub3QgdmlzaWJsZSAhICovCi0JcmFkZW9uX3R0bV9wbGFj ZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCAwKTsKLQls cGZuID0JcmRldi0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKLQlmb3IgKGkg PSAwOyBpIDwgcmJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVudDsgaSsrKSB7Ci0JCS8qIEZvcmNl IGludG8gdmlzaWJsZSBWUkFNICovCi0JCWlmICgocmJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYg VFRNX1BMX0ZMQUdfVlJBTSkgJiYKLQkJICAgICghcmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gfHwg cmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gPiBscGZuKSkKLQkJCXJiby0+cGxhY2VtZW50c1tpXS5s cGZuID0gbHBmbjsKLQl9CisJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBS QURFT05fR0VNX0RPTUFJTl9WUkFNLAorCQkJCQkgMCwgcmRldi0+bWMudmlzaWJsZV92cmFtX3Np emUgPj4gUEFHRV9TSElGVCk7CiAJciA9IHR0bV9ib192YWxpZGF0ZShibywgJnJiby0+cGxhY2Vt ZW50LCBmYWxzZSwgZmFsc2UpOwogCWlmICh1bmxpa2VseShyID09IC1FTk9NRU0pKSB7CiAJCXJh ZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fR1RU LCAwLCAwKTsKLS0gCjEuOC4zLjEKCg== --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0004-drm-radeon-use-new-lpfn-parameter-for-radeon_bo_pin_.patch" Content-Disposition: attachment; filename="0004-drm-radeon-use-new-lpfn-parameter-for-radeon_bo_pin_.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ih96 RnJvbSA4ZmEwYWU3OGIzYzVlMGZkZDgzMmZlZTAwZWQ5YzFlZDRhOWZhODI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6MzM6MDkgLTA0MDAKU3ViamVjdDogW1BBVENI IDA0LzEwXSBkcm0vcmFkZW9uOiB1c2UgbmV3IGxwZm4gcGFyYW1ldGVyIGZvcgogcmFkZW9uX2Jv X3Bpbl9yZXN0cmljdGVkKCkKClJhdGhlciB0aGFuIGFkanVzdGluZyBpdCBhZnRlciB0aGUgY2Fs bGluZwpyYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbigpLgoKU2lnbmVkLW9mZi1ieTog QWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jIHwgMjIgKysrKysrKysrKy0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKaW5kZXggY2Q3ZjgwYi4uYWYxNjZlNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKQEAgLTMzMCw2ICszMzAsNyBAQCBp bnQgcmFkZW9uX2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCByYWRlb25fYm8gKmJvLCB1MzIgZG9t YWluLCB1NjQgbWF4X29mZnNldCwKIAkJCSAgICAgdTY0ICpncHVfYWRkcikKIHsKIAlpbnQgciwg aTsKKwl1bnNpZ25lZCBscGZuOwogCiAJaWYgKHJhZGVvbl90dG1fdHRfaGFzX3VzZXJwdHIoYm8t PnRiby50dG0pKQogCQlyZXR1cm4gLUVQRVJNOwpAQCAtMzUyLDE5ICszNTMsMTYgQEAgaW50IHJh ZGVvbl9ib19waW5fcmVzdHJpY3RlZChzdHJ1Y3QgcmFkZW9uX2JvICpibywgdTMyIGRvbWFpbiwg dTY0IG1heF9vZmZzZXQsCiAKIAkJcmV0dXJuIDA7CiAJfQotCXJhZGVvbl90dG1fcGxhY2VtZW50 X2Zyb21fZG9tYWluKGJvLCBkb21haW4sIDAsIDApOwotCWZvciAoaSA9IDA7IGkgPCBiby0+cGxh Y2VtZW50Lm51bV9wbGFjZW1lbnQ7IGkrKykgewotCQkvKiBmb3JjZSB0byBwaW4gaW50byB2aXNp YmxlIHZpZGVvIHJhbSAqLwotCQlpZiAoKGJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYgVFRNX1BM X0ZMQUdfVlJBTSkgJiYKLQkJICAgICEoYm8tPmZsYWdzICYgUkFERU9OX0dFTV9OT19DUFVfQUND RVNTKSAmJgotCQkgICAgKCFtYXhfb2Zmc2V0IHx8IG1heF9vZmZzZXQgPiBiby0+cmRldi0+bWMu dmlzaWJsZV92cmFtX3NpemUpKQotCQkJYm8tPnBsYWNlbWVudHNbaV0ubHBmbiA9Ci0JCQkJYm8t PnJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplID4+IFBBR0VfU0hJRlQ7Ci0JCWVsc2UKLQkJCWJv LT5wbGFjZW1lbnRzW2ldLmxwZm4gPSBtYXhfb2Zmc2V0ID4+IFBBR0VfU0hJRlQ7Ci0KKwkvKiBm b3JjZSB0byBwaW4gaW50byB2aXNpYmxlIHZpZGVvIHJhbSAqLworCWlmICgoZG9tYWluID09IFJB REVPTl9HRU1fRE9NQUlOX1ZSQU0pICYmCisJICAgICEoYm8tPmZsYWdzICYgUkFERU9OX0dFTV9O T19DUFVfQUNDRVNTKSAmJgorCSAgICAoIW1heF9vZmZzZXQgfHwgbWF4X29mZnNldCA+IGJvLT5y ZGV2LT5tYy52aXNpYmxlX3ZyYW1fc2l6ZSkpCisJCWxwZm4gPSBiby0+cmRldi0+bWMudmlzaWJs ZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKKwllbHNlCisJCWxwZm4gPSBtYXhfb2Zmc2V0ID4+ IFBBR0VfU0hJRlQ7CisJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIGRvbWFp biwgMCwgbHBmbik7CisJZm9yIChpID0gMDsgaSA8IGJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVu dDsgaSsrKQogCQliby0+cGxhY2VtZW50c1tpXS5mbGFncyB8PSBUVE1fUExfRkxBR19OT19FVklD VDsKLQl9CiAKIAlyID0gdHRtX2JvX3ZhbGlkYXRlKCZiby0+dGJvLCAmYm8tPnBsYWNlbWVudCwg ZmFsc2UsIGZhbHNlKTsKIAlpZiAobGlrZWx5KHIgPT0gMCkpIHsKLS0gCjEuOC4zLjEKCg== --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0003-drm-radeon-limit-the-gart-vram-page-table-allocation.patch" Content-Disposition: attachment; filename="0003-drm-radeon-limit-the-gart-vram-page-table-allocation.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ihh7 RnJvbSA5NDE5NzhhMWQ1YzY3ZDE0OTI5ZjNkMjFjNWQ3MzJjZDdlOWVkZDU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6MjY6MTYgLTA0MDAKU3ViamVjdDogW1BBVENI IDAzLzEwXSBkcm0vcmFkZW9uOiBsaW1pdCB0aGUgZ2FydCB2cmFtIHBhZ2UgdGFibGUgYWxsb2Nh dGlvbgogdG8gdmlzaWJsZSB2cmFtCgpXZSB1cGRhdGUgdGhlIGdhcnQgcGFnZSB0YWJsZSB3aXRo IHRoZSBDUFUuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVy QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jIHwgMyAr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMKaW5kZXggMjcxZDZhMS4uMzBjMjFkNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2dhcnQuYwpAQCAtMTI4LDcgKzEyOCw4IEBAIGludCByYWRl b25fZ2FydF90YWJsZV92cmFtX2FsbG9jKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCWlm IChyZGV2LT5nYXJ0LnJvYmogPT0gTlVMTCkgewogCQlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2 LCByZGV2LT5nYXJ0LnRhYmxlX3NpemUsCiAJCQkJICAgICBQQUdFX1NJWkUsIHRydWUsIFJBREVP Tl9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkJICAgICAwLCAwLCAwLCBOVUxMLCBOVUxMLCAmcmRldi0+ Z2FydC5yb2JqKTsKKwkJCQkgICAgIDAsIHJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplID4+IFBB R0VfU0hJRlQsCisJCQkJICAgICAwLCBOVUxMLCBOVUxMLCAmcmRldi0+Z2FydC5yb2JqKTsKIAkJ aWYgKHIpIHsKIAkJCXJldHVybiByOwogCQl9Ci0tIAoxLjguMy4xCgo= --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0002-drm-radeon-pass-fpfn-and-lpfn-to-radeon_bo_create.patch" Content-Disposition: attachment; filename="0002-drm-radeon-pass-fpfn-and-lpfn-to-radeon_bo_create.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ihp8 RnJvbSAzNDg2YTQ3ZDU5ZDE4ODEzMDdhMTE5YzAxOTE5YTA0NjlmM2EwNGEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6MjE6NTkgLTA0MDAKU3ViamVjdDogW1BBVENI IDAyLzEwXSBkcm0vcmFkZW9uOiBwYXNzIGZwZm4gYW5kIGxwZm4gdG8gcmFkZW9uX2JvX2NyZWF0 ZSgpCgpBbGxvdyB0aGUgZHJpdmVyIHRvIHNwZWNpZnkgdGhlIHBhZ2UgcmFuZ2Ugd2hlbiBhbGxv Y2F0aW5nCmJ1ZmZlcnMuICBDdXJyZW50bHkgc2V0IHRvIDAsIDAgc28gbm8gZnVuY3Rpb25hbCBj aGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFt ZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyAgICAgICAgICAgICAgfCA0 ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMgICAgICAgIHwgNiArKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jICAgICAgICAgICAgIHwgNCArKy0tCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iZW5jaG1hcmsuYyB8IDYgKysrKy0tCiBkcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2dhcnQuYyAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZ2VtLmMgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9rZmQuYyAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29i amVjdC5jICAgIHwgNiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVj dC5oICAgIHwgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMgICAg IHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jICAgICAgfCAyICst CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5jICAgICAgICB8IDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Rlc3QuYyAgICAgIHwgNCArKy0tCiBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX3V2ZC5jICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fdmNlLmMgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92 bS5jICAgICAgICB8IDQgKystLQogMTggZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwg MjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMKaW5kZXggMjhmYWVhOS4uOGQ3MDE3NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL2Npay5jCkBAIC00NzU2LDcgKzQ3NTYsNyBAQCBzdGF0aWMgaW50IGNpa19t ZWNfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAkJciA9IHJhZGVvbl9ib19jcmVh dGUocmRldiwKIAkJCQkgICAgIHJkZXYtPm1lYy5udW1fbWVjICpyZGV2LT5tZWMubnVtX3BpcGUg KiBNRUNfSFBEX1NJWkUgKiAyLAogCQkJCSAgICAgUEFHRV9TSVpFLCB0cnVlLAotCQkJCSAgICAg UkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCBOVUxMLCBOVUxMLAorCQkJCSAgICAgUkFERU9OX0dF TV9ET01BSU5fR1RULCAwLCAwLCAwLCBOVUxMLCBOVUxMLAogCQkJCSAgICAgJnJkZXYtPm1lYy5o cGRfZW9wX29iaik7CiAJCWlmIChyKSB7CiAJCQlkZXZfd2FybihyZGV2LT5kZXYsICIoJWQpIGNy ZWF0ZSBIRFAgRU9QIGJvIGZhaWxlZFxuIiwgcik7CkBAIC00OTIyLDcgKzQ5MjIsNyBAQCBzdGF0 aWMgaW50IGNpa19jcF9jb21wdXRlX3Jlc3VtZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikK IAkJCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsCiAJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBi b25haXJlX21xZCksCiAJCQkJCSAgICAgUEFHRV9TSVpFLCB0cnVlLAotCQkJCQkgICAgIFJBREVP Tl9HRU1fRE9NQUlOX0dUVCwgMCwgTlVMTCwKKwkJCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9H VFQsIDAsIDAsIDAsIE5VTEwsCiAJCQkJCSAgICAgTlVMTCwgJnJkZXYtPnJpbmdbaWR4XS5tcWRf b2JqKTsKIAkJCWlmIChyKSB7CiAJCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUg TVFEIGJvIGZhaWxlZFxuIiwgcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L2V2ZXJncmVlbi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwppbmRleCBm ODQ4YWNmLi4wMmI1ZDJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJn cmVlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKQEAgLTQwNTQs NyArNDA1NCw3IEBAIGludCBzdW1vX3JsY19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 KQogCQkvKiBzYXZlIHJlc3RvcmUgYmxvY2sgKi8KIAkJaWYgKHJkZXYtPnJsYy5zYXZlX3Jlc3Rv cmVfb2JqID09IE5VTEwpIHsKIAkJCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIGR3cyAqIDQs IFBBR0VfU0laRSwgdHJ1ZSwKLQkJCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCBO VUxMLAorCQkJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsIDAsIDAsIE5VTEwsCiAJ CQkJCSAgICAgTlVMTCwgJnJkZXYtPnJsYy5zYXZlX3Jlc3RvcmVfb2JqKTsKIAkJCWlmIChyKSB7 CiAJCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUgUkxDIHNyIGJvIGZhaWxlZFxu Iiwgcik7CkBAIC00MTMzLDcgKzQxMzMsNyBAQCBpbnQgc3Vtb19ybGNfaW5pdChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldikKIAogCQlpZiAocmRldi0+cmxjLmNsZWFyX3N0YXRlX29iaiA9PSBO VUxMKSB7CiAJCQlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBkd3MgKiA0LCBQQUdFX1NJWkUs IHRydWUsCi0JCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgTlVMTCwKKwkJCQkJ ICAgICBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCAwLCAwLCBOVUxMLAogCQkJCQkgICAgIE5V TEwsICZyZGV2LT5ybGMuY2xlYXJfc3RhdGVfb2JqKTsKIAkJCWlmIChyKSB7CiAJCQkJZGV2X3dh cm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUgUkxDIGMgYm8gZmFpbGVkXG4iLCByKTsKQEAgLTQy MTAsNyArNDIxMCw3IEBAIGludCBzdW1vX3JsY19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2KQogCQlpZiAocmRldi0+cmxjLmNwX3RhYmxlX29iaiA9PSBOVUxMKSB7CiAJCQlyID0gcmFk ZW9uX2JvX2NyZWF0ZShyZGV2LCByZGV2LT5ybGMuY3BfdGFibGVfc2l6ZSwKIAkJCQkJICAgICBQ QUdFX1NJWkUsIHRydWUsCi0JCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgTlVM TCwKKwkJCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCAwLCAwLCBOVUxMLAogCQkJ CQkgICAgIE5VTEwsICZyZGV2LT5ybGMuY3BfdGFibGVfb2JqKTsKIAkJCWlmIChyKSB7CiAJCQkJ ZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUgUkxDIGNwIHRhYmxlIGJvIGZhaWxlZFxu Iiwgcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCmluZGV4IDhmNmQ4NjIuLjcyNDk2MjAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcjYwMC5jCkBAIC0xNDU3LDcgKzE0NTcsNyBAQCBpbnQgcjYwMF92cmFtX3NjcmF0Y2hf aW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlpZiAocmRldi0+dnJhbV9zY3JhdGNo LnJvYmogPT0gTlVMTCkgewogCQlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBSQURFT05fR1BV X1BBR0VfU0laRSwKIAkJCQkgICAgIFBBR0VfU0laRSwgdHJ1ZSwgUkFERU9OX0dFTV9ET01BSU5f VlJBTSwKLQkJCQkgICAgIDAsIE5VTEwsIE5VTEwsICZyZGV2LT52cmFtX3NjcmF0Y2gucm9iaik7 CisJCQkJICAgICAwLCAwLCAwLCBOVUxMLCBOVUxMLCAmcmRldi0+dnJhbV9zY3JhdGNoLnJvYmop OwogCQlpZiAocikgewogCQkJcmV0dXJuIHI7CiAJCX0KQEAgLTMzOTAsNyArMzM5MCw3IEBAIGlu dCByNjAwX2loX3JpbmdfYWxsb2Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJaWYgKHJk ZXYtPmloLnJpbmdfb2JqID09IE5VTEwpIHsKIAkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwg cmRldi0+aWgucmluZ19zaXplLAogCQkJCSAgICAgUEFHRV9TSVpFLCB0cnVlLAotCQkJCSAgICAg UkFERU9OX0dFTV9ET01BSU5fR1RULCAwLAorCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fR1RU LCAwLCAwLCAwLAogCQkJCSAgICAgTlVMTCwgTlVMTCwgJnJkZXYtPmloLnJpbmdfb2JqKTsKIAkJ aWYgKHIpIHsKIAkJCURSTV9FUlJPUigicmFkZW9uOiBmYWlsZWQgdG8gY3JlYXRlIGloIHJpbmcg YnVmZmVyICglZCkuXG4iLCByKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2JlbmNobWFyay5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmVuY2ht YXJrLmMKaW5kZXggODdkNWZiMi4uMWNhYTg4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fYmVuY2htYXJrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fYmVuY2htYXJrLmMKQEAgLTk0LDcgKzk0LDggQEAgc3RhdGljIHZvaWQgcmFkZW9uX2Jl bmNobWFya19tb3ZlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNpZ25lZCBzaXplLAog CWludCB0aW1lOwogCiAJbiA9IFJBREVPTl9CRU5DSE1BUktfSVRFUkFUSU9OUzsKLQlyID0gcmFk ZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIHNkb21haW4sIDAsIE5V TEwsIE5VTEwsICZzb2JqKTsKKwlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdF X1NJWkUsIHRydWUsIHNkb21haW4sIDAsIDAsIDAsCisJCQkgICAgIE5VTEwsIE5VTEwsICZzb2Jq KTsKIAlpZiAocikgewogCQlnb3RvIG91dF9jbGVhbnVwOwogCX0KQEAgLTEwNiw3ICsxMDcsOCBA QCBzdGF0aWMgdm9pZCByYWRlb25fYmVuY2htYXJrX21vdmUoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIHVuc2lnbmVkIHNpemUsCiAJaWYgKHIpIHsKIAkJZ290byBvdXRfY2xlYW51cDsKIAl9 Ci0JciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLCBkZG9t YWluLCAwLCBOVUxMLCBOVUxMLCAmZG9iaik7CisJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwg c2l6ZSwgUEFHRV9TSVpFLCB0cnVlLCBkZG9tYWluLCAwLCAwLCAwLAorCQkJICAgICBOVUxMLCBO VUxMLCAmZG9iaik7CiAJaWYgKHIpIHsKIAkJZ290byBvdXRfY2xlYW51cDsKIAl9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCmluZGV4IGI3Y2E0YzUuLmQxY2ViZmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCkBAIC00NjUsNyArNDY1LDcgQEAgaW50 IHJhZGVvbl93Yl9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCiAJaWYgKHJkZXYt PndiLndiX29iaiA9PSBOVUxMKSB7CiAJCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIFJBREVP Tl9HUFVfUEFHRV9TSVpFLCBQQUdFX1NJWkUsIHRydWUsCi0JCQkJICAgICBSQURFT05fR0VNX0RP TUFJTl9HVFQsIDAsIE5VTEwsIE5VTEwsCisJCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9HVFQs IDAsIDAsIDAsIE5VTEwsIE5VTEwsCiAJCQkJICAgICAmcmRldi0+d2Iud2Jfb2JqKTsKIAkJaWYg KHIpIHsKIAkJCWRldl93YXJuKHJkZXYtPmRldiwgIiglZCkgY3JlYXRlIFdCIGJvIGZhaWxlZFxu Iiwgcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMKaW5kZXggNTQ1MGZhOS4uMjcx ZDZhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dhcnQuYwpAQCAtMTI4LDcgKzEyOCw3 IEBAIGludCByYWRlb25fZ2FydF90YWJsZV92cmFtX2FsbG9jKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KQogCWlmIChyZGV2LT5nYXJ0LnJvYmogPT0gTlVMTCkgewogCQlyID0gcmFkZW9uX2Jv X2NyZWF0ZShyZGV2LCByZGV2LT5nYXJ0LnRhYmxlX3NpemUsCiAJCQkJICAgICBQQUdFX1NJWkUs IHRydWUsIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkJICAgICAwLCBOVUxMLCBOVUxMLCAm cmRldi0+Z2FydC5yb2JqKTsKKwkJCQkgICAgIDAsIDAsIDAsIE5VTEwsIE5VTEwsICZyZGV2LT5n YXJ0LnJvYmopOwogCQlpZiAocikgewogCQkJcmV0dXJuIHI7CiAJCX0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fZ2VtLmMKaW5kZXggZmI1MGVhOS4uMDE3NTI5NiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fZ2VtLmMKQEAgLTY3LDcgKzY3LDcgQEAgaW50IHJhZGVvbl9nZW1fb2JqZWN0X2Ny ZWF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdW5zaWduZWQgbG9uZyBzaXplLAogCiBy ZXRyeToKIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBhbGlnbm1lbnQsIGtlcm5l bCwgaW5pdGlhbF9kb21haW4sCi0JCQkgICAgIGZsYWdzLCBOVUxMLCBOVUxMLCAmcm9iaik7CisJ CQkgICAgIDAsIDAsIGZsYWdzLCBOVUxMLCBOVUxMLCAmcm9iaik7CiAJaWYgKHIpIHsKIAkJaWYg KHIgIT0gLUVSRVNUQVJUU1lTKSB7CiAJCQlpZiAoaW5pdGlhbF9kb21haW4gPT0gUkFERU9OX0dF TV9ET01BSU5fVlJBTSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fa2ZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9rZmQuYwppbmRleCAwNjFl YWE5Li5lMGNhYTZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9r ZmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9rZmQuYwpAQCAtMjEyLDcg KzIxMiw3IEBAIHN0YXRpYyBpbnQgYWxsb2NfZ3R0X21lbShzdHJ1Y3Qga2dkX2RldiAqa2dkLCBz aXplX3Qgc2l6ZSwKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShy ZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwKLQkJCQlS QURFT05fR0VNX0dUVF9XQywgTlVMTCwgTlVMTCwgJigqbWVtKS0+Ym8pOworCQkJICAgICAwLCAw LCBSQURFT05fR0VNX0dUVF9XQywgTlVMTCwgTlVMTCwgJigqbWVtKS0+Ym8pOwogCWlmIChyKSB7 CiAJCWRldl9lcnIocmRldi0+ZGV2LAogCQkJImZhaWxlZCB0byBhbGxvY2F0ZSBCTyBmb3IgYW1k a2ZkICglZClcbiIsIHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYwppbmRl eCBhNDM5YmNmLi5jZDdmODBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3Qu YwpAQCAtMTkwLDggKzE5MCw4IEBAIHZvaWQgcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21h aW4oc3RydWN0IHJhZGVvbl9ibyAqcmJvLCB1MzIgZG9tYWluLAogCiBpbnQgcmFkZW9uX2JvX2Ny ZWF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJICAgICB1bnNpZ25lZCBsb25nIHNp emUsIGludCBieXRlX2FsaWduLCBib29sIGtlcm5lbCwKLQkJICAgICB1MzIgZG9tYWluLCB1MzIg ZmxhZ3MsIHN0cnVjdCBzZ190YWJsZSAqc2csCi0JCSAgICAgc3RydWN0IHJlc2VydmF0aW9uX29i amVjdCAqcmVzdiwKKwkJICAgICB1MzIgZG9tYWluLCB1bnNpZ25lZCBmcGZuLCB1bnNpZ25lZCBs cGZuLCB1MzIgZmxhZ3MsCisJCSAgICAgc3RydWN0IHNnX3RhYmxlICpzZywgc3RydWN0IHJlc2Vy dmF0aW9uX29iamVjdCAqcmVzdiwKIAkJICAgICBzdHJ1Y3QgcmFkZW9uX2JvICoqYm9fcHRyKQog ewogCXN0cnVjdCByYWRlb25fYm8gKmJvOwpAQCAtMjU0LDcgKzI1NCw3IEBAIGludCByYWRlb25f Ym9fY3JlYXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogCWJvLT5mbGFncyAmPSB+UkFE RU9OX0dFTV9HVFRfV0M7CiAjZW5kaWYKIAotCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9t YWluKGJvLCBkb21haW4sIDAsIDApOworCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWlu KGJvLCBkb21haW4sIGZwZm4sIGxwZm4pOwogCS8qIEtlcm5lbCBhbGxvY2F0aW9uIGFyZSB1bmlu dGVycnVwdGlibGUgKi8KIAlkb3duX3JlYWQoJnJkZXYtPnBtLm1jbGtfbG9jayk7CiAJciA9IHR0 bV9ib19pbml0KCZyZGV2LT5tbWFuLmJkZXYsICZiby0+dGJvLCBzaXplLCB0eXBlLApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmggYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAppbmRleCBkOGQyOTVlLi4zZDA3Zjg3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaApAQCAtMTI0LDcgKzEyNCw4IEBAIGV4 dGVybiBpbnQgcmFkZW9uX2JvX3dhaXQoc3RydWN0IHJhZGVvbl9ibyAqYm8sIHUzMiAqbWVtX3R5 cGUsCiAKIGV4dGVybiBpbnQgcmFkZW9uX2JvX2NyZWF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwKIAkJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIGludCBieXRlX2FsaWduLAotCQkJICAg IGJvb2wga2VybmVsLCB1MzIgZG9tYWluLCB1MzIgZmxhZ3MsCisJCQkgICAgYm9vbCBrZXJuZWws IHUzMiBkb21haW4sIHVuc2lnbmVkIGZwZm4sCisJCQkgICAgdW5zaWduZWQgbHBmbiwgdTMyIGZs YWdzLAogCQkJICAgIHN0cnVjdCBzZ190YWJsZSAqc2csCiAJCQkgICAgc3RydWN0IHJlc2VydmF0 aW9uX29iamVjdCAqcmVzdiwKIAkJCSAgICBzdHJ1Y3QgcmFkZW9uX2JvICoqYm9fcHRyKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9wcmltZS5jCmluZGV4IGYzNjA5YzkuLmQ4MDhkOGYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYwpAQCAtNjgsNyArNjgsNyBAQCBzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKnJhZGVvbl9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAKIAl3d19tdXRleF9sb2NrKCZyZXN2LT5sb2NrLCBOVUxMKTsK IAlyZXQgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIGF0dGFjaC0+ZG1hYnVmLT5zaXplLCBQQUdF X1NJWkUsIGZhbHNlLAotCQkJICAgICAgIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwgMCwgc2csIHJl c3YsICZibyk7CisJCQkgICAgICAgUkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCAwLCAwLCBzZywg cmVzdiwgJmJvKTsKIAl3d19tdXRleF91bmxvY2soJnJlc3YtPmxvY2spOwogCWlmIChyZXQpCiAJ CXJldHVybiBFUlJfUFRSKHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9yaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMKaW5k ZXggMjQ1NmY2OS4uZDlmMDE1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fcmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwpA QCAtMzgzLDcgKzM4Myw3IEBAIGludCByYWRlb25fcmluZ19pbml0KHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcsIHVuc2lnCiAJLyogQWxsb2NhdGUg cmluZyBidWZmZXIgKi8KIAlpZiAocmluZy0+cmluZ19vYmogPT0gTlVMTCkgewogCQlyID0gcmFk ZW9uX2JvX2NyZWF0ZShyZGV2LCByaW5nLT5yaW5nX3NpemUsIFBBR0VfU0laRSwgdHJ1ZSwKLQkJ CQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwgMCwgTlVMTCwKKwkJCQkgICAgIFJBREVPTl9H RU1fRE9NQUlOX0dUVCwgMCwgMCwgMCwgTlVMTCwKIAkJCQkgICAgIE5VTEwsICZyaW5nLT5yaW5n X29iaik7CiAJCWlmIChyKSB7CiAJCQlkZXZfZXJyKHJkZXYtPmRldiwgIiglZCkgcmluZyBjcmVh dGUgZmFpbGVkXG4iLCByKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX3NhLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5jCmluZGV4IGM1MDc4 OTYuLjMwMTNmYjE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9z YS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NhLmMKQEAgLTY1LDcgKzY1 LDcgQEAgaW50IHJhZGVvbl9zYV9ib19tYW5hZ2VyX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsCiAJfQogCiAJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgc2l6ZSwgYWxpZ24sIHRy dWUsCi0JCQkgICAgIGRvbWFpbiwgZmxhZ3MsIE5VTEwsIE5VTEwsICZzYV9tYW5hZ2VyLT5ibyk7 CisJCQkgICAgIGRvbWFpbiwgMCwgMCwgZmxhZ3MsIE5VTEwsIE5VTEwsICZzYV9tYW5hZ2VyLT5i byk7CiAJaWYgKHIpIHsKIAkJZGV2X2VycihyZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxv Y2F0ZSBibyBmb3IgbWFuYWdlclxuIiwgcik7CiAJCXJldHVybiByOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdGVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fdGVzdC5jCmluZGV4IDc5MTgxODE2Li4wNzNkNmQyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fdGVzdC5jCkBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9k b190ZXN0X21vdmVzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgZmxhZykKIAl9CiAK IAlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIFJBREVP Tl9HRU1fRE9NQUlOX1ZSQU0sCi0JCQkgICAgIDAsIE5VTEwsIE5VTEwsICZ2cmFtX29iaik7CisJ CQkgICAgIDAsIDAsIDAsIE5VTEwsIE5VTEwsICZ2cmFtX29iaik7CiAJaWYgKHIpIHsKIAkJRFJN X0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIFZSQU0gb2JqZWN0XG4iKTsKIAkJZ290byBvdXRfY2xl YW51cDsKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGljIHZvaWQgcmFkZW9uX2RvX3Rlc3RfbW92ZXMo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBmbGFnKQogCQlzdHJ1Y3QgcmFkZW9uX2Zl bmNlICpmZW5jZSA9IE5VTEw7CiAKIAkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgc2l6ZSwg UEFHRV9TSVpFLCB0cnVlLAotCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCBOVUxM LCBOVUxMLAorCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCAwLCAwLCBOVUxMLCBO VUxMLAogCQkJCSAgICAgZ3R0X29iaiArIGkpOwogCQlpZiAocikgewogCQkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gY3JlYXRlIEdUVCBvYmplY3QgJWRcbiIsIGkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl90dG0uYwppbmRleCAyOTk0YmVkLi5mYjEzOGI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl90dG0uYwpAQCAtODg4LDcgKzg4OCw3IEBAIGludCByYWRlb25fdHRtX2luaXQoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJcmFkZW9uX3R0bV9zZXRfYWN0aXZlX3ZyYW1fc2l6ZShy ZGV2LCByZGV2LT5tYy52aXNpYmxlX3ZyYW1fc2l6ZSk7CiAKIAlyID0gcmFkZW9uX2JvX2NyZWF0 ZShyZGV2LCAyNTYgKiAxMDI0LCBQQUdFX1NJWkUsIHRydWUsCi0JCQkgICAgIFJBREVPTl9HRU1f RE9NQUlOX1ZSQU0sIDAsIE5VTEwsCisJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAs IDAsIDAsIE5VTEwsCiAJCQkgICAgIE5VTEwsICZyZGV2LT5zdG9sbGVuX3ZnYV9tZW1vcnkpOwog CWlmIChyKSB7CiAJCXJldHVybiByOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fdXZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl91dmQuYwppbmRl eCBjMTBiMmFlLi5lOThlNGM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl91dmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl91dmQuYwpAQCAt MTQxLDcgKzE0MSw3IEBAIGludCByYWRlb25fdXZkX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYpCiAJCSAgUkFERU9OX1VWRF9TVEFDS19TSVpFICsgUkFERU9OX1VWRF9IRUFQX1NJWkUg KwogCQkgIFJBREVPTl9HUFVfUEFHRV9TSVpFOwogCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYs IGJvX3NpemUsIFBBR0VfU0laRSwgdHJ1ZSwKLQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJB TSwgMCwgTlVMTCwKKwkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgMCwgMCwgTlVM TCwKIAkJCSAgICAgTlVMTCwgJnJkZXYtPnV2ZC52Y3B1X2JvKTsKIAlpZiAocikgewogCQlkZXZf ZXJyKHJkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRlIFVWRCBib1xuIiwgcik7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92Y2UuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCmluZGV4IDk3NmZlNDMuLjhmZWJmNmYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCkBAIC0xMjYsNyArMTI2LDcgQEAgaW50IHJhZGVv bl92Y2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlzaXplID0gUkFERU9OX0dQ VV9QQUdFX0FMSUdOKHJkZXYtPnZjZV9mdy0+c2l6ZSkgKwogCSAgICAgICBSQURFT05fVkNFX1NU QUNLX1NJWkUgKyBSQURFT05fVkNFX0hFQVBfU0laRTsKIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShy ZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsCi0JCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZS QU0sIDAsIE5VTEwsIE5VTEwsCisJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsIDAs IDAsIE5VTEwsIE5VTEwsCiAJCQkgICAgICZyZGV2LT52Y2UudmNwdV9ibyk7CiAJaWYgKHIpIHsK IAkJZGV2X2VycihyZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBWQ0UgYm9cbiIs IHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZtLmMKaW5kZXggMmE1YTRhOS4uZTg0NWQ0YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92bS5jCkBAIC01NDIsNyArNTQyLDcgQEAgaW50IHJh ZGVvbl92bV9ib19zZXRfYWRkcihzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAogCQlyID0g cmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBSQURFT05fVk1fUFRFX0NPVU5UICogOCwKIAkJCQkgICAg IFJBREVPTl9HUFVfUEFHRV9TSVpFLCB0cnVlLAotCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5f VlJBTSwgMCwKKwkJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsIDAsIDAsCiAJCQkJ ICAgICBOVUxMLCBOVUxMLCAmcHQpOwogCQlpZiAocikKIAkJCXJldHVybiByOwpAQCAtMTE4Niw3 ICsxMTg2LDcgQEAgaW50IHJhZGVvbl92bV9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LCBzdHJ1Y3QgcmFkZW9uX3ZtICp2bSkKIAl9CiAKIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2 LCBwZF9zaXplLCBhbGlnbiwgdHJ1ZSwKLQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwg MCwgTlVMTCwKKwkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgMCwgMCwgTlVMTCwK IAkJCSAgICAgTlVMTCwgJnZtLT5wYWdlX2RpcmVjdG9yeSk7CiAJaWYgKHIpCiAJCXJldHVybiBy OwotLSAKMS44LjMuMQoK --001a114902aeaf1b6805117d7d26 Content-Type: text/x-patch; charset=US-ASCII; name="0001-drm-radeon-add-fpfn-lpfn-to-radeon_ttm_placement_fro.patch" Content-Disposition: attachment; filename="0001-drm-radeon-add-fpfn-lpfn-to-radeon_ttm_placement_fro.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7dg3ihx9 RnJvbSA3YWYwYjk2ZDJkNjk4MzA0NGU5MTRlNDgxNzU0YWZhNjIzMmUzZDA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5j b20+CkRhdGU6IFR1ZSwgMTcgTWFyIDIwMTUgMTA6MTA6MTEgLTA0MDAKU3ViamVjdDogW1BBVENI IDAxLzEwXSBkcm0vcmFkZW9uOiBhZGQgZnBmbiwgbHBmbiB0bwogcmFkZW9uX3R0bV9wbGFjZW1l bnRfZnJvbV9kb21haW4oKQoKVGhpcyBsZXRzIHVzIHNldCB0aGUgdmFsaWQgcGFnZSByYW5nZSBm b3IgYnVmZmVycyBhdCBhbGxvY2F0aW9uCnRpbWUuICBDdXJyZW50bHkgc2V0IHRvIDAsIDAgc28g bm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24u aCAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dlbS5jICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21uLmMgICAgIHwgIDQgKyst LQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMgfCAzNiArKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90 dG0uYyAgICB8ICA4ICsrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyks IDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IDM1YWI2NWQuLjdk ZTNlMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaApAQCAtMjk4MCw3ICsyOTgwLDggQEAgZXh0 ZXJuIHZvaWQgcmFkZW9uX3N1cmZhY2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7 CiBleHRlcm4gaW50IHJhZGVvbl9jc19wYXJzZXJfaW5pdChzdHJ1Y3QgcmFkZW9uX2NzX3BhcnNl ciAqcCwgdm9pZCAqZGF0YSk7CiBleHRlcm4gdm9pZCByYWRlb25fbGVnYWN5X3NldF9jbG9ja19n YXRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBlbmFibGUpOwogZXh0ZXJuIHZv aWQgcmFkZW9uX2F0b21fc2V0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgaW50IGVuYWJsZSk7Ci1leHRlcm4gdm9pZCByYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2Rv bWFpbihzdHJ1Y3QgcmFkZW9uX2JvICpyYm8sIHUzMiBkb21haW4pOworZXh0ZXJuIHZvaWQgcmFk ZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IHJhZGVvbl9ibyAqcmJvLCB1MzIg ZG9tYWluLAorCQkJCQkgICAgIHVuc2lnbmVkIGZwZm4sIHVuc2lnbmVkIGxwZm4pOwogZXh0ZXJu IGJvb2wgcmFkZW9uX3R0bV9ib19pc19yYWRlb25fYm8oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0 ICpibyk7CiBleHRlcm4gaW50IHJhZGVvbl90dG1fdHRfc2V0X3VzZXJwdHIoc3RydWN0IHR0bV90 dCAqdHRtLCB1aW50NjRfdCBhZGRyLAogCQkJCSAgICAgdWludDMyX3QgZmxhZ3MpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9nZW0uYwppbmRleCBhYzNjMTMxLi5mYjUwZWE5IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9nZW0uYwpAQCAtMzM3LDcgKzMzNyw3IEBAIGludCByYWRlb25fZ2Vt X3VzZXJwdHJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCWdv dG8gcmVsZWFzZV9vYmplY3Q7CiAJCX0KIAotCQlyYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2Rv bWFpbihibywgUkFERU9OX0dFTV9ET01BSU5fR1RUKTsKKwkJcmFkZW9uX3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4oYm8sIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwgMCwgMCk7CiAJCXIgPSB0dG1f Ym9fdmFsaWRhdGUoJmJvLT50Ym8sICZiby0+cGxhY2VtZW50LCB0cnVlLCBmYWxzZSk7CiAJCXJh ZGVvbl9ib191bnJlc2VydmUoYm8pOwogCQl1cF9yZWFkKCZjdXJyZW50LT5tbS0+bW1hcF9zZW0p OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW4uYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21uLmMKaW5kZXggYTY5YmQ0NC4uMzU5ZjFmMiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW4uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tbi5jCkBAIC0xNDEsMTQgKzE0MSwxNCBAQCBzdGF0aWMg dm9pZCByYWRlb25fbW5faW52YWxpZGF0ZV9yYW5nZV9zdGFydChzdHJ1Y3QgbW11X25vdGlmaWVy ICptbiwKIAkJCQlEUk1fRVJST1IoIiglZCkgZmFpbGVkIHRvIHdhaXQgZm9yIHVzZXIgYm9cbiIs IHIpOwogCQl9CiAKLQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIFJBREVP Tl9HRU1fRE9NQUlOX0NQVSk7CisJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJv LCBSQURFT05fR0VNX0RPTUFJTl9DUFUsIDAsIDApOwogCQlyID0gdHRtX2JvX3ZhbGlkYXRlKCZi by0+dGJvLCAmYm8tPnBsYWNlbWVudCwgZmFsc2UsIGZhbHNlKTsKIAkJaWYgKHIpCiAJCQlEUk1f RVJST1IoIiglZCkgZmFpbGVkIHRvIHZhbGlkYXRlIHVzZXIgYm9cbiIsIHIpOwogCiAJCXJhZGVv bl9ib191bnJlc2VydmUoYm8pOwogCX0KLQkKKwogCW11dGV4X3VubG9jaygmcm1uLT5sb2NrKTsK IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYwppbmRleCA0M2UwOTk0Li5h NDM5YmNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3Qu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYwpAQCAtOTMsNyAr OTMsOCBAQCBib29sIHJhZGVvbl90dG1fYm9faXNfcmFkZW9uX2JvKHN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqYm8pCiAJcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIHJhZGVvbl90dG1fcGxhY2Vt ZW50X2Zyb21fZG9tYWluKHN0cnVjdCByYWRlb25fYm8gKnJibywgdTMyIGRvbWFpbikKK3ZvaWQg cmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IHJhZGVvbl9ibyAqcmJvLCB1 MzIgZG9tYWluLAorCQkJCSAgICAgIHVuc2lnbmVkIGZwZm4sIHVuc2lnbmVkIGxwZm4pCiB7CiAJ dTMyIGMgPSAwLCBpOwogCkBAIC0xMDMsOCArMTA0LDkgQEAgdm9pZCByYWRlb25fdHRtX3BsYWNl bWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgcmFkZW9uX2JvICpyYm8sIHUzMiBkb21haW4pCiAJCS8q IFRyeSBwbGFjaW5nIEJPcyB3aGljaCBkb24ndCBuZWVkIENQVSBhY2Nlc3Mgb3V0c2lkZSBvZiB0 aGUKIAkJICogQ1BVIGFjY2Vzc2libGUgcGFydCBvZiBWUkFNCiAJCSAqLwotCQlpZiAoKHJiby0+ ZmxhZ3MgJiBSQURFT05fR0VNX05PX0NQVV9BQ0NFU1MpICYmCi0JCSAgICByYm8tPnJkZXYtPm1j LnZpc2libGVfdnJhbV9zaXplIDwgcmJvLT5yZGV2LT5tYy5yZWFsX3ZyYW1fc2l6ZSkgeworCQlp ZiAoZnBmbiA+PSByYm8tPnJkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplIHx8CisJCSAgICAoKHJi by0+ZmxhZ3MgJiBSQURFT05fR0VNX05PX0NQVV9BQ0NFU1MpICYmCisJCSAgICAgcmJvLT5yZGV2 LT5tYy52aXNpYmxlX3ZyYW1fc2l6ZSA8IHJiby0+cmRldi0+bWMucmVhbF92cmFtX3NpemUpKSB7 CiAJCQlyYm8tPnBsYWNlbWVudHNbY10uZnBmbiA9CiAJCQkJcmJvLT5yZGV2LT5tYy52aXNpYmxl X3ZyYW1fc2l6ZSA+PiBQQUdFX1NISUZUOwogCQkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3Mg PSBUVE1fUExfRkxBR19XQyB8CkBAIC0xMTIsNyArMTE0LDcgQEAgdm9pZCByYWRlb25fdHRtX3Bs YWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgcmFkZW9uX2JvICpyYm8sIHUzMiBkb21haW4pCiAJ CQkJCQkgICAgIFRUTV9QTF9GTEFHX1ZSQU07CiAJCX0KIAotCQlyYm8tPnBsYWNlbWVudHNbY10u ZnBmbiA9IDA7CisJCXJiby0+cGxhY2VtZW50c1tjXS5mcGZuID0gZnBmbjsKIAkJcmJvLT5wbGFj ZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19XQyB8CiAJCQkJCSAgICAgVFRNX1BMX0ZM QUdfVU5DQUNIRUQgfAogCQkJCQkgICAgIFRUTV9QTF9GTEFHX1ZSQU07CkBAIC0xMjAsMTggKzEy MiwxOCBAQCB2b2lkIHJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHN0cnVjdCByYWRl b25fYm8gKnJibywgdTMyIGRvbWFpbikKIAogCWlmIChkb21haW4gJiBSQURFT05fR0VNX0RPTUFJ Tl9HVFQpIHsKIAkJaWYgKHJiby0+ZmxhZ3MgJiBSQURFT05fR0VNX0dUVF9VQykgewotCQkJcmJv LT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOworCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSBm cGZuOwogCQkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19VTkNBQ0hF RCB8CiAJCQkJVFRNX1BMX0ZMQUdfVFQ7CiAKIAkJfSBlbHNlIGlmICgocmJvLT5mbGFncyAmIFJB REVPTl9HRU1fR1RUX1dDKSB8fAogCQkJICAgKHJiby0+cmRldi0+ZmxhZ3MgJiBSQURFT05fSVNf QUdQKSkgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOworCQkJcmJvLT5wbGFjZW1l bnRzW2NdLmZwZm4gPSBmcGZuOwogCQkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1f UExfRkxBR19XQyB8CiAJCQkJVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfAogCQkJCVRUTV9QTF9GTEFH X1RUOwogCQl9IGVsc2UgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAwOworCQkJcmJv LT5wbGFjZW1lbnRzW2NdLmZwZm4gPSBmcGZuOwogCQkJcmJvLT5wbGFjZW1lbnRzW2MrK10uZmxh Z3MgPSBUVE1fUExfRkxBR19DQUNIRUQgfAogCQkJCQkJICAgICBUVE1fUExfRkxBR19UVDsKIAkJ fQpAQCAtMTM5LDI0ICsxNDEsMjQgQEAgdm9pZCByYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2Rv bWFpbihzdHJ1Y3QgcmFkZW9uX2JvICpyYm8sIHUzMiBkb21haW4pCiAKIAlpZiAoZG9tYWluICYg UkFERU9OX0dFTV9ET01BSU5fQ1BVKSB7CiAJCWlmIChyYm8tPmZsYWdzICYgUkFERU9OX0dFTV9H VFRfVUMpIHsKLQkJCXJiby0+cGxhY2VtZW50c1tjXS5mcGZuID0gMDsKKwkJCXJiby0+cGxhY2Vt ZW50c1tjXS5mcGZuID0gZnBmbjsKIAkJCXJiby0+cGxhY2VtZW50c1tjKytdLmZsYWdzID0gVFRN X1BMX0ZMQUdfVU5DQUNIRUQgfAogCQkJCVRUTV9QTF9GTEFHX1NZU1RFTTsKIAogCQl9IGVsc2Ug aWYgKChyYm8tPmZsYWdzICYgUkFERU9OX0dFTV9HVFRfV0MpIHx8CiAJCSAgICByYm8tPnJkZXYt PmZsYWdzICYgUkFERU9OX0lTX0FHUCkgewotCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSAw OworCQkJcmJvLT5wbGFjZW1lbnRzW2NdLmZwZm4gPSBmcGZuOwogCQkJcmJvLT5wbGFjZW1lbnRz W2MrK10uZmxhZ3MgPSBUVE1fUExfRkxBR19XQyB8CiAJCQkJVFRNX1BMX0ZMQUdfVU5DQUNIRUQg fAogCQkJCVRUTV9QTF9GTEFHX1NZU1RFTTsKIAkJfSBlbHNlIHsKLQkJCXJiby0+cGxhY2VtZW50 c1tjXS5mcGZuID0gMDsKKwkJCXJiby0+cGxhY2VtZW50c1tjXS5mcGZuID0gZnBmbjsKIAkJCXJi by0+cGxhY2VtZW50c1tjKytdLmZsYWdzID0gVFRNX1BMX0ZMQUdfQ0FDSEVEIHwKIAkJCQkJCSAg ICAgVFRNX1BMX0ZMQUdfU1lTVEVNOwogCQl9CiAJfQogCWlmICghYykgewotCQlyYm8tPnBsYWNl bWVudHNbY10uZnBmbiA9IDA7CisJCXJiby0+cGxhY2VtZW50c1tjXS5mcGZuID0gZnBmbjsKIAkJ cmJvLT5wbGFjZW1lbnRzW2MrK10uZmxhZ3MgPSBUVE1fUExfTUFTS19DQUNISU5HIHwKIAkJCQkJ ICAgICBUVE1fUExfRkxBR19TWVNURU07CiAJfQpAQCAtMTcxLDcgKzE3Myw3IEBAIHZvaWQgcmFk ZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IHJhZGVvbl9ibyAqcmJvLCB1MzIg ZG9tYWluKQogCQkJcmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gPQogCQkJCXJiby0+cmRldi0+bWMu dmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKIAkJZWxzZQotCQkJcmJvLT5wbGFjZW1l bnRzW2ldLmxwZm4gPSAwOworCQkJcmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gPSBscGZuOwogCX0K IAogCS8qCkBAIC0yNTIsNyArMjU0LDcgQEAgaW50IHJhZGVvbl9ib19jcmVhdGUoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsCiAJYm8tPmZsYWdzICY9IH5SQURFT05fR0VNX0dUVF9XQzsKICNl bmRpZgogCi0JcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIGRvbWFpbik7CisJ cmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIGRvbWFpbiwgMCwgMCk7CiAJLyog S2VybmVsIGFsbG9jYXRpb24gYXJlIHVuaW50ZXJydXB0aWJsZSAqLwogCWRvd25fcmVhZCgmcmRl di0+cG0ubWNsa19sb2NrKTsKIAlyID0gdHRtX2JvX2luaXQoJnJkZXYtPm1tYW4uYmRldiwgJmJv LT50Ym8sIHNpemUsIHR5cGUsCkBAIC0zNTAsNyArMzUyLDcgQEAgaW50IHJhZGVvbl9ib19waW5f cmVzdHJpY3RlZChzdHJ1Y3QgcmFkZW9uX2JvICpibywgdTMyIGRvbWFpbiwgdTY0IG1heF9vZmZz ZXQsCiAKIAkJcmV0dXJuIDA7CiAJfQotCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWlu KGJvLCBkb21haW4pOworCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKGJvLCBkb21h aW4sIDAsIDApOwogCWZvciAoaSA9IDA7IGkgPCBiby0+cGxhY2VtZW50Lm51bV9wbGFjZW1lbnQ7 IGkrKykgewogCQkvKiBmb3JjZSB0byBwaW4gaW50byB2aXNpYmxlIHZpZGVvIHJhbSAqLwogCQlp ZiAoKGJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYgVFRNX1BMX0ZMQUdfVlJBTSkgJiYKQEAgLTU1 Nyw3ICs1NTksNyBAQCBpbnQgcmFkZW9uX2JvX2xpc3RfdmFsaWRhdGUoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYsCiAJCQl9CiAKIAkJcmV0cnk6Ci0JCQlyYWRlb25fdHRtX3BsYWNlbWVudF9m cm9tX2RvbWFpbihibywgZG9tYWluKTsKKwkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9t YWluKGJvLCBkb21haW4sIDAsIDApOwogCQkJaWYgKHJpbmcgPT0gUjYwMF9SSU5HX1RZUEVfVVZE X0lOREVYKQogCQkJCXJhZGVvbl91dmRfZm9yY2VfaW50b191dmRfc2VnbWVudChibywgYWxsb3dl ZCk7CiAKQEAgLTgwMCw3ICs4MDIsNyBAQCBpbnQgcmFkZW9uX2JvX2ZhdWx0X3Jlc2VydmVfbm90 aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pCiAJCXJldHVybiAwOwogCiAJLyogaHVy cmFoIHRoZSBtZW1vcnkgaXMgbm90IHZpc2libGUgISAqLwotCXJhZGVvbl90dG1fcGxhY2VtZW50 X2Zyb21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fVlJBTSk7CisJcmFkZW9uX3R0bV9w bGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJTl9WUkFNLCAwLCAwKTsK IAlscGZuID0JcmRldi0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKIAlmb3Ig KGkgPSAwOyBpIDwgcmJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVudDsgaSsrKSB7CiAJCS8qIEZv cmNlIGludG8gdmlzaWJsZSBWUkFNICovCkBAIC04MTAsNyArODEyLDcgQEAgaW50IHJhZGVvbl9i b19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogCX0K IAlyID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCAmcmJvLT5wbGFjZW1lbnQsIGZhbHNlLCBmYWxzZSk7 CiAJaWYgKHVubGlrZWx5KHIgPT0gLUVOT01FTSkpIHsKLQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJTl9HVFQpOworCQlyYWRlb25fdHRtX3Bs YWNlbWVudF9mcm9tX2RvbWFpbihyYm8sIFJBREVPTl9HRU1fRE9NQUlOX0dUVCwgMCwgMCk7CiAJ CXJldHVybiB0dG1fYm9fdmFsaWRhdGUoYm8sICZyYm8tPnBsYWNlbWVudCwgZmFsc2UsIGZhbHNl KTsKIAl9IGVsc2UgaWYgKHVubGlrZWx5KHIgIT0gMCkpIHsKIAkJcmV0dXJuIHI7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX3R0bS5jCmluZGV4IGQwMmFhMWQuLjI5OTRiZWQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX3R0bS5jCkBAIC0xOTcsNyArMTk3LDcgQEAgc3RhdGljIHZvaWQgcmFk ZW9uX2V2aWN0X2ZsYWdzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJc3dpdGNoIChi by0+bWVtLm1lbV90eXBlKSB7CiAJY2FzZSBUVE1fUExfVlJBTToKIAkJaWYgKHJiby0+cmRldi0+ cmluZ1tyYWRlb25fY29weV9yaW5nX2luZGV4KHJiby0+cmRldildLnJlYWR5ID09IGZhbHNlKQot CQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJ Tl9DUFUpOworCQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBSQURFT05f R0VNX0RPTUFJTl9DUFUsIDAsIDApOwogCQllbHNlIGlmIChyYm8tPnJkZXYtPm1jLnZpc2libGVf dnJhbV9zaXplIDwgcmJvLT5yZGV2LT5tYy5yZWFsX3ZyYW1fc2l6ZSAmJgogCQkJIGJvLT5tZW0u c3RhcnQgPCAocmJvLT5yZGV2LT5tYy52aXNpYmxlX3ZyYW1fc2l6ZSA+PiBQQUdFX1NISUZUKSkg ewogCQkJdW5zaWduZWQgZnBmbiA9IHJiby0+cmRldi0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4g UEFHRV9TSElGVDsKQEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMgdm9pZCByYWRlb25fZXZpY3Rf ZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJCSAqIEJPcyB0byBiZSBldmlj dGVkIGZyb20gVlJBTQogCQkJICovCiAJCQlyYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFp bihyYm8sIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0gfAotCQkJCQkJCSBSQURFT05fR0VNX0RPTUFJ Tl9HVFQpOworCQkJCQkJCSBSQURFT05fR0VNX0RPTUFJTl9HVFQsIDAsIDApOwogCQkJcmJvLT5w bGFjZW1lbnQubnVtX2J1c3lfcGxhY2VtZW50ID0gMDsKIAkJCWZvciAoaSA9IDA7IGkgPCByYm8t PnBsYWNlbWVudC5udW1fcGxhY2VtZW50OyBpKyspIHsKIAkJCQlpZiAocmJvLT5wbGFjZW1lbnRz W2ldLmZsYWdzICYgVFRNX1BMX0ZMQUdfVlJBTSkgewpAQCAtMjIyLDExICsyMjIsMTEgQEAgc3Rh dGljIHZvaWQgcmFkZW9uX2V2aWN0X2ZsYWdzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8s CiAJCQkJfQogCQkJfQogCQl9IGVsc2UKLQkJCXJhZGVvbl90dG1fcGxhY2VtZW50X2Zyb21fZG9t YWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fR1RUKTsKKwkJCXJhZGVvbl90dG1fcGxhY2VtZW50 X2Zyb21fZG9tYWluKHJibywgUkFERU9OX0dFTV9ET01BSU5fR1RULCAwLCAwKTsKIAkJYnJlYWs7 CiAJY2FzZSBUVE1fUExfVFQ6CiAJZGVmYXVsdDoKLQkJcmFkZW9uX3R0bV9wbGFjZW1lbnRfZnJv bV9kb21haW4ocmJvLCBSQURFT05fR0VNX0RPTUFJTl9DUFUpOworCQlyYWRlb25fdHRtX3BsYWNl bWVudF9mcm9tX2RvbWFpbihyYm8sIFJBREVPTl9HRU1fRE9NQUlOX0NQVSwgMCwgMCk7CiAJfQog CSpwbGFjZW1lbnQgPSByYm8tPnBsYWNlbWVudDsKIH0KLS0gCjEuOC4zLjEKCg== --001a114902aeaf1b6805117d7d26 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK --001a114902aeaf1b6805117d7d26--