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 smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (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 3289AC433F5 for ; Wed, 23 Mar 2022 09:45:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id BB0E740BE9; Wed, 23 Mar 2022 09:45:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DmHumM8OnAyY; Wed, 23 Mar 2022 09:45:24 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp2.osuosl.org (Postfix) with ESMTPS id B34EC4028D; Wed, 23 Mar 2022 09:45:23 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8AC9EC001A; Wed, 23 Mar 2022 09:45:23 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8EDCBC000B for ; Wed, 23 Mar 2022 09:45:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 6E6228493F for ; Wed, 23 Mar 2022 09:45:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nTXpVxQn81PG for ; Wed, 23 Mar 2022 09:45:20 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp1.osuosl.org (Postfix) with ESMTP id 23E628493D for ; Wed, 23 Mar 2022 09:45:19 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 511CD23A; Wed, 23 Mar 2022 02:45:19 -0700 (PDT) Received: from [10.57.43.230] (unknown [10.57.43.230]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BA7353F73B; Wed, 23 Mar 2022 02:45:17 -0700 (PDT) Message-ID: Date: Wed, 23 Mar 2022 09:45:13 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v1 1/2] drm/qxl: replace ioremap by ioremap_cache on arm64 Content-Language: en-GB To: =?UTF-8?Q?Christian_K=c3=b6nig?= , Cong Liu , airlied@redhat.com, kraxel@redhat.com, airlied@linux.ie, daniel@ffwll.ch, ray.huang@amd.com, virtualization@lists.linux-foundation.org, spice-devel@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20220322093444.1236582-1-liucong2@kylinos.cn> From: Robin Murphy In-Reply-To: X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gMjAyMi0wMy0yMyAwNzoxNSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBBbSAyMi4wMy4y MiB1bSAxMDozNCBzY2hyaWViIENvbmcgTGl1Ogo+PiBxeGwgdXNlIGlvcmVtYXAgdG8gbWFwIHJh bV9oZWFkZXIgYW5kIHJvbSwgaW4gdGhlIGFybTY0IGltcGxlbWVudGF0aW9uLAo+PiB0aGUgZGV2 aWNlIGlzIG1hcHBlZCBhcyBERVZJQ0VfbkduUkUsIGl0IGNhbiBub3Qgc3VwcG9ydCB1bmFsaWdu ZWQKPj4gYWNjZXNzLgo+IAo+IFdlbGwgdGhhdCBzb21lIEFSTSBib2FyZHMgZG9lc24ndCBhbGxv dyB1bmFsaWduZWQgYWNjZXNzIHRvIE1NSU8gc3BhY2UgCj4gaXMgYSB3ZWxsIGtub3duIGJ1ZyBv ZiB0aG9zZSBBUk0gYm9hcmRzLgo+IAo+IFNvIGFzIGZhciBhcyBJIGtub3cgdGhpcyBpcyBhIGhh cmR3YXJlIGJ1ZyB5b3UgYXJlIHRyeWluZyB0byB3b3JrYXJvdW5kIAo+IGhlcmUgYW5kIEknbSBu b3QgMTAwJSBzdXJlIHRoYXQgdGhpcyBpcyBjb3JyZWN0LgoKTm8sIHRoaXMgb25lJ3Mgbm90IGEg YnVnLiBUaGUgRGV2aWNlIG1lbW9yeSB0eXBlIHVzZWQgZm9yIGlvbWVtIG1hcHBpbmdzIAppcyAq YXJjaGl0ZWN0dXJhbGx5KiBkZWZpbmVkIHRvIGVuZm9yY2UgcHJvcGVydGllcyBsaWtlIGFsaWdu ZWQgCmFjY2Vzc2VzLCBubyBzcGVjdWxhdGlvbiwgbm8gcmVvcmRlcmluZywgZXRjLiBJZiBzb21l dGhpbmcgd2FudHMgdG8gYmUgCnRyZWF0ZWQgbW9yZSBsaWtlIFJBTSB0aGFuIGFjdHVhbCBNTUlP IHJlZ2lzdGVycywgdGhlbiBpb3JlbWFwX3djKCkgb3IgCmlvcmVtYXBfY2FjaGUoKSBpcyB0aGUg YXBwcm9wcmlhdGUgdGhpbmcgdG8gZG8gaW4gZ2VuZXJhbCAod2l0aCB0aGUgCmZvcm1lciBiZWlu ZyBhIGJpdCBtb3JlIHBvcnRhYmxlIGFjY29yZGluZyB0byAKRG9jdW1lbnRhdGlvbi9kcml2ZXIt YXBpL2RldmljZS1pby5yc3QpLgoKT2YgY291cnNlICp0aGVuKiB5b3UgbWlnaHQgZmluZCB0aGF0 IG9uIHNvbWUgc3lzdGVtcyB0aGUgCmludGVyY29ubmVjdC9QQ0llIGltcGxlbWVudGF0aW9uL2Vu ZHBvaW50IGRvZXNuJ3QgYWN0dWFsbHkgbGlrZSAKdW5hbGlnbmVkIGFjY2Vzc2VzIG9uY2UgdGhl IENQVSBNTVUgc3RhcnRzIGFsbG93aW5nIHRoZW0gdG8gYmUgc2VudCBvdXQsIApidXQgaGV5LCBv bmUgc3RlcCBhdCBhIHRpbWUgOykKClJvYmluLgoKPiAKPiBDaHJpc3RpYW4uCj4gCj4+Cj4+IMKg wqAgNi42MjA1MTVdIHBjIDogc2V0dXBfaHdfc2xvdCsweDI0LzB4NjAgW3F4bF0KPj4gW8KgwqDC oCA2LjYyMDk2MV0gbHIgOiBzZXR1cF9zbG90KzB4MzQvMHhmMCBbcXhsXQo+PiBbwqDCoMKgIDYu NjIxMzc2XSBzcCA6IGZmZmY4MDAwMTJiNzM3NjAKPj4gW8KgwqDCoCA2LjYyMTcwMV0geDI5OiBm ZmZmODAwMDEyYjczNzYwIHgyODogMDAwMDAwMDAwMDAwMDAwMSB4Mjc6IAo+PiAwMDAwMDAwMDEw MDAwMDAwCj4+IFvCoMKgwqAgNi42MjI0MDBdIHgyNjogMDAwMDAwMDAwMDAwMDAwMSB4MjU6IDAw MDAwMDAwMDQwMDAwMDAgeDI0OiAKPj4gZmZmZmNmMzc2ODQ4YzAwMAo+PiBbwqDCoMKgIDYuNjIz MDk5XSB4MjM6IGZmZmYwMDAwYzQwODc0MDAgeDIyOiBmZmZmY2YzNzE4ZTE3MTQwIHgyMTogCj4+ IDAwMDAwMDAwMDAwMDAwMDAKPj4gW8KgwqDCoCA2LjYyMzgyM10geDIwOiBmZmZmMDAwMGM0MDg2 MDAwIHgxOTogZmZmZjAwMDBjNDA4NzBiMCB4MTg6IAo+PiAwMDAwMDAwMDAwMDAwMDE0Cj4+IFvC oMKgwqAgNi42MjQ1MTldIHgxNzogMDAwMDAwMDA0ZDM2MDVhYiB4MTY6IDAwMDAwMDAwYmIzYjYx MjkgeDE1OiAKPj4gMDAwMDAwMDA2ZTc3MTgwOQo+PiBbwqDCoMKgIDYuNjI1MjE0XSB4MTQ6IDAw MDAwMDAwMDAwMDAwMDEgeDEzOiAwMDc0NzM2OTZjNWY3OTc0IHgxMjogCj4+IDY5NmU2OTY2NjY2 MTVmNjUKPj4gW8KgwqDCoCA2LjYyNTkwOV0geDExOiAwMDAwMDAwMGQ1NDM2NTZhIHgxMDogMDAw MDAwMDAwMDAwMDAwMCB4OSA6IAo+PiBmZmZmY2YzNzE4ZTA4NWE0Cj4+IFvCoMKgwqAgNi42MjY2 MTZdIHg4IDogMDAwMDAwMDAwMDZjNzg3MSB4NyA6IDAwMDAwMDAwMDAwMDAwMGEgeDYgOiAKPj4g MDAwMDAwMDAwMDAwMDAxNwo+PiBbwqDCoMKgIDYuNjI3MzQzXSB4NSA6IDAwMDAwMDAwMDAwMDE0 MDAgeDQgOiBmZmZmODAwMDExZjYzNDAwIHgzIDogCj4+IDAwMDAwMDAwMTQwMDAwMDAKPj4gW8Kg wqDCoCA2LjYyODA0N10geDIgOiAwMDAwMDAwMDAwMDAwMDAwIHgxIDogZmZmZjAwMDBjNDA4NzBi MCB4MCA6IAo+PiBmZmZmMDAwMGM0MDg2MDAwCj4+IFvCoMKgwqAgNi42Mjg3NTFdIENhbGwgdHJh Y2U6Cj4+IFvCoMKgwqAgNi42Mjg5OTRdwqAgc2V0dXBfaHdfc2xvdCsweDI0LzB4NjAgW3F4bF0K Pj4gW8KgwqDCoCA2LjYyOTQwNF3CoCBzZXR1cF9zbG90KzB4MzQvMHhmMCBbcXhsXQo+PiBbwqDC oMKgIDYuNjI5NzkwXcKgIHF4bF9kZXZpY2VfaW5pdCsweDZmMC8weDdmMCBbcXhsXQo+PiBbwqDC oMKgIDYuNjMwMjM1XcKgIHF4bF9wY2lfcHJvYmUrMHhkYy8weDFkMCBbcXhsXQo+PiBbwqDCoMKg IDYuNjMwNjU0XcKgIGxvY2FsX3BjaV9wcm9iZSsweDQ4LzB4YjgKPj4gW8KgwqDCoCA2LjYzMTAy N13CoCBwY2lfZGV2aWNlX3Byb2JlKzB4MTk0LzB4MjA4Cj4+IFvCoMKgwqAgNi42MzE0NjRdwqAg cmVhbGx5X3Byb2JlKzB4ZDAvMHg0NTgKPj4gW8KgwqDCoCA2LjYzMTgxOF3CoCBfX2RyaXZlcl9w cm9iZV9kZXZpY2UrMHgxMjQvMHgxYzAKPj4gW8KgwqDCoCA2LjYzMjI1Nl3CoCBkcml2ZXJfcHJv YmVfZGV2aWNlKzB4NDgvMHgxMzAKPj4gW8KgwqDCoCA2LjYzMjY2OV3CoCBfX2RyaXZlcl9hdHRh Y2grMHhjNC8weDFhOAo+PiBbwqDCoMKgIDYuNjMzMDQ5XcKgIGJ1c19mb3JfZWFjaF9kZXYrMHg3 OC8weGQwCj4+IFvCoMKgwqAgNi42MzM0MzddwqAgZHJpdmVyX2F0dGFjaCsweDJjLzB4MzgKPj4g W8KgwqDCoCA2LjYzMzc4OV3CoCBidXNfYWRkX2RyaXZlcisweDE1NC8weDI0OAo+PiBbwqDCoMKg IDYuNjM0MTY4XcKgIGRyaXZlcl9yZWdpc3RlcisweDZjLzB4MTI4Cj4+IFvCoMKgwqAgNi42MzUy MDVdwqAgX19wY2lfcmVnaXN0ZXJfZHJpdmVyKzB4NGMvMHg1OAo+PiBbwqDCoMKgIDYuNjM1NjI4 XcKgIHF4bF9pbml0KzB4NDgvMHgxMDAwIFtxeGxdCj4+IFvCoMKgwqAgNi42MzYwMTNdwqAgZG9f b25lX2luaXRjYWxsKzB4NTAvMHgyNDAKPj4gW8KgwqDCoCA2LjYzNjM5MF3CoCBkb19pbml0X21v ZHVsZSsweDYwLzB4MjM4Cj4+IFvCoMKgwqAgNi42MzY3NjhdwqAgbG9hZF9tb2R1bGUrMHgyNDU4 LzB4MjkwMAo+PiBbwqDCoMKgIDYuNjM3MTM2XcKgIF9fZG9fc3lzX2Zpbml0X21vZHVsZSsweGJj LzB4MTI4Cj4+IFvCoMKgwqAgNi42Mzc1NjFdwqAgX19hcm02NF9zeXNfZmluaXRfbW9kdWxlKzB4 MjgvMHgzOAo+PiBbwqDCoMKgIDYuNjM4MDA0XcKgIGludm9rZV9zeXNjYWxsKzB4NzQvMHhmMAo+ PiBbwqDCoMKgIDYuNjM4MzY2XcKgIGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4NTgvMHgx YTgKPj4gW8KgwqDCoCA2LjYzODgzNl3CoCBkb19lbDBfc3ZjKzB4MmMvMHg5MAo+PiBbwqDCoMKg IDYuNjM5MjE2XcKgIGVsMF9zdmMrMHg0MC8weDE5MAo+PiBbwqDCoMKgIDYuNjM5NTI2XcKgIGVs MHRfNjRfc3luY19oYW5kbGVyKzB4YjAvMHhiOAo+PiBbwqDCoMKgIDYuNjM5OTM0XcKgIGVsMHRf NjRfc3luYysweDFhNC8weDFhOAo+PiBbwqDCoMKgIDYuNjQwMjk0XSBDb2RlOiA5MTAwMDNmZCBm OTQ4NDgwNCBmOTQwMGMyMyA4YjA1MDA4NCAoZjgwOWMwODMpCj4+IFvCoMKgwqAgNi42NDA4ODld IC0tLVsgZW5kIHRyYWNlIDk1NjE1ZDg5YjdjODdmOTUgXS0tLQo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBDb25nIExpdSA8bGl1Y29uZzJAa3lsaW5vcy5jbj4KPj4gLS0tCj4+IMKgIGRyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2ttcy5jIHwgMTAgKysrKysrKysrKwo+PiDCoCAxIGZpbGUgY2hhbmdlZCwg MTAgaW5zZXJ0aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9x eGxfa21zLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfa21zLmMKPj4gaW5kZXggNGRj NWFkMTNmMTJjLi4wZTYxYWMwNGQ4YWQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX2ttcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ttcy5jCj4+IEBA IC0xNjUsNyArMTY1LDExIEBAIGludCBxeGxfZGV2aWNlX2luaXQoc3RydWN0IHF4bF9kZXZpY2Ug KnFkZXYsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIChpbnQpcWRldi0+c3VyZmFjZXJhbV9zaXpl IC8gMTAyNCwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNiID09IDQpID8gIjY0Yml0IiA6ICIz MmJpdCIpOwo+PiArI2lmZGVmIENPTkZJR19BUk02NAo+PiArwqDCoMKgIHFkZXYtPnJvbSA9IGlv cmVtYXBfY2FjaGUocWRldi0+cm9tX2Jhc2UsIHFkZXYtPnJvbV9zaXplKTsKPj4gKyNlbHNlCj4+ IMKgwqDCoMKgwqAgcWRldi0+cm9tID0gaW9yZW1hcChxZGV2LT5yb21fYmFzZSwgcWRldi0+cm9t X3NpemUpOwo+PiArI2VuZGlmCj4+IMKgwqDCoMKgwqAgaWYgKCFxZGV2LT5yb20pIHsKPj4gwqDC oMKgwqDCoMKgwqDCoMKgIHByX2VycigiVW5hYmxlIHRvIGlvcmVtYXAgUk9NXG4iKTsKPj4gwqDC oMKgwqDCoMKgwqDCoMKgIHIgPSAtRU5PTUVNOwo+PiBAQCAtMTgzLDkgKzE4NywxNSBAQCBpbnQg cXhsX2RldmljZV9pbml0KHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2LAo+PiDCoMKgwqDCoMKgwqDC oMKgwqAgZ290byByb21fdW5tYXA7Cj4+IMKgwqDCoMKgwqAgfQo+PiArI2lmZGVmIENPTkZJR19B Uk02NAo+PiArwqDCoMKgIHFkZXYtPnJhbV9oZWFkZXIgPSBpb3JlbWFwX2NhY2hlKHFkZXYtPnZy YW1fYmFzZSArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcWRldi0+ cm9tLT5yYW1faGVhZGVyX29mZnNldCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzaXplb2YoKnFkZXYtPnJhbV9oZWFkZXIpKTsKPj4gKyNlbHNlCj4+IMKgwqDCoMKg wqAgcWRldi0+cmFtX2hlYWRlciA9IGlvcmVtYXAocWRldi0+dnJhbV9iYXNlICsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBxZGV2LT5yb20tPnJhbV9oZWFkZXJf b2Zmc2V0LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVv ZigqcWRldi0+cmFtX2hlYWRlcikpOwo+PiArI2VuZGlmCj4+IMKgwqDCoMKgwqAgaWYgKCFxZGV2 LT5yYW1faGVhZGVyKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fRVJST1IoIlVuYWJsZSB0 byBpb3JlbWFwIFJBTSBoZWFkZXJcbiIpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgciA9IC1FTk9N RU07Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZp cnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3Vu ZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0 aW5mby92aXJ0dWFsaXphdGlvbg== 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 7D0A9C433F5 for ; Wed, 23 Mar 2022 09:45:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BE57D10E62C; Wed, 23 Mar 2022 09:45:20 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by gabe.freedesktop.org (Postfix) with ESMTP id D85FE10E62C; Wed, 23 Mar 2022 09:45:19 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 511CD23A; Wed, 23 Mar 2022 02:45:19 -0700 (PDT) Received: from [10.57.43.230] (unknown [10.57.43.230]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BA7353F73B; Wed, 23 Mar 2022 02:45:17 -0700 (PDT) Message-ID: Date: Wed, 23 Mar 2022 09:45:13 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v1 1/2] drm/qxl: replace ioremap by ioremap_cache on arm64 Content-Language: en-GB To: =?UTF-8?Q?Christian_K=c3=b6nig?= , Cong Liu , airlied@redhat.com, kraxel@redhat.com, airlied@linux.ie, daniel@ffwll.ch, ray.huang@amd.com, virtualization@lists.linux-foundation.org, spice-devel@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20220322093444.1236582-1-liucong2@kylinos.cn> From: Robin Murphy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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" On 2022-03-23 07:15, Christian König wrote: > Am 22.03.22 um 10:34 schrieb Cong Liu: >> qxl use ioremap to map ram_header and rom, in the arm64 implementation, >> the device is mapped as DEVICE_nGnRE, it can not support unaligned >> access. > > Well that some ARM boards doesn't allow unaligned access to MMIO space > is a well known bug of those ARM boards. > > So as far as I know this is a hardware bug you are trying to workaround > here and I'm not 100% sure that this is correct. No, this one's not a bug. The Device memory type used for iomem mappings is *architecturally* defined to enforce properties like aligned accesses, no speculation, no reordering, etc. If something wants to be treated more like RAM than actual MMIO registers, then ioremap_wc() or ioremap_cache() is the appropriate thing to do in general (with the former being a bit more portable according to Documentation/driver-api/device-io.rst). Of course *then* you might find that on some systems the interconnect/PCIe implementation/endpoint doesn't actually like unaligned accesses once the CPU MMU starts allowing them to be sent out, but hey, one step at a time ;) Robin. > > Christian. > >> >>    6.620515] pc : setup_hw_slot+0x24/0x60 [qxl] >> [    6.620961] lr : setup_slot+0x34/0xf0 [qxl] >> [    6.621376] sp : ffff800012b73760 >> [    6.621701] x29: ffff800012b73760 x28: 0000000000000001 x27: >> 0000000010000000 >> [    6.622400] x26: 0000000000000001 x25: 0000000004000000 x24: >> ffffcf376848c000 >> [    6.623099] x23: ffff0000c4087400 x22: ffffcf3718e17140 x21: >> 0000000000000000 >> [    6.623823] x20: ffff0000c4086000 x19: ffff0000c40870b0 x18: >> 0000000000000014 >> [    6.624519] x17: 000000004d3605ab x16: 00000000bb3b6129 x15: >> 000000006e771809 >> [    6.625214] x14: 0000000000000001 x13: 007473696c5f7974 x12: >> 696e696666615f65 >> [    6.625909] x11: 00000000d543656a x10: 0000000000000000 x9 : >> ffffcf3718e085a4 >> [    6.626616] x8 : 00000000006c7871 x7 : 000000000000000a x6 : >> 0000000000000017 >> [    6.627343] x5 : 0000000000001400 x4 : ffff800011f63400 x3 : >> 0000000014000000 >> [    6.628047] x2 : 0000000000000000 x1 : ffff0000c40870b0 x0 : >> ffff0000c4086000 >> [    6.628751] Call trace: >> [    6.628994]  setup_hw_slot+0x24/0x60 [qxl] >> [    6.629404]  setup_slot+0x34/0xf0 [qxl] >> [    6.629790]  qxl_device_init+0x6f0/0x7f0 [qxl] >> [    6.630235]  qxl_pci_probe+0xdc/0x1d0 [qxl] >> [    6.630654]  local_pci_probe+0x48/0xb8 >> [    6.631027]  pci_device_probe+0x194/0x208 >> [    6.631464]  really_probe+0xd0/0x458 >> [    6.631818]  __driver_probe_device+0x124/0x1c0 >> [    6.632256]  driver_probe_device+0x48/0x130 >> [    6.632669]  __driver_attach+0xc4/0x1a8 >> [    6.633049]  bus_for_each_dev+0x78/0xd0 >> [    6.633437]  driver_attach+0x2c/0x38 >> [    6.633789]  bus_add_driver+0x154/0x248 >> [    6.634168]  driver_register+0x6c/0x128 >> [    6.635205]  __pci_register_driver+0x4c/0x58 >> [    6.635628]  qxl_init+0x48/0x1000 [qxl] >> [    6.636013]  do_one_initcall+0x50/0x240 >> [    6.636390]  do_init_module+0x60/0x238 >> [    6.636768]  load_module+0x2458/0x2900 >> [    6.637136]  __do_sys_finit_module+0xbc/0x128 >> [    6.637561]  __arm64_sys_finit_module+0x28/0x38 >> [    6.638004]  invoke_syscall+0x74/0xf0 >> [    6.638366]  el0_svc_common.constprop.0+0x58/0x1a8 >> [    6.638836]  do_el0_svc+0x2c/0x90 >> [    6.639216]  el0_svc+0x40/0x190 >> [    6.639526]  el0t_64_sync_handler+0xb0/0xb8 >> [    6.639934]  el0t_64_sync+0x1a4/0x1a8 >> [    6.640294] Code: 910003fd f9484804 f9400c23 8b050084 (f809c083) >> [    6.640889] ---[ end trace 95615d89b7c87f95 ]--- >> >> Signed-off-by: Cong Liu >> --- >>   drivers/gpu/drm/qxl/qxl_kms.c | 10 ++++++++++ >>   1 file changed, 10 insertions(+) >> >> diff --git a/drivers/gpu/drm/qxl/qxl_kms.c >> b/drivers/gpu/drm/qxl/qxl_kms.c >> index 4dc5ad13f12c..0e61ac04d8ad 100644 >> --- a/drivers/gpu/drm/qxl/qxl_kms.c >> +++ b/drivers/gpu/drm/qxl/qxl_kms.c >> @@ -165,7 +165,11 @@ int qxl_device_init(struct qxl_device *qdev, >>            (int)qdev->surfaceram_size / 1024, >>            (sb == 4) ? "64bit" : "32bit"); >> +#ifdef CONFIG_ARM64 >> +    qdev->rom = ioremap_cache(qdev->rom_base, qdev->rom_size); >> +#else >>       qdev->rom = ioremap(qdev->rom_base, qdev->rom_size); >> +#endif >>       if (!qdev->rom) { >>           pr_err("Unable to ioremap ROM\n"); >>           r = -ENOMEM; >> @@ -183,9 +187,15 @@ int qxl_device_init(struct qxl_device *qdev, >>           goto rom_unmap; >>       } >> +#ifdef CONFIG_ARM64 >> +    qdev->ram_header = ioremap_cache(qdev->vram_base + >> +                   qdev->rom->ram_header_offset, >> +                   sizeof(*qdev->ram_header)); >> +#else >>       qdev->ram_header = ioremap(qdev->vram_base + >>                      qdev->rom->ram_header_offset, >>                      sizeof(*qdev->ram_header)); >> +#endif >>       if (!qdev->ram_header) { >>           DRM_ERROR("Unable to ioremap RAM header\n"); >>           r = -ENOMEM; >