sgxinit.o sgxreset.o sgxutils.o sgxkick.o \
sgxtransfer.o mmu.o pb.o perproc.o sysconfig.o \
sysutils.o osperproc.o bridged_support.o \
- bridged_sgx_bridge.o sgxpower.o pvr_events.o
+ bridged_sgx_bridge.o sgxpower.o pvr_events.o \
+ pvr_debugfs.o
pvrsrvkm-objs-$(CONFIG_PVR_DEBUG) += pvr_debug.o
-pvrsrvkm-objs-$(CONFIG_DEBUG_FS) += pvr_debugfs.o
pvrsrvkm-objs-$(CONFIG_PVR_TIMING) += pvr_debug.o
pvrsrvkm-objs-$(CONFIG_PVR_DEBUG_PDUMP) += pvr_pdump.o pvr_pdumpfs.o
char data[1];
};
-static size_t
+size_t
edm_trace_print(struct PVRSRV_SGXDEV_INFO *sdev, char *dst, size_t dst_len)
{
u32 *buf_start;
buf = sdev->psKernelEDMStatusBufferMemInfo->pvLinAddrKM;
- p += scnprintf(dst + p, dst_len - p,
- "Last SGX microkernel status code: 0x%x\n", *buf);
+ if (dst)
+ p += scnprintf(dst + p, dst_len - p,
+ "Last SGX microkernel status code: 0x%x\n", *buf);
+ else
+ printk(KERN_DEBUG "Last SGX microkernel status code: 0x%x\n",
+ *buf);
buf++;
wr_ofs = *buf;
buf++;
/* Dump the status values */
for (i = 0; i < SGXMK_TRACE_BUFFER_SIZE; i++) {
- p += scnprintf(dst + p, dst_len - p,
- "%3d %08X %08X %08X %08X\n",
- i, buf[2], buf[3], buf[1], buf[0]);
+ if (dst)
+ p += scnprintf(dst + p, dst_len - p,
+ "%3d %08X %08X %08X %08X\n",
+ i, buf[2], buf[3], buf[1], buf[0]);
+ else
+ printk(KERN_DEBUG "%3d %08X %08X %08X %08X\n",
+ i, buf[2], buf[3], buf[1], buf[0]);
buf += 4;
if (buf >= buf_end)
buf = buf_start;
#ifndef _PVR_DEBUGFS_H_
#define _PVR_DEBUGFS_H_ 1
-#ifndef CONFIG_DEBUG_FS
-#error Error: debugfs header included but CONFIG_DEBUG_FS is not defined!
-#endif
-
extern struct dentry *pvr_debugfs_dir;
int pvr_debugfs_init(void);
void pvr_hwrec_dump(struct PVRSRV_PER_PROCESS_DATA *proc_data,
struct PVRSRV_SGXDEV_INFO *psDevInfo);
+size_t edm_trace_print(struct PVRSRV_SGXDEV_INFO *sdev, char *dst,
+ size_t dst_len);
+
#ifdef CONFIG_PVR_DEBUG
/* to be used for memory dumping from mmu.c */
int hwrec_mem_write(u8 *buffer, size_t size);
pr_err_process_info(proc);
pr_err_sgx_registers(psDevInfo);
+#ifdef PVRSRV_USSE_EDM_STATUS_DEBUG
+ edm_trace_print(psDevInfo, NULL, 0);
+#endif
#ifdef CONFIG_DEBUG_FS
pvr_hwrec_dump(proc, psDevInfo);