)]}'
{
  "commit": "65bb705f7b59d8f2a5683160f31db15b4e2c64d7",
  "tree": "e60b4a558b4240e00a40c79eab3f716794bd612b",
  "parents": [
    "3d8f1f386479219c4236b5c0fe483442c1bc7461"
  ],
  "author": {
    "name": "Michael Ellerman",
    "email": "mpe@kernel.org",
    "time": "Tue Mar 24 23:29:20 2026 +1100"
  },
  "committer": {
    "name": "Anup Patel",
    "email": "anup@brainfault.org",
    "time": "Mon May 11 11:30:22 2026 +0530"
  },
  "message": "lib/sbi_pmu: Don\u0027t fallback to fixed counters when sscofpmf \u0026\u0026 !smcntrpmf\n\nCurrently when searching for a hardware counter for an event, if no\nprogrammable counter is available, the code falls back to using a fixed\ncounter (mcycle/minstret) if one matches the event.\n\nHowever the fallback is incorrect when sscofpmf is present but\nsmcntrpmf is not. That\u0027s because with sscofpmf, programmable counters\nsupport mode filtering, but the fixed counters do not (without\nsmcntrpmf). Even if the caller didn\u0027t configure mode filtering, by\ndefault programmable counters don\u0027t count M mode when sscofpmf is\npresent, whereas mcycle/minstret do.\n\nFix the logic to not fallback to a fixed counter if sscofpmf is present\nbut smcntrpmf is not.\n\nFixes: 0c304b661965 (\"lib: sbi: Allow programmable counters to monitor cycle/instret events\")\nSigned-off-by: Michael Ellerman \u003cmpe@kernel.org\u003e\nReviewed-by: Anup Patel \u003canup@brainfault.org\u003e\nLink: https://lore.kernel.org/r/20260324-mcycle-fix-v1-1-1444e9fe5c32@kernel.org\nSigned-off-by: Anup Patel \u003canup@brainfault.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae00ad5844b1fe92a8eebfb618902a5eef218a9e",
      "old_mode": 33188,
      "old_path": "lib/sbi/sbi_pmu.c",
      "new_id": "8a9021e2e5bac2d71a0f07d3f81600ff370ee2fc",
      "new_mode": 33188,
      "new_path": "lib/sbi/sbi_pmu.c"
    }
  ]
}
