Re: [PATCH] drm/hisilicon: Fixed pcie resource conflict using the general API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux