)]}'
{
  "commit": "58c84eda07560a6b75b03e8d3b26d6eddfc14011",
  "tree": "0104345d24d5fb79842ffd563ea69fdf2906931d",
  "parents": [
    "2f7989efd4398d92b8adffce2e07dd043a0895fe"
  ],
  "author": {
    "name": "Bjorn Helgaas",
    "email": "bjorn.helgaas@hp.com",
    "time": "Thu Jul 15 09:41:42 2010 -0600"
  },
  "committer": {
    "name": "Jesse Barnes",
    "email": "jbarnes@virtuousgeek.org",
    "time": "Fri Jul 16 11:39:48 2010 -0700"
  },
  "message": "PCI: fall back to original BIOS BAR addresses\n\nIf we fail to assign resources to a PCI BAR, this patch makes us try the\noriginal address from BIOS rather than leaving it disabled.\n\nLinux tries to make sure all PCI device BARs are inside the upstream\nPCI host bridge or P2P bridge apertures, reassigning BARs if necessary.\nWindows does similar reassignment.\n\nBefore this patch, if we could not move a BAR into an aperture, we left\nthe resource unassigned, i.e., at address zero.  Windows leaves such BARs\nat the original BIOS addresses, and this patch makes Linux do the same.\n\nThis is a bit ugly because we disable the resource long before we try to\nreassign it, so we have to keep track of the BIOS BAR address somewhere.\nFor lack of a better place, I put it in the struct pci_dev.\n\nI think it would be cleaner to attempt the assignment immediately when the\nclaim fails, so we could easily remember the original address.  But we\ncurrently claim motherboard resources in the middle, after attempting to\nclaim PCI resources and before assigning new PCI resources, and changing\nthat is a fairly big job.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d16263\n\nReported-by: Andrew \u003cnitr0@seti.kr.ua\u003e\nTested-by: Andrew \u003cnitr0@seti.kr.ua\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6fdb3ec30c3197e15fc54e18c91291f5eb403450",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/i386.c",
      "new_id": "55253095be84c66d37c5dcaaba63bd4ebaee6df2",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/i386.c"
    },
    {
      "type": "modify",
      "old_id": "92379e2d37e77ed4797dba23b7402f795dec80e2",
      "old_mode": 33188,
      "old_path": "drivers/pci/setup-res.c",
      "new_id": "2aaa13150de3ba40fd0a65cbb569f1fe96b9a49f",
      "new_mode": 33188,
      "new_path": "drivers/pci/setup-res.c"
    },
    {
      "type": "modify",
      "old_id": "7cb00845f150ca185b73a47931c6a1fbcd4c1cef",
      "old_mode": 33188,
      "old_path": "include/linux/pci.h",
      "new_id": "f26fda76b87fc66816f2fa286e97d760c545f165",
      "new_mode": 33188,
      "new_path": "include/linux/pci.h"
    }
  ]
}
