}
 
 static void i915_stop_engines(struct drm_i915_private *dev_priv,
-                             unsigned engine_mask)
+                             unsigned int engine_mask)
 {
        struct intel_engine_cs *engine;
        enum intel_engine_id id;
        return gdrst & GRDOM_RESET_STATUS;
 }
 
-static int i915_do_reset(struct drm_i915_private *dev_priv, unsigned engine_mask)
+static int i915_do_reset(struct drm_i915_private *dev_priv,
+                        unsigned int engine_mask,
+                        unsigned int retry)
 {
        struct pci_dev *pdev = dev_priv->drm.pdev;
        int err;
        return (gdrst & GRDOM_RESET_ENABLE) == 0;
 }
 
-static int g33_do_reset(struct drm_i915_private *dev_priv, unsigned engine_mask)
+static int g33_do_reset(struct drm_i915_private *dev_priv,
+                       unsigned int engine_mask,
+                       unsigned int retry)
 {
        struct pci_dev *pdev = dev_priv->drm.pdev;
 
        return wait_for(g4x_reset_complete(pdev), 500);
 }
 
-static int g4x_do_reset(struct drm_i915_private *dev_priv, unsigned engine_mask)
+static int g4x_do_reset(struct drm_i915_private *dev_priv,
+                       unsigned int engine_mask,
+                       unsigned int retry)
 {
        struct pci_dev *pdev = dev_priv->drm.pdev;
        int ret;
 }
 
 static int ironlake_do_reset(struct drm_i915_private *dev_priv,
-                            unsigned engine_mask)
+                            unsigned int engine_mask,
+                            unsigned int retry)
 {
        int ret;
 
  * gen6_reset_engines - reset individual engines
  * @dev_priv: i915 device
  * @engine_mask: mask of intel_ring_flag() engines or ALL_ENGINES for full reset
+ * @retry: the count of of previous attempts to reset.
  *
  * This function will reset the individual engines that are set in engine_mask.
  * If you provide ALL_ENGINES as mask, full global domain reset will be issued.
  * Returns 0 on success, nonzero on error.
  */
 static int gen6_reset_engines(struct drm_i915_private *dev_priv,
-                             unsigned engine_mask)
+                             unsigned int engine_mask,
+                             unsigned int retry)
 {
        struct intel_engine_cs *engine;
        const u32 hw_engine_mask[I915_NUM_ENGINES] = {
  * Returns 0 on success, nonzero on error.
  */
 static int gen11_reset_engines(struct drm_i915_private *dev_priv,
-                              unsigned engine_mask)
+                              unsigned int engine_mask)
 {
        struct intel_engine_cs *engine;
        const u32 hw_engine_mask[I915_NUM_ENGINES] = {
 }
 
 static int gen8_reset_engines(struct drm_i915_private *dev_priv,
-                             unsigned engine_mask)
+                             unsigned int engine_mask,
+                             unsigned int retry)
 {
        struct intel_engine_cs *engine;
        unsigned int tmp;
        if (INTEL_GEN(dev_priv) >= 11)
                ret = gen11_reset_engines(dev_priv, engine_mask);
        else
-               ret = gen6_reset_engines(dev_priv, engine_mask);
+               ret = gen6_reset_engines(dev_priv, engine_mask, retry);
 
 not_ready:
        for_each_engine_masked(engine, dev_priv, engine_mask, tmp)
        return ret;
 }
 
-typedef int (*reset_func)(struct drm_i915_private *, unsigned engine_mask);
+typedef int (*reset_func)(struct drm_i915_private *,
+                         unsigned int engine_mask, unsigned int retry);
 
 static reset_func intel_get_gpu_reset(struct drm_i915_private *dev_priv)
 {
                return NULL;
 }
 
-int intel_gpu_reset(struct drm_i915_private *dev_priv, unsigned engine_mask)
+int intel_gpu_reset(struct drm_i915_private *dev_priv, unsigned int engine_mask)
 {
        reset_func reset = intel_get_gpu_reset(dev_priv);
-       int retry;
+       unsigned int retry;
        int ret;
 
        /*
 
                ret = -ENODEV;
                if (reset) {
-                       GEM_TRACE("engine_mask=%x\n", engine_mask);
-                       ret = reset(dev_priv, engine_mask);
+                       ret = reset(dev_priv, engine_mask, retry);
+                       GEM_TRACE("engine_mask=%x, ret=%d, retry=%d\n",
+                                 engine_mask, ret, retry);
                }
                if (ret != -ETIMEDOUT || engine_mask != ALL_ENGINES)
                        break;