)]}'
{
  "commit": "17a941d854a3f7b0bb916fdeee4c9ffdcc19d8d3",
  "tree": "b6b3b55318336adf769bf57141a01a9defbbb202",
  "parents": [
    "8a6fdd3e912e0ce6f723431d66baf704bf8a1d26"
  ],
  "author": {
    "name": "Muli Ben-Yehuda",
    "email": "mulix@mulix.org",
    "time": "Wed Jan 11 22:44:42 2006 +0100"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Wed Jan 11 19:04:55 2006 -0800"
  },
  "message": "[PATCH] x86_64: Use function pointers to call DMA mapping functions\n\nAK: I hacked Muli\u0027s original patch a lot and there were a lot\nof changes - all bugs are probably to blame on me now.\nThere were also some changes in the fall back behaviour\nfor swiotlb - in particular it doesn\u0027t try to use GFP_DMA\nnow anymore. Also all DMA mapping operations use the\nsame core dma_alloc_coherent code with proper fallbacks now.\nAnd various other changes and cleanups.\n\nKnown problems: iommu\u003dforce swiotlb\u003dforce together breaks\n                needs more testing.\n\nThis patch cleans up x86_64\u0027s DMA mapping dispatching code. Right now\nwe have three possible IOMMU types: AGP GART, swiotlb and nommu, and\nin the future we will also have Xen\u0027s x86_64 swiotlb and other HW\nIOMMUs for x86_64. In order to support all of them cleanly, this\npatch:\n\n- introduces a struct dma_mapping_ops with function pointers for each\n  of the DMA mapping operations of gart (AMD HW IOMMU), swiotlb\n  (software IOMMU) and nommu (no IOMMU).\n\n- gets rid of:\n\n  if (swiotlb)\n      return swiotlb_xxx();\n\n- PCI_DMA_BUS_IS_PHYS is now checked against the dma_ops being set\nThis makes swiotlb faster by avoiding double copying in some cases.\n\nSigned-Off-By: Muli Ben-Yehuda \u003cmulix@mulix.org\u003e\nSigned-Off-By: Jon D. Mason \u003cjdmason@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "150e1ac0bfed9736412e4145fa8fcccb2bcf06e8",
      "old_mode": 33188,
      "old_path": "arch/x86_64/Kconfig",
      "new_id": "ee053e32a7218bd661b9932c81bf29aad170d9fa",
      "new_mode": 33188,
      "new_path": "arch/x86_64/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "4601fdafb7cb000307db588b528f1becfad6fd92",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/Makefile",
      "new_id": "7df09edb36a11371fb9def352282bdf9f9a1a8c4",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/Makefile"
    },
    {
      "type": "modify",
      "old_id": "cab471cf3edb33acde2d7516dfb9c326e3aa6b9f",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/pci-dma.c",
      "new_id": "2f5d8328e2b9452b52d3ffe168eea428e8ccc8d8",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/pci-dma.c"
    },
    {
      "type": "modify",
      "old_id": "116e00f1bb7b5267643e1486b8c825c8f4eedf03",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/pci-gart.c",
      "new_id": "c37fc7726ba6704a5ff02a2ca6f32463f2420d8d",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/pci-gart.c"
    },
    {
      "type": "modify",
      "old_id": "5a981dca87ffb1c6f9abb2bec204d35b7f6903e2",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/pci-nommu.c",
      "new_id": "3209adac32723337cdb29514ee86a441ca0d0bd1",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/pci-nommu.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3569a25ad7fb748d559efa73af1cb5a4d0562d5a",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/pci-swiotlb.c"
    },
    {
      "type": "modify",
      "old_id": "6810690d604539207e0dd0c9bf3bd75437476d4b",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/setup.c",
      "new_id": "e7a4d2cd3968699b79fda9d41993f9c5f7f21d48",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/setup.c"
    },
    {
      "type": "modify",
      "old_id": "5337ca0ea7b9733b0ac91c6a323362079ba88f4b",
      "old_mode": 33188,
      "old_path": "arch/x86_64/mm/init.c",
      "new_id": "e93867850a4f3dce9717ad8ecc79b70e660128f0",
      "new_mode": 33188,
      "new_path": "arch/x86_64/mm/init.c"
    },
    {
      "type": "modify",
      "old_id": "36d16dfbac88d7e9b48cd6e254726571dd535650",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/dma-mapping.h",
      "new_id": "49a81a66516e9ba2d6556c0154925d970d0ceaf8",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/dma-mapping.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ada497b0b55b5edf6ae44d51fbb3c6fdc4b900a2",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/gart-mapping.h"
    },
    {
      "type": "modify",
      "old_id": "eeb3088a1c9e3d2fbbff1140b94fad85c69777f9",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/pci.h",
      "new_id": "fd03e15d7ea6f5edf50d5cfb72743c907aa8f2c1",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/pci.h"
    },
    {
      "type": "modify",
      "old_id": "34501086afef57a81ab0369dcea9e0e1bad2c76f",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/proto.h",
      "new_id": "113e8a235b27d497f0f081c3d10281373dde9a5c",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/proto.h"
    },
    {
      "type": "modify",
      "old_id": "dddf1b218681a442c0d3331c5069fb16af17a16a",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/swiotlb.h",
      "new_id": "60757efd1353b9770fc240008955c9dcbfd1ae10",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/swiotlb.h"
    },
    {
      "type": "modify",
      "old_id": "3b482052f4036c29338ecdf9aae91efcaa5ec2f8",
      "old_mode": 33188,
      "old_path": "lib/swiotlb.c",
      "new_id": "0af497b6b9a87f26b395e281cfd049a76a72ca41",
      "new_mode": 33188,
      "new_path": "lib/swiotlb.c"
    }
  ]
}
