On Thu, 2026-08-13 at 01:13 +0200, Marek Czernohous wrote:
> + * chip that reaches this handler, not just on
> Tesla.
> + * Demote to debug to keep dmesg clean while still
> catching
> + * real CACHE_ERROR events.
> + */
> + if ((mthd & 0x1ffc) == 0x0060 &&
> + (data & 0xffffff00) == 0xbeef0200) {
> + nvkm_debug(subdev, "CACHE_ERROR - ch %d subc
> %d mthd %04x data %08x (benign, skipped)\n",
> + chid, (mthd >> 13) & 7, mthd &
> 0x1ffc, data);
> + } else {
> + chan = nvkm_chan_get_chid(&fifo->engine,
> chid, &flags);
> + nvkm_error(subdev, "CACHE_ERROR - ch %d [%s]
> subc %d mthd %04x data %08x\n",
> + chid, chan ? chan->name :
> "unknown",
> + (mthd >> 13) & 7, mthd & 0x1ffc,
> data);
> + nvkm_chan_put(&chan, flags);
> + }
I assume this won't break anything, but hindsight is always 20/20 - so,
I think we should probably keep the print of the channel name even when
demoting this to debug in case we have to investigate this someday. We
should also move the nvkm_chan_get_chid(…) call and nvkm_chan_put(…)
call out of the conditional, and probably move all of the printf
arguments into their own local variables in this function so there's
less to maintain for future changes.
> }