)]}'
{
  "log": [
    {
      "commit": "09855acb1c2e3779f25317ec9a8ffe1b1784a4a8",
      "tree": "4a96a67c6bc9694036a95aafd4004c9e9b89eadc",
      "parents": [
        "4361e52ad0372e6fd2240a2207b49a4de1f45ca9"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Thu Dec 10 17:16:27 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 11 14:09:05 2009 +1000"
      },
      "message": "drm/ttm: Convert ttm_buffer_object_init to use ttm_placement\n\nConvert ttm_buffer_object_init to use struct ttm_placement and\nrename to ttm_bo_init for consistency with function naming. This\nallow to give more complex placement at buffer creation. For\ninstance you ask to allocate bo into vram first but if there is\nnot enough vram you can give system as a second possible\nplacement. It also allow to create buffer in a specific range.\n\nAlso rename ttm_buffer_object_validate to ttm_bo_validate.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "98ffc4158e12008102cb6ae242a7fc46f9243f0d",
      "tree": "fa8b231281fac87afe88ab9a0539c6ab5cdc2100",
      "parents": [
        "312ea8da049a1830aa50c6e00002e50e30df476e"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Mon Dec 07 18:36:18 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:09:03 2009 +1000"
      },
      "message": "drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.\n\nReturn -ERESTARTSYS instead of -ERESTART when interrupted by a signal.\nThe -ERESTARTSYS is converted to an -EINTR by the kernel signal layer\nbefore returned to user-space.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ca262a9998d46196750bb19a9dc4bd465b170ff7",
      "tree": "b128691e5c57f6305c5752ac5c1b09e6aedfb650",
      "parents": [
        "a2e68e92d384d37c8cc6bb7206d43b1eb9bc3f08"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Tue Dec 08 15:33:32 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:09:02 2009 +1000"
      },
      "message": "drm/ttm: Rework validation \u0026 memory space allocation (V3)\n\nThis change allow driver to pass sorted memory placement,\nfrom most prefered placement to least prefered placement.\nIn order to avoid long function prototype a structure is\nused to gather memory placement informations such as range\nrestriction (if you need a buffer to be in given range).\nRange restriction is determined by fpfn \u0026 lpfn which are\nthe first page and last page number btw which allocation\ncan happen. If those fields are set to 0 ttm will assume\nbuffer can be put anywhere in the address space (thus it\navoids putting a burden on the driver to always properly\nset those fields).\n\nThis patch also factor few functions like evicting first\nentry of lru list or getting a memory space. This avoid\ncode duplication.\n\nV2: Change API to use placement flags and array instead\n    of packing placement order into a quadword.\nV3: Make sure we set the appropriate mem.placement flag\n    when validating or allocation memory space.\n\n[Pending Thomas Hellstrom further review but okay\nfrom preliminary review so far].\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4bfd75cb08a362cb1df35dc6a5032d12843c6d87",
      "tree": "1363edb589855b593d916411bf3d2f2b5e6cfcf1",
      "parents": [
        "c078aa2fc4d8e022c3b611e07b25ff77afdf9b73"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:27 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:07 2009 +1000"
      },
      "message": "drm/ttm: Export symbols needed for the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c078aa2fc4d8e022c3b611e07b25ff77afdf9b73",
      "tree": "60349ecc7344001b3824529be376b4677012583d",
      "parents": [
        "4aff1013f5e4ae08a24155c029a2c5e1a7929de6"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:26 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:05 2009 +1000"
      },
      "message": "drm/ttm: Add TTM execbuf utilities.\n\nUtilities to reserve, unreserve and fence a list of TTM\nbuffer objects in a deadlock-safe manner.\n\nUsed by the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4aff1013f5e4ae08a24155c029a2c5e1a7929de6",
      "tree": "1317322a9e6e4c6094cfa32090c05c20db252ec0",
      "parents": [
        "88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:25 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:03 2009 +1000"
      },
      "message": "drm/ttm: Add ttm lock functionality.\n\nThis is intended to be used by ttm-aware drivers to\n1) Block clients to inactive masters when\nthey try to validate buffers for GPU use.\n2) Optionally block clients to the current master when\nthere is thrashing due to GPU memory shortage.\n\nUsed by the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc",
      "tree": "a0be303c46b4cfa28b8357cf27ab6fae666fe470",
      "parents": [
        "01d01ba947670cf58f22119fc126fdf39078f6ba"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:24 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:01 2009 +1000"
      },
      "message": "drm/ttm: Add user-space objects.\n\nAdd objects needed for user-space to maintain reference counts on ttm objects.\nThis is used by the vmwgfx driver which allows user-space to maintain\nmap-counts on dma buffers, lock-counts on the ttm lock and ref-counts on\ngpu surfaces, gpu contexts and dma buffer.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c3a73ba13bac7fd96030f39202b2d37fb19c46a6",
      "tree": "e91c424da8f71a5e5923ff4175c3b15cf4543b65",
      "parents": [
        "46a79fa08a9a890a12cf9ec3ce51800911a907bf"
      ],
      "author": {
        "name": "Martin Michlmayr",
        "email": "tbm@cyrius.com",
        "time": "Thu Nov 19 16:29:45 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 09:11:16 2009 +1000"
      },
      "message": "drm/ttm: Fix build failure due to missing struct page\n\ndrm/ttm fails to build on MIPS because \"struct page\" is not known:\n| In file included from drivers/gpu/drm/ttm/ttm_memory.c:28:\n| include/drm/ttm/ttm_memory.h:154: warning: \u0027struct page\u0027 declared inside parameter list\n| include/drm/ttm/ttm_memory.h:154: warning: its scope is only this definition or declaration, which is probably not what you want\n| include/drm/ttm/ttm_memory.h:156: warning: \u0027struct page\u0027 declared inside parameter list\n| drivers/gpu/drm/ttm/ttm_memory.c:540: error: conflicting types for \u0027ttm_mem_global_alloc_page\u0027\n| include/drm/ttm/ttm_memory.h:154: error: previous declaration of \u0027ttm_mem_global_alloc_page\u0027 was here\n| drivers/gpu/drm/ttm/ttm_memory.c:561: error: conflicting types for \u0027ttm_mem_global_free_page\u0027\n| include/drm/ttm/ttm_memory.h:156: error: previous declaration of \u0027ttm_mem_global_free_page\u0027 was here\n\nSigned-off-by: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nCc: stable@kernel.org\nAcked-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "51c8b4071d84d46cc100baa5931ad06b2a823c95",
      "tree": "098cf9d41ce1c548d922708a770a9efe35e434df",
      "parents": [
        "a987fcaa805fcb24ba885c2e29fd4fdb6816f08f",
        "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 20 13:38:04 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 20 13:38:04 2009 +1000"
      },
      "message": "Merge Linus master to drm-next\n\nlinux-next conflict reported needed resolution.\n\nConflicts:\n\tdrivers/gpu/drm/drm_crtc.c\n\tdrivers/gpu/drm/drm_edid.c\n\tdrivers/gpu/drm/i915/intel_sdvo.c\n\tdrivers/gpu/drm/radeon/radeon_ttm.c\n\tdrivers/gpu/drm/ttm/ttm_bo.c\n"
    },
    {
      "commit": "a987fcaa805fcb24ba885c2e29fd4fdb6816f08f",
      "tree": "561b6dd8e002e2eb1a75132b1edbd303782dc2fb",
      "parents": [
        "5fd9cbad3a4ae82c83c55b9c621d156c326724ef"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Tue Aug 18 16:51:56 2009 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Aug 19 16:10:34 2009 +1000"
      },
      "message": "ttm: Make parts of a struct ttm_bo_device global.\n\nCommon resources, like memory accounting and swap lists should be\nglobal and not per device. Introduce a struct ttm_bo_global to\naccomodate this, and register it with sysfs. Add a small sysfs interface\nto return the number of active buffer objects.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "5fd9cbad3a4ae82c83c55b9c621d156c326724ef",
      "tree": "1a0868a3bd2751fa861c083aeb3ac27f3f695694",
      "parents": [
        "e9840be8c23601285a70520b4898818f28ce8c2b"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Mon Aug 17 16:28:39 2009 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Aug 19 16:09:53 2009 +1000"
      },
      "message": "drm/ttm: Memory accounting rework.\n\nUse inclusive zones to simplify accounting and its sysfs representation.\nUse DMA32 accounting where applicable.\n\nAdd a sysfs interface to make the heuristically determined limits\nreadable and configurable.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "a0724fcf829e5afb66159ef68cb16a805ea11b42",
      "tree": "f407795b0b6e38b8cbdf141de4135810c6a5ceab",
      "parents": [
        "949ef70e2d1a5c12178875f513df34fc85d91a38"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Mon Aug 17 01:18:38 2009 +0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Aug 19 16:07:00 2009 +1000"
      },
      "message": "drm/ttm: optimize bo_kmap_type values\n\nA micro-optimization on the function ttm_kmap_obj_virtual().\n\nBy defining the values of enum ttm_bo_kmap_obj::bo_kmap_type to have a\nbit indicating iomem, size of the function ttm_kmap_obj_virtual() will be\nreduced by 16 bytes on x86_64 (gcc 4.1.2).\n\nttm_kmap_obj_virtual() may be heavily used, when buffer objects are\naccessed via wrappers, that work for both kinds of memory addresses:\niomem cookies and kernel virtual.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e024e11070a0a0dc7163ce1ec2da354a638bdbed",
      "tree": "add483e7428f91da6f3c26be702aa45e6d69b694",
      "parents": [
        "c836e862803b2aa2bd9a354e151316d2b42c44ec"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jun 24 09:48:08 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jul 29 15:42:18 2009 +1000"
      },
      "message": "drm/radeon/kms: add initial colortiling support.\n\nThis adds new set/get tiling interfaces where the pitch\nand macro/micro tiling enables can be set. Along with\na flag to decide if this object should have a surface when mapped.\n\nThe only thing we need to allocate with a mapped surface should be\nthe frontbuffer. Note rotate scanout shouldn\u0027t require one, and\nback/depth shouldn\u0027t either, though mesa needs some fixes.\n\nIt fixes the TTM interfaces along Thomas\u0027s suggestions, and I\u0027ve tested\nthe surface stealing code with two X servers and not seen any lockdep issues.\n\nI\u0027ve stopped tiling the fbcon frontbuffer, as I don\u0027t see there being\nany advantage other than testing, I\u0027ve left the testing commands in there,\njust flip the fb_tiled to true in radeon_fb.c\n\nOpen: Can we integrate endian swapping in with this?\n\nFuture features:\ntexture tiling - need to relocate texture registers TXOFFSET* with tiling info.\n\nThis also merges Michel\u0027s cleanup surfaces regs at init time patch\neven though it makes sense on its own, this patch really relies on it.\n\nSome PowerMac firmwares set up a tiling surface at the beginning of VRAM\nwhich messes us up otherwise.\nthat patch is:\nSigned-off-by: Michel Dänzer \u003cdaenzer@vmware.com\u003e\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ad49f501867cba87e1e45e5ebae0b12435d68bf1",
      "tree": "4602e5caf96451b1dcdda7a38628d494466d2e20",
      "parents": [
        "61b576dbbe6a19d102c025ebc102a0749e2d3c80"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Fri Jul 10 22:36:26 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jul 15 17:13:18 2009 +1000"
      },
      "message": "drm/ttm/radeon: add dma32 support.\n\nThis add support for using dma32 memory on gpus that really need it.\n\nCurrently IGPs are left without DMA32 but we might need to change\nthat unless we can fix rs690.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d1724078d6a01177c1db4ea0b75fda1ca8a73d57",
      "tree": "24c2cef55a572938acadbbd662df4d65701ca38e",
      "parents": [
        "531369e62649bb8f31217cc0bf33ee6f89f1dff6"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Jun 24 19:57:35 2009 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jul 15 17:13:09 2009 +1000"
      },
      "message": "ttm: Make messages more readable.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ba4e7d973dd09b66912ac4c0856add8b0703a997",
      "tree": "32a87edb83a427ffd22645c5f77e6cec8be4e719",
      "parents": [
        "e6c03c5b40314d787f7053f631594d6b1bd609e8"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Jun 10 15:20:19 2009 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Jun 15 09:37:57 2009 +1000"
      },
      "message": "drm: Add the TTM GPU memory manager subsystem.\n\nTTM is a GPU memory manager subsystem designed for use with GPU\ndevices with various memory types (On-card VRAM, AGP,\nPCI apertures etc.). It\u0027s essentially a helper library that assists\nthe DRM driver in creating and managing persistent buffer objects.\n\nTTM manages placement of data and CPU map setup and teardown on\ndata movement. It can also optionally manage synchronization of\ndata on a per-buffer-object level.\n\nTTM takes care to provide an always valid virtual user-space address\nto a buffer object which makes user-space sub-allocation of\nbig buffer objects feasible.\n\nTTM uses a fine-grained per buffer-object locking scheme, taking\ncare to release all relevant locks when waiting for the GPU.\nAlthough this implies some locking overhead, it\u0027s probably a big\nwin for devices with multiple command submission mechanisms, since\nthe lock contention will be minimal.\n\nTTM can be used with whatever user-space interface the driver\nchooses, including GEM. It\u0027s used by the upcoming Radeon KMS DRM driver\nand is also the GPU memory management core of various new experimental\nDRM drivers.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    }
  ]
}
