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=-5.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED 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 0340CC04EB9 for ; Wed, 5 Dec 2018 14:29:10 +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 C38332081C for ; Wed, 5 Dec 2018 14:29:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="R+oHrER/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C38332081C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.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:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MUAxTvRatPHiVQwgY6/smW13oDncZW8ampkMMpPIUwY=; b=R+oHrER/Q/RVNw zQbmgqqOlgGw+WH9srTPcEYYhdLVPCSN+IngFiBSY51dz3hmcYENyGV3TcizBZoE2O9EmVXGS4Pg6 1QQNuE9zW46nU350b/SPGJXWS47qaMRZPMZlOFYQOu0RFGvwkSlwEPcqQJMP5f77/45Y3jKknY60g AEELahxVr763gmjz+PW/QyJ+i7R3RizXYUEu5g9oeVfp3f6vOk18e8Q+DNuY5pqghYbql3eae0GRl vMg68Ls68e7bvwl0sgsHeqgl1GwOTydjGgyM6CE2uziQvqz4dEhAvqkQuZKYoJZP0+Clr/RmjAOen g7dmQf7ZHqVhaO6v5AJw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUYAj-00006B-9V; Wed, 05 Dec 2018 14:29:05 +0000 Received: from foss.arm.com ([217.140.101.70]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUYAg-0008WS-40; Wed, 05 Dec 2018 14:29:03 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4F45080D; Wed, 5 Dec 2018 06:28:51 -0800 (PST) Received: from [10.1.196.62] (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1ADC13F59C; Wed, 5 Dec 2018 06:28:49 -0800 (PST) Subject: Re: [PATCH] drm/rockchip: Allow driver to be shutdown on reboot/kexec To: =?UTF-8?Q?Heiko_St=c3=bcbner?= , Brian Norris References: <20180805124807.18169-1-marc.zyngier@arm.com> <20181205030127.GA200921@google.com> <1693737.bVF0dcvACY@diego> From: Marc Zyngier Openpgp: preference=signencrypt Autocrypt: addr=marc.zyngier@arm.com; prefer-encrypt=mutual; keydata= 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 Organization: ARM Ltd Message-ID: Date: Wed, 5 Dec 2018 14:28:48 +0000 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <1693737.bVF0dcvACY@diego> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181205_062902_182649_FB8437D5 X-CRM114-Status: GOOD ( 23.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-rockchip@lists.infradead.org, Guenter Roeck , linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgYWxsLAoKT24gMDUvMTIvMjAxOCAxNDoxMSwgSGVpa28gU3TDvGJuZXIgd3JvdGU6Cj4gSGkg QnJpYW4sCj4gCj4gQW0gTWl0dHdvY2gsIDUuIERlemVtYmVyIDIwMTgsIDA0OjAxOjM0IENFVCBz Y2hyaWViIEJyaWFuIE5vcnJpczoKPj4gKyBvdGhlcnMKPj4KPj4gSGksCj4+Cj4+IE9uIFN1biwg QXVnIDA1LCAyMDE4IGF0IDAxOjQ4OjA3UE0gKzAxMDAsIE1hcmMgWnluZ2llciB3cm90ZToKPj4+ IExlYXZpbmcgdGhlIERSTSBkcml2ZXIgZW5hYmxlZCBvbiByZWJvb3Qgb3Iga2V4ZWMgaGFzIHRo ZSBhbm5veWluZwo+Pj4gZWZmZWN0IG9mIGxlYXZpbmcgdGhlIGRpc3BsYXkgZ2VuZXJhdGluZyB0 cmFuc2FjdGlvbnMgd2hpbHN0IHRoZQo+Pj4gSU9NTVUgaGFzIGJlZW4gc2h1dCBkb3duLgo+Pj4K Pj4+IEluIHR1cm4sIHRoZSBJT01NVSBkcml2ZXIgKHdoaWNoIHNoYXJlcyBpdHMgaW50ZXJydXB0 IGxpbmUgd2l0aAo+Pj4gdGhlIFZPUCkgc3RhcnRzIHdhcm5pbmcgZWl0aGVyIG9uIHNodXRkb3du IG9yIHdoZW4gZW50ZXJpbmcgdGhlCj4+PiBzZWNvbmRhcnkga2VybmVsIGluIHRoZSBrZXhlYyBj YXNlIChub3RoaW5nIGlzIGV4cGVjdGVkIG9uIHRoYXQKPj4+IGZyb250KS4KPj4+Cj4+PiBBIGNo ZWFwIHdheSBvZiBlbnN1cmluZyB0aGF0IHRoaW5ncyBhcmUgbmljZWx5IHNodXQgZG93biBpcyB0 bwo+Pj4gcmVnaXN0ZXIgYSBzaHV0ZG93biBjYWxsYmFjayBpbiB0aGUgcGxhdGZvcm0gZHJpdmVy Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IE1hcmMgWnluZ2llciA8bWFyYy56eW5naWVyQGFybS5j b20+Cj4+PiAtLS0KPj4KPj4gVGhpcyBwYXRjaCBtYWRlIGl0IGludG8gNC4yMC1yYzEgYXMgd2Vs bCBhcyAtc3RhYmxlLCBhbmQgaXQgaGFzIGNhdXNlZAo+PiByZWdyZXNzaW9ucyBmb3IgbWUsIG9u IHRoZSBLZXZpbiBhbmQgU2NhcmxldCBbMV0gUkszMzk5IHBsYXRmb3Jtcy4KPj4KPj4gT24KPj4g c2h1dGRvd24vcmVib290LCBJIHNlZSB0aGlzOgo+Pgo+PiBbICAgOTQuNzQyNTU5XSBXQVJOSU5H OiBDUFU6IDQgUElEOiAyMDM1IGF0Cj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcu Yzo0NzcgZHJtX21vZGVfY29uZmlnX2NsZWFudXArMHgxYzQvMHgyOTQKPj4gLi4uCj4+IFsgICA5 NC43NzU5MDRdIENQVTogNCBQSUQ6IDIwMzUgQ29tbTogcmVib290IFRhaW50ZWQ6IEcgICAgICAg IFcgICAgICAgIAo+PiA0LjIwLjAtcmM1KyAjODMgWyAgIDk0Ljc4NDY1MV0gSGFyZHdhcmUgbmFt ZTogR29vZ2xlIFNjYXJsZXQgKERUKQo+PiBbICAgOTQuNzg5NjExXSBwc3RhdGU6IDIwMDAwMDA1 IChuekN2IGRhaWYgLVBBTiAtVUFPKQo+PiBbICAgOTQuNzk0OTU5XSBwYyA6IGRybV9tb2RlX2Nv bmZpZ19jbGVhbnVwKzB4MWM0LzB4Mjk0Cj4+IFsgICA5NC44MDA1MDBdIGxyIDogZHJtX21vZGVf Y29uZmlnX2NsZWFudXArMHgxMDgvMHgyOTQKPj4gLi4uCj4+IFsgICA5NC44OTg2ODNdIENhbGwg dHJhY2U6Cj4+IFsgICA5NC45MDE0MTBdICBkcm1fbW9kZV9jb25maWdfY2xlYW51cCsweDFjNC8w eDI5NAo+PiBbICAgOTQuOTA2NTY1XSAgcm9ja2NoaXBfZHJtX3VuYmluZCsweDRjLzB4OGMKPj4g WyAgIDk0LjkxMTEzOF0gIGNvbXBvbmVudF9tYXN0ZXJfZGVsKzB4ODgvMHhiOAo+PiBbICAgOTQu OTE1ODA3XSAgcm9ja2NoaXBfZHJtX3BsYXRmb3JtX3JlbW92ZSsweDJjLzB4NDQKPj4gWyAgIDk0 LjkyMTI0M10gIHJvY2tjaGlwX2RybV9wbGF0Zm9ybV9zaHV0ZG93bisweDIwLzB4MmMKPj4gWyAg IDk0LjkyNjg4MV0gIHBsYXRmb3JtX2Rydl9zaHV0ZG93bisweDJjLzB4MzgKPj4gWyAgIDk0Ljkz MTY0N10gIGRldmljZV9zaHV0ZG93bisweDE2NC8weDFiOAo+PiBbICAgOTQuOTM2MDE2XSAga2Vy bmVsX3Jlc3RhcnRfcHJlcGFyZSsweDQwLzB4NDgKPj4gWyAgIDk0Ljk0MDg3OF0gIGtlcm5lbF9y ZXN0YXJ0KzB4MjAvMHg2OAo+PiBbICAgOTQuOTQ0OTY0XSAgX19zZV9zeXNfcmVib290KzB4MWFj LzB4MjA0Cj4+IFsgICA5NC45NDkzMzFdICBfX2FybTY0X3N5c19yZWJvb3QrMHgyYy8weDM4Cj4+ IFsgICA5NC45NTM4MDZdICBlbDBfc3ZjX2NvbW1vbisweGE0LzB4ZWMKPj4gWyAgIDk0Ljk1Nzg5 MV0gIGVsMF9zdmNfY29tcGF0X2hhbmRsZXIrMHgzMC8weDNjCj4+IFsgICA5NC45NjI3NTNdICBl bDBfc3ZjX2NvbXBhdCsweDgvMHgxOAo+PiBbICAgOTQuOTY2NzQwXSAtLS1bIGVuZCB0cmFjZSBi OWJhMmU3MDFmNGZiMjMzIF0tLS0KPj4gWyAgIDk1LjI1NTE2OV0gTWVtb3J5IG1hbmFnZXIgbm90 IGNsZWFuIGR1cmluZyB0YWtlZG93bi4KPj4gWyAgIDk1LjI2MDgyNF0gV0FSTklORzogQ1BVOiA0 IFBJRDogMjAzNSBhdCBkcml2ZXJzL2dwdS9kcm0vZHJtX21tLmM6OTUwCj4+IGRybV9tbV90YWtl ZG93bisweDM0LzB4NDQgLi4uCj4+IFsgICA5NS4yOTIzMTRdIENQVTogNCBQSUQ6IDIwMzUgQ29t bTogcmVib290IFRhaW50ZWQ6IEcgICAgICAgIFcgICAgICAgIAo+PiA0LjIwLjAtcmM1KyAjODMg WyAgIDk1LjMwMTA2MV0gSGFyZHdhcmUgbmFtZTogR29vZ2xlIFNjYXJsZXQgKERUKQo+PiBbICAg OTUuMzA2MDIwXSBwc3RhdGU6IDYwMDAwMDA1IChuWkN2IGRhaWYgLVBBTiAtVUFPKQo+PiBbICAg OTUuMzExMzY5XSBwYyA6IGRybV9tbV90YWtlZG93bisweDM0LzB4NDQKPj4gWyAgIDk1LjMxNTk0 MF0gbHIgOiBkcm1fbW1fdGFrZWRvd24rMHgzNC8weDQ0Cj4+IC4uLgo+PiBbICAgOTUuNDE1ODU3 XSAgZHJtX21tX3Rha2Vkb3duKzB4MzQvMHg0NAo+PiBbICAgOTUuNDIwMDQyXSAgcm9ja2NoaXBf ZHJtX3VuYmluZCsweDY0LzB4OGMKPj4gWyAgIDk1LjQyNDYxM10gIGNvbXBvbmVudF9tYXN0ZXJf ZGVsKzB4ODgvMHhiOAo+PiBbICAgOTUuNDI5MjgzXSAgcm9ja2NoaXBfZHJtX3BsYXRmb3JtX3Jl bW92ZSsweDJjLzB4NDQKPj4gWyAgIDk1LjQzNDcyOF0gIHJvY2tjaGlwX2RybV9wbGF0Zm9ybV9z aHV0ZG93bisweDIwLzB4MmMKPj4gWyAgIDk1LjQ0MDM2MF0gIHBsYXRmb3JtX2Rydl9zaHV0ZG93 bisweDJjLzB4MzgKPj4gWyAgIDk1LjQ0NTEyN10gIGRldmljZV9zaHV0ZG93bisweDE2NC8weDFi OAo+PiBbICAgOTUuNDQ5NTA0XSAga2VybmVsX3Jlc3RhcnRfcHJlcGFyZSsweDQwLzB4NDgKPj4g WyAgIDk1LjQ1NDM1OF0gIGtlcm5lbF9yZXN0YXJ0KzB4MjAvMHg2OAo+PiBbICAgOTUuNDU4NDM2 XSAgX19zZV9zeXNfcmVib290KzB4MWFjLzB4MjA0Cj4+IFsgICA5NS40NjI4MTJdICBfX2FybTY0 X3N5c19yZWJvb3QrMHgyYy8weDM4Cj4+IFsgICA5NS40NjcyODddICBlbDBfc3ZjX2NvbW1vbisw eGE0LzB4ZWMKPj4gWyAgIDk1LjQ3MTM3M10gIGVsMF9zdmNfY29tcGF0X2hhbmRsZXIrMHgzMC8w eDNjCj4+IFsgICA5NS40NzYyMzVdICBlbDBfc3ZjX2NvbXBhdCsweDgvMHgxOAo+PiBbICAgOTUu NDgwMjE1XSAtLS1bIGVuZCB0cmFjZSBiOWJhMmU3MDFmNGZiMjM0IF0tLS0KPj4KPj4gSXQncyBl c3BlY2lhbGx5IGJhZCBvbiAtc3RhYmxlIGtlcm5lbHMsIHdoZXJlIEkgYmVsaWV2ZSB0aGUgcmVt b3ZlKCkKPj4gcGF0aHMgd2VyZSBldmVuIHdvcnNlLiBUaGlzIHRyaWdnZXJzIGEgdmFyaWV0eSBv ZiBPT1BTZXMsIGFuZCBpdCdzIG5vdAo+PiBjbGVhciBpZiB0aG9zZSBhcmUgc2ltcGx5IGJlY2F1 c2Ugb2YgYmFja3BvcnRzIChlLmcuLCBSSzMzOTkgZGlkIG5vdAo+PiBoYXZlIHN1cHBvcnQgaW4g NC40LnksIGJ1dCBvdXIgZG93bnN0cmVhbSBoYXMgbWVyZ2VkIGFsbCBzb3J0cyBvZgo+PiBiYWNr cG9ydHMgdG8gbWFrZSBpdCB3b3JrKS4KPj4KPj4gQW55d2F5LCB0aGUgYWJvdmUgd2FybmluZ3Mg b2NjdXIgb24gdjQuMjAtcmMsIHdoaWNoIEkgdGhpbmsgaXMKPj4ganVzdGlmaWNhdGlvbiBlbm91 Z2ggZm9yIGEgcmV2ZXJ0Lgo+IAo+IFRoYXQncyBzdHJhbmdlLiBJIHJlbWVtYmVyIHRlc3Rpbmcg cXVpdGUgYSBudW1iZXIgb2Ygc2h1dGRvd24vcmVib290Cj4gY3ljbGVzIGJlZm9yZSBhcHBseWlu ZyB0aGF0IHBhdGNoLiBBbmQgZm9yIGdvb2QgbWVhc3VyZSBkaWQgdGhlIHNhbWUKPiBhZ2FpbiBy aWdodCBub3cuCj4gCj4gLSBLZXZpbiwgd2l0aCBuZXRib290IGZpcm13YXJlLCBib290aW5nIGlu dG8gRGViaWFuK2NvbnNvbGUgb25seQo+IC0gQm9iLCB3aXRoIHN0b2NrIGZpcm13YXJlLCBib290 aW5nIGludG8gRGViaWFuK0tERSBQbGFzbWEKPiAtIFNjYXJsZXQsIHdpdGggc3RvY2sgZmlybXdh cmUsIGJvb3RpbmcgaW50byBEZWJpYW4rS0RFIFBsYXNtYQo+IAo+IFdpdGggc29tZSByYW5kb20g bnVtYmVyIG9mIHJlYm9vdCBhbmQgc2h1dGRvd25zIG9uIGVhY2ggSSBkaWRuJ3QKPiBzZWUgYW55 IHdhcm5pbmdzIGF0IGFsbC4KCkFuZCBJJ3ZlIGJlZW4gdXNpbmcgdGhpcyB2ZXJ5IHBhdGNoIGZv ciBxdWl0ZSBhIHdoaWxlIG5vdy4KCkJlZm9yZSBzdWdnZXN0aW5nIGEgcmV2ZXJ0LCBJJ2QgcmF0 aGVyIHdlIHVuZGVyc3RhbmQgd2hhdCBpcyBnb2luZyBvbiwKYW5kIHdoeSBpcyB0aGUgRFJNIGxh eWVyIGNyYXBwaW5nIGl0c2VsZiB0aGF0IGJhZGx5IGZvciBhIGxlZ2l0aW1hdGUKb3BlcmF0aW9u IChpdCBpcyBjZXJ0YWlubHkgYmV0dGVyIHRvIGhhdmUgYSBzaHV0ZG93biB0aGFuIHRvIGxldCB0 aGUgVk9QCnNjYW4gb3V0IGNyYXAgb25jZSB0aGUgSU9NTVUgaGFzIGJlZW4gc2h1dCBkb3duKS4g SW4gc2hvcnQsIGRvbid0IHNob290CnRoZSBtZXNzZW5nZXIuCgo+IAo+PiBJIHBsYW4gdG8gc3Vi bWl0IGEgcmV2ZXJ0IHdoaWNoIEkgaG9wZSBjYW4gZ28gdG8gNC4yMCBhcyB3ZWxsIGFzCj4+IC1z dGFibGUuIEknZCBob3BlIHRoZSByZW1vdmUoKS9zaHV0ZG93bigpIHBhdGhzIHNob3VsZCBiZSBm aXhlZCBiZWZvcmUKPj4gdGhpcyBnZXRzIGFwcGxpZWQgYWdhaW4sIGFuZCB0aGF0IGl0IGRvZXMg bm90IGdldCBzaGlwcGVkIHRvIC1zdGFibGUKPj4ga2VybmVscy4KPiAKPiBCdXQganVkZ2luZyBi eSB0aGUgZmFjdCB0aGF0IHRoZSB3YXJuaW5nIGluZGljYXRlcyB0aGF0IHNvbXRoaW5nIGlzIHN0 aWxsCj4gaG9sZGluZyBvbnRvIGEgZnJhbWVidWZmZXIgYW5kIGEgcm1tb2Qgcm9ja2NoaXBkcm0g aXMgbm90IHBvc3NpYmxlCj4gYXQgcnVucnRpbWUgZm9yIGxpa2VseSB0aGUgc2FtZSByZWFzb24s IEkgZ3Vlc3Mgd2UgcmVhbGx5IG1pZ2h0IGJlIGNyZWF0aW5nCj4gYSBwcm9ibGVtIHdpdGggdGhh dCBzaHV0ZG93bi4KClRoYXQncyBhIHBvdGVudGlhbCByb290IGNhdXNlLgoKPiAKPiBDYW4geW91 IG1heWJlIGdpdmUgImRybS9yb2NrY2hpcDogc2h1dGRvd24gZHJtIHN1YnN5c3RlbSBvbiBzaHV0 ZG93biIgWzJdCj4gYSB0cnk/IFdoZW4gdGhlIHVuZGVybHlpbmcgaXNzdWUgb2YgcmVib290aW5n IHN1cmZhY2VkIHdlIGhhZCAyIGNvbXBldGluZyAKPiBzb2x1dGlvbnMsIHNvIHdlIGF0IGxlYXN0 IGRvbid0IHJlb3BlbiB0aGUgaXNzdWUsIHRoYXQgcGVvcGxlIGhhdmUgcHJvYmxlbXMKPiByZWJv b3Rpbmc/CgprZXhlYyB3b3JraW5nIGlzIGNlcnRhaW5seSBzb21ldGhpbmcgSSBuZWVkLiBBbmQg SSdkIGxpa2UgdG8gdW5kZXJzdGFuZAp3aHkgQnJpYW4gc2VlcyB0aGlzIGFuZCBub2JvZHkgZWxz ZS4KClRoYW5rcywKCglNLgotLSAKSmF6eiBpcyBub3QgZGVhZC4gSXQganVzdCBzbWVsbHMgZnVu bnkuLi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK