)]}'
{
  "log": [
    {
      "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": "9bba0c42ec81748462e58b18095c0eef8707cc9a",
      "tree": "807d392049250ccbb1c95426eb75a4b060389590",
      "parents": [
        "ed8d19756e80ec63003a93aa4d70406e6ba61522"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Jul 22 18:49:59 2013 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 30 09:25:13 2013 +1000"
      },
      "message": "drm: Add DRM_MODE_PAGE_FLIP_ASYNC flag definition\n\nThis requests that the driver perform the page flip as soon as\npossible, not necessarily waiting for vblank.\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": "e1e9c90eefbed92cb2142072918d9c5d1051256f",
      "tree": "c6ab7c9c5810cbd73a4b5fa86d81012b99dd9a0d",
      "parents": [
        "9c784855067a8d10cef6088b14a58083e3918fdc"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu Aug 22 15:42:50 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 09:14:41 2013 +1000"
      },
      "message": "drm/omap: tiler: clear buffer properly\n\nWe\u0027re taking the sizeof() the wrong thing so it doesn\u0027t clear the whole\nbuffer.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "9c784855067a8d10cef6088b14a58083e3918fdc",
      "tree": "2eb35545b4a532f9f81cbcaa720b8841871862d5",
      "parents": [
        "807ac202f20aa0a5e991851931dbfa4e4fac558d"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "thierry.reding@gmail.com",
        "time": "Wed Aug 28 12:04:14 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 09:11:59 2013 +1000"
      },
      "message": "drm/prime: Remove PRIME handles only if supported\n\nDrivers that don\u0027t support PRIME will not have initialized the PRIME\nspecific private component of struct drm_file. If called for such\ndrivers, the drm_gem_remove_prime_handles() function will crash. Fix\nit by checking for PRIME support prior to removing the PRIME handles.\n\nSigned-off-by: Thierry Reding \u003ctreding@nvidia.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": "0adb23709ba9dd87d8bfa1ee349482ac8ec0730a",
      "tree": "00df33e3c7333c5c8e17f72a10ead2d0a6d5a93e",
      "parents": [
        "14bbf20c8839eb595753712e15b8786f9cdc5ed8"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Aug 23 23:46:02 2013 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:58:32 2013 +1000"
      },
      "message": "drm/prime: double lock typo\n\nThere is a typo so deadlocks on error instead of unlocking.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "14bbf20c8839eb595753712e15b8786f9cdc5ed8",
      "tree": "08545e74aa131c7e6522aacbe1e78eb13a352cd7",
      "parents": [
        "1793126fcebd7c18834f95d43b55e387a8803aa8"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Mon Aug 26 15:15:37 2013 +0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:57:51 2013 +1000"
      },
      "message": "drm/vmwgfx: fix error return code in vmw_driver_load()\n\nFix to return -ENOMEM in the fence manager init error handling\ncase instead of 0, as done elsewhere in this function.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@vmware.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": "6cb3b7f1c013fd4bea41e16ee557bcb2f1561787",
      "tree": "7e4fd75076a3704c90614324f2e9c9054d789caf",
      "parents": [
        "c8bb75afff8eaed89476a00f733c666e1b44115b"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:05 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:42:01 2013 +1000"
      },
      "message": "video/hdmi: Rename HDMI_IDENTIFIER to HDMI_IEEE_OUI\n\nHDMI_IDENTIFIER was felt too generic, rename it to what it is, the IEEE\nOUI corresponding to HDMI Licensing, LLC.\n\nhttp://standards.ieee.org/develop/regauth/oui/oui.txt\n\nCc: Thierry Reding \u003cthierry.reding@gmail.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "c8bb75afff8eaed89476a00f733c666e1b44115b",
      "tree": "f8c77a67d6af29b70ce8e0e8d61bb7db0e1ad7b0",
      "parents": [
        "83dd000865eaaeb0799bf5e6d12f8d8cdb740e91"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:04 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:55 2013 +1000"
      },
      "message": "drm/i915/hdmi: Write HDMI vendor specific infoframes\n\nWith all the common infoframe bits now in place, we can finally write\nthe vendor specific infoframes in our driver.\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": "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": "ae84b900b009589a7017a1f8f060edd7de501642",
      "tree": "2e7aba702d9c2c95510f271fa9c8b1fa751810ea",
      "parents": [
        "af3e95b40720cdf301eb85387c0a3dc4067cc551"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:02 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:42 2013 +1000"
      },
      "message": "video/hdmi: Use hdmi_vendor_infoframe for the HDMI specific infoframe\n\nWe just got rid of the version of hdmi_vendor_infoframe that had a byte\narray for anyone to poke at. It\u0027s now time to shuffle around the naming\nof hdmi_hdmi_infoframe to make hdmi_vendor_infoframe become the HDMI\nvendor specific structure.\n\nCc: Thierry Reding \u003cthierry.reding@gmail.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "af3e95b40720cdf301eb85387c0a3dc4067cc551",
      "tree": "22590128866c81d879ff51ffb2d9b4d8d7d1b205",
      "parents": [
        "c782d2e73d1e69c863d03945907bc7fbc879a778"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:01 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:30 2013 +1000"
      },
      "message": "video/hdmi: Hook the HDMI vendor infoframe with the generic _pack()\n\nWith this last bit, hdmi_infoframe_pack() is now able to pack any\ninfoframe we support.\n\nAt the same time, because it\u0027s impractical to make two commits out of\nthis, we get rid of the version that encourages the open coding of the\nvendor infoframe packing. We can do so because the only user of this API\nhas been ported in:\n\n  Author: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\n  Date:   Mon Aug 12 18:08:37 2013 +0100\n\n      gpu: host1x: Port the HDMI vendor infoframe code the common helpers\n\nv2: Change oui to be an unsigned int (Ville Syrjälä)\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": "c782d2e73d1e69c863d03945907bc7fbc879a778",
      "tree": "90f47eb52fd6f2c7f1531e17b5a111911c8fa63f",
      "parents": [
        "a26a58e89a4e5f2ab006b6ea2b8f3c9a97ae2e77"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:59:00 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:22 2013 +1000"
      },
      "message": "drm/edid: Move HDMI_IDENTIFIER to hdmi.h\n\nWe\u0027ll need the HDMI OUI for the HDMI vendor infoframe data, so let\u0027s\nmove the DRM one to hdmi.h, might as well use the hdmi header to store\nsome hdmi defines.\n\n(Note that, in fact, infoframes are part of the CEA-861 standard, and\nonly the HDMI vendor specific infoframe is special to HDMI, but\ndetails..)\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": "a26a58e89a4e5f2ab006b6ea2b8f3c9a97ae2e77",
      "tree": "df1def4c5a1868c2384fce3b6a1b6eddc690bd85",
      "parents": [
        "7d27becb3532d881378846e72864031977be511a"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:59 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:41:13 2013 +1000"
      },
      "message": "gpu: host1x: Port the HDMI vendor infoframe code the common helpers\n\nI just wrote the bits to define and pack HDMI vendor specific infoframe.\nPort the host1x driver to use those so I can refactor the infoframe code\na bit more.\n\nThis changes the length of the infoframe payload from 6 to 5, which is\nenough for the \"frame packing\" stereo format.\n\nv2: Pimp up the commit message with the note about the length\n    (Ville Syrjälä)\n\nCc: Thierry Reding \u003cthierry.reding@gmail.com\u003e\nCc: Terje Bergström \u003ctbergstrom@nvidia.com\u003e\nCc: linux-tegra@vger.kernel.org\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "7d27becb3532d881378846e72864031977be511a",
      "tree": "3171b5326dfd4d546efff20566543612957d53ba",
      "parents": [
        "974e0701c5251de879624d166890fbd0ee9fc429"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:58 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:45 2013 +1000"
      },
      "message": "video/hdmi: Introduce helpers for the HDMI vendor specific infoframe\n\nProvide the same programming model than the other infoframe types.\n\nThe generic _pack() function can\u0027t handle those yet as we need to move\nthe vendor OUI in the generic hdmi_vendor_infoframe structure to know\nwhich kind of vendor infoframe we are dealing with.\n\nv2: Fix the value of Side-by-side (half), hmdi typo, pack 3D_Ext_Data\n    (Ville Syrjälä)\nv3: Future proof the sending of 3D_Ext_Data (Ville Syrjälä), Fix\n    multi-lines comment style (Thierry Reding)\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": "974e0701c5251de879624d166890fbd0ee9fc429",
      "tree": "8a7a610ff4a91aecb04ef622932b52d8f3aacb46",
      "parents": [
        "a5ad3dcf358475dfc5ccf11e28d3822fc3c8e5fe"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:57 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:35 2013 +1000"
      },
      "message": "video/hdmi: Derive the bar data valid bit from the bar data fields\n\nJust like:\n\n  Author: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\n  Date:   Mon Aug 12 11:53:24 2013 +0100\n\n      video/hdmi: Don\u0027t let the user of this API create invalid infoframes\n\nBut this time for the horizontal/vertical bar data present bits.\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": "a5ad3dcf358475dfc5ccf11e28d3822fc3c8e5fe",
      "tree": "ef41ba92f882da0c4422402cbacaecb034893fbc",
      "parents": [
        "3f2f653378112c1453c0d83c81746a9225e4bc75"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:56 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:29 2013 +1000"
      },
      "message": "video/hdmi: Don\u0027t let the user of this API create invalid infoframes\n\nTo set the active aspect ratio value in the AVI infoframe today, you not\nonly have to set the active_aspect field, but also the active_info_valid\nbit. Out of the 1 user of this API, we had 100% misuse, forgetting the\n_valid bit. This was fixed in:\n\n  Author: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\n  Date:   Tue Aug 6 20:32:17 2013 +0100\n\n      drm: Don\u0027t generate invalid AVI infoframes for CEA modes\n\nWe can do better and derive the _valid bit from the user wanting to set\nthe active aspect ratio.\n\nv2: Fix multi-lines comment style (Thierry Reding)\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": "3f2f653378112c1453c0d83c81746a9225e4bc75",
      "tree": "27d2a06b1ee7a62078197ec17a8e464a03ec8050",
      "parents": [
        "7ebe1963a063daf30f95752c35244c5d49550aa9"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:55 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:14 2013 +1000"
      },
      "message": "drm: Add support for alternate clocks of 4k modes\n\nv2: Fix hmdi typo (Simon Farnsworth, Ville Syrjälä)\n\nSuggested-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nReviewed-by: Ville Syrjälä \u003cville.syrjala@linux.intel.com\u003e\nReviewed-by: Simon Farnsworth \u003csimon.farnsworth@onelan.co.uk\u003e\nReviewed-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@gmail.com\u003e\n"
    },
    {
      "commit": "7ebe1963a063daf30f95752c35244c5d49550aa9",
      "tree": "8e74c2a950e3858c0a21c80acb30bd080150596c",
      "parents": [
        "13ac3f5593cf0964cdb239864829e57cc6981dac"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:54 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:06 2013 +1000"
      },
      "message": "drm/edid: Parse the HDMI CEA block and look for 4k modes\n\nHDMI 1.4 adds 4 \"4k x 2k\" modes in the the CEA vendor specific block.\n\nWith this commit, we now parse this block and expose the 4k modes that\nwe find there.\n\nv2: Fix the \"4096x2160\" string (nice catch!), add comments about\n    do_hdmi_vsdb_modes() arguments and make it clearer that offset is\n    relative to the end of the required fields of the HDMI VSDB\n    (Ville Syrjälä)\n\nv3: Fix \u0027Unknow\u0027 typo (Simon Farnsworth)\n\nSigned-off-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nTested-by: Cancan Feng \u003ccancan.feng@intel.com\u003e\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d67030\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": "13ac3f5593cf0964cdb239864829e57cc6981dac",
      "tree": "882b023d8dc8b3857d300333dda808c47830d8ac",
      "parents": [
        "d4e4a31da334224d686d07983517831eab999798"
      ],
      "author": {
        "name": "Lespiau, Damien",
        "email": "damien.lespiau@intel.com",
        "time": "Mon Aug 19 16:58:53 2013 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Fri Aug 30 08:40:00 2013 +1000"
      },
      "message": "drm/edid: Fix add_cea_modes() style issues\n\nA few styles issues have crept in here, fix them before touching this\ncode again.\n\nv2: constify arguments that can be (Ville Syrjälä)\nv3: constify, but better (Ville Syrjälä)\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": "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": "5addcf0a5f0fadceba6bd562d0616a1c5d4c1a4d",
      "tree": "5162dd3bf9dd94b2b59b01a320fc019deda052bd",
      "parents": [
        "13bb9cc8726c716a7f271fc2c760ba15e1fdd38c"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 10 14:20:51 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 29 13:30:46 2013 +1000"
      },
      "message": "nouveau: add runtime PM support (v0.9)\n\nThis hooks nouveau up to the runtime PM system to enable\ndynamic power management for secondary GPUs in switchable\nand optimus laptops.\n\na) rewrite suspend/resume printks to hide them during dynamic s/r\nto avoid cluttering logs\nb) add runtime pm suspend to irq handler, crtc display, ioctl handler,\nconnector status,\nc) handle hdmi audio dynamic power on/off using magic register.\n\nv0.5:\nmake sure we hit D3 properly\nfix fbdev_set_suspend locking interaction, we only will poweroff if we have no\nactive crtcs/fbcon anyways.\nadd reference for active crtcs.\nsprinkle mark last busy for autosuspend timeout\n\nv0.6:\nallow more flexible debugging - to avoid log spam\nadd option to enable/disable dynpm\ngot to D3Cold\n\nv0.7:\nadd hdmi audio support.\n\nv0.8:\ncall autosuspend from idle, so pci config space access doesn\u0027t go straight\nback to sleep, this makes starting X faster.\nonly signal usage if we actually handle the irq, otherwise usb keeps us awake.\nfix nv50 display active powerdown\n\nv0.9:\nuse masking function to enable hdmi audio\nset busy when we fail to suspend\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.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": "246efa4a072f3a2e03010ef0b78b0974ec69c377",
      "tree": "ea81a248b4578ef9e159ccbdec382f7a669978c7",
      "parents": [
        "0d69704ae348c03bc216b01e32a0e9a2372be419"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@gmail.com",
        "time": "Mon Jul 29 15:19:29 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 29 13:30:29 2013 +1000"
      },
      "message": "snd/hda: add runtime suspend/resume on optimus support (v4)\n\nAdd support for HDMI audio device on VGA cards that powerdown\nto D3cold using non-standard ACPI/PCI infrastructure (optimus).\n\nThis does a couple of things to make it work:\n\na) add a set of power ops for the hdmi domain, and enables them\nvia vga_switcheroo when we are a switcheroo controlled card. This\njust replaces the runtime resume operation so that when the card\nis in D3cold the userspace pci config space access via sysfs,\nthe vga switcheroon runtime resume gets called first and it calls\nthe GPU resume callback before calling the sound card runtime\nresume.\n\nb) standard ACPI/PCI stacks won\u0027t put a device into D3cold without\nan ACPI handle, but since the hdmi audio devices on gpus don\u0027t have\nan ACPI handle, we need to manually force the device into D3cold\nafter suspend from the switcheroo path only.\n\nc) don\u0027t try and do runtime s/r when the GPU is off.\n\nd) call runtime suspend/resume during switcheroo suspend/resume\nthis is to make sure the runtime stack knows to try and resume\nthe hdmi audio device for pci config space access.\n\nv2: fix incorrect runtime call suspend-\u003eresume.\n\nv3: rework irq handler to avoid false irq when we are resuming\nbut haven\u0027t runtime resumed yet, don\u0027t bother trying D3cold,\nit won\u0027t work, just set it manually ourselves, move runtime s/r\ncalls outside the main s/r hook. enable dnyamic pm properly by\ndropping reference.\n\nv4: put back irq handler check just wrap it with cap check\n\nAcked-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0d69704ae348c03bc216b01e32a0e9a2372be419",
      "tree": "cb63fed3b11746ffb688ff8fd6efa1c087ee8254",
      "parents": [
        "e906d7bdd3b63ffac8b91f2f05c450775de95ef6"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@dhcp-40-90.bne.redhat.com",
        "time": "Mon Sep 10 12:28:36 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 29 13:30:21 2013 +1000"
      },
      "message": "gpu/vga_switcheroo: add driver control power feature. (v3)\n\nFor optimus and powerxpress muxless we really want the GPU\ndriver deciding when to power up/down the GPU, not userspace.\n\nThis adds the ability for a driver to dynamically power up/down\nthe GPU and remove the switcheroo from controlling it, the\nswitcheroo reports the dynamic state to userspace also.\n\nIt also adds 2 power domains, one for machine where the power\nswitch is controlled outside the GPU D3 state, so the powerdown\nordering is done correctly, and the second for the hdmi audio\ndevice to make sure it can resume for PCI config space accesses.\n\nv1.1: fix build with switcheroo off\n\nv2: add power domain support for radeon and v1 nvidia dsms\nv2.1: fix typo in off case\n\nv3: add audio power domain for hdmi audio + misc audio fixes\n\nv4: use PCI_SLOT macro, drop power reference on hdmi audio resume\nfailure also.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e906d7bdd3b63ffac8b91f2f05c450775de95ef6",
      "tree": "014e1f6a07067111d4b3ba94e3f9229a1e70e6d1",
      "parents": [
        "acb4652703f0a452405a3ab9319594eddc41391b",
        "bd6f82d8289422f618b98451a43887f452b3423e"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 28 14:27:15 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 28 14:27:15 2013 +1000"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://people.freedesktop.org/~robclark/linux into drm-next\n\nMerge the MSM driver from Rob Clark\n* \u0027drm-next\u0027 of git://people.freedesktop.org/~robclark/linux:\n  drm/msm: add basic hangcheck/recovery mechanism\n  drm/msm: add a3xx gpu support\n  drm/msm: add register definitions for gpu\n  drm/msm: basic KMS driver for snapdragon\n  drm/msm: add register definitions\n"
    },
    {
      "commit": "acb4652703f0a452405a3ab9319594eddc41391b",
      "tree": "588ca6991d01ce7e560f39cec65e4fc41b150dd6",
      "parents": [
        "ca481c9b2a3ae3598453535b8f0369f1f875d52f"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Aug 25 18:28:59 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Aug 27 11:54:58 2013 +1000"
      },
      "message": "drm: verify vma access in TTM+GEM drivers\n\nGEM does already a good job in tracking access to gem buffers via handles\nand drm_vma access management. However, TTM drivers currently do not\nverify this during mmap().\n\nTTM provides the verify_access() callback to test this. So fix all drivers\nto actually call into gem+vma to verify access instead of always returning\n0.\n\nAll drivers assume that user-space can only get access to TTM buffers via\nGEM handles. So whenever the verify_access() callback is called from\nttm_bo_mmap(), the buffer must have a valid embedded gem object. This is\ntrue for all TTM+GEM drivers. But that\u0027s why this patch doesn\u0027t touch pure\nTTM drivers (ie, vmwgfx).\n\nv2: Switch to drm_vma_node_verify_access() to correctly return -EACCES if\n    access was denied.\n\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nCc: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ca481c9b2a3ae3598453535b8f0369f1f875d52f",
      "tree": "31b84f86251db898aa8fc8a1dfa14c3bd9a0ae97",
      "parents": [
        "88d7ebe59341dc3b82e662b80809694e3c6b3766"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Sun Aug 25 18:28:58 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Aug 27 11:54:56 2013 +1000"
      },
      "message": "drm/gem: implement vma access management\n\nWe implement automatic vma mmap() access management for all drivers using\ngem_mmap. We use the vma manager to add each open-file that creates a\ngem-handle to the vma-node of the underlying gem object. Once the handle\nis destroyed, we drop the open-file again.\n\nThis allows us to use drm_vma_node_is_allowed() on _any_ gem object to see\nwhether an open-file is granted access. In drm_gem_mmap() we use this to\nverify that unprivileged users cannot guess gem offsets and map arbitrary\nbuffers.\n\nNote that this manages access for _all_ gem users (also TTM+GEM), but the\nactual access checks are only done for drm_gem_mmap(). TTM drivers use the\nTTM mmap helpers, which need to do that separately.\n\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\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": "bd6f82d8289422f618b98451a43887f452b3423e",
      "tree": "e4416dba680a3e88236f9e8b568ff2544c6e1779",
      "parents": [
        "7198e6b03155f6dadecadba004eb83b81a6ffe4c"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:20:38 2013 -0400"
      },
      "committer": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:57:19 2013 -0400"
      },
      "message": "drm/msm: add basic hangcheck/recovery mechanism\n\nA basic, no-frills recovery mechanism in case the gpu gets wedged.  We\ncould try to be a bit more fancy and restart the next submit after the\none that got wedged, but for now keep it simple.  This is enough to\nrecover things if, for example, the gpu hangs mid way through a piglit\nrun.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\n"
    },
    {
      "commit": "7198e6b03155f6dadecadba004eb83b81a6ffe4c",
      "tree": "ed4ae3e859fd9a722524242a145008d13606a95a",
      "parents": [
        "902e6eb851a78ad9e3db006c1e1df71841f633e2"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Fri Jul 19 12:59:32 2013 -0400"
      },
      "committer": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:57:18 2013 -0400"
      },
      "message": "drm/msm: add a3xx gpu support\n\nAdd initial support for a3xx 3d core.\n\nSo far, with hardware that I\u0027ve seen to date, we can have:\n + zero, one, or two z180 2d cores\n + a3xx or a2xx 3d core, which share a common CP (the firmware\n   for the CP seems to implement some different PM4 packet types\n   but the basics of cmdstream submission are the same)\n\nWhich means that the eventual complete \"class\" hierarchy, once\nsupport for all past and present hw is in place, becomes:\n + msm_gpu\n   + adreno_gpu\n     + a3xx_gpu\n     + a2xx_gpu\n   + z180_gpu\n\nThis commit splits out the parts that will eventually be common\nbetween a2xx/a3xx into adreno_gpu, and the parts that are even\ncommon to z180 into msm_gpu.\n\nNote that there is no cmdstream validation required.  All memory access\nfrom the GPU is via IOMMU/MMU.  So as long as you don\u0027t map silly things\nto the GPU, there isn\u0027t much damage that the GPU can do.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\n"
    },
    {
      "commit": "902e6eb851a78ad9e3db006c1e1df71841f633e2",
      "tree": "1afcd888237fec6436357b3264f706c8dc771a14",
      "parents": [
        "c8afe684c95cd17cf4f273d81af369a0fdfa5a74"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Fri Jul 19 12:52:29 2013 -0400"
      },
      "committer": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:57:18 2013 -0400"
      },
      "message": "drm/msm: add register definitions for gpu\n\nGenerated from rnndb files in:\n\nhttps://github.com/freedreno/envytools\n\nKeep this split out as a separate commit to make it easier to review the\nactual driver.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\n"
    },
    {
      "commit": "c8afe684c95cd17cf4f273d81af369a0fdfa5a74",
      "tree": "2dd1c87eb2541d4666f3199637f2ca8cd5a49a62",
      "parents": [
        "0cf6c71d70d8aa39b8fd0e39c9009602a0e0d300"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Jun 26 12:44:06 2013 -0400"
      },
      "committer": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:57:07 2013 -0400"
      },
      "message": "drm/msm: basic KMS driver for snapdragon\n\nThe snapdragon chips have multiple different display controllers,\ndepending on which chip variant/version.  (As far as I can tell, current\ndevices have either MDP3 or MDP4, and upcoming devices have MDSS.)  And\nthen external to the display controller are HDMI, DSI, etc. blocks which\nmay be shared across devices which have different display controller\nblocks.\n\nTo more easily add support for different display controller blocks, the\ndisplay controller specific bits are split out into a \"kms\" module,\nwhich provides the kms plane/crtc/encoder objects.\n\nThe external HDMI, DSI, etc. blocks are part encoder, and part connector\ncurrently.  But I think I will pull in the drm_bridge patches from\nchromeos tree, and split them into a bridge+connector, with the\nregisters that need to be set in modeset handled by the bridge.  This\nwould remove the \u0027msm_connector\u0027 base class.  But some things need to be\ndouble checked to make sure I could get the correct ON/OFF sequencing..\n\nThis patch adds support for mdp4 crtc (including hw cursor), dtv encoder\n(part of MDP4 block), and hdmi.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\n"
    },
    {
      "commit": "0cf6c71d70d8aa39b8fd0e39c9009602a0e0d300",
      "tree": "27e36ef9ee024c90c4e9946ae60e15691ca458ba",
      "parents": [
        "291d284c6004e3a63d0c2f6c31570ab2126843a8"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Mon Jun 24 17:12:04 2013 -0400"
      },
      "committer": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Sat Aug 24 14:33:01 2013 -0400"
      },
      "message": "drm/msm: add register definitions\n\nGenerated from rnndb files in:\n\nhttps://github.com/freedreno/envytools\n\nKeep this split out as a separate commit to make it easier to review the\nactual driver.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\n"
    },
    {
      "commit": "291d284c6004e3a63d0c2f6c31570ab2126843a8",
      "tree": "fb38da263bfd8d76ffe440f4ac9549ee53acd893",
      "parents": [
        "d0b2c5334f41bdd18adaa3fbc1f7b5f1daab7eac",
        "75346fe9bc4c9b366c760200a665a2c55b789389"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 22 10:38:28 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 22 10:38:28 2013 +1000"
      },
      "message": "Merge branch \u0027gma500-next\u0027 of git://github.com/patjak/drm-gma500 into drm-next\n\nHere\u0027s some gma500 unifying and cleanups for drm-next. There is more stuff in\nthe pipe for 3.12 but I\u0027d like to get these out of the way first.\n\n* \u0027gma500-next\u0027 of git://github.com/patjak/drm-gma500: (35 commits)\n  drm/gma500/cdv: Add and hook up chip op for disabling sr\n  drm/gma500/cdv: Add and hook up chip op for watermarks\n  drm/gma500: Rename psb_intel_encoder to gma_encoder\n  drm/gma500: Rename psb_intel_connector to gma_connector\n  drm/gma500: Rename psb_intel_crtc to gma_crtc\n  drm/gma500/cdv: Convert to generic set_config()\n  drm/gma500/psb: Convert to generic set_config()\n  drm/gma500: Add generic set_config() function\n  drm/gma500/cdv: Convert to generic save/restore\n  drm/gma500/psb: Convert to generic save/restore\n  drm/gma500: Add generic crtc save/restore funcs\n  drm/gma500: Convert to generic encoder funcs\n  drm/gma500: Add generic encoder functions\n  drm/gma500/psb: Convert to generic cursor funcs\n  drm/gma500/cdv: Convert to generic cursor funcs\n  drm/gma500: Add generic cursor functions\n  drm/gma500/psb: Convert to generic crtc-\u003edestroy\n  drm/gma500/mdfld: Use identical generic crtc funcs\n  drm/gma500/oak: Use identical generic crtc funcs\n  drm/gma500/psb: Convert to gma_crtc_dpms()\n  ...\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": "84341c280acb8217a301344082c7ad8b9af870a6",
      "tree": "a81fd041cef7ccc45cc161faa15f2564ffedc4a0",
      "parents": [
        "bdf655de47b0d17ee2efc3bea5f617445ff77adc"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:43 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:46 2013 +1000"
      },
      "message": "drm/prime: clarify logic a bit in drm_gem_prime_fd_to_handle\n\nif (!ret) implies that ret \u003d\u003d 0, so no need to clear it again. And\nexplicitly check for ret \u003d\u003d 0 to indicate that we\u0027re checking an errno\ninteger.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "bdf655de47b0d17ee2efc3bea5f617445ff77adc",
      "tree": "90a2ad1bff0cb718967a151ef735d1d15565210a",
      "parents": [
        "4332bf438bbbc31319abed61d2ac6d9932ff980c"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:42 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:46 2013 +1000"
      },
      "message": "drm/prime: shrink critical section protected by prime lock\n\nWhen exporting a gem object as a dma-buf the critical section for the\nper-fd prime lock is just the adding (and in case of errors, removing)\nof the handle to the per-fd lookup cache.\n\nSo restrict the critical section to just that part of the function.\n\nThis simplifies later reordering.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4332bf438bbbc31319abed61d2ac6d9932ff980c",
      "tree": "cfa59641788eedac7ad58d063d3d054be11542fa",
      "parents": [
        "becee2a57fd2b64c53ebef58277fbca895cf8ec1"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:41 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:46 2013 +1000"
      },
      "message": "drm/prime: use proper pointer in drm_gem_prime_handle_to_fd\n\nPart of the function uses the properly-typed dmabuf variable, the\nother an untyped void *buf. Kill the later.\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": "730c4ff95eb54e5bab39357baddd0aa6da10d4fb",
      "tree": "cb97a2bbc7e35892c1d9183ad404c6e95690d465",
      "parents": [
        "a8e11d1c435f9d185c9f3b1981b9613a579b9999"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:38 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:53:46 2013 +1000"
      },
      "message": "drm/prime: fix error path in drm_gem_prime_fd_to_handle\n\nhandle_unreference only clears up the obj-\u003ename and the reference,\nbut would leave a dangling handle in the idr. The right thing\nto do is to call handle_delete.\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": "9712def2b3e10081b5f7d3c3bddad3126df4f0ba",
      "tree": "1db7d9b608322fcf1089caac0709d49aed5a45ee",
      "parents": [
        "66cc8b6b8b2b3b5c9a67429af04ec356ff7fcfa4",
        "5c536613d8ebda3da0448550d0a997651a6048e2"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:48:59 2013 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 21 12:48:59 2013 +1000"
      },
      "message": "Merge tag \u0027drm-intel-next-2013-08-09\u0027 of git://people.freedesktop.org/~danvet/drm-intel into drm-next\n\nDaniel writes:\nNew pile of stuff for -next:\n- Cleanup of the old crtc helper callbacks, all encoders are now converted\n  to the i915 modeset infrastructure.\n- Massive amount of wm patches from Ville for ilk, snb, ivb, hsw, this is\n  prep work to eventually get things going for nuclear pageflips where we\n  need to adjust watermarks on the fly.\n- More vm/vma patches from Ben. This refactoring isn\u0027t yet fully rolled\n  out, we miss the execbuf conversion and some of the low-level\n  bind/unbind support code.\n- Convert our hdmi infoframe code to use the new common helper functions\n  (Damien). This contains some bugfixes for the common infoframe helpers.\n- Some cruft removal from Damien.\n- Various smaller bits\u0026pieces all over, as usual.\n\n* tag \u0027drm-intel-next-2013-08-09\u0027 of git://people.freedesktop.org/~danvet/drm-intel: (105 commits)\n  drm/i915: Fix FB WM for HSW\n  drm/i915: expose HDMI connectors on port C on BYT\n  drm/i915: fix a limit check in hsw_compute_wm_results()\n  drm/i915: unbreak i915_gem_object_ggtt_unbind()\n  drm/i915: Make intel_set_mode() static\n  drm/i915: Remove intel_modeset_disable()\n  drm/i915: Make intel_encoder_dpms() static\n  drm/i915: Make i915_hangcheck_elapsed() static\n  drm/i915: Fix #endif comment\n  drm/i915: Remove i915_gem_object_check_coherency()\n  drm/i915: Remove stale prototypes\n  drm/i915: List objects allocated from stolen memory in debugfs\n  drm/i915: Always call intel_update_sprite_watermarks() when disabling a plane\n  drm/i915: Pass plane and crtc to intel_update_sprite_watermarks\n  drm/i915: Don\u0027t try to disable plane if it\u0027s already disabled\n  drm/i915: Pass crtc to our update/disable_plane hooks\n  drm/i915: Split plane watermark parameters into a separate struct\n  drm/i915: Pull some watermarks state into a separate structure\n  drm/i915: Calculate max watermark levels for ILK+\n  drm/i915: Rename hsw_lp_wm_result to intel_wm_level\n  ...\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": "f336ab76008f66f6153573d1479aeed388d7b08a",
      "tree": "663730d457d336badec1b3b2486f7e047a8ffffe",
      "parents": [
        "cb6458f97b53d7f73043206c18014b3ca63ac345"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:35 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:29:41 2013 +1000"
      },
      "message": "drm: move dev data clearing from drm_setup to lastclose\n\nWe kzalloc this structure, and for real kms devices we should never\nloose track of things really.\n\nBut ums/legacy drivers rely on the drm core to clean up a bit of cruft\nbetween lastclose and firstopen (i.e. when X is being restarted), so\nkeep this around. But give it a clear drm_legacy_ prefix and\nconditionalize the code on !DRIVER_MODESET.\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": "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": "7d14bb6b537414ffe6a8641cb14088465c28460d",
      "tree": "da32f10856998e7c039a84e93a3cd5cf17f274ea",
      "parents": [
        "0faa4a877765a4855dd570d6d391f77c5c37abc3"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:15 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:28:46 2013 +1000"
      },
      "message": "drm: don\u0027t call -\u003efirstopen for KMS drivers\n\nIt has way too much potential for driver writers to do stupid things\nlike delayed hw setup because the load sequence is somehow racy (e.g.\nthe imx driver in staging). So don\u0027t call it for modesetting drivers,\nwhich reduces the complexity of the drm core -\u003e driver interface a\nnotch.\n\nv2: Don\u0027t forget to update DocBook.\n\nv3: Go with Laurent\u0027s slightly more elaborate proposal for the DocBook\nupdate. Add a few words on top of his diff to elaborate a bit on what\nKMS drivers should and shouldn\u0027t do in lastclose. There was already a\nparagraph present talking about restoring properties, I\u0027ve simply\nextended that one.\n\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0faa4a877765a4855dd570d6d391f77c5c37abc3",
      "tree": "2d76482b7f491d65e4a6950c354ad0b598e0f61d",
      "parents": [
        "b5dc0d108cd3c0b50ddcb6f6c54be1bea4c39e01"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:14 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:28:07 2013 +1000"
      },
      "message": "drm/vmwgfx: remove -\u003efirstopen callback\n\nSo if we survey kms drivers there\u0027s a bunch of things they commonly do\nin -\u003elastclose\n- delayed processing of vga switcheroo requests (i915, nouveau,\n  radeon)\n- force-restoring the fbcon (most)\n- resetting a bunch properties to make fbcon work better (omap)\n- disabling all outputs (vmwgfx)\n\nIn short besides the semantically important vga switcheroo stuff they\nall try very hard to keep fbcon working in case X dies.\n\nBut none of them try to not do this at driver unload time safe for\nvmwgfx, and digging through logs I couldn\u0027t find any reason for why\nvmwgfx is special.\n\nSince -\u003efirstopen has lots of potential for abuse with kms drivers\n(like delaying driver setup to pamper over races in the load sequence)\nit\u0027s imo very much worth it to remove this logic so that we can\nstop using the -\u003efirstopen callback for kms drivers.\n\nAlso module unloading is rather a debug feature and developers should\nknow how to restore the display to a sane configuration.\n\nCc: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b5dc0d108cd3c0b50ddcb6f6c54be1bea4c39e01",
      "tree": "7af49254fdf3dc15ffbeb76eebab48871e23e760",
      "parents": [
        "24f400326793341b005546d6ef82770f8d30d092"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:13 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:24:15 2013 +1000"
      },
      "message": "drm/imx: kill firstopen callback\n\nThis thing seems to do some kind of delayed setup. Really, real kms\ndrivers shouldn\u0027t do that at all. Either stuff needs to be dynamically\nhotplugged or the driver setup sequence needs to be fixed.\n\nThis patch here just moves the setup at the very end of the driver\nload callback, with the locking adjusted accordingly.\n\nv2: Also move the corresponding put from -\u003elastclose to -\u003eunload.\n\nCc: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "24f400326793341b005546d6ef82770f8d30d092",
      "tree": "0907625471759398224ce7d2a39570de74e2aeb9",
      "parents": [
        "90254ac084a6465e46cdada933bf3a7e9ee90277"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Thu Aug 08 19:10:21 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:22:29 2013 +1000"
      },
      "message": "drm: fix minor number range calculation\n\nCurrently, both ranges overlap. Fix the limits so both ranges are mutually\nexclusive. Also use the occasion to convert whitespaces to tabs.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\n(fixed up tabs and adjust commit-msg accordingly)\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "90254ac084a6465e46cdada933bf3a7e9ee90277",
      "tree": "0ab7e76810518282ba09f42eeeebb7f6fffbbef2",
      "parents": [
        "6eb9278adabd17da3bc1cb843c729d1b10d79c93"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:33 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:16:47 2013 +1000"
      },
      "message": "drm: fix locking in gem debugfs/procfs file\n\nThe idr is protected with our spinlock, if we don\u0027t hold that nothing\nprevents the gem objects from disappearing from under us.\n\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": "2ba5f7d538976a9d6a70339da4be49f6652fe753",
      "tree": "666e19767d1ee540a217c550bf6647935bb3bda6",
      "parents": [
        "281856477cdaba70032af502ee7192fe7aa54f69"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:28 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 14:14:37 2013 +1000"
      },
      "message": "drm/docs: rip out removed driver flags documentation\n\nI\u0027ve forgotten this and shuffling all the little pieces into the\nrespective patches is rather cumbersome ...\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\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": "1216f732379151cd581444e385a8266d0b54549d",
      "tree": "4bb20e8000b08255a46f9be345f00099eb6d333d",
      "parents": [
        "6bc505b86ae9d4ab45464e3e3c0ab8992d6a5aff"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:36 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:47:37 2013 +1000"
      },
      "message": "drm/gem: WARN about unbalanced handle refcounts\n\nTrying to drop a reference we don\u0027t have is a pretty serious bug.\nTrying to paper over it is an even worse offense.\n\nSo scream into dmesg with a big WARN in case that ever happens.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "6bc505b86ae9d4ab45464e3e3c0ab8992d6a5aff",
      "tree": "2a0ff0844aba2081d46683cb665208cd83862884",
      "parents": [
        "36da5908a275d6319c17e758b5bde89b4f573959"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:35 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:47:13 2013 +1000"
      },
      "message": "drm/gem: remove bogus NULL check from drm_gem_object_handle_unreference_unlocked\n\nCalling this function with a NULL object is simply a bug, so papering\nover a NULL object not a good idea.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\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": "01ce605a7bd8f4aaaf3c0accdaa5e106982b698c",
      "tree": "81d66effe325efc0f3758c4b3ca9f40fbb1e8eb5",
      "parents": [
        "d0ed8d27faf0030d2659502ec0c47d1a8de3defa"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 15 00:02:32 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:46:16 2013 +1000"
      },
      "message": "drm/prime: remove cargo-cult locking from map_sg helper\n\nI\u0027ve checked both implementations (radeon/nouveau) and they both grab\nthe page array from ttm simply by dereferencing it and then wrapping\nit up with drm_prime_pages_to_sg in the callback and map it with\ndma_map_sg (in the helper).\n\nOnly the grabbing of the underlying page array is anything we need to\nbe concerned about, and either those pages are pinned independently,\nor we\u0027re screwed no matter what.\n\nAnd indeed, nouveau/radeon pin the backing storage in their\nattach/detach functions.\n\nSince I\u0027ve created this patch cma prime support for dma_buf was added.\ndrm_gem_cma_prime_get_sg_table only calls kzalloc and the creates\u0026maps\nthe sg table with dma_get_sgtable. It doesn\u0027t touch any gem object\nstate otherwise. So the cma helpers also look safe.\n\nThe only thing we might claim it does is prevent concurrent mapping of\ndma_buf attachments. But a) that\u0027s not allowed and b) the current code\nis racy already since it checks whether the sg mapping exists _before_\ngrabbing the lock.\n\nSo the dev-\u003estruct_mutex locking here does absolutely nothing useful,\nbut only distracts. Remove it.\n\nThis should also help Maarten\u0027s work to eventually pin the backing\nstorage more dynamically by preventing locking inversions around\ndev-\u003estruct_mutex.\n\nv2: Add analysis for recently added cma helper prime code.\n\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d0ed8d27faf0030d2659502ec0c47d1a8de3defa",
      "tree": "300841a69ef1368236269cb3777d5c93f6bc7fcc",
      "parents": [
        "c1d6798d20eed38b842eee01813ca6c48630d563"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Thu Aug 15 00:02:31 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:45:38 2013 +1000"
      },
      "message": "drm/exynos: explicit store base gem object in dma_buf-\u003epriv\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.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": "2bc7b0ca8cc3bdcf61a7d4a99ed55c4ad084a4ae",
      "tree": "f5ae58fcde9c00c791536f9772cf762f4804c67e",
      "parents": [
        "b21e3afe2357c0f49348a5fb61247012bf8262ec"
      ],
      "author": {
        "name": "David Herrmann",
        "email": "dh.herrmann@gmail.com",
        "time": "Tue Aug 13 14:19:58 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:40:46 2013 +1000"
      },
      "message": "drm/host1x: stop casting VMA offsets to 32bit\n\nVMA offsets are 64bit so do not cast them to \"unsigned int\". Also remove\nthe (now useless) offset-retrieval helper. The VMA manager provides simple\nenough helpers.\n\nCc: Thierry Reding \u003cthierry.reding@gmail.com\u003e\nCc: \"Terje Bergström\" \u003ctbergstrom@nvidia.com\u003e\nCc: Arto Merilainen \u003camerilainen@nvidia.com\u003e\nSigned-off-by: David Herrmann \u003cdh.herrmann@gmail.com\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": "ddcd09d62bd503bfd33291348b7cd8ad32d413fd",
      "tree": "07680104fac373d348682c1c6b251d8929d3604a",
      "parents": [
        "5dc9e1e87229cb786a5bb58ddd0d60fee6eb4641"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:27 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:36:16 2013 +1000"
      },
      "message": "drm/omap: kill omap_gem_helpers.c\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5dc9e1e87229cb786a5bb58ddd0d60fee6eb4641",
      "tree": "ebd037f17f185e0309a03fa09febf9f689f559bf",
      "parents": [
        "8b9ba7a38c4916e67f43223a7973374e7c44e5cb"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:26 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:36:12 2013 +1000"
      },
      "message": "drm/udl: use gem get/put page helpers\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "8b9ba7a38c4916e67f43223a7973374e7c44e5cb",
      "tree": "8be7fcd9ef05ce118517f7a4aaadab1e499c5d53",
      "parents": [
        "bcc5c9d50e93bb7d949f6f38063b62dd35ca84d1"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:25 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:36:08 2013 +1000"
      },
      "message": "drm/gma500: use gem get/put page helpers\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.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": "5833bd2fe1c7d9e2650a11a8785b848bbd0d0188",
      "tree": "a269a17ae4b26775be3d82baa85d3e7ae1824ab1",
      "parents": [
        "a464d618c715b7a850f7459754d9d155f5e60538"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:21 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:33:39 2013 +1000"
      },
      "message": "drm/omap: use flip-work helper\n\nAnd simplify how we hold a ref+pin to what is being scanned out by using\nfb refcnt\u0027ing.  The previous logic pre-dated fb refcnt, and as a result\nwas less straightforward than it could have been.  By holding a ref to\nthe fb, we don\u0027t have to care about how many plane\u0027s there are and\nholding a ref to each color plane\u0027s bo.\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a464d618c715b7a850f7459754d9d155f5e60538",
      "tree": "78edb8216877a677fd51c5d335394cf5fe9c41f1",
      "parents": [
        "cabaafc78935521c5abc7ec72278dbaa5400c995"
      ],
      "author": {
        "name": "Rob Clark",
        "email": "robdclark@gmail.com",
        "time": "Wed Aug 07 13:41:20 2013 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:33:36 2013 +1000"
      },
      "message": "drm/tilcdc: use flip-work helper\n\nSigned-off-by: Rob Clark \u003crobdclark@gmail.com\u003e\nTested-by: Darren Etheridge \u003cdetheridge@ti.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": "d79cdc8312689b39c6d83718c1c196af4b3cd18c",
      "tree": "eab04169998f71a4c47653170f56a7d1dc1a48ef",
      "parents": [
        "719524df4a2e48fa7ca3ad1697fd9a7f85ec8ad3"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:32 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:06:24 2013 +1000"
      },
      "message": "drm: no-op out GET_STATS ioctl\n\nAgain only used by a tests in libdrm and by dristat. Nowadays we have\nmuch better tracing tools to get detailed insights into what a drm\ndriver is doing. And for a simple \"does it work\" kind of question that\nthese stats could answer we have plenty of dmesg debug log spew.\n\nSo I don\u0027t see any use for this stat gathering complexity at all.\n\nTo be able to gradually drop things start with ripping out the\ninterfaces to it, here the ioctl.\n\nTo prevent dristat from eating its own stack garbage we can\u0027t use the\ndrm_noop ioctl though, since we need to clear the return data with a\nmemset.\n\nCc: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "719524df4a2e48fa7ca3ad1697fd9a7f85ec8ad3",
      "tree": "28fc19cf0ca09555b271122aea4b43f0ce5dbfba",
      "parents": [
        "d678959f0a16da74beaa7e7c2fbb943ebd08a1d3"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:31 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:54 2013 +1000"
      },
      "message": "drm: hollow-out GET_CLIENT ioctl\n\nWe not only have debugfs files to do pretty much the equivalent of\nlsof, we also have an ioctl. Not that compared to lsof this dumps a\nwee bit more information, but we can still get at that from debugfs\neasily.\n\nI\u0027ve dug around in mesa, libdrm and ddx histories and the only users\nseem to be drm/tests/dristat.c and drm/tests/getclients.c. The later\nis a testcase for the ioctl itself since up to\n\ncommit b018fcdaa5e8b4eabb8cffda687d00004a3c4785\nAuthor: Eric Anholt \u003ceric@anholt.net\u003e\nDate:   Thu Nov 22 18:46:54 2007 +1000\n\n    drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can\u0027t find client #idx\n\nthere was actually no way at all for userspace to enumerate all\nclients since the kernel just wouldn\u0027t tell it when to stop. Which\ncompletely broke it\u0027s only user, dristat -c.\n\nSo obviously that ioctl wasn\u0027t much use for debugging. Hence I don\u0027t\nsee any point in keeping support for a tool which was pretty obviously\nnever really used, and while we have good replacements in the form of\nequivalent debugfs files.\n\nStill, to keep dristat -c from looping forever again stop it early by\nreturning an unconditional -EINVAL. Also add a comment in the code\nabout why.\n\nv2: Slightly less hollowed-out implementation. libva uses GET_CLIENTS\nto figure out whether the fd it has is already authenticated or not.\nSo we need to keep that part of things working. Simplest way is to\njust return one entry to keep va_drm_is_authenticated in\nlibva/va/drm/va_drm_auth.c working.\n\nThis is exercised by igt/drm_get_client_auth which contains a\ncopypasta of the libva auth check code.\n\nCc: Gwenole Beauchesne \u003cgwenole.beauchesne@intel.com\u003e\nCc: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nReviewed-by: David Herrmann \u003cdh.herrmann@gmail.com\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d678959f0a16da74beaa7e7c2fbb943ebd08a1d3",
      "tree": "b8f88056e29cf65e4e62ff192cf394c45fbdfc8a",
      "parents": [
        "fac3eaffb1139156099b6111337525d47e65bca6"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:30 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:53 2013 +1000"
      },
      "message": "drm/memory: don\u0027t export agp helpers\n\nThey\u0027re only used by the agpgart support code in drm_agpgart.c,\nnot by any drivers.\n\nI think long-term we should create a drm_internal.h include file with\nall the various functions only used by the drm core and not exported\nto drivers, and remove them from drmP.h. Oh, and someone should kill\nthat upper-case P sometimes ;-) But that\u0027s all stuff for future patch\nbombs.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\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"
    },
    {
      "commit": "74867e3d53e41afe2a093196850167542fa508d2",
      "tree": "74b5149507d1884bccc141fc744f538995ae54fb",
      "parents": [
        "687fbb2e4f46ad00cbfef3f0da2425af7e8684a1"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:25 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:28 2013 +1000"
      },
      "message": "drm: rip out a few unused DRIVER flags\n\nThe gma500 driver somehow set the DRIVER_IRQ_VBL flag, but since\nthere\u0027s no code at all to check for this we can kill it. The other two\nare completely unused.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "687fbb2e4f46ad00cbfef3f0da2425af7e8684a1",
      "tree": "b2de09aee7f2afffbb319c763d1727a13bca18ec",
      "parents": [
        "b0e898ac555e96e7863a5ee95d70f3625f1db5e2"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:24 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:19 2013 +1000"
      },
      "message": "drm: rip out DRIVER_FB_DMA and related code\n\nNo driver ever sets that flag, so good riddance!\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b0e898ac555e96e7863a5ee95d70f3625f1db5e2",
      "tree": "6b2b00af9c5368b068b0c77d58fff1f1990f311b",
      "parents": [
        "5bbd533248f653fcfd8de0f1202e2c67d8f884a4"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:23 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:17 2013 +1000"
      },
      "message": "drm: remove FASYNC support\n\nSo I\u0027ve stumbled over drm_fasync and wondered what it does. Digging\nthat up is quite a story.\n\nFirst I\u0027ve had to read up on what this does and ended up being rather\nbewildered why peopled loved signals so much back in the days that\nthey\u0027ve created SIGIO just for that ...\n\nThen I wondered how this ever works, and what that strange \"No-op.\"\ncomment right above it should mean. After all calling the core fasync\nhelper is pretty obviously not a noop. After reading through the\nkernels FASYNC implementation I\u0027ve noticed that signals are only sent\nout to the processes attached with FASYNC by calling kill_fasync.\n\nNo merged drm driver has ever done that.\n\nAfter more digging I\u0027ve found out that the only driver that ever used\nthis is the so called GAMMA driver. I\u0027ve frankly never heard of such a\ngpu brand ever before. Now FASYNC seems to not have been the only bad\nthing with that driver, since Dave Airlie removed it from the drm\ndriver with prejudice:\n\ncommit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed\nAuthor: Dave Airlie \u003cairlied@linux.ie\u003e\nDate:   Sun Aug 29 12:04:35 2004 +0000\n\n    Drop GAMMA DRM from a great height ...\n\nLong story short, the drm fasync support seems to be doing absolutely\nnothing. And the only user of it was never merged into the upstream\nkernel. And we don\u0027t need any fops-\u003efasync callback since the fcntl\nimplementation in the kernel already implements the noop case\ncorrectly.\n\nSo stop this particular cargo-cult and rip it all out.\n\nv2: Kill drm_fasync assignments in rcar (newly added) and imx drivers\n(somehow I\u0027ve missed that one in staging). Also drop the reference in\nthe drm DocBook. ARM compile-fail reported by Rob Clark.\n\nv3: Move the removal of dev-\u003ebuf_asnyc assignment in drm_setup to this\npatch here.\n\nv4: Actually git add ... tsk.\n\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: Rob Clark \u003crobdclark@gmail.com\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.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": "5bbd533248f653fcfd8de0f1202e2c67d8f884a4",
      "tree": "c160cdf03dd907c4aac0ebd5b6fd3d5ae89fba76",
      "parents": [
        "7c510133d93dd6f15ca040733ba7b2891ed61fd1"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:22 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:05:04 2013 +1000"
      },
      "message": "drm/vmwgfx: remove redundant clearing of driver-\u003edma_quiescent\n\nIt\u0027s kzalloced ...\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7c510133d93dd6f15ca040733ba7b2891ed61fd1",
      "tree": "82c22a7ef8058c7a1c212e89fb6156eaad3fa19e",
      "parents": [
        "8d38c4b4371b8f9d1d72737c880cdae14b024142"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:21 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:04:48 2013 +1000"
      },
      "message": "drm: mark context support as a legacy subsystem\n\nSo after a lot of digging around in git histories it looks like this\nhas only ever be used by dri1 render clients. Hence we can fully\ndisable the entire thing for modesetting drivers and so greatly reduce\nthe attack surface for potential exploits (or at least tools like\ntrinity ...).\n\nAlso add the drm_legacy prefix for functions which are called from\ncommon code. To further reduce the impact on common code also extract\nall the ctx release handling into a function (instead of only\nreleasing individual handles) and make ctxbitmap_cleanup return void -\nit can never fail.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "8d38c4b4371b8f9d1d72737c880cdae14b024142",
      "tree": "7436009ff2e591c9ac8e74a18229f86a6ca67f41",
      "parents": [
        "e2e99a8206bcce6f2d3d72ff8be42859f98dbcda"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:20 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:04:34 2013 +1000"
      },
      "message": "drm: disallow legacy dma ioctls for modesetting drivers\n\nNow only legacy ums drivers have the DRIVER_HAVE_DMA driver feature\nflag set, so strictly speaking the modesetting check is redundant. But\nadding it has the upside that it makes it very clear that the dma\nsupport is legacy stuff.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e2e99a8206bcce6f2d3d72ff8be42859f98dbcda",
      "tree": "57e71365586e9972a89433fe3c91b8ae74df2f23",
      "parents": [
        "8e194bbf96d81c651c52b82e125be1264db0cd4e"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:19 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:04:21 2013 +1000"
      },
      "message": "drm: mark dma setup/teardown as legacy systems\n\nAnd hide the checks a bit better. This was already disallowed for\nmodesetting drivers, so no functinal change here.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "8e194bbf96d81c651c52b82e125be1264db0cd4e",
      "tree": "2469ac9f56922bb9a33af856fcd7fc710bf7eb71",
      "parents": [
        "3d914e8357256e7e92d1b7dd2dda9cf94e39c4e8"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:18 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:04:06 2013 +1000"
      },
      "message": "drm: disallow legacy sg ioctls for modesetting drivers\n\nOnly the radeon/r128/ati ums drivers use this. Furthermore the cleanup\nwas already only done for UMS drivers. Also a quick check of the ATI\nddx git history shows that only the UMS code ever used this facility.\n\nSo we can safely disallow these pair of ioctls for modesetting\ndrivers.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3d914e8357256e7e92d1b7dd2dda9cf94e39c4e8",
      "tree": "252aea0277f6713ba7b57e7e6615f599e373186b",
      "parents": [
        "45886af246d926304d5e990da63d55d9db3216c0"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:17 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:03:49 2013 +1000"
      },
      "message": "drm: hide legacy sg cleanup better from common code\n\nI\u0027ve decided that some clear markers for what\u0027s legacy dri1/non-gem\ncode is useful. I\u0027ve opted to use the drm_legacy prefix and then hide\nall the checks in that function for better readability in the common\ncode.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "45886af246d926304d5e990da63d55d9db3216c0",
      "tree": "7d042328d741779cb5c54ba127e6ca3a1cc341f8",
      "parents": [
        "d8ed16884afc536da6ad480a135d2a54940224d6"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Aug 08 15:41:16 2013 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 19 10:03:26 2013 +1000"
      },
      "message": "drm: kill dev-\u003edriver-\u003eset_version\n\nTotally unused, so just rip it out. Anyway, we want drivers to be\nfully backwards compatible, allowing them to change behaviour is just\na recipe for them to break badly.\n\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\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"
    }
  ],
  "next": "d8ed16884afc536da6ad480a135d2a54940224d6"
}
