dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning
@ 2019-06-18 18:55 Krzysztof Kozlowski
  2019-06-18 18:55 ` [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-06-18 18:55 UTC (permalink / raw)
  To: Qiang Yu, David Airlie, Daniel Vetter, Rob Herring, Tomeu Vizoso,
	dri-devel, lima, linux-kernel
  Cc: Krzysztof Kozlowski

Mark long numbers with ULL to silence the Smatch warning:

    drivers/gpu/drm/lima/lima_device.c:314:32: warning: constant 0x100000000 is so big it is long long

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/gpu/drm/lima/lima_vm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/lima/lima_vm.h b/drivers/gpu/drm/lima/lima_vm.h
index caee2f8a29b4..e0bdedcf14dd 100644
--- a/drivers/gpu/drm/lima/lima_vm.h
+++ b/drivers/gpu/drm/lima/lima_vm.h
@@ -15,9 +15,9 @@
 #define LIMA_VM_NUM_PT_PER_BT (1 << LIMA_VM_NUM_PT_PER_BT_SHIFT)
 #define LIMA_VM_NUM_BT (LIMA_PAGE_ENT_NUM >> LIMA_VM_NUM_PT_PER_BT_SHIFT)
 
-#define LIMA_VA_RESERVE_START  0xFFF00000
+#define LIMA_VA_RESERVE_START  0x0FFF00000ULL
 #define LIMA_VA_RESERVE_DLBU   LIMA_VA_RESERVE_START
-#define LIMA_VA_RESERVE_END    0x100000000
+#define LIMA_VA_RESERVE_END    0x100000000ULL
 
 struct lima_device;
 
-- 
2.17.1

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

* [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe
  2019-06-18 18:55 [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Krzysztof Kozlowski
@ 2019-06-18 18:55 ` Krzysztof Kozlowski
  2019-06-20  0:54   ` Qiang Yu
  2019-06-18 18:55 ` [PATCH 3/3] drm/panfrost: " Krzysztof Kozlowski
  2019-06-20  0:52 ` [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Qiang Yu
  2 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-06-18 18:55 UTC (permalink / raw)
  To: Qiang Yu, David Airlie, Daniel Vetter, Rob Herring, Tomeu Vizoso,
	dri-devel, lima, linux-kernel
  Cc: Krzysztof Kozlowski

There is no point to print deferred probe (and its failures to get
resources) as an error.  For example getting a regulator causes three
unneeded error messages:

    lima 13000000.gpu: failed to get regulator: -517
    lima 13000000.gpu: regulator init fail -517
    lima 13000000.gpu: Fatal error during GPU init

Also do not print clock rates before the initialization finishes
because they will be duplicated after deferral.  Each probe step already
prints error so remove the final error message "Fatal error during GPU
init".

In case of multiple probe tries this would pollute the dmesg.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/gpu/drm/lima/lima_device.c | 17 ++++++-----------
 drivers/gpu/drm/lima/lima_drv.c    |  4 +---
 2 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
index 570d0e93f9a9..bb2eaa4f370e 100644
--- a/drivers/gpu/drm/lima/lima_device.c
+++ b/drivers/gpu/drm/lima/lima_device.c
@@ -80,7 +80,6 @@ const char *lima_ip_name(struct lima_ip *ip)
 static int lima_clk_init(struct lima_device *dev)
 {
 	int err;
-	unsigned long bus_rate, gpu_rate;
 
 	dev->clk_bus = devm_clk_get(dev->dev, "bus");
 	if (IS_ERR(dev->clk_bus)) {
@@ -94,12 +93,6 @@ static int lima_clk_init(struct lima_device *dev)
 		return PTR_ERR(dev->clk_gpu);
 	}
 
-	bus_rate = clk_get_rate(dev->clk_bus);
-	dev_info(dev->dev, "bus rate = %lu\n", bus_rate);
-
-	gpu_rate = clk_get_rate(dev->clk_gpu);
-	dev_info(dev->dev, "mod rate = %lu", gpu_rate);
-
 	err = clk_prepare_enable(dev->clk_bus);
 	if (err)
 		return err;
@@ -145,7 +138,8 @@ static int lima_regulator_init(struct lima_device *dev)
 		dev->regulator = NULL;
 		if (ret == -ENODEV)
 			return 0;
-		dev_err(dev->dev, "failed to get regulator: %d\n", ret);
+		if (ret != -EPROBE_DEFER)
+			dev_err(dev->dev, "failed to get regulator: %d\n", ret);
 		return ret;
 	}
 
@@ -297,10 +291,8 @@ int lima_device_init(struct lima_device *ldev)
 	}
 
 	err = lima_regulator_init(ldev);
-	if (err) {
-		dev_err(ldev->dev, "regulator init fail %d\n", err);
+	if (err)
 		goto err_out0;
-	}
 
 	ldev->empty_vm = lima_vm_create(ldev);
 	if (!ldev->empty_vm) {
@@ -343,6 +335,9 @@ int lima_device_init(struct lima_device *ldev)
 	if (err)
 		goto err_out5;
 
+	dev_info(ldev->dev, "bus rate = %lu\n", clk_get_rate(ldev->clk_bus));
+	dev_info(ldev->dev, "mod rate = %lu", clk_get_rate(ldev->clk_gpu));
+
 	return 0;
 
 err_out5:
diff --git a/drivers/gpu/drm/lima/lima_drv.c b/drivers/gpu/drm/lima/lima_drv.c
index b29c26cd13b2..cebc44592e47 100644
--- a/drivers/gpu/drm/lima/lima_drv.c
+++ b/drivers/gpu/drm/lima/lima_drv.c
@@ -307,10 +307,8 @@ static int lima_pdev_probe(struct platform_device *pdev)
 	ldev->ddev = ddev;
 
 	err = lima_device_init(ldev);
-	if (err) {
-		dev_err(&pdev->dev, "Fatal error during GPU init\n");
+	if (err)
 		goto err_out1;
-	}
 
 	/*
 	 * Register the DRM device with the core and the connectors with
-- 
2.17.1

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

* [PATCH 3/3] drm/panfrost: Reduce the amount of logs on deferred probe
  2019-06-18 18:55 [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Krzysztof Kozlowski
  2019-06-18 18:55 ` [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe Krzysztof Kozlowski
@ 2019-06-18 18:55 ` Krzysztof Kozlowski
  2019-06-20  0:52 ` [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Qiang Yu
  2 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-06-18 18:55 UTC (permalink / raw)
  To: Qiang Yu, David Airlie, Daniel Vetter, Rob Herring, Tomeu Vizoso,
	dri-devel, lima, linux-kernel
  Cc: Krzysztof Kozlowski

There is no point to print deferred probe (and its failures to get
resources) as an error.

In case of multiple probe tries this would pollute the dmesg.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/gpu/drm/panfrost/panfrost_device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c b/drivers/gpu/drm/panfrost/panfrost_device.c
index ccb8eb2a518c..858582a60090 100644
--- a/drivers/gpu/drm/panfrost/panfrost_device.c
+++ b/drivers/gpu/drm/panfrost/panfrost_device.c
@@ -95,7 +95,9 @@ static int panfrost_regulator_init(struct panfrost_device *pfdev)
 		pfdev->regulator = NULL;
 		if (ret == -ENODEV)
 			return 0;
-		dev_err(pfdev->dev, "failed to get regulator: %d\n", ret);
+		if (ret != -EPROBE_DEFER)
+			dev_err(pfdev->dev, "failed to get regulator: %d\n",
+				ret);
 		return ret;
 	}
 
-- 
2.17.1

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

* Re: [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning
  2019-06-18 18:55 [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Krzysztof Kozlowski
  2019-06-18 18:55 ` [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe Krzysztof Kozlowski
  2019-06-18 18:55 ` [PATCH 3/3] drm/panfrost: " Krzysztof Kozlowski
@ 2019-06-20  0:52 ` Qiang Yu
  2 siblings, 0 replies; 6+ messages in thread
From: Qiang Yu @ 2019-06-20  0:52 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: lima, Tomeu Vizoso, David Airlie, Linux Kernel Mailing List, dri-devel

Looks good for me, patch is:
Reviewed-by: Qiang Yu <yuq825@gmail.com>

I'll apply it to drm-misc-next.

Regards,
Qiang

On Wed, Jun 19, 2019 at 2:55 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> Mark long numbers with ULL to silence the Smatch warning:
>
>     drivers/gpu/drm/lima/lima_device.c:314:32: warning: constant 0x100000000 is so big it is long long
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  drivers/gpu/drm/lima/lima_vm.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_vm.h b/drivers/gpu/drm/lima/lima_vm.h
> index caee2f8a29b4..e0bdedcf14dd 100644
> --- a/drivers/gpu/drm/lima/lima_vm.h
> +++ b/drivers/gpu/drm/lima/lima_vm.h
> @@ -15,9 +15,9 @@
>  #define LIMA_VM_NUM_PT_PER_BT (1 << LIMA_VM_NUM_PT_PER_BT_SHIFT)
>  #define LIMA_VM_NUM_BT (LIMA_PAGE_ENT_NUM >> LIMA_VM_NUM_PT_PER_BT_SHIFT)
>
> -#define LIMA_VA_RESERVE_START  0xFFF00000
> +#define LIMA_VA_RESERVE_START  0x0FFF00000ULL
>  #define LIMA_VA_RESERVE_DLBU   LIMA_VA_RESERVE_START
> -#define LIMA_VA_RESERVE_END    0x100000000
> +#define LIMA_VA_RESERVE_END    0x100000000ULL
>
>  struct lima_device;
>
> --
> 2.17.1
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe
  2019-06-18 18:55 ` [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe Krzysztof Kozlowski
@ 2019-06-20  0:54   ` Qiang Yu
  2019-06-20  6:45     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 6+ messages in thread
From: Qiang Yu @ 2019-06-20  0:54 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: David Airlie, Daniel Vetter, Rob Herring, Tomeu Vizoso,
	dri-devel, lima, Linux Kernel Mailing List

It looks like lima_clk_init will have the same problem if devm_clk_get
returns -EPROBE_DEFER.

Regards,
Qiang

On Wed, Jun 19, 2019 at 2:55 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> There is no point to print deferred probe (and its failures to get
> resources) as an error.  For example getting a regulator causes three
> unneeded error messages:
>
>     lima 13000000.gpu: failed to get regulator: -517
>     lima 13000000.gpu: regulator init fail -517
>     lima 13000000.gpu: Fatal error during GPU init
>
> Also do not print clock rates before the initialization finishes
> because they will be duplicated after deferral.  Each probe step already
> prints error so remove the final error message "Fatal error during GPU
> init".
>
> In case of multiple probe tries this would pollute the dmesg.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  drivers/gpu/drm/lima/lima_device.c | 17 ++++++-----------
>  drivers/gpu/drm/lima/lima_drv.c    |  4 +---
>  2 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
> index 570d0e93f9a9..bb2eaa4f370e 100644
> --- a/drivers/gpu/drm/lima/lima_device.c
> +++ b/drivers/gpu/drm/lima/lima_device.c
> @@ -80,7 +80,6 @@ const char *lima_ip_name(struct lima_ip *ip)
>  static int lima_clk_init(struct lima_device *dev)
>  {
>         int err;
> -       unsigned long bus_rate, gpu_rate;
>
>         dev->clk_bus = devm_clk_get(dev->dev, "bus");
>         if (IS_ERR(dev->clk_bus)) {
> @@ -94,12 +93,6 @@ static int lima_clk_init(struct lima_device *dev)
>                 return PTR_ERR(dev->clk_gpu);
>         }
>
> -       bus_rate = clk_get_rate(dev->clk_bus);
> -       dev_info(dev->dev, "bus rate = %lu\n", bus_rate);
> -
> -       gpu_rate = clk_get_rate(dev->clk_gpu);
> -       dev_info(dev->dev, "mod rate = %lu", gpu_rate);
> -
>         err = clk_prepare_enable(dev->clk_bus);
>         if (err)
>                 return err;
> @@ -145,7 +138,8 @@ static int lima_regulator_init(struct lima_device *dev)
>                 dev->regulator = NULL;
>                 if (ret == -ENODEV)
>                         return 0;
> -               dev_err(dev->dev, "failed to get regulator: %d\n", ret);
> +               if (ret != -EPROBE_DEFER)
> +                       dev_err(dev->dev, "failed to get regulator: %d\n", ret);
>                 return ret;
>         }
>
> @@ -297,10 +291,8 @@ int lima_device_init(struct lima_device *ldev)
>         }
>
>         err = lima_regulator_init(ldev);
> -       if (err) {
> -               dev_err(ldev->dev, "regulator init fail %d\n", err);
> +       if (err)
>                 goto err_out0;
> -       }
>
>         ldev->empty_vm = lima_vm_create(ldev);
>         if (!ldev->empty_vm) {
> @@ -343,6 +335,9 @@ int lima_device_init(struct lima_device *ldev)
>         if (err)
>                 goto err_out5;
>
> +       dev_info(ldev->dev, "bus rate = %lu\n", clk_get_rate(ldev->clk_bus));
> +       dev_info(ldev->dev, "mod rate = %lu", clk_get_rate(ldev->clk_gpu));
> +
>         return 0;
>
>  err_out5:
> diff --git a/drivers/gpu/drm/lima/lima_drv.c b/drivers/gpu/drm/lima/lima_drv.c
> index b29c26cd13b2..cebc44592e47 100644
> --- a/drivers/gpu/drm/lima/lima_drv.c
> +++ b/drivers/gpu/drm/lima/lima_drv.c
> @@ -307,10 +307,8 @@ static int lima_pdev_probe(struct platform_device *pdev)
>         ldev->ddev = ddev;
>
>         err = lima_device_init(ldev);
> -       if (err) {
> -               dev_err(&pdev->dev, "Fatal error during GPU init\n");
> +       if (err)
>                 goto err_out1;
> -       }
>
>         /*
>          * Register the DRM device with the core and the connectors with
> --
> 2.17.1
>

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

* Re: [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe
  2019-06-20  0:54   ` Qiang Yu
@ 2019-06-20  6:45     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2019-06-20  6:45 UTC (permalink / raw)
  To: Qiang Yu
  Cc: David Airlie, Daniel Vetter, Rob Herring, Tomeu Vizoso,
	dri-devel, lima, Linux Kernel Mailing List

On Thu, 20 Jun 2019 at 02:55, Qiang Yu <yuq825@gmail.com> wrote:
>
> It looks like lima_clk_init will have the same problem if devm_clk_get
> returns -EPROBE_DEFER.

Indeed, although I did not experience it but it is valid point. I'll send v2.

Best regards,
Krzysztof

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

end of thread, other threads:[~2019-06-20  6:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-18 18:55 [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning Krzysztof Kozlowski
2019-06-18 18:55 ` [PATCH 2/3] drm/lima: Reduce the amount of logs on deferred probe Krzysztof Kozlowski
2019-06-20  0:54   ` Qiang Yu
2019-06-20  6:45     ` Krzysztof Kozlowski
2019-06-18 18:55 ` [PATCH 3/3] drm/panfrost: " Krzysztof Kozlowski
2019-06-20  0:52 ` [PATCH 1/3] drm/lima: Mark 64-bit number as ULL to silence Smatch warning 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).