)]}'
{
  "commit": "f02cbbe657939489347cbda598401a56913ffcbd",
  "tree": "0d21e68d899958e6549f908b0c715c6f37200027",
  "parents": [
    "e5a06939736277c54a68ae275433db55b99d187c"
  ],
  "author": {
    "name": "Chris Metcalf",
    "email": "cmetcalf@tilera.com",
    "time": "Tue Nov 02 12:05:10 2010 -0400"
  },
  "committer": {
    "name": "Chris Metcalf",
    "email": "cmetcalf@tilera.com",
    "time": "Wed Nov 24 13:13:49 2010 -0500"
  },
  "message": "pci root complex: support for tile architecture\n\nThis change enables PCI root complex support for TILEPro.  Unlike\nTILE-Gx, TILEPro has no support for memory-mapped I/O, so the PCI\nsupport consists of hypervisor upcalls for PIO, DMA, etc.  However,\nthe performance is fine for the devices we have tested with so far\n(1Gb Ethernet, SATA, etc.).\n\nThe \u003casm/io.h\u003e header was tweaked to be a little bit more aggressive\nabout disabling attempts to map/unmap IO port space.  The hacky\n\u003casm/pci-bridge.h\u003e header was rolled into the \u003casm/pci.h\u003e header\nand the result was simplified.  Both of the latter two headers were\npreliminary versions not meant for release before now - oh well.\n\nThere is one quirk for our TILEmpower platform, which accidentally\nnegotiates up to 5GT and needs to be kicked down to 2.5GT.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07ec8a865c1d3fc122232e5aa2273814640a9e5a",
      "old_mode": 33188,
      "old_path": "arch/tile/Kconfig",
      "new_id": "e11b5fcb70ebe07d0bf7fd677a9c61943728d169",
      "new_mode": 33188,
      "new_path": "arch/tile/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "ee43328713abf2ace9f76e885e9e26ce7b615b3a",
      "old_mode": 33188,
      "old_path": "arch/tile/include/asm/io.h",
      "new_id": "d3cbb9b14cbe4b7950575c46b6f8b34312f42a78",
      "new_mode": 33188,
      "new_path": "arch/tile/include/asm/io.h"
    },
    {
      "type": "delete",
      "old_id": "e853b0e2793bad04b83df8a4a7073079f009783f",
      "old_mode": 33188,
      "old_path": "arch/tile/include/asm/pci-bridge.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "b0c15da2d5d58e91dedb4fd21978a7506683c65c",
      "old_mode": 33188,
      "old_path": "arch/tile/include/asm/pci.h",
      "new_id": "c3fc458a0d323485557c1b6a97db662534fd9c3f",
      "new_mode": 33188,
      "new_path": "arch/tile/include/asm/pci.h"
    },
    {
      "type": "modify",
      "old_id": "112b1e248f0555985109e921616265c926dd16a7",
      "old_mode": 33188,
      "old_path": "arch/tile/kernel/Makefile",
      "new_id": "b4c8e8ec45dc7fa041befe4d12e56c4d94236f8f",
      "new_mode": 33188,
      "new_path": "arch/tile/kernel/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1ee25be9ad97084192b2853900d7aba3dab94ef",
      "new_mode": 33188,
      "new_path": "arch/tile/kernel/pci.c"
    },
    {
      "type": "modify",
      "old_id": "f01e344cf4bd673c059044698f50896836d26fad",
      "old_mode": 33188,
      "old_path": "drivers/pci/Makefile",
      "new_id": "98e6fdf34d30d136290a794a6b2a62b0764fdf5b",
      "new_mode": 33188,
      "new_path": "drivers/pci/Makefile"
    },
    {
      "type": "modify",
      "old_id": "f5c63fe9db5c5b6666001ae03a1a4c561c644986",
      "old_mode": 33188,
      "old_path": "drivers/pci/quirks.c",
      "new_id": "6f9350cabbd51d1574ec52bcf287d4065f8b3c36",
      "new_mode": 33188,
      "new_path": "drivers/pci/quirks.c"
    }
  ]
}
