)]}'
{
  "log": [
    {
      "commit": "2f3f24061c5c489074ad492bf694a5a76ebd8fc5",
      "tree": "a02e00a7e98a4fa543b1e7fc4eda2fbd62d16b6d",
      "parents": [
        "652a187664902399d34f5b3a084fdbb51b2ca12f",
        "f2646380655b32481b5e76c666e1793dfef184bd"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun Dec 16 05:49:46 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun Dec 16 05:49:46 2012 +0000"
      },
      "message": "Merge branch \u0027exynos-drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next\n\nInki writes:\n\"- add dmabuf attach/detach feature\n  . This patch would resolve performance deterioration issue\n    when v4l2-based driver is using the buffer imported from gem.\n- drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute\n  . With gem allocation, kernel space mapping isn\u0027t allocated and\n    also physical pages aren\u0027t mapped with the kernel space.\n    The physical pages are mapped with kernel space though vmap\n    function only for console framebuffer.\n- add the below two patches I missed.\n  drm: exynos: moved exynos drm device registration to drm driver\n  drm: exynos: moved exynos drm hdmi device registration to drm driver\n- add IPP subsystem framework and its-based device drivers.\n  . This patch set includes fimc, rotator and gsc drivers to perform\n    image scaling, rotation and color space conversion.\n- add runtime pm support to hdmi driver.\n- And fixups and cleanups.\"\n\n* \u0027exynos-drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (30 commits)\n  drm/exynos: add gsc ipp driver\n  drm/exynos: add rotator ipp driver\n  drm/exynos: add fimc ipp driver\n  drm/exynos: add iommu support for ipp\n  drm/exynos: add ipp subsystem\n  drm/exynos: support device tree for fimd\n  drm/exynos: support extended screen coordinate of fimd\n  drm/exynos: fix x, y coordinates for right bottom pixel\n  drm/exynos: fix fb offset calculation for plane\n  drm/exynos: hdmi: Fix potential NULL pointer dereference error\n  drm/exynos: hdmi: Add CONFIG_OF and use of_match_ptr() macro\n  drm/exynos: add support for hdmiphy power control for exynos5\n  drm/exynos: add runtime pm support for mixer\n  drm/exynos: added runtime pm support for hdmi\n  drm/exynos: fix allocation and cache mapping type\n  drm/exynos: reorder framebuffer init sequence\n  drm/exynos/iommu: fix return value check in drm_create_iommu_mapping()\n  drm/exynos: remove unused vaddr member\n  drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute\n  drm/exynos: add exception codes to exynos_drm_fbdev_create()\n  ...\n"
    },
    {
      "commit": "cb471f14b5eebfed22bb9f2d0f06601f171c574a",
      "tree": "955334335ef7d041553dc6d6b1351b9a8f3fa593",
      "parents": [
        "d636ead86fb806085de4ce98693e8d91c419d8f3"
      ],
      "author": {
        "name": "Eunchul Kim",
        "email": "chulspro.kim@samsung.com",
        "time": "Fri Dec 14 18:10:31 2012 +0900"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "daeinki@gmail.com",
        "time": "Sat Dec 15 02:29:08 2012 +0900"
      },
      "message": "drm/exynos: add ipp subsystem\n\nThis patch adds Image Post Processing(IPP) support for exynos drm driver.\n\nIPP supports image scaler/rotator and input/output DMA operations\nusing IPP subsystem framework to control FIMC, Rotator and GSC hardware\nand supports some user interfaces for user side.\n\nAnd each IPP-based drivers support Memory to Memory operations\nwith various converting. And in case of FIMC hardware, it also supports\nWriteback and Display output operations through local path.\n\nFeatures:\n- Memory to Memory operation support.\n- Various pixel formats support.\n- Image scaling support.\n- Color Space Conversion support.\n- Image crop operation support.\n- Rotate operation support to 90, 180 or 270 degree.\n- Flip operation support to vertical, horizontal or both.\n- Writeback operation support to display blended image of FIMD fifo on screen\n\nA summary to IPP Subsystem operations:\nFirst of all, user should get property capabilities from IPP subsystem\nand set these properties to hardware registers for desired operations.\nThe properties could be pixel format, position, rotation degree and\nflip operation.\n\nAnd next, user should set source and destination buffer data using\nDRM_EXYNOS_IPP_QUEUE_BUF ioctl command with gem handles to source and\ndestinition buffers.\n\nAnd next, user can control user-desired hardware with desired operations\nsuch as play, stop, pause and resume controls.\n\nAnd finally, user can aware of dma operation completion and also get\ndestination buffer that it contains user-desried result through dequeue\ncommand.\n\nIOCTL commands:\n- DRM_EXYNOS_IPP_GET_PROPERTY\n  . get ipp driver capabilitis and id.\n- DRM_EXYNOS_IPP_SET_PROPERTY\n  . set format, position, rotation, flip to source and destination buffers\n- DRM_EXYNOS_IPP_QUEUE_BUF\n  . enqueue/dequeue buffer and make event list.\n- DRM_EXYNOS_IPP_CMD_CTRL\n  . play/stop/pause/resume control.\n\nEvent:\n- DRM_EXYNOS_IPP_EVENT\n  . a event to notify dma operation completion to user side.\n\nBasic control flow:\nOpen -\u003e Get properties -\u003e User choose desired IPP sub driver(FIMC, Rotator\nor GSCALER) -\u003e Set Property -\u003e Create gem handle -\u003e Enqueue to source and\ndestination buffers -\u003e Command control(Play) -\u003e Event is notified to User\n-\u003e User gets destinition buffer complated -\u003e (Enqueue to source and\ndestination buffers -\u003e Event is notified to User) * N -\u003e Queue/Dequeue to\nsource and destination buffers -\u003e Command control(Stop) -\u003e Free gem handle\n-\u003e Close\n\nChangelog v1 ~ v5:\n- added comments, code fixups and cleanups.\n\nSigned-off-by: Eunchul Kim \u003cchulspro.kim@samsung.com\u003e\nSigned-off-by: Jinyoung Jeon \u003cjy0.jeon@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "278a334cbc96d3da66d56235b8ce84081e9a1892",
      "tree": "b5359119856453cdd69277003861e0a9a9e2b408",
      "parents": [
        "cd459e525f4faeefa0bf78e1bcba3e04496b2cb5"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Thu Dec 13 12:27:28 2012 -0500"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Dec 14 10:45:26 2012 -0500"
      },
      "message": "drm/radeon: enable the async DMA rings in the CS ioctl\n\nThis enables the functionality added in the previous\npatches.  Userspace acceleration drivers can use the\nCS ioctl to submit command buffers to the async DMA\nrings.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n"
    },
    {
      "commit": "1a1494def7eacbd25db05185aa2e81ef90892460",
      "tree": "40911f075b1fe527c6d20bf8c3070d4cdca11e97",
      "parents": [
        "8de9e417757fb9f130f55a38f4ee7027b60de1c7",
        "71bfe916ebe6d026cd3d0e41c398574fc1228e03"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sat Dec 08 13:17:07 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 10 20:03:58 2012 +1000"
      },
      "message": "Merge branch \u0027drm-next-3.8\u0027 of git://people.freedesktop.org/~agd5f/linux into drm-next\n\nAlex writes:\nPretty minor -next pull request.  We some additional new bits waiting\ninternally for release.  Hopefully Monday we can get at least some of\nthem out.  The others will probably take a few more weeks.\n\nHighlights of the current request:\n- ELD registers for passing audio information to the sound hardware\n- Handle GPUVM page faults more gracefully\n- Misc fixes\n\nMerge radeon test\n* \u0027drm-next-3.8\u0027 of git://people.freedesktop.org/~agd5f/linux: (483 commits)\n  drm/radeon: bump driver version for new info ioctl requests\n  drm/radeon: fix eDP clk and lane setup for scaled modes\n  drm/radeon: add new INFO ioctl requests\n  drm/radeon/dce32+: use fractional fb dividers for high clocks\n  drm/radeon: use cached memory when evicting for vram on non agp\n  drm/radeon: add a CS flag END_OF_FRAME\n  drm/radeon: stop page faults from hanging the system (v2)\n  drm/radeon/dce4/5: add registers for ELD handling\n  drm/radeon/dce3.2: add registers for ELD handling\n  radeon: fix pll/ctrc mapping on dce2 and dce3 hardware\n  Linux 3.7-rc7\n  powerpc/eeh: Do not invalidate PE properly\n  Revert \"drm/i915: enable rc6 on ilk again\"\n  ALSA: hda - Fix build without CONFIG_PM\n  of/address: sparc: Declare of_iomap as an extern function for sparc again\n  PM / QoS: fix wrong error-checking condition\n  bnx2x: remove redundant warning log\n  vxlan: fix command usage in its doc\n  8139cp: revert \"set ring address before enabling receiver\"\n  MPI: Fix compilation on MIPS with GCC 4.4 and newer\n  ...\n\nConflicts:\n\tdrivers/gpu/drm/exynos/exynos_drm_encoder.c\n\tdrivers/gpu/drm/exynos/exynos_drm_fbdev.c\n\tdrivers/gpu/drm/nouveau/core/engine/disp/nv50.c\n"
    },
    {
      "commit": "2e1a7674f65eb2c9118ab59d9c8aa9c731da6b85",
      "tree": "6a4a881d05fe1cdb5a4d2781f7c91e8a8111c3dd",
      "parents": [
        "a02dc74b317d78298cb0587b9b1f6f741fd5c139"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Tue Dec 04 12:55:37 2012 -0500"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Dec 07 19:48:22 2012 -0500"
      },
      "message": "drm/radeon: add new INFO ioctl requests\n\nAdd requests to get the number of shader engines (SE) and\nthe number of SH per SE.  These are needed for geometry\nand tesselation shaders in the 3D driver as well as setting\nup PA_SC_RASTER_CONFIG on SI asics.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n"
    },
    {
      "commit": "57f570838341507682b7705f1d950608ef2182bd",
      "tree": "678bdcf5f76dfa3fc3143681b6cd5e70a38586f7",
      "parents": [
        "ae133a1129790ec288b429b5f08ab4701633844a"
      ],
      "author": {
        "name": "Marek Olšák",
        "email": "maraeo@gmail.com",
        "time": "Sun Dec 02 21:03:33 2012 +0100"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Fri Dec 07 19:48:20 2012 -0500"
      },
      "message": "drm/radeon: add a CS flag END_OF_FRAME\n\nNo version bump is required because setting the flag on older DRM has\nno effect.\n\nThis only reserves the bit and doesn\u0027t use it. I assume we will use it\nfor buffer eviction heuristics.\n\nSigned-off-by: Marek Olšák \u003cmaraeo@gmail.com\u003e\n"
    },
    {
      "commit": "2a3098ff6c2109557868f9f230f4725312dcb882",
      "tree": "cb8ae0355a46c48602bb4df2c7b56ed25eb77f65",
      "parents": [
        "1119707e225c1627ed3f413a569e297883946fb2"
      ],
      "author": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Sun Nov 04 05:48:52 2012 -0800"
      },
      "committer": {
        "name": "Inki Dae",
        "email": "inki.dae@samsung.com",
        "time": "Tue Dec 04 14:46:01 2012 +0900"
      },
      "message": "drm/exynos: add userptr feature for g2d module\n\nThis patch adds userptr feautre for G2D module.\n\nThe userptr means user space address allocated by malloc().\nAnd the purpose of this feature is to make G2D\u0027s dma able\nto access the user space region.\n\nTo user this feature, user should flag G2D_BUF_USRPTR to\noffset variable of struct drm_exynos_g2d_cmd and fill\nstruct drm_exynos_g2d_userptr with user space address\nand size for it and then should set a pointer to\ndrm_exynos_g2d_userptr object to data variable of struct\ndrm_exynos_g2d_cmd. The last bit of offset variable is used\nto check if the cmdlist\u0027s buffer type is userptr or not.\nIf userptr, the g2d driver gets user space address and size\nand then gets pages through get_user_pages().\n(another case is counted as gem handle)\n\nBelow is sample codes:\n\nstatic void set_cmd(struct drm_exynos_g2d_cmd *cmd,\n\t\tunsigned long offset, unsigned long data)\n{\n\tcmd-\u003eoffset \u003d offset;\n\tcmd-\u003edata \u003d data;\n}\n\nstatic int solid_fill_test(int x, int y, unsigned long userptr)\n{\n\tstruct drm_exynos_g2d_cmd cmd_gem[5];\n\tstruct drm_exynos_g2d_userptr g2d_userptr;\n\tunsigned int gem_nr \u003d 0;\n\t...\n\n\tg2d_userptr.userptr \u003d userptr;\n\tg2d_userptr.size \u003d x * y * 4;\n\n\tset_cmd(\u0026cmd_gem[gem_nr++], DST_BASE_ADDR_REG |\n\t\t\t\t\tG2D_BUF_USERPTR,\n\t\t\t(unsigned long)\u0026g2d_userptr);\n\t...\n}\n\nint main(int argc, char **argv)\n{\n\tunsigned long addr;\n\t...\n\n\taddr \u003d malloc(x * y * 4);\n\t...\n\n\tsolid_fill_test(x, y, addr);\n\t...\n}\n\nAnd next, the pages are mapped with iommu table and the device\naddress is set to cmdlist so that G2D\u0027s dma can access it.\nAs you may know, the pages from get_user_pages() are pinned.\nIn other words, they CAN NOT be migrated and also swapped out.\nSo the dma access would be safe.\n\nBut the use of userptr feature has performance overhead so\nthis patch also has memory pool to the userptr feature.\nPlease, assume that user sends cmdlist filled with userptr\nand size every time to g2d driver, and the get_user_pages\nfuncion will be called every time.\n\nThe memory pool has maximum 64MB size and the userptr that\nuser had ever sent, is holded in the memory pool.\nThis meaning is that if the userptr from user is same as one\nin the memory pool, device address to the userptr in the memory\npool is set to cmdlist.\n\nAnd last, the pages from get_user_pages() will be freed once\nuser calls free() and the dma access is completed. Actually,\nget_user_pages() takes 2 reference counts if the user process\nhas never accessed user region allocated by malloc(). Then, if\nthe user calls free(), the page reference count becomes 1 and\nbecomes 0 with put_page() call. And the reverse holds as well.\nThis means how the pages backed are used by dma and freed.\n\nThis patch is based on \"drm/exynos: add iommu support for g2d\",\n\thttps://patchwork.kernel.org/patch/1629481/\n\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\n"
    },
    {
      "commit": "c61eef726a78ae77b6ce223d01ea2130f465fe5c",
      "tree": "7bd310556195005b5c4c1cbadadc9da1fbf5163c",
      "parents": [
        "e62f2f5acba1d466da047983ae16f6b96b68b310"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@intel.com",
        "time": "Tue Oct 23 18:53:26 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Nov 20 16:06:16 2012 +1000"
      },
      "message": "drm: add support for monotonic vblank timestamps\n\nJumps in the vblank and page flip event timestamps cause trouble for\nclients, so we should avoid them. The timestamp we get currently with\ngettimeofday can jump, so use instead monotonic timestamps.\n\nFor backward compatibility use a module flag to revert back to using\ngettimeofday timestamps. Add also a DRM_CAP_TIMESTAMP_MONOTONIC flag\nthat is simply a read only version of the module flag, so that clients\ncan query this without depending on sysfs.\n\nSigned-off-by: Imre Deak \u003cimre.deak@intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c2fb7916927e989ea424e61ce5fe617e54878827",
      "tree": "02f9d5482075f8931637d82bb697a6470270136a",
      "parents": [
        "29de6ce574870a0d3fd157afdbf51c0282e2bf63",
        "6f0c0580b70c89094b3422ba81118c7b959c7556"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Mon Oct 22 14:34:51 2012 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Mon Oct 22 14:34:51 2012 +0200"
      },
      "message": "Merge tag \u0027v3.7-rc2\u0027 into drm-intel-next-queued\n\nLinux 3.7-rc2\n\nBackmerge to solve two ugly conflicts:\n- uapi. We\u0027ve already added new ioctl definitions for -next. Do I need to say more?\n- wc support gtt ptes. We\u0027ve had to revert this for snb+ for 3.7 and\n  also fix a few other things in the code. Now we know how to make it\n  work on snb+, but to avoid losing the other fixes do the backmerge\n  first before re-enabling wc gtt ptes on snb+.\n\nAnd a few other minor things, among them git getting confused in\nintel_dp.c and seemingly causing a conflict out of nothing ...\n\nConflicts:\n\tdrivers/gpu/drm/i915/i915_reg.h\n\tdrivers/gpu/drm/i915/intel_display.c\n\tdrivers/gpu/drm/i915/intel_dp.c\n\tdrivers/gpu/drm/i915/intel_modes.c\n\tinclude/drm/i915_drm.h\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "718dcedd7e87f448a1eeeda4d1a986284c243110",
      "tree": "48bd3730e4eea9c359d94ae4e990c2d9c574931b",
      "parents": [
        "f3dfd599af993385b40fc7a1c947afc12729bc4d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 04 18:21:50 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 04 18:21:50 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/drm\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "4413e16d9d21673bb5048a2e542f1aaa00015c2e",
      "tree": "603b591283d5d5025840832a2987cfa3167cb794",
      "parents": [
        "abbf1590de22a6d2240a59383477da50d1402f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:35 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:35 2012 +0100"
      },
      "message": "UAPI: (Scripted) Set up UAPI Kbuild files\n\nSet up empty UAPI Kbuild files to be populated by the header splitter.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    }
  ]
}
