提交 56585386 编写于 作者: M Mike Isely 提交者: Mauro Carvalho Chehab

V4L/DVB (6211): pvrusb2: Allocate a debug mask bit for reporting video standard things

It's useful to see specific details for how the pvrusb2 driver is
figuring out things related to the video standard, independent of
other initialization activities.  So let's set up a separate debug
mask bit for this and turn it on.
Signed-off-by: NMike Isely <isely@pobox.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 9f66d4ea
...@@ -26,32 +26,33 @@ extern int pvrusb2_debug; ...@@ -26,32 +26,33 @@ extern int pvrusb2_debug;
/* These are listed in *rough* order of decreasing usefulness and /* These are listed in *rough* order of decreasing usefulness and
increasing noise level. */ increasing noise level. */
#define PVR2_TRACE_INFO (1 << 0) // Normal messages #define PVR2_TRACE_INFO (1 << 0) /* Normal messages */
#define PVR2_TRACE_ERROR_LEGS (1 << 1) // error messages #define PVR2_TRACE_ERROR_LEGS (1 << 1) /* error messages */
#define PVR2_TRACE_TOLERANCE (1 << 2) // track tolerance-affected errors #define PVR2_TRACE_TOLERANCE (1 << 2) /* track tolerance-affected errors */
#define PVR2_TRACE_TRAP (1 << 3) // Trap & report misbehavior from app #define PVR2_TRACE_TRAP (1 << 3) /* Trap & report app misbehavior */
#define PVR2_TRACE_INIT (1 << 4) // misc initialization steps #define PVR2_TRACE_STD (1 << 4) /* Log video standard stuff */
#define PVR2_TRACE_START_STOP (1 << 5) // Streaming start / stop #define PVR2_TRACE_INIT (1 << 5) /* misc initialization steps */
#define PVR2_TRACE_CTL (1 << 6) // commit of control changes #define PVR2_TRACE_START_STOP (1 << 6) /* Streaming start / stop */
#define PVR2_TRACE_DEBUG (1 << 7) // Temporary debug code #define PVR2_TRACE_CTL (1 << 7) /* commit of control changes */
#define PVR2_TRACE_EEPROM (1 << 8) // eeprom parsing / report #define PVR2_TRACE_DEBUG (1 << 8) /* Temporary debug code */
#define PVR2_TRACE_STRUCT (1 << 9) // internal struct creation #define PVR2_TRACE_EEPROM (1 << 9) /* eeprom parsing / report */
#define PVR2_TRACE_OPEN_CLOSE (1 << 10) // application open / close #define PVR2_TRACE_STRUCT (1 << 10) /* internal struct creation */
#define PVR2_TRACE_CREG (1 << 11) // Main critical region entry / exit #define PVR2_TRACE_OPEN_CLOSE (1 << 11) /* application open / close */
#define PVR2_TRACE_SYSFS (1 << 12) // Sysfs driven I/O #define PVR2_TRACE_CREG (1 << 12) /* Main critical region entry / exit */
#define PVR2_TRACE_FIRMWARE (1 << 13) // firmware upload actions #define PVR2_TRACE_SYSFS (1 << 13) /* Sysfs driven I/O */
#define PVR2_TRACE_CHIPS (1 << 14) // chip broadcast operation #define PVR2_TRACE_FIRMWARE (1 << 14) /* firmware upload actions */
#define PVR2_TRACE_I2C (1 << 15) // I2C related stuff #define PVR2_TRACE_CHIPS (1 << 15) /* chip broadcast operation */
#define PVR2_TRACE_I2C_CMD (1 << 16) // Software commands to I2C modules #define PVR2_TRACE_I2C (1 << 16) /* I2C related stuff */
#define PVR2_TRACE_I2C_CORE (1 << 17) // I2C core debugging #define PVR2_TRACE_I2C_CMD (1 << 17) /* Software commands to I2C modules */
#define PVR2_TRACE_I2C_TRAF (1 << 18) // I2C traffic through the adapter #define PVR2_TRACE_I2C_CORE (1 << 18) /* I2C core debugging */
#define PVR2_TRACE_V4LIOCTL (1 << 19) // v4l ioctl details #define PVR2_TRACE_I2C_TRAF (1 << 19) /* I2C traffic through the adapter */
#define PVR2_TRACE_ENCODER (1 << 20) // mpeg2 encoder operation #define PVR2_TRACE_V4LIOCTL (1 << 20) /* v4l ioctl details */
#define PVR2_TRACE_BUF_POOL (1 << 21) // Track buffer pool management #define PVR2_TRACE_ENCODER (1 << 21) /* mpeg2 encoder operation */
#define PVR2_TRACE_BUF_FLOW (1 << 22) // Track buffer flow in system #define PVR2_TRACE_BUF_POOL (1 << 22) /* Track buffer pool management */
#define PVR2_TRACE_DATA_FLOW (1 << 23) // Track data flow #define PVR2_TRACE_BUF_FLOW (1 << 23) /* Track buffer flow in system */
#define PVR2_TRACE_DEBUGIFC (1 << 24) // Debug interface actions #define PVR2_TRACE_DATA_FLOW (1 << 24) /* Track data flow */
#define PVR2_TRACE_GPIO (1 << 25) // GPIO state bit changes #define PVR2_TRACE_DEBUGIFC (1 << 25) /* Debug interface actions */
#define PVR2_TRACE_GPIO (1 << 26) /* GPIO state bit changes */
#endif /* __PVRUSB2_HDW_INTERNAL_H */ #endif /* __PVRUSB2_HDW_INTERNAL_H */
......
...@@ -1741,7 +1741,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw) ...@@ -1741,7 +1741,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw)
std1 = get_default_standard(hdw); std1 = get_default_standard(hdw);
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),hdw->std_mask_eeprom); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),hdw->std_mask_eeprom);
pvr2_trace(PVR2_TRACE_INIT, pvr2_trace(PVR2_TRACE_STD,
"Supported video standard(s) reported by eeprom: %.*s", "Supported video standard(s) reported by eeprom: %.*s",
bcnt,buf); bcnt,buf);
...@@ -1750,7 +1750,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw) ...@@ -1750,7 +1750,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw)
std2 = std1 & ~hdw->std_mask_avail; std2 = std1 & ~hdw->std_mask_avail;
if (std2) { if (std2) {
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),std2); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),std2);
pvr2_trace(PVR2_TRACE_INIT, pvr2_trace(PVR2_TRACE_STD,
"Expanding supported video standards" "Expanding supported video standards"
" to include: %.*s", " to include: %.*s",
bcnt,buf); bcnt,buf);
...@@ -1761,7 +1761,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw) ...@@ -1761,7 +1761,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw)
if (std1) { if (std1) {
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),std1); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),std1);
pvr2_trace(PVR2_TRACE_INIT, pvr2_trace(PVR2_TRACE_STD,
"Initial video standard forced to %.*s", "Initial video standard forced to %.*s",
bcnt,buf); bcnt,buf);
hdw->std_mask_cur = std1; hdw->std_mask_cur = std1;
...@@ -1781,7 +1781,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw) ...@@ -1781,7 +1781,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw)
hdw->std_mask_eeprom)) continue; hdw->std_mask_eeprom)) continue;
bcnt = pvr2_std_id_to_str(buf,sizeof(buf), bcnt = pvr2_std_id_to_str(buf,sizeof(buf),
std_eeprom_maps[idx].std); std_eeprom_maps[idx].std);
pvr2_trace(PVR2_TRACE_INIT, pvr2_trace(PVR2_TRACE_STD,
"Initial video standard guessed as %.*s", "Initial video standard guessed as %.*s",
bcnt,buf); bcnt,buf);
hdw->std_mask_cur = std_eeprom_maps[idx].std; hdw->std_mask_cur = std_eeprom_maps[idx].std;
...@@ -1796,7 +1796,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw) ...@@ -1796,7 +1796,7 @@ static void pvr2_hdw_setup_std(struct pvr2_hdw *hdw)
hdw->std_enum_cur = 1; hdw->std_enum_cur = 1;
hdw->std_mask_cur = hdw->std_defs[hdw->std_enum_cur-1].id; hdw->std_mask_cur = hdw->std_defs[hdw->std_enum_cur-1].id;
hdw->std_dirty = !0; hdw->std_dirty = !0;
pvr2_trace(PVR2_TRACE_INIT, pvr2_trace(PVR2_TRACE_STD,
"Initial video standard auto-selected to %s", "Initial video standard auto-selected to %s",
hdw->std_defs[hdw->std_enum_cur-1].name); hdw->std_defs[hdw->std_enum_cur-1].name);
return; return;
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#define DEFAULT_DEBUG_MASK (PVR2_TRACE_ERROR_LEGS| \ #define DEFAULT_DEBUG_MASK (PVR2_TRACE_ERROR_LEGS| \
PVR2_TRACE_INFO| \ PVR2_TRACE_INFO| \
PVR2_TRACE_STD| \
PVR2_TRACE_TOLERANCE| \ PVR2_TRACE_TOLERANCE| \
PVR2_TRACE_TRAP| \ PVR2_TRACE_TRAP| \
0) 0)
......
...@@ -298,7 +298,7 @@ static int pvr2_std_fill(struct v4l2_standard *std,v4l2_std_id id) ...@@ -298,7 +298,7 @@ static int pvr2_std_fill(struct v4l2_standard *std,v4l2_std_id id)
std->id = id; std->id = id;
bcnt = pvr2_std_id_to_str(std->name,sizeof(std->name)-1,id); bcnt = pvr2_std_id_to_str(std->name,sizeof(std->name)-1,id);
std->name[bcnt] = 0; std->name[bcnt] = 0;
pvr2_trace(PVR2_TRACE_INIT,"Set up standard idx=%u name=%s", pvr2_trace(PVR2_TRACE_STD,"Set up standard idx=%u name=%s",
std->index,std->name); std->index,std->name);
return !0; return !0;
} }
...@@ -320,11 +320,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr, ...@@ -320,11 +320,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
v4l2_std_id idmsk,cmsk,fmsk; v4l2_std_id idmsk,cmsk,fmsk;
struct v4l2_standard *stddefs; struct v4l2_standard *stddefs;
if (pvrusb2_debug & PVR2_TRACE_INIT) { if (pvrusb2_debug & PVR2_TRACE_STD) {
char buf[50]; char buf[50];
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id);
pvr2_trace( pvr2_trace(
PVR2_TRACE_INIT,"Mapping standards mask=0x%x (%.*s)", PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)",
(int)id,bcnt,buf); (int)id,bcnt,buf);
} }
...@@ -355,7 +355,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr, ...@@ -355,7 +355,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
bcnt,buf); bcnt,buf);
} }
pvr2_trace(PVR2_TRACE_INIT,"Setting up %u unique standard(s)", pvr2_trace(PVR2_TRACE_STD,"Setting up %u unique standard(s)",
std_cnt); std_cnt);
if (!std_cnt) return NULL; // paranoia if (!std_cnt) return NULL; // paranoia
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册