From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= Subject: [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Date: Thu, 30 Aug 2018 23:00:08 +0200 Message-ID: <66888ed290bb80f8c529af2583611a383e2430f3.1535656077.git.mirq-linux@rere.qmqm.pl> 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: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.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, virtualization@lists.linux-foundation.org, Eric Anholt , Thierry Reding , Gerd Hoffmann , Alex Deucher , Maxime Ripard , linux-arm-kernel@lists.infradead.org List-Id: linux-tegra@vger.kernel.org UmVtb3ZlIGR1cGxpY2F0ZWQgY2FsbCwgd2hpbGUgYXQgaXQuCgpTaWduZWQtb2ZmLWJ5OiBNaWNo YcWCIE1pcm9zxYJhdyA8bWlycS1saW51eEByZXJlLnFtcW0ucGw+CkFja2VkLWJ5OiBEYW5pZWwg VmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tZ2Fn MjAwL21nYWcyMDBfZHJ2LmMgIHwgMjEgKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21haW4uYyB8ICA5IC0tLS0tLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAw L21nYWcyMDBfZHJ2LmMKaW5kZXggNzRjZGRlMmVlNDc0Li5hYzZhZjRiZDlkZjYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuYwpAQCAtNDIsMjkgKzQyLDEwIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwY2lpZGxpc3RbXSA9IHsKIAogTU9EVUxFX0RFVklD RV9UQUJMRShwY2ksIHBjaWlkbGlzdCk7CiAKLXN0YXRpYyB2b2lkIG1nYWcyMDBfa2lja19vdXRf ZmlybXdhcmVfZmIoc3RydWN0IHBjaV9kZXYgKnBkZXYpCi17Ci0Jc3RydWN0IGFwZXJ0dXJlc19z dHJ1Y3QgKmFwOwotCWJvb2wgcHJpbWFyeSA9IGZhbHNlOwotCi0JYXAgPSBhbGxvY19hcGVydHVy ZXMoMSk7Ci0JaWYgKCFhcCkKLQkJcmV0dXJuOwotCi0JYXAtPnJhbmdlc1swXS5iYXNlID0gcGNp X3Jlc291cmNlX3N0YXJ0KHBkZXYsIDApOwotCWFwLT5yYW5nZXNbMF0uc2l6ZSA9IHBjaV9yZXNv dXJjZV9sZW4ocGRldiwgMCk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2Ci0JcHJpbWFyeSA9IHBkZXYt PnJlc291cmNlW1BDSV9ST01fUkVTT1VSQ0VdLmZsYWdzICYgSU9SRVNPVVJDRV9ST01fU0hBRE9X OwotI2VuZGlmCi0JZHJtX2ZiX2hlbHBlcl9yZW1vdmVfY29uZmxpY3RpbmdfZnJhbWVidWZmZXJz KGFwLCAibWdhZzIwMGRybWZiIiwgcHJpbWFyeSk7Ci0Ja2ZyZWUoYXApOwotfQotCiAKIHN0YXRp YyBpbnQgbWdhX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBj aV9kZXZpY2VfaWQgKmVudCkKIHsKLQltZ2FnMjAwX2tpY2tfb3V0X2Zpcm13YXJlX2ZiKHBkZXYp OworCWRybV9mYl9oZWxwZXJfcmVtb3ZlX2NvbmZsaWN0aW5nX3BjaV9mcmFtZWJ1ZmZlcnMocGRl diwgMCwgIm1nYWcyMDBkcm1mYiIpOwogCiAJcmV0dXJuIGRybV9nZXRfcGNpX2RldihwZGV2LCBl bnQsICZkcml2ZXIpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdh ZzIwMF9tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21haW4uYwppbmRl eCA3ODBmOTgzYjAyOTQuLjc5ZDU0MTAzZDQ3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21nYWcyMDAvbWdhZzIwMF9tYWluLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdh ZzIwMF9tYWluLmMKQEAgLTEyNCwyMCArMTI0LDExIEBAIHN0YXRpYyBpbnQgbWdhX3Byb2JlX3Zy YW0oc3RydWN0IG1nYV9kZXZpY2UgKm1kZXYsIHZvaWQgX19pb21lbSAqbWVtKQogc3RhdGljIGlu dCBtZ2FfdnJhbV9pbml0KHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2KQogewogCXZvaWQgX19pb21l bSAqbWVtOwotCXN0cnVjdCBhcGVydHVyZXNfc3RydWN0ICphcGVyID0gYWxsb2NfYXBlcnR1cmVz KDEpOwotCWlmICghYXBlcikKLQkJcmV0dXJuIC1FTk9NRU07CiAKIAkvKiBCQVIgMCBpcyBWUkFN ICovCiAJbWRldi0+bWMudnJhbV9iYXNlID0gcGNpX3Jlc291cmNlX3N0YXJ0KG1kZXYtPmRldi0+ cGRldiwgMCk7CiAJbWRldi0+bWMudnJhbV93aW5kb3cgPSBwY2lfcmVzb3VyY2VfbGVuKG1kZXYt PmRldi0+cGRldiwgMCk7CiAKLQlhcGVyLT5yYW5nZXNbMF0uYmFzZSA9IG1kZXYtPm1jLnZyYW1f YmFzZTsKLQlhcGVyLT5yYW5nZXNbMF0uc2l6ZSA9IG1kZXYtPm1jLnZyYW1fd2luZG93OwotCi0J ZHJtX2ZiX2hlbHBlcl9yZW1vdmVfY29uZmxpY3RpbmdfZnJhbWVidWZmZXJzKGFwZXIsICJtZ2Fm YiIsIHRydWUpOwotCWtmcmVlKGFwZXIpOwotCiAJaWYgKCFkZXZtX3JlcXVlc3RfbWVtX3JlZ2lv bihtZGV2LT5kZXYtPmRldiwgbWRldi0+bWMudnJhbV9iYXNlLCBtZGV2LT5tYy52cmFtX3dpbmRv dywKIAkJCQkibWdhZHJtZmJfdnJhbSIpKSB7CiAJCURSTV9FUlJPUigiY2FuJ3QgcmVzZXJ2ZSBW UkFNXG4iKTsKLS0gCjIuMTguMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= Date: Thu, 30 Aug 2018 21:00:08 +0000 Subject: [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Message-Id: <66888ed290bb80f8c529af2583611a383e2430f3.1535656077.git.mirq-linux@rere.qmqm.pl> 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, virtualization@lists.linux-foundation.org, Eric Anholt , Thierry Reding , Gerd Hoffmann , Alex Deucher , Maxime Ripard , linux-arm-kernel@lists.infradead.org Remove duplicated call, while at it. Signed-off-by: Michał Mirosław Acked-by: Daniel Vetter --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 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: Thu, 30 Aug 2018 23:00:08 +0200 Subject: [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() In-Reply-To: References: Message-ID: <66888ed290bb80f8c529af2583611a383e2430f3.1535656077.git.mirq-linux@rere.qmqm.pl> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Remove duplicated call, while at it. Signed-off-by: Micha? Miros?aw Acked-by: Daniel Vetter --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0