All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK
@ 2012-09-09 18:02 Frank Schäfer
  2012-09-09 18:02 ` [PATCH 2/6] gspca_pac7302: make red balance and blue balance controls work again Frank Schäfer
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Cc: stable@kernel.org
---
 drivers/media/usb/gspca/pac7302.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index 4877f7a..e906f56 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -905,6 +905,7 @@ static const struct usb_device_id device_table[] = {
 	{USB_DEVICE(0x093a, 0x262a)},
 	{USB_DEVICE(0x093a, 0x262c)},
 	{USB_DEVICE(0x145f, 0x013c)},
+	{USB_DEVICE(0x1ae7, 0x2001)}, /* SpeedLink Snappy Mic SL-6825-SBK */
 	{}
 };
 MODULE_DEVICE_TABLE(usb, device_table);
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/6] gspca_pac7302: make red balance and blue balance controls work again
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
@ 2012-09-09 18:02 ` Frank Schäfer
  2012-09-09 18:02 ` [PATCH 3/6] gspca_pac7302: add sharpness control Frank Schäfer
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

Fix a regression from kernel 3.4 which has been introduced with the conversion of the gspca driver to the v4l2 control framework.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Cc: stable@kernel.org
---
 drivers/media/usb/gspca/pac7302.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index e906f56..eb3c90e4 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -616,7 +616,7 @@ static int sd_init_controls(struct gspca_dev *gspca_dev)
 	sd->red_balance = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 					V4L2_CID_RED_BALANCE, 0, 3, 1, 1);
 	sd->blue_balance = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
-					V4L2_CID_RED_BALANCE, 0, 3, 1, 1);
+					V4L2_CID_BLUE_BALANCE, 0, 3, 1, 1);
 
 	gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 					V4L2_CID_AUTOGAIN, 0, 1, 1, 1);
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/6] gspca_pac7302: add sharpness control
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
  2012-09-09 18:02 ` [PATCH 2/6] gspca_pac7302: make red balance and blue balance controls work again Frank Schäfer
@ 2012-09-09 18:02 ` Frank Schäfer
  2012-09-09 18:02 ` [PATCH 4/6] gspca_pac7302: increase default value for white balance temperature Frank Schäfer
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

The Windows driver uses page 0 register 0xb6 for sharpness adjustment.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
---
 drivers/media/usb/gspca/pac7302.c |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index eb3c90e4..8c29613 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -26,6 +26,11 @@
 /*
  * Some documentation about various registers as determined by trial and error.
  *
+ * Register page 0:
+ *
+ * Address	Description
+ * 0xb6		Sharpness control (bits 0-4)
+ *
  * Register page 1:
  *
  * Address	Description
@@ -66,6 +71,7 @@
  * -----+------------+---------------------------------------------------
  *  0   | 0x0f..0x20 | setcolors()
  *  0   | 0xa2..0xab | setbrightcont()
+ *  0   | 0xb6       | setsharpness()
  *  0   | 0xc5       | setredbalance()
  *  0   | 0xc6       | setwhitebalance()
  *  0   | 0xc7       | setbluebalance()
@@ -109,6 +115,7 @@ struct sd {
 		struct v4l2_ctrl *hflip;
 		struct v4l2_ctrl *vflip;
 	};
+	struct v4l2_ctrl *sharpness;
 	u8 flags;
 #define FL_HFLIP 0x01		/* mirrored by default */
 #define FL_VFLIP 0x02		/* vertical flipped by default */
@@ -531,6 +538,16 @@ static void sethvflip(struct gspca_dev *gspca_dev)
 	reg_w(gspca_dev, 0x11, 0x01);
 }
 
