)]}'
{
  "commit": "9f672004ab1a8094bec1785b39ac683ab9eebebc",
  "tree": "75fc630226b2401ed7d2b5d15c2b149f2645cfd6",
  "parents": [
    "5ecfbae093f0c37311e89b29bfc0c9d586eace87"
  ],
  "author": {
    "name": "Christian Trefzer",
    "email": "ctrefzer@gmx.de",
    "time": "Wed Feb 15 15:17:34 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Wed Feb 15 15:32:21 2006 -0800"
  },
  "message": "[PATCH] neofb: avoid resetting display config on unblank (v2)\n\nThere were two mistakes in the register-read-on-(un)blank approach.\n\n- First, without proper register (un)locking the value read back will always\n  be zero, and this is what I missed entirely until just now.  Due to this,\n  the logic could not be verified at all and I tried some bogus checks which\n  are completely stupid.\n\n- Second, the LCD status bit will always be set to zero when the backlight\n  has been turned off.  Reading the value back during unblank will disable the\n  LCD unconditionally, regardless of the state it is supposed to be in, since\n  we set it to zero beforehand.\n\nSo this is what we do now:\n\n- create a new variable in struct neofb_par, and use that to determine\n  whether to read back registers (initialized to true)\n\n- before actually blanking the screen, read back the register to sense any\n  possible change made through Fn key combo\n\n- use proper neoUnlock() / neoLock() to actually read something\n\n- every call to neofb_blank() determines if we read back next time: blanking\n  disables readback, unblanking (FB_BLANK_UNBLANK) enables it\n\nThis should give us a nice and clean state machine.  Has been thoroughly\ntested on a Dell Latitude CPiA / NM220 Chip docked to a C/Dock2 with attached\nCRT in all possible combinations of LCD/CRT on/off.  I changed the config via\nFn key, let the console blank, unblanked by keypress - works flawlessly.\n\nSigned-off-by: Christian Trefzer \u003cctrefzer@gmx.de\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b85e2b180a4488f9eeeb99d69d7dedf7c1c7f9b0",
      "old_mode": 33188,
      "old_path": "drivers/video/neofb.c",
      "new_id": "a2e201dc40f774a57976d1b41201cfb9aa574031",
      "new_mode": 33188,
      "new_path": "drivers/video/neofb.c"
    },
    {
      "type": "modify",
      "old_id": "1d69049bd4c196ee13ab3e7a6439d20d5cf47008",
      "old_mode": 33188,
      "old_path": "include/video/neomagic.h",
      "new_id": "78b1f15a538fc69a0aaf2f94c11a400d5ad2193d",
      "new_mode": 33188,
      "new_path": "include/video/neomagic.h"
    }
  ]
}
