dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/lima: Clean up IRQ warnings
@ 2020-04-21 22:51 Robin Murphy
  2020-04-21 22:51 ` [PATCH 2/2] drm/lima: Clean up redundant pdev pointer Robin Murphy
  2020-04-22  1:29 ` [PATCH 1/2] drm/lima: Clean up IRQ warnings Qiang Yu
  0 siblings, 2 replies; 4+ messages in thread
From: Robin Murphy @ 2020-04-21 22:51 UTC (permalink / raw)
  To: yuq825; +Cc: lima, dri-devel

Use the optional form of platform_get_irq() for blocks that legitimately
may not be present, to avoid getting an annoying barrage of spurious
warnings for non-existent PPs on configurations like Mali-450 MP2.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/gpu/drm/lima/lima_device.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
index 247f51fd40a2..c334d297796a 100644
--- a/drivers/gpu/drm/lima/lima_device.c
+++ b/drivers/gpu/drm/lima/lima_device.c
@@ -171,8 +171,10 @@ static void lima_regulator_fini(struct lima_device *dev)
 
 static int lima_init_ip(struct lima_device *dev, int index)
 {
+	struct platform_device *pdev = to_platform_device(dev->dev);
 	struct lima_ip_desc *desc = lima_ip_desc + index;
 	struct lima_ip *ip = dev->ip + index;
+	const char *irq_name = desc->irq_name;
 	int offset = desc->offset[dev->id];
 	bool must = desc->must_have[dev->id];
 	int err;
@@ -183,8 +185,9 @@ static int lima_init_ip(struct lima_device *dev, int index)
 	ip->dev = dev;
 	ip->id = index;
 	ip->iomem = dev->iomem + offset;
-	if (desc->irq_name) {
-		err = platform_get_irq_byname(dev->pdev, desc->irq_name);
+	if (irq_name) {
+		err = must ? platform_get_irq_byname(pdev, irq_name) :
+			     platform_get_irq_byname_optional(pdev, irq_name);
 		if (err < 0)
 			goto out;
 		ip->irq = err;
-- 
2.23.0.dirty

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] drm/lima: Clean up redundant pdev pointer
  2020-04-21 22:51 [PATCH 1/2] drm/lima: Clean up IRQ warnings Robin Murphy
@ 2020-04-21 22:51 ` Robin Murphy
  2020-04-22  1:29 ` [PATCH 1/2] drm/lima: Clean up IRQ warnings Qiang Yu
  1 sibling, 0 replies; 4+ messages in thread
From: Robin Murphy @ 2020-04-21 22:51 UTC (permalink / raw)
  To: yuq825; +Cc: lima, dri-devel

There's no point explicitly tracking the platform device when it can be
trivially derived from the regular device pointer in the couple of
places it's ever used.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/gpu/drm/lima/lima_devfreq.c | 7 +++----
 drivers/gpu/drm/lima/lima_device.c  | 5 ++---
 drivers/gpu/drm/lima/lima_device.h  | 1 -
 drivers/gpu/drm/lima/lima_drv.c     | 1 -
 4 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/lima/lima_devfreq.c b/drivers/gpu/drm/lima/lima_devfreq.c
index 8c4d21d07529..1d479b5924fe 100644
--- a/drivers/gpu/drm/lima/lima_devfreq.c
+++ b/drivers/gpu/drm/lima/lima_devfreq.c
@@ -101,13 +101,12 @@ void lima_devfreq_fini(struct lima_device *ldev)
 	}
 
 	if (devfreq->devfreq) {
-		devm_devfreq_remove_device(&ldev->pdev->dev,
-					   devfreq->devfreq);
+		devm_devfreq_remove_device(ldev->dev, devfreq->devfreq);
 		devfreq->devfreq = NULL;
 	}
 
 	if (devfreq->opp_of_table_added) {
-		dev_pm_opp_of_remove_table(&ldev->pdev->dev);
+		dev_pm_opp_of_remove_table(ldev->dev);
 		devfreq->opp_of_table_added = false;
 	}
 
@@ -125,7 +124,7 @@ void lima_devfreq_fini(struct lima_device *ldev)
 int lima_devfreq_init(struct lima_device *ldev)
 {
 	struct thermal_cooling_device *cooling;
-	struct device *dev = &ldev->pdev->dev;
+	struct device *dev = ldev->dev;
 	struct opp_table *opp_table;
 	struct devfreq *devfreq;
 	struct lima_devfreq *ldevfreq = &ldev->devfreq;
diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
index c334d297796a..29285dedd124 100644
--- a/drivers/gpu/drm/lima/lima_device.c
+++ b/drivers/gpu/drm/lima/lima_device.c
@@ -297,8 +297,8 @@ static void lima_fini_pp_pipe(struct lima_device *dev)
 
 int lima_device_init(struct lima_device *ldev)
 {
+	struct platform_device *pdev = to_platform_device(ldev->dev);
 	int err, i;
-	struct resource *res;
 
 	dma_set_coherent_mask(ldev->dev, DMA_BIT_MASK(32));
 
@@ -329,8 +329,7 @@ int lima_device_init(struct lima_device *ldev)
 	} else
 		ldev->va_end = LIMA_VA_RESERVE_END;
 
-	res = platform_get_resource(ldev->pdev, IORESOURCE_MEM, 0);
-	ldev->iomem = devm_ioremap_resource(ldev->dev, res);
+	ldev->iomem = devm_platform_ioremap_resource(pdev, 0);
 	if (IS_ERR(ldev->iomem)) {
 		dev_err(ldev->dev, "fail to ioremap iomem\n");
 		err = PTR_ERR(ldev->iomem);
diff --git a/drivers/gpu/drm/lima/lima_device.h b/drivers/gpu/drm/lima/lima_device.h
index 06fd9636dd72..99b1fb147dad 100644
--- a/drivers/gpu/drm/lima/lima_device.h
+++ b/drivers/gpu/drm/lima/lima_device.h
@@ -76,7 +76,6 @@ enum lima_pipe_id {
 struct lima_device {
 	struct device *dev;
 	struct drm_device *ddev;
-	struct platform_device *pdev;
 
 	enum lima_gpu_id id;
 	u32 gp_version;
diff --git a/drivers/gpu/drm/lima/lima_drv.c b/drivers/gpu/drm/lima/lima_drv.c
index bbbdc8455e2f..4e5dd75822c0 100644
--- a/drivers/gpu/drm/lima/lima_drv.c
+++ b/drivers/gpu/drm/lima/lima_drv.c
@@ -380,7 +380,6 @@ static int lima_pdev_probe(struct platform_device *pdev)
 		goto err_out0;
 	}
 
-	ldev->pdev = pdev;
 	ldev->dev = &pdev->dev;
 	ldev->id = (enum lima_gpu_id)of_device_get_match_data(&pdev->dev);
 
-- 
2.23.0.dirty

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] drm/lima: Clean up IRQ warnings
  2020-04-21 22:51 [PATCH 1/2] drm/lima: Clean up IRQ warnings Robin Murphy
  2020-04-21 22:51 ` [PATCH 2/2] drm/lima: Clean up redundant pdev pointer Robin Murphy
@ 2020-04-22  1:29 ` Qiang Yu
  2020-04-24 13:06   ` Qiang Yu
  1 sibling, 1 reply; 4+ messages in thread
From: Qiang Yu @ 2020-04-22  1:29 UTC (permalink / raw)
  To: Robin Murphy; +Cc: lima, dri-devel

Looks good for me, patch 1&2 are:
Reviewed-by: Qiang Yu <yuq825@gmail.com>

Regards,
Qiang

On Wed, Apr 22, 2020 at 6:51 AM Robin Murphy <robin.murphy@arm.com> wrote:
>
> Use the optional form of platform_get_irq() for blocks that legitimately
> may not be present, to avoid getting an annoying barrage of spurious
> warnings for non-existent PPs on configurations like Mali-450 MP2.
>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
>  drivers/gpu/drm/lima/lima_device.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
> index 247f51fd40a2..c334d297796a 100644
> --- a/drivers/gpu/drm/lima/lima_device.c
> +++ b/drivers/gpu/drm/lima/lima_device.c
> @@ -171,8 +171,10 @@ static void lima_regulator_fini(struct lima_device *dev)
>
>  static int lima_init_ip(struct lima_device *dev, int index)
>  {
> +       struct platform_device *pdev = to_platform_device(dev->dev);
>         struct lima_ip_desc *desc = lima_ip_desc + index;
>         struct lima_ip *ip = dev->ip + index;
> +       const char *irq_name = desc->irq_name;
>         int offset = desc->offset[dev->id];
>         bool must = desc->must_have[dev->id];
>         int err;
> @@ -183,8 +185,9 @@ static int lima_init_ip(struct lima_device *dev, int index)
>         ip->dev = dev;
>         ip->id = index;
>         ip->iomem = dev->iomem + offset;
> -       if (desc->irq_name) {
> -               err = platform_get_irq_byname(dev->pdev, desc->irq_name);
> +       if (irq_name) {
> +               err = must ? platform_get_irq_byname(pdev, irq_name) :
> +                            platform_get_irq_byname_optional(pdev, irq_name);
>                 if (err < 0)
>                         goto out;
>                 ip->irq = err;
> --
> 2.23.0.dirty
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] drm/lima: Clean up IRQ warnings
  2020-04-22  1:29 ` [PATCH 1/2] drm/lima: Clean up IRQ warnings Qiang Yu
@ 2020-04-24 13:06   ` Qiang Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Qiang Yu @ 2020-04-24 13:06 UTC (permalink / raw)
  To: Robin Murphy; +Cc: lima, dri-devel

Applied to drm-misc-next.

Thanks,
Qiang

On Wed, Apr 22, 2020 at 9:29 AM Qiang Yu <yuq825@gmail.com> wrote:
>
> Looks good for me, patch 1&2 are:
> Reviewed-by: Qiang Yu <yuq825@gmail.com>
>
> Regards,
> Qiang
>
> On Wed, Apr 22, 2020 at 6:51 AM Robin Murphy <robin.murphy@arm.com> wrote:
> >
> > Use the optional form of platform_get_irq() for blocks that legitimately
> > may not be present, to avoid getting an annoying barrage of spurious
> > warnings for non-existent PPs on configurations like Mali-450 MP2.
> >
> > Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> > ---
> >  drivers/gpu/drm/lima/lima_device.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
> > index 247f51fd40a2..c334d297796a 100644
> > --- a/drivers/gpu/drm/lima/lima_device.c
> > +++ b/drivers/gpu/drm/lima/lima_device.c
> > @@ -171,8 +171,10 @@ static void lima_regulator_fini(struct lima_device *dev)
> >
> >  static int lima_init_ip(struct lima_device *dev, int index)
> >  {
> > +       struct platform_device *pdev = to_platform_device(dev->dev);
> >         struct lima_ip_desc *desc = lima_ip_desc + index;
> >         struct lima_ip *ip = dev->ip + index;
> > +       const char *irq_name = desc->irq_name;
> >         int offset = desc->offset[dev->id];
> >         bool must = desc->must_have[dev->id];
> >         int err;
> > @@ -183,8 +185,9 @@ static int lima_init_ip(struct lima_device *dev, int index)
> >         ip->dev = dev;
> >         ip->id = index;
> >         ip->iomem = dev->iomem + offset;
> > -       if (desc->irq_name) {
> > -               err = platform_get_irq_byname(dev->pdev, desc->irq_name);
> > +       if (irq_name) {
> > +               err = must ? platform_get_irq_byname(pdev, irq_name) :
> > +                            platform_get_irq_byname_optional(pdev, irq_name);
> >                 if (err < 0)
> >                         goto out;
> >                 ip->irq = err;
> > --
> > 2.23.0.dirty
> >
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-24 13:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-21 22:51 [PATCH 1/2] drm/lima: Clean up IRQ warnings Robin Murphy
2020-04-21 22:51 ` [PATCH 2/2] drm/lima: Clean up redundant pdev pointer Robin Murphy
2020-04-22  1:29 ` [PATCH 1/2] drm/lima: Clean up IRQ warnings Qiang Yu
2020-04-24 13:06   ` Qiang Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).