)]}'
{
  "log": [
    {
      "commit": "d00adcc8ae9e22eca9d8af5f66c59ad9a74c90ec",
      "tree": "e269c97f60fc4c0bc545b486bad6f53178c041bb",
      "parents": [
        "bae651dbd7ade3c5d6518f89599ae680a2fe2b85"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Dec 23 09:31:58 2013 -0500"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Dec 23 10:03:41 2013 -0500"
      },
      "message": "drm/radeon: 0x9649 is SUMO2 not SUMO\n\nFixes rendering corruption due to incorrect\ngfx configuration.\n\nbug:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d63599\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "27946e97108de281e0e9310965ac9a83a4aaa6fe",
      "tree": "bc0b2f03c5f25683128a0e2fec3f3a8bced0500e",
      "parents": [
        "28adb3026d01da3f6acded3cec817e1a3ba37f44",
        "c58f009e01c918717379c206a63baa66f56a77f9"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Nov 21 18:46:56 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Nov 21 18:46:56 2013 +1000"
      },
      "message": "Merge branch \u0027ttm-fixes-3.13\u0027 of git://people.freedesktop.org/~thomash/linux into drm-fixes\n\nThe set_need_resched() removal fix and yet another fix in\nttm_bo_move_memcpy().\n\n* \u0027ttm-fixes-3.13\u0027 of git://people.freedesktop.org/~thomash/linux:\n  drm/ttm: Remove set_need_resched from the ttm fault handler\n  drm/ttm: Don\u0027t move non-existing data\n"
    },
    {
      "commit": "c58f009e01c918717379c206a63baa66f56a77f9",
      "tree": "ca283d5304390d33e526788141923f8db2008c51",
      "parents": [
        "0bc254257bfd9b25f64a68b719ee70a303b6d051"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Thu Nov 14 10:49:05 2013 -0800"
      },
      "committer": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Nov 20 03:46:54 2013 -0800"
      },
      "message": "drm/ttm: Remove set_need_resched from the ttm fault handler\n\nAddresses\n\"[BUG] completely bonkers use of set_need_resched + VM_FAULT_NOPAGE\".\n\nIn the first occurence it was used to try to be nice while releasing the\nmmap_sem and retrying the fault to work around a locking inversion.\nThe second occurence was never used.\n\nThere has been some discussion whether we should change the locking order to\nmmap_sem -\u003e bo_reserve. This patch doesn\u0027t address that issue, and leaves\nthat locking order undefined. The solution that we release the mmap_sem if\ntryreserve fails and wait for the buffer to become unreserved is something\nwe want in any case, and follows how the core vm system waits for pages\nto be come unlocked while releasing the mmap_sem.\n\nThe code also outlines what needs to be changed if we want to establish the\nlocking order as mmap_sem -\u003e bo::reserve.\n\nOne slight issue that remains with this code is that the fault handler might\nbe prone to starvation if another thread countinously reserves the buffer.\nIMO that usage pattern is highly unlikely.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\n"
    },
    {
      "commit": "65981f7681abdf92b25942222b629b9c512d0705",
      "tree": "a9f90e3de5ccca2d7469e295c1b210935743bf62",
      "parents": [
        "ac49251b6bf428b8f4fb1ed8859219f0a72b5db4"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Nov 13 01:48:31 2013 -0800"
      },
      "committer": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Mon Nov 18 00:46:41 2013 -0800"
      },
      "message": "drm/ttm: Add a minimal prime implementation for ttm base objects\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nReviewed-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\n"
    },
    {
      "commit": "8d17fb4455eadbf2642e34e5584d0b0de64d33a8",
      "tree": "61f1ace31abc65058160cd634a084c38d2e6c8c8",
      "parents": [
        "a3483353ca4e6dbeef2ed62ebed01af109b5b27a"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Fri Nov 15 00:02:54 2013 -0800"
      },
      "committer": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Mon Nov 18 00:38:52 2013 -0800"
      },
      "message": "drm/ttm: Allow execbuf util reserves without ticket\n\nIf no reservation ticket is given to the execbuf reservation utilities,\ntry reservation with non-blocking semantics.\nThis is intended for eviction paths that use the execbuf reservation\nutilities for convenience rather than for deadlock avoidance.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nReviewed-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\n"
    },
    {
      "commit": "ab0169bb5cc4a5c86756dde662087f9d12302eb0",
      "tree": "495e668337410f6763480ea1f010213f6399e38c",
      "parents": [
        "8d0a2215931f1ffd77aef65cae2c0becc3f5d560",
        "13b3a0a77625c09c84825ef6ba81d957ec207841"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun Nov 10 18:35:33 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun Nov 10 18:35:33 2013 +1000"
      },
      "message": "Merge tag \u0027bdw-stage1-2013-11-08-v2\u0027 of git://people.freedesktop.org/~danvet/drm-intel into drm-next\n\nSo here\u0027s the Broadwell pull request. From a kernel driver pov there\u0027s\ntwo areas with big changes in Broadwell:\n- Completely new enumerated interrupt bits. On the plus side it now looks\n  fairly unform and sane.\n- Completely new pagetable layout.\n\nTo ensure minimal impact on existing platforms we\u0027ve refactored both the\nirq and low-level gtt handling code a lot in anticipation of the bdw push.\nSo now bdw enabling in these areas just plugs in a bunch of vfuncs.\n\nOtherwise it\u0027s all fairly harmless adjusting of switch cases and\nif-ladders to shovel bdw into the right blocks. So minimized impact on\nexisting platforms. I\u0027ve also merged the bdw-stage1 branch into our\n-nightly integration branch for the past week to make sure we don\u0027t break\nanything.\n\nNote that there\u0027s still quite a flurry or patches floating around, but\nI\u0027ve figured I\u0027ll push this out. I plan to keep the bdw fixes separate\nfrom my usual -fixes stream so that you can reject them easily in case it\nstill looks like too much churn. Also, bdw is for now hidden behind the\npreliminary hw enabling module option. So there\u0027s no real pressure to get\nfollow-up patches all into 3.13.\n\n* tag \u0027bdw-stage1-2013-11-08-v2\u0027 of git://people.freedesktop.org/~danvet/drm-intel: (75 commits)\n  drm/i915: Mask the vblank interrupt on bdw by default\n  drm/i915: Wire up cpu fifo underrun reporting support for bdw\n  drm/i915: Optimize gen8_enable|disable_vblank functions\n  drm/i915: Wire up pipe CRC support for bdw\n  drm/i915: Wire up PCH interrupts for bdw\n  drm/i915: Wire up port A aux channel\n  drm/i915: Fix up the bdw pipe interrupt enable lists\n  drm/i915: Optimize pipe irq handling on bdw\n  drm/i915/bdw: Take render error interrupt out of the mask\n  drm/i915/bdw: Add BDW PCH check first\n  drm/i915: Use hsw_crt_get_config on BDW\n  drm/i915/bdw: Change dp aux timeout to 600us on DDIA\n  drm/i915/bdw: Enable trickle feed on Broadwell\n  drm/i915/bdw: WaSingleSubspanDispatchOnAALinesAndPoints\n  drm/i915/bdw: conservative SBE VUE cache mode\n  drm/i915/bdw: Limit SDE poly depth FIFO to 2\n  drm/i915/bdw: Sampler power bypass disable\n  ddrm/i915/bdw: Disable centroid pixel perf optimization\n  drm/i915/bdw: BWGTLB clock gate disable\n  drm/i915/bdw: Implement edp PSR workarounds\n  ...\n"
    },
    {
      "commit": "96212fe8c27b39cc713cd8eb8d8e7a55ce3405d5",
      "tree": "801dae22ce884caafd85fb5b0926f3d169640555",
      "parents": [
        "41971b37d19d3f44620dd54671e1084d0dccfe37"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Aug 09 17:28:54 2013 -0400"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Nov 08 12:33:47 2013 -0500"
      },
      "message": "drm/radeon: add pci ids for hawaii\n\nThis adds the pci ids for hawaii.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n"
    },
    {
      "commit": "9459d252378aea80d28dc12bfec9a0d31b2a61bf",
      "tree": "af6ebccd4074194aa16d836bd2508591dac57851",
      "parents": [
        "4e0bbc316ef2a7d804cef3e0247fd782382f5bd4"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "benjamin.widawsky@intel.com",
        "time": "Sun Nov 03 16:53:55 2013 -0800"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Fri Nov 08 18:09:39 2013 +0100"
      },
      "message": "drm/i915/bdw: support GMS and GGMS changes\n\nAll the BARs have the ability to grow.\n\nv2: Pulled out the simulator workaround to a separate patch.\nRebased.\n\nv3: Rebase onto latest vlv patches from Jesse.\n\nv4: Rebased on top of the early stolen quirk patch from Jesse.\n\nv5: Use the new macro names.\ns/INTEL_BDW_PCI_IDS_D/INTEL_BDW_D_IDS\ns/INTEL_BDW_PCI_IDS_M/INTEL_BDW_M_IDS\nIt\u0027s Jesse\u0027s fault for not following the convention I originally set.\n\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "4d4dead67a4ab1d5de393f15ed5e4e2aa63d3bcf",
      "tree": "5b8ab42b340f675cc4014e944fc608a4ca7f68a6",
      "parents": [
        "8fe6bd239a72ba31c2568a29b730c9cd4f05c52c"
      ],
      "author": {
        "name": "Ben Widawsky",
        "email": "benjamin.widawsky@intel.com",
        "time": "Sun Nov 03 16:47:33 2013 -0800"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Fri Nov 08 18:09:36 2013 +0100"
      },
      "message": "drm/i915/bdw: Add device IDs\n\nv2: Squash in \"drm/i915/bdw: Add BDW to the HAS_DDI check\" as\nsuggested by Damien.\n\nv3: Squash in VEBOX enabling from  Zhao Yakui \u003cyakui.zhao@intel.com\u003e\n\nv4: Rebase on top of Jesse\u0027s patch to extract all pci ids to\ninclude/drm/i915_pciids.h.\n\nv4: Replace Halo by its marketing moniker Iris. Requested by Ben.\n\nv5: Switch from info-\u003ehas*ring to info-\u003ering_mask.\n\nv6: Add 0x16X2 variant (which is newer than this patch)\nRename to use new naming scheme (Chris)\nRemove Simulator PCI ids. These snuck in during rebase (Chris)\n\nv7: Fix poor sed job from v6\nMake the desktop variants use the desktop macro (Rebase error). Notice\nthat this makes no functional difference - it\u0027s just confusing.\n\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Ben Widawsky \u003cben@bwidawsk.net\u003e\nReviewed-by: Mika Kuoppala \u003cmika.kuoppala@intel.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "7aeb7448d8d02868ef30a6d08e856b2220319273",
      "tree": "2b12ced2a7607b6305ff6a41d933d5b0b55c23a0",
      "parents": [
        "4695b03970df378dcb93fe3e7158381f1e980fa2"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Thu Oct 24 01:24:54 2013 -0700"
      },
      "committer": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Nov 06 03:55:52 2013 -0800"
      },
      "message": "drm/ttm: Enable the dma page pool also for intel IOMMUs\n\nUsed by the vmwgfx driver\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nReviewed-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "a99ee459fd0ae38c0ccc7f93af718ef476657d1b",
      "tree": "f398913f175ccd379eb950d3b65a36896c6cd690",
      "parents": [
        "4ac387f516bd3e5356cdb25266e244fa8a062281"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Oct 20 18:55:42 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 14:53:23 2013 +1000"
      },
      "message": "drm: make drm_get_minor() static\n\ndrm_get_minor() is only used in one file. Make it static and add a\nkernel-doc comment which documents the current semantics.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4ac387f516bd3e5356cdb25266e244fa8a062281",
      "tree": "f50c08aa8fdad6ff571711ba5b202ac11b5a58e3",
      "parents": [
        "f73aca50b7f6e0f3e04d887f852b9f8b0e108fa7"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Oct 20 18:55:41 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 14:53:23 2013 +1000"
      },
      "message": "drm: simplify drm_put_minor()\n\nAllow passing NULL as minor to simplify DRM destruction paths. Also remove\nthe double-pointer reset as it is no longer needed. drm_put_minor() is\nonly called when the underlying object is destroyed. Hence, resetting\nminors to NULL is not necessary.\n\nAs drm_put_minor() is no longer used by other DRM files, we can make it\nstatic, too.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "39868bd7668bd47308b1dfd97c212757caee764f",
      "tree": "01189487886c8285e499630e468c9dc678ac76c3",
      "parents": [
        "1020dc6990168a5081ffad620c440e220f05b460"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Tue Oct 29 08:55:58 2013 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 14:27:45 2013 +1000"
      },
      "message": "drm: Compact booleans within struct drm_file\n\nReplace the sparse array of booleans with a bitfield.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1020dc6990168a5081ffad620c440e220f05b460",
      "tree": "3ed2fdb330463f2d23d08e6e8b10f4e1ba04d4cf",
      "parents": [
        "33e3fd5567a8e04154f2a4b8978fb0f65f25224d"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Tue Oct 29 08:55:57 2013 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 14:27:35 2013 +1000"
      },
      "message": "drm: Do not drop root privileges for a fancier younger process\n\nWhen a second process opens the device and master transferrence is\ncomplete, we walk the list of open devices and remove their\nauthentication. This also revokes our root privilege. Instead of simply\ndropping the authentication, this patch reverts the authenticated state\nback to its original value.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3cf70dafd7bbbc91df0a9ecb081d46f9f3d867f6",
      "tree": "09dcee3dfa36377179a11e23ffbf4099e1d30bdd",
      "parents": [
        "23c453a4af187e06d3d16649f1f3f2d16c132f83"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Oct 11 10:01:08 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 13:36:18 2013 +1000"
      },
      "message": "drm: add drm_set_preferred_mode\n\nNew helper function to set the preferred video mode.  Can be called\nafter drm_add_modes_noedid if you don\u0027t want the largest supported\nvideo mode be used by default.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ff9befe8300d104de86fdb0d3f206ab36603f672",
      "tree": "8903e570bb20ac6e319927a12c32dbd1f0d47fd6",
      "parents": [
        "7d74795b740135b7c89269ce21be51cc5b328de6"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Thu Oct 17 19:09:54 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 12:04:49 2013 +1000"
      },
      "message": "drm: Remove drm_debugfs_node and drm_debugfs_list\n\nThose structures are not used anywhere.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7d74795b740135b7c89269ce21be51cc5b328de6",
      "tree": "7e1d9c5ac37171c8536a96774683d3bf17b41c2f",
      "parents": [
        "a276d6ce8a9b146831f3f14b327f74df446a794a"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Thu Oct 17 19:09:53 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 12:04:13 2013 +1000"
      },
      "message": "drm: Constify struct drm_info_list * arguments\n\nThose functions are just reading data from those pointers.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "8f6fce03ddaf10bfa40c7d6cd59b778d35d41800",
      "tree": "cada34e1587b003af267a75877e30caf60292779",
      "parents": [
        "862cc8b4bba9381c1824a0b7ed6404ec2cfb21b1"
      ],
      "author": {
        "name": "Mario Kleiner",
        "email": "mario.kleiner.de@gmail.com",
        "time": "Wed Oct 30 05:13:06 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 06 11:53:41 2013 +1000"
      },
      "message": "drm: Push latency sensitive bits of vblank scanoutpos timestamping into kms drivers.\n\nA change in locking of some kms drivers (currently intel-kms) make\nthe old approach too inaccurate and also incompatible with the\nPREEMPT_RT realtime kernel patchset.\n\nThe driver-\u003eget_scanout_position() method of intel-kms now needs\nto aquire a spinlock, which clashes badly with the former\npreempt_disable() calls in the drm, and it also introduces larger\ndelays and timing uncertainty on a contended lock than acceptable.\n\nThis patch changes the prototype of driver-\u003eget_scanout_position()\nto require/allow kms drivers to perform the ktime_get() system time\nqueries which go along with actual scanout position readout in a way\nthat provides maximum precision and to return those timestamps to\nthe drm. kms drivers implementations of get_scanout_position() are\nasked to implement timestamping and scanoutpos readout in a way\nthat is as precise as possible and compatible with preempt_disable()\non a PREMPT_RT kernel. A driver should follow this pattern in\nget_scanout_position() for precision and compatibility:\n\nspin_lock...(...);\npreempt_disable_rt(); // On a PREEMPT_RT kernel, otherwise omit.\nif (stime) *stime \u003d ktime_get();\n... Minimum amount of MMIO register reads to get scanout position ...\n... no taking of locks allowed here! ...\nif (etime) *etime \u003d ktime_get();\npreempt_enable_rt(); // On PREEMPT_RT kernel, otherwise omit.\nspin_unlock...(...);\n\nv2: Fix formatting of new multi-line code comments.\n\nSigned-off-by: Mario Kleiner \u003cmario.kleiner.de@gmail.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "90c37067b70d6090a316227698a0cba40f8003bd",
      "tree": "b556c667fb57da57c8323e069df27f1d5297c214",
      "parents": [
        "cc87509d87696d7cd393882f5dedea01e03e41a9",
        "977386a04bae2a5a5092c965c92c7c4d36eed23f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Nov 05 16:21:00 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Nov 05 16:21:00 2013 +1000"
      },
      "message": "Merge tag \u0027drm/for-3.13-rc1\u0027 of git://anongit.freedesktop.org/tegra/linux into drm-next\n\ndrm/tegra: Changes for v3.13-rc1\n\nThe biggest part of the changes is the decoupling of the host1x and DRM\ndrivers followed by the move of Tegra DRM back to drivers/gpu/drm/tegra\nfrom whence it came. There is a lot of cleanup as well, and the drivers\ncan now be properly unloaded and reloaded.\n\nHDMI support for the Tegra114 SoC was contributed by Mikko Perttunen.\n\ngr2d support was extended to Tegra114 and the gr3d driver that has been\nin the works for quite some time finally made it in. All pieces to run\nan OpenGL driver on top of an upstream kernel are now available.\n\nSupport for syncpoint bases was added by Arto Merilainen. This is useful\nfor synchronizing between command streams from different engines such as\ngr2d and gr3d.\n\nErik Faye-Lund and Wei Yongjun contributed various small fixes. Thanks!\n\n* tag \u0027drm/for-3.13-rc1\u0027 of git://anongit.freedesktop.org/tegra/linux: (45 commits)\n  drm/tegra: Reserve syncpoint base for gr3d\n  drm/tegra: Reserve base for gr2d\n  drm/tegra: Deliver syncpoint base to user space\n  gpu: host1x: Add syncpoint base support\n  gpu: host1x: Add \u0027flags\u0027 field to syncpt request\n  drm/tegra: Disable clock on probe failure\n  gpu: host1x: Disable clock on probe failure\n  drm/tegra: Support bottom-up buffer objects\n  drm/tegra: Add support for tiled buffer objects\n  drm/tegra: Add 3D support\n  drm/tegra: Introduce tegra_drm_submit()\n  drm/tegra: Use symbolic names for gr2d registers\n  drm/tegra: Start connectors with correct DPMS mode\n  drm/tegra: hdmi: Enable VDD earlier for hotplug/DDC\n  drm/tegra: hdmi: Fix build warnings\n  drm/tegra: hdmi: Detect DVI-only displays\n  drm/tegra: Add Tegra114 HDMI support\n  drm/tegra: hdmi: Parameterize based on compatible property\n  drm/tegra: hdmi: Rename tegra{2,3} to tegra{20,30}\n  gpu: host1x: Add support for Tegra114\n  ...\n"
    },
    {
      "commit": "776dc38403676f499a73d32e2e7c61eb5b42f736",
      "tree": "5c9f8d670b51d743c5bbab45ec401e30f22579c1",
      "parents": [
        "35d747a81d7eb824bd0c3476cd0c564b52ad5353"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "treding@nvidia.com",
        "time": "Mon Oct 14 14:43:22 2013 +0200"
      },
      "committer": {
        "name": "Thierry Reding",
        "email": "treding@nvidia.com",
        "time": "Thu Oct 31 09:55:33 2013 +0100"
      },
      "message": "drm/tegra: Move subdevice infrastructure to host1x\n\nThe Tegra DRM driver currently uses some infrastructure to defer the DRM\ncore initialization until all required devices have registered. The same\ninfrastructure can potentially be used by any other driver that requires\nmore than a single sub-device of the host1x module.\n\nMake the infrastructure more generic and keep only the DRM specific code\nin the DRM part of the driver. Eventually this will make it easy to move\nthe DRM driver part back to the DRM subsystem.\n\nSigned-off-by: Thierry Reding \u003ctreding@nvidia.com\u003e\n"
    },
    {
      "commit": "b8206d3916c15a2939b85f21673bdf39e4c8d023",
      "tree": "28fdc65646c33e46460a8d593df1becda994b512",
      "parents": [
        "74afee7dd93458ab343d166c745746c6dca993fe"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@gmail.com",
        "time": "Fri Oct 18 16:11:28 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 23 14:21:07 2013 +0100"
      },
      "message": "drm: return if changed in drm_helper_hpd_irq_event()\n\nThe caller may want to know whether the configuration was changed, and\nif an hotplug event was sent.\n\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5e4e3ba997af8c756c23ffaa86652d3a4df5bdfa",
      "tree": "a6860666ccf18c9add51d2b0f468cecf3fd7b3da",
      "parents": [
        "5bdebb183c9702a8c57a01dff09337be3de337a6",
        "585b691e2180e1501637050290292f77f5c30c7b"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 22 09:38:18 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 22 09:50:08 2013 +0100"
      },
      "message": "Merge branch \u0027drm-tda998x-3.12\u0027 of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into drm-next\n\nThis adds support for the Armada 510 display subsystem found on the\nMarvell Dove devices.  This IP is re-used across several different Marvell\nSoCs with various tweaks, and this driver has been structured to allow\nthe other IPs to re-use the bulk of this code; further work in this area\nis expected from interested parties.\n\nThis has been extensively tested on the SolidRun Cubox platform and\nappears to work well there.\n\n[airlied: update for api changes merged previous to this]\n"
    },
    {
      "commit": "5bdebb183c9702a8c57a01dff09337be3de337a6",
      "tree": "e4ae9a441e4b2c4739902e4914852696accf1682",
      "parents": [
        "14c8d110e083d3a09ccf8cfe18ad22fe1450c2e9"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Oct 11 14:07:25 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 22 09:37:40 2013 +0100"
      },
      "message": "drm/sysfs: sort out minor and connector device object lifetimes.\n\nSo drm was abusing device lifetimes, by having embedded device structures\nin the minor and connector it meant that the lifetime of the internal drm\nobjects (drm_minor and drm_connector) were tied to the lifetime of the device\nfiles in sysfs, so if something kept those files opened the current code\nwould kfree the objects and things would go downhill from there.\n\nNow in reality there is no need for these lifetimes to be so intertwined,\nespecailly with hotplugging of devices where we wish to remove the sysfs\nand userspace facing pieces before we can unwind the internal objects due\nto open userspace files or mmaps, so split the objects out so the struct\ndevice is no longer embedded and do what fbdev does and just allocate\nand remove the sysfs inodes separately.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "96f60e37dc66091bde8d5de136ff6fda09f2d799",
      "tree": "2c2cc30a5ac7339730430369e27d33d4a8dd21ef",
      "parents": [
        "15c03dd4859ab16f9212238f29dd315654aa94f6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Aug 15 13:59:49 2012 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Oct 12 10:13:40 2013 +0100"
      },
      "message": "DRM: Armada: Add Armada DRM driver\n\nThis patch adds support for the pair of LCD controllers on the Marvell\nArmada 510 SoCs.  This driver supports:\n- multiple contiguous scanout buffers for video and graphics\n- shm backed cacheable buffer objects for X pixmaps for Vivante GPU\n  acceleration\n- dual lcd0 and lcd1 crt operation\n- video overlay on each LCD crt via DRM planes\n- page flipping of the main scanout buffers\n- DRM prime for buffer export/import\n\nThis driver is trivial to extend to other Armada SoCs.\n\nIncluded in this commit is the core driver with no output support; output\nsupport is platform and encoder driver dependent.\n\nTested-by: Sebastian Hesselbarth \u003csebastian.hesselbarth@gmail.com\u003e\nReviewed-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "967ad7f1489da7babbe0746f81c283458ecd3f84",
      "tree": "812608fd6efcfe81096bd51b1ec1c2a4167385f6",
      "parents": [
        "d7bf63f2465b3b6335dd66ffbf387768d81a59d5",
        "6aba5b6cf098ba305fc31b23cc14114a16768d22"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Oct 10 12:44:43 2013 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Oct 10 12:44:43 2013 +0200"
      },
      "message": "Merge remote-tracking branch \u0027airlied/drm-next\u0027 into drm-intel-next\n\nThe conflict in intel_drv.h tripped me up a bit since a patch in dinq\nmoves all the functions around, but another one in drm-next removes a\nsingle function. So I\u0027ev figured backing this into a backmerge would\nbe good.\n\ni915_dma.c is just adjacent lines changed, nothing nefarious there.\n\nConflicts:\n\tdrivers/gpu/drm/i915/i915_dma.c\n\tdrivers/gpu/drm/i915/intel_drv.h\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "58704e6a5478a96ca0e549ce6605332aab815eea",
      "tree": "8a396b200fc194210037439c3b2bda9430893206",
      "parents": [
        "0111be42186fc5461b9e9d579014c70869ab3152"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "jani.nikula@intel.com",
        "time": "Fri Oct 04 15:08:08 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 18:17:06 2013 +1000"
      },
      "message": "drm/dp: add helper for checking DP_ENHANCED_FRAME_CAP in DPCD\n\nSigned-off-by: Jani Nikula \u003cjani.nikula@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0111be42186fc5461b9e9d579014c70869ab3152",
      "tree": "d557ba527f1df28ef5ed22a0e1abacbb9ea110cd",
      "parents": [
        "ffbab09bf939975b62ec233c426bf7df0dd4cea8"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:41 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:33 2013 +1000"
      },
      "message": "drm: Kill drm perf counter leftovers\n\nThe user of these counters was killed in\n\n commit d79cdc8312689b39c6d83718c1c196af4b3cd18c\n Author: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n Date:   Thu Aug 8 15:41:32 2013 +0200\n\n    drm: no-op out GET_STATS ioctl\n\nso clean up the leftovers as well.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ffbab09bf939975b62ec233c426bf7df0dd4cea8",
      "tree": "f1ae5917f5061a3cfd2586d515fb36cd793f920a",
      "parents": [
        "fc6ff1935b550bdf525e0caa5ef0894010375414"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:40 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:33 2013 +1000"
      },
      "message": "drm: Remove pci_vendor and pci_device from struct drm_device\n\nWe can get the PCI vendor and device IDs via dev-\u003epdev. So we can drop\nthe duplicated information.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "fc6ff1935b550bdf525e0caa5ef0894010375414",
      "tree": "29c0cea9e21f7f210930ebc39148fa94bfa553df",
      "parents": [
        "6b8837df7a39d88f6a48a892312b08bbefba2540"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:39 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:32 2013 +1000"
      },
      "message": "drm: Kill ctx_count from struct drm_device\n\nThe only user of ctx_count is the via driver, and we can replace that\nuse with list_is_singular().\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "6b8837df7a39d88f6a48a892312b08bbefba2540",
      "tree": "4140eb62fb5705217aa181e6cc31996c3cd41dba",
      "parents": [
        "4423843cde65232c1d553df220e1d133f4a0fa2b"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:38 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:32 2013 +1000"
      },
      "message": "drm: Kill unused stuff from struct drm_device\n\n\u0027map_count\u0027 and \u0027work\u0027 are never used. Kill them both.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4423843cde65232c1d553df220e1d133f4a0fa2b",
      "tree": "29c570a6ab044f42f5c21989c6eea4532d8b0847",
      "parents": [
        "5380e9293b865d88de04de6e5324726d8c5b53c9"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:37 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:32 2013 +1000"
      },
      "message": "drm: Make irq_enabled bool\n\nirq_enabled is only ever 0 or 1, so make it a bool.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5380e9293b865d88de04de6e5324726d8c5b53c9",
      "tree": "5d28c8a6a1cf43a3b2a76f16bd9c59a7fd424c39",
      "parents": [
        "bf507d90cf0eecf5495f66f21dbb66e35e9131ae"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:36 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:31 2013 +1000"
      },
      "message": "drm: Collect per-crtc vblank stuff to a struct\n\ndrm_vblank_init() is too ugly. Make it a bit easier on the eye by\ncollecting all the per-crtc vblank counters, timestamps etc. to\na structure and just allocate an array of those.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "bf507d90cf0eecf5495f66f21dbb66e35e9131ae",
      "tree": "d1c36aa665cc03c3ba3e958e9c6c0bef9645a0b0",
      "parents": [
        "54edf9aec79779f85d49674580b7ccab4d6f3c4a"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:35 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:31 2013 +1000"
      },
      "message": "drm: Make vblank_enabled bool\n\nvblank_enabled is only ever 0 or 1, so make it a bool.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "54edf9aec79779f85d49674580b7ccab4d6f3c4a",
      "tree": "58cf7c07c8ae21d34d96cf13110817cc048d35b9",
      "parents": [
        "ba0bf1200ec75722c558c56f58c596ff42a3b494"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:34 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:30 2013 +1000"
      },
      "message": "drm: Make vblank_inmodeset unsigned\n\nvblank_inmodeset is a bitmask, with only two bits mind you, but better\nmake it unsigned anyway.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ba0bf1200ec75722c558c56f58c596ff42a3b494",
      "tree": "cc43f0514713de1793cd1ad7ae66fbc58192bc29",
      "parents": [
        "55e9edeb57ed9dd9be6773c5230187d701b14a46"
      ],
      "author": {
        "name": "Ville Syrjälä",
        "email": "ville.syrjala@linux.intel.com",
        "time": "Fri Oct 04 14:53:33 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:30 2013 +1000"
      },
      "message": "drm: Make vblank_disable_allowed bool\n\nvblank_disable_allowed is only ever 0 or 1, so make it a bool.\n\nSigned-off-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c3a49737ef7db0bdd4fcf6cf0b7140a883e32b2a",
      "tree": "94ce7f5c10bcc289b42d58e57462ad56aaa4e2fe",
      "parents": [
        "0dc8fe5985e01f238e7dc64ff1733cc0291811e8"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Wed Oct 02 11:23:38 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:27 2013 +1000"
      },
      "message": "drm: move device unregistration into drm_dev_unregister()\n\nAnalog to drm_dev_register(), we now provide drm_dev_unregister() which\ndoes the reverse. drm_dev_put() is still in place and combines the calls\nto drm_dev_unregister() and drm_dev_free() so buses don\u0027t have to change.\n\n*_get() and *_put() are used for reference-counting in the kernel.\nHowever, drm_dev_put() definitely does not do any kind of ref-counting.\nHence, use the more appropriate *_register(), *_unregister(), *_alloc()\nand *_free() names.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0dc8fe5985e01f238e7dc64ff1733cc0291811e8",
      "tree": "977b912c062fee10c10e39082546a5ecacd39792",
      "parents": [
        "1c8887dd01d97781471c9a876e3a4e804bb33f31"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Wed Oct 02 11:23:37 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:55:09 2013 +1000"
      },
      "message": "drm: introduce drm_dev_free() to fix error paths\n\nThe error paths in DRM bus drivers currently leak memory as they don\u0027t\ncorrectly revert drm_dev_alloc(). Introduce drm_dev_free() to free DRM\ndevices which haven\u0027t been registered, yet.\n\nWe must be careful not to introduce any side-effects with cleanups done in\ndrm_dev_free(). drm_ht_remove(), drm_ctxbitmap_cleanup() and\ndrm_gem_destroy() are all fine in that regard.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c22f0ace1926da399d9a16dfaf09174c1b03594c",
      "tree": "9c82626f939917cba7ab3626a22fe61d52940ec9",
      "parents": [
        "1bb72532ac260a2d3982b40bdd4c936d779d0d16"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Wed Oct 02 11:23:35 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 15:54:31 2013 +1000"
      },
      "message": "drm: merge device setup into drm_dev_register()\n\nAll bus drivers do device setup themselves. This requires us to adjust all\nof them if we introduce new core features. Thus, merge all these into a\nuniform drm_dev_register() helper.\n\nNote that this removes the drm_lastclose() error path for AGP as it is\nhorribly broken. Moreover, no bus driver called this in any other error\npath either. Instead, we use the recently introduced AGP cleanup helpers.\n\nWe also keep a DRIVER_MODESET condition around pci_set_drvdata() to keep\nsemantics.\n\n[airlied: keep passing flags through so drivers don\u0027t oops on load]\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1bb72532ac260a2d3982b40bdd4c936d779d0d16",
      "tree": "f0ec6e8d7d68fe8dff496f0226ac3837fb3aac3d",
      "parents": [
        "16eb5f4379b2097438a224381be3b4d9e56ac979"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Wed Oct 02 11:23:34 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 14:38:15 2013 +1000"
      },
      "message": "drm: add drm_dev_alloc() helper\n\nInstead of managing device allocation+initialization in each bus-driver,\nwe should do that in a central place. drm_fill_in_dev() already does most\nof it, but also requires the global drm lock for partial AGP device\nregistration.\n\nSplit both apart so we have a clean device initialization/allocation\nphase, and a registration phase.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "16eb5f4379b2097438a224381be3b4d9e56ac979",
      "tree": "cc7e55381cd8d80e62fb8eb24ae7fe9591385b32",
      "parents": [
        "55fb74adc628b99424360b0123f47ea4484c56fd"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Wed Oct 02 10:15:18 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Oct 09 14:38:02 2013 +1000"
      },
      "message": "drm: kill -\u003egem_init_object() and friends\n\nAll drivers embed gem-objects into their own buffer objects. There is no\nreason to keep drm_gem_object_alloc(), gem-\u003edriver_private and\n-\u003egem_init_object() anymore.\n\nNew drivers are highly encouraged to do the same. There is no benefit in\nallocating gem-objects separately.\n\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Daniel Vetter \u003cdaniel@ffwll.ch\u003e\nCc: Jerome Glisse \u003cjglisse@redhat.com\u003e\nCc: Rob Clark \u003crobdclark@gmail.com\u003e\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Ben Skeggs \u003cskeggsb@gmail.com\u003e\nCc: Patrik Jakobsson \u003cpatrik.r.jakobsson@gmail.com\u003e\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nAcked-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5848ad409c1817f5b70507e6b4440fcbd002f6c5",
      "tree": "9d1244efe4cbf2d2fa37789acc1007ac1eeffa35",
      "parents": [
        "fc4833c17cd58ad5de733e9e6649873cf0b34f2c"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Fri Sep 27 12:11:50 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:45 2013 +0200"
      },
      "message": "drm: Reject stereo modes with an unknown layout\n\nThe kernel shouldn\u0027t accept invalid modes, just say No.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "f7e121b76469624459152542c1b809a1ebc835fe",
      "tree": "295475386ab301b48c0010d1f3d3eb84baeffb7b",
      "parents": [
        "e454a05da623c26544721b159caaacdb6dfe448c"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Fri Sep 27 12:11:48 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:44 2013 +0200"
      },
      "message": "drm: Code stereo layouts as an enum rather than a bit field\n\nThis allows us to use fewer bits in the mode structure, leaving room for\nfuture work while allowing more stereo layouts types than we could have\never dreamt of.\n\nI also exposed the previously private DRM_MODE_FLAG_3D_MASK to set in\nstone that we are using 5 bits for the stereo layout enum, reserving 32\nvalues.\n\nEven with that reservation, we gain 3 bits from the previous encoding.\n\nThe code adding the mandatory stereo modes needeed to be adapted as it was\nrelying or being able to or stereo layouts together.\n\nSuggested-by: Daniel Vetter \u003cdaniel@ffwll.ch\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "448cce25f408be4c933f88ed8962455a0c16d0f8",
      "tree": "f1edc83da4d75c67de279c6cb2b442a88a2b262b",
      "parents": [
        "bde2dcf701db9fa6d010afa8e9254c3d7b0331fb"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:35 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:36 2013 +0200"
      },
      "message": "drm: Implement timings adjustments for frame packing\n\nWhen using the frame packing and a single big framebuffer, some hardware\nrequires that we do everything like if we were scanning out the big\nbuffer itself. Let\u0027s instrument drm_mode_set_crtcinfo() to be able to do\nthis adjustement if the driver is asking for it.\n\nv2: Use crtc_vtotal and multiply the clock by 2 instead of\n    reconstructing it (Ville Syrjälä)\n\nSuggested-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "bde2dcf701db9fa6d010afa8e9254c3d7b0331fb",
      "tree": "50a72137c808db9f77c6b11cb44f3ad7e68dcdf6",
      "parents": [
        "65427b1e94eca5923e0f723d1dd000f47e6d1696"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:34 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:35 2013 +0200"
      },
      "message": "drm: Introduce a crtc_clock for struct drm_display_mode\n\nJust like the various timings, make it possible to have a clock field\nwhat we can tweak before giving it to hardware.\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "65427b1e94eca5923e0f723d1dd000f47e6d1696",
      "tree": "42d13748b837f6155eac754b0ddafb3616de8302",
      "parents": [
        "99b314a0b37c1f637929db7f20d7e47eb2374c97"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:33 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:34 2013 +0200"
      },
      "message": "drm: Remove synth_clock from struct drm_display_mode\n\nThis field is unused. Garbage collect it.\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "99b314a0b37c1f637929db7f20d7e47eb2374c97",
      "tree": "8808ce239efffe9b61459592209641906ed4e348",
      "parents": [
        "560a067a93520a18a1dd7cf07ebd759a45270855"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:32 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:34 2013 +0200"
      },
      "message": "drm: Remove clock_index from struct drm_display_mode\n\nThis field was only accessed by the nouveau driver, but never set. So\nconcluded we can rid of this one.\n\nAcked-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "560a067a93520a18a1dd7cf07ebd759a45270855",
      "tree": "34c8bc3901efb8474673411d4723dee04de32606",
      "parents": [
        "271302120659ba7d2ab7bacfb0726444e26ecddc"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:29 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:33 2013 +0200"
      },
      "message": "drm: Make exposing stereo modes a per-connector opt-in\n\nJust like with interlaced or double scan modes, make stereo modes a\nper-connector opt-in to give a chance to driver authors to make it work\nbefore enabling it.\n\nSuggested-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "f2ecf2e3bc01868f244fc6ba9cf8fe5d8446db5b",
      "tree": "cf3548691aa74cb8b3142e16059a19bdfcd4a169",
      "parents": [
        "4eed4a0a4ac31830b4c328739cabb69721584bfc"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:27 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:30 2013 +0200"
      },
      "message": "drm: Make drm_match_cea_mode() return the underlying 2D VIC for 3d modes\n\nWhen scanning out a stereo mode, the AVI infoframe vic field has to be\nthe underlyng 2D VIC. Before that commit, we weren\u0027t matching the CEA\nmode because of the extra stereo flag and then were setting the VIC\nfield in the AVI infoframe to 0.\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "61d8e3282541139cf5bb31e4c42f952a6cc168f8",
      "tree": "ff765d5d44879ddc36f6430632fdb5211553e296",
      "parents": [
        "4aa17cf0d889cfc984b68a78ae02070cef21bb6b"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:22 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:27 2013 +0200"
      },
      "message": "drm: Add a STEREO_3D capability to the SET_CLIENT_CAP ioctl\n\nThis capability allows user space to control the delivery of modes with\nthe 3D flags set. This is to not play games with current user space\nusers not knowing anything about stereo 3D flags and that could try\nto set a mode with one or several of those bits set.\n\nSo, the plan is to remove the stereo modes from the list of modes we\ngive to DRM clients by default, and let them through if we are being\ntold otherwise.\n\nstereo_allowed is bound to the drm_file structure to make it a\nper-client setting, not a global one.\n\nv2: Replace clearing 3D flags by discarding the stereo modes now that\n    they are regular modes.\nv3: SET_CAP -\u003e SET_CLIENT_CAP rename (Chris Wilson)\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "4aa17cf0d889cfc984b68a78ae02070cef21bb6b",
      "tree": "7e9fd3b02c478a4899ee80a87317450787259bdd",
      "parents": [
        "1c0814fed3a558146402713028cb7114734ec172"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:21 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:27 2013 +0200"
      },
      "message": "drm: Add HDMI stereo 3D flags to struct drm_mode_modeinfo\n\nHDMI 1.4a defines a few layouts that we\u0027d like to expose. This commits\nadd new modeinfo flags that can be used to list the supported stereo\nlayouts (when querying the list of modes) and to set a given stereo 3D\nmode (when setting a mode).\n\nv2: Add a drm_mode_is_stereo() helper\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "1c0814fed3a558146402713028cb7114734ec172",
      "tree": "4c74029367bb8908bb7efe9bd23b7731f27244ee",
      "parents": [
        "a99b57dbc09bfff57acd8a7c20f25dfa6cb892a5"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Wed Sep 25 16:45:20 2013 +0100"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Oct 01 07:45:26 2013 +0200"
      },
      "message": "drm: Add a SET_CLIENT_CAP ioctl\n\nThis ioctl can be used to turn some knobs in a DRM driver. The client\ncan ask the DRM core for an alternate view of the reality: it can be\nuseful to be able to instruct the core that the DRM client can handle\nnew functionnality that would otherwise break current ABI.\n\nv2: Rename to ioctl from SET_CAP to SET_CLIENT_CAP (Chris Wilson)\n\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nAcked-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "0aec288130713cf7bcf97c929ac5fab6a8e00e44",
      "tree": "3fb1b235e3bb502a7dcd6cf9351d12725697c436",
      "parents": [
        "4ddc773b60497dcefbd9824f8931ae297659e6cc"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "jani.nikula@intel.com",
        "time": "Fri Sep 27 19:01:01 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 01 15:28:57 2013 +1000"
      },
      "message": "drm/dp: constify DP DPCD helpers\n\nNone of the DP DPCD helpers need to modify the DPCD.\n\nSigned-off-by: Jani Nikula \u003cjani.nikula@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "51f8da5916f85c18b696f74f97970e5a7330147e",
      "tree": "dbda932b06e62425c2cdfc33a06040fac3de118d",
      "parents": [
        "c9ff160b169b4db1e562001f08add446c1f469c7"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "jani.nikula@intel.com",
        "time": "Fri Sep 27 15:08:27 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 01 10:31:01 2013 +1000"
      },
      "message": "drm/edid: add drm_edid_duplicate\n\nWe have some code duplication related to EDID duplication. Add a helper.\n\nSigned-off-by: Jani Nikula \u003cjani.nikula@intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3d2e423e0f0f0a3de504a6acae858c651599ba25",
      "tree": "15d2d621a81c57aa008c10f395f6d4f7e95072b1",
      "parents": [
        "4821ff14a32886ee95c8b2850746ec020ca65189"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "jani.nikula@intel.com",
        "time": "Fri Sep 27 14:48:41 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 01 10:30:55 2013 +1000"
      },
      "message": "drm/dp: add defines for downstream port types\n\nDetailed cap info at address 80h is not available with DPCD ver\n1.0. Whether such devices exist in the wild I don\u0027t know, but there\nshould be no harm done in having the defines for downstream port 0 in\naddress 05h.\n\nSigned-off-by: Jani Nikula \u003cjani.nikula@intel.com\u003e\nReviewed-by: Todd Previte \u003ctprevite@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c21eb21cb50d58e7cbdcb8b9e7ff68b85cfa5095",
      "tree": "2ac14a2041ca462c51ee25eca1267f545a852e11",
      "parents": [
        "928c2f0c006bf7f381f58af2b2786d2a858ae311"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Sep 20 08:32:59 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Sep 20 08:32:59 2013 +1000"
      },
      "message": "Revert \"drm: mark context support as a legacy subsystem\"\n\nThis reverts commit 7c510133d93dd6f15ca040733ba7b2891ed61fd1.\n\nWell looks like not enough digging was done, libdrm_nouveau before 2.4.33\nused contexts,\n\n292da616fe1f936ca78a3fa8e1b1b19883e343b6 nouveau: pull in major libdrm rewrite\n\ngot rid of them,\n\nReported-by: Paul Zimmerman \u003cPaul.Zimmerman@synopsys.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9a71677874d200865433647e9282fcf9fa6b05dd",
      "tree": "6fb79a99405a61f1e71b0a314b3cfefe29b7a318",
      "parents": [
        "7c4622d5415038a74964480844de885e7253a0f4"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Sep 04 16:48:40 2013 -0400"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Sep 11 11:44:30 2013 -0400"
      },
      "message": "drm/radeon: add some additional berlin pci ids\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "48016851c89fcb1e9ea4daa7ace142e95f7875fe",
      "tree": "11c2ce83e2d618ae4fc5915ed82d60da77cd9bfa",
      "parents": [
        "86a7e1224a68511d3a1ae0b7e11581b9d37723ae",
        "6e1b4fdad5157bb9e88777d525704aba24389bee"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Sep 10 12:36:55 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Sep 10 12:36:55 2013 +1000"
      },
      "message": "Merge tag \u0027drm-intel-fixes-2013-09-06\u0027 of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes\n\n- Early stolen mem reservation from Jesse in x86 boot code. Acked by Ingo\n  and hpa.  This was ready much earlier but somehow I\u0027ve thought it\u0027d go\n  in through x86 trees, hence why this is late. Avoids the pci resource\n  code to plant mmiobars in the middle of stolen mem and other ugliness.\n- vgaarb improvements from Alex Williamson plus the fix from Ville for the\n  vgacon-\u003efbcon smooth transition \"feature\".\n- Render pageflips on ivb/hsw to avoid stalls due to the ring switching\n  when only flipping on the blitter (Chris).\n- Deadlock fixes around our flush_workqueue which crept back in - lockdep\n  isn\u0027t clever enough :(\n- Shrinker recursion fix from Chris - this is the thing that blew the vma\n  patches from Ben I\u0027ve taken out of 3.12.\n- Fixup for the relocation refactoring. Also an igt testcase to make sure\n  we don\u0027t break this again.\n- Pile of smaller fixups all over, shortlog has full details.\n\n* tag \u0027drm-intel-fixes-2013-09-06\u0027 of git://people.freedesktop.org/~danvet/drm-intel: (29 commits)\n  drm/i915: Delay disabling of VGA memory until vgacon-\u003efbcon handoff is done\n  drm/i915: try not to lose backlight CBLV precision\n  drm/i915: Confine page flips to BCS on Valleyview\n  drm/i915: Skip stolen region initialisation if none is reserved\n  drm/i915: fix gpu hang vs. flip stall deadlocks\n  drm/i915: Hold an object reference whilst we shrink it\n  drm/i915: fix i9xx_crtc_clock_get for multiplied pixels\n  drm/i915: handle sdvo input pixel multiplier correctly again\n  drm/i915: fix hpd work vs. flush_work in the pageflip code deadlock\n  drm/i915: fix up the relocate_entry refactoring\n  drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode\n  drm/i915: Don\u0027t call sg_free_table() if sg_alloc_table() fails\n  i915: Update VGA arbiter support for newer devices\n  vgaarb: Fix VGA decodes changes\n  vgaarb: Don\u0027t disable resources that are not owned\n  drm/i915: Pin pages whilst mapping the dma-buf\n  drm/i915: enable trickle feed on Haswell\n  x86: add early quirk for reserving Intel graphics stolen memory v5\n  drm/i915: split PCI IDs out into i915_drm.h v4\n  i915_gem: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc\n  ...\n"
    },
    {
      "commit": "111e6055d4e0d35c6a4b6cd37d7bb00a88eaffb4",
      "tree": "c192757baffc958af3e2e10ca9375ae689a4a7bb",
      "parents": [
        "5cc4621a17b1e63738658a93b9a5667c876a22e4"
      ],
      "author": {
        "name": "Andrzej Hajda",
        "email": "a.hajda@samsung.com",
        "time": "Wed Aug 21 16:22:01 2013 +0200"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Sep 05 13:43:44 2013 +0900"
      },
      "message": "drm/exynos: fimd: replace struct fb_videomode with videomode\n\nThe patch replaces all occurrences of struct fb_videomode by\nmore accurate struct videomode. The change allows to remove\nmode conversion function and simplifies clock divider calculation.\nClock configuration is moved to separate function.\n\nSigned-off-by: Andrzej Hajda \u003ca.hajda@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\n"
    },
    {
      "commit": "814c5f1f52a4beb3710317022acd6ad34fc0b6b9",
      "tree": "44af740be6678ecf2eb47f99a6bfa97852308617",
      "parents": [
        "a0a1807544fe59b42d3760ee912ea4c6741298f5"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 26 13:32:52 2013 -0700"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Sep 03 19:17:57 2013 +0200"
      },
      "message": "x86: add early quirk for reserving Intel graphics stolen memory v5\n\nSystems with Intel graphics controllers set aside memory exclusively for\ngfx driver use.  This memory is not always marked in the E820 as\nreserved or as RAM, and so is subject to overlap from E820 manipulation\nlater in the boot process.  On some systems, MMIO space is allocated on\ntop, despite the efforts of the \"RAM buffer\" approach, which simply\nrounds memory boundaries up to 64M to try to catch space that may decode\nas RAM and so is not suitable for MMIO.\n\nv2: use read_pci_config for 32 bit reads instead of adding a new one\n    (Chris)\n    add gen6 stolen size function (Chris)\nv3: use a function pointer (Chris)\n    drop gen2 bits (Daniel)\nv4: call e820_sanitize_map after adding the region\nv5: fixup comments (Peter)\n    simplify loop (Chris)\n\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d66726\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d66844\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "a0a1807544fe59b42d3760ee912ea4c6741298f5",
      "tree": "db91022ae6883ec1fd872f74423185de50dd3329",
      "parents": [
        "fac15c108248e8d592fb8f4cbcf26d98b3485526"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 26 13:32:51 2013 -0700"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Sep 03 19:17:56 2013 +0200"
      },
      "message": "drm/i915: split PCI IDs out into i915_drm.h v4\n\nFor use by userspace (at some point in the future) and other kernel code.\n\nv2: move PCI IDs to uabi (Chris)\n    move PCI IDs to drm/ (Dave)\nv3: fixup Quanta detection - needs to come first (Daniel)\nv4: fix up PCI match structure init for easier use by userspace (Chris)\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "3b336ec4c5460833ad7573d0b6e22793f6a389ab",
      "tree": "d82b0a12cc700203203d1236197a25b2c12967be",
      "parents": [
        "2254f637dbd18f6432da526552d19a616ffbf8d6"
      ],
      "author": {
        "name": "Sean Paul",
        "email": "seanpaul@chromium.org",
        "time": "Wed Aug 14 16:47:37 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 02 10:23:26 2013 +1000"
      },
      "message": "drm: Add drm_bridge\n\nThis patch adds the notion of a drm_bridge. A bridge is a chained\ndevice which hangs off an encoder. The drm driver using the bridge\nshould provide the association between encoder and bridge. Once a\nbridge is associated with an encoder, it will participate in mode\nset, and dpms (via the enable/disable hooks).\n\nSigned-off-by: Sean Paul \u003cseanpaul@chromium.org\u003e\nAcked-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9c725e5bcdae59d5383d4aec33a34c822582dda5",
      "tree": "3d55827f5f44f16cb0aada2713029f7490f557d4",
      "parents": [
        "efa27f9cec09518c9b574e3ab4a0a41717237429",
        "679fe80fbe964ea7f9f71781c2ca65b630949da3"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 02 09:31:40 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 02 09:31:40 2013 +1000"
      },
      "message": "Merge branch \u0027drm-next-3.12\u0027 of git://people.freedesktop.org/~agd5f/linux into drm-next\n\nAlex writes:\nThis is the radeon drm-next request.  Big changes include:\n- support for dpm on CIK parts\n- support for ASPM on CIK parts\n- support for berlin GPUs\n- major ring handling cleanup\n- remove the old 3D blit code for bo moves in favor of CP DMA or sDMA\n- lots of bug fixes\n\n[airlied: fix up a bunch of conflicts from drm_order removal]\n\n* \u0027drm-next-3.12\u0027 of git://people.freedesktop.org/~agd5f/linux: (898 commits)\n  drm/radeon/dpm: make sure dc performance level limits are valid (CI)\n  drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2)\n  drm/radeon: gcc fixes for extended dpm tables\n  drm/radeon: gcc fixes for kb/kv dpm\n  drm/radeon: gcc fixes for ci dpm\n  drm/radeon: gcc fixes for si dpm\n  drm/radeon: gcc fixes for ni dpm\n  drm/radeon: gcc fixes for trinity dpm\n  drm/radeon: gcc fixes for sumo dpm\n  drm/radeonn: gcc fixes for rv7xx/eg/btc dpm\n  drm/radeon: gcc fixes for rv6xx dpm\n  drm/radeon: gcc fixes for radeon_atombios.c\n  drm/radeon: enable UVD interrupts on CIK\n  drm/radeon: fix init ordering for r600+\n  drm/radeon/dpm: only need to reprogram uvd if uvd pg is enabled\n  drm/radeon: check the return value of uvd_v1_0_start in uvd_v1_0_init\n  drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume\n  radeon kms: fix uninitialised hotplug work usage in r100_irq_process()\n  drm/radeon/audio: set up the sads on DCE3.2 asics\n  drm/radeon: fix handling of variable sized arrays for router objects\n  ...\n\nConflicts:\n\tdrivers/gpu/drm/i915/i915_dma.c\n\tdrivers/gpu/drm/i915/i915_gem_dmabuf.c\n\tdrivers/gpu/drm/i915/intel_pm.c\n\tdrivers/gpu/drm/radeon/cik.c\n\tdrivers/gpu/drm/radeon/ni.c\n\tdrivers/gpu/drm/radeon/r600.c\n"
    },
    {
      "commit": "0431b2742f8e7755f3bbf5924900d12973412e94",
      "tree": "6fb4f4631922939f7fd44a22688eea3a36d6cefd",
      "parents": [
        "b2e4c70a9747ecb618d563b004ba746869dde5aa"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Jun 10 15:51:21 2013 -0400"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Aug 30 16:31:08 2013 -0400"
      },
      "message": "drm/radeon: add berlin pci ids\n\nThis adds the pci ids for the berlin GPU core.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "d105f4768a959f22078820625ccec9b693f164c8",
      "tree": "c09baba606b7ef14401adb0e6b9eaa6ab1b723a0",
      "parents": [
        "2483b4ea982efe8a544697d3f9642932e9af4dc1"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Thu Jul 25 15:55:32 2013 -0400"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Aug 30 16:30:43 2013 -0400"
      },
      "message": "drm/edid: add a helper function to extract the speaker allocation data block (v3)\n\nThis adds a helper function to extract the speaker allocation\ndata block from the EDID.  This data block describes what speakers\nare present on the display device.\n\nv2: update per Ville Syrjälä\u0027s comments\nv3: fix copy/paste typo in memory allocation\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nTested-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\n"
    },
    {
      "commit": "62f2104f3fc11c4cfd1307429cb955bfa48dcb37",
      "tree": "f5a4e80d68e100cc6818a6810d07f28135ddd8c5",
      "parents": [
        "9bba0c42ec81748462e58b18095c0eef8707cc9a"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Jul 22 18:50:00 2013 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 30 09:25:13 2013 +1000"
      },
      "message": "drm: Advertise async page flip ability through GETCAP ioctl\n\nLet applications know whether the kernel supports asynchronous page\nflipping.\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "ed8d19756e80ec63003a93aa4d70406e6ba61522",
      "tree": "2760615aea74843748e2793aa0db8af5eef9abc4",
      "parents": [
        "e1e9c90eefbed92cb2142072918d9c5d1051256f"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Jul 22 18:49:58 2013 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 30 09:24:54 2013 +1000"
      },
      "message": "drm: Pass page flip ioctl flags to driver\n\nThis lets drivers see the flags requested by the application\n\n[airlied: fixup for rcar/imx/msm]\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "807ac202f20aa0a5e991851931dbfa4e4fac558d",
      "tree": "3d4ac53a0db709a24fe547b7cc6fde6aa1789c2a",
      "parents": [
        "0adb23709ba9dd87d8bfa1ee349482ac8ec0730a"
      ],
      "author": {
        "name": "Damien Lespiau",
        "email": "damien.lespiau@intel.com",
        "time": "Thu Aug 22 19:06:08 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:59:10 2013 +1000"
      },
      "message": "drm: Remove the dithering_mode_property field\n\nUnfortunately, I haven\u0027t been thorough enough in:\n\n  commit ddecb10cf402a8325579f298fd4986a90f33496b\n  Author: Lespiau, Damien \u003cdamien.lespiau@intel.com\u003e\n  Date:   Tue Aug 20 00:53:04 2013 +0100\n\n      drm: Remove drm_mode_create_dithering_property()\n\nAnd forgot to remove the dithering_mode_property member of struct\ndrm_mode_config.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "1793126fcebd7c18834f95d43b55e387a8803aa8",
      "tree": "4e8dddc699ac1fec52b3bb47ca6116d2654abc16",
      "parents": [
        "6cb3b7f1c013fd4bea41e16ee557bcb2f1561787"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Aug 25 18:29:00 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:43:57 2013 +1000"
      },
      "message": "drm: implement experimental render nodes\n\nRender nodes provide an API for userspace to use non-privileged GPU\ncommands without any running DRM-Master. It is useful for offscreen\nrendering, GPGPU clients, and normal render clients which do not perform\nmodesetting.\n\nCompared to legacy clients, render clients no longer need any\nauthentication to perform client ioctls. Instead, user-space controls\nrender/client access to GPUs via filesystem access-modes on the\nrender-node. Once a render-node was opened, a client has full access to\nthe client/render operations on the GPU. However, no modesetting or ioctls\nthat affect global state are allowed on render nodes.\n\nTo prevent privilege-escalation, drivers must explicitly state that they\nsupport render nodes. They must mark their render-only ioctls as\nDRM_RENDER_ALLOW so render clients can use them. Furthermore, they must\nsupport clients without any attached master.\n\nIf filesystem access-modes are not enough for fine-grained access control\nto render nodes (very unlikely, considering the versaitlity of FS-ACLs),\nyou may still fall-back to fd-passing from server to client (which allows\narbitrary access-control). However, note that revoking access is\ncurrently impossible and unlikely to get implemented.\n\nNote: Render clients no longer have any associated DRM-Master as they are\nsupposed to be independent of any server state. DRM core highly depends on\nfile_priv-\u003emaster to be non-NULL for modesetting/ctx/etc. commands.\nTherefore, drivers must be very careful to not require DRM-Master if they\nsupport DRIVER_RENDER.\n\nSo far render-nodes are protected by \"drm_rnodes\". As long as this\nmodule-parameter is not set to 1, a driver will not create render nodes.\nThis allows us to experiment with the API a bit before we stabilize it.\n\nv2: drop insecure GEM_FLINK to force use of dmabuf\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "83dd000865eaaeb0799bf5e6d12f8d8cdb740e91",
      "tree": "3a5f3a0fc7b50e44e58f1c666bdffb62a9afe599",
      "parents": [
        "ae84b900b009589a7017a1f8f060edd7de501642"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:03 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:49 2013 +1000"
      },
      "message": "drm: Add a helper to forge HDMI vendor infoframes\n\nThis can then be used by DRM drivers to setup their vendor infoframes.\n\nv2: Fix hmdi typo (Simon Farnsworth)\nv3: Adapt to the hdmi_vendor_infoframe rename\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Simon Farnsworth \u003csimon.farnsworth@onelan.co.uk\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "d4e4a31da334224d686d07983517831eab999798",
      "tree": "0ffff0f3ff28758b3f52dedb7b03288bfa9bb3fc",
      "parents": [
        "5addcf0a5f0fadceba6bd562d0616a1c5d4c1a4d"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:52 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:39:53 2013 +1000"
      },
      "message": "drm: Don\u0027t export drm_find_cea_extension() any more\n\nThis function is only used inside drm_edid.c.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "13bb9cc8726c716a7f271fc2c760ba15e1fdd38c",
      "tree": "6b2d08a3316b7f5e76869c881a8b2544e5b76dd0",
      "parents": [
        "246efa4a072f3a2e03010ef0b78b0974ec69c377"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Sep 12 15:55:05 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 29 13:30:38 2013 +1000"
      },
      "message": "drm: allow open of dynamic off devices.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "88d7ebe59341dc3b82e662b80809694e3c6b3766",
      "tree": "c9b89ab9ba6b2310e270b67600ca790cc85e24c3",
      "parents": [
        "291d284c6004e3a63d0c2f6c31570ab2126843a8"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Aug 25 18:28:57 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Aug 27 11:54:54 2013 +1000"
      },
      "message": "drm/vma: add access management helpers\n\nThe VMA offset manager uses a device-global address-space. Hence, any\nuser can currently map any offset-node they want. They only need to guess\nthe right offset. If we wanted per open-file offset spaces, we\u0027d either\nneed VM_NONLINEAR mappings or multiple \"struct address_space\" trees. As\nboth doesn\u0027t really scale, we implement access management in the VMA\nmanager itself.\n\nWe use an rb-tree to store open-files for each VMA node. On each mmap\ncall, GEM, TTM or the drivers must check whether the current user is\nallowed to map this file.\n\nWe add a separate lock for each node as there is no generic lock available\nfor the caller to protect the node easily.\n\nAs we currently don\u0027t know whether an object may be used for mmap(), we\nhave to do access management for all objects. If it turns out to slow down\nhandle creation/deletion significantly, we can optimize it in several\nways:\n - Most times only a single filp is added per bo so we could use a static\n   \"struct file *main_filp\" which is checked/added/removed first before we\n   fall back to the rbtree+drm_vma_offset_file.\n   This could be even done lockless with rcu.\n - Let user-space pass a hint whether mmap() should be supported on the\n   bo and avoid access-management if not.\n - .. there are probably more ideas once we have benchmarks ..\n\nv2: add drm_vma_node_verify_access() helper\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d0b2c5334f41bdd18adaa3fbc1f7b5f1daab7eac",
      "tree": "0b62c0062f0571ecaa526cd3e0ff09221ea82726",
      "parents": [
        "de9564d8b9e69bf6603521e810d3cb46fa98ad81"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:49 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 13:05:03 2013 +1000"
      },
      "message": "drm/prime: Always add exported buffers to the handle cache\n\n... not only when the dma-buf is freshly created. In contrived\nexamples someone else could have exported/imported the dma-buf already\nand handed us the gem object with a flink name. If such on object gets\nreexported as a dma_buf we won\u0027t have it in the handle cache already,\nwhich breaks the guarantee that for dma-buf imports we always hand\nback an existing handle if there is one.\n\nThis is exercised by igt/prime_self_import/with_one_bo_two_files\n\nNow if we extend the locked sections just a notch more we can also\nplug th racy buf/handle cache setup in handle_to_fd:\n\nIf evil userspace races a concurrent gem close against a prime export\noperation we can end up tearing down the gem handle before the dma buf\nhandle cache is set up. When handle_to_fd gets around to adding the\nhandle to the cache there will be no one left to clean it up,\neffectily leaking the bo (and the dma-buf, since the handle cache\nholds a ref on the dma-buf):\n\nThread A\t\t\tThread B\n\nhandle_to_fd:\n\nlookup gem object from handle\ncreates new dma_buf\n\n\t\t\t\tgem_close on the same handle\n\t\t\t\tobj-\u003edma_buf is set, but file priv buf\n\t\t\t\thandle cache has no entry\n\n\t\t\t\tobj-\u003ehandle_count drops to 0\n\ndrm_prime_add_buf_handle sets up the handle cache\n\n-\u003e We have a dma-buf reference in the handle cache, but since the\nhandle_count of the gem object already dropped to 0 no on will clean\nit up. When closing the drm device fd we\u0027ll hit the WARN_ON in\ndrm_prime_destroy_file_private.\n\nThe important change is to extend the critical section of the\nfilp-\u003eprime.lock to cover the gem handle lookup. This serializes with\na concurrent gem handle close.\n\nThis leak is exercised by igt/prime_self_import/export-vs-gem_close-race\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "de9564d8b9e69bf6603521e810d3cb46fa98ad81",
      "tree": "7718486eb076af7fdf55458495181f9f41374204",
      "parents": [
        "838cd4455ee1c76db06175d44319a8e7ac114b0e"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:48 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 13:00:31 2013 +1000"
      },
      "message": "drm/prime: make drm_prime_lookup_buf_handle static\n\n... and move it to the top of the function to avoid a forward\ndeclaration.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "838cd4455ee1c76db06175d44319a8e7ac114b0e",
      "tree": "db2f792ee85c86a54241008313c37a57cf351aee",
      "parents": [
        "319c933c71f3dbdb2b3274d1634d3494c70efa06"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:47 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:58:18 2013 +1000"
      },
      "message": "drm/prime: Simplify drm_gem_remove_prime_handles\n\nwith the reworking semantics and locking of the obj-\u003edma_buf pointer\nthis pointer is always set as long as there\u0027s still a gem handle\naround and a dma_buf associated with this gem object.\n\nAlso, the per file-priv lookup-cache for dma-buf importing is also\nunified between foreign and native objects.\n\nHence we don\u0027t need to special case the clean any more and can simply\ndrop the clause which only runs for foreing objects, i.e. with\nobj-\u003eimport_attach set.\n\nNote that with this change (actually with the previous one to always\nset up obj-\u003edma_buf even for foreign objects) it is no longer required\nto set obj-\u003eimport_attach when importing a foreing object. So update\ncomments accordingly, too.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "319c933c71f3dbdb2b3274d1634d3494c70efa06",
      "tree": "21573ae28fb9b9c38dd974eebc80a69b9a7d70e1",
      "parents": [
        "20228c447846da9399ead53fdbbc8ab69b47788a"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:46 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:58:17 2013 +1000"
      },
      "message": "drm/prime: proper locking+refcounting for obj-\u003edma_buf link\n\nThe export dma-buf cache is semantically similar to an flink name. So\nsemantically it makes sense to treat it the same and remove the name\n(i.e. the dma_buf pointer) and its references when the last gem handle\ndisappears.\n\nAgain we need to be careful, but double so: Not just could someone\nrace and export with a gem close ioctl (so we need to recheck\nobj-\u003ehandle_count again when assigning the new name), but multiple\nexports can also race against each another. This is prevented by\nholding the dev-\u003eobject_name_lock across the entire section which\ntouches obj-\u003edma_buf.\n\nWith the new scheme we also need to reinstate the obj-\u003edma_buf link at\nimport time (in case the only reference userspace has held in-between\nwas through the dma-buf fd and not through any native gem handle). For\nsimplicity we don\u0027t check whether it\u0027s a native object but\nunconditionally set up that link - with the new scheme of removing the\nobj-\u003edma_buf reference when the last handle disappears we can do that.\n\nTo make it clear that this is not just for exported buffers anymore\nals rename it from export_dma_buf to dma_buf.\n\nTo make sure that now one can race a fd_to_handle or handle_to_fd with\ngem_close we use the same tricks as in flink of extending the\ndev-\u003eobject_name_locking critical section. With this change we finally\nhave a guaranteed 1:1 relationship (at least for native objects)\nbetween gem objects and dma-bufs, even accounting for races (which can\nhappen since the dma-buf itself holds a reference while in-flight).\n\nThis prevent igt/prime_self_import/export-vs-gem_close-race from\nOopsing the kernel. There is still a leak though since the per-file\npriv dma-buf/handle cache handling is racy. That will be fixed in a\nlater patch.\n\nv2: Remove the bogus dma_buf_put from the export_and_register_object\nfailure path if we\u0027ve raced with the handle count dropping to 0.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "20228c447846da9399ead53fdbbc8ab69b47788a",
      "tree": "6fe0e7e3b7f822206dde345848138234c7a19465",
      "parents": [
        "cd4f013f3a4b6a55d484cc2e206dc08e055e5291"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:45 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:58:17 2013 +1000"
      },
      "message": "drm/gem: completely close gem_open vs. gem_close races\n\nThe gem flink name holds a reference onto the object itself, and this\nself-reference would prevent an flink\u0027ed object from every being\nfreed. To break that loop we remove the flink name when the last\nuserspace handle disappears, i.e. when obj-\u003ehandle_count reaches 0.\n\nNow in gem_open we drop the dev-\u003eobject_name_lock between the flink\nname lookup and actually adding the handle. This means a concurrent\ngem_close of the last handle could result in the flink name getting\nreaped right inbetween, i.e.\n\nThread 1\t\tThread 2\ngem_open\t\tgem_close\n\nflink -\u003e obj lookup\n\t\t\thandle_count drops to 0\n\t\t\tremove flink name\ncreate_handle\nhandle_count++\n\nIf someone now flinks this object again, we\u0027ll get a new flink name.\n\nWe can close this race by removing the lock dropping and making the\nentire lookup+handle_create sequence atomic. Unfortunately to still be\nable to share the handle_create logic this requires a\nhandle_create_tail function which drops the lock - we can\u0027t hold the\nobject_name_lock while calling into a driver\u0027s -\u003egem_open callback.\n\nNote that for flink fixing this race isn\u0027t really important, since\nracing gem_open against gem_close is clearly a userspace bug. And no\nmatter how the race ends, we won\u0027t leak any references.\n\nBut with dma-buf where the userspace dma-buf fd itself is refcounted\nthis is a valid sequence and hence we should fix it. Therefore this\npatch here is just a warm-up exercise (and for consistency between\nflink buffer sharing and dma-buf buffer sharing with self-imports).\n\nAlso note that this extension of the critical section in gem_open\nprotected by dev-\u003eobject_name_lock only works because it\u0027s now a\nmutex: A spinlock would conflict with the potential memory allocation\nin idr_preload().\n\nThis is exercises by igt/gem_flink_race/flink_name.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cd4f013f3a4b6a55d484cc2e206dc08e055e5291",
      "tree": "1af8117ef7955b830c9af6a54a9cafe24943641d",
      "parents": [
        "84341c280acb8217a301344082c7ad8b9af870a6"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:44 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:58:01 2013 +1000"
      },
      "message": "drm/gem: switch dev-\u003eobject_name_lock to a mutex\n\nI want to wrap the creation of a dma-buf from a gem object in it,\nso that the obj-\u003eexport_dma_buf cache can be atomically filled in.\n\nInstead of creating a new mutex just for that variable I\u0027ve figured\nI can reuse the existing dev-\u003eobject_name_lock, especially since\nthe new semantics will exactly mirror the flink obj-\u003ename already\nprotected by that lock.\n\nv2: idr_preload/idr_preload_end is now an atomic section, so need to\nmove the mutex locking outside.\n\n[airlied: fix up conflict with patch to make debugfs use lock]\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "becee2a57fd2b64c53ebef58277fbca895cf8ec1",
      "tree": "659fb5f365394aa3a898e7ba5aa950f527aecdec",
      "parents": [
        "730c4ff95eb54e5bab39357baddd0aa6da10d4fb"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:39 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:46 2013 +1000"
      },
      "message": "drm/gem: make drm_gem_object_handle_unreference_unlocked static\n\nNo one outside of drm should use this, the official interfaces are\ndrm_gem_handle_create and drm_gem_handle_delete. The handle refcounting\nis purely an implementation detail of gem.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a8e11d1c435f9d185c9f3b1981b9613a579b9999",
      "tree": "fc0b5793a69d06045149a47c01edca0ed8be9905",
      "parents": [
        "9712def2b3e10081b5f7d3c3bddad3126df4f0ba"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:37 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:45 2013 +1000"
      },
      "message": "drm/gem: fix up flink name create race\n\nThis is the 2nd attempt, I\u0027ve always been a bit dissatisified with the\ntricky nature of the first one:\n\nhttp://lists.freedesktop.org/archives/dri-devel/2012-July/025451.html\n\nThe issue is that the flink ioctl can race with calling gem_close on\nthe last gem handle. In that case we\u0027ll end up with a zero handle\ncount, but an flink name (and it\u0027s corresponding reference). Which\nresults in a neat space leak.\n\nIn my first attempt I\u0027ve solved this by rechecking the handle count.\nBut fundamentally the issue is that -\u003ehandle_count isn\u0027t your usual\nrefcount - it can be resurrected from 0 among other things.\n\nFor those special beasts atomic_t often suggest way more ordering that\nit actually guarantees. To prevent being tricked by those hairy\nsemantics take the easy way out and simply protect the handle with the\nexisting dev-\u003eobject_name_lock.\n\nWith that change implemented it\u0027s dead easy to fix the flink vs. gem\nclose reace: When we try to create the name we simply have to check\nwhether there\u0027s still officially a gem handle around and if not refuse\nto create the flink name. Since the handle count decrement and flink\nname destruction is now also protected by that lock the reace is gone\nand we can\u0027t ever leak the flink reference again.\n\nOutside of the drm core only the exynos driver looks at the handle\ncount, and tbh I have no idea why (it\u0027s just for debug dmesg output\nluckily).\n\nI\u0027ve considered inlining the drm_gem_object_handle_free, but I plan to\nadd more name-like things (like the exported dma_buf) to this scheme,\nso it\u0027s clearer to leave the handle freeing in its own function.\n\nThis is exercised by the new gem_flink_race i-g-t testcase, which on\nmy snb leaks gem objects at a rate of roughly 1k objects/s.\n\nv2: Fix up the error path handling in handle_create and make it more\nrobust by simply calling object_handle_unreference.\n\nv3: Fix up the handle_unreference logic bug - atomic_dec_and_test\nretursn 1 for 0. Oops.\n\nv4: Squash in inlining of drm_gem_object_handle_reference as suggested\nby Dave Airlie and add a note that we now have a testcase.\n\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "66cc8b6b8b2b3b5c9a67429af04ec356ff7fcfa4",
      "tree": "b036153a1a0457c93b3a7b98a92c8ec6c6c6182b",
      "parents": [
        "15f3b9d95bf2c85afcf11e7536c17eaeedfcefe7"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:10 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:56 2013 +1000"
      },
      "message": "drm: Make drm_get_platform_dev() static\n\nIt\u0027s only used in drm_platform.c.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "15f3b9d95bf2c85afcf11e7536c17eaeedfcefe7",
      "tree": "83b708e4474677e1e709365fed422c044041bcc8",
      "parents": [
        "2c9c52e85318c67cfc70f4885ad543abf0f845e6"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:09 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:45 2013 +1000"
      },
      "message": "drm: Remove unused PCI ids\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "2c9c52e85318c67cfc70f4885ad543abf0f845e6",
      "tree": "0acdf78f306c04c3c90fbaa89a30d6a73943a616",
      "parents": [
        "a03eb8388d91eb1c8dae79b790e6560134977a15"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:08 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:41 2013 +1000"
      },
      "message": "drm: Make drm_fb_cma_describe() static\n\nThis function is only used in drm_fb_cma_helper.c.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a03eb8388d91eb1c8dae79b790e6560134977a15",
      "tree": "4e545615f663d918eacb85d9ba99d89cdbad3f81",
      "parents": [
        "86f422d5be001cfe311fc46d60a6e3ef6868dd40"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:07 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:36 2013 +1000"
      },
      "message": "drm: Remove 2 unused defines\n\nThese were introduced in the very first DRM commit:\n\n  commit f453ba0460742ad027ae0c4c7d61e62817b3e7ef\n  Author: Dave Airlie \u003cairlied@redhat.com\u003e\n  Date:   Fri Nov 7 14:05:41 2008 -0800\n\n      DRM: add mode setting support\n\n      Add mode setting support to the DRM layer.\n\nBut are unused.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "86f422d5be001cfe311fc46d60a6e3ef6868dd40",
      "tree": "d4172f1470648820659e530ab69ae74974784ec0",
      "parents": [
        "67587e8689ffbb788468c738f07a9678bde51084"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:06 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:29 2013 +1000"
      },
      "message": "drm: Make drm_mode_remove() static\n\nIt\u0027s only used in drm_crtc.c.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "67587e8689ffbb788468c738f07a9678bde51084",
      "tree": "a2b78433e7c83ce1a03c0913c28ca10bac907e64",
      "parents": [
        "ddecb10cf402a8325579f298fd4986a90f33496b"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:05 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:24 2013 +1000"
      },
      "message": "drm: Remove drm_mode_list_concat()\n\nThe last user was removed in\n\n  commit 575dc34ee0de867ba83abf25998e0963bff451fa\n  Author: Dave Airlie \u003cairlied@redhat.com\u003e\n  Date:   Mon Sep 7 18:43:26 2009 +1000\n\n      drm/kms: remove old std mode fallback code.\n\n      The new code adds modes in the helper, which makes more sense\n      I disliked the non-driver code adding modes.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ddecb10cf402a8325579f298fd4986a90f33496b",
      "tree": "9e8d42812a65a76d3d9c3c4270ec432185149933",
      "parents": [
        "f51607ac8d4d09b59faf7c6d718f413f537a7b34"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:04 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:19 2013 +1000"
      },
      "message": "drm: Remove drm_mode_create_dithering_property()\n\nThis was last used by nouveau, replaced by a driver-specific property\nin:\n\n  commit de69185573586302ada2e59ba41835df36986277\n  Author: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n  Date:   Mon Oct 17 12:23:41 2011 +1000\n\n      drm/nouveau: improve dithering properties, and implement proper auto mode\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "f51607ac8d4d09b59faf7c6d718f413f537a7b34",
      "tree": "6c017c43cde026b856747fb781324cc2d0b6b741",
      "parents": [
        "f336ab76008f66f6153573d1479aeed388d7b08a"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Tue Aug 20 00:53:03 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:47:13 2013 +1000"
      },
      "message": "drm: Remove stale prototypes\n\nA few prototypes have been left in the headers, their function friends\nlong gone.\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cb6458f97b53d7f73043206c18014b3ca63ac345",
      "tree": "3494b20eb61635f9ba5905e4ed19375e478ad26c",
      "parents": [
        "7d14bb6b537414ffe6a8641cb14088465c28460d"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:34 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:29:24 2013 +1000"
      },
      "message": "drm: remove procfs code, take 2\n\nSo almost two years ago I\u0027ve tried to nuke the procfs code already\nonce before:\n\nhttp://lists.freedesktop.org/archives/dri-devel/2011-October/015707.html\n\nThe conclusion was that userspace drivers (specifically libdrm device\nnode detection) stopped relying on procfs in 2001. But after some\ndigging it turned out that the drmstat tool in libdrm is still using\nthose files (but only when certain options are set). So we\u0027ve decided\nto keep profcs.\n\nBut I when I\u0027ve started to dig around again what exactly this tool\ndoes I\u0027ve noticed that it tries to read the \"mem\", \"vm\", and \"vma\"\nfiles from procfs. Now as far my git history digging shows \"mem\" never\ndid anything useful (at least in the version that first showed up in\nupstream history in 2004) and the file was remove in\n\ncommit 955b12def42e83287c1bdb1411d99451753c1391\nAuthor: Ben Gamari \u003cbgamari@gmail.com\u003e\nDate:   Tue Feb 17 20:08:49 2009 -0500\n\n    drm: Convert proc files to seq_file and introduce debugfs\n\nWhich means that for over 4 years drmstat has been broken, and no one\ncared. In my opinion that\u0027s proof enough that no one is actually using\ndrmstat, and so that we can savely nuke the procfs support from drm.\n\nWhile at it fix up the error case cleanup for debugfs in drm_get_minor.\n\nv2: Fix dates, libdrm stopped relying on procfs for drm node detection\nin 2001.\n\nv3: fixup compilation warning for !CONFIG_DEBUG_FS, reported by\nFengguang Wu.\n\nCc: kbuild test robot \u003cfengguang.wu@intel.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "6eb9278adabd17da3bc1cb843c729d1b10d79c93",
      "tree": "06e8b2806147c85bf3a5399c7d69be5948de07c9",
      "parents": [
        "2ba5f7d538976a9d6a70339da4be49f6652fe753"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:29 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:15:50 2013 +1000"
      },
      "message": "drm: remove the dma_ioctl special-case\n\nWe might as well have a real ioctl function which checks for the\ncallbacks. This seems to be a remnant from back in the days when each\ndrm driver had their own complete ioctl table, with no shared core\ndrm table at all.\n\nTo make really sure no mis-guided user in a kms driver pops up again\nexplicitly check for that in the new ioctl implementation.\n\nv2: Drop the unused variable I\u0027ve accidentally left in the code,\nspotted by David Herrmann.\n\nCc: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "281856477cdaba70032af502ee7192fe7aa54f69",
      "tree": "9508848a347fdbb74279ffdad04b1da9240f6e84",
      "parents": [
        "1216f732379151cd581444e385a8266d0b54549d"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:27 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:11:44 2013 +1000"
      },
      "message": "drm: rip out drm_core_has_MTRR checks\n\nThe new arch_phys_wc_add/del functions do the right thing both with\nand without MTRR support in the kernel. So we can drop these\nadditional checks.\n\nDavid Herrmann suggest to also kill the DRIVER_USE_MTRR flag since\nit\u0027s now unused, which spurred me to do a bit a better audit of the\naffected drivers. David helped a lot in that. Quoting our mail\ndiscussion:\n\nOn Wed, Jul 10, 2013 at 5:41 PM, David Herrmann \u003cdh.herrmann@gmail.com\u003e wrote:\n\u003e On Wed, Jul 10, 2013 at 5:22 PM, Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e wrote:\n\u003e\u003e On Wed, Jul 10, 2013 at 3:51 PM, David Herrmann \u003cdh.herrmann@gmail.com\u003e wrote:\n\u003e\u003e\u003e\u003e -#if __OS_HAS_MTRR\n\u003e\u003e\u003e\u003e -static inline int drm_core_has_MTRR(struct drm_device *dev)\n\u003e\u003e\u003e\u003e -{\n\u003e\u003e\u003e\u003e -       return drm_core_check_feature(dev, DRIVER_USE_MTRR);\n\u003e\u003e\u003e\u003e -}\n\u003e\u003e\u003e\u003e -#else\n\u003e\u003e\u003e\u003e -#define drm_core_has_MTRR(dev) (0)\n\u003e\u003e\u003e\u003e -#endif\n\u003e\u003e\u003e\u003e -\n\u003e\u003e\u003e\n\u003e\u003e\u003e That was the last user of DRIVER_USE_MTRR (apart from drivers setting\n\u003e\u003e\u003e it in .driver_features). Any reason to keep it around?\n\u003e\u003e\n\u003e\u003e Yeah, I guess we could rip things out. Which will also force me to\n\u003e\u003e properly audit drivers for the eventual behaviour change this could\n\u003e\u003e entail (in case there\u0027s an x86 driver which did not ask for an mtrr,\n\u003e\u003e but iirc there isn\u0027t).\n\u003e\n\u003e david@david-mb ~/dev/kernel/linux $ for i in drivers/gpu/drm/* ; do if\n\u003e test -d \"$i\" ; then if ! grep -q USE_MTRR -r $i ; then echo $i ; fi ;\n\u003e fi ; done\n\u003e drivers/gpu/drm/exynos\n\u003e drivers/gpu/drm/gma500\n\u003e drivers/gpu/drm/i2c\n\u003e drivers/gpu/drm/nouveau\n\u003e drivers/gpu/drm/omapdrm\n\u003e drivers/gpu/drm/qxl\n\u003e drivers/gpu/drm/rcar-du\n\u003e drivers/gpu/drm/shmobile\n\u003e drivers/gpu/drm/tilcdc\n\u003e drivers/gpu/drm/ttm\n\u003e drivers/gpu/drm/udl\n\u003e drivers/gpu/drm/vmwgfx\n\u003e david@david-mb ~/dev/kernel/linux $\n\u003e\n\u003e So for x86 gma500,nouveau,qxl,udl,vmwgfx don\u0027t set DRIVER_USE_MTRR.\n\u003e But I cannot tell whether they break if we call arch_phys_wc_add/del,\n\u003e anyway. At least nouveau seemed to work here, but it doesn\u0027t use AGP\n\u003e or drm_bufs, I guess.\n\nCool, thanks a lot for stitching together the list of drivers to look\nat. So for real KMS drivers it\u0027s the drives responsibility to add an\nmtrr if it needs one. nouvea, radeon, mgag200, i915 and vmwgfx do that\nalready. Somehow the savage driver also ends up doing that, I have no\nidea why.\n\nNote that gma500 as a pure KMS driver doesn\u0027t need MTRR setup since\nthe platforms that it supports all support PAT. So no MTRRs needed to\nget wc iomappings.\n\nThe mtrr support in the drm core is all for legacy mappings of garts,\nframebuffers and registers. All legacy drivers set the USE_MTRR flag,\nso we\u0027re good there.\n\nAll in all I think we can really just ditch this\n\n/endquote\n\nv2: Also kill DRIVER_USE_MTRR as suggested by David Herrmann\n\nv3: Rebase on top of David Herrmann\u0027s agp setup/cleanup changes.\n\nCc: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nAcked-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "36da5908a275d6319c17e758b5bde89b4f573959",
      "tree": "d78c928f49e38c650701062c7badc20ff70d0b3e",
      "parents": [
        "7106bf96f81b0c207aaab4b46aa2acc5cab334d4"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:34 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:46:56 2013 +1000"
      },
      "message": "drm/gem: move drm_gem_object_handle_unreference_unlocked into drm_gem.c\n\nWe have three callers of this function now and it\u0027s neither\nperformance critical nor really small. So an inline function feels\nlike overkill and unecessarily separates the different parts of the\ncode.\n\nSince all callers of drm_gem_object_handle_free are now in drm_gem.c\nwe can make that static (and remove the unused EXPORT_SYMBOL). To\navoid a forward declaration move it (and drm_gem_object_free_bug) up a\nbit.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7106bf96f81b0c207aaab4b46aa2acc5cab334d4",
      "tree": "782617e44aac3d710293f32272c6055ceec98e3c",
      "parents": [
        "01ce605a7bd8f4aaaf3c0accdaa5e106982b698c"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:33 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:46:35 2013 +1000"
      },
      "message": "drm/prime: add a bit of documentation about gem_obj-\u003eimport_attach\n\nLifetime rules seem to be solid around -\u003eimport_attach. So this patch\njust properly documents them.\n\nNote that pointing directly at the attachment might have issues for\ndevices that have multiple struct device *dev parts constituting the\nlogical gpu and so might need multiple attachment points. Similarly\nfor drm devices which don\u0027t need a dma attachment at all (like udl).\n\nBut fixing that up is material for different patches.\n\nReviewed-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c1d6798d20eed38b842eee01813ca6c48630d563",
      "tree": "6dfd50815787b7e69edc49828915254353360eab",
      "parents": [
        "2bc7b0ca8cc3bdcf61a7d4a99ed55c4ad084a4ae"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:30 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:44:58 2013 +1000"
      },
      "message": "drm: use common drm_gem_dmabuf_release in i915/exynos drivers\n\nNote that this is slightly tricky since both drivers store their\nnative objects in dma_buf-\u003epriv. But both also embed the base\ndrm_gem_object at the first position, so the implicit cast is ok.\n\nTo use the release helper we need to export it, too.\n\nCc: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Intel Graphics Development \u003cintel-gfx@lists.freedesktop.org\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b21e3afe2357c0f49348a5fb61247012bf8262ec",
      "tree": "1d1e06b848236bb3b0f766d0b401eecbaee80b1c",
      "parents": [
        "ddcd09d62bd503bfd33291348b7cd8ad32d413fd"
      ],
      "author": {
        "name": "Ilia Mirkin",
        "email": "imirkin@alum.mit.edu",
        "time": "Wed Aug 07 22:34:48 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:40:31 2013 +1000"
      },
      "message": "drm: use ida to allocate connector ids\n\nThis makes it so that reloading a module does not cause all the\nconnector ids to change, which are user-visible and sometimes used\nfor configuration.\n\nSigned-off-by: Ilia Mirkin \u003cimirkin@alum.mit.edu\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "bcc5c9d50e93bb7d949f6f38063b62dd35ca84d1",
      "tree": "b1390993cb1b234f2a67a6e6dcb603472936dbbf",
      "parents": [
        "367bbd49202dd256dce1217c2f7cd0d5d1916f7b"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:24 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:36:04 2013 +1000"
      },
      "message": "drm/gem: add shmem get/put page helpers\n\nBasically just extracting some code duplicated in gma500, omapdrm, udl,\nand upcoming msm driver.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "367bbd49202dd256dce1217c2f7cd0d5d1916f7b",
      "tree": "945aeb6b78881d4567b1064182e38a9b1227cfb1",
      "parents": [
        "5833bd2fe1c7d9e2650a11a8785b848bbd0d0188"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:23 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:34:43 2013 +1000"
      },
      "message": "drm/gem: add drm_gem_create_mmap_offset_size()\n\nVariant of drm_gem_create_mmap_offset() which doesn\u0027t make the\nassumption that virtual size and physical size (obj-\u003esize) are the same.\nThis is needed in omapdrm to deal with tiled buffers.  And lets us get\nrid of a duplicated and slightly modified version of\ndrm_gem_create_mmap_offset() in omapdrm.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cabaafc78935521c5abc7ec72278dbaa5400c995",
      "tree": "c5af38231d7484f421a6abfce09109a0b9d669c7",
      "parents": [
        "b17df86ece5e674c6f50b9a219067b9a80ea9dd1"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 14:41:54 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:32:26 2013 +1000"
      },
      "message": "drm: add flip-work helper\n\nA small helper to queue up work to do, from workqueue context, after a\nflip.  Typically useful to defer unreffing buffers that may be read by\nthe display controller until vblank.\n\nv1: original\nv2: wire up docbook + couple docbook fixes\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nAcked-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b17df86ece5e674c6f50b9a219067b9a80ea9dd1",
      "tree": "3d7fe37deea37650caf10877804afa60b493eaaf",
      "parents": [
        "d79cdc8312689b39c6d83718c1c196af4b3cd18c"
      ],
      "author": {
        "name": "Stéphane Marchesin",
        "email": "marcheu@chromium.org",
        "time": "Tue Aug 13 11:55:12 2013 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:30:11 2013 +1000"
      },
      "message": "drm: Remove drm_mode_validate_clocks\n\nThis function is unused.\n\nSigned-off-by: Stéphane Marchesin \u003cmarcheu@chromium.org\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "fac3eaffb1139156099b6111337525d47e65bca6",
      "tree": "01c74646a4dea45a6ba37b7f58a10b352890e90d",
      "parents": [
        "74867e3d53e41afe2a093196850167542fa508d2"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:26 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:30 2013 +1000"
      },
      "message": "drm: remove a bunch of unused #defines from drmP.h\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    }
  ],
  "next": "74867e3d53e41afe2a093196850167542fa508d2"
}
