)]}'
{
  "commit": "7d681e5cfe327d0e348325faaadcaa9f9d1b472b",
  "tree": "40e908d9629319b6c5beaae90f1cf27e61977793",
  "parents": [
    "1938c40267b74458d3f0a7b80892ac9921424bd9"
  ],
  "author": {
    "name": "Alexander Williams",
    "email": "awill@google.com",
    "time": "Mon Feb 14 07:56:08 2022 -0800"
  },
  "committer": {
    "name": "tjaychen",
    "email": "timothytim@google.com",
    "time": "Tue Mar 08 10:03:03 2022 -0800"
  },
  "message": "[usbdev] Enable defaulting to NAK for OUT transactions\n\nAdd a bit to change the behavior for OUT transactions to default to NAK\nwithout software intervention, for safe communication of responses to\nthe host.\nBefore this commit, the device could incorrectly communicate acceptance\nof a packet to the host if the firmware did not take action in time.\nDefaulting to NAK gives the firmware time, since this is a nonbinding\ncondition--The device is merely saying, \"Please try again later.\"\n\nClear the rxenable_out bit in hardware when a packet is received. Update\nsoftware code to match.\n\nThis change could have deleterious effects on performance in some cases,\nbut priority is given to safe handling of responses. For interfaces that\nmay perform transactions when a buffer is available, do not set the\nset_nak_out bit for the corresponding endpoints.\n\nSigned-off-by: Alexander Williams \u003cawill@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93229e1124fc6f77ff65bf24faa6b06522a8c26c",
      "old_mode": 33188,
      "old_path": "hw/ip/usbdev/data/usbdev.hjson",
      "new_id": "8970fe16daef69af0d6d758a9f942c5de39fc4a5",
      "new_mode": 33188,
      "new_path": "hw/ip/usbdev/data/usbdev.hjson"
    },
    {
      "type": "modify",
      "old_id": "e2ccc2b5d30bf42628e81f74b4914c569c4db02d",
      "old_mode": 33188,
      "old_path": "hw/ip/usbdev/rtl/usbdev.sv",
      "new_id": "605a8cf7a04d46c9cd6613efe0aebcbff5b7abd4",
      "new_mode": 33188,
      "new_path": "hw/ip/usbdev/rtl/usbdev.sv"
    },
    {
      "type": "modify",
      "old_id": "c0acb39213984a25afe9ff184f20c31eaa199cf6",
      "old_mode": 33188,
      "old_path": "hw/ip/usbdev/rtl/usbdev_reg_pkg.sv",
      "new_id": "15ac6cd8ddc1e38127496cf0b8a3b14ee4b5d94f",
      "new_mode": 33188,
      "new_path": "hw/ip/usbdev/rtl/usbdev_reg_pkg.sv"
    },
    {
      "type": "modify",
      "old_id": "082f8101f7dcc931bf12fe9d0b849ca6bce3d8a7",
      "old_mode": 33188,
      "old_path": "hw/ip/usbdev/rtl/usbdev_reg_top.sv",
      "new_id": "3b0154af5db3b2701fc17c189de72208642bc72c",
      "new_mode": 33188,
      "new_path": "hw/ip/usbdev/rtl/usbdev_reg_top.sv"
    },
    {
      "type": "modify",
      "old_id": "89db6d0ca50102f06d3e70c7fbdbd5551269daf1",
      "old_mode": 33188,
      "old_path": "sw/device/lib/dif/dif_usbdev.c",
      "new_id": "23a1146dba4d4ec9d53d45d19be717589c38eb15",
      "new_mode": 33188,
      "new_path": "sw/device/lib/dif/dif_usbdev.c"
    },
    {
      "type": "modify",
      "old_id": "4c7a57cfe4dcca98fcf5141324aa4d67f8483d92",
      "old_mode": 33188,
      "old_path": "sw/device/lib/dif/dif_usbdev.h",
      "new_id": "94c6e7a4953028f98bd82f277c1e70d3d2803d30",
      "new_mode": 33188,
      "new_path": "sw/device/lib/dif/dif_usbdev.h"
    },
    {
      "type": "modify",
      "old_id": "7ba8fa889b13e80ec1ffaa84e39f79ec0a167125",
      "old_mode": 33188,
      "old_path": "sw/device/lib/usb_controlep.c",
      "new_id": "466a6bda36284aad6be2426b432eb773c001f51e",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_controlep.c"
    },
    {
      "type": "modify",
      "old_id": "b7e874af0a1bd9dbabd069ade0893246628bf338",
      "old_mode": 33188,
      "old_path": "sw/device/lib/usb_simpleserial.c",
      "new_id": "03ae9a21431cbd74874abd290a62a82c64ee9a37",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_simpleserial.c"
    },
    {
      "type": "modify",
      "old_id": "63e16891420d3c5b8507e52281fe780c73bea9ad",
      "old_mode": 33188,
      "old_path": "sw/device/lib/usbdev.c",
      "new_id": "be5161b95ddb3a688e97abfb081662aad6e46f94",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usbdev.c"
    },
    {
      "type": "modify",
      "old_id": "54fa3bac63ce99d37ab3f7d1bc2640f0ba0c9276",
      "old_mode": 33188,
      "old_path": "sw/device/lib/usbdev.h",
      "new_id": "baafdea1655b27cb503d935cd5dbe50a88d37a69",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usbdev.h"
    }
  ]
}
