)]}'
{
  "commit": "d98c52cf4fa2bb7116a89f1132fc773b1cfa6436",
  "tree": "94e588b0ef5dcdbc41748fc37a49de31b4f8641d",
  "parents": [
    "7f1847ebf48b2e5753691cc9e2a404c260383933"
  ],
  "author": {
    "name": "Chris Wilson",
    "email": "chris@chris-wilson.co.uk",
    "time": "Wed Apr 13 17:35:05 2016 +0100"
  },
  "committer": {
    "name": "Chris Wilson",
    "email": "chris@chris-wilson.co.uk",
    "time": "Thu Apr 14 10:45:40 2016 +0100"
  },
  "message": "drm/i915: Tighten reset_counter for reset status\n\nIn the reset_counter, we use two bits to track a GPU hang and reset. The\nlow bit is a \"reset-in-progress\" flag that we set to signal when we need\nto break waiters in order for the recovery task to grab the mutex. As\nsoon as the recovery task has the mutex, we can clear that flag (which\nwe do by incrementing the reset_counter thereby incrementing the gobal\nreset epoch). By clearing that flag when the recovery task holds the\nstruct_mutex, we can forgo a second flag that simply tells GEM to ignore\nthe \"reset-in-progress\" flag.\n\nThe second flag we store in the reset_counter is whether the\nreset failed and we consider the GPU terminally wedged. Whilst this flag\nis set, all access to the GPU (at least through GEM rather than direct mmio\naccess) is verboten.\n\nPS: Fun is in store, as in the future we want to move from a global\nreset epoch to a per-engine reset engine with request recovery.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nLink: http://patchwork.freedesktop.org/patch/msgid/1460565315-7748-6-git-send-email-chris@chris-wilson.co.uk\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "015e55cc14903c530c4709e308e24fab474c0086",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_debugfs.c",
      "new_id": "46cc03b60183252d4927b4196b406ef0d402a5d1",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_debugfs.c"
    },
    {
      "type": "modify",
      "old_id": "1dca3442c5455e9881496e72008192bf96622173",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_drv.c",
      "new_id": "633d0ddace6ad13d094581bfcd30dafd9008404a",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_drv.c"
    },
    {
      "type": "modify",
      "old_id": "a2fb81628439d1dd40dec6455c1c78e1e0fd840a",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_drv.h",
      "new_id": "69fb1853d5c33779141bf93b61014bbb3e3ed99d",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_drv.h"
    },
    {
      "type": "modify",
      "old_id": "7c46089a15db71c7c2358baf23e980617bee15d2",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_gem.c",
      "new_id": "defb445f21285c8ec9769fb99e255d391270ff1a",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_gem.c"
    },
    {
      "type": "modify",
      "old_id": "c2269c103e3010a1501d55bd96b3f3f421e34ab8",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_irq.c",
      "new_id": "be78f5229114adc6c140ec771611055b454440af",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_irq.c"
    }
  ]
}