+static void setsharpness(struct gspca_dev *gspca_dev)
+{
+	struct sd *sd = (struct sd *) gspca_dev;
+
+	reg_w(gspca_dev, 0xff, 0x00);		/* page 0 */
+	reg_w(gspca_dev, 0xb6, sd->sharpness->val);
+
+	reg_w(gspca_dev, 0xdc, 0x01);
+}
+
 /* this function is called at probe and resume time for pac7302 */
 static int sd_init(struct gspca_dev *gspca_dev)
 {
@@ -584,6 +601,9 @@ static int sd_s_ctrl(struct v4l2_ctrl *ctrl)
 	case V4L2_CID_HFLIP:
 		sethvflip(gspca_dev);
 		break;
+	case V4L2_CID_SHARPNESS:
+		setsharpness(gspca_dev);
+		break;
 	default:
 		return -EINVAL;
 	}
@@ -601,7 +621,7 @@ static int sd_init_controls(struct gspca_dev *gspca_dev)
 	struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
 
 	gspca_dev->vdev.ctrl_handler = hdl;
-	v4l2_ctrl_handler_init(hdl, 11);
+	v4l2_ctrl_handler_init(hdl, 12);
 
 	sd->brightness = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 					V4L2_CID_BRIGHTNESS, 0, 32, 1, 16);
@@ -632,6 +652,9 @@ static int sd_init_controls(struct gspca_dev *gspca_dev)
 	sd->vflip = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 		V4L2_CID_VFLIP, 0, 1, 1, 0);
 
+	sd->sharpness = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
+					V4L2_CID_SHARPNESS, 0, 15, 1, 8);
+
 	if (hdl->error) {
 		pr_err("Could not initialize controls\n");
 		return hdl->error;
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/6] gspca_pac7302: increase default value for white balance temperature
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
  2012-09-09 18:02 ` [PATCH 2/6] gspca_pac7302: make red balance and blue balance controls work again Frank Schäfer
  2012-09-09 18:02 ` [PATCH 3/6] gspca_pac7302: add sharpness control Frank Schäfer
@ 2012-09-09 18:02 ` Frank Schäfer
  2012-09-09 18:02 ` [PATCH 5/6] gspca_pac7302: avoid duplicate calls of the image quality adjustment functions on capturing start Frank Schäfer
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

The current white balance temperature default value is 4, which is much too small (possible values are 0-255).
Improve the picture quality by increasing the default value to 55, which is the default value used by the Windows driver.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
---
 drivers/media/usb/gspca/pac7302.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index 8c29613..bed34df 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -632,7 +632,7 @@ static int sd_init_controls(struct gspca_dev *gspca_dev)
 					V4L2_CID_SATURATION, 0, 255, 1, 127);
 	sd->white_balance = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 					V4L2_CID_WHITE_BALANCE_TEMPERATURE,
-					0, 255, 1, 4);
+					0, 255, 1, 55);
 	sd->red_balance = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
 					V4L2_CID_RED_BALANCE, 0, 3, 1, 1);
 	sd->blue_balance = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/6] gspca_pac7302: avoid duplicate calls of the image quality adjustment functions on capturing start
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
                   ` (2 preceding siblings ...)
  2012-09-09 18:02 ` [PATCH 4/6] gspca_pac7302: increase default value for white balance temperature Frank Schäfer
