From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= Subject: [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Date: Sat, 01 Sep 2018 16:08:44 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: dri-devel@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org, linux-tegra@vger.kernel.org, Bartlomiej Zolnierkiewicz , David Airlie , amd-gfx@lists.freedesktop.org, Jonathan Hunter , Eric Anholt , Thierry Reding , Alex Deucher , Dave Airlie , Maxime Ripard , virtualization@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org List-Id: linux-tegra@vger.kernel.org SW50ZXJwcmV0IChvdGhlcndpc2UtaW52YWxpZCkgTlVMTCBhcGVydHVyZXMgYXJndW1lbnQgdG8g bWVhbiBhbGwtbWVtb3J5CnJhbmdlLiBUaGlzIHdpbGwgYWxsb3cgdG8gcmVtb3ZlIHNldmVyYWwg ZHVwbGljYXRlcyBvZiB0aGlzIGNvZGUKZnJvbSBkcml2ZXJzIGluIGZvbGxvd2luZyBwYXRjaGVz LgoKU2lnbmVkLW9mZi1ieTogTWljaGHFgiBNaXJvc8WCYXcgPG1pcnEtbGludXhAcmVyZS5xbXFt LnBsPgpBY2tlZC1ieTogQmFydGxvbWllaiBab2xuaWVya2lld2ljeiA8Yi56b2xuaWVya2llQHNh bXN1bmcuY29tPgoKLS0tCnYyOiBhZGRlZCBrZXJuZWxkb2MgdG8gY29ycmVzcG9uZGluZyBEUk0g aGVscGVyCnYzOiBzcGxpdCBrZXJuZWxkb2MgdG8gYW5vdGhlciBwYXRjaAotLS0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvY29yZS9mYm1lbS5jIHwgMTQgKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCAxNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZibWVtLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJtZW0uYwppbmRleCAzMGEx OGQ0YzlkZTQuLjBkZjE0OGViNDY5OSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZibWVtLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZibWVtLmMKQEAgLTE3 NzksMTEgKzE3NzksMjUgQEAgaW50IHJlbW92ZV9jb25mbGljdGluZ19mcmFtZWJ1ZmZlcnMoc3Ry dWN0IGFwZXJ0dXJlc19zdHJ1Y3QgKmEsCiAJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wg cHJpbWFyeSkKIHsKIAlpbnQgcmV0OworCWJvb2wgZG9fZnJlZSA9IGZhbHNlOworCisJaWYgKCFh KSB7CisJCWEgPSBhbGxvY19hcGVydHVyZXMoMSk7CisJCWlmICghYSkKKwkJCXJldHVybiAtRU5P TUVNOworCisJCWEtPnJhbmdlc1swXS5iYXNlID0gMDsKKwkJYS0+cmFuZ2VzWzBdLnNpemUgPSB+ MDsKKwkJZG9fZnJlZSA9IHRydWU7CisJfQogCiAJbXV0ZXhfbG9jaygmcmVnaXN0cmF0aW9uX2xv Y2spOwogCXJldCA9IGRvX3JlbW92ZV9jb25mbGljdGluZ19mcmFtZWJ1ZmZlcnMoYSwgbmFtZSwg cHJpbWFyeSk7CiAJbXV0ZXhfdW5sb2NrKCZyZWdpc3RyYXRpb25fbG9jayk7CiAKKwlpZiAoZG9f ZnJlZSkKKwkJa2ZyZWUoYSk7CisKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTChyZW1v dmVfY29uZmxpY3RpbmdfZnJhbWVidWZmZXJzKTsKLS0gCjIuMTguMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBs aXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlz dHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= Date: Sat, 01 Sep 2018 14:08:44 +0000 Subject: [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: dri-devel@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org, linux-tegra@vger.kernel.org, Bartlomiej Zolnierkiewicz , David Airlie , amd-gfx@lists.freedesktop.org, Jonathan Hunter , Eric Anholt , Thierry Reding , Alex Deucher , Dave Airlie , Maxime Ripard , virtualization@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław Acked-by: Bartlomiej Zolnierkiewicz --- v2: added kerneldoc to corresponding DRM helper v3: split kerneldoc to another patch --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.18.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: mirq-linux@rere.qmqm.pl (=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?=) Date: Sat, 01 Sep 2018 16:08:44 +0200 Subject: [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() In-Reply-To: References: Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Micha? Miros?aw Acked-by: Bartlomiej Zolnierkiewicz --- v2: added kerneldoc to corresponding DRM helper v3: split kerneldoc to another patch --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.18.0