root/drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
/* Copyright (c) 2023 Imagination Technologies Ltd. */

#ifndef PVR_ROGUE_FWIF_SF_H
#define PVR_ROGUE_FWIF_SF_H

/*
 ******************************************************************************
 * *DO*NOT* rearrange or delete lines in rogue_fw_log_sfgroups or stid_fmts
 *           WILL BREAK fw tracing message compatibility with previous
 *           fw versions. Only add new ones, if so required.
 ******************************************************************************
 */

/* Available log groups. */
enum rogue_fw_log_sfgroups {
        ROGUE_FW_GROUP_NULL,
        ROGUE_FW_GROUP_MAIN,
        ROGUE_FW_GROUP_CLEANUP,
        ROGUE_FW_GROUP_CSW,
        ROGUE_FW_GROUP_PM,
        ROGUE_FW_GROUP_RTD,
        ROGUE_FW_GROUP_SPM,
        ROGUE_FW_GROUP_MTS,
        ROGUE_FW_GROUP_BIF,
        ROGUE_FW_GROUP_MISC,
        ROGUE_FW_GROUP_POW,
        ROGUE_FW_GROUP_HWR,
        ROGUE_FW_GROUP_HWP,
        ROGUE_FW_GROUP_RPM,
        ROGUE_FW_GROUP_DMA,
        ROGUE_FW_GROUP_DBG,
};

#define PVR_SF_STRING_MAX_SIZE 256U

/* pair of string format id and string formats */
struct rogue_fw_stid_fmt {
        u32 id;
        char name[PVR_SF_STRING_MAX_SIZE];
};

/*
 *  The symbolic names found in the table above are assigned an u32 value of
 *  the following format:
 *  31 30 28 27       20   19  16    15  12      11            0   bits
 *  -   ---   ---- ----     ----      ----        ---- ---- ----
 *     0-11: id number
 *    12-15: group id number
 *    16-19: number of parameters
 *    20-27: unused
 *    28-30: active: identify SF packet, otherwise regular int32
 *       31: reserved for signed/unsigned compatibility
 *
 *   The following macro assigns those values to the enum generated SF ids list.
 */
#define ROGUE_FW_LOG_IDMARKER (0x70000000U)
#define ROGUE_FW_LOG_CREATESFID(a, b, e) ((u32)(a) | ((u32)(b) << 12) | ((u32)(e) << 16) | \
                                          ROGUE_FW_LOG_IDMARKER)

#define ROGUE_FW_LOG_IDMASK (0xFFF00000)
#define ROGUE_FW_LOG_VALIDID(I) (((I) & ROGUE_FW_LOG_IDMASK) == ROGUE_FW_LOG_IDMARKER)

/* Return the group id that the given (enum generated) id belongs to */
#define ROGUE_FW_SF_GID(x) (((u32)(x) >> 12) & 0xfU)
/* Returns how many arguments the SF(string format) for the given (enum generated) id requires */
#define ROGUE_FW_SF_PARAMNUM(x) (((u32)(x) >> 16) & 0xfU)

/* pair of string format id and string formats */
struct rogue_km_stid_fmt {
        u32 id;
        const char *name;
};

