Sorry,my mistake. I sent the wrong patch, please ignore the patch below
在 2020/2/21 16:52, Thomas Zimmermann 写道:
Hi
Am 21.02.20 um 08:06 schrieb Xinliang Liu:
Hi tao,
Are you sending a wrong patch?
Function hibmc_remove_framebuffers is added by your prior reviewing patch.
Please send patch based on drm-misc-next branch[1] or linux-next.
There's drm_fb_helper_remove_conflicting_pci_framebuffers() which
already implements the functionality. I asked to try using it instead of
creating an own implementation.
Best regards
Thomas
Thanks,
-Xinliang
[1] https://anongit.freedesktop.org/git/drm-misc.git
On Fri, 21 Feb 2020 at 13:56, Tian Tao <tiantao6@xxxxxxxxxxxxx
<mailto:tiantao6@xxxxxxxxxxxxx>> wrote:
the kernel provide the drm_fb_helper_remove_conflicting_pci_framebuffer
to remvoe the pcie resource conflict,there is no need to driver it
again.
Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx
<mailto:tiantao6@xxxxxxxxxxxxx>>
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 22
+++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 7ebe831..0f7dba7 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -47,22 +47,6 @@ static irqreturn_t hibmc_drm_interrupt(int irq,
void *arg)
return IRQ_HANDLED;
}
-static void hibmc_remove_framebuffers(struct pci_dev *pdev)
-{
- struct apertures_struct *ap;
-
- 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);
-
- drm_fb_helper_remove_conflicting_framebuffers(ap,
"hibmcdrmfb", false);
-
- kfree(ap);
-}
-
static struct drm_driver hibmc_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET |
DRIVER_ATOMIC,
.fops = &hibmc_fops,
@@ -343,7 +327,11 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
struct drm_device *dev;
int ret;
- hibmc_remove_framebuffers(pdev);
+ ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev,
+
"hibmcdrmfb");
+ if (ret)
+ return ret;
+
dev = drm_dev_alloc(&hibmc_driver, &pdev->dev);
if (IS_ERR(dev)) {
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel