[PATCH] it913x multiple devices on system. Copy ite_config to priv area.

2011-12-04 Thread Malcolm Priestley
If there are two or more different it913x devices on the system they share the 
same
ite_config and over write its settings.

To over come this, the ite_config is copied to the priv area.

Signed-off-by: Malcolm Priestley tvbox...@gmail.com
---
 drivers/media/dvb/dvb-usb/it913x.c |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/it913x.c 
b/drivers/media/dvb/dvb-usb/it913x.c
index e847527..1aa3872 100644
--- a/drivers/media/dvb/dvb-usb/it913x.c
+++ b/drivers/media/dvb/dvb-usb/it913x.c
@@ -63,6 +63,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 
 struct it913x_state {
u8 id;
+   struct ite_config it913x_config;
 };
 
 struct ite_config it913x_config;
@@ -624,6 +625,7 @@ static int it913x_name(struct dvb_usb_adapter *adap)
 static int it913x_frontend_attach(struct dvb_usb_adapter *adap)
 {
struct usb_device *udev = adap-dev-udev;
+   struct it913x_state *st = adap-dev-priv;
int ret = 0;
u8 adap_addr = I2C_BASE_ADDR + (adap-id  5);
u16 ep_size = adap-props.fe[0].stream.u.bulk.buffersize / 4;
@@ -634,8 +636,12 @@ static int it913x_frontend_attach(struct dvb_usb_adapter 
*adap)
 
it913x_config.adf = it913x_read_reg(udev, IO_MUX_POWER_CLK);
 
+   if (adap-id == 0)
+   memcpy(st-it913x_config, it913x_config,
+   sizeof(struct ite_config));
+
adap-fe_adap[0].fe = dvb_attach(it913x_fe_attach,
-   adap-dev-i2c_adap, adap_addr, it913x_config);
+   adap-dev-i2c_adap, adap_addr, st-it913x_config);
 
if (adap-id == 0  adap-fe_adap[0].fe) {
ret = it913x_wr_reg(udev, DEV_0_DMOD, MP2_SW_RST, 0x1);
-- 
1.7.7.3



--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread Alan Cox
 While I agree with your more broad view of the issue, I specifically
 talked about VDR.  AFAIK Klaus has no intention of adding true
 server/client support to VDR, so for VDR users, this sounds like it
 could be a working solution without the strict limitations of
 streamdev.

So fix Klaus rather than mess up the kernel.

If you are trying to solve a VDR political problem then kernel hacks are
not the way to go. Someone who cares about it needs to fix VDR, with or
without its current maintainer.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC/PATCH 0/5] v4l: New camera controls

2011-12-04 Thread Sylwester Nawrocki
Hi All,

I put some effort in preparing a documentation for a couple of new controls
in the camera control class. It's a preeliminary work, it's mainly just
documentation. There is yet no patches for any driver using these controls.
I just wanted to get some possible feedback on them, if this sort of stuff
is welcome and what might need to be done differently.


Thanks,
Sylwester


Heungjun Kim (1):
  uvc: Adapt the driver to new type of V4L2_CID_FOCUS_AUTO control

Sylwester Nawrocki (4):
  v4l: Convert V4L2_CID_FOCUS_AUTO control to a menu control
  v4l: Add V4L2_CID_METERING_MODE camera control
  v4l: Add V4L2_CID_EXPOSURE_BIAS camera control
  v4l: Add V4L2_CID_ISO and V4L2_CID_ISO_AUTO controls

 Documentation/DocBook/media/v4l/biblio.xml   |   11 +++
 Documentation/DocBook/media/v4l/controls.xml |  122 -
 drivers/media/video/uvc/uvc_ctrl.c   |9 ++-
 drivers/media/video/v4l2-ctrls.c |   19 -
 include/linux/videodev2.h|   19 
 5 files changed, 173 insertions(+), 7 deletions(-)

--
1.7.4.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC/PATCH 1/5] v4l: Convert V4L2_CID_FOCUS_AUTO control to a menu control

2011-12-04 Thread Sylwester Nawrocki
Change the V4L2_CID_FOCUS_AUTO control type from boolean to a menu
type. In case of boolean control we had values 0 and 1 corresponding
to manual and automatic focus respectively.

The V4L2_CID_FOCUS_AUTO menu control has currently following items:
  0 - V4L2_FOCUS_MANUAL,
  1 - V4L2_FOCUS_AUTO,
  2 - V4L2_FOCUS_AUTO_MACRO,
  3 - V4L2_FOCUS_AUTO_CONTINUOUS.

To trigger single auto focus action in V4L2_FOCUS_AUTO mode the
V4L2_DO_AUTO_FOCUS control can be used, which is also added in this
patch.

Signed-off-by: Heungjun Kim riverful@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
Signed-off-by: Sylwester Nawrocki snj...@gmail.com
---
 Documentation/DocBook/media/v4l/controls.xml |   52 +++--
 drivers/media/video/v4l2-ctrls.c |   13 ++-
 include/linux/videodev2.h|8 
 3 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/controls.xml 
b/Documentation/DocBook/media/v4l/controls.xml
index 3bc5ee8..5ccb0b0 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -2782,12 +2782,54 @@ negative values towards infinity. This is a write-only 
control./entry
  /row
  rowentry/entry/row
 
- row
+ row id=v4l2-focus-auto-type
entry 
spanname=idconstantV4L2_CID_FOCUS_AUTO/constantnbsp;/entry
-   entryboolean/entry
- /rowrowentry spanname=descrEnables automatic focus
-adjustments. The effect of manual focus adjustments while this feature
-is enabled is undefined, drivers should ignore such requests./entry
+   entryenumnbsp;v4l2_focus_auto_type/entry
+ /rowrowentry spanname=descrDetermines the camera
+focus mode. The effect of manual focus adjustments while constant
+V4L2_CID_FOCUS_AUTO /constant is not set to constant
+V4L2_FOCUS_MANUAL/constant is undefined, drivers should ignore such
+requests./entry
+ /row
+ row
+   entrytbl spanname=descr cols=2
+ tbody valign=top
+   row
+ entryconstantV4L2_FOCUS_MANUAL/constantnbsp;/entry
+ entryManual focus./entry
+   /row
+   row
+ entryconstantV4L2_FOCUS_AUTO/constantnbsp;/entry
+ entrySingle shot auto focus. When switched to
+this mode the camera focuses on a subject just once. constant
+V4L2_CID_DO_AUTO_FOCUS/constant control can be used to manually
+invoke auto focusing./entry
+   /row
+   row
+ 
entryconstantV4L2_FOCUS_AUTO_MACRO/constantnbsp;/entry
+ entryMacro (close-up) auto focus. Usually camera
+auto focus algorithms do not attempt to focus on a subject that is
+closer than a given distance. This mode can be used to tell the camera
+to use minimum distance for focus that it is capable of./entry
+   /row
+   row
+ 
entryconstantV4L2_FOCUS_AUTO_CONTINUOUS/constantnbsp;/entry
+ entryContinuous auto focus. When switched to this
+mode the camera continually adjusts focus./entry
+   /row
+ /tbody
+   /entrytbl
+ /row
+ rowentry/entry/row
+
+ row
+   entry 
spanname=idconstantV4L2_CID_DO_AUTO_FOCUS/constantnbsp;/entry
+   entrybutton/entry
+ /rowrowentry spanname=descrWhen this control is set
+the camera will perform one shot auto focus. The effect of using this
+control when constantV4L2_CID_FOCUS_AUTO/constant is in mode
+different than constantV4L2_FOCUS_AUTO/constant is undefined,
+drivers should ignore such requests. /entry
  /row
  rowentry/entry/row
 
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 0f415da..7d8862f 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -221,6 +221,13 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
Aperture Priority Mode,
NULL
};
+   static const char * const camera_focus_auto[] = {
+   Manual Focus,
+   One-shot Auto Focus,
+   Macro Auto Focus,
+   Continuous Auto Focus,
+   NULL
+   };
static const char * const colorfx[] = {
None,
Black  White,
@@ -388,6 +395,8 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
return camera_power_line_frequency;
case V4L2_CID_EXPOSURE_AUTO:
return camera_exposure_auto;
+   case V4L2_CID_FOCUS_AUTO:
+   return camera_focus_auto;
case V4L2_CID_COLORFX:
return colorfx;
case V4L2_CID_TUNE_PREEMPHASIS:
@@ -567,6 +576,7 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_PRIVACY:  return Privacy;
case V4L2_CID_IRIS_ABSOLUTE:return Iris, Absolute;
case 

[RFC/PATCH 2/5] uvc: Adapt the driver to new type of V4L2_CID_FOCUS_AUTO control

2011-12-04 Thread Sylwester Nawrocki
From: Heungjun Kim riverful@samsung.com

The V4L2_CID_FOCUS_AUTO control has been converted from boolean type,
where control's value 0 and 1 were corresponding to manual and automatic
focus respectively, to menu type with following menu items:
  0 - V4L2_FOCUS_MANUAL,
  1 - V4L2_FOCUS_AUTO,
  2 - V4L2_FOCUS_AUTO_MACRO,
  3 - V4L2_FOCUS_AUTO_CONTINUOUS.

According to this change the uvc control mappings are modified to retain
original sematics, where 0 corresponds to manual and 1 to auto focus.

Signed-off-by: Heungjun Kim riverful@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com

---
The V4L2_CID_FOCUS_AUTO control in V4L2_FOCUS_AUTO mode does only
a one-shot auto focus, when switched from V4L2_FOCUS_MANUAL.
It might be worth to implement also the V4L2_CID_DO_AUTO_FOCUS button
control in uvc, however I didn't take time yet to better understand
the driver and add this. I also don't have any uvc hardware to test
this patch so it's just compile tested.
---
 drivers/media/video/uvc/uvc_ctrl.c |9 -
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/uvc/uvc_ctrl.c 
b/drivers/media/video/uvc/uvc_ctrl.c
index 254d326..6860ca1 100644
--- a/drivers/media/video/uvc/uvc_ctrl.c
+++ b/drivers/media/video/uvc/uvc_ctrl.c
@@ -365,6 +365,11 @@ static struct uvc_menu_info exposure_auto_controls[] = {
{ 8, Aperture Priority Mode },
 };
 
+static struct uvc_menu_info focus_auto_controls[] = {
+   { 0, Manual Mode },
+   { 1, Auto Mode },
+};
+
 static __s32 uvc_ctrl_get_zoom(struct uvc_control_mapping *mapping,
__u8 query, const __u8 *data)
 {
@@ -592,8 +597,10 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
.selector   = UVC_CT_FOCUS_AUTO_CONTROL,
.size   = 1,
.offset = 0,
-   .v4l2_type  = V4L2_CTRL_TYPE_BOOLEAN,
+   .v4l2_type  = V4L2_CTRL_TYPE_MENU,
.data_type  = UVC_CTRL_DATA_TYPE_BOOLEAN,
+   .menu_info  = focus_auto_controls,
+   .menu_count = ARRAY_SIZE(focus_auto_controls),
},
{
.id = V4L2_CID_IRIS_ABSOLUTE,
-- 
1.7.4.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC/PATCH 3/5] v4l: Add V4L2_CID_METERING_MODE camera control

2011-12-04 Thread Sylwester Nawrocki
The V4L2_CID_METERING_MODE control allows to determine what method
is used by the camera to measure the amount of light available for
automatic exposure control.

Signed-off-by: Sylwester Nawrocki snj...@gmail.com
---
 Documentation/DocBook/media/v4l/controls.xml |   31 ++
 drivers/media/video/v4l2-ctrls.c |2 +
 include/linux/videodev2.h|7 ++
 3 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/controls.xml 
b/Documentation/DocBook/media/v4l/controls.xml
index 5ccb0b0..53d7c08 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -2893,6 +2893,7 @@ mechanical obturation of the sensor and firmware image 
processing, but the
 device is not restricted to these methods. Devices that implement the privacy
 control must support read access and may support write access./entry
  /row
+ rowentry/entry/row
 
  row
entry 
spanname=idconstantV4L2_CID_BAND_STOP_FILTER/constantnbsp;/entry
@@ -2902,6 +2903,36 @@ camera sensor on or off, or specify its strength. Such 
band-stop filters can
 be used, for example, to filter out the fluorescent light component./entry
  /row
  rowentry/entry/row
+
+ row id=v4l2-metering-mode
+   entry 
spanname=idconstantV4L2_CID_METERING_MODE/constantnbsp;/entry
+   entryenumnbsp;v4l2_metering_mode/entry
+ /rowrowentry spanname=descrDetermines how the camera measures
+the amount of light available to expose a frame. Possible values are:/entry
+ /row
+ row
+   entrytbl spanname=descr cols=2
+ tbody valign=top
+   row
+ 
entryconstantV4L2_METERING_MODE_AVERAGE/constantnbsp;/entry
+ entryUse the light information coming from the entire scene
+and average giving no weighting to any particular portion of the metered area.
+ /entry
+   /row
+   row
+ 
entryconstantV4L2_METERING_MODE_CENTER_WEIGHTED/constantnbsp;/entry
+ entryAverage the light information coming from the entire 
scene
+giving priority to the center of the metered area./entry
+   /row
+   row
+ 
entryconstantV4L2_METERING_MODE_SPOT/constantnbsp;/entry
+ entryMeasure only very small area at the cent-re of the 
scene./entry
+   /row
+ /tbody
+   /entrytbl
+ /row
+ rowentry/entry/row
+
/tbody
   /tgroup
 /table
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 7d8862f..8d0cd0e 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -577,6 +577,7 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_IRIS_ABSOLUTE:return Iris, Absolute;
case V4L2_CID_IRIS_RELATIVE:return Iris, Relative;
case V4L2_CID_DO_AUTO_FOCUS:return Do Auto Focus;
+   case V4L2_CID_METERING_MODE:return Metering Mode;
 
/* FM Radio Modulator control */
/* Keep the order of the 'case's the same as in videodev2.h! */
@@ -703,6 +704,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum 
v4l2_ctrl_type *type,
case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC:
case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL:
case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE:
+   case V4L2_CID_METERING_MODE:
*type = V4L2_CTRL_TYPE_MENU;
break;
case V4L2_CID_RDS_TX_PS_NAME:
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 9acb514..8956ed6 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1626,6 +1626,13 @@ enum v4l2_focus_auto_type {
 
 #define V4L2_CID_DO_AUTO_FOCUS (V4L2_CID_CAMERA_CLASS_BASE+19)
 
+#define V4L2_CID_METERING_MODE (V4L2_CID_CAMERA_CLASS_BASE+20)
+enum v4l2_metering_mode {
+   V4L2_METERING_MODE_AVERAGE,
+   V4L2_METERING_MODE_CENTER_WEIGHTED,
+   V4L2_METERING_MODE_SPOT,
+};
+
 /* FM Modulator class control IDs */
 #define V4L2_CID_FM_TX_CLASS_BASE  (V4L2_CTRL_CLASS_FM_TX | 0x900)
 #define V4L2_CID_FM_TX_CLASS   (V4L2_CTRL_CLASS_FM_TX | 1)
-- 
1.7.4.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC/PATCH 4/5] v4l: Add V4L2_CID_EXPOSURE_BIAS camera control

2011-12-04 Thread Sylwester Nawrocki
The V4L2_CID_EXPOSURE_BIAS control allows for manual exposure
compensation when automatic exposure algorithm is enabled.

Signed-off-by: Sylwester Nawrocki snj...@gmail.com
---
 Documentation/DocBook/media/v4l/controls.xml |   16 
 drivers/media/video/v4l2-ctrls.c |1 +
 include/linux/videodev2.h|2 ++
 3 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/controls.xml 
b/Documentation/DocBook/media/v4l/controls.xml
index 53d7c08..ec5cbc1 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -2691,6 +2691,22 @@ and 10 for 10 seconds./entry
  rowentry/entry/row
 
  row
+   entry 
spanname=idconstantV4L2_CID_EXPOSURE_BIAS/constantnbsp;/entry
+   entryinteger (menu?)/entry
+ /rowrowentry spanname=descr Determines the exposure
+compensation when constantV4L2_CID_EXPOSURE_AUTO/constant control
+is set to constantAUTO/constant, constantSHUTTER_PRIORITY
+/constant or constantAPERTURE_PRIORITY/constant. It is expressed
+in terms of EV, drivers should interpret the values as 0.001 EV units,
+where the value 1000 stands for +1 EV.
+paraIncreasing the exposure compensation value is equivalent to
+decreasing the exposure value (EV) and will increase the amount of
+light at the image sensor. The camera performs the exposure compensation
+by adjusting absolute exposure time and/or aperture./para/entry
+ /row
+ rowentry/entry/row
+
+ row
entry 
spanname=idconstantV4L2_CID_EXPOSURE_AUTO_PRIORITY/constantnbsp;/entry
entryboolean/entry
  /rowrowentry spanname=descrWhen
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 8d0cd0e..ba636f2 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -578,6 +578,7 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_IRIS_RELATIVE:return Iris, Relative;
case V4L2_CID_DO_AUTO_FOCUS:return Do Auto Focus;
case V4L2_CID_METERING_MODE:return Metering Mode;
+   case V4L2_CID_EXPOSURE_BIAS:return Exposure, Bias;
 
/* FM Radio Modulator control */
/* Keep the order of the 'case's the same as in videodev2.h! */
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 8956ed6..37f93cf 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1633,6 +1633,8 @@ enum v4l2_metering_mode {
V4L2_METERING_MODE_SPOT,
 };
 
+#define V4L2_CID_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+21)
+
 /* FM Modulator class control IDs */
 #define V4L2_CID_FM_TX_CLASS_BASE  (V4L2_CTRL_CLASS_FM_TX | 0x900)
 #define V4L2_CID_FM_TX_CLASS   (V4L2_CTRL_CLASS_FM_TX | 1)
-- 
1.7.4.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cron job: media_tree daily build: ERRORS

2011-12-04 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:Sun Dec  4 19:00:17 CET 2011
git hash:2a887d27708a4f9f3b5ad8258f9e19a150b58f03
gcc version:  i686-linux-gcc (GCC) 4.6.1
host hardware:x86_64
host os:  3.1-2.slh.1-amd64

linux-git-arm-eabi-enoxys: ERRORS
linux-git-arm-eabi-omap: ERRORS
linux-git-armv5-ixp: WARNINGS
linux-git-i686: WARNINGS
linux-git-m32r: OK
linux-git-mips: WARNINGS
linux-git-powerpc64: WARNINGS
linux-git-x86_64: WARNINGS
linux-2.6.31.12-i686: WARNINGS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.39.1-i686: WARNINGS
linux-3.0-i686: WARNINGS
linux-3.1-i686: WARNINGS
linux-3.2-rc1-i686: WARNINGS
linux-2.6.31.12-x86_64: WARNINGS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
linux-2.6.38.2-x86_64: WARNINGS
linux-2.6.39.1-x86_64: WARNINGS
linux-3.0-x86_64: WARNINGS
linux-3.1-x86_64: WARNINGS
linux-3.2-rc1-x86_64: WARNINGS
spec-git: WARNINGS
sparse: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Hi.

2011/12/3 VDR User user@gmail.com:
 On Sat, Dec 3, 2011 at 8:13 AM, Andreas Oberritter o...@linuxtv.org wrote:
 You could certainly build a library to reach a different goal. The goal
 of vtuner is to access remote tuners with any existing program
 implementing the DVB API.

 So you could finally use VDR as a server/client setup using vtuner,
 right? With full OSD, timer, etc? Yes, I'm aware that streamdev
 exists. It was horrible when I tried it last (a long time ago) and I
 understand it's gotten better. But it's not a suitable replacement for
 a real server/client setup. It sounds like using vtuner, this would
 finally be possible and since Klaus has no intention of ever
 modernizing VDR into server/client (that I'm aware of), it's also the
 only suitable option as well.

 Or am I wrong about anything?  If not, I know several users who would
 like to use this, myself included.

Well, initial report was made on vdr-portal because of our hardware announce,
but you can be sure the same is true if server is build on any linux hardware.
Here is some note:
http://www.vdr-portal.de/board18-vdr-hardware/board84-allgemein/106610-das-neue-netzwerk-client-der-f%C3%BCr-vdr-verwenden-k%C3%B6nnen/?highlight=vtuner

Additional info you can find (or ask) on our forum:
http://forum.nessiedvb.org/forum/viewforum.php?f=11

Please note, that compilation of vtunerc kernel driver (or loopback, or pigback
or whatever name the code should be used) is simple - no need for any
kernel real patching is required. Code can be compiled outside of the
kernel tree
(of course kernel headers are still needed).

Some useful hints regarding userland application daemons you
can find in our wiki:
http://wiki.nessiedvb.org/wiki/doku.php?id=vtuner_mode

When you get vtunerc and vtunerd applications connected, try
simple command line tuning (szap/tzap or czap) to check
if it works correctly. Only if you get zapping working switch
to vdr.

Honza
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Devin,

I perfectly remember your opinion regarding vtuner.

2011/12/3 Devin Heitmueller dheitmuel...@kernellabs.com:
 On Sat, Dec 3, 2011 at 12:42 PM, Alan Cox a...@lxorguk.ukuu.org.uk wrote:
 On Sat, 3 Dec 2011 09:21:23 -0800
 VDR User user@gmail.com wrote:

 On Sat, Dec 3, 2011 at 8:13 AM, Andreas Oberritter o...@linuxtv.org wrote:
  You could certainly build a library to reach a different goal. The goal
  of vtuner is to access remote tuners with any existing program
  implementing the DVB API.

 So you could finally use VDR as a server/client setup using vtuner,
 right? With full OSD, timer, etc? Yes, I'm aware that streamdev
 exists. It was horrible when I tried it last (a long time ago) and I
 understand it's gotten better. But it's not a suitable replacement for
 a real server/client setup. It sounds like using vtuner, this would
 finally be possible and since Klaus has no intention of ever
 modernizing VDR into server/client (that I'm aware of), it's also the
 only suitable option as well.

 I would expect it to still suck. One of the problems you have with trying
 to pretend things are not networked is that you fake asynchronous events
 synchronously, you can't properly cover error cases and as a result you
 get things like ioctls that hang for two minutes or fail in bogus and
 bizarre ways. If you loop via userspace you've also got to deal with
 deadlocks and all sorts of horrible cornercases like the user space
 daemon dying.

 There is a reason properly working client/server code looks different -
 it's not a trivial transformation and faking it kernel side won't be any
 better than faking it in user space - it may well even be a worse fake.

 Alan

 This whole notion of creating fake kernel devices to represent
 networked tuners feels like a hack.  If applications want to access
 networked tuners, adding support for RTP/RTSP or incorporating
 libhdhomerun (LGPL) is a fairly straightforward exercise.  In fact,
 many applications already have incorporated support for one of these
 two approaches.  The fact that app maintainers have been
 unwilling/uninterested to do such doesn't feel like it should be an
 excuse for hacking this functionality into the kernel.

Still the same nonsense - why I should add 10x or even 100 times more
code to achieve not the same but may be 80-90% same result?

The idea is hell simple = allow to use those remote tuners by
100% of dvb api compliant applications. Not 80%, but 100%.

Honza
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Hi,

 Some input from the sideline reading this discussion. As a FreeBSD'er I would
 very much like to see two things happen:

 - vtunerc goes into userspace like a client/server daemon pair using CUSE and
 can support _any_ /dev/dvb/adapter, also those created by CUSE itself. That
 means I could potentially use vtunerc in FreeBSD with drivers like cx88:

Vtuner already has userland client/server pair. The server application
is connecting to _any_ /dev/dvb/adapter device. Please look at small
picture here:
http://code.google.com/p/vtuner/wiki/BigPicture

That means the server part is using totally clean linux. Nothing more.


 http://corona.homeunix.net/cx88wiki

 - DVB-X solution in Linux gets mmap support to avoid endless copying of data
 between kernel and userspace.

Adding nmap support should be straightforward. I have it on my TODO.

Honza
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread VDR User
On Sun, Dec 4, 2011 at 3:22 PM, HoP jpetr...@gmail.com wrote:
 Well, initial report was made on vdr-portal because of our hardware announce,
 but you can be sure the same is true if server is build on any linux hardware.
 Here is some note:
 http://www.vdr-portal.de/board18-vdr-hardware/board84-allgemein/106610-das-neue-netzwerk-client-der-f%C3%BCr-vdr-verwenden-k%C3%B6nnen/?highlight=vtuner

 Additional info you can find (or ask) on our forum:
 http://forum.nessiedvb.org/forum/viewforum.php?f=11

 Please note, that compilation of vtunerc kernel driver (or loopback, or 
 pigback
 or whatever name the code should be used) is simple - no need for any
 kernel real patching is required. Code can be compiled outside of the
 kernel tree
 (of course kernel headers are still needed).

 Some useful hints regarding userland application daemons you
 can find in our wiki:
 http://wiki.nessiedvb.org/wiki/doku.php?id=vtuner_mode

 When you get vtunerc and vtunerd applications connected, try
 simple command line tuning (szap/tzap or czap) to check
 if it works correctly. Only if you get zapping working switch
 to vdr.

Thanks for the info and links. I do know many guys who would be
interested in this if it can provide good server/client ability with
VDR. However, a large number of us only speak english so places like
vdr-portal aren't much use a lot of the time. If you have english
forums somewhere, that link would be far more useful I think.

Thanks
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cx231xx kernel oops

2011-12-04 Thread Yan Seiner
I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
frame grabber.  The oops is below.


The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.

root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux

The OOPS could be due to the limited hardware or something else.  I'd 
appreciate any suggestions for making this work.  I was hoping with 
hardware compression I could make it work on this platform.  I am 
currently using a Hauppage USB Live (saa7115 based) with no problems but 
with limited resolution.


cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 
interfaces
cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: Changing the i2c master port to 3
cx231xx #0: cx25840 subdev registration failure
cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx #0/0: registered device video0 [v4l2]
cx231xx #0: cx231xx #0/0: registered device vbi0
cx231xx #0: V4L2 device registered as video0 and vbi0
cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 184
cx231xx #0: Alternate setting 2, max size= 728
cx231xx #0: Alternate setting 3, max size= 2892
cx231xx #0: Alternate setting 4, max size= 1800
cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 512
cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
cx231xx #0: Alternate setting 0, max size= 512
cx231xx #0: Alternate setting 1, max size= 576
usbcore: registered new interface driver cx231xx
wlan0: deauthenticating from ea:c7:b6:67:bd:1e by local choice (reason=3)
b43-phy0: Loading firmware version 508.1084 (2009-01-14 01:32:01)
wlan0: authenticate with ea:c7:b6:67:bd:1e (try 1)
wlan0: authenticated
wlan0: associate with ea:c7:b6:67:bd:1e (try 1)
wlan0: RX AssocResp from ea:c7:b6:67:bd:1e (capab=0x411 status=0 aid=3)
wlan0: associated
hrtimer: interrupt took 33795302 ns
cx231xx #0:  setPowerMode::mode = 48, No Change req.
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: video_mux : 0
cx231xx #0: do_mode_ctrl_overrides : 0xb000
cx231xx #0: do_mode_ctrl_overrides NTSC
cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
cx231xx #0: cx231xx_start_stream():: ep_mask = 8
ehci_hcd :00:02.2: fatal error
ehci_hcd :00:02.2: HC died; cleaning up
ehci_hcd :00:02.2: force halt; handshake c0350024 4000 4000 - -145
ehci_hcd :00:02.2: HC died; cleaning up
usb 1-1: USB disconnect, device number 3
usb 1-1.3: USB disconnect, device number 4
pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
pl2303 1-1.3:1.0: device disconnected
usb 1-2: USB disconnect, device number 2
usb 2-1: new full speed USB device number 2 using ohci_hcd
usb 2-1: not running at top speed; connect to a high speed hub
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
usb 3-1: new full speed USB device number 2 using ohci_hcd
usb 3-1: not running at top speed; connect to a high speed hub
cx231xx #1: New device Hauppauge Hauppauge Device @ 12 Mbps (2040:c200) with 3 
interfaces
cx231xx #1: registering interface 1
cx231xx #1: can't change interface 3 alt no. to 3: Max. Pkt size = 0
usb 3-1: selecting invalid altsetting 3
cx231xx #1: can't change interface 3 alt no. to 3 (err=-22)
cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to 
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx231xx #1: cx25840 subdev registration failure
cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
cx231xx #1: cx231xx_dif_set_standard: setStandard to 
cx231xx #1: video_mux : 0
cx231xx #1: do_mode_ctrl_overrides : 0xb000
cx231xx #1: do_mode_ctrl_overrides NTSC
cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
cx231xx #1: cx231xx #1/0: registered device vbi1
cx231xx #1: V4L2 device registered as video1 and vbi1
cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
cx231xx #1: Alternate setting 0, max size= 64
cx231xx #1: Alternate setting 1, max size= 728
CPU 0 Unable to handle kernel paging request at virtual address , epc 
== 80f64e5c, ra == 80f64e30
Oops[#1]:
Cpu 0
$ 0   :  1000fc00 81b97660 

Re: cx231xx kernel oops

2011-12-04 Thread Andy Walls
On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
 I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
 frame grabber.  The oops is below.
 
 The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.
 
 root@anchor:/# uname -a
 Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux
 
 The OOPS could be due to the limited hardware or something else.  I'd 
 appreciate any suggestions for making this work.  I was hoping with 
 hardware compression I could make it work on this platform.  I am 
 currently using a Hauppage USB Live (saa7115 based) with no problems but 
 with limited resolution.
 
 cx231xx v4l2 driver loaded.
 cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 
 5 interfaces
 cx231xx #0: registering interface 1
 cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
 cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
 cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
 cx231xx #0: cx231xx_dif_set_standard: setStandard to 
 cx231xx #0: Changing the i2c master port to 3
 cx231xx #0: cx25840 subdev registration failure
 
The cx231xx driver requires the cx25840 module.  I'll wager you didn't
install it on your router.

Regards,
Andy



--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx231xx kernel oops

2011-12-04 Thread Yan Seiner

Andy Walls wrote:

On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
  
I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
frame grabber.  The oops is below.


The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.

root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux

The OOPS could be due to the limited hardware or something else.  I'd 
appreciate any suggestions for making this work.  I was hoping with 
hardware compression I could make it work on this platform.  I am 
currently using a Hauppage USB Live (saa7115 based) with no problems but 
with limited resolution.


cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 
interfaces
cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: Changing the i2c master port to 3
cx231xx #0: cx25840 subdev registration failure


 
The cx231xx driver requires the cx25840 module.  I'll wager you didn't
install it on your router.

  
Right in one.  I did not because it didn't seem to be required - no 
missing symbols or error messages.  Would a warning to syslog be possible?


With 8MB of flash, I remove everything that is not required.

--Yan

--
Few people are capable of expressing with equanimity opinions which differ from 
the prejudices of their social environment. Most people are even incapable of 
forming such opinions.
   Albert Einstein

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH v1 2/7] omap4: build fdif omap device from hwmod

2011-12-04 Thread Ming Lei
Hi,

On Sat, Dec 3, 2011 at 12:28 AM, Aguirre, Sergio saagui...@ti.com wrote:
 Hi Ming,

 Thanks for the patches.

Thanks for your review.

 On Fri, Dec 2, 2011 at 9:02 AM, Ming Lei ming@canonical.com wrote:
 Signed-off-by: Ming Lei ming@canonical.com
 ---
  arch/arm/mach-omap2/devices.c |   33 +
  1 files changed, 33 insertions(+), 0 deletions(-)

 diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
 index 1166bdc..a392af5 100644
 --- a/arch/arm/mach-omap2/devices.c
 +++ b/arch/arm/mach-omap2/devices.c
 @@ -728,6 +728,38 @@ void __init omap242x_init_mmc(struct 
 omap_mmc_platform_data **mmc_data)

  #endif

 +static struct platform_device* __init omap4_init_fdif(void)
 +{
 +       int id = -1;

 You could remove this , as it is being used only once, and never changed.

Yes.


 +       struct platform_device *pd;
 +       struct omap_hwmod *oh;
 +       const char *dev_name = fdif;
 +
 +       oh = omap_hwmod_lookup(fdif);
 +       if (!oh) {
 +               pr_err(Could not look up fdif hwmod\n);
 +               return NULL;
 +       }
 +
 +       pd = omap_device_build(dev_name, id, oh, NULL, 0, NULL, 0, 0);

 Just do:

 pd = omap_device_build(dev_name, -1, oh, NULL, 0, NULL, 0, 0);

 +       WARN(IS_ERR(pd), Can't build omap_device for %s.\n,
 +                               dev_name);
 +       return pd;
 +}
 +
 +static void __init omap_init_fdif(void)
 +{
 +       if (cpu_is_omap44xx()) {
 +               struct platform_device *pd;
 +
 +               pd = omap4_init_fdif();
 +               if (!pd)
 +                       return;
 +
 +               pm_runtime_enable(pd-dev);
 +       }
 +}

 IMHO, you could reduce 1 level of indentation here, like this:

 static void __init omap_init_fdif(void)
 {
        struct platform_device *pd;

        if (!cpu_is_omap44xx())
                return;

        pd = omap4_init_fdif();
        if (!pd)
                return;

        pm_runtime_enable(pd-dev);
 }

OK, will take this.

thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx231xx kernel oops

2011-12-04 Thread Yan Seiner

Andy Walls wrote:

On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
  
I am experiencing a kernel oops when trying to use a Hauppage USB Live 2 
frame grabber.  The oops is below.


The system is a SOC 260Mhz Broadcom BCM47XX access point running OpenWRT.

root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux

The OOPS could be due to the limited hardware or something else.  I'd 
appreciate any suggestions for making this work.  I was hoping with 
hardware compression I could make it work on this platform.  I am 
currently using a Hauppage USB Live (saa7115 based) with no problems but 
with limited resolution.


cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:c200) with 5 
interfaces
cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: Changing the i2c master port to 3
cx231xx #0: cx25840 subdev registration failure


 
The cx231xx driver requires the cx25840 module.  I'll wager you didn't
install it on your router.

  


I made sure the module was loaded; same thing.  :-(

Module  Size  Used byTainted: G 
cx231xx   124608  0

cx2341x13552  1 cx231xx
cx2584035568  2
rc_core12640  1 cx231xx
videobuf_vmalloc3168  1 cx231xx
videobuf_core  12384  2 cx231xx,videobuf_vmalloc

I was not able to catch the first bit.

cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to 
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
cx25840 3-0044:  Firmware download size changed to 16 bytes max length
cx25840 3-0044: unable to open firmware v4l-cx231xx-avcore-01.fw
cx231xx #1: cx231xx #1: v4l2 driver version 0.0.1
cx231xx #1: cx231xx_dif_set_standard: setStandard to 
cx231xx #1: video_mux : 0
cx231xx #1: do_mode_ctrl_overrides : 0xb000
cx231xx #1: do_mode_ctrl_overrides NTSC
cx231xx #1: cx231xx #1/0: registered device video1 [v4l2]
cx231xx #1: cx231xx #1/0: registered device vbi1
cx231xx #1: V4L2 device registered as video1 and vbi1
cx231xx #1: EndPoint Addr 0x84, Alternate settings: 2
cx231xx #1: Alternate setting 0, max size= 64
cx231xx #1: Alternate setting 1, max size= 728
CPU 0 Unable to handle kernel paging request at virtual address 
, epc == 80f84e5c, ra == 80f84e30

Oops[#1]:
Cpu 0
$ 0   :  1000fc00 80e2f860 80e2f800
$ 4   : 80f9ad58 5095  
$ 8   : 000a 0001 0001 000d
$12   : 00ff ffe0 8103f760 
$16   : 81e3 80c9f800 80fa 
$20   : 0002  81e300f8 0001
$24   : 0002 801539e0 
$28   : 80c74000 80c75a88 80fa 80f84e30

Hi: 
Lo: 
epc   : 80f84e5c 0x80f84e5c
   Not tainted
ra: 80f84e30 0x80f84e30
Status: 1000fc03KERNEL EXL IE
Cause : 0088
BadVA : 
PrId  : 00029006 (Broadcom BMIPS3300)
Modules linked in: cx231xx cx2341x cx25840 rc_core videobuf_vmalloc 
videobuf_core saa7115 usbvision pl2303 v4l2_common videodev usb_storage 
usbserial i2c_dev i2c_core ohci_hcd nf_nat_irc nf_conntrack_irc 
nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat 
xt_conntrack xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 
nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod ipt_REJECT xt_TCPMSS ipt_LOG 
xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter 
ip_tables xt_tcpudp x_tables tun vfat fat ext4 jbd2 mbcache b43legacy 
b43 nls_iso8859_1 nls_cp437 mac80211 usbcore scsi_mod nls_base crc16 
cfg80211 compat input_core arc4 aes_generic crypto_algapi switch_robo 
switch_core diag

Process khubd (pid: 596, threadinfo=80c74000, task=81a2d1a8, tls=)
Stack : 802c4084 81e3 0001 02d8 2040 c200 0003 
8011fa58
   70756148 67756170 61482065 61707075 20656775 69766544 00206563 

          

          

          


   ...
Call Trace:[8011fa58] 0x8011fa58
[80c8cd9c] 0x80c8cd9c
[8015db94] 0x8015db94
[8015df14] 0x8015df14
[8015e118] 0x8015e118
[8015e0e8] 0x8015e0e8
[8015cb28] 0x8015cb28
[801197ac] 0x801197ac
[8015dd14] 0x8015dd14
[8015b9e0] 0x8015b9e0
[80c89d54] 0x80c89d54
[80c8bf80] 0x80c8bf80
[800e15a8] 0x800e15a8
[80c92e58] 

Re: cx231xx kernel oops

2011-12-04 Thread Yan Seiner

Yan Seiner wrote:

Andy Walls wrote:

On Sun, 2011-12-04 at 18:01 -0800, Yan Seiner wrote:
 
I am experiencing a kernel oops when trying to use a Hauppage USB 
Live 2 frame grabber.  The oops is below.


The system is a SOC 260Mhz Broadcom BCM47XX access point running 
OpenWRT.


root@anchor:/# uname -a
Linux anchor 3.0.3 #13 Sun Dec 4 08:04:41 PST 2011 mips GNU/Linux

The OOPS could be due to the limited hardware or something else.  
I'd appreciate any suggestions for making this work.  I was hoping 
with hardware compression I could make it work on this platform.  I 
am currently using a Hauppage USB Live (saa7115 based) with no 
problems but with limited resolution.


cx231xx v4l2 driver loaded.
cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps 
(2040:c200) with 5 interfaces

cx231xx #0: registering interface 1
cx231xx #0: can't change interface 3 alt no. to 3: Max. Pkt size = 0
cx231xx #0: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #0: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #0: cx231xx_dif_set_standard: setStandard to 
cx231xx #0: Changing the i2c master port to 3
cx231xx #0: cx25840 subdev registration failure


 
The cx231xx driver requires the cx25840 module.  I'll wager you didn't
install it on your router.

  


I made sure the module was loaded; same thing.  :-(

Module  Size  Used byTainted: G 
cx231xx   124608  0

cx2341x13552  1 cx231xx
cx2584035568  2
rc_core12640  1 cx231xx
videobuf_vmalloc3168  1 cx231xx
videobuf_core  12384  2 cx231xx,videobuf_vmalloc

I was not able to catch the first bit.

cx231xx #1: can't change interface 4 alt no. to 1: Max. Pkt size = 0
cx231xx #1: can't change interface 4 alt no. to 1 (err=-22)
cx231xx #1: Identified as Hauppauge USB Live 2 (card=9)
cx231xx #1: cx231xx_dif_set_standard: setStandard to 
cx231xx #1: can't change interface 5 alt no. to 0 (err=-22)
cx231xx #1: Changing the i2c master port to 3
cx25840 3-0044: cx23102 A/V decoder found @ 0x88 (cx231xx #1)
cx25840 3-0044:  Firmware download size changed to 16 bytes max length
cx25840 3-0044: unable to open firmware v4l-cx231xx-avcore-01.fw



Maybe I need that, eh?  :-)

--
Few people are capable of expressing with equanimity opinions which differ from 
the prejudices of their social environment. Most people are even incapable of 
forming such opinions.
   Albert Einstein

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
 Well, initial report was made on vdr-portal because of our hardware announce,
 but you can be sure the same is true if server is build on any linux 
 hardware.
 Here is some note:
 http://www.vdr-portal.de/board18-vdr-hardware/board84-allgemein/106610-das-neue-netzwerk-client-der-f%C3%BCr-vdr-verwenden-k%C3%B6nnen/?highlight=vtuner

 Additional info you can find (or ask) on our forum:
 http://forum.nessiedvb.org/forum/viewforum.php?f=11

 Please note, that compilation of vtunerc kernel driver (or loopback, or 
 pigback
 or whatever name the code should be used) is simple - no need for any
 kernel real patching is required. Code can be compiled outside of the
 kernel tree
 (of course kernel headers are still needed).

 Some useful hints regarding userland application daemons you
 can find in our wiki:
 http://wiki.nessiedvb.org/wiki/doku.php?id=vtuner_mode

 When you get vtunerc and vtunerd applications connected, try
 simple command line tuning (szap/tzap or czap) to check
 if it works correctly. Only if you get zapping working switch
 to vdr.

 Thanks for the info and links. I do know many guys who would be
 interested in this if it can provide good server/client ability with
 VDR. However, a large number of us only speak english so places like
 vdr-portal aren't much use a lot of the time. If you have english
 forums somewhere, that link would be far more useful I think.

No problem. Simply ignore first URL. All others are english :-)

I would recommend start from how-it-works-diagram:
http://code.google.com/p/vtuner/wiki/BigPicture

and then have a look  at wiki. where you can some
step-by-step info.

Anyway, don't hesitate to ask any question in our forum
or write me directly.

Honza
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/5] tm6000: bugfix interrupt reset

2011-12-04 Thread Thierry Reding
* linu...@stefanringel.de wrote:
 From: Stefan Ringel linu...@stefanringel.de
 
 Signed-off-by: Stefan Ringel linu...@stefanringel.de

Your commit message needs more details. Why do you think this is a bugfix?
Also this commit seems to effectively revert (and then partially reimplement)
a patch that I posted some months ago.

 ---
  drivers/media/video/tm6000/tm6000-core.c  |   49 
 -
  drivers/media/video/tm6000/tm6000-video.c |   21 ++--
  2 files changed, 17 insertions(+), 53 deletions(-)
 
 diff --git a/drivers/media/video/tm6000/tm6000-core.c 
 b/drivers/media/video/tm6000/tm6000-core.c
 index c007e6d..920299e 100644
 --- a/drivers/media/video/tm6000/tm6000-core.c
 +++ b/drivers/media/video/tm6000/tm6000-core.c
 @@ -599,55 +599,6 @@ int tm6000_init(struct tm6000_core *dev)
   return rc;
  }
  
 -int tm6000_reset(struct tm6000_core *dev)
 -{
 - int pipe;
 - int err;
 -
 - msleep(500);
 -
 - err = usb_set_interface(dev-udev, dev-isoc_in.bInterfaceNumber, 0);
 - if (err  0) {
 - tm6000_err(failed to select interface %d, alt. setting 0\n,
 - dev-isoc_in.bInterfaceNumber);
 - return err;
 - }
 -
 - err = usb_reset_configuration(dev-udev);
 - if (err  0) {
 - tm6000_err(failed to reset configuration\n);
 - return err;
 - }
 -
 - if ((dev-quirks  TM6000_QUIRK_NO_USB_DELAY) == 0)
 - msleep(5);
 -
 - /*
 -  * Not all devices have int_in defined
 -  */
 - if (!dev-int_in.endp)
 - return 0;
 -
 - err = usb_set_interface(dev-udev, dev-isoc_in.bInterfaceNumber, 2);
 - if (err  0) {
 - tm6000_err(failed to select interface %d, alt. setting 2\n,
 - dev-isoc_in.bInterfaceNumber);
 - return err;
 - }
 -
 - msleep(5);
 -
 - pipe = usb_rcvintpipe(dev-udev,
 - dev-int_in.endp-desc.bEndpointAddress  
 USB_ENDPOINT_NUMBER_MASK);
 -
 - err = usb_clear_halt(dev-udev, pipe);
 - if (err  0) {
 - tm6000_err(usb_clear_halt failed: %d\n, err);
 - return err;
 - }
 -
 - return 0;
 -}
  
  int tm6000_set_audio_bitrate(struct tm6000_core *dev, int bitrate)
  {
 diff --git a/drivers/media/video/tm6000/tm6000-video.c 
 b/drivers/media/video/tm6000/tm6000-video.c
 index 1e5ace0..4db3535 100644
 --- a/drivers/media/video/tm6000/tm6000-video.c
 +++ b/drivers/media/video/tm6000/tm6000-video.c
 @@ -1609,12 +1609,25 @@ static int tm6000_release(struct file *file)
  
   tm6000_uninit_isoc(dev);
  
 + /* Stop interrupt USB pipe */
 + tm6000_ir_int_stop(dev);
 +
 + usb_reset_configuration(dev-udev);
 +
 + if (dev-int_in)

This check is wrong, dev-int_in will always be true.

 + usb_set_interface(dev-udev,
 + dev-isoc_in.bInterfaceNumber,
 + 2);
 + else
 + usb_set_interface(dev-udev,
 + dev-isoc_in.bInterfaceNumber,
 + 0);

This would need better indentation.

 +
 + /* Start interrupt USB pipe */
 + tm6000_ir_int_start(dev);
 +

Why do you restart the IR interrupt pipe when the device is being released?

   if (!fh-radio)
   videobuf_mmap_free(fh-vb_vidq);
 -
 - err = tm6000_reset(dev);
 - if (err  0)
 - dev_err(vdev-dev, reset failed: %d\n, err);
   }
  
   kfree(fh);

I think this whole patch should be much shorter. Something along the lines
of:

@@ -1609,12 +1609,25 @@ static int tm6000_release(struct file *file)
 
tm6000_uninit_isoc(dev);
 
+   /* Stop interrupt USB pipe */
+   tm6000_ir_int_stop(dev);
+
if (!fh-radio)
videobuf_mmap_free(fh-vb_vidq);
 

Thierry


pgpMorYsK0ys3.pgp
Description: PGP signature