dev->logging_data->fault_addr = (unsigned int)addr;
s5p_mfc_dump_buffer_info(dev, addr);
- call_dop(dev, dump_and_stop_always, dev);
+ call_dop(dev, dump_info, dev);
return 0;
}
extern struct s5p_mfc_dump_ops mfc_dump_ops;
struct s5p_mfc_dump_ops {
void (*dump_regs)(struct s5p_mfc_dev *dev);
+ void (*dump_info)(struct s5p_mfc_dev *dev);
void (*dump_and_stop_always)(struct s5p_mfc_dev *dev);
void (*dump_and_stop_debug_mode)(struct s5p_mfc_dev *dev);
};
}
}
-static void mfc_dump_info_and_stop_hw(struct s5p_mfc_dev *dev)
+static void mfc_dump_info(struct s5p_mfc_dev *dev)
{
- MFC_TRACE_DEV("** mfc will stop!!!\n");
mfc_display_state(dev);
mfc_print_trace(dev);
mfc_save_logging_sfr(dev);
mfc_dump_regs(dev);
exynos_sysmmu_show_status(dev->device);
+}
+
+static void mfc_dump_info_and_stop_hw(struct s5p_mfc_dev *dev)
+{
+ MFC_TRACE_DEV("** mfc will stop!!!\n");
+ mfc_dump_info(dev);
BUG();
}
return;
MFC_TRACE_DEV("** mfc will stop!!!\n");
- mfc_display_state(dev);
- mfc_print_trace(dev);
- mfc_save_logging_sfr(dev);
- mfc_dump_regs(dev);
- exynos_sysmmu_show_status(dev->device);
+ mfc_dump_info(dev);
BUG();
}
struct s5p_mfc_dump_ops mfc_dump_ops = {
.dump_regs = mfc_dump_regs,
+ .dump_info = mfc_dump_info,
.dump_and_stop_always = mfc_dump_info_and_stop_hw,
.dump_and_stop_debug_mode = mfc_dump_info_and_stop_hw_debug,
};