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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D96BC43215 for ; Thu, 28 Nov 2019 02:42:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CCA36208E4 for ; Thu, 28 Nov 2019 02:42:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="jHhAyBZJ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728463AbfK1Cmu (ORCPT ); Wed, 27 Nov 2019 21:42:50 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:52298 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727860AbfK1Cmt (ORCPT ); Wed, 27 Nov 2019 21:42:49 -0500 X-UUID: fb23e03461034fbe965408c5ddd1f299-20191128 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=P14uNYy6cxrL8Pyp9u5v/yKUSyTUz15inZ/F7fxu4b0=; b=jHhAyBZJV0Zymth1ctWE4rTFEIURswvS8/atRSPG8i6y2SFObWeX/eBkusTSh+Aj2V3v1N/1E/IZeZ0ygAHBPaM7dhyrRA+1oYpP8iKMnadOXg7arHnfaFQlXz+Mu1B2739rvH+ilgjoOlqCcaGL1MyngL/gaDb4UPSuyZ3QVfs=; X-UUID: fb23e03461034fbe965408c5ddd1f299-20191128 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1801275288; Thu, 28 Nov 2019 10:42:42 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 28 Nov 2019 10:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 28 Nov 2019 10:42:46 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , CC: Philipp Zabel , YT Shen , Thierry Reding , CK Hu , , , , , , Bibby Hsieh Subject: [PATCH v1 2/6] drm/mediatek: use DRM core's atomic commit helper Date: Thu, 28 Nov 2019 10:42:34 +0800 Message-ID: <20191128024238.9399-3-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191128024238.9399-1-bibby.hsieh@mediatek.com> References: <20191128024238.9399-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhlIERSTSBjb3JlIGF0b21pYyBoZWxwZXIgbm93IHN1cHBvcnRzIGFzeW5jaHJvbm91cyBjb21t aXRzIG5hdGl2ZWx5Lg0KVGhlIGN1c3RvbSBkcm0gaW1wbGVtZW50YXRpb24gaXNuJ3QgbmVlZGVk IGFueW1vcmUsIHJlbW92ZSBpdC4NCg0KU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJpYmJ5 LmhzaWVoQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5jIHwgODYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCB8ICA3IC0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMNCmluZGV4IDY1ODhkYzZkZDVlMy4uMTZlNTc3MWQxODJlIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQpAQCAtMzYsODkgKzM2LDE0IEBADQogI2Rl ZmluZSBEUklWRVJfTUFKT1IgMQ0KICNkZWZpbmUgRFJJVkVSX01JTk9SIDANCiANCi1zdGF0aWMg dm9pZCBtdGtfYXRvbWljX3NjaGVkdWxlKHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXZhdGUs DQotCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkNCi17DQotCXByaXZhdGUtPmNv bW1pdC5zdGF0ZSA9IHN0YXRlOw0KLQlzY2hlZHVsZV93b3JrKCZwcml2YXRlLT5jb21taXQud29y ayk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNfY29tcGxldGUoc3RydWN0IG10a19k cm1fcHJpdmF0ZSAqcHJpdmF0ZSwNCi0JCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQ0KLXsNCi0Jc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHByaXZhdGUtPmRybTsNCi0NCi0JZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmVuY2VzKGRybSwgc3RhdGUsIGZhbHNlKTsNCi0NCi0J LyoNCi0JICogTWVkaWF0ZWsgZHJtIHN1cHBvcnRzIHJ1bnRpbWUgUE0sIHNvIHBsYW5lIHJlZ2lz dGVycyBjYW5ub3QgYmUNCi0JICogd3JpdHRlbiB3aGVuIHRoZWlyIGNydGMgaXMgZGlzYWJsZWQu DQotCSAqDQotCSAqIFRoZSBjb21tZW50IGZvciBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQgc3Rh dGVzOg0KLQkgKiAgICAgRm9yIGRyaXZlcnMgc3VwcG9ydGluZyBydW50aW1lIFBNIHRoZSByZWNv bW1lbmRlZCBzZXF1ZW5jZSBpcw0KLQkgKg0KLQkgKiAgICAgZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X21vZGVzZXRfZGlzYWJsZXMoZGV2LCBzdGF0ZSk7DQotCSAqICAgICBkcm1fYXRvbWljX2hl bHBlcl9jb21taXRfbW9kZXNldF9lbmFibGVzKGRldiwgc3RhdGUpOw0KLQkgKiAgICAgZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlLA0KLQkgKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEUk1fUExBTkVfQ09NTUlUX0FDVElWRV9PTkxZKTsNCi0J ICoNCi0JICogU2VlIHRoZSBrZXJuZWxkb2MgZW50cmllcyBmb3IgdGhlc2UgdGhyZWUgZnVuY3Rp b25zIGZvciBtb3JlIGRldGFpbHMuDQotCSAqLw0KLQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRf bW9kZXNldF9kaXNhYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X21vZGVzZXRfZW5hYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X3BsYW5lcyhkcm0sIHN0YXRlLA0KLQkJCQkJRFJNX1BMQU5FX0NPTU1JVF9BQ1RJVkVfT05MWSk7 DQotDQotCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MoZHJtLCBzdGF0ZSk7DQot DQotCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRybSwgc3RhdGUpOw0KLQlkcm1f YXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNf d29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9wcml2 YXRlICpwcml2YXRlID0gY29udGFpbmVyX29mKHdvcmssDQotCQkJc3RydWN0IG10a19kcm1fcHJp dmF0ZSwgY29tbWl0LndvcmspOw0KLQ0KLQltdGtfYXRvbWljX2NvbXBsZXRlKHByaXZhdGUsIHBy aXZhdGUtPmNvbW1pdC5zdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwNCi0JCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwNCi0JCQkgICAgIGJvb2wgYXN5bmMpDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9w cml2YXRlICpwcml2YXRlID0gZHJtLT5kZXZfcHJpdmF0ZTsNCi0JaW50IHJldDsNCi0NCi0JcmV0 ID0gZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCWlmIChy ZXQpDQotCQlyZXR1cm4gcmV0Ow0KLQ0KLQltdXRleF9sb2NrKCZwcml2YXRlLT5jb21taXQubG9j ayk7DQotCWZsdXNoX3dvcmsoJnByaXZhdGUtPmNvbW1pdC53b3JrKTsNCi0NCi0JcmV0ID0gZHJt X2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdGF0ZSwgdHJ1ZSk7DQotCWlmIChyZXQpIHsNCi0J CW11dGV4X3VubG9jaygmcHJpdmF0ZS0+Y29tbWl0LmxvY2spOw0KLQkJZHJtX2F0b21pY19oZWxw ZXJfY2xlYW51cF9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCQlyZXR1cm4gcmV0Ow0KLQl9DQotDQot CWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRlKTsNCi0JaWYgKGFzeW5jKQ0KLQkJbXRrX2F0b21p Y19zY2hlZHVsZShwcml2YXRlLCBzdGF0ZSk7DQotCWVsc2UNCi0JCW10a19hdG9taWNfY29tcGxl dGUocHJpdmF0ZSwgc3RhdGUpOw0KLQ0KLQltdXRleF91bmxvY2soJnByaXZhdGUtPmNvbW1pdC5s b2NrKTsNCi0NCi0JcmV0dXJuIDA7DQotfQ0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnX2hlbHBlcl9mdW5jcyBtdGtfZHJtX21vZGVfY29uZmlnX2hlbHBlcnMgPSB7DQorCS5h dG9taWNfY29tbWl0X3RhaWwgPSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbF9ycG0sDQor fTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBtdGtfZHJt X21vZGVfY29uZmlnX2Z1bmNzID0gew0KIAkuZmJfY3JlYXRlID0gbXRrX2RybV9tb2RlX2ZiX2Ny ZWF0ZSwNCiAJLmF0b21pY19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLA0KLQkuYXRv bWljX2NvbW1pdCA9IG10a19hdG9taWNfY29tbWl0LA0KKwkuYXRvbWljX2NvbW1pdCA9IGRybV9h dG9taWNfaGVscGVyX2NvbW1pdCwNCiB9Ow0KIA0KIHN0YXRpYyBjb25zdCBlbnVtIG10a19kZHBf Y29tcF9pZCBtdDI3MDFfbXRrX2RkcF9tYWluW10gPSB7DQpAQCAtMjY1LDYgKzE5MCw3IEBAIHN0 YXRpYyBpbnQgbXRrX2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQ0KIAlkcm0t Pm1vZGVfY29uZmlnLm1heF93aWR0aCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcubWF4X2hl aWdodCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcuZnVuY3MgPSAmbXRrX2RybV9tb2RlX2Nv bmZpZ19mdW5jczsNCisJZHJtLT5tb2RlX2NvbmZpZy5oZWxwZXJfcHJpdmF0ZSA9ICZtdGtfZHJt X21vZGVfY29uZmlnX2hlbHBlcnM7DQogDQogCXJldCA9IGNvbXBvbmVudF9iaW5kX2FsbChkcm0t PmRldiwgZHJtKTsNCiAJaWYgKHJldCkNCkBAIC01NDAsOCArNDY2LDYgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCWlmICghcHJpdmF0 ZSkNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KLQltdXRleF9pbml0KCZwcml2YXRlLT5jb21taXQu bG9jayk7DQotCUlOSVRfV09SSygmcHJpdmF0ZS0+Y29tbWl0LndvcmssIG10a19hdG9taWNfd29y ayk7DQogCXByaXZhdGUtPmRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsNCiAN CiAJbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsN CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQppbmRleCBiNmE4MjcyOGQ1NjMu LjlmNGNlNjAxNzRmNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0K QEAgLTQ2LDEzICs0Niw2IEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgew0KIAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKmNvbXBfbm9kZVtERFBfQ09NUE9ORU5UX0lEX01BWF07DQogCXN0cnVjdCBtdGtf ZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsNCiAJY29uc3Qgc3RydWN0 IG10a19tbXN5c19kcml2ZXJfZGF0YSAqZGF0YTsNCi0NCi0Jc3RydWN0IHsNCi0JCXN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsNCi0JCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOw0KLQkJ c3RydWN0IG11dGV4IGxvY2s7DQotCX0gY29tbWl0Ow0KLQ0KIAlzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3VzcGVuZF9zdGF0ZTsNCiANCiAJYm9vbCBkbWFfcGFybXNfYWxsb2NhdGVkOw0KLS0g DQoyLjE4LjANCg== 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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 992D6C432C0 for ; Thu, 28 Nov 2019 02:43:54 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6406020637 for ; Thu, 28 Nov 2019 02:43:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="StAza0Ex"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="jHhAyBZJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6406020637 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IdxbQDOR0gdhiKbgk2041layjcpHmFJMWlXgXhBonl0=; b=StAza0Ex22/u83 kXv2jkzJZ9aj4WHhg0LWbv+5WH9Isy5y0oaFRJOaI4X4q5QcE8ehb4VbBWOXAerazvyNZ8J3cKO3e lTrz5FkMGh7hOG++6WYvhMywAKVxBsgqWVbivChnV9v1Vl4nNtX3UXPnfVxljcrUvoKJc/ND/1SIq TA6YIt+UNDnFX/chWMB4ZQxEldZB5JV+h9eho82NQp/dkGNltQuBknGtWJJY+H+LrDlOS/V8lxpdY Q8//2FQvc3suyScJ4pOoAB0BINrW+sfSPnFod5x+5tFzillKrHpMQjWIDVLTVTaTZLrJAjfzcf7lh OImDUFT9nRP7g2Ex6vqg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia9ma-0000bC-MQ; Thu, 28 Nov 2019 02:43:52 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia9lX-0007yy-R1; Thu, 28 Nov 2019 02:42:49 +0000 X-UUID: af4ac3faf00544109f1019dbee2889bd-20191127 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=P14uNYy6cxrL8Pyp9u5v/yKUSyTUz15inZ/F7fxu4b0=; b=jHhAyBZJV0Zymth1ctWE4rTFEIURswvS8/atRSPG8i6y2SFObWeX/eBkusTSh+Aj2V3v1N/1E/IZeZ0ygAHBPaM7dhyrRA+1oYpP8iKMnadOXg7arHnfaFQlXz+Mu1B2739rvH+ilgjoOlqCcaGL1MyngL/gaDb4UPSuyZ3QVfs=; X-UUID: af4ac3faf00544109f1019dbee2889bd-20191127 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 73283090; Wed, 27 Nov 2019 18:42:44 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 27 Nov 2019 18:43:18 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 28 Nov 2019 10:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 28 Nov 2019 10:42:46 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , Subject: [PATCH v1 2/6] drm/mediatek: use DRM core's atomic commit helper Date: Thu, 28 Nov 2019 10:42:34 +0800 Message-ID: <20191128024238.9399-3-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191128024238.9399-1-bibby.hsieh@mediatek.com> References: <20191128024238.9399-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191127_184247_894381_A3758249 X-CRM114-Status: GOOD ( 11.71 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: drinkcat@chromium.org, Bibby Hsieh , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, CK Hu , Thierry Reding , Philipp Zabel , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org The DRM core atomic helper now supports asynchronous commits natively. The custom drm implementation isn't needed anymore, remove it. Signed-off-by: Bibby Hsieh --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 86 ++------------------------ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 7 --- 2 files changed, 5 insertions(+), 88 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 6588dc6dd5e3..16e5771d182e 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -36,89 +36,14 @@ #define DRIVER_MAJOR 1 #define DRIVER_MINOR 0 -static void mtk_atomic_schedule(struct mtk_drm_private *private, - struct drm_atomic_state *state) -{ - private->commit.state = state; - schedule_work(&private->commit.work); -} - -static void mtk_atomic_complete(struct mtk_drm_private *private, - struct drm_atomic_state *state) -{ - struct drm_device *drm = private->drm; - - drm_atomic_helper_wait_for_fences(drm, state, false); - - /* - * Mediatek drm supports runtime PM, so plane registers cannot be - * written when their crtc is disabled. - * - * The comment for drm_atomic_helper_commit states: - * For drivers supporting runtime PM the recommended sequence is - * - * drm_atomic_helper_commit_modeset_disables(dev, state); - * drm_atomic_helper_commit_modeset_enables(dev, state); - * drm_atomic_helper_commit_planes(dev, state, - * DRM_PLANE_COMMIT_ACTIVE_ONLY); - * - * See the kerneldoc entries for these three functions for more details. - */ - drm_atomic_helper_commit_modeset_disables(drm, state); - drm_atomic_helper_commit_modeset_enables(drm, state); - drm_atomic_helper_commit_planes(drm, state, - DRM_PLANE_COMMIT_ACTIVE_ONLY); - - drm_atomic_helper_wait_for_vblanks(drm, state); - - drm_atomic_helper_cleanup_planes(drm, state); - drm_atomic_state_put(state); -} - -static void mtk_atomic_work(struct work_struct *work) -{ - struct mtk_drm_private *private = container_of(work, - struct mtk_drm_private, commit.work); - - mtk_atomic_complete(private, private->commit.state); -} - -static int mtk_atomic_commit(struct drm_device *drm, - struct drm_atomic_state *state, - bool async) -{ - struct mtk_drm_private *private = drm->dev_private; - int ret; - - ret = drm_atomic_helper_prepare_planes(drm, state); - if (ret) - return ret; - - mutex_lock(&private->commit.lock); - flush_work(&private->commit.work); - - ret = drm_atomic_helper_swap_state(state, true); - if (ret) { - mutex_unlock(&private->commit.lock); - drm_atomic_helper_cleanup_planes(drm, state); - return ret; - } - - drm_atomic_state_get(state); - if (async) - mtk_atomic_schedule(private, state); - else - mtk_atomic_complete(private, state); - - mutex_unlock(&private->commit.lock); - - return 0; -} +static const struct drm_mode_config_helper_funcs mtk_drm_mode_config_helpers = { + .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm, +}; static const struct drm_mode_config_funcs mtk_drm_mode_config_funcs = { .fb_create = mtk_drm_mode_fb_create, .atomic_check = drm_atomic_helper_check, - .atomic_commit = mtk_atomic_commit, + .atomic_commit = drm_atomic_helper_commit, }; static const enum mtk_ddp_comp_id mt2701_mtk_ddp_main[] = { @@ -265,6 +190,7 @@ static int mtk_drm_kms_init(struct drm_device *drm) drm->mode_config.max_width = 4096; drm->mode_config.max_height = 4096; drm->mode_config.funcs = &mtk_drm_mode_config_funcs; + drm->mode_config.helper_private = &mtk_drm_mode_config_helpers; ret = component_bind_all(drm->dev, drm); if (ret) @@ -540,8 +466,6 @@ static int mtk_drm_probe(struct platform_device *pdev) if (!private) return -ENOMEM; - mutex_init(&private->commit.lock); - INIT_WORK(&private->commit.work, mtk_atomic_work); private->data = of_device_get_match_data(dev); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h index b6a82728d563..9f4ce60174f6 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h @@ -46,13 +46,6 @@ struct mtk_drm_private { struct device_node *comp_node[DDP_COMPONENT_ID_MAX]; struct mtk_ddp_comp *ddp_comp[DDP_COMPONENT_ID_MAX]; const struct mtk_mmsys_driver_data *data; - - struct { - struct drm_atomic_state *state; - struct work_struct work; - struct mutex lock; - } commit; - struct drm_atomic_state *suspend_state; bool dma_parms_allocated; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E15AAC432C0 for ; Thu, 28 Nov 2019 02:43:34 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B333A208E4 for ; Thu, 28 Nov 2019 02:43:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="hO15Kh8l"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="jHhAyBZJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B333A208E4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=r3xLvplBu+bp1zP1zbxTAe+F3bYhbDA1o2Y5BPR24Dg=; b=hO15Kh8ly4MQIq 4bLEBoYv4mLDNZNhLXOaX1Fa26fczaJkHfmq8MZqXE+LC7CaSWvJmhCmC1WrZncZCK1WIzKjjmVXN 14O8TdtSaz+KVBHTdlYKLwfToi3LSjoq+jF+oWXKx/xD5/6luaB738yz+FZcTJx5ccYUvAYyNRIzD rJG7pe+NB3zmaTgRkFhQ4F2/h06lsPnYobhIfvnXf83/aNONC/2a9+flrrkftCJwvTU+LWXecvr/F U2mdV1yTyVRswHCn4Et1FbROPkuhytDP3Tem4pDLRBFHcw0u5FSiXXsNPsbUB6ulEAN7bw/FPUAur 5qS19S5zfBJRnGcrhyQQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia9mG-00009z-CW; Thu, 28 Nov 2019 02:43:32 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia9lX-0007yy-R1; Thu, 28 Nov 2019 02:42:49 +0000 X-UUID: af4ac3faf00544109f1019dbee2889bd-20191127 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=P14uNYy6cxrL8Pyp9u5v/yKUSyTUz15inZ/F7fxu4b0=; b=jHhAyBZJV0Zymth1ctWE4rTFEIURswvS8/atRSPG8i6y2SFObWeX/eBkusTSh+Aj2V3v1N/1E/IZeZ0ygAHBPaM7dhyrRA+1oYpP8iKMnadOXg7arHnfaFQlXz+Mu1B2739rvH+ilgjoOlqCcaGL1MyngL/gaDb4UPSuyZ3QVfs=; X-UUID: af4ac3faf00544109f1019dbee2889bd-20191127 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 73283090; Wed, 27 Nov 2019 18:42:44 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 27 Nov 2019 18:43:18 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 28 Nov 2019 10:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 28 Nov 2019 10:42:46 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , Subject: [PATCH v1 2/6] drm/mediatek: use DRM core's atomic commit helper Date: Thu, 28 Nov 2019 10:42:34 +0800 Message-ID: <20191128024238.9399-3-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191128024238.9399-1-bibby.hsieh@mediatek.com> References: <20191128024238.9399-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191127_184247_894381_A3758249 X-CRM114-Status: GOOD ( 11.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: drinkcat@chromium.org, Bibby Hsieh , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, CK Hu , Thierry Reding , Philipp Zabel , YT Shen , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org The DRM core atomic helper now supports asynchronous commits natively. The custom drm implementation isn't needed anymore, remove it. Signed-off-by: Bibby Hsieh --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 86 ++------------------------ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 7 --- 2 files changed, 5 insertions(+), 88 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 6588dc6dd5e3..16e5771d182e 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -36,89 +36,14 @@ #define DRIVER_MAJOR 1 #define DRIVER_MINOR 0 -static void mtk_atomic_schedule(struct mtk_drm_private *private, - struct drm_atomic_state *state) -{ - private->commit.state = state; - schedule_work(&private->commit.work); -} - -static void mtk_atomic_complete(struct mtk_drm_private *private, - struct drm_atomic_state *state) -{ - struct drm_device *drm = private->drm; - - drm_atomic_helper_wait_for_fences(drm, state, false); - - /* - * Mediatek drm supports runtime PM, so plane registers cannot be - * written when their crtc is disabled. - * - * The comment for drm_atomic_helper_commit states: - * For drivers supporting runtime PM the recommended sequence is - * - * drm_atomic_helper_commit_modeset_disables(dev, state); - * drm_atomic_helper_commit_modeset_enables(dev, state); - * drm_atomic_helper_commit_planes(dev, state, - * DRM_PLANE_COMMIT_ACTIVE_ONLY); - * - * See the kerneldoc entries for these three functions for more details. - */ - drm_atomic_helper_commit_modeset_disables(drm, state); - drm_atomic_helper_commit_modeset_enables(drm, state); - drm_atomic_helper_commit_planes(drm, state, - DRM_PLANE_COMMIT_ACTIVE_ONLY); - - drm_atomic_helper_wait_for_vblanks(drm, state); - - drm_atomic_helper_cleanup_planes(drm, state); - drm_atomic_state_put(state); -} - -static void mtk_atomic_work(struct work_struct *work) -{ - struct mtk_drm_private *private = container_of(work, - struct mtk_drm_private, commit.work); - - mtk_atomic_complete(private, private->commit.state); -} - -static int mtk_atomic_commit(struct drm_device *drm, - struct drm_atomic_state *state, - bool async) -{ - struct mtk_drm_private *private = drm->dev_private; - int ret; - - ret = drm_atomic_helper_prepare_planes(drm, state); - if (ret) - return ret; - - mutex_lock(&private->commit.lock); - flush_work(&private->commit.work); - - ret = drm_atomic_helper_swap_state(state, true); - if (ret) { - mutex_unlock(&private->commit.lock); - drm_atomic_helper_cleanup_planes(drm, state); - return ret; - } - - drm_atomic_state_get(state); - if (async) - mtk_atomic_schedule(private, state); - else - mtk_atomic_complete(private, state); - - mutex_unlock(&private->commit.lock); - - return 0; -} +static const struct drm_mode_config_helper_funcs mtk_drm_mode_config_helpers = { + .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm, +}; static const struct drm_mode_config_funcs mtk_drm_mode_config_funcs = { .fb_create = mtk_drm_mode_fb_create, .atomic_check = drm_atomic_helper_check, - .atomic_commit = mtk_atomic_commit, + .atomic_commit = drm_atomic_helper_commit, }; static const enum mtk_ddp_comp_id mt2701_mtk_ddp_main[] = { @@ -265,6 +190,7 @@ static int mtk_drm_kms_init(struct drm_device *drm) drm->mode_config.max_width = 4096; drm->mode_config.max_height = 4096; drm->mode_config.funcs = &mtk_drm_mode_config_funcs; + drm->mode_config.helper_private = &mtk_drm_mode_config_helpers; ret = component_bind_all(drm->dev, drm); if (ret) @@ -540,8 +466,6 @@ static int mtk_drm_probe(struct platform_device *pdev) if (!private) return -ENOMEM; - mutex_init(&private->commit.lock); - INIT_WORK(&private->commit.work, mtk_atomic_work); private->data = of_device_get_match_data(dev); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h index b6a82728d563..9f4ce60174f6 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h @@ -46,13 +46,6 @@ struct mtk_drm_private { struct device_node *comp_node[DDP_COMPONENT_ID_MAX]; struct mtk_ddp_comp *ddp_comp[DDP_COMPONENT_ID_MAX]; const struct mtk_mmsys_driver_data *data; - - struct { - struct drm_atomic_state *state; - struct work_struct work; - struct mutex lock; - } commit; - struct drm_atomic_state *suspend_state; bool dma_parms_allocated; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: [PATCH v1 2/6] drm/mediatek: use DRM core's atomic commit helper Date: Thu, 28 Nov 2019 10:42:34 +0800 Message-ID: <20191128024238.9399-3-bibby.hsieh@mediatek.com> References: <20191128024238.9399-1-bibby.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by gabe.freedesktop.org (Postfix) with ESMTP id E02F66E5EA for ; Thu, 28 Nov 2019 02:42:44 +0000 (UTC) In-Reply-To: <20191128024238.9399-1-bibby.hsieh@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Matthias Brugger , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org Cc: drinkcat@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, Thierry Reding , linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org VGhlIERSTSBjb3JlIGF0b21pYyBoZWxwZXIgbm93IHN1cHBvcnRzIGFzeW5jaHJvbm91cyBjb21t aXRzIG5hdGl2ZWx5Lg0KVGhlIGN1c3RvbSBkcm0gaW1wbGVtZW50YXRpb24gaXNuJ3QgbmVlZGVk IGFueW1vcmUsIHJlbW92ZSBpdC4NCg0KU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJpYmJ5 LmhzaWVoQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5jIHwgODYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCB8ICA3IC0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMNCmluZGV4IDY1ODhkYzZkZDVlMy4uMTZlNTc3MWQxODJlIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQpAQCAtMzYsODkgKzM2LDE0IEBADQogI2Rl ZmluZSBEUklWRVJfTUFKT1IgMQ0KICNkZWZpbmUgRFJJVkVSX01JTk9SIDANCiANCi1zdGF0aWMg dm9pZCBtdGtfYXRvbWljX3NjaGVkdWxlKHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXZhdGUs DQotCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkNCi17DQotCXByaXZhdGUtPmNv bW1pdC5zdGF0ZSA9IHN0YXRlOw0KLQlzY2hlZHVsZV93b3JrKCZwcml2YXRlLT5jb21taXQud29y ayk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNfY29tcGxldGUoc3RydWN0IG10a19k cm1fcHJpdmF0ZSAqcHJpdmF0ZSwNCi0JCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQ0KLXsNCi0Jc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHByaXZhdGUtPmRybTsNCi0NCi0JZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmVuY2VzKGRybSwgc3RhdGUsIGZhbHNlKTsNCi0NCi0J LyoNCi0JICogTWVkaWF0ZWsgZHJtIHN1cHBvcnRzIHJ1bnRpbWUgUE0sIHNvIHBsYW5lIHJlZ2lz dGVycyBjYW5ub3QgYmUNCi0JICogd3JpdHRlbiB3aGVuIHRoZWlyIGNydGMgaXMgZGlzYWJsZWQu DQotCSAqDQotCSAqIFRoZSBjb21tZW50IGZvciBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQgc3Rh dGVzOg0KLQkgKiAgICAgRm9yIGRyaXZlcnMgc3VwcG9ydGluZyBydW50aW1lIFBNIHRoZSByZWNv bW1lbmRlZCBzZXF1ZW5jZSBpcw0KLQkgKg0KLQkgKiAgICAgZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X21vZGVzZXRfZGlzYWJsZXMoZGV2LCBzdGF0ZSk7DQotCSAqICAgICBkcm1fYXRvbWljX2hl bHBlcl9jb21taXRfbW9kZXNldF9lbmFibGVzKGRldiwgc3RhdGUpOw0KLQkgKiAgICAgZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlLA0KLQkgKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEUk1fUExBTkVfQ09NTUlUX0FDVElWRV9PTkxZKTsNCi0J ICoNCi0JICogU2VlIHRoZSBrZXJuZWxkb2MgZW50cmllcyBmb3IgdGhlc2UgdGhyZWUgZnVuY3Rp b25zIGZvciBtb3JlIGRldGFpbHMuDQotCSAqLw0KLQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRf bW9kZXNldF9kaXNhYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X21vZGVzZXRfZW5hYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X3BsYW5lcyhkcm0sIHN0YXRlLA0KLQkJCQkJRFJNX1BMQU5FX0NPTU1JVF9BQ1RJVkVfT05MWSk7 DQotDQotCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MoZHJtLCBzdGF0ZSk7DQot DQotCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRybSwgc3RhdGUpOw0KLQlkcm1f YXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNf d29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9wcml2 YXRlICpwcml2YXRlID0gY29udGFpbmVyX29mKHdvcmssDQotCQkJc3RydWN0IG10a19kcm1fcHJp dmF0ZSwgY29tbWl0LndvcmspOw0KLQ0KLQltdGtfYXRvbWljX2NvbXBsZXRlKHByaXZhdGUsIHBy aXZhdGUtPmNvbW1pdC5zdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwNCi0JCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwNCi0JCQkgICAgIGJvb2wgYXN5bmMpDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9w cml2YXRlICpwcml2YXRlID0gZHJtLT5kZXZfcHJpdmF0ZTsNCi0JaW50IHJldDsNCi0NCi0JcmV0 ID0gZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCWlmIChy ZXQpDQotCQlyZXR1cm4gcmV0Ow0KLQ0KLQltdXRleF9sb2NrKCZwcml2YXRlLT5jb21taXQubG9j ayk7DQotCWZsdXNoX3dvcmsoJnByaXZhdGUtPmNvbW1pdC53b3JrKTsNCi0NCi0JcmV0ID0gZHJt X2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdGF0ZSwgdHJ1ZSk7DQotCWlmIChyZXQpIHsNCi0J CW11dGV4X3VubG9jaygmcHJpdmF0ZS0+Y29tbWl0LmxvY2spOw0KLQkJZHJtX2F0b21pY19oZWxw ZXJfY2xlYW51cF9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCQlyZXR1cm4gcmV0Ow0KLQl9DQotDQot CWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRlKTsNCi0JaWYgKGFzeW5jKQ0KLQkJbXRrX2F0b21p Y19zY2hlZHVsZShwcml2YXRlLCBzdGF0ZSk7DQotCWVsc2UNCi0JCW10a19hdG9taWNfY29tcGxl dGUocHJpdmF0ZSwgc3RhdGUpOw0KLQ0KLQltdXRleF91bmxvY2soJnByaXZhdGUtPmNvbW1pdC5s b2NrKTsNCi0NCi0JcmV0dXJuIDA7DQotfQ0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnX2hlbHBlcl9mdW5jcyBtdGtfZHJtX21vZGVfY29uZmlnX2hlbHBlcnMgPSB7DQorCS5h dG9taWNfY29tbWl0X3RhaWwgPSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbF9ycG0sDQor fTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBtdGtfZHJt X21vZGVfY29uZmlnX2Z1bmNzID0gew0KIAkuZmJfY3JlYXRlID0gbXRrX2RybV9tb2RlX2ZiX2Ny ZWF0ZSwNCiAJLmF0b21pY19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLA0KLQkuYXRv bWljX2NvbW1pdCA9IG10a19hdG9taWNfY29tbWl0LA0KKwkuYXRvbWljX2NvbW1pdCA9IGRybV9h dG9taWNfaGVscGVyX2NvbW1pdCwNCiB9Ow0KIA0KIHN0YXRpYyBjb25zdCBlbnVtIG10a19kZHBf Y29tcF9pZCBtdDI3MDFfbXRrX2RkcF9tYWluW10gPSB7DQpAQCAtMjY1LDYgKzE5MCw3IEBAIHN0 YXRpYyBpbnQgbXRrX2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQ0KIAlkcm0t Pm1vZGVfY29uZmlnLm1heF93aWR0aCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcubWF4X2hl aWdodCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcuZnVuY3MgPSAmbXRrX2RybV9tb2RlX2Nv bmZpZ19mdW5jczsNCisJZHJtLT5tb2RlX2NvbmZpZy5oZWxwZXJfcHJpdmF0ZSA9ICZtdGtfZHJt X21vZGVfY29uZmlnX2hlbHBlcnM7DQogDQogCXJldCA9IGNvbXBvbmVudF9iaW5kX2FsbChkcm0t PmRldiwgZHJtKTsNCiAJaWYgKHJldCkNCkBAIC01NDAsOCArNDY2LDYgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCWlmICghcHJpdmF0 ZSkNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KLQltdXRleF9pbml0KCZwcml2YXRlLT5jb21taXQu bG9jayk7DQotCUlOSVRfV09SSygmcHJpdmF0ZS0+Y29tbWl0LndvcmssIG10a19hdG9taWNfd29y ayk7DQogCXByaXZhdGUtPmRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsNCiAN CiAJbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsN CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQppbmRleCBiNmE4MjcyOGQ1NjMu LjlmNGNlNjAxNzRmNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0K QEAgLTQ2LDEzICs0Niw2IEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgew0KIAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKmNvbXBfbm9kZVtERFBfQ09NUE9ORU5UX0lEX01BWF07DQogCXN0cnVjdCBtdGtf ZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsNCiAJY29uc3Qgc3RydWN0 IG10a19tbXN5c19kcml2ZXJfZGF0YSAqZGF0YTsNCi0NCi0Jc3RydWN0IHsNCi0JCXN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsNCi0JCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOw0KLQkJ c3RydWN0IG11dGV4IGxvY2s7DQotCX0gY29tbWl0Ow0KLQ0KIAlzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3VzcGVuZF9zdGF0ZTsNCiANCiAJYm9vbCBkbWFfcGFybXNfYWxsb2NhdGVkOw0KLS0g DQoyLjE4LjANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== 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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F0F9C432C0 for ; Thu, 28 Nov 2019 02:42:47 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 09D71208E4 for ; Thu, 28 Nov 2019 02:42:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 09D71208E4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2E8E26E038; Thu, 28 Nov 2019 02:42:46 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by gabe.freedesktop.org (Postfix) with ESMTP id E02F66E5EA for ; Thu, 28 Nov 2019 02:42:44 +0000 (UTC) X-UUID: fb23e03461034fbe965408c5ddd1f299-20191128 X-UUID: fb23e03461034fbe965408c5ddd1f299-20191128 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1801275288; Thu, 28 Nov 2019 10:42:42 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 28 Nov 2019 10:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 28 Nov 2019 10:42:46 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , Subject: [PATCH v1 2/6] drm/mediatek: use DRM core's atomic commit helper Date: Thu, 28 Nov 2019 10:42:34 +0800 Message-ID: <20191128024238.9399-3-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191128024238.9399-1-bibby.hsieh@mediatek.com> References: <20191128024238.9399-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 X-MTK: N X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=P14uNYy6cxrL8Pyp9u5v/yKUSyTUz15inZ/F7fxu4b0=; b=jHhAyBZJV0Zymth1ctWE4rTFEIURswvS8/atRSPG8i6y2SFObWeX/eBkusTSh+Aj2V3v1N/1E/IZeZ0ygAHBPaM7dhyrRA+1oYpP8iKMnadOXg7arHnfaFQlXz+Mu1B2739rvH+ilgjoOlqCcaGL1MyngL/gaDb4UPSuyZ3QVfs=; X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: drinkcat@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, Thierry Reding , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191128024234.mInGxX1IGXc2CeDG4a0efqGqQXA95F3ijGMxtivrMB4@z> VGhlIERSTSBjb3JlIGF0b21pYyBoZWxwZXIgbm93IHN1cHBvcnRzIGFzeW5jaHJvbm91cyBjb21t aXRzIG5hdGl2ZWx5Lg0KVGhlIGN1c3RvbSBkcm0gaW1wbGVtZW50YXRpb24gaXNuJ3QgbmVlZGVk IGFueW1vcmUsIHJlbW92ZSBpdC4NCg0KU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJpYmJ5 LmhzaWVoQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5jIHwgODYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCB8ICA3IC0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMNCmluZGV4IDY1ODhkYzZkZDVlMy4uMTZlNTc3MWQxODJlIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQpAQCAtMzYsODkgKzM2LDE0IEBADQogI2Rl ZmluZSBEUklWRVJfTUFKT1IgMQ0KICNkZWZpbmUgRFJJVkVSX01JTk9SIDANCiANCi1zdGF0aWMg dm9pZCBtdGtfYXRvbWljX3NjaGVkdWxlKHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXZhdGUs DQotCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkNCi17DQotCXByaXZhdGUtPmNv bW1pdC5zdGF0ZSA9IHN0YXRlOw0KLQlzY2hlZHVsZV93b3JrKCZwcml2YXRlLT5jb21taXQud29y ayk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNfY29tcGxldGUoc3RydWN0IG10a19k cm1fcHJpdmF0ZSAqcHJpdmF0ZSwNCi0JCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQ0KLXsNCi0Jc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHByaXZhdGUtPmRybTsNCi0NCi0JZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmVuY2VzKGRybSwgc3RhdGUsIGZhbHNlKTsNCi0NCi0J LyoNCi0JICogTWVkaWF0ZWsgZHJtIHN1cHBvcnRzIHJ1bnRpbWUgUE0sIHNvIHBsYW5lIHJlZ2lz dGVycyBjYW5ub3QgYmUNCi0JICogd3JpdHRlbiB3aGVuIHRoZWlyIGNydGMgaXMgZGlzYWJsZWQu DQotCSAqDQotCSAqIFRoZSBjb21tZW50IGZvciBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQgc3Rh dGVzOg0KLQkgKiAgICAgRm9yIGRyaXZlcnMgc3VwcG9ydGluZyBydW50aW1lIFBNIHRoZSByZWNv bW1lbmRlZCBzZXF1ZW5jZSBpcw0KLQkgKg0KLQkgKiAgICAgZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X21vZGVzZXRfZGlzYWJsZXMoZGV2LCBzdGF0ZSk7DQotCSAqICAgICBkcm1fYXRvbWljX2hl bHBlcl9jb21taXRfbW9kZXNldF9lbmFibGVzKGRldiwgc3RhdGUpOw0KLQkgKiAgICAgZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlLA0KLQkgKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEUk1fUExBTkVfQ09NTUlUX0FDVElWRV9PTkxZKTsNCi0J ICoNCi0JICogU2VlIHRoZSBrZXJuZWxkb2MgZW50cmllcyBmb3IgdGhlc2UgdGhyZWUgZnVuY3Rp b25zIGZvciBtb3JlIGRldGFpbHMuDQotCSAqLw0KLQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRf bW9kZXNldF9kaXNhYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X21vZGVzZXRfZW5hYmxlcyhkcm0sIHN0YXRlKTsNCi0JZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X3BsYW5lcyhkcm0sIHN0YXRlLA0KLQkJCQkJRFJNX1BMQU5FX0NPTU1JVF9BQ1RJVkVfT05MWSk7 DQotDQotCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MoZHJtLCBzdGF0ZSk7DQot DQotCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRybSwgc3RhdGUpOw0KLQlkcm1f YXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkIG10a19hdG9taWNf d29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9wcml2 YXRlICpwcml2YXRlID0gY29udGFpbmVyX29mKHdvcmssDQotCQkJc3RydWN0IG10a19kcm1fcHJp dmF0ZSwgY29tbWl0LndvcmspOw0KLQ0KLQltdGtfYXRvbWljX2NvbXBsZXRlKHByaXZhdGUsIHBy aXZhdGUtPmNvbW1pdC5zdGF0ZSk7DQotfQ0KLQ0KLXN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwNCi0JCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwNCi0JCQkgICAgIGJvb2wgYXN5bmMpDQotew0KLQlzdHJ1Y3QgbXRrX2RybV9w cml2YXRlICpwcml2YXRlID0gZHJtLT5kZXZfcHJpdmF0ZTsNCi0JaW50IHJldDsNCi0NCi0JcmV0 ID0gZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCWlmIChy ZXQpDQotCQlyZXR1cm4gcmV0Ow0KLQ0KLQltdXRleF9sb2NrKCZwcml2YXRlLT5jb21taXQubG9j ayk7DQotCWZsdXNoX3dvcmsoJnByaXZhdGUtPmNvbW1pdC53b3JrKTsNCi0NCi0JcmV0ID0gZHJt X2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdGF0ZSwgdHJ1ZSk7DQotCWlmIChyZXQpIHsNCi0J CW11dGV4X3VubG9jaygmcHJpdmF0ZS0+Y29tbWl0LmxvY2spOw0KLQkJZHJtX2F0b21pY19oZWxw ZXJfY2xlYW51cF9wbGFuZXMoZHJtLCBzdGF0ZSk7DQotCQlyZXR1cm4gcmV0Ow0KLQl9DQotDQot CWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRlKTsNCi0JaWYgKGFzeW5jKQ0KLQkJbXRrX2F0b21p Y19zY2hlZHVsZShwcml2YXRlLCBzdGF0ZSk7DQotCWVsc2UNCi0JCW10a19hdG9taWNfY29tcGxl dGUocHJpdmF0ZSwgc3RhdGUpOw0KLQ0KLQltdXRleF91bmxvY2soJnByaXZhdGUtPmNvbW1pdC5s b2NrKTsNCi0NCi0JcmV0dXJuIDA7DQotfQ0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnX2hlbHBlcl9mdW5jcyBtdGtfZHJtX21vZGVfY29uZmlnX2hlbHBlcnMgPSB7DQorCS5h dG9taWNfY29tbWl0X3RhaWwgPSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbF9ycG0sDQor fTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBtdGtfZHJt X21vZGVfY29uZmlnX2Z1bmNzID0gew0KIAkuZmJfY3JlYXRlID0gbXRrX2RybV9tb2RlX2ZiX2Ny ZWF0ZSwNCiAJLmF0b21pY19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLA0KLQkuYXRv bWljX2NvbW1pdCA9IG10a19hdG9taWNfY29tbWl0LA0KKwkuYXRvbWljX2NvbW1pdCA9IGRybV9h dG9taWNfaGVscGVyX2NvbW1pdCwNCiB9Ow0KIA0KIHN0YXRpYyBjb25zdCBlbnVtIG10a19kZHBf Y29tcF9pZCBtdDI3MDFfbXRrX2RkcF9tYWluW10gPSB7DQpAQCAtMjY1LDYgKzE5MCw3IEBAIHN0 YXRpYyBpbnQgbXRrX2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQ0KIAlkcm0t Pm1vZGVfY29uZmlnLm1heF93aWR0aCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcubWF4X2hl aWdodCA9IDQwOTY7DQogCWRybS0+bW9kZV9jb25maWcuZnVuY3MgPSAmbXRrX2RybV9tb2RlX2Nv bmZpZ19mdW5jczsNCisJZHJtLT5tb2RlX2NvbmZpZy5oZWxwZXJfcHJpdmF0ZSA9ICZtdGtfZHJt X21vZGVfY29uZmlnX2hlbHBlcnM7DQogDQogCXJldCA9IGNvbXBvbmVudF9iaW5kX2FsbChkcm0t PmRldiwgZHJtKTsNCiAJaWYgKHJldCkNCkBAIC01NDAsOCArNDY2LDYgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCWlmICghcHJpdmF0 ZSkNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KLQltdXRleF9pbml0KCZwcml2YXRlLT5jb21taXQu bG9jayk7DQotCUlOSVRfV09SSygmcHJpdmF0ZS0+Y29tbWl0LndvcmssIG10a19hdG9taWNfd29y ayk7DQogCXByaXZhdGUtPmRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsNCiAN CiAJbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsN CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQppbmRleCBiNmE4MjcyOGQ1NjMu LjlmNGNlNjAxNzRmNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0K QEAgLTQ2LDEzICs0Niw2IEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgew0KIAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKmNvbXBfbm9kZVtERFBfQ09NUE9ORU5UX0lEX01BWF07DQogCXN0cnVjdCBtdGtf ZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsNCiAJY29uc3Qgc3RydWN0 IG10a19tbXN5c19kcml2ZXJfZGF0YSAqZGF0YTsNCi0NCi0Jc3RydWN0IHsNCi0JCXN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsNCi0JCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOw0KLQkJ c3RydWN0IG11dGV4IGxvY2s7DQotCX0gY29tbWl0Ow0KLQ0KIAlzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3VzcGVuZF9zdGF0ZTsNCiANCiAJYm9vbCBkbWFfcGFybXNfYWxsb2NhdGVkOw0KLS0g DQoyLjE4LjANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==