)]}'
{
  "log": [
    {
      "commit": "693567125bde1966a095267a9d8ca1b8d40f59ee",
      "tree": "0ab1b5b9fea365c2d3d0b16388652c5041ce438d",
      "parents": [
        "d7787d579cbef9f8079104759a2259fc916c688c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Mon Feb 04 14:00:01 2013 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Wed Feb 06 10:47:28 2013 +0100"
      },
      "message": "iommu: Add DOMAIN_ATTR_WINDOWS domain attribute\n\nThis attribute can be used to set and get the number of\nsubwindows on IOMMUs that are window-based.\n\nSigned-off-by: Joerg Roedel \u003cjoro@8bytes.org\u003e\n"
    },
    {
      "commit": "d7787d579cbef9f8079104759a2259fc916c688c",
      "tree": "28e2066c0c89b1d25e8caf2c60956ecc45e3f781",
      "parents": [
        "d2e121601619631517409cba34e50db3cbff5852"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Tue Jan 29 14:26:20 2013 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Wed Feb 06 10:47:22 2013 +0100"
      },
      "message": "iommu: Add domain window handling functions\n\nAdd the iommu_domain_window_enable() and iommu_domain_window_disable()\nfunctions to the IOMMU-API. These functions will be used to setup\ndomains that are based on subwindows and not on paging.\n\nSigned-off-by: Joerg Roedel \u003cjoro@8bytes.org\u003e\n"
    },
    {
      "commit": "d2e121601619631517409cba34e50db3cbff5852",
      "tree": "31f5362774bb8e25e9ff2515386156726feb642f",
      "parents": [
        "57886518a8cdd319a04f5ea06a5f7ffcb8a93120"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Tue Jan 29 13:49:04 2013 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Wed Feb 06 10:47:11 2013 +0100"
      },
      "message": "iommu: Implement DOMAIN_ATTR_PAGING attribute\n\nThis attribute of a domain can be queried to find out if the\ndomain supports setting up page-tables using the iommu_map()\nand iommu_unmap() functions.\n\nSigned-off-by: Joerg Roedel \u003cjoro@8bytes.org\u003e\n"
    },
    {
      "commit": "a8b8a88a9e3042d41326c854272c881664acba1c",
      "tree": "29d248095fd155a769b9b358bfc6331310878dd3",
      "parents": [
        "097e3635dc35d1cfc14057f8006f1b1f0eaf1987"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Tue Jan 29 14:36:31 2013 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joro@8bytes.org",
        "time": "Wed Feb 06 10:46:53 2013 +0100"
      },
      "message": "iommu: Make sure DOMAIN_ATTR_MAX is really the maximum\n\nMove it to the end of the list.\n\nSigned-off-by: Joerg Roedel \u003cjoro@8bytes.org\u003e\n"
    },
    {
      "commit": "bef83de5a0e3031ff6ff9584b458611a7ac01b85",
      "tree": "bffa66c909284f09bd4e827a5a7a5562c01b4f23",
      "parents": [
        "979570e02981d4a8fc20b3cc8fd651856c98ee9d"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Mon Sep 24 21:23:25 2012 -0600"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 25 12:14:56 2012 +0200"
      },
      "message": "iommu: static inline iommu group stub functions\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ba1eabfade3272596000bf3c62b68ca375e48b08",
      "tree": "63ca3bcab96ded686e77bcfbecef9c32610341ef",
      "parents": [
        "76582d0a68ab6c46987dd678165c26ad81c44cdb"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Aug 03 15:55:41 2012 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Aug 03 16:04:43 2012 +0200"
      },
      "message": "iommu: Add missing forward declaration in include file\n\nThe \u0027struct notifier_block\u0027 is not used in linux/iommu.h but\nnot declared anywhere. Add a forward declaration for it.\n\nReported-by: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "76582d0a68ab6c46987dd678165c26ad81c44cdb",
      "tree": "332dea0056a0858710806a099957472577f67c39",
      "parents": [
        "d2900bd63f65bf1f40bf17f3c51457ae29fae6a8"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "thierry.reding@avionic-design.de",
        "time": "Wed Jul 25 16:24:49 2012 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Aug 03 16:04:43 2012 +0200"
      },
      "message": "iommu: Include linux/types.h\n\nThe linux/iommu.h header uses types defined in linux/types.h but doesn\u0027t\ninclude it.\n\nSigned-off-by: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "395e51f18d3b26619c1c462b7a1c0226846ac0a9",
      "tree": "fd0fcf5d1714ba8f634689964dd70add4eab354d",
      "parents": [
        "28a33cbc24e4256c143dce96c7d93bf423229f92",
        "2c9195e990297068d0f1f1bd8e2f1d09538009da",
        "2c0ae1720c09c6f8fc8c6bcece29dc80b08ca1af",
        "7d43c2e42cb1e436f97c1763150e4e1122ae0d57",
        "8ce44a2174c3b07950d7a8d44774e23e60518205",
        "3177bb76a8c510cbc737425a74e777a9aa253065"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jul 23 12:17:00 2012 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jul 23 12:17:00 2012 +0200"
      },
      "message": "Merge branches \u0027iommu/fixes\u0027, \u0027x86/amd\u0027, \u0027groups\u0027, \u0027arm/tegra\u0027 and \u0027api/domain-attr\u0027 into next\n\nConflicts:\n\tdrivers/iommu/iommu.c\n\tinclude/linux/iommu.h\n"
    },
    {
      "commit": "0ff64f80e075ae036a4c80c7d7752b1e07fed792",
      "tree": "ac1bbe189cfe6908d0bdceaa3042ddd767b98187",
      "parents": [
        "0cd76dd13bdd2f7f02a2dc931e808e92b191082f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 26 19:40:53 2012 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Jul 11 12:15:45 2012 +0200"
      },
      "message": "iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute\n\nImplement the attribute itself and add the code for the\nAMD IOMMU driver.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0cd76dd13bdd2f7f02a2dc931e808e92b191082f",
      "tree": "210df4b7fda8f81121fd8fb1f89a57e3e358060e",
      "parents": [
        "bd0a521e88aa7a06ae7aabaed7ae196ed4ad867a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 26 19:40:52 2012 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Jul 11 12:12:14 2012 +0200"
      },
      "message": "iommu: Add domain-attribute handlers\n\nThis patch introduces an extension to the iommu-api to get\nand set attributes for an iommu_domain. Two functions are\nintroduced for this:\n\n\t* iommu_domain_get_attr()\n\t* iommu_domain_set_attr()\n\nThese functions will be used to make the iommu-api suitable\nfor GART-like IOMMUs and to implement hardware-specifc\napi-extensions.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "d72e31c9374627068df29da8085ca18c92ae35d3",
      "tree": "ed8bb77e31c0dd2c2b9c84d31ef6860c6ff03e51",
      "parents": [
        "74416e1e07660798379ce10a210bf4fd35b84f9f"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Wed May 30 14:18:53 2012 -0600"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jun 25 13:48:15 2012 +0200"
      },
      "message": "iommu: IOMMU Groups\n\nIOMMU device groups are currently a rather vague associative notion\nwith assembly required by the user or user level driver provider to\ndo anything useful.  This patch intends to grow the IOMMU group concept\ninto something a bit more consumable.\n\nTo do this, we first create an object representing the group, struct\niommu_group.  This structure is allocated (iommu_group_alloc) and\nfilled (iommu_group_add_device) by the iommu driver.  The iommu driver\nis free to add devices to the group using it\u0027s own set of policies.\nThis allows inclusion of devices based on physical hardware or topology\nlimitations of the platform, as well as soft requirements, such as\nmulti-function trust levels or peer-to-peer protection of the\ninterconnects.  Each device may only belong to a single iommu group,\nwhich is linked from struct device.iommu_group.  IOMMU groups are\nmaintained using kobject reference counting, allowing for automatic\nremoval of empty, unreferenced groups.  It is the responsibility of\nthe iommu driver to remove devices from the group\n(iommu_group_remove_device).\n\nIOMMU groups also include a userspace representation in sysfs under\n/sys/kernel/iommu_groups.  When allocated, each group is given a\ndynamically assign ID (int).  The ID is managed by the core IOMMU group\ncode to support multiple heterogeneous iommu drivers, which could\npotentially collide in group naming/numbering.  This also keeps group\nIDs to small, easily managed values.  A directory is created under\n/sys/kernel/iommu_groups for each group.  A further subdirectory named\n\"devices\" contains links to each device within the group.  The iommu_group\nfile in the device\u0027s sysfs directory, which formerly contained a group\nnumber when read, is now a link to the iommu group.  Example:\n\n$ ls -l /sys/kernel/iommu_groups/26/devices/\ntotal 0\nlrwxrwxrwx. 1 root root 0 Apr 17 12:57 0000:00:1e.0 -\u003e\n\t\t../../../../devices/pci0000:00/0000:00:1e.0\nlrwxrwxrwx. 1 root root 0 Apr 17 12:57 0000:06:0d.0 -\u003e\n\t\t../../../../devices/pci0000:00/0000:00:1e.0/0000:06:0d.0\nlrwxrwxrwx. 1 root root 0 Apr 17 12:57 0000:06:0d.1 -\u003e\n\t\t../../../../devices/pci0000:00/0000:00:1e.0/0000:06:0d.1\n\n$ ls -l  /sys/kernel/iommu_groups/26/devices/*/iommu_group\n[truncating perms/owner/timestamp]\n/sys/kernel/iommu_groups/26/devices/0000:00:1e.0/iommu_group -\u003e\n\t\t\t\t\t../../../kernel/iommu_groups/26\n/sys/kernel/iommu_groups/26/devices/0000:06:0d.0/iommu_group -\u003e\n\t\t\t\t\t../../../../kernel/iommu_groups/26\n/sys/kernel/iommu_groups/26/devices/0000:06:0d.1/iommu_group -\u003e\n\t\t\t\t\t../../../../kernel/iommu_groups/26\n\nGroups also include several exported functions for use by user level\ndriver providers, for example VFIO.  These include:\n\niommu_group_get(): Acquires a reference to a group from a device\niommu_group_put(): Releases reference\niommu_group_for_each_dev(): Iterates over group devices using callback\niommu_group_[un]register_notifier(): Allows notification of device add\n        and remove operations relevant to the group\niommu_group_id(): Return the group number\n\nThis patch also extends the IOMMU API to allow attaching groups to\ndomains.  This is currently a simple wrapper for iterating through\ndevices within a group, but it\u0027s expected that the IOMMU API may\neventually make groups a more integral part of domains.\n\nGroups intentionally do not try to manage group ownership.  A user\nlevel driver provider must independently acquire ownership for each\ndevice within a group before making use of the group as a whole.\nThis may change in the future if group usage becomes more pervasive\nacross both DMA and IOMMU ops.\n\nGroups intentionally do not provide a mechanism for driver locking\nor otherwise manipulating driver matching/probing of devices within\nthe group.  Such interfaces are generic to devices and beyond the\nscope of IOMMU groups.  If implemented, user level providers have\nready access via iommu_group_for_each_dev and group notifiers.\n\niommu_device_group() is removed here as it has no users.  The\nreplacement is:\n\n\tgroup \u003d iommu_group_get(dev);\n\tid \u003d iommu_group_id(group);\n\tiommu_group_put(group);\n\nAMD-Vi \u0026 Intel VT-d support re-added in following patches.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "77ca23323594589ac8cba1c8d59bfe7e85d3cb8b",
      "tree": "7b2f6e2c95e799084043e36266cecdc0a6198e01",
      "parents": [
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Mon May 21 20:20:05 2012 +0300"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue May 22 18:08:08 2012 +0200"
      },
      "message": "iommu/core: pass a user-provided token to fault handlers\n\nSometimes a single IOMMU user may have to deal with several\ndifferent IOMMU devices (e.g. remoteproc).\n\nWhen an IOMMU fault happens, such users have to regain their\ncontext in order to deal with the fault.\n\nUsers can\u0027t use the private fields of neither the iommu_domain nor\nthe IOMMU device, because those are already used by the IOMMU core\nand low level driver (respectively).\n\nThis patch just simply allows users to pass a private token (most\nnotably their own context pointer) to iommu_set_fault_handler(),\nand then makes sure it is provided back to the users whenever\nan IOMMU fault happens.\n\nThe patch also adopts remoteproc to the new fault handling\ninterface, but the real functionality using this (recovery of\nremote processors) will only be added later in a subsequent patch\nset.\n\nCc: Fernando Guzman Lugo \u003cfernando.lugo@ti.com\u003e\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "f93ea733878733f3e98475bc3e2ccf789bebcfb8",
      "tree": "ce4981e49a75d5bac7f0d2fa4ddcdcc130cf56f0",
      "parents": [
        "00fb5430f547e411ab03385cfa548776aaac1c92",
        "95bdaf71ccf2cb4bba0c9a3d2baea0e7916f466b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jan 09 13:06:28 2012 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jan 09 13:06:28 2012 +0100"
      },
      "message": "Merge branches \u0027iommu/page-sizes\u0027 and \u0027iommu/group-id\u0027 into next\n\nConflicts:\n\tdrivers/iommu/amd_iommu.c\n\tdrivers/iommu/intel-iommu.c\n\tinclude/linux/iommu.h\n"
    },
    {
      "commit": "95bdaf71ccf2cb4bba0c9a3d2baea0e7916f466b",
      "tree": "d4fb2f41d924c01fb59f596caa6f500786c5b538",
      "parents": [
        "bcb71abe7d4c5a0d0368c67da0a7def4fc73497a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Nov 15 12:48:29 2011 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Nov 15 12:48:29 2011 +0100"
      },
      "message": "iommu: Fix compile error with !IOMMU_API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "1460432cb513f0c16136ed132c20ecfbf8ccf942",
      "tree": "f9802b729aa47d9c95fe2de5f41c511d3db7df4c",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Fri Oct 21 15:56:05 2011 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Nov 15 12:22:23 2011 +0100"
      },
      "message": "iommu: Add iommu_device_group callback and iommu_group sysfs entry\n\nAn IOMMU group is a set of devices for which the IOMMU cannot\ndistinguish transactions.  For PCI devices, a group often occurs\nwhen a PCI bridge is involved.  Transactions from any device\nbehind the bridge appear to be sourced from the bridge itself.\nWe leave it to the IOMMU driver to define the grouping restraints\nfor their platform.\n\nUsing this new interface, the group for a device can be retrieved\nusing the iommu_device_group() callback.  Users will compare the\nvalue returned against the value returned for other devices to\ndetermine whether they are part of the same group.  Devices with\nno group are not translated by the IOMMU.  There should be no\nexpectations about the group numbers as they may be arbitrarily\nassigned by the IOMMU driver and may not be persistent across boots.\n\nWe also provide a sysfs interface to the group numbers here so\nthat userspace can understand IOMMU dependencies between devices\nfor managing safe, userspace drivers.\n\n[Some code changes by Joerg Roedel \u003cjoerg.roedel@amd.com\u003e]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "7d3002cc8c160dbda0e6ab9cd66dc6eb401b8b70",
      "tree": "453bad0319d12fc0a3fe6594b8e212615e7e2a70",
      "parents": [
        "5009065d38c95455bd2d27c2838313e3dd0c5bc7"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Nov 10 11:32:26 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Nov 10 11:40:37 2011 +0100"
      },
      "message": "iommu/core: split mapping to page sizes as supported by the hardware\n\nWhen mapping a memory region, split it to page sizes as supported\nby the iommu hardware. Always prefer bigger pages, when possible,\nin order to reduce the TLB pressure.\n\nThe logic to do that is now added to the IOMMU core, so neither the iommu\ndrivers themselves nor users of the IOMMU API have to duplicate it.\n\nThis allows a more lenient granularity of mappings; traditionally the\nIOMMU API took \u0027order\u0027 (of a page) as a mapping size, and directly let\nthe low level iommu drivers handle the mapping, but now that the IOMMU\ncore can split arbitrary memory regions into pages, we can remove this\nlimitation, so users don\u0027t have to split those regions by themselves.\n\nCurrently the supported page sizes are advertised once and they then\nremain static. That works well for OMAP and MSM but it would probably\nnot fly well with intel\u0027s hardware, where the page size capabilities\nseem to have the potential to be different between several DMA\nremapping devices.\n\nregister_iommu() currently sets a default pgsize behavior, so we can convert\nthe IOMMU drivers in subsequent patches. After all the drivers\nare converted, the temporary default settings will be removed.\n\nMainline users of the IOMMU API (kvm and omap-iovmm) are adopted\nto deal with bytes instead of page order.\n\nMany thanks to Joerg Roedel \u003cJoerg.Roedel@amd.com\u003e for significant review!\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: David Brown \u003cdavidb@codeaurora.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Joerg Roedel \u003cJoerg.Roedel@amd.com\u003e\nCc: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\nCc: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nCc: Hiroshi DOYU \u003chdoyu@nvidia.com\u003e\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: kvm@vger.kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "5009065d38c95455bd2d27c2838313e3dd0c5bc7",
      "tree": "a957af07e95166bcc014b3f333234fe74cef790e",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Nov 10 11:32:25 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Nov 10 11:40:37 2011 +0100"
      },
      "message": "iommu/core: stop converting bytes to page order back and forth\n\nExpress sizes in bytes rather than in page order, to eliminate the\nsize-\u003eorder-\u003esize conversions we have whenever the IOMMU API is calling\nthe low level drivers\u0027 map/unmap methods.\n\nAdopt all existing drivers.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: David Brown \u003cdavidb@codeaurora.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Joerg Roedel \u003cJoerg.Roedel@amd.com\u003e\nCc: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\nCc: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nCc: Hiroshi DOYU \u003chdoyu@nvidia.com\u003e\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "1abb4ba596a91a839f82e0c9c837b777d574e83d",
      "tree": "6f77339f0d25d429f767833e09cdb0f60b8ff5ec",
      "parents": [
        "899e3ee404961a90b828ad527573aaaac39f0ab1",
        "fcd0861db1cf4e6ed99f60a815b7b72c2ed36ea4",
        "e4efd94bde1a2df9f1344ff936d42b4a78b9acc0",
        "0ed6d2d27bcc2ace454a8c55446e1bc3efd2d529",
        "94441c3bd99287b9d84f148a08cc9a44675ec749"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:38:55 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:38:55 2011 +0200"
      },
      "message": "Merge branches \u0027amd/fixes\u0027, \u0027debug/dma-api\u0027, \u0027arm/omap\u0027, \u0027arm/msm\u0027, \u0027core\u0027, \u0027iommu/fault-reporting\u0027 and \u0027api/iommu-ops-per-bus\u0027 into next\n\nConflicts:\n\tdrivers/iommu/amd_iommu.c\n\tdrivers/iommu/iommu.c\n"
    },
    {
      "commit": "94441c3bd99287b9d84f148a08cc9a44675ec749",
      "tree": "edf4c7b2b9a78e30cb99f25cc5ac9ec0ec2f74bb",
      "parents": [
        "85eebbc5e4633e6eee10bdddd00d175daadd5841"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 18:58:54 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:23 2011 +0200"
      },
      "message": "iommu/core: Remove global iommu_ops and register_iommu\n\nWith all IOMMU drivers being converted to bus_set_iommu the\nglobal iommu_ops are no longer required. The same is true\nfor the deprecated register_iommu function.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a1b60c1cd913c5ccfb38c717ba0bd22622425fa7",
      "tree": "74e5c1e847262ba3c42fb3b0396a3e781c168b6e",
      "parents": [
        "905d66c1e5dc8149e111f04a32bb193f25da1d53"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 18:46:34 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:20 2011 +0200"
      },
      "message": "iommu/core: Convert iommu_found to iommu_present\n\nWith per-bus iommu_ops the iommu_found function needs to\nwork on a bus_type too. This patch adds a bus_type parameter\nto that function and converts all call-places.\nThe function is also renamed to iommu_present because the\nfunction now checks if an iommu is present for a given bus\nand does not check for a global iommu anymore.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "905d66c1e5dc8149e111f04a32bb193f25da1d53",
      "tree": "3b4d55034f1ca58a7956c88cb71f6af8cda2b697",
      "parents": [
        "ff21776d12ff7993a6b236b8273ef62777d25dfb"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 16:03:26 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:19 2011 +0200"
      },
      "message": "iommu/core: Add bus_type parameter to iommu_domain_alloc\n\nThis is necessary to store a pointer to the bus-specific\niommu_ops in the iommu-domain structure. It will be used\nlater to call into bus-specific iommu-ops.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ff21776d12ff7993a6b236b8273ef62777d25dfb",
      "tree": "e4775ee5c1f5f5e7e6975c0887766a3b886c1258",
      "parents": [
        "39d4ebb95925046863dc0ef2698dfcf2c1f1dcbe"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Aug 26 16:48:26 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:19 2011 +0200"
      },
      "message": "Driver core: Add iommu_ops to bus_type\n\nThis is the starting point to make the iommu_ops used for\nthe iommu-api a per-bus-type structure. It is required to\neasily implement bus-specific setup in the iommu-layer.\nThe first user will be the iommu-group attribute in sysfs.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "39d4ebb95925046863dc0ef2698dfcf2c1f1dcbe",
      "tree": "ad9a31efe5d83217d49603dbe3894d80717c754b",
      "parents": [
        "51acc0bcfc91987ed38195918e0b40ff05197585"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 16:48:40 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:18 2011 +0200"
      },
      "message": "iommu/core: Define iommu_ops and register_iommu only with CONFIG_IOMMU_API\n\nThis makes it impossible to compile an iommu driver into the\nkernel without selecting CONFIG_IOMMU_API.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0ed6d2d27bcc2ace454a8c55446e1bc3efd2d529",
      "tree": "0ed0c8f9878ee5a921ab69131e38a45864e2498f",
      "parents": [
        "30bd918c7132adddd370c79fd5619bf108efd702"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 27 07:36:40 2011 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Sep 30 16:40:32 2011 +0200"
      },
      "message": "iommu/core: let drivers know if an iommu fault handler isn\u0027t installed\n\nMake report_iommu_fault() return -ENOSYS whenever an iommu fault\nhandler isn\u0027t installed, so IOMMU drivers can then do their own\nplatform-specific default behavior if they wanted.\n\nFault handlers can still return -ENOSYS in case they want to elicit the\ndefault behavior of the IOMMU drivers.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4f3f8d9db359bbc780d482849f2a9c8b12f910b6",
      "tree": "4875209af7bc93421e9f7541ff0182c5aa5d97c3",
      "parents": [
        "5e1b612cb16f446996398bd23b6cd59ea0206938"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 13 15:25:23 2011 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 14 15:35:36 2011 +0200"
      },
      "message": "iommu/core: Add fault reporting mechanism\n\nAdd iommu fault report mechanism to the IOMMU API, so implementations\ncould report about mmu faults (translation errors, hardware errors,\netc..).\n\nFault reports can be used in several ways:\n- mere logging\n- reset the device that accessed the faulting address (may be necessary\n  in case the device is a remote processor for example)\n- implement dynamic PTE/TLB loading\n\nA dedicated iommu_set_fault_handler() API has been added to allow\nusers, who are interested to receive such reports, to provide\ntheir handler.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "74315cccd2104a953f493acca2c6b0519d6f5c6f",
      "tree": "2687d02483d907c10667e649d54953aef4747c6e",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Laura Abbott",
        "email": "lauraa@codeaurora.org",
        "time": "Wed Jun 08 17:29:11 2011 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Jun 14 11:30:22 2011 +0200"
      },
      "message": "iommu-api: Add missing header file\n\nIf CONFIG_IOMMU_API is not defined some functions will just\nreturn -ENODEV. Add errno.h for the definition of ENODEV.\n\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "323f99cbc35c52a65dea9d072b3ecf1e662240d2",
      "tree": "db4420fb391465df818949a2190e8acd8637164f",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Tom Lyon",
        "email": "pugs@cisco.com",
        "time": "Fri Jul 02 16:56:14 2010 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jul 19 15:44:25 2010 +0200"
      },
      "message": "iommu-api: Extension to check for interrupt remapping\n\nThis patch allows IOMMU users to determine whether the\nhardware and software support safe, isolated interrupt\nremapping.  Not all Intel IOMMUs have the hardware, and the\nsoftware for AMD is not there yet.\n\nSigned-off-by: Tom Lyon \u003cpugs@cisco.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "12c7389abe5786349d3ea6da1961cf78d0c1c7cd",
      "tree": "02ba72cf32986de8327a6146d5fd0b2448935958",
      "parents": [
        "468e2366cdb80cf8a691b8bc212260cfbdbd518e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 21 11:50:28 2010 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sun Mar 07 18:01:13 2010 +0100"
      },
      "message": "iommu-api: Remove iommu_{un}map_range functions\n\nThese functions are not longer used and can be removed\nsavely. There functionality is now provided by the\niommu_{un}map functions which are also capable of multiple\npage sizes.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "67651786948c360c3122b8a17cb1e59209d50880",
      "tree": "533a24ba14a513a99c19af4507dde499aaf1d9c5",
      "parents": [
        "cefc53c7f494240d4813c80154c7617452d1904d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 21 16:32:27 2010 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sun Mar 07 18:01:11 2010 +0100"
      },
      "message": "iommu-api: Add -\u003e{un}map callbacks to iommu_ops\n\nThis patch adds new callbacks for mapping and unmapping\npages to the iommu_ops structure. These callbacks are aware\nof page sizes which makes them different to the\n-\u003e{un}map_range callbacks.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "cefc53c7f494240d4813c80154c7617452d1904d",
      "tree": "675370ec20df0841e404ed7b191d2d41f30f7e52",
      "parents": [
        "4abc14a733f9002c05623db755aaafdd27fa7a91"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jan 08 13:35:09 2010 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sun Mar 07 18:01:11 2010 +0100"
      },
      "message": "iommu-api: Add iommu_map and iommu_unmap functions\n\nThese two functions provide support for mapping and\nunmapping physical addresses to io virtual addresses. The\ndifference to the iommu_(un)map_range() is that the new\nfunctions take a gfp_order parameter instead of a size. This\nallows the IOMMU backend implementations to detect easier if\na given range can be mapped by larger page sizes.\nThese new functions should replace the old ones in the long\nterm.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4abc14a733f9002c05623db755aaafdd27fa7a91",
      "tree": "0fd549edf79ba6df91ab6c601521270b937aaebb",
      "parents": [
        "d2be1651b736002e0c76d7095d6c0ba77b4a897c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Jan 20 14:52:23 2010 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sun Mar 07 18:01:11 2010 +0100"
      },
      "message": "iommu-api: Rename -\u003e{un}map function pointers to -\u003e{un}map_range\n\nThe new function pointer names match better with the\ntop-level functions of the iommu-api which are using them.\nMain intention of this change is to make the -\u003e{un}map\npointer names free for two new mapping functions.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "9cf0669746be19a4906a6c48920060bcf54c708b",
      "tree": "df324dd805268695b99e2237c6913d2f938b94b1",
      "parents": [
        "dbb9fd8630e95b6155aff658a2b5f80e95ca2bc6"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Mar 18 15:33:07 2009 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 24 09:42:54 2009 +0000"
      },
      "message": "intel-iommu: VT-d page table to support snooping control bit\n\nThe user can request to enable snooping control through VT-d page table.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "dbb9fd8630e95b6155aff658a2b5f80e95ca2bc6",
      "tree": "b24caff50e1c5bfb428cb7422608bfef95d916e8",
      "parents": [
        "58c610bd1a3f50820e45a7c09ec0e44d2cda15dd"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Wed Mar 18 15:33:06 2009 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 24 09:42:51 2009 +0000"
      },
      "message": "iommu: Add domain_has_cap iommu_ops\n\nThis iommu_op can tell if domain have a specific capability, like snooping\ncontrol for Intel IOMMU, which can be used by other components of kernel to\nadjust the behaviour.\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4a77a6cf6d9bf9f5c74b27f62bd2bfe6dcc88392",
      "tree": "21916de0203a8c8b5e38d425167f6935c3c29a0b",
      "parents": [
        "c4fa3864281c7d88b7262cbc6cbd5c90bb59860e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Nov 26 17:02:33 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:10:09 2009 +0100"
      },
      "message": "introcude linux/iommu.h for an iommu api\n\nThis patch introduces the API to abstract the exported VT-d functions\nfor KVM into a generic API. This way the AMD IOMMU implementation can\nplug into this API later.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    }
  ]
}
