2018-08-04 00:29:56

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH] gpu: drm: nouveau: nvkm: nv40: Replace mdelay() with msleep() in nv40_sensor_setup()

nv40_sensor_setup() is never called in atomic context.
It calls mdelay() to busily wait, which is not necessary.
mdelay() can be replaced with msleep().

This is found by a static analysis tool named DCNS written by myself

Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c
index 2c92ffb5f9d0..36c4b8865083 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c
@@ -59,11 +59,11 @@ nv40_sensor_setup(struct nvkm_therm *therm)
if (style == NEW_STYLE) {
nvkm_mask(device, 0x15b8, 0x80000000, 0);
nvkm_wr32(device, 0x15b0, 0x80003fff);
- mdelay(20); /* wait for the temperature to stabilize */
+ msleep(20); /* wait for the temperature to stabilize */
return nvkm_rd32(device, 0x15b4) & 0x3fff;
} else if (style == OLD_STYLE) {
nvkm_wr32(device, 0x15b0, 0xff);
- mdelay(20); /* wait for the temperature to stabilize */
+ msleep(20); /* wait for the temperature to stabilize */
return nvkm_rd32(device, 0x15b4) & 0xff;
} else
return -ENODEV;
--
2.17.0