static const struct rogue_km_stid_fmt stid_fmts[] = {
        { ROGUE_FW_LOG_CREATESFID(0, ROGUE_FW_GROUP_NULL, 0),
          "You should not use this string" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_MAIN, 6),
          "Kick 3D: FWCtx 0x%08.8x @ %d, RTD 0x%08x. Partial render:%d, CSW resume:%d, prio:%d" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_MAIN, 2),
          "3D finished, HWRTData0State=%x, HWRTData1State=%x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_MAIN, 4),
          "Kick 3D TQ: FWCtx 0x%08.8x @ %d, CSW resume:%d, prio: %d" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_MAIN, 0),
          "3D Transfer finished" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_MAIN, 3),
          "Kick Compute: FWCtx 0x%08.8x @ %d, prio: %d" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_MAIN, 0),
          "Compute finished" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_MAIN, 7),
          "Kick TA: FWCtx 0x%08.8x @ %d, RTD 0x%08x. First kick:%d, Last kick:%d, CSW resume:%d, prio:%d" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_MAIN, 0),
          "TA finished" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_MAIN, 0),
          "Restart TA after partial render" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_MAIN, 0),
          "Resume TA without partial render" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_MAIN, 2),
          "Out of memory! Context 0x%08x, HWRTData 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_MAIN, 3),
          "Kick TLA: FWCtx 0x%08.8x @ %d, prio:%d" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_MAIN, 0),
          "TLA finished" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_MAIN, 3),
          "cCCB Woff update = %d, DM = %d, FWCtx = 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_MAIN, 2),
          "UFO Checks for FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_MAIN, 3),
          "UFO Check: [0x%08.8x] is 0x%08.8x requires 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_MAIN, 0),
          "UFO Checks succeeded" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_MAIN, 3),
          "UFO PR-Check: [0x%08.8x] is 0x%08.8x requires >= 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_MAIN, 1),
          "UFO SPM PR-Checks for FWCtx 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_MAIN, 4),
          "UFO SPM special PR-Check: [0x%08.8x] is 0x%08.8x requires >= ????????, [0x%08.8x] is ???????? requires 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_MAIN, 2),
          "UFO Updates for FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_MAIN, 2),
          "UFO Update: [0x%08.8x] = 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_MAIN, 1),
          "ASSERT Failed: line %d of:" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_MAIN, 2),
          "HWR: Lockup detected on DM%d, FWCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_MAIN, 3),
          "HWR: Reset fw state for DM%d, FWCtx: 0x%08.8x, MemCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_MAIN, 0),
          "HWR: Reset HW" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_MAIN, 0),
          "HWR: Lockup recovered." },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_MAIN, 1),
          "HWR: False lockup detected for DM%u" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_MAIN, 3),
          "Alignment check %d failed: host = 0x%x, fw = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_MAIN, 0),
          "GP USC triggered" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_MAIN, 2),
          "Overallocating %u temporary registers and %u shared registers for breakpoint handler" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_MAIN, 1),
          "Setting breakpoint: Addr 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_MAIN, 0),
          "Store breakpoint state" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_MAIN, 0),
          "Unsetting BP Registers" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_MAIN, 1),
          "Active RTs expected to be zero, actually %u" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_MAIN, 1),
          "RTC present, %u active render targets" },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_MAIN, 1),
          "Estimated Power 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_MAIN, 1),
          "RTA render target %u" },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_MAIN, 2),
          "Kick RTA render %u of %u" },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_MAIN, 3),
          "HWR sizes check %d failed: addresses = %d, sizes = %d" },
        { ROGUE_FW_LOG_CREATESFID(42, ROGUE_FW_GROUP_MAIN, 1),
          "Pow: DUSTS_ENABLE = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(43, ROGUE_FW_GROUP_MAIN, 2),
          "Pow: On(1)/Off(0): %d, Units: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(44, ROGUE_FW_GROUP_MAIN, 2),
          "Pow: Changing number of dusts from %d to %d" },
        { ROGUE_FW_LOG_CREATESFID(45, ROGUE_FW_GROUP_MAIN, 0),
          "Pow: Sidekick ready to be powered down" },
        { ROGUE_FW_LOG_CREATESFID(46, ROGUE_FW_GROUP_MAIN, 2),
          "Pow: Request to change num of dusts to %d (bPowRascalDust=%d)" },
        { ROGUE_FW_LOG_CREATESFID(47, ROGUE_FW_GROUP_MAIN, 0),
          "No ZS Buffer used for partial render (store)" },
        { ROGUE_FW_LOG_CREATESFID(48, ROGUE_FW_GROUP_MAIN, 0),
          "No Depth/Stencil Buffer used for partial render (load)" },
        { ROGUE_FW_LOG_CREATESFID(49, ROGUE_FW_GROUP_MAIN, 2),
          "HWR: Lock-up DM%d FWCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(50, ROGUE_FW_GROUP_MAIN, 7),
          "MLIST%d checker: CatBase TE=0x%08x (%d Pages), VCE=0x%08x (%d Pages), ALIST=0x%08x, IsTA=%d" },
        { ROGUE_FW_LOG_CREATESFID(51, ROGUE_FW_GROUP_MAIN, 3),
          "MLIST%d checker: MList[%d] = 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(52, ROGUE_FW_GROUP_MAIN, 1),
          "MLIST%d OK" },
        { ROGUE_FW_LOG_CREATESFID(53, ROGUE_FW_GROUP_MAIN, 1),
          "MLIST%d is empty" },
        { ROGUE_FW_LOG_CREATESFID(54, ROGUE_FW_GROUP_MAIN, 8),
          "MLIST%d checker: CatBase TE=0x%08x%08x, VCE=0x%08x%08x, ALIST=0x%08x%08x, IsTA=%d" },
        { ROGUE_FW_LOG_CREATESFID(55, ROGUE_FW_GROUP_MAIN, 0),
          "3D OQ flush kick" },
        { ROGUE_FW_LOG_CREATESFID(56, ROGUE_FW_GROUP_MAIN, 1),
          "HWPerf block ID (0x%x) unsupported by device" },
        { ROGUE_FW_LOG_CREATESFID(57, ROGUE_FW_GROUP_MAIN, 2),
          "Setting breakpoint: Addr 0x%08.8x DM%u" },
        { ROGUE_FW_LOG_CREATESFID(58, ROGUE_FW_GROUP_MAIN, 3),
          "Kick RTU: FWCtx 0x%08.8x @ %d, prio: %d" },
        { ROGUE_FW_LOG_CREATESFID(59, ROGUE_FW_GROUP_MAIN, 1),
          "RDM finished on context %u" },
        { ROGUE_FW_LOG_CREATESFID(60, ROGUE_FW_GROUP_MAIN, 3),
          "Kick SHG: FWCtx 0x%08.8x @ %d, prio: %d" },
        { ROGUE_FW_LOG_CREATESFID(61, ROGUE_FW_GROUP_MAIN, 0),
          "SHG finished" },
        { ROGUE_FW_LOG_CREATESFID(62, ROGUE_FW_GROUP_MAIN, 1),
          "FBA finished on context %u" },
        { ROGUE_FW_LOG_CREATESFID(63, ROGUE_FW_GROUP_MAIN, 0),
          "UFO Checks failed" },
        { ROGUE_FW_LOG_CREATESFID(64, ROGUE_FW_GROUP_MAIN, 1),
          "Kill DM%d start" },
        { ROGUE_FW_LOG_CREATESFID(65, ROGUE_FW_GROUP_MAIN, 1),
          "Kill DM%d complete" },
        { ROGUE_FW_LOG_CREATESFID(66, ROGUE_FW_GROUP_MAIN, 2),
          "FC%u cCCB Woff update = %u" },
        { ROGUE_FW_LOG_CREATESFID(67, ROGUE_FW_GROUP_MAIN, 4),
          "Kick RTU: FWCtx 0x%08.8x @ %d, prio: %d, Frame Context: %d" },
        { ROGUE_FW_LOG_CREATESFID(68, ROGUE_FW_GROUP_MAIN, 0),
          "GPU init" },
        { ROGUE_FW_LOG_CREATESFID(69, ROGUE_FW_GROUP_MAIN, 1),
          "GPU Units init (# mask: 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(70, ROGUE_FW_GROUP_MAIN, 3),
          "Register access cycles: read: %d cycles, write: %d cycles, iterations: %d" },
        { ROGUE_FW_LOG_CREATESFID(71, ROGUE_FW_GROUP_MAIN, 3),
          "Register configuration added. Address: 0x%x Value: 0x%x%x" },
        { ROGUE_FW_LOG_CREATESFID(72, ROGUE_FW_GROUP_MAIN, 1),
          "Register configuration applied to type %d. (0:pow on, 1:Rascal/dust init, 2-5: TA,3D,CDM,TLA, 6:All)" },
        { ROGUE_FW_LOG_CREATESFID(73, ROGUE_FW_GROUP_MAIN, 0),
          "Perform TPC flush." },
        { ROGUE_FW_LOG_CREATESFID(74, ROGUE_FW_GROUP_MAIN, 0),
          "GPU has locked up (see HWR logs for more info)" },
        { ROGUE_FW_LOG_CREATESFID(75, ROGUE_FW_GROUP_MAIN, 0),
          "HWR has been triggered - GPU has overrun its deadline (see HWR logs)" },
        { ROGUE_FW_LOG_CREATESFID(76, ROGUE_FW_GROUP_MAIN, 0),
          "HWR has been triggered - GPU has failed a poll (see HWR logs)" },
        { ROGUE_FW_LOG_CREATESFID(77, ROGUE_FW_GROUP_MAIN, 1),
          "Doppler out of memory event for FC %u" },
        { ROGUE_FW_LOG_CREATESFID(78, ROGUE_FW_GROUP_MAIN, 3),
          "UFO SPM special PR-Check: [0x%08.8x] is 0x%08.8x requires >= 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(79, ROGUE_FW_GROUP_MAIN, 3),
          "UFO SPM special PR-Check: [0x%08.8x] is 0x%08.8x requires 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(80, ROGUE_FW_GROUP_MAIN, 1),
          "TIMESTAMP -> [0x%08.8x]" },
        { ROGUE_FW_LOG_CREATESFID(81, ROGUE_FW_GROUP_MAIN, 2),
          "UFO RMW Updates for FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(82, ROGUE_FW_GROUP_MAIN, 2),
          "UFO Update: [0x%08.8x] = 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(83, ROGUE_FW_GROUP_MAIN, 2),
          "Kick Null cmd: FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(84, ROGUE_FW_GROUP_MAIN, 2),
          "RPM Out of memory! Context 0x%08x, SH requestor %d" },
        { ROGUE_FW_LOG_CREATESFID(85, ROGUE_FW_GROUP_MAIN, 4),
          "Discard RTU due to RPM abort: FWCtx 0x%08.8x @ %d, prio: %d, Frame Context: %d" },
        { ROGUE_FW_LOG_CREATESFID(86, ROGUE_FW_GROUP_MAIN, 4),
          "Deferring DM%u from running context 0x%08x @ %d (deferred DMs = 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(87, ROGUE_FW_GROUP_MAIN, 4),
          "Deferring DM%u from running context 0x%08x @ %d to let other deferred DMs run (deferred DMs = 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(88, ROGUE_FW_GROUP_MAIN, 4),
          "No longer deferring DM%u from running context = 0x%08x @ %d (deferred DMs = 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(89, ROGUE_FW_GROUP_MAIN, 3),
          "FWCCB for DM%u is full, we will have to wait for space! (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(90, ROGUE_FW_GROUP_MAIN, 3),
          "FWCCB for OSid %u is full, we will have to wait for space! (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(91, ROGUE_FW_GROUP_MAIN, 1),
          "Host Sync Partition marker: %d" },
        { ROGUE_FW_LOG_CREATESFID(92, ROGUE_FW_GROUP_MAIN, 1),
          "Host Sync Partition repeat: %d" },
        { ROGUE_FW_LOG_CREATESFID(93, ROGUE_FW_GROUP_MAIN, 1),
          "Core clock set to %d Hz" },
        { ROGUE_FW_LOG_CREATESFID(94, ROGUE_FW_GROUP_MAIN, 7),
          "Compute Queue: FWCtx 0x%08.8x, prio: %d, queue: 0x%08x%08x (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(95, ROGUE_FW_GROUP_MAIN, 3),
          "Signal check failed, Required Data: 0x%x, Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(96, ROGUE_FW_GROUP_MAIN, 5),
          "Signal update, Snoop Filter: %u, MMU Ctx: %u, Signal Id: %u, Signals Base: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(97, ROGUE_FW_GROUP_MAIN, 4),
          "Signalled the previously waiting FWCtx: 0x%08.8x, OSId: %u, Signal Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(98, ROGUE_FW_GROUP_MAIN, 0),
          "Compute stalled" },
        { ROGUE_FW_LOG_CREATESFID(99, ROGUE_FW_GROUP_MAIN, 3),
          "Compute stalled (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(100, ROGUE_FW_GROUP_MAIN, 3),
          "Compute resumed (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(101, ROGUE_FW_GROUP_MAIN, 4),
          "Signal update notification from the host, PC Physical Address: 0x%08x%08x, Signal Virtual Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(102, ROGUE_FW_GROUP_MAIN, 4),
          "Signal update from DM: %u, OSId: %u, PC Physical Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(103, ROGUE_FW_GROUP_MAIN, 1),
          "DM: %u signal check failed" },
        { ROGUE_FW_LOG_CREATESFID(104, ROGUE_FW_GROUP_MAIN, 3),
          "Kick TDM: FWCtx 0x%08.8x @ %d, prio:%d" },
        { ROGUE_FW_LOG_CREATESFID(105, ROGUE_FW_GROUP_MAIN, 0),
          "TDM finished" },
        { ROGUE_FW_LOG_CREATESFID(106, ROGUE_FW_GROUP_MAIN, 4),
          "MMU_PM_CAT_BASE_TE[%d]_PIPE[%d]:  0x%08x 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(107, ROGUE_FW_GROUP_MAIN, 0),
          "BRN 54141 HIT" },
        { ROGUE_FW_LOG_CREATESFID(108, ROGUE_FW_GROUP_MAIN, 0),
          "BRN 54141 Dummy TA kicked" },
        { ROGUE_FW_LOG_CREATESFID(109, ROGUE_FW_GROUP_MAIN, 0),
          "BRN 54141 resume TA" },
        { ROGUE_FW_LOG_CREATESFID(110, ROGUE_FW_GROUP_MAIN, 0),
          "BRN 54141 double hit after applying WA" },
        { ROGUE_FW_LOG_CREATESFID(111, ROGUE_FW_GROUP_MAIN, 2),
          "BRN 54141 Dummy TA VDM base address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(112, ROGUE_FW_GROUP_MAIN, 4),
          "Signal check failed, Required Data: 0x%x, Current Data: 0x%x, Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(113, ROGUE_FW_GROUP_MAIN, 2),
          "TDM stalled (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(114, ROGUE_FW_GROUP_MAIN, 1),
          "Write Offset update notification for stalled FWCtx 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(115, ROGUE_FW_GROUP_MAIN, 3),
          "Changing OSid %d's priority from %u to %u" },
        { ROGUE_FW_LOG_CREATESFID(116, ROGUE_FW_GROUP_MAIN, 0),
          "Compute resumed" },
        { ROGUE_FW_LOG_CREATESFID(117, ROGUE_FW_GROUP_MAIN, 7),
          "Kick TLA: FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(118, ROGUE_FW_GROUP_MAIN, 7),
          "Kick TDM: FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(119, ROGUE_FW_GROUP_MAIN, 11),
          "Kick TA: FWCtx 0x%08.8x @ %d, RTD 0x%08x, First kick:%d, Last kick:%d, CSW resume:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(120, ROGUE_FW_GROUP_MAIN, 10),
          "Kick 3D: FWCtx 0x%08.8x @ %d, RTD 0x%08x, Partial render:%d, CSW resume:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(121, ROGUE_FW_GROUP_MAIN, 8),
          "Kick 3D TQ: FWCtx 0x%08.8x @ %d, CSW resume:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(122, ROGUE_FW_GROUP_MAIN, 6),
          "Kick Compute: FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(123, ROGUE_FW_GROUP_MAIN, 8),
          "Kick RTU: FWCtx 0x%08.8x @ %d, Frame Context:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(124, ROGUE_FW_GROUP_MAIN, 7),
          "Kick SHG: FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(125, ROGUE_FW_GROUP_MAIN, 1),
          "Reconfigure CSRM: special coeff support enable %d." },
        { ROGUE_FW_LOG_CREATESFID(127, ROGUE_FW_GROUP_MAIN, 1),
          "TA requires max coeff mode, deferring: %d." },
        { ROGUE_FW_LOG_CREATESFID(128, ROGUE_FW_GROUP_MAIN, 1),
          "3D requires max coeff mode, deferring: %d." },
        { ROGUE_FW_LOG_CREATESFID(129, ROGUE_FW_GROUP_MAIN, 1),
          "Kill DM%d failed" },
        { ROGUE_FW_LOG_CREATESFID(130, ROGUE_FW_GROUP_MAIN, 2),
          "Thread Queue is full, we will have to wait for space! (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(131, ROGUE_FW_GROUP_MAIN, 3),
          "Thread Queue is fencing, we are waiting for Roff = %d (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(132, ROGUE_FW_GROUP_MAIN, 1),
          "DM %d failed to Context Switch on time. Triggered HCS (see HWR logs)." },
        { ROGUE_FW_LOG_CREATESFID(133, ROGUE_FW_GROUP_MAIN, 1),
          "HCS changed to %d ms" },
        { ROGUE_FW_LOG_CREATESFID(134, ROGUE_FW_GROUP_MAIN, 4),
          "Updating Tiles In Flight (Dusts=%d, PartitionMask=0x%08x, ISPCtl=0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(135, ROGUE_FW_GROUP_MAIN, 2),
          "  Phantom %d: USCTiles=%d" },
        { ROGUE_FW_LOG_CREATESFID(136, ROGUE_FW_GROUP_MAIN, 0),
          "Isolation grouping is disabled" },
        { ROGUE_FW_LOG_CREATESFID(137, ROGUE_FW_GROUP_MAIN, 1),
          "Isolation group configured with a priority threshold of %d" },
        { ROGUE_FW_LOG_CREATESFID(138, ROGUE_FW_GROUP_MAIN, 1),
          "OS %d has come online" },
        { ROGUE_FW_LOG_CREATESFID(139, ROGUE_FW_GROUP_MAIN, 1),
          "OS %d has gone offline" },
        { ROGUE_FW_LOG_CREATESFID(140, ROGUE_FW_GROUP_MAIN, 4),
          "Signalled the previously stalled FWCtx: 0x%08.8x, OSId: %u, Signal Address: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(141, ROGUE_FW_GROUP_MAIN, 7),
          "TDM Queue: FWCtx 0x%08.8x, prio: %d, queue: 0x%08x%08x (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(142, ROGUE_FW_GROUP_MAIN, 6),
          "Reset TDM Queue Read Offset: FWCtx 0x%08.8x, queue: 0x%08x%08x (Roff = %u becomes 0, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(143, ROGUE_FW_GROUP_MAIN, 5),
          "User Mode Queue mismatched stream start: FWCtx 0x%08.8x, queue: 0x%08x%08x (Roff = %u, StreamStartOffset = %u)" },
        { ROGUE_FW_LOG_CREATESFID(144, ROGUE_FW_GROUP_MAIN, 0),
          "GPU deinit" },
        { ROGUE_FW_LOG_CREATESFID(145, ROGUE_FW_GROUP_MAIN, 0),
          "GPU units deinit" },
        { ROGUE_FW_LOG_CREATESFID(146, ROGUE_FW_GROUP_MAIN, 2),
          "Initialised OS %d with config flags 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(147, ROGUE_FW_GROUP_MAIN, 2),
          "UFO limit exceeded %d/%d" },
        { ROGUE_FW_LOG_CREATESFID(148, ROGUE_FW_GROUP_MAIN, 0),
          "3D Dummy stencil store" },
        { ROGUE_FW_LOG_CREATESFID(149, ROGUE_FW_GROUP_MAIN, 3),
          "Initialised OS %d with config flags 0x%08x and extended config flags 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(150, ROGUE_FW_GROUP_MAIN, 1),
          "Unknown Command (eCmdType=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(151, ROGUE_FW_GROUP_MAIN, 4),
          "UFO forced update: FWCtx 0x%08.8x @ %d [0x%08.8x] = 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(152, ROGUE_FW_GROUP_MAIN, 5),
          "UFO forced update NOP: FWCtx 0x%08.8x @ %d [0x%08.8x] = 0x%08.8x, reason %d" },
        { ROGUE_FW_LOG_CREATESFID(153, ROGUE_FW_GROUP_MAIN, 3),
          "TDM context switch check: Roff %u points to 0x%08x, Match=%u" },
        { ROGUE_FW_LOG_CREATESFID(154, ROGUE_FW_GROUP_MAIN, 6),
          "OSid %d CCB init status: %d (1-ok 0-fail): kCCBCtl@0x%x kCCB@0x%x fwCCBCtl@0x%x fwCCB@0x%x" },
        { ROGUE_FW_LOG_CREATESFID(155, ROGUE_FW_GROUP_MAIN, 2),
          "FW IRQ # %u @ %u" },
        { ROGUE_FW_LOG_CREATESFID(156, ROGUE_FW_GROUP_MAIN, 3),
          "Setting breakpoint: Addr 0x%08.8x DM%u usc_breakpoint_ctrl_dm = %u" },
        { ROGUE_FW_LOG_CREATESFID(157, ROGUE_FW_GROUP_MAIN, 3),
          "Invalid KCCB setup for OSid %u: KCCB 0x%08x, KCCB Ctrl 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(158, ROGUE_FW_GROUP_MAIN, 3),
          "Invalid KCCB cmd (%u) for OSid %u @ KCCB 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(159, ROGUE_FW_GROUP_MAIN, 4),
          "FW FAULT: At line %d in file 0x%08x%08x, additional data=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(160, ROGUE_FW_GROUP_MAIN, 4),
          "Invalid breakpoint: MemCtx 0x%08x Addr 0x%08.8x DM%u usc_breakpoint_ctrl_dm = %u" },
        { ROGUE_FW_LOG_CREATESFID(161, ROGUE_FW_GROUP_MAIN, 3),
          "Discarding invalid SLC flushinval command for OSid %u: DM %u, FWCtx 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(162, ROGUE_FW_GROUP_MAIN, 4),
          "Invalid Write Offset update notification from OSid %u to DM %u: FWCtx 0x%08x, MemCtx 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(163, ROGUE_FW_GROUP_MAIN, 4),
          "Null FWCtx in KCCB kick cmd for OSid %u: KCCB 0x%08x, ROff %u, WOff %u" },
        { ROGUE_FW_LOG_CREATESFID(164, ROGUE_FW_GROUP_MAIN, 3),
          "Checkpoint CCB for OSid %u is full, signalling host for full check state (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(165, ROGUE_FW_GROUP_MAIN, 8),
          "OSid %d CCB init status: %d (1-ok 0-fail): kCCBCtl@0x%x kCCB@0x%x fwCCBCtl@0x%x fwCCB@0x%x chptCCBCtl@0x%x chptCCB@0x%x" },
        { ROGUE_FW_LOG_CREATESFID(166, ROGUE_FW_GROUP_MAIN, 4),
          "OSid %d fw state transition request: from %d to %d (0-offline 1-ready 2-active 3-offloading). Status %d (1-ok 0-fail)" },
        { ROGUE_FW_LOG_CREATESFID(167, ROGUE_FW_GROUP_MAIN, 2),
          "OSid %u has %u stale commands in its KCCB" },
        { ROGUE_FW_LOG_CREATESFID(168, ROGUE_FW_GROUP_MAIN, 0),
          "Applying VCE pause" },
        { ROGUE_FW_LOG_CREATESFID(169, ROGUE_FW_GROUP_MAIN, 3),
          "OSid %u KCCB slot %u value updated to %u" },
        { ROGUE_FW_LOG_CREATESFID(170, ROGUE_FW_GROUP_MAIN, 7),
          "Unknown KCCB Command: KCCBCtl=0x%08x, KCCB=0x%08x, Roff=%u, Woff=%u, Wrap=%u, Cmd=0x%08x, CmdType=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(171, ROGUE_FW_GROUP_MAIN, 10),
          "Unknown Client CCB Command processing fences: FWCtx=0x%08x, CCBCtl=0x%08x, CCB=0x%08x, Roff=%u, Doff=%u, Woff=%u, Wrap=%u, CmdHdr=0x%08x, CmdType=0x%08x, CmdSize=%u" },
        { ROGUE_FW_LOG_CREATESFID(172, ROGUE_FW_GROUP_MAIN, 10),
          "Unknown Client CCB Command executing kick: FWCtx=0x%08x, CCBCtl=0x%08x, CCB=0x%08x, Roff=%u, Doff=%u, Woff=%u, Wrap=%u, CmdHdr=0x%08x, CmdType=0x%08x, CmdSize=%u" },
        { ROGUE_FW_LOG_CREATESFID(173, ROGUE_FW_GROUP_MAIN, 2),
          "Null FWCtx in KCCB kick cmd for OSid %u with WOff %u" },
        { ROGUE_FW_LOG_CREATESFID(174, ROGUE_FW_GROUP_MAIN, 2),
          "Discarding invalid SLC flushinval command for OSid %u, FWCtx 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(175, ROGUE_FW_GROUP_MAIN, 3),
          "Invalid Write Offset update notification from OSid %u: FWCtx 0x%08x, MemCtx 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(176, ROGUE_FW_GROUP_MAIN, 2),
          "Initialised Firmware with config flags 0x%08x and extended config flags 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(177, ROGUE_FW_GROUP_MAIN, 1),
          "Set Periodic Hardware Reset Mode: %d" },
        { ROGUE_FW_LOG_CREATESFID(179, ROGUE_FW_GROUP_MAIN, 3),
          "PHR mode %d, FW state: 0x%08x, HWR flags: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(180, ROGUE_FW_GROUP_MAIN, 1),
          "PHR mode %d triggered a reset" },
        { ROGUE_FW_LOG_CREATESFID(181, ROGUE_FW_GROUP_MAIN, 2),
          "Signal update, Snoop Filter: %u, Signal Id: %u" },
        { ROGUE_FW_LOG_CREATESFID(182, ROGUE_FW_GROUP_MAIN, 1),
          "WARNING: Skipping FW KCCB Cmd type %d which is not yet supported on Series8." },
        { ROGUE_FW_LOG_CREATESFID(183, ROGUE_FW_GROUP_MAIN, 4),
          "MMU context cache data NULL, but cache flags=0x%x (sync counter=%u, update value=%u) OSId=%u" },
        { ROGUE_FW_LOG_CREATESFID(184, ROGUE_FW_GROUP_MAIN, 5),
          "SLC range based flush: Context=%u VAddr=0x%02x%08x, Size=0x%08x, Invalidate=%d" },
        { ROGUE_FW_LOG_CREATESFID(185, ROGUE_FW_GROUP_MAIN, 3),
          "FBSC invalidate for Context Set [0x%08x]: Entry mask 0x%08x%08x." },
        { ROGUE_FW_LOG_CREATESFID(186, ROGUE_FW_GROUP_MAIN, 3),
          "TDM context switch check: Roff %u was not valid for kick starting at %u, moving back to %u" },
        { ROGUE_FW_LOG_CREATESFID(187, ROGUE_FW_GROUP_MAIN, 2),
          "Signal updates: FIFO: %u, Signals: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(188, ROGUE_FW_GROUP_MAIN, 2),
          "Invalid FBSC cmd: FWCtx 0x%08x, MemCtx 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(189, ROGUE_FW_GROUP_MAIN, 0),
          "Insert BRN68497 WA blit after TDM Context store." },
        { ROGUE_FW_LOG_CREATESFID(190, ROGUE_FW_GROUP_MAIN, 1),
          "UFO Updates for previously finished FWCtx 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(191, ROGUE_FW_GROUP_MAIN, 1),
          "RTC with RTA present, %u active render targets" },
        { ROGUE_FW_LOG_CREATESFID(192, ROGUE_FW_GROUP_MAIN, 0),
          "Invalid RTA Set-up. The ValidRenderTargets array in RTACtl is Null!" },
        { ROGUE_FW_LOG_CREATESFID(193, ROGUE_FW_GROUP_MAIN, 2),
          "Block 0x%x / Counter 0x%x INVALID and ignored" },
        { ROGUE_FW_LOG_CREATESFID(194, ROGUE_FW_GROUP_MAIN, 2),
          "ECC fault GPU=0x%08x FW=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(195, ROGUE_FW_GROUP_MAIN, 1),
          "Processing XPU event on DM = %d" },
        { ROGUE_FW_LOG_CREATESFID(196, ROGUE_FW_GROUP_MAIN, 2),
          "OSid %u failed to respond to the virtualisation watchdog in time. Timestamp of its last input = %u" },
        { ROGUE_FW_LOG_CREATESFID(197, ROGUE_FW_GROUP_MAIN, 1),
          "GPU-%u has locked up (see HWR logs for more info)" },
        { ROGUE_FW_LOG_CREATESFID(198, ROGUE_FW_GROUP_MAIN, 3),
          "Updating Tiles In Flight (Dusts=%d, PartitionMask=0x%08x, ISPCtl=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(199, ROGUE_FW_GROUP_MAIN, 0),
          "GPU has locked up (see HWR logs for more info)" },
        { ROGUE_FW_LOG_CREATESFID(200, ROGUE_FW_GROUP_MAIN, 1),
          "Reprocessing outstanding XPU events from cores 0x%02x" },
        { ROGUE_FW_LOG_CREATESFID(201, ROGUE_FW_GROUP_MAIN, 3),
          "Secondary XPU event on DM=%d, CoreMask=0x%02x, Raised=0x%02x" },
        { ROGUE_FW_LOG_CREATESFID(202, ROGUE_FW_GROUP_MAIN, 8),
          "TDM Queue: Core %u, FWCtx 0x%08.8x, prio: %d, queue: 0x%08x%08x (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(203, ROGUE_FW_GROUP_MAIN, 3),
          "TDM stalled Core %u (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(204, ROGUE_FW_GROUP_MAIN, 8),
          "Compute Queue: Core %u, FWCtx 0x%08.8x, prio: %d, queue: 0x%08x%08x (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(205, ROGUE_FW_GROUP_MAIN, 4),
          "Compute stalled core %u (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(206, ROGUE_FW_GROUP_MAIN, 6),
          "User Mode Queue mismatched stream start: Core %u, FWCtx 0x%08.8x, queue: 0x%08x%08x (Roff = %u, StreamStartOffset = %u)" },
        { ROGUE_FW_LOG_CREATESFID(207, ROGUE_FW_GROUP_MAIN, 3),
          "TDM resumed core %u (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(208, ROGUE_FW_GROUP_MAIN, 4),
          "Compute resumed core %u (Roff = %u, Woff = %u, Size = %u)" },
        { ROGUE_FW_LOG_CREATESFID(209, ROGUE_FW_GROUP_MAIN, 2),
          " Updated permission for OSid %u to perform MTS kicks: %u (1 = allowed, 0 = not allowed)" },
        { ROGUE_FW_LOG_CREATESFID(210, ROGUE_FW_GROUP_MAIN, 2),
          "Mask = 0x%X, mask2 = 0x%X" },
        { ROGUE_FW_LOG_CREATESFID(211, ROGUE_FW_GROUP_MAIN, 3),
          "  core %u, reg = %u, mask = 0x%X)" },
        { ROGUE_FW_LOG_CREATESFID(212, ROGUE_FW_GROUP_MAIN, 1),
          "ECC fault received from safety bus: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(213, ROGUE_FW_GROUP_MAIN, 1),
          "Safety Watchdog threshold period set to 0x%x clock cycles" },
        { ROGUE_FW_LOG_CREATESFID(214, ROGUE_FW_GROUP_MAIN, 0),
          "MTS Safety Event triggered by the safety watchdog." },
        { ROGUE_FW_LOG_CREATESFID(215, ROGUE_FW_GROUP_MAIN, 3),
          "DM%d USC tasks range limit 0 - %d, stride %d" },
        { ROGUE_FW_LOG_CREATESFID(216, ROGUE_FW_GROUP_MAIN, 1),
          "ECC fault GPU=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(217, ROGUE_FW_GROUP_MAIN, 0),
          "GPU Hardware units reset to prevent transient faults." },
        { ROGUE_FW_LOG_CREATESFID(218, ROGUE_FW_GROUP_MAIN, 2),
          "Kick Abort cmd: FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(219, ROGUE_FW_GROUP_MAIN, 7),
          "Kick Ray: FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(220, ROGUE_FW_GROUP_MAIN, 0),
          "Ray finished" },
        { ROGUE_FW_LOG_CREATESFID(221, ROGUE_FW_GROUP_MAIN, 2),
          "State of firmware's private data at boot time: %d (0 = uninitialised, 1 = initialised); Fw State Flags = 0x%08X" },
        { ROGUE_FW_LOG_CREATESFID(222, ROGUE_FW_GROUP_MAIN, 2),
          "CFI Timeout detected (%d increasing to %d)" },
        { ROGUE_FW_LOG_CREATESFID(223, ROGUE_FW_GROUP_MAIN, 2),
          "CFI Timeout detected for FBM (%d increasing to %d)" },
        { ROGUE_FW_LOG_CREATESFID(224, ROGUE_FW_GROUP_MAIN, 0),
          "Geom OOM event not allowed" },
        { ROGUE_FW_LOG_CREATESFID(225, ROGUE_FW_GROUP_MAIN, 4),
          "Changing OSid %d's priority from %u to %u; Isolation = %u (0 = off; 1 = on)" },
        { ROGUE_FW_LOG_CREATESFID(226, ROGUE_FW_GROUP_MAIN, 2),
          "Skipping already executed TA FWCtx 0x%08.8x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(227, ROGUE_FW_GROUP_MAIN, 2),
          "Attempt to execute TA FWCtx 0x%08.8x @ %d ahead of time on other GEOM" },
        { ROGUE_FW_LOG_CREATESFID(228, ROGUE_FW_GROUP_MAIN, 8),
          "Kick TDM: Kick ID %u FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(229, ROGUE_FW_GROUP_MAIN, 12),
          "Kick TA: Kick ID %u FWCtx 0x%08.8x @ %d, RTD 0x%08x, First kick:%d, Last kick:%d, CSW resume:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(230, ROGUE_FW_GROUP_MAIN, 11),
          "Kick 3D: Kick ID %u FWCtx 0x%08.8x @ %d, RTD 0x%08x, Partial render:%d, CSW resume:%d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(231, ROGUE_FW_GROUP_MAIN, 7),
          "Kick Compute: Kick ID %u FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(232, ROGUE_FW_GROUP_MAIN, 1),
          "TDM finished: Kick ID %u " },
        { ROGUE_FW_LOG_CREATESFID(233, ROGUE_FW_GROUP_MAIN, 1),
          "TA finished: Kick ID %u " },
        { ROGUE_FW_LOG_CREATESFID(234, ROGUE_FW_GROUP_MAIN, 3),
          "3D finished: Kick ID %u , HWRTData0State=%x, HWRTData1State=%x" },
        { ROGUE_FW_LOG_CREATESFID(235, ROGUE_FW_GROUP_MAIN, 1),
          "Compute finished: Kick ID %u " },
        { ROGUE_FW_LOG_CREATESFID(236, ROGUE_FW_GROUP_MAIN, 10),
          "Kick TDM: Kick ID %u FWCtx 0x%08.8x @ %d, Base 0x%08x%08x. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(237, ROGUE_FW_GROUP_MAIN, 8),
          "Kick Ray: Kick ID %u FWCtx 0x%08.8x @ %d. (PID:%d, prio:%d, frame:%d, ext:0x%08x, int:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(238, ROGUE_FW_GROUP_MAIN, 1),
          "Ray finished: Kick ID %u " },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_MTS, 2),
          "Bg Task DM = %u, counted = %d" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_MTS, 1),
          "Bg Task complete DM = %u" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_MTS, 3),
          "Irq Task DM = %u, Breq = %d, SBIrq = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_MTS, 1),
          "Irq Task complete DM = %u" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_MTS, 0),
          "Kick MTS Bg task DM=All" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_MTS, 1),
          "Kick MTS Irq task DM=%d" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_MTS, 2),
          "Ready queue debug DM = %u, celltype = %d" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_MTS, 2),
          "Ready-to-run debug DM = %u, item = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_MTS, 3),
          "Client command header DM = %u, client CCB = 0x%x, cmd = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_MTS, 3),
          "Ready-to-run debug OSid = %u, DM = %u, item = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_MTS, 3),
          "Ready queue debug DM = %u, celltype = %d, OSid = %u" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_MTS, 3),
          "Bg Task DM = %u, counted = %d, OSid = %u" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_MTS, 1),
          "Bg Task complete DM Bitfield: %u" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_MTS, 0),
          "Irq Task complete." },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_MTS, 7),
          "Discarded Command Type: %d OS ID = %d PID = %d context = 0x%08x cccb ROff = 0x%x, due to USC breakpoint hit by OS ID = %d PID = %d." },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_MTS, 4),
          "KCCB Slot %u: DM=%u, Cmd=0x%08x, OSid=%u" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_MTS, 2),
          "KCCB Slot %u: Return value %u" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_MTS, 1),
          "Bg Task OSid = %u" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_MTS, 3),
          "KCCB Slot %u: Cmd=0x%08x, OSid=%u" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_MTS, 1),
          "Irq Task (EVENT_STATUS=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_MTS, 2),
          "VZ sideband test, kicked with OSid=%u from MTS, OSid for test=%u" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_CLEANUP, 1),
          "FwCommonContext [0x%08x] cleaned" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_CLEANUP, 3),
          "FwCommonContext [0x%08x] is busy: ReadOffset = %d, WriteOffset = %d" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_CLEANUP, 2),
          "HWRTData [0x%08x] for DM=%d, received cleanup request" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_CLEANUP, 3),
          "HWRTData [0x%08x] HW Context cleaned for DM%u, executed commands = %d" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_CLEANUP, 2),
          "HWRTData [0x%08x] HW Context for DM%u is busy" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_CLEANUP, 2),
          "HWRTData [0x%08x] HW Context %u cleaned" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_CLEANUP, 1),
          "Freelist [0x%08x] cleaned" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_CLEANUP, 1),
          "ZSBuffer [0x%08x] cleaned" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_CLEANUP, 3),
          "ZSBuffer [0x%08x] is busy: submitted = %d, executed = %d" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_CLEANUP, 4),
          "HWRTData [0x%08x] HW Context for DM%u is busy: submitted = %d, executed = %d" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_CLEANUP, 2),
          "HW Ray Frame data [0x%08x] for DM=%d, received cleanup request" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_CLEANUP, 3),
          "HW Ray Frame Data [0x%08x] cleaned for DM%u, executed commands = %d" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_CLEANUP, 4),
          "HW Ray Frame Data [0x%08x] for DM%u is busy: submitted = %d, executed = %d" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_CLEANUP, 2),
          "HW Ray Frame Data [0x%08x] HW Context %u cleaned" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_CLEANUP, 1),
          "Discarding invalid cleanup request of type 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_CLEANUP, 1),
          "Received cleanup request for HWRTData [0x%08x]" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_CLEANUP, 3),
          "HWRTData [0x%08x] HW Context is busy: submitted = %d, executed = %d" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_CLEANUP, 3),
          "HWRTData [0x%08x] HW Context %u cleaned, executed commands = %d" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_CSW, 1),
          "CDM FWCtx 0x%08.8x needs resume" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_CSW, 3),
          "*** CDM FWCtx 0x%08.8x resume from snapshot buffer 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_CSW, 1),
          "CDM FWCtx shared alloc size load 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_CSW, 0),
          "*** CDM FWCtx store complete" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_CSW, 0),
          "*** CDM FWCtx store start" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_CSW, 0),
          "CDM Soft Reset" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_CSW, 1),
          "3D FWCtx 0x%08.8x needs resume" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_CSW, 1),
          "*** 3D FWCtx 0x%08.8x resume" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_CSW, 0),
          "*** 3D context store complete" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_CSW, 3),
          "3D context store pipe state: 0x%08.8x 0x%08.8x 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_CSW, 0),
          "*** 3D context store start" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_CSW, 1),
          "*** 3D TQ FWCtx 0x%08.8x resume" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_CSW, 1),
          "TA FWCtx 0x%08.8x needs resume" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_CSW, 3),
          "*** TA FWCtx 0x%08.8x resume from snapshot buffer 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_CSW, 2),
          "TA context shared alloc size store 0x%x, load 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_CSW, 0),
          "*** TA context store complete" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_CSW, 0),
          "*** TA context store start" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_CSW, 3),
          "Higher priority context scheduled for DM %u, old prio:%d, new prio:%d" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_CSW, 2),
          "Set FWCtx 0x%x priority to %u" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_CSW, 2),
          "3D context store pipe%d state: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_CSW, 2),
          "3D context resume pipe%d state: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_CSW, 1),
          "SHG FWCtx 0x%08.8x needs resume" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_CSW, 3),
          "*** SHG FWCtx 0x%08.8x resume from snapshot buffer 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_CSW, 2),
          "SHG context shared alloc size store 0x%x, load 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_CSW, 0),
          "*** SHG context store complete" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_CSW, 0),
          "*** SHG context store start" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_CSW, 1),
          "Performing TA indirection, last used pipe %d" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_CSW, 0),
          "CDM context store hit ctrl stream terminate. Skip resume." },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_CSW, 4),
          "*** CDM FWCtx 0x%08.8x resume from snapshot buffer 0x%08x%08x, shader state %u" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_CSW, 2),
          "TA PDS/USC state buffer flip (%d->%d)" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_CSW, 0),
          "TA context store hit BRN 52563: vertex store tasks outstanding" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_CSW, 1),
          "TA USC poll failed (USC vertex task count: %d)" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_CSW, 0),
          "TA context store deferred due to BRN 54141." },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_CSW, 7),
          "Higher priority context scheduled for DM %u. Prios (OSid, OSid Prio, Context Prio): Current: %u, %u, %u New: %u, %u, %u" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_CSW, 0),
          "*** TDM context store start" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_CSW, 0),
          "*** TDM context store complete" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_CSW, 2),
          "TDM context needs resume, header [0x%08.8x, 0x%08.8x]" },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_CSW, 8),
          "Higher priority context scheduled for DM %u. Prios (OSid, OSid Prio, Context Prio): Current: %u, %u, %u New: %u, %u, %u. Hard Context Switching: %u" },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_CSW, 3),
          "3D context store pipe %2d (%2d) state: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_CSW, 3),
          "3D context resume pipe %2d (%2d) state: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_CSW, 1),
          "*** 3D context store start version %d (1=IPP_TILE, 2=ISP_TILE)" },
        { ROGUE_FW_LOG_CREATESFID(42, ROGUE_FW_GROUP_CSW, 3),
          "3D context store pipe%d state: 0x%08.8x%08x" },
        { ROGUE_FW_LOG_CREATESFID(43, ROGUE_FW_GROUP_CSW, 3),
          "3D context resume pipe%d state: 0x%08.8x%08x" },
        { ROGUE_FW_LOG_CREATESFID(44, ROGUE_FW_GROUP_CSW, 2),
          "3D context resume IPP state: 0x%08.8x%08x" },
        { ROGUE_FW_LOG_CREATESFID(45, ROGUE_FW_GROUP_CSW, 1),
          "All 3D pipes empty after ISP tile mode store! IPP_status: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(46, ROGUE_FW_GROUP_CSW, 3),
          "TDM context resume pipe%d state: 0x%08.8x%08x" },
        { ROGUE_FW_LOG_CREATESFID(47, ROGUE_FW_GROUP_CSW, 0),
          "*** 3D context store start version 4" },
        { ROGUE_FW_LOG_CREATESFID(48, ROGUE_FW_GROUP_CSW, 2),
          "Multicore context resume on DM%d active core mask 0x%04.4x" },
        { ROGUE_FW_LOG_CREATESFID(49, ROGUE_FW_GROUP_CSW, 2),
          "Multicore context store on DM%d active core mask 0x%04.4x" },
        { ROGUE_FW_LOG_CREATESFID(50, ROGUE_FW_GROUP_CSW, 5),
          "TDM context resume Core %d, pipe%d state: 0x%08.8x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(51, ROGUE_FW_GROUP_CSW, 0),
          "*** RDM FWCtx store complete" },
        { ROGUE_FW_LOG_CREATESFID(52, ROGUE_FW_GROUP_CSW, 0),
          "*** RDM FWCtx store start" },
        { ROGUE_FW_LOG_CREATESFID(53, ROGUE_FW_GROUP_CSW, 1),
          "RDM FWCtx 0x%08.8x needs resume" },
        { ROGUE_FW_LOG_CREATESFID(54, ROGUE_FW_GROUP_CSW, 1),
          "RDM FWCtx 0x%08.8x resume" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_BIF, 3),
          "Activate MemCtx=0x%08x BIFreq=%d secure=%d" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_BIF, 1),
          "Deactivate MemCtx=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_BIF, 1),
          "Alloc PC reg %d" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_BIF, 2),
          "Grab reg set %d refcount now %d" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_BIF, 2),
          "Ungrab reg set %d refcount now %d" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_BIF, 6),
          "Setup reg=%d BIFreq=%d, expect=0x%08x%08x, actual=0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_BIF, 2),
          "Trust enabled:%d, for BIFreq=%d" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_BIF, 9),
          "BIF Tiling Cfg %d base 0x%08x%08x len 0x%08x%08x enable %d stride %d --> 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_BIF, 4),
          "Wrote the Value %d to OSID0, Cat Base %d, Register's contents are now 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_BIF, 3),
          "Wrote the Value %d to OSID1, Context  %d, Register's contents are now 0x%04x" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_BIF, 7),
          "ui32OSid = %u, Catbase = %u, Reg Address = 0x%x, Reg index = %u, Bitshift index = %u, Val = 0x%08x%08x" }, \
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_BIF, 5),
          "Map GPU memory DevVAddr 0x%x%08x, Size %u, Context ID %u, BIFREQ %u" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_BIF, 1),
          "Unmap GPU memory (event status 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_BIF, 3),
          "Activate MemCtx=0x%08x DM=%d secure=%d" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_BIF, 6),
          "Setup reg=%d DM=%d, expect=0x%08x%08x, actual=0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_BIF, 4),
          "Map GPU memory DevVAddr 0x%x%08x, Size %u, Context ID %u" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_BIF, 2),
          "Trust enabled:%d, for DM=%d" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_BIF, 5),
          "Map GPU memory DevVAddr 0x%x%08x, Size %u, Context ID %u, DM %u" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_BIF, 6),
          "Setup register set=%d DM=%d, PC address=0x%08x%08x, OSid=%u, NewPCRegRequired=%d" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_BIF, 3),
          "Alloc PC set %d as register range [%u - %u]" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_MISC, 1),
          "GPIO write 0x%02x" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_MISC, 1),
          "GPIO read 0x%02x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_MISC, 0),
          "GPIO enabled" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_MISC, 0),
          "GPIO disabled" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_MISC, 1),
          "GPIO status=%d (0=OK, 1=Disabled)" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_MISC, 2),
          "GPIO_AP: Read address=0x%02x (%d byte(s))" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_MISC, 2),
          "GPIO_AP: Write address=0x%02x (%d byte(s))" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_MISC, 0),
          "GPIO_AP timeout!" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_MISC, 1),
          "GPIO_AP error. GPIO status=%d (0=OK, 1=Disabled)" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_MISC, 1),
          "GPIO already read 0x%02x" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_MISC, 2),
          "SR: Check buffer %d available returned %d" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_MISC, 1),
          "SR: Waiting for buffer %d" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_MISC, 2),
          "SR: Timeout waiting for buffer %d (after %d ticks)" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_MISC, 2),
          "SR: Skip frame check for strip %d returned %d (0=No skip, 1=Skip frame)" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_MISC, 1),
          "SR: Skip remaining strip %d in frame" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_MISC, 1),
          "SR: Inform HW that strip %d is a new frame" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_MISC, 1),
          "SR: Timeout waiting for INTERRUPT_FRAME_SKIP (after %d ticks)" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_MISC, 1),
          "SR: Strip mode is %d" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_MISC, 1),
          "SR: Strip Render start (strip %d)" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_MISC, 1),
          "SR: Strip Render complete (buffer %d)" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_MISC, 1),
          "SR: Strip Render fault (buffer %d)" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_MISC, 1),
          "TRP state: %d" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_MISC, 1),
          "TRP failure: %d" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_MISC, 1),
          "SW TRP State: %d" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_MISC, 1),
          "SW TRP failure: %d" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_MISC, 1),
          "HW kick event (%u)" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_MISC, 4),
          "GPU core (%u/%u): checksum 0x%08x vs. 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_MISC, 6),
          "GPU core (%u/%u), unit (%u,%u): checksum 0x%08x vs. 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_MISC, 6),
          "HWR: Core%u, Register=0x%08x, OldValue=0x%08x%08x, CurrValue=0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_MISC, 4),
          "HWR: USC Core%u, ui32TotalSlotsUsedByDM=0x%08x, psDMHWCtl->ui32USCSlotsUsedByDM=0x%08x, bHWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_MISC, 6),
          "HWR: USC Core%u, Register=0x%08x, OldValue=0x%08x%08x, CurrValue=0x%08x%08x" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_PM, 10),
          "ALIST%d SP = %u, MLIST%d SP = %u (VCE 0x%08x%08x, TE 0x%08x%08x, ALIST 0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_PM, 8),
          "Is TA: %d, finished: %d on HW %u (HWRTData = 0x%08x, MemCtx = 0x%08x). FL different between TA/3D: global:%d, local:%d, mmu:%d" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_PM, 14),
          "UFL-3D-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-3D-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), MFL-3D-Base: 0x%08x%08x (SP = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_PM, 14),
          "UFL-TA-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-TA-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), MFL-TA-Base: 0x%08x%08x (SP = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_PM, 5),
          "Freelist grow completed [0x%08x]: added pages 0x%08x, total pages 0x%08x, new DevVirtAddr 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_PM, 1),
          "Grow for freelist ID=0x%08x denied by host" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_PM, 5),
          "Freelist update completed [0x%08x]: old total pages 0x%08x, new total pages 0x%08x, new DevVirtAddr 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_PM, 1),
          "Reconstruction of freelist ID=0x%08x failed" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_PM, 2),
          "Ignored attempt to pause or unpause the DM while there is no relevant operation in progress (0-TA,1-3D): %d, operation(0-unpause, 1-pause): %d" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_PM, 2),
          "Force free 3D Context memory, FWCtx: 0x%08x, status(1:success, 0:fail): %d" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_PM, 1),
          "PM pause TA ALLOC: PM_PAGE_MANAGEOP set to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_PM, 1),
          "PM unpause TA ALLOC: PM_PAGE_MANAGEOP set to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_PM, 1),
          "PM pause 3D DALLOC: PM_PAGE_MANAGEOP set to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_PM, 1),
          "PM unpause 3D DALLOC: PM_PAGE_MANAGEOP set to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_PM, 1),
          "PM ALLOC/DALLOC change was not actioned: PM_PAGE_MANAGEOP_STATUS=0x%x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_PM, 7),
          "Is TA: %d, finished: %d on HW %u (HWRTData = 0x%08x, MemCtx = 0x%08x). FL different between TA/3D: global:%d, local:%d" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_PM, 10),
          "UFL-3D-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-3D-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_PM, 10),
          "UFL-TA-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-TA-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_PM, 7),
          "Freelist update completed [0x%08x / FL State 0x%08x%08x]: old total pages 0x%08x, new total pages 0x%08x, new DevVirtAddr 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_PM, 7),
          "Freelist update failed [0x%08x / FL State 0x%08x%08x]: old total pages 0x%08x, new total pages 0x%08x, new DevVirtAddr 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_PM, 10),
          "UFL-3D-State-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-3D-State-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_PM, 10),
          "UFL-TA-State-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u), FL-TA-State-Base: 0x%08x%08x (SP = %u, 4PB = %u, 4PT = %u)" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_PM, 5),
          "Freelist 0x%08x base address from HW: 0x%02x%08x (expected value: 0x%02x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_PM, 5),
          "Analysis of FL grow: Pause=(%u,%u) Paused+Valid(%u,%u) PMStateBuffer=0x%x" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_PM, 5),
          "Attempt FL grow for FL: 0x%08x, new dev address: 0x%02x%08x, new page count: %u, new ready count: %u" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_PM, 5),
          "Deferring FL grow for non-loaded FL: 0x%08x, new dev address: 0x%02x%08x, new page count: %u, new ready count: %u" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_PM, 4),
          "Is GEOM: %d, finished: %d (HWRTData = 0x%08x, MemCtx = 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_PM, 1),
          "3D Timeout Now for FWCtx 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_PM, 1),
          "GEOM PM Recycle for FWCtx 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_PM, 1),
          "PM running primary config (Core %d)" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_PM, 1),
          "PM running secondary config (Core %d)" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_PM, 1),
          "PM running tertiary config (Core %d)" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_PM, 1),
          "PM running quaternary config (Core %d)" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_RPM, 3),
          "Global link list dynamic page count: vertex 0x%x, varying 0x%x, node 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_RPM, 3),
          "Global link list static page count: vertex 0x%x, varying 0x%x, node 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_RPM, 0),
          "RPM request failed. Waiting for freelist grow." },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_RPM, 0),
          "RPM request failed. Aborting the current frame." },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_RPM, 1),
          "RPM waiting for pending grow on freelist 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_RPM, 3),
          "Request freelist grow [0x%08x] current pages %d, grow size %d" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_RPM, 2),
          "Freelist load: SHF = 0x%08x, SHG = 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_RPM, 2),
          "SHF FPL register: 0x%08x.0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_RPM, 2),
          "SHG FPL register: 0x%08x.0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_RPM, 5),
          "Kernel requested RPM grow on freelist (type %d) at 0x%08x from current size %d to new size %d, RPM restart: %d (1=Yes)" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_RPM, 0),
          "Restarting SHG" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_RPM, 0),
          "Grow failed, aborting the current frame." },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_RPM, 1),
          "RPM abort complete on HWFrameData [0x%08x]." },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_RPM, 1),
          "RPM freelist cleanup [0x%08x] requires abort to proceed." },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_RPM, 2),
          "RPM page table base register: 0x%08x.0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_RPM, 0),
          "Issuing RPM abort." },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_RPM, 0),
          "RPM OOM received but toggle bits indicate free pages available" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_RPM, 0),
          "RPM hardware timeout. Unable to process OOM event." },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_RPM, 5),
          "SHF FL (0x%08x) load, FPL: 0x%08x.0x%08x, roff: 0x%08x, woff: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_RPM, 5),
          "SHG FL (0x%08x) load, FPL: 0x%08x.0x%08x, roff: 0x%08x, woff: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_RPM, 3),
          "SHF FL (0x%08x) store, roff: 0x%08x, woff: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_RPM, 3),
          "SHG FL (0x%08x) store, roff: 0x%08x, woff: 0x%08x" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_RTD, 2),
          "3D RTData 0x%08x finished on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_RTD, 2),
          "3D RTData 0x%08x ready on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_RTD, 4),
          "CONTEXT_PB_BASE set to 0x%x, FL different between TA/3D: local: %d, global: %d, mmu: %d" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_RTD, 2),
          "Loading VFP table 0x%08x%08x for 3D" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_RTD, 2),
          "Loading VFP table 0x%08x%08x for TA" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_RTD, 10),
          "Load Freelist 0x%x type: %d (0:local,1:global,2:mmu) for DM%d: TotalPMPages = %d, FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_RTD, 0),
          "Perform VHEAP table store" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_RTD, 2),
          "RTData 0x%08x: found match in Context=%d: Load=No, Store=No" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_RTD, 2),
          "RTData 0x%08x: found NULL in Context=%d: Load=Yes, Store=No" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_RTD, 3),
          "RTData 0x%08x: found state 3D finished (0x%08x) in Context=%d: Load=Yes, Store=Yes" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_RTD, 3),
          "RTData 0x%08x: found state TA finished (0x%08x) in Context=%d: Load=Yes, Store=Yes" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_RTD, 5),
          "Loading stack-pointers for %d (0:MidTA,1:3D) on context %d, MLIST = 0x%08x, ALIST = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_RTD, 10),
          "Store Freelist 0x%x type: %d (0:local,1:global,2:mmu) for DM%d: TotalPMPages = %d, FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_RTD, 2),
          "TA RTData 0x%08x finished on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_RTD, 2),
          "TA RTData 0x%08x loaded on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_RTD, 12),
          "Store Freelist 0x%x type: %d (0:local,1:global,2:mmu) for DM%d: FL Total Pages %u (max=%u,grow size=%u), FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_RTD, 12),
          "Load  Freelist 0x%x type: %d (0:local,1:global,2:mmu) for DM%d: FL Total Pages %u (max=%u,grow size=%u), FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_RTD, 1),
          "Freelist 0x%x RESET!!!!!!!!" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_RTD, 5),
          "Freelist 0x%x stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_RTD, 3),
          "Request reconstruction of Freelist 0x%x type: %d (0:local,1:global,2:mmu) on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_RTD, 1),
          "Freelist reconstruction ACK from host (HWR state :%u)" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_RTD, 0),
          "Freelist reconstruction completed" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_RTD, 3),
          "TA RTData 0x%08x loaded on HW context %u HWRTDataNeedsLoading=%d" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_RTD, 3),
          "TE Region headers base 0x%08x%08x (RGNHDR Init: %d)" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_RTD, 8),
          "TA Buffers: FWCtx 0x%08x, RT 0x%08x, RTData 0x%08x, VHeap 0x%08x%08x, TPC 0x%08x%08x (MemCtx 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_RTD, 2),
          "3D RTData 0x%08x loaded on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_RTD, 4),
          "3D Buffers: FWCtx 0x%08x, RT 0x%08x, RTData 0x%08x (MemCtx 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_RTD, 2),
          "Restarting TA after partial render, HWRTData0State=0x%x, HWRTData1State=0x%x" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_RTD, 3),
          "CONTEXT_PB_BASE set to 0x%x, FL different between TA/3D: local: %d, global: %d" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_RTD, 12),
          "Store Freelist 0x%x type: %d (0:local,1:global) for PMDM%d: FL Total Pages %u (max=%u,grow size=%u), FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_RTD, 12),
          "Load  Freelist 0x%x type: %d (0:local,1:global) for PMDM%d: FL Total Pages %u (max=%u,grow size=%u), FL-addr = 0x%08x%08x, stacktop = 0x%08x%08x, Alloc Page Count = %u, Alloc MMU Page Count = %u" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_RTD, 5),
          "3D Buffers: FWCtx 0x%08x, parent RT 0x%08x, RTData 0x%08x on ctx %d, (MemCtx 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_RTD, 7),
          "TA Buffers: FWCtx 0x%08x, RTData 0x%08x, VHeap 0x%08x%08x, TPC 0x%08x%08x (MemCtx 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_RTD, 4),
          "3D Buffers: FWCtx 0x%08x, RTData 0x%08x on ctx %d, (MemCtx 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_RTD, 6),
          "Load  Freelist 0x%x type: %d (0:local,1:global) for PMDM%d: FL Total Pages %u (max=%u,grow size=%u)" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_RTD, 1),
          "TA RTData 0x%08x marked as killed." },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_RTD, 1),
          "3D RTData 0x%08x marked as killed." },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_RTD, 1),
          "RTData 0x%08x will be killed after TA restart." },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_RTD, 3),
          "RTData 0x%08x Render State Buffer 0x%02x%08x will be reset." },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_RTD, 3),
          "GEOM RTData 0x%08x using Render State Buffer 0x%02x%08x." },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_RTD, 3),
          "FRAG RTData 0x%08x using Render State Buffer 0x%02x%08x." },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_SPM, 0),
          "Force Z-Load for partial render" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_SPM, 0),
          "Force Z-Store for partial render" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_SPM, 1),
          "3D MemFree: Local FL 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_SPM, 1),
          "3D MemFree: MMU FL 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_SPM, 1),
          "3D MemFree: Global FL 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_SPM, 6),
          "OOM TA/3D PR Check: [0x%08.8x] is 0x%08.8x requires 0x%08.8x, HardwareSync Fence [0x%08.8x] is 0x%08.8x requires 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_SPM, 3),
          "OOM TA_cmd=0x%08x, U-FL 0x%08x, N-FL 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_SPM, 5),
          "OOM TA_cmd=0x%08x, OOM MMU:%d, U-FL 0x%08x, N-FL 0x%08x, MMU-FL 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_SPM, 0),
          "Partial render avoided" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_SPM, 0),
          "Partial render discarded" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_SPM, 0),
          "Partial Render finished" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_SPM, 0),
          "SPM Owner = 3D-BG" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_SPM, 0),
          "SPM Owner = 3D-IRQ" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_SPM, 0),
          "SPM Owner = NONE" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_SPM, 0),
          "SPM Owner = TA-BG" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_SPM, 0),
          "SPM Owner = TA-IRQ" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_SPM, 2),
          "ZStore address 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_SPM, 2),
          "SStore address 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_SPM, 2),
          "ZLoad address 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_SPM, 2),
          "SLoad address 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_SPM, 0),
          "No deferred ZS Buffer provided" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_SPM, 1),
          "ZS Buffer successfully populated (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_SPM, 1),
          "No need to populate ZS Buffer (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_SPM, 1),
          "ZS Buffer successfully unpopulated (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_SPM, 1),
          "No need to unpopulate ZS Buffer (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_SPM, 1),
          "Send ZS-Buffer backing request to host (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_SPM, 1),
          "Send ZS-Buffer unbacking request to host (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_SPM, 1),
          "Don't send ZS-Buffer backing request. Previous request still pending (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_SPM, 1),
          "Don't send ZS-Buffer unbacking request. Previous request still pending (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_SPM, 1),
          "Partial Render waiting for ZBuffer to be backed (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_SPM, 1),
          "Partial Render waiting for SBuffer to be backed (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = none" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = PR blocked" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = wait for grow" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = wait for HW" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = PR running" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = PR avoided" },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = PR executed" },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_SPM, 2),
          "3DMemFree matches freelist 0x%08x (FL type = %u)" },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_SPM, 0),
          "Raise the 3DMemFreeDetected flag" },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_SPM, 1),
          "Wait for pending grow on Freelist 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(42, ROGUE_FW_GROUP_SPM, 1),
          "ZS Buffer failed to be populated (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(43, ROGUE_FW_GROUP_SPM, 5),
          "Grow update inconsistency: FL addr: 0x%02x%08x, curr pages: %u, ready: %u, new: %u" },
        { ROGUE_FW_LOG_CREATESFID(44, ROGUE_FW_GROUP_SPM, 4),
          "OOM: Resumed TA with ready pages, FL addr: 0x%02x%08x, current pages: %u, SP : %u" },
        { ROGUE_FW_LOG_CREATESFID(45, ROGUE_FW_GROUP_SPM, 5),
          "Received grow update, FL addr: 0x%02x%08x, current pages: %u, ready pages: %u, threshold: %u" },
        { ROGUE_FW_LOG_CREATESFID(46, ROGUE_FW_GROUP_SPM, 1),
          "No deferred partial render FW (Type=%d) Buffer provided" },
        { ROGUE_FW_LOG_CREATESFID(47, ROGUE_FW_GROUP_SPM, 1),
          "No need to populate PR Buffer (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(48, ROGUE_FW_GROUP_SPM, 1),
          "No need to unpopulate PR Buffer (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(49, ROGUE_FW_GROUP_SPM, 1),
          "Send PR Buffer backing request to host (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(50, ROGUE_FW_GROUP_SPM, 1),
          "Send PR Buffer unbacking request to host (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(51, ROGUE_FW_GROUP_SPM, 1),
          "Don't send PR Buffer backing request. Previous request still pending (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(52, ROGUE_FW_GROUP_SPM, 1),
          "Don't send PR Buffer unbacking request. Previous request still pending (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(53, ROGUE_FW_GROUP_SPM, 2),
          "Partial Render waiting for Buffer %d type to be backed (ID=0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(54, ROGUE_FW_GROUP_SPM, 4),
          "Received grow update, FL addr: 0x%02x%08x, new pages: %u, ready pages: %u" },
        { ROGUE_FW_LOG_CREATESFID(66, ROGUE_FW_GROUP_SPM, 3),
          "OOM TA/3D PR Check: [0x%08.8x] is 0x%08.8x requires 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(67, ROGUE_FW_GROUP_SPM, 3),
          "OOM: Resumed TA with ready pages, FL addr: 0x%02x%08x, current pages: %u" },
        { ROGUE_FW_LOG_CREATESFID(68, ROGUE_FW_GROUP_SPM, 3),
          "OOM TA/3D PR deadlock unblocked reordering DM%d runlist head from Context 0x%08x to 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(69, ROGUE_FW_GROUP_SPM, 0),
          "SPM State = PR force free" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_POW, 4),
          "Check Pow state DM%d int: 0x%x, ext: 0x%x, pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_POW, 3),
          "GPU idle (might be powered down). Pow state int: 0x%x, ext: 0x%x, flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_POW, 3),
          "OS requested pow off (forced = %d), DM%d, pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_POW, 4),
          "Initiate powoff query. Inactive DMs: %d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_POW, 2),
          "Any RD-DM pending? %d, Any RD-DM Active? %d" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_POW, 3),
          "GPU ready to be powered down. Pow state int: 0x%x, ext: 0x%x, flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_POW, 2),
          "HW Request On(1)/Off(0): %d, Units: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_POW, 2),
          "Request to change num of dusts to %d (Power flags=%d)" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_POW, 2),
          "Changing number of dusts from %d to %d" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_POW, 0),
          "Sidekick init" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_POW, 1),
          "Rascal+Dusts init (# dusts mask: 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_POW, 0),
          "Initiate powoff query for RD-DMs." },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_POW, 0),
          "Initiate powoff query for TLA-DM." },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_POW, 2),
          "Any RD-DM pending? %d, Any RD-DM Active? %d" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_POW, 2),
          "TLA-DM pending? %d, TLA-DM Active? %d" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_POW, 1),
          "Request power up due to BRN37270. Pow stat int: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_POW, 3),
          "Cancel power off request int: 0x%x, ext: 0x%x, pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_POW, 1),
          "OS requested forced IDLE, pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_POW, 1),
          "OS cancelled forced IDLE, pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_POW, 3),
          "Idle timer start. Pow state int: 0x%x, ext: 0x%x, flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_POW, 3),
          "Cancel idle timer. Pow state int: 0x%x, ext: 0x%x, flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_POW, 2),
          "Active PM latency set to %dms. Core clock: %d Hz" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_POW, 2),
          "Compute cluster mask change to 0x%x, %d dusts powered." },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_POW, 0),
          "Null command executed, repeating initiate powoff query for RD-DMs." },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_POW, 1),
          "Power monitor: Estimate of dynamic energy %u" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_POW, 3),
          "Check Pow state: Int: 0x%x, Ext: 0x%x, Pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: New deadline, time = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: New workload, cycles = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Proactive frequency calculated = %u" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Reactive utilisation = %u percent" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: Reactive frequency calculated = %u.%u" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: OPP Point Sent = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: Deadline removed = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: Workload removed = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Throttle to a maximum = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_POW, 0),
          "Proactive DVFS: Failed to pass OPP point via GPIO." },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_POW, 0),
          "Proactive DVFS: Invalid node passed to function." },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Guest OS attempted to do a privileged action. OSid = %u" },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Unprofiled work started. Total unprofiled work present: %u" },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Unprofiled work finished. Total unprofiled work present: %u" },
        { ROGUE_FW_LOG_CREATESFID(42, ROGUE_FW_GROUP_POW, 0),
          "Proactive DVFS: Disabled: Not enabled by host." },
        { ROGUE_FW_LOG_CREATESFID(43, ROGUE_FW_GROUP_POW, 2),
          "HW Request Completed(1)/Aborted(0): %d, Ticks: %d" },
        { ROGUE_FW_LOG_CREATESFID(44, ROGUE_FW_GROUP_POW, 1),
          "Allowed number of dusts is %d due to BRN59042." },
        { ROGUE_FW_LOG_CREATESFID(45, ROGUE_FW_GROUP_POW, 3),
          "Host timed out while waiting for a forced idle state. Pow state int: 0x%x, ext: 0x%x, flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(46, ROGUE_FW_GROUP_POW, 5),
          "Check Pow state: Int: 0x%x, Ext: 0x%x, Pow flags: 0x%x, Fence Counters: Check: %u - Update: %u" },
        { ROGUE_FW_LOG_CREATESFID(47, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: OPP Point Sent = 0x%x, Success = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(48, ROGUE_FW_GROUP_POW, 0),
          "Proactive DVFS: GPU transitioned to idle" },
        { ROGUE_FW_LOG_CREATESFID(49, ROGUE_FW_GROUP_POW, 0),
          "Proactive DVFS: GPU transitioned to active" },
        { ROGUE_FW_LOG_CREATESFID(50, ROGUE_FW_GROUP_POW, 1),
          "Power counter dumping: Data truncated writing register %u. Buffer too small." },
        { ROGUE_FW_LOG_CREATESFID(51, ROGUE_FW_GROUP_POW, 0),
          "Power controller returned ABORT for last request so retrying." },
        { ROGUE_FW_LOG_CREATESFID(52, ROGUE_FW_GROUP_POW, 2),
          "Discarding invalid power request: type 0x%x, DM %u" },
        { ROGUE_FW_LOG_CREATESFID(53, ROGUE_FW_GROUP_POW, 2),
          "Detected attempt to cancel forced idle while not forced idle (pow state 0x%x, pow flags 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(54, ROGUE_FW_GROUP_POW, 2),
          "Detected attempt to force power off while not forced idle (pow state 0x%x, pow flags 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(55, ROGUE_FW_GROUP_POW, 1),
          "Detected attempt to change dust count while not forced idle (pow state 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(56, ROGUE_FW_GROUP_POW, 3),
          "Power monitor: Type = %d (0 = power, 1 = energy), Estimate result = 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(57, ROGUE_FW_GROUP_POW, 2),
          "Conflicting clock frequency range: OPP min = %u, max = %u" },
        { ROGUE_FW_LOG_CREATESFID(58, ROGUE_FW_GROUP_POW, 1),
          "Proactive DVFS: Set floor to a minimum = 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(59, ROGUE_FW_GROUP_POW, 2),
          "OS requested pow off (forced = %d), pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(60, ROGUE_FW_GROUP_POW, 1),
          "Discarding invalid power request: type 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(61, ROGUE_FW_GROUP_POW, 3),
          "Request to change SPU power state mask from 0x%x to 0x%x. Pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(62, ROGUE_FW_GROUP_POW, 2),
          "Changing SPU power state mask from 0x%x to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(63, ROGUE_FW_GROUP_POW, 1),
          "Detected attempt to change SPU power state mask while not forced idle (pow state 0x%x)" },
        { ROGUE_FW_LOG_CREATESFID(64, ROGUE_FW_GROUP_POW, 1),
          "Invalid SPU power mask 0x%x! Changing to 1" },
        { ROGUE_FW_LOG_CREATESFID(65, ROGUE_FW_GROUP_POW, 2),
          "Proactive DVFS: Send OPP %u with clock divider value %u" },
        { ROGUE_FW_LOG_CREATESFID(66, ROGUE_FW_GROUP_POW, 0),
          "PPA block started in perf validation mode." },
        { ROGUE_FW_LOG_CREATESFID(67, ROGUE_FW_GROUP_POW, 1),
          "Reset PPA block state %u (1=reset, 0=recalculate)." },
        { ROGUE_FW_LOG_CREATESFID(68, ROGUE_FW_GROUP_POW, 1),
          "Power controller returned ABORT for Core-%d last request so retrying." },
        { ROGUE_FW_LOG_CREATESFID(69, ROGUE_FW_GROUP_POW, 3),
          "HW Request On(1)/Off(0): %d, Units: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(70, ROGUE_FW_GROUP_POW, 5),
          "Request to change SPU power state mask from 0x%x to 0x%x and RAC from 0x%x to 0x%x. Pow flags: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(71, ROGUE_FW_GROUP_POW, 4),
          "Changing SPU power state mask from 0x%x to 0x%x and RAC from 0x%x to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(72, ROGUE_FW_GROUP_POW, 2),
          "RAC pending? %d, RAC Active? %d" },
        { ROGUE_FW_LOG_CREATESFID(73, ROGUE_FW_GROUP_POW, 0),
          "Initiate powoff query for RAC." },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_HWR, 2),
          "Lockup detected on DM%d, FWCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_HWR, 3),
          "Reset fw state for DM%d, FWCtx: 0x%08.8x, MemCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_HWR, 0),
          "Reset HW" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_HWR, 0),
          "Lockup recovered." },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_HWR, 2),
          "Lock-up DM%d FWCtx: 0x%08.8x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_HWR, 4),
          "Lockup detected: GLB(%d->%d), PER-DM(0x%08x->0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_HWR, 3),
          "Early fault detection: GLB(%d->%d), PER-DM(0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_HWR, 3),
          "Hold scheduling due lockup: GLB(%d), PER-DM(0x%08x->0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_HWR, 4),
          "False lockup detected: GLB(%d->%d), PER-DM(0x%08x->0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_HWR, 4),
          "BRN37729: GLB(%d->%d), PER-DM(0x%08x->0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_HWR, 3),
          "Freelists reconstructed: GLB(%d->%d), PER-DM(0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_HWR, 4),
          "Reconstructing freelists: %u (0-No, 1-Yes): GLB(%d->%d), PER-DM(0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_HWR, 3),
          "HW poll %u (0-Unset 1-Set) failed (reg:0x%08x val:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_HWR, 2),
          "Discarded cmd on DM%u FWCtx=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_HWR, 6),
          "Discarded cmd on DM%u (reason=%u) HWRTData=0x%08x (st: %d), FWCtx 0x%08x @ %d" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_HWR, 2),
          "PM fence WA could not be applied, Valid TA Setup: %d, RD powered off: %d" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_HWR, 5),
          "FL snapshot RTD 0x%08.8x - local (0x%08.8x): %d, global (0x%08.8x): %d" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_HWR, 8),
          "FL check RTD 0x%08.8x, discard: %d - local (0x%08.8x): s%d?=c%d, global (0x%08.8x): s%d?=c%d" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_HWR, 2),
          "FL reconstruction 0x%08.8x c%d" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_HWR, 3),
          "3D check: missing TA FWCtx 0x%08.8x @ %d, RTD 0x%08x." },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_HWR, 2),
          "Reset HW (mmu:%d, extmem: %d)" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_HWR, 4),
          "Zero TA caches for FWCtx: 0x%08.8x (TPC addr: 0x%08x%08x, size: %d bytes)" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_HWR, 2),
          "Recovery DM%u: Freelists reconstructed. New R-Flags=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_HWR, 5),
          "Recovery DM%u: FWCtx 0x%08x skipped to command @ %u. PR=%u. New R-Flags=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_HWR, 1),
          "Recovery DM%u: DM fully recovered" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_HWR, 2),
          "DM%u: Hold scheduling due to R-Flag = 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_HWR, 0),
          "Analysis: Need freelist reconstruction" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_HWR, 2),
          "Analysis DM%u: Lockup FWCtx: 0x%08.8x. Need to skip to next command" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_HWR, 2),
          "Analysis DM%u: Lockup while TA is OOM FWCtx: 0x%08.8x. Need to skip to next command" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_HWR, 2),
          "Analysis DM%u: Lockup while partial render FWCtx: 0x%08.8x. Need PR cleanup" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_HWR, 0),
          "GPU has locked up" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_HWR, 1),
          "DM%u ready for HWR" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_HWR, 2),
          "Recovery DM%u: Updated Recovery counter. New R-Flags=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_HWR, 1),
          "Analysis: BRN37729 detected, reset TA and re-kicked 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_HWR, 1),
          "DM%u timed out" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_HWR, 1),
          "RGX_CR_EVENT_STATUS=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_HWR, 2),
          "DM%u lockup falsely detected, R-Flags=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(38, ROGUE_FW_GROUP_HWR, 0),
          "GPU has overrun its deadline" },
        { ROGUE_FW_LOG_CREATESFID(39, ROGUE_FW_GROUP_HWR, 0),
          "GPU has failed a poll" },
        { ROGUE_FW_LOG_CREATESFID(40, ROGUE_FW_GROUP_HWR, 2),
          "RGX DM%u phase count=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(41, ROGUE_FW_GROUP_HWR, 2),
          "Reset HW (loop:%d, poll failures: 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(42, ROGUE_FW_GROUP_HWR, 1),
          "MMU fault event: 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(43, ROGUE_FW_GROUP_HWR, 1),
          "BIF1 page fault detected (Bank1 MMU Status: 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(44, ROGUE_FW_GROUP_HWR, 1),
          "Fast CRC Failed. Proceeding to full register checking (DM: %u)." },
        { ROGUE_FW_LOG_CREATESFID(45, ROGUE_FW_GROUP_HWR, 2),
          "Meta MMU page fault detected (Meta MMU Status: 0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(46, ROGUE_FW_GROUP_HWR, 2),
          "Fast CRC Check result for DM%u is HWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(47, ROGUE_FW_GROUP_HWR, 2),
          "Full Signature Check result for DM%u is HWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(48, ROGUE_FW_GROUP_HWR, 3),
          "Final result for DM%u is HWRNeeded=%u with HWRChecksToGo=%u" },
        { ROGUE_FW_LOG_CREATESFID(49, ROGUE_FW_GROUP_HWR, 3),
          "USC Slots result for DM%u is HWRNeeded=%u USCSlotsUsedByDM=%d" },
        { ROGUE_FW_LOG_CREATESFID(50, ROGUE_FW_GROUP_HWR, 2),
          "Deadline counter for DM%u is HWRDeadline=%u" },
        { ROGUE_FW_LOG_CREATESFID(51, ROGUE_FW_GROUP_HWR, 1),
          "Holding Scheduling on OSid %u due to pending freelist reconstruction" },
        { ROGUE_FW_LOG_CREATESFID(52, ROGUE_FW_GROUP_HWR, 2),
          "Requesting reconstruction for freelist 0x%x (ID=%d)" },
        { ROGUE_FW_LOG_CREATESFID(53, ROGUE_FW_GROUP_HWR, 1),
          "Reconstruction of freelist ID=%d complete" },
        { ROGUE_FW_LOG_CREATESFID(54, ROGUE_FW_GROUP_HWR, 4),
          "Reconstruction needed for freelist 0x%x (ID=%d) type: %d (0:local,1:global,2:mmu) on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(55, ROGUE_FW_GROUP_HWR, 1),
          "Reconstruction of freelist ID=%d failed" },
        { ROGUE_FW_LOG_CREATESFID(56, ROGUE_FW_GROUP_HWR, 4),
          "Restricting PDS Tasks to help other stalling DMs (RunningMask=0x%02x, StallingMask=0x%02x, PDS_CTRL=0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(57, ROGUE_FW_GROUP_HWR, 4),
          "Unrestricting PDS Tasks again (RunningMask=0x%02x, StallingMask=0x%02x, PDS_CTRL=0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(58, ROGUE_FW_GROUP_HWR, 2),
          "USC slots: %u used by DM%u" },
        { ROGUE_FW_LOG_CREATESFID(59, ROGUE_FW_GROUP_HWR, 1),
          "USC slots: %u empty" },
        { ROGUE_FW_LOG_CREATESFID(60, ROGUE_FW_GROUP_HWR, 5),
          "HCS DM%d's Context Switch failed to meet deadline. Current time: 0x%08x%08x, deadline: 0x%08x%08x" },
        { ROGUE_FW_LOG_CREATESFID(61, ROGUE_FW_GROUP_HWR, 1),
          "Begin hardware reset (HWR Counter=%d)" },
        { ROGUE_FW_LOG_CREATESFID(62, ROGUE_FW_GROUP_HWR, 1),
          "Finished hardware reset (HWR Counter=%d)" },
        { ROGUE_FW_LOG_CREATESFID(63, ROGUE_FW_GROUP_HWR, 2),
          "Holding Scheduling on DM %u for OSid %u due to pending freelist reconstruction" },
        { ROGUE_FW_LOG_CREATESFID(64, ROGUE_FW_GROUP_HWR, 5),
          "User Mode Queue ROff reset: FWCtx 0x%08.8x, queue: 0x%08x%08x (Roff = %u becomes StreamStartOffset = %u)" },
        { ROGUE_FW_LOG_CREATESFID(65, ROGUE_FW_GROUP_HWR, 4),
          "Reconstruction needed for freelist 0x%x (ID=%d) type: %d (0:local,1:global) on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(66, ROGUE_FW_GROUP_HWR, 3),
          "Mips page fault detected (BadVAddr: 0x%08x, EntryLo0: 0x%08x, EntryLo1: 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(67, ROGUE_FW_GROUP_HWR, 1),
          "At least one other DM is running okay so DM%u will get another chance" },
        { ROGUE_FW_LOG_CREATESFID(68, ROGUE_FW_GROUP_HWR, 2),
          "Reconstructing in FW, FL: 0x%x (ID=%d)" },
        { ROGUE_FW_LOG_CREATESFID(69, ROGUE_FW_GROUP_HWR, 4),
          "Zero RTC for FWCtx: 0x%08.8x (RTC addr: 0x%08x%08x, size: %d bytes)" },
        { ROGUE_FW_LOG_CREATESFID(70, ROGUE_FW_GROUP_HWR, 5),
          "Reconstruction needed for freelist 0x%x (ID=%d) type: %d (0:local,1:global) phase: %d (0:TA, 1:3D) on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(71, ROGUE_FW_GROUP_HWR, 3),
          "Start long HW poll %u (0-Unset 1-Set) for (reg:0x%08x val:0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(72, ROGUE_FW_GROUP_HWR, 1),
          "End long HW poll (result=%d)" },
        { ROGUE_FW_LOG_CREATESFID(73, ROGUE_FW_GROUP_HWR, 3),
          "DM%u has taken %d ticks and deadline is %d ticks" },
        { ROGUE_FW_LOG_CREATESFID(74, ROGUE_FW_GROUP_HWR, 5),
          "USC Watchdog result for DM%u is HWRNeeded=%u Status=%u USCs={0x%x} with HWRChecksToGo=%u" },
        { ROGUE_FW_LOG_CREATESFID(75, ROGUE_FW_GROUP_HWR, 6),
          "Reconstruction needed for freelist 0x%x (ID=%d) OSid: %d type: %d (0:local,1:global) phase: %d (0:TA, 1:3D) on HW context %u" },
        { ROGUE_FW_LOG_CREATESFID(76, ROGUE_FW_GROUP_HWR, 1),
          "GPU-%u has locked up" },
        { ROGUE_FW_LOG_CREATESFID(77, ROGUE_FW_GROUP_HWR, 1),
          "DM%u has locked up" },
        { ROGUE_FW_LOG_CREATESFID(78, ROGUE_FW_GROUP_HWR, 2),
          "Core %d RGX_CR_EVENT_STATUS=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(79, ROGUE_FW_GROUP_HWR, 2),
          "RGX_CR_MULTICORE_EVENT_STATUS%u=0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(80, ROGUE_FW_GROUP_HWR, 5),
          "BIF0 page fault detected (Core %d MMU Status: 0x%08x%08x Req Status: 0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(81, ROGUE_FW_GROUP_HWR, 3),
          "MMU page fault detected (Core %d MMU Status: 0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(82, ROGUE_FW_GROUP_HWR, 4),
          "MMU page fault detected (Core %d MMU Status: 0x%08x%08x 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(83, ROGUE_FW_GROUP_HWR, 4),
          "Reset HW (core:%d of %d, loop:%d, poll failures: 0x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(84, ROGUE_FW_GROUP_HWR, 3),
          "Fast CRC Check result for Core%u, DM%u is HWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(85, ROGUE_FW_GROUP_HWR, 3),
          "Full Signature Check result for Core%u, DM%u is HWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(86, ROGUE_FW_GROUP_HWR, 4),
          "USC Slots result for Core%u, DM%u is HWRNeeded=%u USCSlotsUsedByDM=%d" },
        { ROGUE_FW_LOG_CREATESFID(87, ROGUE_FW_GROUP_HWR, 6),
          "USC Watchdog result for Core%u DM%u is HWRNeeded=%u Status=%u USCs={0x%x} with HWRChecksToGo=%u" },
        { ROGUE_FW_LOG_CREATESFID(88, ROGUE_FW_GROUP_HWR, 3),
          "RISC-V MMU page fault detected (FWCORE MMU Status 0x%08x Req Status 0x%08x%08x)" },
        { ROGUE_FW_LOG_CREATESFID(89, ROGUE_FW_GROUP_HWR, 2),
          "TEXAS1_PFS poll failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(90, ROGUE_FW_GROUP_HWR, 2),
          "BIF_PFS poll failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(91, ROGUE_FW_GROUP_HWR, 2),
          "MMU_ABORT_PM_STATUS set poll failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(92, ROGUE_FW_GROUP_HWR, 2),
          "MMU_ABORT_PM_STATUS unset poll failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(93, ROGUE_FW_GROUP_HWR, 2),
          "MMU_CTRL_INVAL poll (all but fw) failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(94, ROGUE_FW_GROUP_HWR, 2),
          "MMU_CTRL_INVAL poll (all) failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(95, ROGUE_FW_GROUP_HWR, 3),
          "TEXAS%d_PFS poll failed on core %d with value 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(96, ROGUE_FW_GROUP_HWR, 3),
          "Extra Registers Check result for Core%u, DM%u is HWRNeeded=%u" },
        { ROGUE_FW_LOG_CREATESFID(97, ROGUE_FW_GROUP_HWR, 1),
          "FW attempted to write to read-only GPU address 0x%08x" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_HWP, 2),
          "Block 0x%x mapped to Config Idx %u" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_HWP, 1),
          "Block 0x%x omitted from event - not enabled in HW" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_HWP, 1),
          "Block 0x%x included in event - enabled in HW" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_HWP, 2),
          "Select register state hi_0x%x lo_0x%x" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_HWP, 1),
          "Counter stream block header word 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_HWP, 1),
          "Counter register offset 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_HWP, 1),
          "Block 0x%x config unset, skipping" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_HWP, 1),
          "Accessing Indirect block 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_HWP, 1),
          "Accessing Direct block 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_HWP, 1),
          "Programmed counter select register at offset 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_HWP, 2),
          "Block register offset 0x%x and value 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_HWP, 1),
          "Reading config block from driver 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_HWP, 2),
          "Reading block range 0x%x to 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_HWP, 1),
          "Recording block 0x%x config from driver" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_HWP, 0),
          "Finished reading config block from driver" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_HWP, 2),
          "Custom Counter offset: 0x%x  value: 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_HWP, 2),
          "Select counter n:%u  ID:0x%x" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_HWP, 3),
          "The counter ID 0x%x is not allowed. The package [b:%u, n:%u] will be discarded" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_HWP, 1),
          "Custom Counters filter status %d" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_HWP, 2),
          "The Custom block %d is not allowed. Use only blocks lower than %d. The package will be discarded" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_HWP, 2),
          "The package will be discarded because it contains %d counters IDs while the upper limit is %d" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_HWP, 2),
          "Check Filter 0x%x is 0x%x ?" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_HWP, 1),
          "The custom block %u is reset" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_HWP, 1),
          "Encountered an invalid command (%d)" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_HWP, 2),
          "HWPerf Queue is full, we will have to wait for space! (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(26, ROGUE_FW_GROUP_HWP, 3),
          "HWPerf Queue is fencing, we are waiting for Roff = %d (Roff = %u, Woff = %u)" },
        { ROGUE_FW_LOG_CREATESFID(27, ROGUE_FW_GROUP_HWP, 1),
          "Custom Counter block: %d" },
        { ROGUE_FW_LOG_CREATESFID(28, ROGUE_FW_GROUP_HWP, 1),
          "Block 0x%x ENABLED" },
        { ROGUE_FW_LOG_CREATESFID(29, ROGUE_FW_GROUP_HWP, 1),
          "Block 0x%x DISABLED" },
        { ROGUE_FW_LOG_CREATESFID(30, ROGUE_FW_GROUP_HWP, 2),
          "Accessing Indirect block 0x%x, instance %u" },
        { ROGUE_FW_LOG_CREATESFID(31, ROGUE_FW_GROUP_HWP, 2),
          "Counter register 0x%x, Value 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(32, ROGUE_FW_GROUP_HWP, 1),
          "Counters filter status %d" },
        { ROGUE_FW_LOG_CREATESFID(33, ROGUE_FW_GROUP_HWP, 2),
          "Block 0x%x mapped to Ctl Idx %u" },
        { ROGUE_FW_LOG_CREATESFID(34, ROGUE_FW_GROUP_HWP, 0),
          "Block(s) in use for workload estimation." },
        { ROGUE_FW_LOG_CREATESFID(35, ROGUE_FW_GROUP_HWP, 3),
          "GPU %u Cycle counter 0x%x, Value 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(36, ROGUE_FW_GROUP_HWP, 3),
          "GPU Mask 0x%x Cycle counter 0x%x, Value 0x%x" },
        { ROGUE_FW_LOG_CREATESFID(37, ROGUE_FW_GROUP_HWP, 1),
          "Blocks IGNORED for GPU %u" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_DMA, 5),
          "Transfer 0x%02x request: 0x%02x%08x -> 0x%08x, size %u" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_DMA, 4),
          "Transfer of type 0x%02x expected on channel %u, 0x%02x found, status %u" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_DMA, 1),
          "DMA Interrupt register 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_DMA, 1),
          "Waiting for transfer of type 0x%02x completion..." },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_DMA, 3),
          "Loading of cCCB data from FW common context 0x%08x (offset: %u, size: %u) failed" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_DMA, 3),
          "Invalid load of cCCB data from FW common context 0x%08x (offset: %u, size: %u)" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_DMA, 1),
          "Transfer 0x%02x request poll failure" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_DMA, 2),
          "Boot transfer(s) failed (code? %u, data? %u), used slower memcpy instead" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_DMA, 7),
          "Transfer 0x%02x request on ch. %u: system 0x%02x%08x, coremem 0x%08x, flags 0x%x, size %u" },

        { ROGUE_FW_LOG_CREATESFID(1, ROGUE_FW_GROUP_DBG, 2),
          "0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(2, ROGUE_FW_GROUP_DBG, 1),
          "0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(3, ROGUE_FW_GROUP_DBG, 2),
          "0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(4, ROGUE_FW_GROUP_DBG, 3),
          "0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(5, ROGUE_FW_GROUP_DBG, 4),
          "0x%08x 0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(6, ROGUE_FW_GROUP_DBG, 5),
          "0x%08x 0x%08x 0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(7, ROGUE_FW_GROUP_DBG, 6),
          "0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(8, ROGUE_FW_GROUP_DBG, 7),
          "0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(9, ROGUE_FW_GROUP_DBG, 8),
          "0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x" },
        { ROGUE_FW_LOG_CREATESFID(10, ROGUE_FW_GROUP_DBG, 1),
          "%d" },
        { ROGUE_FW_LOG_CREATESFID(11, ROGUE_FW_GROUP_DBG, 2),
          "%d %d" },
        { ROGUE_FW_LOG_CREATESFID(12, ROGUE_FW_GROUP_DBG, 3),
          "%d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(13, ROGUE_FW_GROUP_DBG, 4),
          "%d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(14, ROGUE_FW_GROUP_DBG, 5),
          "%d %d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(15, ROGUE_FW_GROUP_DBG, 6),
          "%d %d %d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(16, ROGUE_FW_GROUP_DBG, 7),
          "%d %d %d %d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(17, ROGUE_FW_GROUP_DBG, 8),
          "%d %d %d %d %d %d %d %d" },
        { ROGUE_FW_LOG_CREATESFID(18, ROGUE_FW_GROUP_DBG, 1),
          "%u" },
        { ROGUE_FW_LOG_CREATESFID(19, ROGUE_FW_GROUP_DBG, 2),
          "%u %u" },
        { ROGUE_FW_LOG_CREATESFID(20, ROGUE_FW_GROUP_DBG, 3),
          "%u %u %u" },
        { ROGUE_FW_LOG_CREATESFID(21, ROGUE_FW_GROUP_DBG, 4),
          "%u %u %u %u" },
        { ROGUE_FW_LOG_CREATESFID(22, ROGUE_FW_GROUP_DBG, 5),
          "%u %u %u %u %u" },
        { ROGUE_FW_LOG_CREATESFID(23, ROGUE_FW_GROUP_DBG, 6),
          "%u %u %u %u %u %u" },
        { ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_DBG, 7),
          "%u %u %u %u %u %u %u" },
        { ROGUE_FW_LOG_CREATESFID(25, ROGUE_FW_GROUP_DBG, 8),
          "%u %u %u %u %u %u %u %u" },

        { ROGUE_FW_LOG_CREATESFID(65535, ROGUE_FW_GROUP_NULL, 15),
          "You should not use this string" },
};

#define ROGUE_FW_SF_FIRST ROGUE_FW_LOG_CREATESFID(0, ROGUE_FW_GROUP_NULL, 0)
#define ROGUE_FW_SF_MAIN_ASSERT_FAILED ROGUE_FW_LOG_CREATESFID(24, ROGUE_FW_GROUP_MAIN, 1)
#define ROGUE_FW_SF_LAST ROGUE_FW_LOG_CREATESFID(65535, ROGUE_FW_GROUP_NULL, 15)

#endif /* PVR_ROGUE_FWIF_SF_H */