OSDN Git Service

drm/v3d: Replace wait_for macros to remove use of msleep
authorJames Hughes <james.hughes@raspberrypi.com>
Mon, 17 Feb 2020 15:31:45 +0000 (15:31 +0000)
committerEric Anholt <eric@anholt.net>
Thu, 5 Mar 2020 06:15:34 +0000 (22:15 -0800)
commit9daee6141cc9c75b09659b02b1cb9eeb2f5e16cc
treea1d30d4b76e4262d364dcf7bc5f63c72ea496d0e
parent7f2a09ecf2e8d86e22598dfb879db48e72c5a40e
drm/v3d: Replace wait_for macros to remove use of msleep

The wait_for macro's for Broadcom V3D driver used msleep, which is
inappropriate due to its inaccuracy at low values (minimum wait time
is about 30ms on the Raspberry Pi).  This sleep was triggering in
v3d_clean_caches(), causing us to only be able to dispatch ~33 compute
jobs per second.

This patch replaces the macro with the one from the Intel i915 version
which uses usleep_range to provide more accurate waits.

v2: Split from the vc4 patch so that we can confidently apply to
    stable (by anholt)

Signed-off-by: James Hughes <james.hughes@raspberrypi.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20200217153145.13780-1-james.hughes@raspberrypi.com
Link: https://github.com/raspberrypi/linux/issues/3460
Fixes: 57692c94dcbe ("drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+")
drivers/gpu/drm/v3d/v3d_drv.h