)]}'
{
  "commit": "f75d4a238770d83d3a0475ce7f34e3fa37de161e",
  "tree": "522f9aa82d79993fb670e638757bae1240c03ca8",
  "parents": [
    "4cd7d9247ffa2a27508c69563b66713519c196f5"
  ],
  "author": {
    "name": "Bartlomiej Zolnierkiewicz",
    "email": "bzolnier@gmail.com",
    "time": "Tue Jan 05 07:07:27 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Jan 12 01:49:23 2010 -0800"
  },
  "message": "icside: bring back -\u003emaskproc method\n\nBring back -\u003emaskproc method since it is still needed for proper operation,\nas noticed by Russell King:\n\n\u003e This change is bogus.\n\u003e\n\u003e         writeb(0, base + ICS_ARCIN_V6_INTROFFSET_1);\n\u003e         readb(base + ICS_ARCIN_V6_INTROFFSET_2);\n\u003e\n\u003e         writeb(0, base + ICS_ARCIN_V6_INTROFFSET_2);\n\u003e         readb(base + ICS_ARCIN_V6_INTROFFSET_1);\n\u003e\n\u003e This sequence of code does:\n\u003e\n\u003e 1. enable interrupt 1\n\u003e 2. disable interrupt 2\n\u003e 3. enable interrupt 2\n\u003e 4. disable interrupt 1\n\u003e\n\u003e which results in the interrupt for the second channel being enabled -\n\u003e leaving channel 1 blocked.\n\u003e\n\u003e Firstly, icside shares its two IDE channels with one DMA engine - so it\u0027s\n\u003e a simplex interface.  IDE supports those (or did when the code was written)\n\u003e serializing requests between the two interfaces.  libata does not.\n\u003e\n\u003e Secondly, the interrupt lines on icside float when there\u0027s no drive connected\n\u003e or when the drive has its NIEN bit set, which means that you get spurious\n\u003e screaming interrupts which can kill off all expansion card interrupts on\n\u003e the machine unless you disable the channel interrupt on the card.\n\u003e\n\u003e Since libata can not serialize the operation of the two channels like IDE\n\u003e can, the libata version of the icside driver does not contain the interrupt\n\u003e stearing logic.  Instead, it looks at the status after reset, and if\n\u003e nothing was found on that channel, it masks the interrupt from that\n\u003e channel.\n\nThis patch reverts changes done in commit dff8817 (I became confused due to\nnon-standard \u0026 undocumented -\u003emaskproc method, anyway sorry about that).\n\nNoticed-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f67f1abbbd3b214793009d150cf2558b87704cc",
      "old_mode": 33188,
      "old_path": "drivers/ide/icside.c",
      "new_id": "d7e6f09aa86bff58e2035fdd3916fc7d4740d494",
      "new_mode": 33188,
      "new_path": "drivers/ide/icside.c"
    }
  ]
}