@ 2012-09-09 18:02 ` Frank Schäfer
  2012-09-09 18:02 ` [PATCH 6/6] gspca_pac7302: extend register documentation Frank Schäfer
  2012-09-09 21:56 ` [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Hans de Goede
  5 siblings, 0 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

There is no need to call the image quality adjustment functions in sd_start.
The gspca main driver calls v4l2_ctrl_handler_setup in gspca_init_transfer,
which already applies all image control values.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
---
 drivers/media/usb/gspca/pac7302.c |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index bed34df..71fa5a4 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -673,14 +673,6 @@ static int sd_start(struct gspca_dev *gspca_dev)
 
 	reg_w_var(gspca_dev, start_7302,
 		page3_7302, sizeof(page3_7302));
-	setbrightcont(gspca_dev);
-	setcolors(gspca_dev);
-	setwhitebalance(gspca_dev);
-	setredbalance(gspca_dev);
-	setbluebalance(gspca_dev);
-	setexposure(gspca_dev);
-	setgain(gspca_dev);
-	sethvflip(gspca_dev);
 
 	sd->sof_read = 0;
 	sd->autogain_ignore_frames = 0;
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 6/6] gspca_pac7302: extend register documentation
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
                   ` (3 preceding siblings ...)
  2012-09-09 18:02 ` [PATCH 5/6] gspca_pac7302: avoid duplicate calls of the image quality adjustment functions on capturing start Frank Schäfer
@ 2012-09-09 18:02 ` Frank Schäfer
  2012-09-09 21:56 ` [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Hans de Goede
  5 siblings, 0 replies; 7+ messages in thread
From: Frank Schäfer @ 2012-09-09 18:02 UTC (permalink / raw)
  To: hdegoede; +Cc: linux-media, Frank Schäfer

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
---
 drivers/media/usb/gspca/pac7302.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
index 71fa5a4..2d5c6d83 100644
--- a/drivers/media/usb/gspca/pac7302.c
+++ b/drivers/media/usb/gspca/pac7302.c
@@ -29,6 +29,15 @@
  * Register page 0:
  *
  * Address	Description
+ * 0x02		Red balance control
+ * 0x03		Green balance control
+ * 0x04 	Blue balance control
+ *		     Valus are inverted (0=max, 255=min).
+ *		     The Windows driver uses a quadratic approach to map
+ *		     the settable values (0-200) on register values:
+ *		     min=0x80, default=0x40, max=0x20
+ * 0x0f-0x20	Colors, saturation and exposure control
+ * 0xa2-0xab	Brightness, contrast and gamma control
  * 0xb6		Sharpness control (bits 0-4)
  *
  * Register page 1:
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK
  2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
                   ` (4 preceding siblings ...)
  2012-09-09 18:02 ` [PATCH 6/6] gspca_pac7302: extend register documentation Frank Schäfer
@ 2012-09-09 21:56 ` Hans de Goede
  5 siblings, 0 replies; 7+ messages in thread
From: Hans de Goede @ 2012-09-09 21:56 UTC (permalink / raw)
  To: Frank Schäfer; +Cc: linux-media

Hi,

Entire series applied and included in my pull-req for 3.7 which I just send out.

Thanks,

Hans


On 09/09/2012 08:02 PM, Frank Schäfer wrote:
> Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
> Cc: stable@kernel.org
> ---
>   drivers/media/usb/gspca/pac7302.c |    1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/media/usb/gspca/pac7302.c b/drivers/media/usb/gspca/pac7302.c
> index 4877f7a..e906f56 100644
> --- a/drivers/media/usb/gspca/pac7302.c
> +++ b/drivers/media/usb/gspca/pac7302.c
> @@ -905,6 +905,7 @@ static const struct usb_device_id device_table[] = {
>   	{USB_DEVICE(0x093a, 0x262a)},
>   	{USB_DEVICE(0x093a, 0x262c)},
>   	{USB_DEVICE(0x145f, 0x013c)},
> +	{USB_DEVICE(0x1ae7, 0x2001)}, /* SpeedLink Snappy Mic SL-6825-SBK */
>   	{}
>   };
>   MODULE_DEVICE_TABLE(usb, device_table);
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-09-09 21:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-09 18:02 [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Frank Schäfer
2012-09-09 18:02 ` [PATCH 2/6] gspca_pac7302: make red balance and blue balance controls work again Frank Schäfer
2012-09-09 18:02 ` [PATCH 3/6] gspca_pac7302: add sharpness control Frank Schäfer
2012-09-09 18:02 ` [PATCH 4/6] gspca_pac7302: increase default value for white balance temperature Frank Schäfer
2012-09-09 18:02 ` [PATCH 5/6] gspca_pac7302: avoid duplicate calls of the image quality adjustment functions on capturing start Frank Schäfer
2012-09-09 18:02 ` [PATCH 6/6] gspca_pac7302: extend register documentation Frank Schäfer
2012-09-09 21:56 ` [PATCH 1/6] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.