aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-debugifc.c')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-debugifc.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
index b0687430fdd4..b53121c78ff9 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c
@@ -164,6 +164,8 @@ int pvr2_debugifc_print_status(struct pvr2_hdw *hdw,
164 int ccnt; 164 int ccnt;
165 int ret; 165 int ret;
166 u32 gpio_dir,gpio_in,gpio_out; 166 u32 gpio_dir,gpio_in,gpio_out;
167 struct pvr2_stream_stats stats;
168 struct pvr2_stream *sp;
167 169
168 ret = pvr2_hdw_is_hsm(hdw); 170 ret = pvr2_hdw_is_hsm(hdw);
169 ccnt = scnprintf(buf,acnt,"USB link speed: %s\n", 171 ccnt = scnprintf(buf,acnt,"USB link speed: %s\n",
@@ -182,6 +184,24 @@ int pvr2_debugifc_print_status(struct pvr2_hdw *hdw,
182 pvr2_hdw_get_streaming(hdw) ? "on" : "off"); 184 pvr2_hdw_get_streaming(hdw) ? "on" : "off");
183 bcnt += ccnt; acnt -= ccnt; buf += ccnt; 185 bcnt += ccnt; acnt -= ccnt; buf += ccnt;
184 186
187
188 sp = pvr2_hdw_get_video_stream(hdw);
189 if (sp) {
190 pvr2_stream_get_stats(sp, &stats, 0);
191 ccnt = scnprintf(
192 buf,acnt,
193 "Bytes streamed=%u"
194 " URBs: queued=%u idle=%u ready=%u"
195 " processed=%u failed=%u\n",
196 stats.bytes_processed,
197 stats.buffers_in_queue,
198 stats.buffers_in_idle,
199 stats.buffers_in_ready,
200 stats.buffers_processed,
201 stats.buffers_failed);
202 bcnt += ccnt; acnt -= ccnt; buf += ccnt;
203 }
204
185 return bcnt; 205 return bcnt;
186} 206}
187 207
@@ -220,6 +240,10 @@ static int pvr2_debugifc_do1cmd(struct pvr2_hdw *hdw,const char *buf,
220 return pvr2_hdw_cmd_decoder_reset(hdw); 240 return pvr2_hdw_cmd_decoder_reset(hdw);
221 } else if (debugifc_match_keyword(wptr,wlen,"worker")) { 241 } else if (debugifc_match_keyword(wptr,wlen,"worker")) {
222 return pvr2_hdw_untrip(hdw); 242 return pvr2_hdw_untrip(hdw);
243 } else if (debugifc_match_keyword(wptr,wlen,"usbstats")) {
244 pvr2_stream_get_stats(pvr2_hdw_get_video_stream(hdw),
245 NULL, !0);
246 return 0;
223 } 247 }
224 return -EINVAL; 248 return -EINVAL;
225 } else if (debugifc_match_keyword(wptr,wlen,"cpufw")) { 249 } else if (debugifc_match_keyword(wptr,wlen,"cpufw")) {