)]}'
{
  "commit": "cbf9c1132914f0d5d3a271f910611a6364d30dd3",
  "tree": "149601c569f8a9534bc84db47a83c53c41fc67e4",
  "parents": [
    "823a7046d28d207a2985a52a3a95e4916ba72d4e"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Mon Mar 25 19:24:17 2024 +0100"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sat Apr 06 13:39:43 2024 +0000"
  },
  "message": "spi: Don\u0027t cross 16MiB boundaries with long writes\n\nThe 16MiB issue still bites us.  Originally, the core of flashprog never\nsent more than an erase block at once to write. Now that we write bigger\nchunks at once, after all necessary erasure, it can happen that we cross\n16MiB boundaries. This is an issue with programmer drivers that can only\nsend 3-byte addresses.  We use the extended address register with these,\nto select which 16MiB area is currently accessed. Should we try to write\nacross a 16MiB boundary, we\u0027d write with stale extended-address register\ncontents (basically wrapping around).\n\nThis once more troubles old, V1 Dediprog SF100\u0027s. Where we can send huge\nchunks at once and leave the sequencing to the programmer.  The program-\nmer, however,  is unaware of the state of the extended-address register.\nOther programmer drivers do the sequencing with  spi_write_chunked() and\nshouldn\u0027t be affected.\n\nTo settle this issue,  copy the loop logic that we already used to avoid\nthe problem for long reads.\n\nTested with Dediprog \"SF100   V:5.1.9\".\n\nChange-Id: I5b9d6779eff5224fb9981fd478dbc94262cd3262\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/115\nReviewed-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a6b512448d50d373b723631baad0717979c76739",
      "old_mode": 33188,
      "old_path": "spi.c",
      "new_id": "ac51d870674833f0815ab93dcb7fb476373c05fd",
      "new_mode": 33188,
      "new_path": "spi.c"
    }
  ]
}
