diff options
| author | Christopher Harvey <charvey@matrox.com> | 2013-05-06 11:56:17 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2013-05-12 22:17:31 -0400 |
| commit | 3cdc0e8d6142aaf3eb84a53eab6de1160da290a3 (patch) | |
| tree | 5d58e05c0827b7440f5c1b293bf4e20162e5ee90 /drivers/gpu/drm | |
| parent | fb70a6690875315a3a1454e52fa339441ee7612b (diff) | |
drm/mgag200: Convert counter delays to jiffies
Signed-off-by: Christopher Harvey <charvey@matrox.com>
Acked-by: Julia Lemire <jlemire@matrox.com>
Tested-by: Julia Lemire <jlemire@matrox.com>
Acked-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
| -rw-r--r-- | drivers/gpu/drm/mgag200/mgag200_mode.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c index d983868ebd35..0326989a6aec 100644 --- a/drivers/gpu/drm/mgag200/mgag200_mode.c +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c | |||
| @@ -46,29 +46,26 @@ static void mga_crtc_load_lut(struct drm_crtc *crtc) | |||
| 46 | 46 | ||
| 47 | static inline void mga_wait_vsync(struct mga_device *mdev) | 47 | static inline void mga_wait_vsync(struct mga_device *mdev) |
| 48 | { | 48 | { |
| 49 | unsigned int count = 0; | 49 | unsigned long timeout = jiffies + HZ/10; |
| 50 | unsigned int status = 0; | 50 | unsigned int status = 0; |
| 51 | 51 | ||
| 52 | do { | 52 | do { |
| 53 | status = RREG32(MGAREG_Status); | 53 | status = RREG32(MGAREG_Status); |
| 54 | count++; | 54 | } while ((status & 0x08) && time_before(jiffies, timeout)); |
| 55 | } while ((status & 0x08) && (count < 250000)); | 55 | timeout = jiffies + HZ/10; |
| 56 | count = 0; | ||
| 57 | status = 0; | 56 | status = 0; |
| 58 | do { | 57 | do { |
| 59 | status = RREG32(MGAREG_Status); | 58 | status = RREG32(MGAREG_Status); |
| 60 | count++; | 59 | } while (!(status & 0x08) && time_before(jiffies, timeout)); |
| 61 | } while (!(status & 0x08) && (count < 250000)); | ||
| 62 | } | 60 | } |
| 63 | 61 | ||
| 64 | static inline void mga_wait_busy(struct mga_device *mdev) | 62 | static inline void mga_wait_busy(struct mga_device *mdev) |
| 65 | { | 63 | { |
| 66 | unsigned int count = 0; | 64 | unsigned long timeout = jiffies + HZ; |
| 67 | unsigned int status = 0; | 65 | unsigned int status = 0; |
| 68 | do { | 66 | do { |
| 69 | status = RREG8(MGAREG_Status + 2); | 67 | status = RREG8(MGAREG_Status + 2); |
| 70 | count++; | 68 | } while ((status & 0x01) && time_before(jiffies, timeout)); |
| 71 | } while ((status & 0x01) && (count < 500000)); | ||
| 72 | } | 69 | } |
| 73 | 70 | ||
| 74 | /* | 71 | /* |
