From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AA8CDFCB61F for ; Fri, 6 Mar 2026 16:35:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1003F10ED9A; Fri, 6 Mar 2026 16:35:00 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="FwFdpuhY"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9626B10E088; Fri, 6 Mar 2026 16:34:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Kw1avPFuY8tIuvsITeqH0KHs+YHGDcqNLCy6R8oJ254=; b=FwFdpuhYCmmXsfk12AStGFrG3Q vgYh7vpHHvQjS6mP/AtTGKOymQMKmkdrCZgKjq36hketY/UvlunSEDMHMaRmVO15aXRf6lzHZ/BlW rkCpJj33TG3/irx7NRsKugiu2INgEBUgnxzT62ZNmoEWgOg0SoBSoxD/FTGSBgFoknINyw5rJ9n8d asqrGo1F+wrXlshaLsccVVuSAij3ToW+udtDqe9QHCG8nuynjyBF5jxz3SIL5xgKVkhYqJJtvYUm8 FQ6eveSey3JiSupYEGdqTB5W3KnP9gkc2qlynvN6n9BoevFpHnwU1P9tzDxApHBRCZE3S01ZROu0C aP96WM4w==; Received: from [90.240.106.137] (helo=localhost) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1vyY8c-00APS9-NZ; Fri, 06 Mar 2026 17:34:54 +0100 From: Tvrtko Ursulin To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: kernel-dev@igalia.com, intel-xe@lists.freedesktop.org, Danilo Krummrich , Philipp Stanner , Tvrtko Ursulin , =?UTF-8?q?Christian=20K=C3=B6nig?= , Matthew Brost Subject: [PATCH v7 06/29] drm/sched: Implement RR via FIFO Date: Fri, 6 Mar 2026 16:34:22 +0000 Message-ID: <20260306163445.97243-7-tvrtko.ursulin@igalia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> References: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Um91bmQtcm9iaW4gYmVpbmcgdGhlIG5vbi1kZWZhdWx0IHBvbGljeSBhbmQgdW5jbGVhciBob3cg bXVjaCBpdCBpcyB1c2VkLAp3ZSBjYW4gbm90aWNlIHRoYXQgaXQgY2FuIGJlIGltcGxlbWVudGVk IHVzaW5nIHRoZSBGSUZPIGRhdGEgc3RydWN0dXJlcyBpZgp3ZSBvbmx5IGludmVudCBhIGZha2Ug c3VibWl0IHRpbWVzdGFtcCB3aGljaCBpcyBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcKaW5zaWRl IGRybV9zY2hlZF9ycSBpbnN0YW5jZXMuCgpTbyBpbnN0ZWFkIG9mIHJlbWVtYmVyaW5nIHdoaWNo IHdhcyB0aGUgbGFzdCBlbnRpdHkgdGhlIHNjaGVkdWxlciB3b3JrZXIKcGlja2VkIHdlIGNhbiBz aW1wbHkgYnVtcCB0aGUgcGlja2VkIG9uZSB0byB0aGUgYm90dG9tIG9mIHRoZSB0cmVlLCB3aGlj aAplbnN1cmVzIHJvdW5kLXJvYmluIGJlaGF2aW91ciBiZXR3ZWVuIGFsbCBhY3RpdmUgcXVldWVk IGpvYnMuCgpJZiB0aGUgcGlja2VkIGpvYiB3YXMgdGhlIGxhc3QgZnJvbSBhIGdpdmVuIGVudGl0 eSwgd2UgcmVtZW1iZXIgdGhlCmFzc2lnbmVkIGZha2UgdGltZXN0YW1wIGFuZCB1c2UgaXQgdG8g cmUtaW5zZXJ0IHRoZSBqb2Igb25jZSBpdCByZS1qb2lucwp0aGUgcXVldWUuIFRoaXMgZW5zdXJl cyB0aGUgam9iIG5laXRoZXIgb3ZlcnRha2VzIGFsbCBhbHJlYWR5IHF1ZXVlZCBqb2JzLApuZWl0 aGVyIGl0IGdvZXMgbGFzdC4gSW5zdGVhZCBpdCBrZWVwcyB0aGUgcG9zaXRpb24gYWZ0ZXIgdGhl IGN1cnJlbnRseQpxdWV1ZWQgam9icyBhbmQgYmVmb3JlIHRoZSBvbmVzIHdoaWNoIGhhdmVuJ3Qg eWV0IGJlZW4gcXVldWVkIGF0IHRoZSBwb2ludAp0aGUgZW50aXR5IGxlZnQgdGhlIHF1ZXVlLgoK QWR2YW50YWdlIGlzIHRoYXQgd2UgY2FuIGNvbnNvbGlkYXRlIHRvIGEgc2luZ2xlIGNvZGUgcGF0 aCBhbmQgcmVtb3ZlIGEKYnVuY2ggb2YgY29kZS4gRG93bnNpZGUgaXMgcm91bmQtcm9iaW4gbW9k ZSBub3cgbmVlZHMgdG8gbG9jayBvbiB0aGUgam9iCnBvcCBwYXRoIGJ1dCB0aGF0IHNob3VsZCBu b3QgaGF2ZSBhIG1lYXN1cmFibGUgcGVyZm9ybWFuY2UgaW1wYWN0LgoKU2lnbmVkLW9mZi1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGlnYWxpYS5jb20+CkNjOiBDaHJpc3RpYW4g S8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+CkNjOiBEYW5pbG8gS3J1bW1yaWNoIDxk YWtyQGtlcm5lbC5vcmc+CkNjOiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0QGludGVsLmNv bT4KQ2M6IFBoaWxpcHAgU3Rhbm5lciA8cGhhc3RhQGtlcm5lbC5vcmc+CkFja2VkLWJ5OiBEYW5p bG8gS3J1bW1yaWNoIDxkYWtyQGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3NjaGVk dWxlci9zY2hlZF9pbnRlcm5hbC5oIHwgICA3ICstCiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVy L3NjaGVkX21haW4uYyAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2No ZWRfcnEuYyAgICAgICB8IDEyMyArKysrKysrLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2dw dV9zY2hlZHVsZXIuaCAgICAgICAgICAgICAgICB8ICAxNiArKy0KIDQgZmlsZXMgY2hhbmdlZCwg NTYgaW5zZXJ0aW9ucygrKSwgOTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3NjaGVkdWxlci9zY2hlZF9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVk dWxlci9zY2hlZF9pbnRlcm5hbC5oCmluZGV4IGFhYjYzYTg3MjFkOS4uYjY4M2NmODEzNDY5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ludGVybmFsLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9pbnRlcm5hbC5oCkBAIC0yNCwxMSAr MjQsOCBAQCB2b2lkIGRybV9zY2hlZF9ycV9yZW1vdmVfZW50aXR5KHN0cnVjdCBkcm1fc2NoZWRf cnEgKnJxLAogdm9pZCBkcm1fc2NoZWRfcnFfcG9wX2VudGl0eShzdHJ1Y3QgZHJtX3NjaGVkX2Vu dGl0eSAqZW50aXR5KTsKIAogc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKgotZHJtX3NjaGVkX3Jx X3NlbGVjdF9lbnRpdHlfcnIoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwKLQkJCSAg ICAgIHN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxKTsKLXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICoK LWRybV9zY2hlZF9ycV9zZWxlY3RfZW50aXR5X2ZpZm8oc3RydWN0IGRybV9ncHVfc2NoZWR1bGVy ICpzY2hlZCwKLQkJCQlzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSk7Citkcm1fc2NoZWRfcnFfc2Vs ZWN0X2VudGl0eShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAorCQkJICAgc3RydWN0 IGRybV9zY2hlZF9ycSAqcnEpOwogCiB2b2lkIGRybV9zY2hlZF9lbnRpdHlfc2VsZWN0X3JxKHN0 cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkpOwogc3RydWN0IGRybV9zY2hlZF9qb2IgKmRy bV9zY2hlZF9lbnRpdHlfcG9wX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jIGIvZHJp dmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKaW5kZXggMjk4NTA5ZTQwZDY5Li4w OTdlYTE4N2QwOGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRf bWFpbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCkBAIC04 OTIsMTUgKzg5MiwxMyBAQCB2b2lkIGRybV9zY2hlZF93YWtldXAoc3RydWN0IGRybV9ncHVfc2No ZWR1bGVyICpzY2hlZCkKIHN0YXRpYyBzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqCiBkcm1fc2No ZWRfc2VsZWN0X2VudGl0eShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQogewotCXN0 cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHk7CisJc3RydWN0IGRybV9zY2hlZF9lbnRpdHkg KmVudGl0eSA9IE5VTEw7CiAJaW50IGk7CiAKIAkvKiBTdGFydCB3aXRoIHRoZSBoaWdoZXN0IHBy aW9yaXR5LgogCSAqLwogCWZvciAoaSA9IERSTV9TQ0hFRF9QUklPUklUWV9LRVJORUw7IGkgPCBz Y2hlZC0+bnVtX3JxczsgaSsrKSB7Ci0JCWVudGl0eSA9IGRybV9zY2hlZF9wb2xpY3kgPT0gRFJN X1NDSEVEX1BPTElDWV9GSUZPID8KLQkJCWRybV9zY2hlZF9ycV9zZWxlY3RfZW50aXR5X2ZpZm8o c2NoZWQsIHNjaGVkLT5zY2hlZF9ycVtpXSkgOgotCQkJZHJtX3NjaGVkX3JxX3NlbGVjdF9lbnRp dHlfcnIoc2NoZWQsIHNjaGVkLT5zY2hlZF9ycVtpXSk7CisJCWVudGl0eSA9IGRybV9zY2hlZF9y cV9zZWxlY3RfZW50aXR5KHNjaGVkLCBzY2hlZC0+c2NoZWRfcnFbaV0pOwogCQlpZiAoZW50aXR5 KQogCQkJYnJlYWs7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9z Y2hlZF9ycS5jIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9ycS5jCmluZGV4IGNm YzE4ZmM3YTQxMS4uY2YwM2IzOGM0ZWI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2No ZWR1bGVyL3NjaGVkX3JxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9y cS5jCkBAIC05NSw4ICs5NSw5IEBAIGRybV9zY2hlZF9ycV9hZGRfZW50aXR5KHN0cnVjdCBkcm1f c2NoZWRfZW50aXR5ICplbnRpdHksIGt0aW1lX3QgdHMpCiAJCWxpc3RfYWRkX3RhaWwoJmVudGl0 eS0+bGlzdCwgJnJxLT5lbnRpdGllcyk7CiAJfQogCi0JaWYgKGRybV9zY2hlZF9wb2xpY3kgPT0g RFJNX1NDSEVEX1BPTElDWV9GSUZPKQotCQlkcm1fc2NoZWRfcnFfdXBkYXRlX2ZpZm9fbG9ja2Vk KGVudGl0eSwgcnEsIHRzKTsKKwlpZiAoZHJtX3NjaGVkX3BvbGljeSA9PSBEUk1fU0NIRURfUE9M SUNZX1JSKQorCQl0cyA9IGVudGl0eS0+cnJfdHM7CisJZHJtX3NjaGVkX3JxX3VwZGF0ZV9maWZv X2xvY2tlZChlbnRpdHksIHJxLCB0cyk7CiAKIAlzcGluX3VubG9jaygmcnEtPmxvY2spOwogCXNw aW5fdW5sb2NrKCZlbnRpdHktPmxvY2spOwpAQCAtMTI0LDE1ICsxMjUsMjcgQEAgdm9pZCBkcm1f c2NoZWRfcnFfcmVtb3ZlX2VudGl0eShzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSwKIAlhdG9taWNf ZGVjKHJxLT5zY2hlZC0+c2NvcmUpOwogCWxpc3RfZGVsX2luaXQoJmVudGl0eS0+bGlzdCk7CiAK LQlpZiAocnEtPmN1cnJlbnRfZW50aXR5ID09IGVudGl0eSkKLQkJcnEtPmN1cnJlbnRfZW50aXR5 ID0gTlVMTDsKLQotCWlmIChkcm1fc2NoZWRfcG9saWN5ID09IERSTV9TQ0hFRF9QT0xJQ1lfRklG TykKLQkJZHJtX3NjaGVkX3JxX3JlbW92ZV9maWZvX2xvY2tlZChlbnRpdHksIHJxKTsKKwlkcm1f c2NoZWRfcnFfcmVtb3ZlX2ZpZm9fbG9ja2VkKGVudGl0eSwgcnEpOwogCiAJc3Bpbl91bmxvY2so JnJxLT5sb2NrKTsKIH0KIAorc3RhdGljIGt0aW1lX3QKK2RybV9zY2hlZF9ycV9uZXh0X3JyX3Rz KHN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxLAorCQkJc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVu dGl0eSkKK3sKKwlrdGltZV90IHRzOworCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZW50aXR5LT5s b2NrKTsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZycS0+bG9jayk7CisKKwl0cyA9IGt0aW1lX2Fk ZF9ucyhycS0+cnJfdHMsIDEpOworCWVudGl0eS0+cnJfdHMgPSB0czsKKwlycS0+cnJfdHMgPSB0 czsKKworCXJldHVybiB0czsKK30KKwogLyoqCiAgKiBkcm1fc2NoZWRfcnFfcG9wX2VudGl0eSAt IHBvcHMgYW4gZW50aXR5CiAgKiBAZW50aXR5OiBzY2hlZHVsZXIgZW50aXR5CkBAIC0xNDEsODgg KzE1NCwzMiBAQCB2b2lkIGRybV9zY2hlZF9ycV9yZW1vdmVfZW50aXR5KHN0cnVjdCBkcm1fc2No ZWRfcnEgKnJxLAogICovCiB2b2lkIGRybV9zY2hlZF9ycV9wb3BfZW50aXR5KHN0cnVjdCBkcm1f c2NoZWRfZW50aXR5ICplbnRpdHkpCiB7CisJc3RydWN0IGRybV9zY2hlZF9qb2IgKm5leHRfam9i OworCiAJLyoKIAkgKiBVcGRhdGUgdGhlIGVudGl0eSdzIGxvY2F0aW9uIGluIHRoZSBtaW4gaGVh cCBhY2NvcmRpbmcgdG8KIAkgKiB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGpvYiwgaWYgYW55 LgogCSAqLwotCWlmIChkcm1fc2NoZWRfcG9saWN5ID09IERSTV9TQ0hFRF9QT0xJQ1lfRklGTykg ewotCQlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqbmV4dDsKLQotCQluZXh0ID0gZHJtX3NjaGVkX2Vu dGl0eV9xdWV1ZV9wZWVrKGVudGl0eSk7Ci0JCWlmIChuZXh0KSB7Ci0JCQlzdHJ1Y3QgZHJtX3Nj aGVkX3JxICpycTsKLQotCQkJc3Bpbl9sb2NrKCZlbnRpdHktPmxvY2spOwotCQkJcnEgPSBlbnRp dHktPnJxOwotCQkJc3Bpbl9sb2NrKCZycS0+bG9jayk7Ci0JCQlkcm1fc2NoZWRfcnFfdXBkYXRl X2ZpZm9fbG9ja2VkKGVudGl0eSwgcnEsCi0JCQkJCQkJbmV4dC0+c3VibWl0X3RzKTsKLQkJCXNw aW5fdW5sb2NrKCZycS0+bG9jayk7Ci0JCQlzcGluX3VubG9jaygmZW50aXR5LT5sb2NrKTsKLQkJ fQorCW5leHRfam9iID0gZHJtX3NjaGVkX2VudGl0eV9xdWV1ZV9wZWVrKGVudGl0eSk7CisJaWYg KG5leHRfam9iKSB7CisJCXN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxOworCQlrdGltZV90IHRzOwor CisJCXNwaW5fbG9jaygmZW50aXR5LT5sb2NrKTsKKwkJcnEgPSBlbnRpdHktPnJxOworCQlzcGlu X2xvY2soJnJxLT5sb2NrKTsKKwkJaWYgKGRybV9zY2hlZF9wb2xpY3kgPT0gRFJNX1NDSEVEX1BP TElDWV9GSUZPKQorCQkJdHMgPSBuZXh0X2pvYi0+c3VibWl0X3RzOworCQllbHNlCisJCQl0cyA9 IGRybV9zY2hlZF9ycV9uZXh0X3JyX3RzKHJxLCBlbnRpdHkpOworCQlkcm1fc2NoZWRfcnFfdXBk YXRlX2ZpZm9fbG9ja2VkKGVudGl0eSwgcnEsIHRzKTsKKwkJc3Bpbl91bmxvY2soJnJxLT5sb2Nr KTsKKwkJc3Bpbl91bmxvY2soJmVudGl0eS0+bG9jayk7CiAJfQogfQogCiAvKioKLSAqIGRybV9z Y2hlZF9ycV9zZWxlY3RfZW50aXR5X3JyIC0gU2VsZWN0IGFuIGVudGl0eSB3aGljaCBjb3VsZCBw cm92aWRlIGEgam9iIHRvIHJ1bgotICoKLSAqIEBzY2hlZDogdGhlIGdwdSBzY2hlZHVsZXIKLSAq IEBycTogc2NoZWR1bGVyIHJ1biBxdWV1ZSB0byBjaGVjay4KLSAqCi0gKiBUcnkgdG8gZmluZCB0 aGUgbmV4dCByZWFkeSBlbnRpdHkuCi0gKgotICogUmV0dXJuIGFuIGVudGl0eSBpZiBvbmUgaXMg Zm91bmQ7IHJldHVybiBhbiBlcnJvci1wb2ludGVyICghTlVMTCkgaWYgYW4KLSAqIGVudGl0eSB3 YXMgcmVhZHksIGJ1dCB0aGUgc2NoZWR1bGVyIGhhZCBpbnN1ZmZpY2llbnQgY3JlZGl0cyB0byBh Y2NvbW1vZGF0ZQotICogaXRzIGpvYjsgcmV0dXJuIE5VTEwsIGlmIG5vIHJlYWR5IGVudGl0eSB3 YXMgZm91bmQuCi0gKi8KLXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICoKLWRybV9zY2hlZF9ycV9z ZWxlY3RfZW50aXR5X3JyKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCi0JCQkgICAg ICBzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSkKLXsKLQlzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAq ZW50aXR5OwotCi0Jc3Bpbl9sb2NrKCZycS0+bG9jayk7Ci0KLQllbnRpdHkgPSBycS0+Y3VycmVu dF9lbnRpdHk7Ci0JaWYgKGVudGl0eSkgewotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVl KGVudGl0eSwgJnJxLT5lbnRpdGllcywgbGlzdCkgewotCQkJaWYgKGRybV9zY2hlZF9lbnRpdHlf aXNfcmVhZHkoZW50aXR5KSkKLQkJCQlnb3RvIGZvdW5kOwotCQl9Ci0JfQotCi0JbGlzdF9mb3Jf ZWFjaF9lbnRyeShlbnRpdHksICZycS0+ZW50aXRpZXMsIGxpc3QpIHsKLQkJaWYgKGRybV9zY2hl ZF9lbnRpdHlfaXNfcmVhZHkoZW50aXR5KSkKLQkJCWdvdG8gZm91bmQ7Ci0KLQkJaWYgKGVudGl0 eSA9PSBycS0+Y3VycmVudF9lbnRpdHkpCi0JCQlicmVhazsKLQl9Ci0KLQlzcGluX3VubG9jaygm cnEtPmxvY2spOwotCi0JcmV0dXJuIE5VTEw7Ci0KLWZvdW5kOgotCWlmICghZHJtX3NjaGVkX2Nh bl9xdWV1ZShzY2hlZCwgZW50aXR5KSkgewotCQkvKgotCQkgKiBJZiBzY2hlZHVsZXIgY2Fubm90 IHRha2UgbW9yZSBqb2JzIHNpZ25hbCB0aGUgY2FsbGVyIHRvIG5vdAotCQkgKiBjb25zaWRlciBs b3dlciBwcmlvcml0eSBxdWV1ZXMuCi0JCSAqLwotCQllbnRpdHkgPSBFUlJfUFRSKC1FTk9TUEMp OwotCX0gZWxzZSB7Ci0JCXJxLT5jdXJyZW50X2VudGl0eSA9IGVudGl0eTsKLQkJcmVpbml0X2Nv bXBsZXRpb24oJmVudGl0eS0+ZW50aXR5X2lkbGUpOwotCX0KLQotCXNwaW5fdW5sb2NrKCZycS0+ bG9jayk7Ci0KLQlyZXR1cm4gZW50aXR5OwotfQotCi0vKioKLSAqIGRybV9zY2hlZF9ycV9zZWxl Y3RfZW50aXR5X2ZpZm8gLSBTZWxlY3QgYW4gZW50aXR5IHdoaWNoIHByb3ZpZGVzIGEgam9iIHRv IHJ1bgotICoKKyAqIGRybV9zY2hlZF9ycV9zZWxlY3RfZW50aXR5IC0gU2VsZWN0IGFuIGVudGl0 eSB3aGljaCBwcm92aWRlcyBhIGpvYiB0byBydW4KICAqIEBzY2hlZDogdGhlIGdwdSBzY2hlZHVs ZXIKICAqIEBycTogc2NoZWR1bGVyIHJ1biBxdWV1ZSB0byBjaGVjay4KICAqCkBAIC0yMzMsOCAr MTkwLDggQEAgZHJtX3NjaGVkX3JxX3NlbGVjdF9lbnRpdHlfcnIoc3RydWN0IGRybV9ncHVfc2No ZWR1bGVyICpzY2hlZCwKICAqIGl0cyBqb2I7IHJldHVybiBOVUxMLCBpZiBubyByZWFkeSBlbnRp dHkgd2FzIGZvdW5kLgogICovCiBzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqCi1kcm1fc2NoZWRf cnFfc2VsZWN0X2VudGl0eV9maWZvKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCi0J CQkJc3RydWN0IGRybV9zY2hlZF9ycSAqcnEpCitkcm1fc2NoZWRfcnFfc2VsZWN0X2VudGl0eShz dHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAorCQkJICAgc3RydWN0IGRybV9zY2hlZF9y cSAqcnEpCiB7CiAJc3RydWN0IHJiX25vZGUgKnJiOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9ncHVfc2NoZWR1bGVyLmggYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKaW5kZXggNzhl MDdjMjUwN2M3Li4yYjNlYWY2MjNmNjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2dwdV9zY2hl ZHVsZXIuaAorKysgYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKQEAgLTk0LDcgKzk0LDgg QEAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgewogCSAqIEBsb2NrOgogCSAqCiAJICogTG9jayBw cm90ZWN0aW5nIHRoZSBydW4tcXVldWUgKEBycSkgdG8gd2hpY2ggdGhpcyBlbnRpdHkgYmVsb25n cywKLQkgKiBAcHJpb3JpdHkgYW5kIHRoZSBsaXN0IG9mIHNjaGVkdWxlcnMgKEBzY2hlZF9saXN0 LCBAbnVtX3NjaGVkX2xpc3QpLgorCSAqIEBwcmlvcml0eSwgdGhlIGxpc3Qgb2Ygc2NoZWR1bGVy cyAoQHNjaGVkX2xpc3QsIEBudW1fc2NoZWRfbGlzdCkgYW5kCisJICogdGhlIEBycl90cyBmaWVs ZC4KIAkgKi8KIAlzcGlubG9ja190CQkJbG9jazsKIApAQCAtMTQyLDYgKzE0MywxMyBAQCBzdHJ1 Y3QgZHJtX3NjaGVkX2VudGl0eSB7CiAJICovCiAJZW51bSBkcm1fc2NoZWRfcHJpb3JpdHkgICAg ICAgICBwcmlvcml0eTsKIAorCS8qKgorCSAqIEBycl90czoKKwkgKgorCSAqIEZha2UgdGltZXN0 YW1wIG9mIHRoZSBsYXN0IHBvcHBlZCBqb2IgZnJvbSB0aGUgZW50aXR5LgorCSAqLworCWt0aW1l X3QJCQkJcnJfdHM7CisKIAkvKioKIAkgKiBAam9iX3F1ZXVlOiB0aGUgbGlzdCBvZiBqb2JzIG9m IHRoaXMgZW50aXR5LgogCSAqLwpAQCAtMjM5LDggKzI0Nyw4IEBAIHN0cnVjdCBkcm1fc2NoZWRf ZW50aXR5IHsKICAqIHN0cnVjdCBkcm1fc2NoZWRfcnEgLSBxdWV1ZSBvZiBlbnRpdGllcyB0byBi ZSBzY2hlZHVsZWQuCiAgKgogICogQHNjaGVkOiB0aGUgc2NoZWR1bGVyIHRvIHdoaWNoIHRoaXMg cnEgYmVsb25ncyB0by4KLSAqIEBsb2NrOiBwcm90ZWN0cyBAZW50aXRpZXMsIEByYl90cmVlX3Jv b3QgYW5kIEBjdXJyZW50X2VudGl0eS4KLSAqIEBjdXJyZW50X2VudGl0eTogdGhlIGVudGl0eSB3 aGljaCBpcyB0byBiZSBzY2hlZHVsZWQuCisgKiBAbG9jazogcHJvdGVjdHMgQGVudGl0aWVzLCBA cmJfdHJlZV9yb290IGFuZCBAcnJfdHMuCisgKiBAcnJfdHM6IG1vbm90b25pY2FsbHkgaW5jcmVt ZW50aW5nIGZha2UgdGltZXN0YW1wIGZvciBSUiBtb2RlLgogICogQGVudGl0aWVzOiBsaXN0IG9m IHRoZSBlbnRpdGllcyB0byBiZSBzY2hlZHVsZWQuCiAgKiBAcmJfdHJlZV9yb290OiByb290IG9m IHRpbWUgYmFzZWQgcHJpb3JpdHkgcXVldWUgb2YgZW50aXRpZXMgZm9yIEZJRk8gc2NoZWR1bGlu ZwogICoKQEAgLTI1Myw3ICsyNjEsNyBAQCBzdHJ1Y3QgZHJtX3NjaGVkX3JxIHsKIAogCXNwaW5s b2NrX3QJCQlsb2NrOwogCS8qIEZvbGxvd2luZyBtZW1iZXJzIGFyZSBwcm90ZWN0ZWQgYnkgdGhl IEBsb2NrOiAqLwotCXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5CQkqY3VycmVudF9lbnRpdHk7CisJ a3RpbWVfdAkJCQlycl90czsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQllbnRpdGllczsKIAlzdHJ1Y3Qg cmJfcm9vdF9jYWNoZWQJCXJiX3RyZWVfcm9vdDsKIH07Ci0tIAoyLjUyLjAKCg==