)]}'
{
  "log": [
    {
      "commit": "2c05114d23c4fd2256eaf5645528c19fcefdb2c8",
      "tree": "dc1f700fbacb0a7891932b13684d4a4f5a65415e",
      "parents": [
        "36d7c537c3082a492ff851fb0da40ae3d7c5565d"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jan 04 16:35:15 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 09:30:15 2012 +0000"
      },
      "message": "drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don\u0027t try to free freed pages.\n\nThe code to figure out how many pages to shrink the pool\nends up capping the \u0027count\u0027 at _manager-\u003eoptions.max_size - which is OK.\nExcept that the \u0027count\u0027 is also used when accounting for how many pages\nare recycled - which we end up with the invalid values. This fixes\nit by using a different value for the amount of pages to shrink.\n\nOn top of that we would free the cached page pool - which is nonsense\nas they are deleted from the pool - so there are no free pages in that\npool..\n\nAlso we also missed the opportunity to batch the amount of pages\nto free (similar to how ttm_page_alloc.c does it). This reintroduces\nthe code that was lost during rebasing.\n\nReviewed-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "36d7c537c3082a492ff851fb0da40ae3d7c5565d",
      "tree": "e2e5502502f5c8faba8d6752f2ee3a7154afee87",
      "parents": [
        "3000bf393302a8c786e9ebfc778050cb0d6226c4"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jan 04 16:35:14 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 09:29:43 2012 +0000"
      },
      "message": "drm/ttm/dma: Only call set_pages_array_wb when the page is not in WB pool.\n\nOtherwise we are doing redundant work. Especially since the \u0027unbind\u0027\nand \u0027unpopulate\u0027 have been merged and nouveau driver ends up calling\nit quite excessivly. On a GeForce 8600 GT with Gnome Shell (GNOME 3)\nwe end up spending about 54% CPU time in __change_page_attr_set_clr\nchecking the page flags.\n\nThe callgraph (annotated) looks as so before this patch:\n\n    53.29%  gnome-shell  [kernel.kallsyms]                   [k] static_protections\n            |\n            --- static_protections\n               |\n               |--91.80%-- __change_page_attr_set_clr\n               |          change_page_attr_set_clr\n               |          set_pages_array_wb\n               |          |\n               |          |--96.55%-- ttm_dma_unpopulate\n               |          |          nouveau_ttm_tt_unpopulate\n               |          |          ttm_tt_destroy\n               |          |          ttm_bo_cleanup_memtype_use\n               |          |          ttm_bo_release\n               |          |          kref_put\n               |          |          ttm_bo_unref\n               |          |          nouveau_gem_object_del\n               |          |          drm_gem_object_free\n               |          |          kref_put\n               |          |          drm_gem_object_unreference_unlocked\n               |          |          drm_gem_object_handle_unreference_unlocked.part.1\n               |          |          drm_gem_handle_delete\n               |          |          drm_gem_close_ioctl\n               |          |          drm_ioctl\n               |          |          do_vfs_ioctl\n               |          |          sys_ioctl\n               |          |          system_call_fastpath\n               |          |          __GI___ioctl\n               |          |\n               |           --3.45%-- ttm_dma_pages_put\n               |                     ttm_dma_page_pool_free\n               |                     ttm_dma_unpopulate\n               |                     nouveau_ttm_tt_unpopulate\n               |                     ttm_tt_destroy\n               |                     ttm_bo_cleanup_memtype_use\n               |                     ttm_bo_release\n               |                     kref_put\n               |                     ttm_bo_unref\n               |                     nouveau_gem_object_del\n               |                     drm_gem_object_free\n               |                     kref_put\n               |                     drm_gem_object_unreference_unlocked\n               |                     drm_gem_object_handle_unreference_unlocked.part.1\n               |                     drm_gem_handle_delete\n               |                     drm_gem_close_ioctl\n               |                     drm_ioctl\n               |                     do_vfs_ioctl\n               |                     sys_ioctl\n               |                     system_call_fastpath\n               |                     __GI___ioctl\n               |\n                --8.20%-- change_page_attr_set_clr\n                          set_pages_array_wb\n                          |\n                          |--93.76%-- ttm_dma_unpopulate\n                          |          nouveau_ttm_tt_unpopulate\n                          |          ttm_tt_destroy\n                          |          ttm_bo_cleanup_memtype_use\n                          |          ttm_bo_release\n                          |          kref_put\n                          |          ttm_bo_unref\n                          |          nouveau_gem_object_del\n                          |          drm_gem_object_free\n                          |          kref_put\n                          |          drm_gem_object_unreference_unlocked\n                          |          drm_gem_object_handle_unreference_unlocked.part.1\n                          |          drm_gem_handle_delete\n                          |          drm_gem_close_ioctl\n                          |          drm_ioctl\n                          |          do_vfs_ioctl\n                          |          sys_ioctl\n                          |          system_call_fastpath\n                          |          __GI___ioctl\n                          |\n                           --6.24%-- ttm_dma_pages_put\n                                     ttm_dma_page_pool_free\n                                     ttm_dma_unpopulate\n                                     nouveau_ttm_tt_unpopulate\n                                     ttm_tt_destroy\n                                     ttm_bo_cleanup_memtype_use\n                                     ttm_bo_release\n                                     kref_put\n                                     ttm_bo_unref\n                                     nouveau_gem_object_del\n                                     drm_gem_object_free\n                                     kref_put\n                                     drm_gem_object_unreference_unlocked\n                                     drm_gem_object_handle_unreference_unlocked.part.1\n                                     drm_gem_handle_delete\n                                     drm_gem_close_ioctl\n                                     drm_ioctl\n                                     do_vfs_ioctl\n                                     sys_ioctl\n                                     system_call_fastpath\n                                     __GI___ioctl\n\nand after this patch all of that disappears.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3000bf393302a8c786e9ebfc778050cb0d6226c4",
      "tree": "2d2be47822cec764e1a83d6294b0f94b6591f5d6",
      "parents": [
        "93504fce28b1a387ec01f81b26637d237dca2b36"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Thu Jan 05 22:11:07 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 09:16:38 2012 +0000"
      },
      "message": "drm/radeon/kms: sync across multiple rings when doing bo moves v3\n\nWe need to synchronize across rings when doing a bo move to make\nsure we the buffer is idle if it\u0027s in use by a different ring than\nthe ring doing the move.\n\nv2: fix fence setup for bo moves\n\nv3: add missing ring lock/unlock\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "93504fce28b1a387ec01f81b26637d237dca2b36",
      "tree": "7544b4fd960cbcbbfc17dea87aadd129eecf7b45",
      "parents": [
        "721604a15b934f0a8d1909acb8017f029128be2f"
      ],
      "author": {
        "name": "Christian König",
        "email": "deathsimple@vodafone.de",
        "time": "Thu Jan 05 22:11:06 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 09:16:09 2012 +0000"
      },
      "message": "drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)\n\nUse semaphores to sync buffers across rings in the CS\nioctl.  Add a reloc flag to allow userspace to skip\nsync for buffers.\n\nagd5f: port to latest CS ioctl changes.\n\nv2: add ring lock/unlock to make sure changes hit the ring.\n\nSigned-off-by: Christian König \u003cdeathsimple@vodafone.de\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "721604a15b934f0a8d1909acb8017f029128be2f",
      "tree": "ac1dc0f837d70616b36c9b57d22eb9678c5e68fc",
      "parents": [
        "09b4ea47d1041612b101c369969db123ac2c1511"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Thu Jan 05 22:11:05 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 09:15:42 2012 +0000"
      },
      "message": "drm/radeon: GPU virtual memory support v22\n\nVirtual address space are per drm client (opener of /dev/drm).\nClient are in charge of virtual address space, they need to\nmap bo into it by calling DRM_RADEON_GEM_VA ioctl.\n\nFirst 16M of virtual address space is reserved by the kernel.\n\nOnce using 2 level page table we should be able to have a small\nvram memory footprint for each pt (there would be one pt for all\ngart, one for all vram and then one first level for each virtual\naddress space).\n\nPlan include using the sub allocator for a common vm page table\narea and using memcpy to copy vm page table in \u0026 out. Or use\na gart object and copy things in \u0026 out using dma.\n\nv2: agd5f fixes:\n- Add vram base offset for vram pages.  The GPU physical address of a\nvram page is FB_OFFSET + page offset.  FB_OFFSET is 0 on discrete\ncards and the physical bus address of the stolen memory on\nintegrated chips.\n- VM_CONTEXT1_PROTECTION_FAULT_DEFAULT_ADDR covers all vmid\u0027s \u003e\u003d 1\n\nv3: agd5f:\n- integrate with the semaphore/multi-ring stuff\n\nv4:\n- rebase on top ttm dma \u0026 multi-ring stuff\n- userspace is now in charge of the address space\n- no more specific cs vm ioctl, instead cs ioctl has a new\n  chunk\n\nv5:\n- properly handle mem \u003d\u003d NULL case from move_notify callback\n- fix the vm cleanup path\n\nv6:\n- fix update of page table to only happen on valid mem placement\n\nv7:\n- add tlb flush for each vm context\n- add flags to define mapping property (readable, writeable, snooped)\n- make ring id implicit from ib-\u003efence-\u003ering, up to each asic callback\n  to then do ring specific scheduling if vm ib scheduling function\n\nv8:\n- add query for ib limit and kernel reserved virtual space\n- rename vm-\u003esize to max_pfn (maximum number of page)\n- update gem_va ioctl to also allow unmap operation\n- bump kernel version to allow userspace to query for vm support\n\nv9:\n- rebuild page table only when bind and incrementaly depending\n  on bo referenced by cs and that have been moved\n- allow virtual address space to grow\n- use sa allocator for vram page table\n- return invalid when querying vm limit on non cayman GPU\n- dump vm fault register on lockup\n\nv10: agd5f:\n- Move the vm schedule_ib callback to a standalone function, remove\n  the callback and use the existing ib_execute callback for VM IBs.\n\nv11:\n- rebase on top of lastest Linus\n\nv12: agd5f:\n- remove spurious backslash\n- set IB vm_id to 0 in radeon_ib_get()\n\nv13: agd5f:\n- fix handling of RADEON_CHUNK_ID_FLAGS\n\nv14:\n- fix va destruction\n- fix suspend resume\n- forbid bo to have several different va in same vm\n\nv15:\n- rebase\n\nv16:\n- cleanup left over of vm init/fini\n\nv17: agd5f:\n- cs checker\n\nv18: agd5f:\n- reworks the CS ioctl to better support multiple rings and\nVM.  Rather than adding a new chunk id for VM, just re-use the\nIB chunk id and add a new flags for VM mode.  Also define additional\ndwords for the flags chunk id to define the what ring we want to use\n(gfx, compute, uvd, etc.) and the priority.\n\nv19:\n- fix cs fini in weird case of no ib\n- semi working flush fix for ni\n- rebase on top of sa allocator changes\n\nv20: agd5f:\n- further CS ioctl cleanups from Christian\u0027s comments\n\nv21: agd5f:\n- integrate CS checker improvements\n\nv22: agd5f:\n- final cleanups for release, only allow VM CS on cayman\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "09b4ea47d1041612b101c369969db123ac2c1511",
      "tree": "177a2cf53107d2451f47cf2680ce20db8af5f623",
      "parents": [
        "53fead966a584cd2130e0c5565726dd56ccf7924"
      ],
      "author": {
        "name": "Ilija Hadzic",
        "email": "ihadzic@research.bell-labs.com",
        "time": "Fri Oct 28 17:43:28 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 14:43:02 2012 +0000"
      },
      "message": "drm: make DRM_UNLOCKED ioctls with their own mutex\n\ndrm_getclient, drm_getstats and drm_getmap (with a few minor\nadjustments) do not need global mutex, so fix that and\nmake the said ioctls DRM_UNLOCKED. Details:\n\n  drm_getclient: the only thing that should be protected here\n  is dev-\u003efilelist and that is already protected everywhere with\n  dev-\u003estruct_mutex.\n\n  drm_getstats: there is no need for any mutex here because the\n  loop runs through quasi-static (set at load time only)\n  data, and the actual count access is done with atomic_read()\n\n  drm_getmap already uses dev-\u003estruct_mutex to protect\n  dev-\u003emaplist, which also used to protect the same structure\n  everywhere else except at three places:\n  * drm_getsarea, which doesn\u0027t grab *any* mutex before\n    touching dev-\u003emaplist (so no drm_global_mutex doesn\u0027t help\n    here either; different issue for a different patch).\n    However, drivers seem to call it only at\n    initialization time so it probably doesn\u0027t matter\n  * drm_master_destroy, which is called from drm_master_put,\n    which in turn is protected with dev-\u003estruct_mutex\n    everywhere else in drm module, so we are good here too.\n  * drm_getsareactx, which releases the dev-\u003estruct_mutex\n    too early, but this patch includes the fix for that.\n\nv2: * incorporate comments received from Daniel Vetter\n    * include the (long) explanation above to make it clear what\n      we are doing (and why), also at Daniel Vetter\u0027s request\n    * tighten up mutex grab/release locations to only\n      encompass real critical sections, rather than some\n      random code around them\n\nSigned-off-by: Ilija Hadzic \u003cihadzic@research.bell-labs.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "53fead966a584cd2130e0c5565726dd56ccf7924",
      "tree": "ab3f9ed2e01e7dad18f05554b2944639a6c46686",
      "parents": [
        "d7d0a75c4486f0e493af61d769aa49b94ae4c8bd"
      ],
      "author": {
        "name": "Ilija Hadzic",
        "email": "ihadzic@research.bell-labs.com",
        "time": "Tue Oct 25 22:20:12 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 14:42:52 2012 +0000"
      },
      "message": "drm: no need to hold global mutex for static data\n\ndrm_getcap and drm_version ioctls only reads static data,\nthere is no need to protect them with drm_global_mutex,\nso make them DRM_UNLOCKED\n\nSigned-off-by: Ilija Hadzic \u003cihadzic@research.bell-labs.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d7d0a75c4486f0e493af61d769aa49b94ae4c8bd",
      "tree": "65eac3883fa3c96beee7637d283067343499729e",
      "parents": [
        "28eebb703e28bc455ba704adb1026f76649b768c"
      ],
      "author": {
        "name": "Chen Jie",
        "email": "chenj@lemote.com",
        "time": "Wed Dec 07 10:18:18 2011 +0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 14:40:49 2012 +0000"
      },
      "message": "drm/radeon/benchmark: common modes sweep ignores 640x480@32\n\nSweep common_modes array should start with index 0.\n\nSigned-off-by: Chen Jie \u003cchenj@lemote.com\u003e\nReviewed-by: Ilija Hadzic \u003cihadzic@research.bell-labs.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "28eebb703e28bc455ba704adb1026f76649b768c",
      "tree": "c6e22d33e869d42d7d441ddc44c7e4bf2008d28b",
      "parents": [
        "c1341e52802ab401be7addb55408e23307f9074b"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Tue Jan 03 09:48:38 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 10:07:10 2012 +0000"
      },
      "message": "drm/radeon/kms: disable writeback on pre-R300 asics\n\nWe often end up missing fences on older asics with\nwriteback enabled which leads to delays in the userspace\naccel code, so just disable it by default on those asics.\n\nReported-by: Helge Deller \u003cdeller@gmx.de\u003e\nReported-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c1341e52802ab401be7addb55408e23307f9074b",
      "tree": "84319dfa10da13769fd9562eda73a8e60f069088",
      "parents": [
        "69e130a6a42270f94e6ee0bce34c3480a6b9da61"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Wed Dec 21 12:13:47 2011 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 10:03:53 2012 +0000"
      },
      "message": "drm/radeon: allocate semaphore from the ib pool\n\nThis allow to share the ib pool with semaphore and avoid\nhaving more bo around.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "69e130a6a42270f94e6ee0bce34c3480a6b9da61",
      "tree": "025e3a3d94400eb3f6dd15535544d569cc57b5ad",
      "parents": [
        "1f2e124df90cfc1347fd301409570fa9b0aed2c9"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Wed Dec 21 12:13:46 2011 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 10:03:33 2012 +0000"
      },
      "message": "drm/radeon: make ib size variable\n\nThis avoid to waste ib pool size and avoid a bunch of wait for\nprevious ib to finish.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1f2e124df90cfc1347fd301409570fa9b0aed2c9",
      "tree": "f2c97c7cc83b9f07358ffc671279a8976c228ae5",
      "parents": [
        "0a7eb243db7864640134f8c57e6856f8eb3ed7c6"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Thu Jan 05 10:02:42 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 10:02:42 2012 +0000"
      },
      "message": "drm/radeon/kms: add missing ring ready check in sync tests\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0a7eb243db7864640134f8c57e6856f8eb3ed7c6",
      "tree": "93580b87b27d341801f9724d0daba75e933d9412",
      "parents": [
        "a9971157b6c550644fe19551c21f4b05f7e9475a"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "rob@ti.com",
        "time": "Tue Dec 13 20:19:36 2011 -0600"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 10:00:16 2012 +0000"
      },
      "message": "drm: add support for private planes\n\nIn cases where the scanout hw is sufficiently similar between \"overlay\"\nand traditional crtc layers, it might be convenient to allow the driver\nto create internal drm_plane helper objects used by the drm_crtc\nimplementation, rather than duplicate code between the plane and crtc.\nA private plane is not exposed to userspace.\n\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a9971157b6c550644fe19551c21f4b05f7e9475a",
      "tree": "8922994230f923f68ad1590576365b997179f25d",
      "parents": [
        "d8e70a254d8f2da141006e496a51502b79115e80"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "rob@ti.com",
        "time": "Tue Dec 13 20:19:35 2011 -0600"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 05 09:24:39 2012 +0000"
      },
      "message": "drm: disconnect plane from fb/crtc when disabled\n\nSince plane-\u003efb and plane-\u003ecrtc are set in drm_mode_setplane()\nafter update_plane(), They should be cleared after disable().\n\nSigned-off-by: Rob Clark \u003crob@ti.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d8e70a254d8f2da141006e496a51502b79115e80",
      "tree": "24e917c5070da0ad8e04899c29f2d4618a49752d",
      "parents": [
        "7a4198664d46b87025a64530f1530ab2bea54c19"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Nov 15 10:28:54 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 14:55:52 2012 -0800"
      },
      "message": "drm/i915: only set the intel_crtc DPMS mode to on if the mode set succeeded\n\nIf it failed, leave it in the \"off\" state.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "7a4198664d46b87025a64530f1530ab2bea54c19",
      "tree": "c6388ac83d02d5f4cdc396308339a3cbe3363a85",
      "parents": [
        "e6bfaf854272ec4641a9ef7b1cb1ca963031ba95"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Nov 15 10:28:53 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 14:55:47 2012 -0800"
      },
      "message": "drm/i915: don\u0027t disable a PCH DPLL that\u0027s in use\n\nIf a PCH pipe PLL is being used by transcoder C, don\u0027t disable it.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "e6bfaf854272ec4641a9ef7b1cb1ca963031ba95",
      "tree": "8900222b0f6cbe1b44c5fedba2d4457259aacfa9",
      "parents": [
        "4e0e90dcb8a7df1229c69e30abebb59b0b3c2a1f"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Dec 14 13:56:59 2011 +0100"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 10:26:31 2012 -0800"
      },
      "message": "drm/i915: don\u0027t bail out of intel_wait_ring_buffer too early\n\nIn the pre-gem days with non-existing hangcheck and gpu reset code,\nthis timeout of 3 seconds was pretty important to avoid stuck\nprocesses.\n\nBut now we have the hangcheck code in gem that goes to great length\nto ensure that the gpu is really dead before declaring it wedged.\n\nSo there\u0027s no need for this timeout anymore. Actually it\u0027s even harmful\nbecause we can bail out too early (e.g. with xscreensaver slip)\nwhen running giant batchbuffers. And our code isn\u0027t robust enough\nto properly unroll any state-changes, we pretty much rely on the gpu\nreset code cleaning up the mess (like cache tracking, fencing state,\nactive list/request tracking, ...).\n\nWith this change intel_begin_ring can only fail when the gpu is\nwedged, and it will return -EAGAIN (like wait_request in case the\ngpu reset is still outstanding).\n\nv2: Chris Wilson noted that on resume timers aren\u0027t running and hence\nwe won\u0027t ever get kicked out of this loop by the hangcheck code. Use\nan insanely large timeout instead for the HAS_GEM case to prevent\nresume bugs from totally hanging the machine.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nAcked-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "4e0e90dcb8a7df1229c69e30abebb59b0b3c2a1f",
      "tree": "8a7a8ba88526686fc71725fe54a5925c24e2687d",
      "parents": [
        "ae662d31264979e52581bd2573bf0b82812f52ab"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Dec 14 13:56:58 2011 +0100"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 10:26:07 2012 -0800"
      },
      "message": "drm/i915: kicking rings stuck on semaphores considered harmful\n\nIf our semaphore logic gets confused and we have a ring stuck waiting\nfor one, there\u0027s a decent chance it\u0027ll just execute garbage when being\nkicked. Also, kicking the ring obscures the place where the error\nfirst occured, making error_state decoding much harder.\n\nSo drop this an let gpu reset handle this mess in a clean fashion.\n\nIn contrast, kicking rings stuck on MI_WAIT is rather harmless, at\nworst there\u0027ll be a bit of screen-flickering. There\u0027s also old\nbroken userspace out there which needs this as a  work-around.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Chris Wilson \u003cchris@hchris-wilson.co.uk\u003e\nReviewed-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "ae662d31264979e52581bd2573bf0b82812f52ab",
      "tree": "678d7f4483b6fe9a78e1ece0cb8bdefe1582dcf0",
      "parents": [
        "e959b5db4aacc27bcf92889e658445326ebc4bfb"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Jan 03 09:23:29 2012 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:18 2012 -0800"
      },
      "message": "drm/i915: Add support for resetting the SO write pointers on gen7.\n\nThese registers are automatically incremented by the hardware during\ntransform feedback to track where the next streamed vertex output\nshould go.  Unlike the previous generation, which had a packet for\nsetting the corresponding registers to a defined value, gen7 only has\nMI_LOAD_REGISTER_IMM to do so.  That\u0027s a secure packet (since it loads\nan arbitrary register), so we need to do it from the kernel, and it\nneeds to be settable atomically with the batchbuffer execution so that\ntwo clients doing transform feedback don\u0027t stomp on each others\u0027\nstate.\n\nInstead of building a more complicated interface involcing setting the\nregisters to a specific value, just set them to 0 when asked and\nuserland can tweak its pointers accordingly.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nReviewed-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "e959b5db4aacc27bcf92889e658445326ebc4bfb",
      "tree": "725eaecc1fa3d42dc2a6d6f818f180c90c9c548d",
      "parents": [
        "42ff6572e5a4a7414330a4ca91f0335da67deca9"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Dec 22 14:55:01 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:16 2012 -0800"
      },
      "message": "drm/i915: Make the fallback IRQ wait not sleep.\n\nThe waits we do here are generally so short that sleeping is a bad\nidea unless we have an IRQ to wake us up.  Improves regression test\nperformance from 18 minutes to 3.5 minutes on gen7, which is now\nconsistent with the previous generation.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nTested-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nAcked-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "42ff6572e5a4a7414330a4ca91f0335da67deca9",
      "tree": "dc8937a9bd595065cd73cd51a4baab365a96813b",
      "parents": [
        "7ea29b13e5e3e1e61e612349eb0366efdb6457f3"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Dec 22 14:55:00 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:15 2012 -0800"
      },
      "message": "drm/i915: Work around gen7 BLT ring synchronization issues.\n\nPrevious to this commit, testing easily reproduced a failure where the\nseqno would apparently arrive after the IRQ associated with it, with test programs as simple as:\n\nfor (;;) {\n    glCopyPixels(0, 0, 1, 1);\n    glFinish();\n}\n\nVarious workarounds we\u0027ve seen for previous generations didn\u0027t work to\nfix this issue, so until new information comes in, replace the IRQ\nwaits on the BLT ring with polling.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nTested-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nAcked-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "7ea29b13e5e3e1e61e612349eb0366efdb6457f3",
      "tree": "c0f6d48c329863c226ddc3380165305cb3c65a1f",
      "parents": [
        "116ac8d26101c06ad80a4e1cb560db1c525397f8"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Dec 22 14:54:59 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:14 2012 -0800"
      },
      "message": "drm/i915: Do the fallback non-IRQ wait in ring throttle, too.\n\nAs a workaround for IRQ synchronization issues in the gen7 BLT ring,\nwe want to turn the two wait functions into polling loops.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nTested-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nAcked-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "116ac8d26101c06ad80a4e1cb560db1c525397f8",
      "tree": "f80c7461b6dd9b5da2307806d5f6f759c6661471",
      "parents": [
        "8ea30864229e54b01ac0e9fe88c4b733a940ec4e"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Wed Dec 21 10:31:09 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:13 2012 -0800"
      },
      "message": "drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge.\n\nThey don\u0027t fix our problems alone, but we\u0027re told to set them.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "8ea30864229e54b01ac0e9fe88c4b733a940ec4e",
      "tree": "45d7912ad57216d9e18bef23698d0d099b51cbf2",
      "parents": [
        "175bd4204e069f8bd855ca3dcf70a78db4410936"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 03 08:05:39 2012 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:12 2012 -0800"
      },
      "message": "drm/i915: add color key support v4\n\nAdd new ioctls for getting and setting the current destination color\nkey.  This allows for simple overlay display control by matching a color\nkey value in the primary plane before blending the overlay on top.\n\nv2: remove unnecessary mutex acquire/release around reg accesses\nv3: add support for full color key management\nv4: fix copy \u0026 paste bug in snb_get_colorkey\n    don\u0027t bother checking min/max values against docs as the docs are likely\n    wrong (how could we handle 10bpc surface formats?)\n\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "175bd4204e069f8bd855ca3dcf70a78db4410936",
      "tree": "4f172f5f12853ff22d86d66bb3fe3c2ec3405f81",
      "parents": [
        "b840d907fcf6d5d5ef91af4518b3dab3a5da0f75"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Dec 13 13:19:39 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:10 2012 -0800"
      },
      "message": "drm/i915: track sprite coverage and disable primary plane if possible\n\nTo save power when the sprite is full screen, we can disable the primary\nplane on the same pipe.  Track the sprite status and enable/disable the\nprimary opportunistically.\n\nv2: remove primary plane enable/disable hooks; they\u0027re identical\n\nReviewed-by: Daniel Vetter \u003cdaniel@ffwll.ch\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "b840d907fcf6d5d5ef91af4518b3dab3a5da0f75",
      "tree": "aea5477428533760383870a39e7768bd8f59567d",
      "parents": [
        "c7dffff7cc8de748edf0e9f6571cdabecb198705"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Dec 13 13:19:38 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:31:09 2012 -0800"
      },
      "message": "drm/i915: add SNB and IVB video sprite support v6\n\nThe video sprites support various video surface formats natively and can\nhandle scaling as well.  So add support for them using the new DRM core\nsprite support functions.\n\nv2: use drm specific fourcc header and defines\nv3: address Daniel\u0027s comments:\n  - don\u0027t take struct mutex around register access (only needed for\n    regs in the GT power well)\n  - don\u0027t hold struct mutex across vblank waits\n  - fix up update_plane API (pass obj instead of GTT offset)\n  - add interlaced defines for sprite regs\n  - drop unnecessary \u0027reg\u0027 variables\n  - comment double buffered reg flushing\n  Also fix w/h confusion when writing the scaling reg.\nv4: more fixes, address more comments from Daniel, and include Hai\u0027s fix\n  - prevent divide by zero in scaling calculation (Hai Lan)\n  - update to Ville\u0027s new DRM_FORMAT_* types\n  - fix sprite watermark handling (calc based on CRTC size, separate\n    from normal display wm)\n  - remove private refcounts now that the fb cleanups handles things\nv5: add linear surface support\nv6: remove color key clearing \u0026 setting from update_plane\n\nFor this version, I tested DPMS since it came up in the last review;\nDPMS off/on works ok when a video player is working under X, but for\npower saving we\u0027ll probably want to do something smarter.  I\u0027ll leave\nthat for a separate patch on top.  Likewise with the refcounting/fb\nlayer handling, which are really separate cleanups.\n\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "c7dffff7cc8de748edf0e9f6571cdabecb198705",
      "tree": "e897b2a9c0f5313ad1b8bc494e4b19abca6c5314",
      "parents": [
        "4d85529d584856d077895a2daa703224d3aee7e1"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Fri Dec 09 11:33:00 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:09:45 2012 -0800"
      },
      "message": "drm/i915: Clean up multi-threaded forcewake patch\n\nWe learned that the ECOBUS register was inside the GT power well, and\nso *did* need force wake to be read, so it gets removed from the list\nof \u0027doesn\u0027t need force wake\u0027 registers.\n\nThat means the code reading ECOBUS after forcing the mt_force_wake\nfunction to be called needs to use I915_READ_NOTRACE; it doesn\u0027t need\nto do more force wake fun as it\u0027s already done it manually.\n\nThis also adds a comment explaining why the MT forcewake testing code\nonly needs to call mt_forcewake_get/put and not disable RC6 manually\n-- the ECOBUS read will return 0 if the device is in RC6 and isn\u0027t\nusing MT forcewake, causing the test to work correctly.\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4d85529d584856d077895a2daa703224d3aee7e1",
      "tree": "0ea1a53cb4437d0cd3669792b775300d1677522d",
      "parents": [
        "6ed55ee7da15329476174bc5821dbc723f671f44"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "ben@bwidawsk.net",
        "time": "Mon Dec 12 19:34:16 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:09:45 2012 -0800"
      },
      "message": "drm/i915: drpc debugfs update for gen6\n\nMany of the old fields from Ironlake have gone away. Strip all those\nfields, and try to update to fields people care about. RC information\nisn\u0027t exactly ideal anymore. All we can guarantee when we read the\nregister is that we\u0027re not using forcewake, ie. the software isn\u0027t\nforcing the hardware to stay awake. The downside is that in doing this\nwe may wait a while and that causes an unnaturally idle state on the\nGPU.\n\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d42578\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "6ed55ee7da15329476174bc5821dbc723f671f44",
      "tree": "099328a6f915eb48f1f390820b5e135a4192cedb",
      "parents": [
        "84f9f938be4156e4baea466688bd6abae1c9e6ba"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "ben@bwidawsk.net",
        "time": "Mon Dec 12 19:21:59 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:09:45 2012 -0800"
      },
      "message": "drm/i915: Update GEN6_RP_CONTROL definitions\n\nThis matches the modern specs more accurately.\n\nThis will be used by the following patch to fix the way we display RC\nstatus.\n\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nReviewed-by: Eugeni Dodonov \u003ceugeni.dodonov@intel.com\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "84f9f938be4156e4baea466688bd6abae1c9e6ba",
      "tree": "7d722807e6f9c86db1eb74ae6b2931a3e54140e0",
      "parents": [
        "e2971bdab2b761683353da383c0fd5ac704d1cca"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "ben@bwidawsk.net",
        "time": "Mon Dec 12 19:21:58 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:09:44 2012 -0800"
      },
      "message": "drm/i915: Force sync command ordering (Gen6+)\n\nThe docs say this is required for Gen7, and since the bit was added for\nGen6, we are also setting it there pit pf paranoia. Particularly as\nChris points out, if PIPE_CONTROL counts as a 3d state packet.\n\nThis was found through doc inspection by Ken and applies to Gen6+;\n\nReported-by: Kenneth Graunke \u003ckenneth@whitecape.org\u003e\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "e2971bdab2b761683353da383c0fd5ac704d1cca",
      "tree": "e85a6591108ae7a5aa0cf0bb2bb6a1bc85b1ae5e",
      "parents": [
        "7a7e8734ac3235efafd34819b27fbdf5417e6d60"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "ben@bwidawsk.net",
        "time": "Mon Dec 12 19:21:57 2011 -0800"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Tue Jan 03 09:09:44 2012 -0800"
      },
      "message": "drm/i915: relative_constants_mode race fix\n\ndev_priv keeps track of the current addressing mode that gets set at\nexecbuffer time. Unfortunately the existing code was doing this before\nacquiring struct_mutex which leaves a race with another thread also\ndoing an execbuffer. If that wasn\u0027t bad enough, relocate_slow drops\nstruct_mutex which opens a much more likely error where another thread\ncomes in and modifies the state while relocate_slow is being slow.\n\nThe solution here is to just defer setting this state until we\nabsolutely need it, and we know we\u0027ll have struct_mutex for the\nremainder of our code path.\n\nv2: Keith noticed a bug in the original patch.\n\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "7a7e8734ac3235efafd34819b27fbdf5417e6d60",
      "tree": "8e34492eaef018bd87065bb7552de15b6a1f0fa5",
      "parents": [
        "2318fcd65c1fb1e842f860c1e3fe4dba7e55cd11",
        "93a4ed878a22b8489723bc3ab89dd401128bbc9e"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:43:28 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:45:12 2012 +0000"
      },
      "message": "Merge branch \u0027drm-radeon-testing\u0027 of ../drm-radeon-next into drm-core-next\n\nThis merges the evergreen HDMI audio support.\n\n* \u0027drm-radeon-testing\u0027 of ../drm-radeon-next:\n  drm/radeon/kms: define TMDS/LVTM HDMI enabling bits\n  drm/radeon/kms: workaround invalid AVI infoframe checksum issue\n  drm/radeon/kms: setup HDMI mode on Evergreen encoders\n  drm/radeon/kms: support for audio on Evergreen\n  drm/radeon/kms: minor HDMI audio cleanups\n  drm/radeon/kms: do not force DVI mode on DCE4 if audio is on\nridge\n\nConflicts:\n\tdrivers/gpu/drm/radeon/evergreen.c\n"
    },
    {
      "commit": "93a4ed878a22b8489723bc3ab89dd401128bbc9e",
      "tree": "ffd74a39863414c98439ed75e658a07cdcc2b3f4",
      "parents": [
        "92db7f6c860b8190571a9dc1fcbc16d003422fe8"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Sat Dec 24 12:25:36 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:40:47 2012 +0000"
      },
      "message": "drm/radeon/kms: define TMDS/LVTM HDMI enabling bits\n\nThe names has been taken from free M76 specs.\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "92db7f6c860b8190571a9dc1fcbc16d003422fe8",
      "tree": "8576bf61619850ba81eee0e0b1d020e7836c6ca5",
      "parents": [
        "f83d926aca3f1c087f43979edad1e3789498840d"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Fri Dec 23 20:32:18 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:40:10 2012 +0000"
      },
      "message": "drm/radeon/kms: workaround invalid AVI infoframe checksum issue\n\nThis change was verified to fix both issues with no video I\u0027ve\ninvestigated. I\u0027ve also checked checksum calculation with fglrx on:\nRV620, HD54xx, HD5450, HD6310, HD6320.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "f83d926aca3f1c087f43979edad1e3789498840d",
      "tree": "c03e5ab84566a38e77e1c524df0ef070dd4bc15d",
      "parents": [
        "69d2ae574b3a4b35e4970d8dec0bd598cfbe68a8"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Fri Dec 23 20:36:06 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:39:18 2012 +0000"
      },
      "message": "drm/radeon/kms: setup HDMI mode on Evergreen encoders\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "2318fcd65c1fb1e842f860c1e3fe4dba7e55cd11",
      "tree": "8f2d73ee6f8be3f49ee07881a8579fa15f9e1881",
      "parents": [
        "f9f23a77f07506a32d9dc1d925bf85c0e7507b66",
        "097354eb14fa94d31a09c64d640643f58e4a5a9a"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:34:43 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:34:43 2012 +0000"
      },
      "message": "Merge branch \u0027drm-intel-next\u0027 of git://people.freedesktop.org/~keithp/linux into drm-core-next\n\n* \u0027drm-intel-next\u0027 of git://people.freedesktop.org/~keithp/linux:\n  drm/i915: check ACTHD of all rings\n  drm/i915: DisplayPort hot remove notification to audio driver\n  drm/i915: HDMI hot remove notification to audio driver\n  drm/i915: dont trigger hotplug events on unchanged ELD\n  drm/i915: rename audio ELD registers\n  drm/i915: fix ELD writing for SandyBridge\n"
    },
    {
      "commit": "f9f23a77f07506a32d9dc1d925bf85c0e7507b66",
      "tree": "aac21c5054970d2c8f7b58539f28a6c5fc3b8bb9",
      "parents": [
        "b6195aab9ca63a4f6911365f36eb091666fcb15a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Dec 29 14:38:07 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:30:29 2012 +0000"
      },
      "message": "gma500: remove no_fb bits\n\nThis doesn\u0027t work and isn\u0027t of any use. It was inherited from the older\ndriver code and can go away. Kill it off before it becomes part of mainstream\nas we don\u0027t want to support it in future.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b6195aab9ca63a4f6911365f36eb091666fcb15a",
      "tree": "3852d3a68333948e8d20ee9c66d16eb1c4154761",
      "parents": [
        "56125db1eecf8d34d84f7925686110d90724edf0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Dec 29 14:37:03 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:30:07 2012 +0000"
      },
      "message": "gma500: Fix Cedarview support (Correct version)\n\nAnd update to the actual product naming as the press release is now out.\n\nhttp://newsroom.intel.com/docs/DOC-2553#pressmaterials\n\n- Fixes the wrong ifdef check\n- Fixes the missing crtc count declaration\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "56125db1eecf8d34d84f7925686110d90724edf0",
      "tree": "6de2a64538cb27f82e936bb8d8fa78f21b24bae8",
      "parents": [
        "863f78b5ff7f0e897f26973de882cfca04453f5d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Dec 28 15:16:07 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:29:13 2012 +0000"
      },
      "message": "gma500: Add the E6xx PCI identifier we are missing\n\nOaktrail Atom E620 has a different PCI identifier we need to cover\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "863f78b5ff7f0e897f26973de882cfca04453f5d",
      "tree": "864dbd5eb72fb7ac1865a7aa72dce3dd5f7a4c73",
      "parents": [
        "5c2a5ce689c99037771a6c110374461781a6f042",
        "d84083268bd707ebb8ed2f4fc26ebc7a0c453a83"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:25:18 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:25:26 2012 +0000"
      },
      "message": "Merge branch \u0027exynos-drm-next\u0027 of git://git.infradead.org/users/kmpark/linux-samsung into drm-core-next\n\nthese patch sets include the following features:\n- add Samsung SoC Exynos based HDMI support.\n- add pm feature for fimd driver.\n- add multi buffer plane pixel formats to drm/drm_fourcc.h.\n  multi buffer plane pixel format has seperated memory spaces for each\n  plane. for exampme, NV12M has Y plane and CbCr plane and these are in\n  non-continuous memory region. compared with NV12, NV12M\u0027s memory shape\n  is like following.\n  NV12  : ______(Y)(CbCr)_______\n  NV12M : __(Y)_ ..... _(CbCr)__\n- bug fix to vblank.\n- code clean to exynos gem framework.\n\n* \u0027exynos-drm-next\u0027 of git://git.infradead.org/users/kmpark/linux-samsung:\n  drm/exynos: added hdmi display support\n  drm/exynos: added mutex lock and code clean.\n  drm/exynos: extend vblank off delay time.\n  drm/exynos: change driver name.\n  drm/exynos: Support multi buffers\n  drm: Add multi buffer plane pixel formats\n  drm/exynos: added pm support.\n  drm/exynos: remove buffer creation of fbdev from drm framebuffer creation\n  drm/exynos: Split creation of gem object and gem handle\n  drm/exynos: Fix a fake mmap offset creation\n  drm/exynos: gem code cleanup\n"
    },
    {
      "commit": "d84083268bd707ebb8ed2f4fc26ebc7a0c453a83",
      "tree": "864dbd5eb72fb7ac1865a7aa72dce3dd5f7a4c73",
      "parents": [
        "c32b06ef7dd63a5e0b14a02c96ef308796c157cc"
      ],
      "author": {
        "name": "Seung-Woo Kim",
        "email": "sw0312.kim@samsung.com",
        "time": "Wed Dec 21 17:39:39 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm/exynos: added hdmi display support\n\nThis patch is hdmi display support for exynos drm driver.\n\nThere is already v4l2 based exynos hdmi driver in drivers/media/video/s5p-tv\nand some low level code is already in s5p-tv and even headers for register\ndefine are almost same. but in this patch, we decide not to consider separated\ncommon code with s5p-tv.\n\nExynos HDMI is composed of 5 blocks, mixer, vp, hdmi, hdmiphy and ddc.\n\n1. mixer. The piece of hardware responsible for mixing and blending multiple\ndata inputs before passing it to an output device.  The mixer is capable of\nhandling up to three image layers. One is the output of VP.  Other two are\nimages in RGB format.  The blending factor, and layers\u0027 priority are controlled\nby mixer\u0027s registers. The output is passed to HDMI.\n\n2. vp (video processor). It is used for processing of NV12/NV21 data.  An image\nstored in RAM is accessed by DMA. The output in YCbCr444 format is send to\nmixer.\n\n3. hdmi. The piece of HW responsible for generation of HDMI packets. It takes\npixel data from mixer and transforms it into data frames. The output is send\nto HDMIPHY interface.\n\n4. hdmiphy. Physical interface for HDMI. Its duties are sending HDMI packets to\nHDMI connector. Basically, it contains a PLL that produces source clock for\nmixer, vp and hdmi.\n\n5. ddc (display data channel). It is dedicated i2c channel to exchange display\ninformation as edid with display monitor.\n\nWith plane support, exynos hdmi driver fully supports two mixer layes and vp\nlayer. Also vp layer supports multi buffer plane pixel formats having non\ncontigus memory spaces.\n\nIn exynos drm driver, common drm_hdmi driver to interface with drm framework\nhas opertion pointers for mixer and hdmi. this drm_hdmi driver is registered as\nsub driver of exynos_drm. hdmi has hdmiphy and ddc i2c clients and controls\nthem. mixer controls all overlay layers in both mixer and vp.\n\nVblank interrupts for hdmi are handled by mixer internally because drm\nframework cannot support multiple irq id. And pipe number is used to check\nwhich display device irq happens.\n\nHistory\nv2: this version\n - drm plane feature support to handle overlay layers.\n - multi buffer plane pixel format support for vp layer.\n - vp layer support\n\nRFCv1: original\n - at https://lkml.org/lkml/2011/11/4/164\n\nSigned-off-by: Seung-Woo Kim \u003csw0312.kim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "c32b06ef7dd63a5e0b14a02c96ef308796c157cc",
      "tree": "4a2cecf7e9f97cc42879cd7afd8567df4582f66a",
      "parents": [
        "52c68814cd7f3592292a02b890b5b8625e9069a7"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Fri Dec 16 21:49:03 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm/exynos: added mutex lock and code clean.\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\n"
    },
    {
      "commit": "52c68814cd7f3592292a02b890b5b8625e9069a7",
      "tree": "7f83ae8d57005a7fed13519eab9364c2bd877d1a",
      "parents": [
        "0edf9936d5728669fbcf9bcfa3165744eb348e16"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Fri Dec 16 21:31:12 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm/exynos: extend vblank off delay time.\n\nsome platform could be entering to sleep after short time once lcd panel off\nbut before that vblank could be off by vblank off delay feature. at that time,\nvblank doesn\u0027t have the pair between vblank_get/put. so this path makes vblank\noff delay to have enough.\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\n"
    },
    {
      "commit": "0edf9936d5728669fbcf9bcfa3165744eb348e16",
      "tree": "dff700bf20def55b967db1498c383aa12aa5b34e",
      "parents": [
        "229d3534f5bd73fe6247a9e2a92ab0ef69fbc980"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 15 17:31:24 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm/exynos: change driver name.\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "229d3534f5bd73fe6247a9e2a92ab0ef69fbc980",
      "tree": "29adacc9826be07a9628ef7fedeb6dc85ca9db63",
      "parents": [
        "83052d4d5cd518332440bb4ee63d68bb5f744e0f"
      ],
      "author": {
        "name": "Seung-Woo Kim",
        "email": "sw0312.kim@samsung.com",
        "time": "Thu Dec 15 14:36:22 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm/exynos: Support multi buffers\n\nThese formats(NV12M, NV12MT and YUV420M) have non contiguous  multi\nplanes, so each plane uses different buffer. The exynos drm should\nsupport multi buffer for them.\n\nSigned-off-by: Seung-Woo Kim \u003csw0312.kim@samsung.com\u003e\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "83052d4d5cd518332440bb4ee63d68bb5f744e0f",
      "tree": "5ea5f7a1551938f799f136f9fd07f65869bedbeb",
      "parents": [
        "e30d4bcf79b6a3e09e435a5f3027ad3ef484226c"
      ],
      "author": {
        "name": "Seung-Woo Kim",
        "email": "sw0312.kim@samsung.com",
        "time": "Thu Dec 15 15:40:55 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:42 2011 +0900"
      },
      "message": "drm: Add multi buffer plane pixel formats\n\nMulti buffer plane pixel format has seperated memory spaces for each\nplane. For example, NV12M has Y plane and CbCr plane and these are in\nnon contiguous memory region. Compared with NV12, NV12M\u0027s memory shape\nis like following.\nNV12  : ______(Y)(CbCr)_______\nNV12M : __(Y)_ ..... _(CbCr)__\n\nSigned-off-by: Seung-Woo Kim \u003csw0312.kim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "e30d4bcf79b6a3e09e435a5f3027ad3ef484226c",
      "tree": "22900e1b9c9d25e74e5848f95ffe2921f3ea8d92",
      "parents": [
        "e1533c086fc882474fb339953082072bec8c4e71"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Mon Dec 12 16:35:20 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:41 2011 +0900"
      },
      "message": "drm/exynos: added pm support.\n\nthis patch adds pm feature for fimd driver.\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "e1533c086fc882474fb339953082072bec8c4e71",
      "tree": "2881b0bea84ab83258bbb4b2ade5e2d4c8b9da3b",
      "parents": [
        "2364839a1aca677842b0dfd7ed0449acda3c3175"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Tue Dec 13 14:46:57 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:41 2011 +0900"
      },
      "message": "drm/exynos: remove buffer creation of fbdev from drm framebuffer creation\n\nThe fbdev fb and the user fb is created from same function -\nexynos_drm_fb_create, but this function creates not only drm framebuffer\nbut buffer of fbdev. Remove it because it complicates codes and use\nexynos_drm_gem_create() than exynos_drm_buf_create() to create buffer of\nfbdev, it give better consistency of codes and more clear\nimplementation.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "2364839a1aca677842b0dfd7ed0449acda3c3175",
      "tree": "ee5dba46a9859409ea5c939d362883f7873b4255",
      "parents": [
        "2d91cf17b58b4d8228190103bef507bc73094bef"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Tue Dec 13 14:39:13 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:41 2011 +0900"
      },
      "message": "drm/exynos: Split creation of gem object and gem handle\n\nexynos_drm_gem_create function created gem object with gem handle but it\ncan be called externally without gem handle creation through this patch.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "2d91cf17b58b4d8228190103bef507bc73094bef",
      "tree": "b11c4c2d3440331adc40fdd3b1b6d621788736bb",
      "parents": [
        "ee5e770ef4eedf3abb12d05703d6a722b0e40779"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Tue Dec 13 14:32:24 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:41 2011 +0900"
      },
      "message": "drm/exynos: Fix a fake mmap offset creation\n\nMake a fake mmap offset only when it needs.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "ee5e770ef4eedf3abb12d05703d6a722b0e40779",
      "tree": "abe6329a6a53eb9915f000bd6e032921365535c7",
      "parents": [
        "5c2a5ce689c99037771a6c110374461781a6f042"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Tue Dec 13 14:20:23 2011 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Dec 29 11:21:41 2011 +0900"
      },
      "message": "drm/exynos: gem code cleanup\n\nThis cleans codes of exynos gem - indents and order function and so on.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "5c2a5ce689c99037771a6c110374461781a6f042",
      "tree": "e3c4e2c84f97d706f7e2c0901622c6c72f7f06c8",
      "parents": [
        "5c72765ed0aa5f70f53d8dfd6f927ef7619dd698"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 19:09:01 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 19:09:01 2011 +0000"
      },
      "message": "drm: add missing exports for i810 driver.\n\nBrown paper bag of danvet.\n\nAcked-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5c72765ed0aa5f70f53d8dfd6f927ef7619dd698",
      "tree": "8a0a2fa5578a61e4a25acb0b0d7ca8722bdb6319",
      "parents": [
        "5d56fe5fd794a98c4f446f8665fd06b82e93ff64",
        "40c34d042dc2f8954d5f619f6348a8659a4b416f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 19:05:01 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 19:05:01 2011 +0000"
      },
      "message": "Merge branch \u0027for-airlied\u0027 of git://people.freedesktop.org/~danvet/drm into drm-core-next\n\n* \u0027for-airlied\u0027 of git://people.freedesktop.org/~danvet/drm:\n  drm/i810: don\u0027t acces hw regs in lastclose\n  drm/i810: cleanup reclaim_buffers\n  drm: kill drm_sman\n  drm/sis: use drm_mm instead of drm_sman\n  drm/via: use drm_mm instead of drm_sman\n  drm/sman: kill user_hash_tab\n  drm/sis: track user-\u003ememblock mapping with idr\n  drm/via: track user-\u003ememblock mapping with idr\n  drm/sman: rip out owner tracking\n  drm/sman: kill owner tracking interface functions\n  drm/via: track obj-\u003edrm_fd relations in the driver\n  drm/sis: track obj-\u003edrm_fd relations in the driver\n"
    },
    {
      "commit": "40c34d042dc2f8954d5f619f6348a8659a4b416f",
      "tree": "c488dd68c7b146adc0e1de4f870208b9427ad42f",
      "parents": [
        "87499ffdcb1c70f66988cd8febc4ead0ba2f9118"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Sun Oct 30 12:44:56 2011 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 19:54:58 2011 +0100"
      },
      "message": "drm/i810: don\u0027t acces hw regs in lastclose\n\ni810 uses a userspace provided mmio map using the drm core map\ninfrastructure. By the time we reach lastclose, this is all gone\nand our mmio_map pointer points at freed memory. Depending upon\nluck that still works, most often it just oopses.\n\nAside: drm maps aren\u0027t refcounted, so userspace can essentially oops\nthe kernel any time it wants to. Who cares.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "87499ffdcb1c70f66988cd8febc4ead0ba2f9118",
      "tree": "f4b3e1400ceafccf3b742c796a983882703a8dba",
      "parents": [
        "7a6e0daaf4058d1b7dd515bc470ec904454a798c"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 23:51:24 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 19:54:43 2011 +0100"
      },
      "message": "drm/i810: cleanup reclaim_buffers\n\nMy dear old i815 always hits the deadlocked on reclaim_buffers\nwarning. Switch over to the idlelock duct-tape on hope that\nworks better. I\u0027ve fired up my i815 and now closing glxgears doesn\u0027t\ntake 5 seconds anymore. \\o/\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "5d56fe5fd794a98c4f446f8665fd06b82e93ff64",
      "tree": "5d4740d80ecb2e67cf9714d2cc59fbc8405d12ac",
      "parents": [
        "4cf73129cbe001b41be2f8b56f763fbf3acaa4ce",
        "f7b24c42da1a7bbb98145d27aa716d8af3cae2a6"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 11:02:06 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 22 11:02:06 2011 +0000"
      },
      "message": "Merge branch \u0027drm-nouveau-next\u0027 of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-core-next\n\n* \u0027drm-nouveau-next\u0027 of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (102 commits)\n  drm/nouveau/ttm: fix crash as a result of a recent ttm change\n  drm/nouveau: Fix notifier blocks over the 4GB mark.\n  drm/nouveau: Fix pushbufs over the 4GB mark.\n  drm/nvc0/pm: initial engine reclocking\n  drm/nouveau: move hpd enable/disable to common code\n  drm/nv40/disp: implement support for hotplug irq\n  drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues\n  drm/nouveau: just pass gpio line to pwm_*, not entire gpio struct\n  drm/nouveau/hwsq: remove some magic, give proper opcode names\n  drm/nv50/pm: introduce hwsq-based memory reclocking\n  drm/nv04/disp: handle dual-link spwg panels without needing quirks\n  drm/nouveau/dp: remove broken display depth function, use the improved one\n  drm/nouveau/mxm: implement ROM shadow method\n  drm/nouveau/mxm: implement _DSM shadow method\n  drm/nouveau/mxm: implement wmi shadow method\n  drm/nouveau/mxm: initial implementation of dcb sanitisation\n  drm/nouveau/disp: parse connector info directly in nouveau_connector.c\n  drm/nouveau/i2c: handle bit-banging ourselves\n  drm/nouveau/i2c: fix debug message\n  drm/nouveau/i2c: tidy up bit-bang helpers, also fixing nv50 setsda bug\n  ...\n"
    },
    {
      "commit": "f7b24c42da1a7bbb98145d27aa716d8af3cae2a6",
      "tree": "78bf7271c755818a83faf713655a69f611cd23df",
      "parents": [
        "b2e0d195d29326fce6aef8f2f789028bf21d743f"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Dec 22 15:20:21 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Dec 22 15:23:25 2011 +1000"
      },
      "message": "drm/nouveau/ttm: fix crash as a result of a recent ttm change\n\n\"drm/ttm: callback move_notify any time bo placement change v4\" failed to\navoid a NULL pointer dereference in nouveau caused by move_notify being\nexpected to handle that case now.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "7a6e0daaf4058d1b7dd515bc470ec904454a798c",
      "tree": "4646ba40836b290dafd47055d6ed485fd6c7bdc7",
      "parents": [
        "be2fb9da32cb88a1311350de3d1db8f9e461ae9f"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 23:19:27 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:23 2011 +0100"
      },
      "message": "drm: kill drm_sman\n\nNo longer used.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "be2fb9da32cb88a1311350de3d1db8f9e461ae9f",
      "tree": "a261a7a230e7055ed41e5037b1cb1ac3ca9dd908",
      "parents": [
        "977b4f6edd7a960dd80c1a614a7644068f866c5b"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Oct 26 22:22:59 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:23 2011 +0100"
      },
      "message": "drm/sis: use drm_mm instead of drm_sman\n\nv2: Smash compile fix from Tormod Volden \u003cdebian.tormod@gmail.com\u003e for\nCONFIG_FB_SIS on top of this.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "977b4f6edd7a960dd80c1a614a7644068f866c5b",
      "tree": "fd88f3a302ccfd38f521548db97b36135c96d602",
      "parents": [
        "94e895321bade1bafbcb2af1ef1e79b01e018012"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Oct 26 22:21:13 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:22 2011 +0100"
      },
      "message": "drm/via: use drm_mm instead of drm_sman\n\nTo make the transition in a piece-wise and bisectable way possible,\nI\u0027ve hijacked the -\u003eowner_list from drm_sman. While transitioning, the\nlist_add was done by the driver, while the list_del was still done by\nthe dying sman code.\n\nNow that we are in full control of -\u003eowner_list, do the list_del\nourselves.\n\nv2: Better explain the list_del trickery as suggested by Chris Wilson.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "94e895321bade1bafbcb2af1ef1e79b01e018012",
      "tree": "8e725dcbd475037225e352d5e388f9b3ed8d71e3",
      "parents": [
        "6de8a748881f1cd9d795454da2b6db616d5ca3d7"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 22:33:37 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:22 2011 +0100"
      },
      "message": "drm/sman: kill user_hash_tab\n\nNo longer used.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "6de8a748881f1cd9d795454da2b6db616d5ca3d7",
      "tree": "55bedac6fab93c90461167039024eafdab72395f",
      "parents": [
        "77ee8f3825054f23b17e9c8f728f061defd86cdc"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 18:00:41 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:21 2011 +0100"
      },
      "message": "drm/sis: track user-\u003ememblock mapping with idr\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "77ee8f3825054f23b17e9c8f728f061defd86cdc",
      "tree": "b4e9e7a68d77ae400adc06a3bf935b23666e9046",
      "parents": [
        "763240deb423c477b4d46c23e0b582099d4b8753"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 17:55:31 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:20 2011 +0100"
      },
      "message": "drm/via: track user-\u003ememblock mapping with idr\n\nMassive indirection through a hashtable for a simple key-\u003epointer\nlook-up actually just adds bloat.\n\nv2: Drop the misleading comment noted by Chris Wilson.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "763240deb423c477b4d46c23e0b582099d4b8753",
      "tree": "724f804e38eb00a23f6d1e3ca4b50ec89d1e9208",
      "parents": [
        "aa38e2e01521f88e9b0230c0236d2bd89d0af0ed"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Oct 26 22:28:07 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:20 2011 +0100"
      },
      "message": "drm/sman: rip out owner tracking\n\nIn contrast to kms drivers, sis/via _always_ associated a buffer with\na drm fd. So by the time we reach lastclose, all open drm fds are gone\nand with them their associated objects.\n\nSo when sis/via call drm_sman_cleanup in their lastclose funcs, that\nwill free 0 objects.\n\nThe owner tracking now serves no purpose at all, hence rip it ou. We\ncan\u0027t kill the corresponding fields in struct drm_memblock_item yet\nbecause we hijack these in the new driver private owner tracking. But\nnow that drm_sman.c doesn\u0027t touch -\u003eowner_list anymore, we need to\nkill the list_move hack and properly add the item to the file_priv\nlist.\n\nAlso leave the list_del(\u0026obj-\u003eowner_list) in drm_sman_free for the\nmoment, it will move to the drivers when sman disappears completely.\n\nv2: Remove the redundant INIT_LIST_HEAD as noted by Chris Wilson\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "aa38e2e01521f88e9b0230c0236d2bd89d0af0ed",
      "tree": "13f5b18608289b06ab053524c130f439c0ac81ca",
      "parents": [
        "c828e20456301b0f5192a1f75e8bf8a6afd15551"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 16:39:59 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:19 2011 +0100"
      },
      "message": "drm/sman: kill owner tracking interface functions\n\nThese are now unused.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "c828e20456301b0f5192a1f75e8bf8a6afd15551",
      "tree": "ac305d3618dafc1f8c3d9f18011d91badee9aabe",
      "parents": [
        "fdc0b8a63c1124bb025a2846d41531a123845740"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 16:32:45 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:19 2011 +0100"
      },
      "message": "drm/via: track obj-\u003edrm_fd relations in the driver\n\nExactly like the previous patch for sis.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "fdc0b8a63c1124bb025a2846d41531a123845740",
      "tree": "3913d201022d789970b6d07355864fece7455ff3",
      "parents": [
        "4cf73129cbe001b41be2f8b56f763fbf3acaa4ce"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 25 16:32:34 2011 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Dec 22 00:33:15 2011 +0100"
      },
      "message": "drm/sis: track obj-\u003edrm_fd relations in the driver\n\nBy attach a driver private struct to each open drm fd.\n\nBecause we steal the owner_list from drm_sman until things settle,\nuse list_move instead of list_add.\n\nThis requires to export a drm_sman function temporarily before\ndrm_sman will die for real completely.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "4cf73129cbe001b41be2f8b56f763fbf3acaa4ce",
      "tree": "2cdde82f48800ae1746775bab7e4f3c5f1fc3b88",
      "parents": [
        "3e54f5b72b44a5b905dc56442b147b0ee0475a1d",
        "6abff3c78051e40130a1c653f874fb12b9d40254"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Dec 21 09:50:56 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Dec 21 09:50:56 2011 +0000"
      },
      "message": "Merge remote-tracking branch \u0027pfdo/drm-fixes\u0027 into drm-core-next\n\n-next reported a messy merge, so I\u0027ve merged my upstream pull into\nmy -next tree.\n\nConflicts:\n\tdrivers/gpu/drm/vmwgfx/vmwgfx_kms.c\n"
    },
    {
      "commit": "b2e0d195d29326fce6aef8f2f789028bf21d743f",
      "tree": "9da0899b7f2896f6030a4192fea2b41fb2ce6f53",
      "parents": [
        "4e03b4af6dd3cff445fc0455805b43b101647bfc"
      ],
      "author": {
        "name": "Francisco Jerez",
        "email": "currojerez@riseup.net",
        "time": "Sat Nov 19 17:22:37 2011 +0100"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:47 2011 +1000"
      },
      "message": "drm/nouveau: Fix notifier blocks over the 4GB mark.\n\nSigned-off-by: Francisco Jerez \u003ccurrojerez@riseup.net\u003e\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "4e03b4af6dd3cff445fc0455805b43b101647bfc",
      "tree": "8ef57180b317b6a37b13031dd1151d455a49c99e",
      "parents": [
        "045da4e55581d9b4de135bbdbdd1b7fa98dc18a9"
      ],
      "author": {
        "name": "Francisco Jerez",
        "email": "currojerez@riseup.net",
        "time": "Sat Nov 19 11:57:52 2011 +0100"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:46 2011 +1000"
      },
      "message": "drm/nouveau: Fix pushbufs over the 4GB mark.\n\nSigned-off-by: Francisco Jerez \u003ccurrojerez@riseup.net\u003e\nTested-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "045da4e55581d9b4de135bbdbdd1b7fa98dc18a9",
      "tree": "5f2907413a0a4e37ff8cf71fbcb7c51c8874f018",
      "parents": [
        "52c4d767437b40b0cbc02d6a4480abb45ace64bb"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Oct 29 00:22:49 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:46 2011 +1000"
      },
      "message": "drm/nvc0/pm: initial engine reclocking\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "52c4d767437b40b0cbc02d6a4480abb45ace64bb",
      "tree": "3def763a06171e5eb2acc3c13269f662093c1d2c",
      "parents": [
        "47e5d5cb83d4b41168f4afa1ca32843d4a126cc8"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Nov 24 12:59:44 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:46 2011 +1000"
      },
      "message": "drm/nouveau: move hpd enable/disable to common code\n\nNo idea why I didn\u0027t do this initially... NVD9 HPD is now enabled.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "47e5d5cb83d4b41168f4afa1ca32843d4a126cc8",
      "tree": "4081ca722b80a39dffc0b64b4e23fc1abd6181a3",
      "parents": [
        "a0b25635515ef5049f93b032a1e37f18b16e0f6f"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Tue Nov 22 13:49:22 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:45 2011 +1000"
      },
      "message": "drm/nv40/disp: implement support for hotplug irq\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "a0b25635515ef5049f93b032a1e37f18b16e0f6f",
      "tree": "34c25948a2fd7b8eadf46418d767d43c9a64c06b",
      "parents": [
        "675aac033e089833e763ea4fbabae66883d10574"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Nov 21 16:41:48 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:45 2011 +1000"
      },
      "message": "drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues\n\n- moves out of nouveau_bios.c and demagics the logical state definitions\n- simplifies chipset-specific driver interface\n- makes most of gpio irq handling common, will use for nv4x hpd later\n- api extended to allow both direct gpio access, and access using the\n  logical function states\n- api extended to allow for future use of gpio extender chips\n- pre-nv50 was handled very badly, the main issue being that all GPIOs\n  were being treated as output-only.\n- fixes nvd0 so gpio changes actually stick, magic reg needs bashing\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "675aac033e089833e763ea4fbabae66883d10574",
      "tree": "69e16cb4743d72b36d54bcffa57bf06b9eb449cc",
      "parents": [
        "c8b9641a9146b13d34824f99c3d22c8c0c3a06bd"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Nov 21 21:28:28 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:44 2011 +1000"
      },
      "message": "drm/nouveau: just pass gpio line to pwm_*, not entire gpio struct\n\nWe don\u0027t need more than the line id to determine the PWM controller, and\nthe GPIO interfaces are about to change somewhat.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "c8b9641a9146b13d34824f99c3d22c8c0c3a06bd",
      "tree": "3b4280f3757ab9f9e82a4feaaec0336b38040a03",
      "parents": [
        "eeb7a50bddb281d7beecb0ad73c9f1233e9932c2"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Nov 09 20:22:25 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:44 2011 +1000"
      },
      "message": "drm/nouveau/hwsq: remove some magic, give proper opcode names\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "eeb7a50bddb281d7beecb0ad73c9f1233e9932c2",
      "tree": "64e74c8fd82a07cc58c56cd3fe7ea492048cbbcf",
      "parents": [
        "abbd3f8e3bea4b2b0490260e67357067a2dc2039"
      ],
      "author": {
        "name": "Martin Peres",
        "email": "martin.peres@ensi-bourges.fr",
        "time": "Mon Nov 07 23:38:50 2011 +0100"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:44 2011 +1000"
      },
      "message": "drm/nv50/pm: introduce hwsq-based memory reclocking\n\nMore work needs to be done on supporting the different memory types.\n\nv2 (Ben Skeggs):\n- fixed up conflicts from not having pausing patch first\n- restructured code somewhat to fit with how all the other code works\n- fixed bug where incorrect mpll_ctrl could get set sometimes\n- removed stuff that\u0027s cargo-culted from the binary driver\n- merged nv92+ display disable into hwsq\n- fixed incorrect opcode 0x5f magic at end of ucode\n\nSigned-off-by: Martin Peres \u003cmartin.peres@ensi-bourges.fr\u003e\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "abbd3f8e3bea4b2b0490260e67357067a2dc2039",
      "tree": "09674782d6f7444e0b9ad0091eb7101649aaa7d6",
      "parents": [
        "d4c2c99bdc8385a0e51ce4ef2df124d14b6b9c9d"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Fri Nov 18 11:55:43 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:43 2011 +1000"
      },
      "message": "drm/nv04/disp: handle dual-link spwg panels without needing quirks\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "d4c2c99bdc8385a0e51ce4ef2df124d14b6b9c9d",
      "tree": "43b5f136b139ce5b310cfbbd8060ade68bc0ca95",
      "parents": [
        "c37e99050c84c40441e614bd41474e12b6cc2079"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Tue Nov 15 14:31:13 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:43 2011 +1000"
      },
      "message": "drm/nouveau/dp: remove broken display depth function, use the improved one\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "c37e99050c84c40441e614bd41474e12b6cc2079",
      "tree": "821a8b022ca2e12f06af4cd5994da9bc53ae5968",
      "parents": [
        "3952315b9d20fb04d43d184f9c1475327811c5aa"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Nov 07 16:16:24 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:43 2011 +1000"
      },
      "message": "drm/nouveau/mxm: implement ROM shadow method\n\nUntested, -ENOHW.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "3952315b9d20fb04d43d184f9c1475327811c5aa",
      "tree": "fabff1baedd0a2a3daf2e8953d27cdef666ced37",
      "parents": [
        "93d9206d08dd18e3aaeed90a3e076b8c323fdd72"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Nov 07 13:36:08 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:42 2011 +1000"
      },
      "message": "drm/nouveau/mxm: implement _DSM shadow method\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "93d9206d08dd18e3aaeed90a3e076b8c323fdd72",
      "tree": "37ad68e542eefa4bf9a0487ca936db8f51f09521",
      "parents": [
        "b4c26818aeb4159dd537eff6453ae5ebf7a69723"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Nov 07 12:54:20 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:42 2011 +1000"
      },
      "message": "drm/nouveau/mxm: implement wmi shadow method\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "b4c26818aeb4159dd537eff6453ae5ebf7a69723",
      "tree": "c88d961c30eb46da840781f5c1173c4cdcf6b8f3",
      "parents": [
        "befb51e9c97e783c86a1da27bdda3a638d2f02c7"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Oct 12 16:36:42 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:41 2011 +1000"
      },
      "message": "drm/nouveau/mxm: initial implementation of dcb sanitisation\n\nThe DCB table provided by the VBIOS on most MXM chips has a number of\nentries which either need to be disabled, or modified according to the\nMXM-SIS Output Device Descriptors.\n\nThe x86 vbios code usually takes care of this for us, however, with the\nlarge number of laptops now with switchable graphics or optimus, a lot\nof the time nouveau is responsible for POSTing the card instead - leaving\nsome fun situations like, plugging in a monitor and having nouveau decide\n3 connectors actually just got plugged in..\n\nNo MXM-SIS fetching methods implemented yet.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "befb51e9c97e783c86a1da27bdda3a638d2f02c7",
      "tree": "320f1a7a6d730decc566542e49e17c1a680956c4",
      "parents": [
        "f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Fri Nov 18 10:23:59 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:41 2011 +1000"
      },
      "message": "drm/nouveau/disp: parse connector info directly in nouveau_connector.c\n\nAnother case where we parsed vbios data to some structs, then again use\nthat info once to construct another set of data.  Skip the intermediate\nstep.\n\nThis is also slightly improved in that we can now use DCB 3.x connector\ntable info, which will allow NV4x to gain hotplug support, and to make\nquirks for SPWG LVDS panels unnecessary.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d",
      "tree": "113aab2ad223825d67f79d0e19c6cb96522db098",
      "parents": [
        "9e3b6b99075a01ce47379eee74365aece14242f3"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 18:09:12 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:41 2011 +1000"
      },
      "message": "drm/nouveau/i2c: handle bit-banging ourselves\n\ni2c-algo-bit doesn\u0027t actually work very well on one card I have access to\n(NVS 300), random single-bit errors occur most of the time - what we\u0027re\ndoing now is closer to what xf86i2c.c does.\n\nThe original plan was to figure out why i2c-algo-bit fails on the NVS 300,\nand fix it.  However, while investigating I discovered i2c-algo-bit calls\ncond_resched(), which makes it a bad idea for us to be using as we execute\nVBIOS scripts from a tasklet, and there may very well be i2c transfers as\na result.\n\nSo, since I already wrote this code in userspace to track down the NVS 300\nbug, and it\u0027s not really much code - lets use it.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "9e3b6b99075a01ce47379eee74365aece14242f3",
      "tree": "b6f5253ed96d089d9bad54601cc2a08cceeafd9c",
      "parents": [
        "2bdb06e3cff066c546fb41152bc582a5ec73e899"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Tue Nov 22 22:36:18 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:40 2011 +1000"
      },
      "message": "drm/nouveau/i2c: fix debug message\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "2bdb06e3cff066c546fb41152bc582a5ec73e899",
      "tree": "919e599c07672b170f1a1b6c3ab9d13294974729",
      "parents": [
        "486a45c2a6c19b159602d044ab601a92cd81f524"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Nov 17 13:56:14 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:40 2011 +1000"
      },
      "message": "drm/nouveau/i2c: tidy up bit-bang helpers, also fixing nv50 setsda bug\n\nWas using nv_mask, which is bad.  Reading the reg senses the current line\nstates, which aren\u0027t necessarily the states we\u0027re trying to drive the\nlines to.\n\nFixed to store SCL driver state just as we already do for SDA.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "486a45c2a6c19b159602d044ab601a92cd81f524",
      "tree": "350a368208768873667cd1a659a6d264a76f7c91",
      "parents": [
        "6b5a81a2e783f26a69fc262b3c393f0b391c8613"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Fri Nov 11 10:22:19 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:40 2011 +1000"
      },
      "message": "drm/nouveau/i2c: do parsing of i2c-related vbios info in nouveau_i2c.c\n\nNot much point parsing the vbios data into a struct which is only used once\nto parse the data into another struct, go directly from vbios to\nnouveau_i2c_chan.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "6b5a81a2e783f26a69fc262b3c393f0b391c8613",
      "tree": "2989d40f2877c108a7f96f610c420df86674317a",
      "parents": [
        "0f8067c7054d22f240fca376e01430eecdc112df"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Nov 10 15:42:55 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:39 2011 +1000"
      },
      "message": "drm/nouveau/bios: start refactoring dcb routines\n\nThis primary reason for this was mostly to avoid duplication of some of\nthis stuff by the MXM-SIS parser.  However, some other cleanups will also\nfollow this as a result.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "0f8067c7054d22f240fca376e01430eecdc112df",
      "tree": "4528d4c1c87ffb207decfb3ad44493c32e55c876",
      "parents": [
        "f9f9f536312d4c3ca39502ccf6a3af60cfe38ff4"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Thu Nov 10 14:49:19 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:39 2011 +1000"
      },
      "message": "drm/nouveau/bios: fold fixup_legacy_i2c\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "f9f9f536312d4c3ca39502ccf6a3af60cfe38ff4",
      "tree": "8dc47e17532e708f9bcea5bf307ce83f585ebe72",
      "parents": [
        "816af2f2d6bf3191988ecaf2340452ebc46025fc"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Oct 12 16:48:48 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:39 2011 +1000"
      },
      "message": "drm/nouveau/bios: pass drm_device to ROMPTR, rather than nvbios\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "816af2f2d6bf3191988ecaf2340452ebc46025fc",
      "tree": "433aa9852490669816cfa318fc7257d2658ed14f",
      "parents": [
        "a63a97eb6684b280a11161c28ed5f4bbb14a5ffa"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Nov 16 15:48:48 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:38 2011 +1000"
      },
      "message": "drm/nvd0/disp: use single, shared, sync bo for all evo channels\n\nThis simplifies some things, and hopefully won\u0027t come back to bite me.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "a63a97eb6684b280a11161c28ed5f4bbb14a5ffa",
      "tree": "e5c25e21f331cf232c6a8316abc8de6c615ff236",
      "parents": [
        "84e052e626d88c04c03f79dd95708e556d018d97"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Nov 16 15:22:34 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:38 2011 +1000"
      },
      "message": "drm/nvd0/disp: rename sync channel to flip channel\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "84e052e626d88c04c03f79dd95708e556d018d97",
      "tree": "f9ae0deec3e29dabd6ff98350dda0b466f52c477",
      "parents": [
        "8a46438a6a7492296c5dbfcc8e4a5106ab37bca8"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sun Nov 13 03:43:30 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:37 2011 +1000"
      },
      "message": "drm/nvd0/disp: handle yet another interrupt\n\nSpotted while messing with overlay channels (probably as a result of\nsending a similar \"disable\" sequence as we do for the flip channels).\n\nThe value in 0x61008c was 0x20, which one would reasonably guess is\n\"bit 5 \u003d\u003d something to report about evo channel 5\" - but who knows.\n\nSpotted the binary driver getting this too, and it appears to not do\nanything exciting as a result.  So, handle it the same way and avoid\nan IRQ storm.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "8a46438a6a7492296c5dbfcc8e4a5106ab37bca8",
      "tree": "7eeea0d58375f973effc4d58937490955312765f",
      "parents": [
        "3376ee374d2318d311bd3aa7b9bb0186f64ccca5"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Nov 12 23:52:07 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:37 2011 +1000"
      },
      "message": "drm/nvd0/disp: initialise overlay channels\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "3376ee374d2318d311bd3aa7b9bb0186f64ccca5",
      "tree": "ab0f1710880207c0788aeade81895dd861dea630",
      "parents": [
        "4acd42939867df4596ae3b433ec1f80e0c461038"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Nov 12 14:28:12 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:37 2011 +1000"
      },
      "message": "drm/nvd0/disp: add support for page flipping\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "4acd42939867df4596ae3b433ec1f80e0c461038",
      "tree": "1e171839c671506f12e1a70a5126c596cfc7d7ad",
      "parents": [
        "2eac77b793196b97a35f9c5579411eb0aa085047"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Nov 12 12:57:54 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:36 2011 +1000"
      },
      "message": "drm/nvd0/disp: make it clearer that the cursor regs are pio evo channels\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "2eac77b793196b97a35f9c5579411eb0aa085047",
      "tree": "a77bcd780c1e288fc42b7f9c64115ae17e9beb85",
      "parents": [
        "bdb8c212bec7410dadcf7c406d43f5b9219f0e56"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Nov 12 12:53:36 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:36 2011 +1000"
      },
      "message": "drm/nvd0/disp: have evo names now, use them\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "bdb8c212bec7410dadcf7c406d43f5b9219f0e56",
      "tree": "dbd78c58b17b09d95a990b0acf2e3a8e4c7f5e35",
      "parents": [
        "9285462273cbccb27187d5308ed95f94a9ceb1de"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Sat Nov 12 01:30:24 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:36 2011 +1000"
      },
      "message": "drm/nvd0/disp: init display sync channels\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "9285462273cbccb27187d5308ed95f94a9ceb1de",
      "tree": "6e0387a457a46141dcd65183c679dfa3b38665fb",
      "parents": [
        "2d1d898b4684ab86fb27ece7d69e4e145a7be9d2"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Fri Nov 11 23:49:06 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Wed Dec 21 19:01:35 2011 +1000"
      },
      "message": "drm/nvd0/disp: scaler updates, overscan compensation etc\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    }
  ],
  "next": "2d1d898b4684ab86fb27ece7d69e4e145a7be9d2"
}
