Esempio n. 1
0
int pvr2_debugifc_print_info(struct pvr2_hdw *hdw,char *buf,unsigned int acnt)
{
	int bcnt = 0;
	int ccnt;
	struct pvr2_hdw_debug_info dbg;

	pvr2_hdw_get_debug_info(hdw,&dbg);

	ccnt = scnprintf(buf,acnt,"big lock %s; ctl lock %s",
			 (dbg.big_lock_held ? "held" : "free"),
			 (dbg.ctl_lock_held ? "held" : "free"));
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	if (dbg.ctl_lock_held) {
		ccnt = scnprintf(buf,acnt,"; cmd_state=%d cmd_code=%d"
				 " cmd_wlen=%d cmd_rlen=%d"
				 " wpend=%d rpend=%d tmout=%d rstatus=%d"
				 " wstatus=%d",
				 dbg.cmd_debug_state,dbg.cmd_code,
				 dbg.cmd_debug_write_len,
				 dbg.cmd_debug_read_len,
				 dbg.cmd_debug_write_pend,
				 dbg.cmd_debug_read_pend,
				 dbg.cmd_debug_timeout,
				 dbg.cmd_debug_rstatus,
				 dbg.cmd_debug_wstatus);
		bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	}
	ccnt = scnprintf(buf,acnt,"\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(
		buf,acnt,"driver flags: %s %s %s\n",
		(dbg.flag_init_ok ? "initialized" : "uninitialized"),
		(dbg.flag_ok ? "ok" : "fail"),
		(dbg.flag_disconnected ? "disconnected" : "connected"));
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(buf,acnt,"Subsystems enabled / configured: ");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = debugifc_print_mask(buf,acnt,dbg.subsys_flags,dbg.subsys_flags);
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(buf,acnt,"\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(buf,acnt,"Subsystems disabled / unconfigured: ");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = debugifc_print_mask(buf,acnt,~dbg.subsys_flags,dbg.subsys_flags);
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(buf,acnt,"\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;

	ccnt = scnprintf(buf,acnt,"Attached I2C modules:\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = pvr2_i2c_report(hdw,buf,acnt);
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;

	return bcnt;
}
int pvr2_debugifc_print_info(struct pvr2_hdw *hdw,char *buf,unsigned int acnt)
{
	int bcnt = 0;
	int ccnt;
	ccnt = scnprintf(buf,acnt,"Driver state info:\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = pvr2_hdw_state_report(hdw,buf,acnt);
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = scnprintf(buf,acnt,"Attached I2C modules:\n");
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;
	ccnt = pvr2_i2c_report(hdw,buf,acnt);
	bcnt += ccnt; acnt -= ccnt; buf += ccnt;

	return bcnt;
}