Displaying 2 results from an estimated 2 matches for "nv_timeout".
2012 Apr 22
2
[RFC PATCH 5/5] drm/nouveau: gpu lockup recovery
...turn atomic_read(&dev_priv->gpureset_in_progress) != 0;
+}
/* nv10_gpio.c */
int nv10_gpio_init(struct drm_device *dev);
@@ -1632,12 +1651,20 @@ static inline void nv_wr08(struct drm_device *dev, unsigned reg, u8 val)
iowrite8(val, dev_priv->mmio + reg);
}
+static inline uint64_t nv_timeout(struct drm_device *dev)
+{
+ uint64_t tm = 2000000000ULL;
+ if (nouveau_gpu_reset_in_progress(dev))
+ tm /= 40; /* 50ms */
+ return tm;
+}
+
#define nv_wait(dev, reg, mask, val) \
- nouveau_wait_eq(dev, 2000000000ULL, (reg), (mask), (val))
+ nouveau_wait_eq(dev, nv_timeout(dev), (reg), (mask), (v...
2012 Apr 25
5
[PATCH v2 4/4] drm/nouveau: gpu lockup recovery
...turn atomic_read(&dev_priv->gpureset_in_progress) != 0;
+}
/* nv10_gpio.c */
int nv10_gpio_init(struct drm_device *dev);
@@ -1632,12 +1663,20 @@ static inline void nv_wr08(struct drm_device *dev, unsigned reg, u8 val)
iowrite8(val, dev_priv->mmio + reg);
}
+static inline uint64_t nv_timeout(struct drm_device *dev)
+{
+ uint64_t tm = 2000000000ULL;
+ if (nouveau_gpu_reset_in_progress(dev))
+ tm = 50000000; /* 50ms */
+ return tm;
+}
+
#define nv_wait(dev, reg, mask, val) \
- nouveau_wait_eq(dev, 2000000000ULL, (reg), (mask), (val))
+ nouveau_wait_eq(dev, nv_timeout(dev), (reg), (mask...