[PORT FROM R2] [CRASHLOG] Fix capture of new SCU halts cases kernel
authorChristophe Guerard <christophe.guerard@intel.com>
Thu, 26 Jan 2012 13:09:10 +0000 (14:09 +0100)
committerbuildbot <buildbot@intel.com>
Tue, 31 Jan 2012 14:33:50 +0000 (06:33 -0800)
BZ: 21339

Change-Id: I9117fa60da04bb7ba455a59ee25c5a838d227cea
Reviewed-on: http://android.intel.com:8080/33350
Reviewed-by: Chotard, Celine <celine.chotard@intel.com>
Reviewed-by: Lebouc, Christophe <christophe.lebouc@intel.com>
Tested-by: Chotard, Celine <celine.chotard@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/misc/intel_fw_logging.c

index 2edc9f7..5826712 100755 (executable)
 #define MAX_FID_REG_LEN                        32
 #define MAX_NUM_LOGDWORDS              12
 #define FABERR_INDICATOR               0x15
-#define FWERR_INDICATOR                        0x7
+#define SWDTERR_IND                    0xdd
+#define MEMERR_IND                     0xf501
+#define INSTERR_IND                    0xf502
+#define ECCERR_IND                     0xf504
 #define FLAG_HILOW_MASK                        8
 #define FAB_ID_MASK                    7
 #define MAX_AGENT_IDX                  15
@@ -298,7 +301,11 @@ static int create_fwerr_log(char *output_buf, void __iomem *oshob_ptr)
                return 0;
 
        /* FW error if tenth DW reserved field is 111 */
-       if (err_log_dw10.fields.reserved1 == FWERR_INDICATOR) {
+       if ((err_status_dw0.data == SWDTERR_IND) ||
+               (err_status_dw0.data == MEMERR_IND) ||
+               (err_status_dw0.data == INSTERR_IND) ||
+               (err_status_dw0.data == ECCERR_IND)) {
+
                sprintf(output_buf, "SCU error summary:\n");
                strcat(output_buf, "===================\n");
                for (count = 0; count < MAX_NUM_LOGDWORDS; count++) {