static inline bool ct_header_is_response(u32 header)
 {
-       return ct_header_get_action(header) == INTEL_GUC_ACTION_DEFAULT;
+       return !!(header & GUC_CT_MSG_IS_RESPONSE);
 }
 
 static int ctb_read(struct intel_guc_ct_buffer *ctb, u32 *data)
 
  *
  * bit[4..0]   message len (in dwords)
  * bit[7..5]   reserved
- * bit[8]      write fence to desc
- * bit[9]      write status to H2G buff
- * bit[10]     send status (via G2H)
+ * bit[8]      response (G2H only)
+ * bit[8]      write fence to desc (H2G only)
+ * bit[9]      write status to H2G buff (H2G only)
+ * bit[10]     send status back via G2H (H2G only)
  * bit[15..11] reserved
  * bit[31..16] action code
  */
 #define GUC_CT_MSG_LEN_SHIFT                   0
 #define GUC_CT_MSG_LEN_MASK                    0x1F
+#define GUC_CT_MSG_IS_RESPONSE                 (1 << 8)
 #define GUC_CT_MSG_WRITE_FENCE_TO_DESC         (1 << 8)
 #define GUC_CT_MSG_WRITE_STATUS_TO_BUFF                (1 << 9)
 #define GUC_CT_MSG_SEND_STATUS                 (1 << 10)