)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a2953d8f12e14675c669bd8109543001d244b7b",
      "old_mode": 33188,
      "old_path": "drivers/iommu/iommu.c",
      "new_id": "b278458d58168e81e92144f450b7b89650383846",
      "new_mode": 33188,
      "new_path": "drivers/iommu/iommu.c"
    },
    {
      "type": "modify",
      "old_id": "e8fdb8830f698184b08cb2a919b1358648ea4efb",
      "old_mode": 33188,
      "old_path": "drivers/iommu/omap-iovmm.c",
      "new_id": "0b7b14cb030b1699b549a8229870406e217940d6",
      "new_mode": 33188,
      "new_path": "drivers/iommu/omap-iovmm.c"
    },
    {
      "type": "modify",
      "old_id": "d5ebf3f4dd531601fc02b20a97ee2f9846f0a38f",
      "old_mode": 33188,
      "old_path": "include/linux/iommu.h",
      "new_id": "cc26f89c4ee6303ae670196905055dbfae654510",
      "new_mode": 33188,
      "new_path": "include/linux/iommu.h"
    },
    {
      "type": "modify",
      "old_id": "a195c07fa8290b44cb435f5ac06d841507e33503",
      "old_mode": 33188,
      "old_path": "virt/kvm/iommu.c",
      "new_id": "304d7e5717e93fbee1684e72feae56872cc332bb",
      "new_mode": 33188,
      "new_path": "virt/kvm/iommu.c"
    }
  ]
}
