)]}'
{
  "commit": "7670df73fba373d19471a2ebedb3302ea0607be0",
  "tree": "a47b896a9d9a652ca71cc33709f0f73253ea5f9c",
  "parents": [
    "a8028fcb485522c0d7de9c5423812de9224b37c9"
  ],
  "author": {
    "name": "Bartlomiej Zolnierkiewicz",
    "email": "bzolnier@gmail.com",
    "time": "Thu Oct 11 23:53:59 2007 +0200"
  },
  "committer": {
    "name": "Bartlomiej Zolnierkiewicz",
    "email": "bzolnier@gmail.com",
    "time": "Thu Oct 11 23:53:59 2007 +0200"
  },
  "message": "ide: mode limiting fixes for user requested speed changes\n\n* Add an extra argument to ide_max_dma_mode() for passing requested transfer\n  mode.  Use it as an upper limit when finding the best DMA for device/host.\n\n* Rename ide_max_dma_mode() to ide_find_dma_mode() and at the same time add\n  ide_max_dma_mode() wrapper which passes XFER_UDMA_6 as a requested mode to\n  ide_find_dma_mode().  Also add inline ide_find_dma_mode() version for\n  CONFIG_BLK_DEV_IDEDMA\u003dn case.\n\n* Pass requested transfer mode from ide_find_dma_mode() to ide_get_mode_mask()\n  to avoid false warning from eighty_ninty_three().\n\n* Use ide_find_dma_mode() to limit the user requested transfer mode in\n  ide_rate_filter().  Also limit the requested mode by host max PIO mode.\n\n\nAbove changes make ide_rate_filter() to:\n\n* Clip desired transfer mode down if it is invalid (values 0x0F, 0x13-0x19\n  and 0x25-0x39, values \u003e 0x46 were already clipped down, same for values\n  0x25-0x39 but iff UDMA was not supported by the host).\n\n* Clip desired transfer mode down if it is currently unsupported by IDE core\n  (PIO6 and MWDMA3-4, the latter were already clipped down but iff UDMA was\n  not supported by the host).\n\n* Clip desired transfer mode down according to the host capabilities\n  (UDMA modes were already clipped down but MWDMA/SWDMA/PIO weren\u0027t,\n  also -\u003eatapi_dma flag was not respected).\n\n* Clip desired transfer mode down according to the device capabilities\n  (except PIO modes for now which require mode work) - shouldn\u0027t be a\n  problem since ide_set_xfer_rate() is called _after_ device has accepted\n  given transfer mode.\n\nand also result in a number of host driver specific bugfixes:\n\n* icside\n  - clip unsupported PIO5 mode down\n  - fix unsupported/invalid modes being set in drive-\u003ecurrent_speed\n\n* ide-cris\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - clip DMA modes down for ATAPI devices\n  - fix BUG() on unsupported/invalid modes\n\n* au1xxx-ide\n  - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2\n    (if BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA\u003dn) modes down\n\n* aec62xx\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - clip DMA modes down for ATAPI devices\n  - fix 0x00 being programmed as PIO timing for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* alim15x3\n  - clip DMA modes down for ATAPI devices (chipset revision \u003d\u003d 0x20 only)\n  - fix theoretical OOPS for 0x0F mode\n  - fix unsupported/invalid modes being set on the device\n\n* amd74xx\n  - clip unsupported SWDMA0-2 (on COBRA_7401 revs \u003c\u003d 7) modes down\n  - fix random PIO timings being set for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* atiixp\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix cached MWDMA mode being cleared for unsupported/invalid modes\n  - fix PIO{0,2} timings being programmed for unsupported/invalid modes\n  - fix theoretical OOPS for PIO5-6 and 0x0F modes\n  - fix unsupported/invalid modes being set on the device\n\n* cmd64x\n  - clip unsupported SWDMA0-2 modes down\n\n* cs5530\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix unsupported/invalid modes being set on the device\n  - fix BUG() on unsupported/invalid modes\n    (which happened if the device accepted the setting)\n\n* cs5535\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix unsupported/invalid modes being set on the device\n  - fix theoretical OOPS for PIO5-6 and 0x0F modes\n\n* hpt34x\n  - clip DMA modes down for ATAPI devices\n  - fix invalid timings being programmed for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* hpt366\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix PIO0 timings being programmed for unsupported/invalid modes\n  - fix DMA timings being cleared for MWDMA3-4 and 0x25-0x39 modes\n  - fix unsupported/invalid modes being set on the device\n\n* it8213\n  - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down\n\n* it821x\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - clip DMA modes down for ATAPI devices\n    (chipset in smart mode and revision 0x10 in pass-through mode)\n\n* jmicron\n  - clip unsupported SWDMA0-2 modes down\n  - fix unsupported/invalid modes being set on the device\n\n* pdc202xx_new\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix unsupported/invalid modes being set on the device\n\n* pdc202xx_old\n  - clip unsupported PIO5 mode down\n  - fix incorrect timings being set for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* piix\n  - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down\n\n* sc1200\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix unsupported/invalid modes being set on the device\n  - fix BUG() on unsupported/invalid modes\n    (which happened if the device accepted the setting)\n\n* scc_pata\n  - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 modes down\n\n* serverworks\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix DMA/UDMA timings/settings being cleared for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* siimage\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - clip DMA modes down for ATAPI devices (SATA chipsets)\n\n* sis5513\n  - clip unsupported PIO5 mode down\n  - fix BUG() on unsupported/invalid modes\n\n* sl82c105\n  - clip unsupported SWDMA0-2 modes down\n\n* slc90e66\n  - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down\n\n* tc86c001\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n  - fix PIO0 timings being programmed for PIO5/0x0F/SWDMA0-2/0x13-0x19 modes\n  - fix invalid 0x00 DMA timing being programmed for MWDMA3-4/0x25-0x39 modes\n  - fix unsupported/invalid modes being set on the device\n\n* triflex\n  - clip unsupported PIO5 mode down\n\n* via82cxxx\n  - fix random PIO timings being set for unsupported/invalid modes\n  - fix unsupported/invalid modes being set on the device\n\n* pmac\n  - clip unsupported PIO5 and SWDMA0-2 modes down\n\n* cmd640/ht6560b\n  - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA\u003dy)\n  - fix PIO5 being clipped to PIO4 (if CONFIG_BLK_DEV_IDEDMA\u003dn)\n\n* opti621\n  - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA\u003dy)\n  - clip unsupported PIO4 to PIO3 (if CONFIG_BLK_DEV_IDEDMA\u003dn)\n\n\nWhile at it:\n\n* Use ide_rate_filter() in cs5520.c::cs5520_tune_chipset().\n\n* Remove no longer needed checks from hpt366.c::hpt3{6,7}x_tune_chipset().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f073ea35da000f9799abf710f9bf94fb9a9afe5b",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-dma.c",
      "new_id": "6000c08f51ba30741f8451daeb35e6289ec4d8c3",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-dma.c"
    },
    {
      "type": "modify",
      "old_id": "92a6c7bcf5278dc8594eb7a73113c9d648647f63",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-lib.c",
      "new_id": "41a128f521123182e27fa5ebae6cb4e7708ab6d7",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-lib.c"
    },
    {
      "type": "modify",
      "old_id": "b89e816568751c53423a3bd5070e2d76b2aae87d",
      "old_mode": 33188,
      "old_path": "drivers/ide/pci/cs5520.c",
      "new_id": "507981042c82d8f3c29e1b53118e3e838085e88c",
      "new_mode": 33188,
      "new_path": "drivers/ide/pci/cs5520.c"
    },
    {
      "type": "modify",
      "old_id": "3d8d6b2ee41a35222c2c67d476607ba3243b3401",
      "old_mode": 33188,
      "old_path": "drivers/ide/pci/hpt366.c",
      "new_id": "18c8ad091eb3be4011ba731d3923f8803cd74440",
      "new_mode": 33188,
      "new_path": "drivers/ide/pci/hpt366.c"
    },
    {
      "type": "modify",
      "old_id": "80ea946282d79687bd61de08c0d7c67fdee48e73",
      "old_mode": 33188,
      "old_path": "include/linux/ide.h",
      "new_id": "a3f9c216615edd9dda8475a7e762514f08e5fd91",
      "new_mode": 33188,
      "new_path": "include/linux/ide.h"
    }
  ]
}
