)]}'
{
  "commit": "9491e9bc019a365dfa9780f462984a0d052f4c0d",
  "tree": "a4d36d9ecda0e7f129ded20072e572bf9a141785",
  "parents": [
    "8a47d575dfac0f6675e2ac56c5921cc520d021a6"
  ],
  "author": {
    "name": "Laurent Vivier",
    "email": "lvivier@redhat.com",
    "time": "Mon Aug 24 19:29:45 2015 +0200"
  },
  "committer": {
    "name": "Laurent Vivier",
    "email": "lvivier@redhat.com",
    "time": "Fri Sep 25 14:52:17 2015 +0200"
  },
  "message": "i6300esb: remove muldiv64()\n\nOriginally, timers were ticks based, and it made sense to\nadd ticks to current time to know when to trigger an alarm.\n\nBut since commit:\n\n7447545 change all other clock references to use nanosecond resolution accessors\n\nAll timers use nanoseconds and we need to convert ticks to nanoseconds, by\ndoing something like:\n\n    y \u003d muldiv64(x, get_ticks_per_sec(), PCI_FREQUENCY)\n\nwhere x is the number of device ticks and y the number of system ticks.\n\ny is used as nanoseconds in timer functions,\nit works because 1 tick is 1 nanosecond.\n(get_ticks_per_sec() is 10^9)\n\nBut as PCI frequency is 33 MHz, we can also do:\n\n    y \u003d x * 30; /* 33 MHz PCI period is 30 ns */\n\nWhich is much more simple.\n\nThis implies a 33.333333 MHz PCI frequency,\nbut this is correct.\n\nSigned-off-by: Laurent Vivier \u003clvivier@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e07d44878256c8d974ccab755136f4a498b2cd6",
      "old_mode": 33188,
      "old_path": "hw/watchdog/wdt_i6300esb.c",
      "new_id": "a91c8fdad0974b8f726f0498c1a95996ccb4b1d8",
      "new_mode": 33188,
      "new_path": "hw/watchdog/wdt_i6300esb.c"
    }
  ]
}
