Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/lima: Reduce the amount of logs on deferred probe

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.

Fixes: a1d2a6339961 ("drm/lima: driver for ARM Mali4xx GPUs")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190621162117.22533-2-krzk@kernel.org

authored by

Krzysztof Kozlowski and committed by
Qiang Yu
34e88f9e adbb48bc

+7 -14
+6 -11
drivers/gpu/drm/lima/lima_device.c
··· 80 80 static int lima_clk_init(struct lima_device *dev) 81 81 { 82 82 int err; 83 - unsigned long bus_rate, gpu_rate; 84 83 85 84 dev->clk_bus = devm_clk_get(dev->dev, "bus"); 86 85 if (IS_ERR(dev->clk_bus)) { ··· 92 93 dev_err(dev->dev, "get core clk failed %ld\n", PTR_ERR(dev->clk_gpu)); 93 94 return PTR_ERR(dev->clk_gpu); 94 95 } 95 - 96 - bus_rate = clk_get_rate(dev->clk_bus); 97 - dev_info(dev->dev, "bus rate = %lu\n", bus_rate); 98 - 99 - gpu_rate = clk_get_rate(dev->clk_gpu); 100 - dev_info(dev->dev, "mod rate = %lu", gpu_rate); 101 96 102 97 err = clk_prepare_enable(dev->clk_bus); 103 98 if (err) ··· 138 145 dev->regulator = NULL; 139 146 if (ret == -ENODEV) 140 147 return 0; 141 - dev_err(dev->dev, "failed to get regulator: %d\n", ret); 148 + if (ret != -EPROBE_DEFER) 149 + dev_err(dev->dev, "failed to get regulator: %d\n", ret); 142 150 return ret; 143 151 } 144 152 ··· 291 297 } 292 298 293 299 err = lima_regulator_init(ldev); 294 - if (err) { 295 - dev_err(ldev->dev, "regulator init fail %d\n", err); 300 + if (err) 296 301 goto err_out0; 297 - } 298 302 299 303 ldev->empty_vm = lima_vm_create(ldev); 300 304 if (!ldev->empty_vm) { ··· 334 342 err = lima_init_pp_pipe(ldev); 335 343 if (err) 336 344 goto err_out5; 345 + 346 + dev_info(ldev->dev, "bus rate = %lu\n", clk_get_rate(ldev->clk_bus)); 347 + dev_info(ldev->dev, "mod rate = %lu", clk_get_rate(ldev->clk_gpu)); 337 348 338 349 return 0; 339 350
+1 -3
drivers/gpu/drm/lima/lima_drv.c
··· 307 307 ldev->ddev = ddev; 308 308 309 309 err = lima_device_init(ldev); 310 - if (err) { 311 - dev_err(&pdev->dev, "Fatal error during GPU init\n"); 310 + if (err) 312 311 goto err_out1; 313 - } 314 312 315 313 /* 316 314 * Register the DRM device with the core and the connectors with