All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] IT9135 changes
@ 2014-08-09 20:26 Antti Palosaari
  2014-08-09 20:26 ` [PATCH 01/14] get_dvb_firmware: Update firmware of ITEtech IT9135 Antti Palosaari
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:26 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Some changes related to IT9135 chip versions. Mostly for better
sensitivity but also power management. I am considering to send
some of these to stable +3.15 too, but not sure yet...

These patches are available on Git tree also:
http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/log/?h=af9035

Antti

Antti Palosaari (10):
  af9033: feed clock to RF tuner
  af9033: provide dyn0_clk clock source
  af9035: enable AF9033 demod clock source for IT9135
  it913x: fix tuner sleep power leak
  it913x: avoid division by zero on error case
  it913x: fix IT9135 AX sleep
  af9035: remove AVerMedia eeprom override
  af9035: make checkpatch.pl happy
  af9033: make checkpatch.pl happy
  it913x: make checkpatch.pl happy

Bimow Chen (3):
  get_dvb_firmware: Update firmware of ITEtech IT9135
  af9033: update IT9135 tuner inittabs
  it913x: init tuner on attach

Malcolm Priestley (1):
  af9035: new IDs: add support for PCTV 78e and PCTV 79e

 Documentation/dvb/get_dvb_firmware        | 24 ++++++++++---------
 drivers/media/dvb-core/dvb-usb-ids.h      |  2 ++
 drivers/media/dvb-frontends/af9033.c      | 37 ++++++++++++++++++----------
 drivers/media/dvb-frontends/af9033.h      |  5 ++++
 drivers/media/dvb-frontends/af9033_priv.h | 20 +++++++---------
 drivers/media/tuners/tuner_it913x.c       | 20 ++++++++++++++--
 drivers/media/tuners/tuner_it913x_priv.h  | 12 +++++++++-
 drivers/media/usb/dvb-usb-v2/af9035.c     | 40 +++++++++++++------------------
 8 files changed, 100 insertions(+), 60 deletions(-)

-- 
http://palosaari.fi/


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

* [PATCH 01/14] get_dvb_firmware: Update firmware of ITEtech IT9135
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
@ 2014-08-09 20:26 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 02/14] af9033: update IT9135 tuner inittabs Antti Palosaari
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:26 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

From: Bimow Chen <Bimow.Chen@ite.com.tw>

IT9135 firmware update.

Signed-off-by: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 Documentation/dvb/get_dvb_firmware | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
index 26c623d..91b43d2 100755
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -708,23 +708,25 @@ sub drxk_terratec_htc_stick {
 }
 
 sub it9135 {
-	my $sourcefile = "dvb-usb-it9135.zip";
-	my $url = "http://www.ite.com.tw/uploads/firmware/v3.6.0.0/$sourcefile";
-	my $hash = "1e55f6c8833f1d0ae067c2bb2953e6a9";
-	my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0);
-	my $outfile = "dvb-usb-it9135.fw";
+	my $url = "http://www.ite.com.tw/uploads/firmware/v3.25.0.0/";
+	my $file1 = "dvb-usb-it9135-01.zip";
 	my $fwfile1 = "dvb-usb-it9135-01.fw";
+	my $hash1 = "02fcf11174eda84745dae7e61c5ff9ba";
+	my $file2 = "dvb-usb-it9135-02.zip";
 	my $fwfile2 = "dvb-usb-it9135-02.fw";
+	my $hash2 = "d5e1437dc24358578e07999475d4cac9";
 
 	checkstandard();
 
-	wgetfile($sourcefile, $url);
-	unzip($sourcefile, $tmpdir);
-	verify("$tmpdir/$outfile", $hash);
-	extract("$tmpdir/$outfile", 64, 8128, "$fwfile1");
-	extract("$tmpdir/$outfile", 12866, 5817, "$fwfile2");
+	wgetfile($file1, $url . $file1);
+	unzip($file1, "");
+	verify("$fwfile1", $hash1);
+
+	wgetfile($file2, $url . $file2);
+	unzip($file2, "");
+	verify("$fwfile2", $hash2);
 
-	"$fwfile1 $fwfile2"
+	"$file1 $file2"
 }
 
 sub tda10071 {
-- 
http://palosaari.fi/


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

* [PATCH 02/14] af9033: update IT9135 tuner inittabs
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
  2014-08-09 20:26 ` [PATCH 01/14] get_dvb_firmware: Update firmware of ITEtech IT9135 Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 03/14] it913x: init tuner on attach Antti Palosaari
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

From: Bimow Chen <Bimow.Chen@ite.com.tw>

Update IT9135 BX tuner config 60 and 61 inittabs.

[crope@iki.fi: removed two reg writes from driver init itself]
Signed-off-by: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb-frontends/af9033_priv.h | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/media/dvb-frontends/af9033_priv.h b/drivers/media/dvb-frontends/af9033_priv.h
index fc2ad58..ded7b67 100644
--- a/drivers/media/dvb-frontends/af9033_priv.h
+++ b/drivers/media/dvb-frontends/af9033_priv.h
@@ -1418,7 +1418,7 @@ static const struct reg_val tuner_init_it9135_60[] = {
 	{ 0x800068, 0x0a },
 	{ 0x80006a, 0x03 },
 	{ 0x800070, 0x0a },
-	{ 0x800071, 0x05 },
+	{ 0x800071, 0x0a },
 	{ 0x800072, 0x02 },
 	{ 0x800075, 0x8c },
 	{ 0x800076, 0x8c },
@@ -1484,7 +1484,6 @@ static const struct reg_val tuner_init_it9135_60[] = {
 	{ 0x800104, 0x02 },
 	{ 0x800105, 0xbe },
 	{ 0x800106, 0x00 },
-	{ 0x800109, 0x02 },
 	{ 0x800115, 0x0a },
 	{ 0x800116, 0x03 },
 	{ 0x80011a, 0xbe },
@@ -1510,7 +1509,6 @@ static const struct reg_val tuner_init_it9135_60[] = {
 	{ 0x80014b, 0x8c },
 	{ 0x80014d, 0xac },
 	{ 0x80014e, 0xc6 },
-	{ 0x80014f, 0x03 },
 	{ 0x800151, 0x1e },
 	{ 0x800153, 0xbc },
 	{ 0x800178, 0x09 },
@@ -1522,9 +1520,10 @@ static const struct reg_val tuner_init_it9135_60[] = {
 	{ 0x80018d, 0x5f },
 	{ 0x80018f, 0xa0 },
 	{ 0x800190, 0x5a },
-	{ 0x80ed02, 0xff },
-	{ 0x80ee42, 0xff },
-	{ 0x80ee82, 0xff },
+	{ 0x800191, 0x00 },
+	{ 0x80ed02, 0x40 },
+	{ 0x80ee42, 0x40 },
+	{ 0x80ee82, 0x40 },
 	{ 0x80f000, 0x0f },
 	{ 0x80f01f, 0x8c },
 	{ 0x80f020, 0x00 },
@@ -1699,7 +1698,6 @@ static const struct reg_val tuner_init_it9135_61[] = {
 	{ 0x800104, 0x02 },
 	{ 0x800105, 0xc8 },
 	{ 0x800106, 0x00 },
-	{ 0x800109, 0x02 },
 	{ 0x800115, 0x0a },
 	{ 0x800116, 0x03 },
 	{ 0x80011a, 0xc6 },
@@ -1725,7 +1723,6 @@ static const struct reg_val tuner_init_it9135_61[] = {
 	{ 0x80014b, 0x8c },
 	{ 0x80014d, 0xa8 },
 	{ 0x80014e, 0xc6 },
-	{ 0x80014f, 0x03 },
 	{ 0x800151, 0x28 },
 	{ 0x800153, 0xcc },
 	{ 0x800178, 0x09 },
@@ -1737,9 +1734,10 @@ static const struct reg_val tuner_init_it9135_61[] = {
 	{ 0x80018d, 0x5f },
 	{ 0x80018f, 0xfb },
 	{ 0x800190, 0x5c },
-	{ 0x80ed02, 0xff },
-	{ 0x80ee42, 0xff },
-	{ 0x80ee82, 0xff },
+	{ 0x800191, 0x00 },
+	{ 0x80ed02, 0x40 },
+	{ 0x80ee42, 0x40 },
+	{ 0x80ee82, 0x40 },
 	{ 0x80f000, 0x0f },
 	{ 0x80f01f, 0x8c },
 	{ 0x80f020, 0x00 },
-- 
http://palosaari.fi/


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

* [PATCH 03/14] it913x: init tuner on attach
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
  2014-08-09 20:26 ` [PATCH 01/14] get_dvb_firmware: Update firmware of ITEtech IT9135 Antti Palosaari
  2014-08-09 20:27 ` [PATCH 02/14] af9033: update IT9135 tuner inittabs Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 04/14] af9033: feed clock to RF tuner Antti Palosaari
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

From: Bimow Chen <Bimow.Chen@ite.com.tw>

That register is needed to program very first in order to operate
correctly.

[crope@iki.fi: returned sequence back, removed sleep, moved reg
write earlier to prevent populating tuner ops in case of failure]

Signed-off-by: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/tuners/tuner_it913x.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index 6f30d7e..3d83c42 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -396,6 +396,7 @@ struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
 		struct i2c_adapter *i2c_adap, u8 i2c_addr, u8 config)
 {
 	struct it913x_state *state = NULL;
+	int ret;
 
 	/* allocate memory for the internal state */
 	state = kzalloc(sizeof(struct it913x_state), GFP_KERNEL);
@@ -425,6 +426,11 @@ struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
 	state->tuner_type = config;
 	state->firmware_ver = 1;
 
+	/* tuner RF initial */
+	ret = it913x_wr_reg(state, PRO_DMOD, 0xec4c, 0x68);
+	if (ret < 0)
+		goto error;
+
 	fe->tuner_priv = state;
 	memcpy(&fe->ops.tuner_ops, &it913x_tuner_ops,
 			sizeof(struct dvb_tuner_ops));
-- 
http://palosaari.fi/


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

* [PATCH 04/14] af9033: feed clock to RF tuner
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (2 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 03/14] it913x: init tuner on attach Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 05/14] af9035: new IDs: add support for PCTV 78e and PCTV 79e Antti Palosaari
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

IT9135 RF tuner clock is coming from demodulator. We need enable it
early in demod init, before any tuner I/O. Currently it is enabled
by tuner driver itself, but it is too late and performance will be
reduced as some registers are not updated correctly. Clock is
disabled automatically when demod is put onto sleep.

Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb-frontends/af9033.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c
index be4bec2..5c90ea6 100644
--- a/drivers/media/dvb-frontends/af9033.c
+++ b/drivers/media/dvb-frontends/af9033.c
@@ -314,6 +314,19 @@ static int af9033_init(struct dvb_frontend *fe)
 			goto err;
 	}
 
+	/* feed clock to RF tuner */
+	switch (state->cfg.tuner) {
+	case AF9033_TUNER_IT9135_38:
+	case AF9033_TUNER_IT9135_51:
+	case AF9033_TUNER_IT9135_52:
+	case AF9033_TUNER_IT9135_60:
+	case AF9033_TUNER_IT9135_61:
+	case AF9033_TUNER_IT9135_62:
+		ret = af9033_wr_reg(state, 0x80fba8, 0x00);
+		if (ret < 0)
+			goto err;
+	}
+
 	/* settings for TS interface */
 	if (state->cfg.ts_mode == AF9033_TS_MODE_USB) {
 		ret = af9033_wr_reg_mask(state, 0x80f9a5, 0x00, 0x01);
-- 
http://palosaari.fi/


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

* [PATCH 05/14] af9035: new IDs: add support for PCTV 78e and PCTV 79e
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (3 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 04/14] af9033: feed clock to RF tuner Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 06/14] af9033: provide dyn0_clk clock source Antti Palosaari
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Malcolm Priestley, Antti Palosaari, stable

From: Malcolm Priestley <tvboxspy@gmail.com>

add the following IDs
USB_PID_PCTV_78E (0x025a) for PCTV 78e
USB_PID_PCTV_79E (0x0262) for PCTV 79e

For these it9135 devices.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Cc: Antti Palosaari <crope@iki.fi>
Cc: <stable@vger.kernel.org> # v3.14+
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb-core/dvb-usb-ids.h  | 2 ++
 drivers/media/usb/dvb-usb-v2/af9035.c | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
index 5135a09..12ce19c 100644
--- a/drivers/media/dvb-core/dvb-usb-ids.h
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
@@ -280,6 +280,8 @@
 #define USB_PID_PCTV_400E				0x020f
 #define USB_PID_PCTV_450E				0x0222
 #define USB_PID_PCTV_452E				0x021f
+#define USB_PID_PCTV_78E				0x025a
+#define USB_PID_PCTV_79E				0x0262
 #define USB_PID_REALTEK_RTL2831U			0x2831
 #define USB_PID_REALTEK_RTL2832U			0x2832
 #define USB_PID_TECHNOTREND_CONNECT_S2_3600		0x3007
diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index 75ec1c6..c82beac 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -1575,6 +1575,10 @@ static const struct usb_device_id af9035_id_table[] = {
 		&af9035_props, "Leadtek WinFast DTV Dongle Dual", NULL) },
 	{ DVB_USB_DEVICE(USB_VID_HAUPPAUGE, 0xf900,
 		&af9035_props, "Hauppauge WinTV-MiniStick 2", NULL) },
+	{ DVB_USB_DEVICE(USB_VID_PCTV, USB_PID_PCTV_78E,
+		&af9035_props, "PCTV 78e", RC_MAP_IT913X_V1) },
+	{ DVB_USB_DEVICE(USB_VID_PCTV, USB_PID_PCTV_79E,
+		&af9035_props, "PCTV 79e", RC_MAP_IT913X_V2) },
 	{ }
 };
 MODULE_DEVICE_TABLE(usb, af9035_id_table);
-- 
http://palosaari.fi/


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

* [PATCH 06/14] af9033: provide dyn0_clk clock source
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (4 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 05/14] af9035: new IDs: add support for PCTV 78e and PCTV 79e Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 07/14] af9035: enable AF9033 demod clock source for IT9135 Antti Palosaari
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

AF903x/IT913x demod provides clock source(s). It seems that this
clock source is used for integrated RF tuner of IT913x. It is
enabled by default, but firmware disables it automatically when
suspend is requested (suspend_flag (0x004c) + trigger_ofsm
(0x0000)). Automatic disable behavior seems to be similar for both
AF903x and IT913x I tested, though there is no likely any real
clock user in a case of AF903x.

Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb-frontends/af9033.c | 10 ++--------
 drivers/media/dvb-frontends/af9033.h |  5 +++++
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c
index 5c90ea6..2a4dfd2 100644
--- a/drivers/media/dvb-frontends/af9033.c
+++ b/drivers/media/dvb-frontends/af9033.c
@@ -314,14 +314,8 @@ static int af9033_init(struct dvb_frontend *fe)
 			goto err;
 	}
 
-	/* feed clock to RF tuner */
-	switch (state->cfg.tuner) {
-	case AF9033_TUNER_IT9135_38:
-	case AF9033_TUNER_IT9135_51:
-	case AF9033_TUNER_IT9135_52:
-	case AF9033_TUNER_IT9135_60:
-	case AF9033_TUNER_IT9135_61:
-	case AF9033_TUNER_IT9135_62:
+	/* clock output */
+	if (state->cfg.dyn0_clk) {
 		ret = af9033_wr_reg(state, 0x80fba8, 0x00);
 		if (ret < 0)
 			goto err;
diff --git a/drivers/media/dvb-frontends/af9033.h b/drivers/media/dvb-frontends/af9033.h
index 539f4db..b95a6d4 100644
--- a/drivers/media/dvb-frontends/af9033.h
+++ b/drivers/media/dvb-frontends/af9033.h
@@ -75,6 +75,11 @@ struct af9033_config {
 	 * input spectrum inversion
 	 */
 	bool spec_inv;
+
+	/*
+	 *
+	 */
+	bool dyn0_clk;
 };
 
 
-- 
http://palosaari.fi/


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

* [PATCH 07/14] af9035: enable AF9033 demod clock source for IT9135
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (5 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 06/14] af9033: provide dyn0_clk clock source Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 08/14] it913x: fix tuner sleep power leak Antti Palosaari
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Integrated RF tuner of IT9135 is connected to demod clock source
named dyn0_clk. Enable that clock source in order to provide stable
clock early enough.

Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/usb/dvb-usb-v2/af9035.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index c82beac..8ac0423 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -647,16 +647,19 @@ static int af9035_read_config(struct dvb_usb_device *d)
 	state->af9033_config[0].ts_mode = AF9033_TS_MODE_USB;
 	state->af9033_config[1].ts_mode = AF9033_TS_MODE_SERIAL;
 
-	/* eeprom memory mapped location */
 	if (state->chip_type == 0x9135) {
+		/* feed clock for integrated RF tuner */
+		state->af9033_config[0].dyn0_clk = true;
+		state->af9033_config[1].dyn0_clk = true;
+
 		if (state->chip_version == 0x02) {
 			state->af9033_config[0].tuner = AF9033_TUNER_IT9135_60;
 			state->af9033_config[1].tuner = AF9033_TUNER_IT9135_60;
-			tmp16 = 0x00461d;
+			tmp16 = 0x00461d; /* eeprom memory mapped location */
 		} else {
 			state->af9033_config[0].tuner = AF9033_TUNER_IT9135_38;
 			state->af9033_config[1].tuner = AF9033_TUNER_IT9135_38;
-			tmp16 = 0x00461b;
+			tmp16 = 0x00461b; /* eeprom memory mapped location */
 		}
 
 		/* check if eeprom exists */
-- 
http://palosaari.fi/


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

* [PATCH 08/14] it913x: fix tuner sleep power leak
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (6 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 07/14] af9035: enable AF9033 demod clock source for IT9135 Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 09/14] it913x: avoid division by zero on error case Antti Palosaari
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

IT913x tuner driver disables own clock, provided by demod core, as
very a first operation when tuner is put on *sleep*. That likely
causes failure of all the rest commands on sleep sequence, which
leads situation where tuner is not actually on sleep, but consuming
a lot of power.

I measured 102mA current consumption from the USB before change
and after change it was only 32mA. Used device was single tuner
IT9135 BX.

Second reason to remove that register from tuner driver is reason
it is simply on wrong driver (demod vs. tuner), breaking the
principle of correct driver.

Clock is now provided more correctly af9033 demod driver as a
config option.

Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/tuners/tuner_it913x.c      | 1 -
 drivers/media/tuners/tuner_it913x_priv.h | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index 3d83c42..3265d9a 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -202,7 +202,6 @@ static int it913x_init(struct dvb_frontend *fe)
 
 	/* Power Up Tuner - common all versions */
 	ret = it913x_wr_reg(state, PRO_DMOD, 0xec40, 0x1);
-	ret |= it913x_wr_reg(state, PRO_DMOD, 0xfba8, 0x0);
 	ret |= it913x_wr_reg(state, PRO_DMOD, 0xec57, 0x0);
 	ret |= it913x_wr_reg(state, PRO_DMOD, 0xec58, 0x0);
 
diff --git a/drivers/media/tuners/tuner_it913x_priv.h b/drivers/media/tuners/tuner_it913x_priv.h
index ce65210..8e85a61 100644
--- a/drivers/media/tuners/tuner_it913x_priv.h
+++ b/drivers/media/tuners/tuner_it913x_priv.h
@@ -38,7 +38,6 @@ struct it913xset {	u32 pro;
 
 /* Tuner setting scripts (still keeping it9137) */
 static struct it913xset it9137_tuner_off[] = {
-	{PRO_DMOD, 0xfba8, {0x01}, 0x01}, /* Tuner Clock Off  */
 	{PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */
 	{PRO_DMOD, 0xec02, {0x3f, 0x1f, 0x3f, 0x3f}, 0x04},
 	{PRO_DMOD, 0xec06, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 
http://palosaari.fi/


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

* [PATCH 09/14] it913x: avoid division by zero on error case
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (7 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 08/14] it913x: fix tuner sleep power leak Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 10/14] it913x: fix IT9135 AX sleep Antti Palosaari
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Error on init leaves some internal divisor zero, which causes oops
later. Fix it by populating divisors even it fails.

Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/tuners/tuner_it913x.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index 3265d9a..cd20c5b 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -154,6 +154,9 @@ static int it913x_init(struct dvb_frontend *fe)
 		val = 16;
 		break;
 	case -ENODEV:
+		/* FIXME: these are just avoid divide by 0 */
+		state->tun_xtal = 2000;
+		state->tun_fdiv = 3;
 		return -ENODEV;
 	case 1:
 	default:
-- 
http://palosaari.fi/


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

* [PATCH 10/14] it913x: fix IT9135 AX sleep
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (8 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 09/14] it913x: avoid division by zero on error case Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 11/14] af9035: remove AVerMedia eeprom override Antti Palosaari
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Old IT9135 AX needs a little bit different register settings for
sleep than newer IT9135 BX. This has been broken always, as power
management of the whole driver, but it started to be problem as I
fixed clock. Earlier clock was disabled very first on sleep and
rest of the commands were skipped by the chip as no clock, leaving
tuner full power state. When I fixed clocks these PM bugs started
raising out as I/O errors.

Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/tuners/tuner_it913x.c      |  6 +++++-
 drivers/media/tuners/tuner_it913x_priv.h | 11 +++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index cd20c5b..281d8c5 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -371,7 +371,11 @@ static int it9137_set_params(struct dvb_frontend *fe)
 static int it913x_sleep(struct dvb_frontend *fe)
 {
 	struct it913x_state *state = fe->tuner_priv;
-	return it913x_script_loader(state, it9137_tuner_off);
+
+	if (state->chip_ver == 0x01)
+		return it913x_script_loader(state, it9135ax_tuner_off);
+	else
+		return it913x_script_loader(state, it9137_tuner_off);
 }
 
 static int it913x_release(struct dvb_frontend *fe)
diff --git a/drivers/media/tuners/tuner_it913x_priv.h b/drivers/media/tuners/tuner_it913x_priv.h
index 8e85a61..cc6f4b1 100644
--- a/drivers/media/tuners/tuner_it913x_priv.h
+++ b/drivers/media/tuners/tuner_it913x_priv.h
@@ -36,6 +36,17 @@ struct it913xset {	u32 pro;
 			u8 count;
 };
 
+/* Tuner setting scripts for IT9135 AX */
+static struct it913xset it9135ax_tuner_off[] = {
+	{PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */
+	{PRO_DMOD, 0xec02, {0x3f}, 0x01},
+	{PRO_DMOD, 0xec03, {0x1f}, 0x01},
+	{PRO_DMOD, 0xec04, {0x3f}, 0x01},
+	{PRO_DMOD, 0xec05, {0x3f}, 0x01},
+	{PRO_DMOD, 0xec3f, {0x01}, 0x01},
+	{0xff, 0x0000, {0x00}, 0x00}, /* Terminating Entry */
+};
+
 /* Tuner setting scripts (still keeping it9137) */
 static struct it913xset it9137_tuner_off[] = {
 	{PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */
-- 
http://palosaari.fi/


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

* [PATCH 11/14] af9035: remove AVerMedia eeprom override
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (9 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 10/14] it913x: fix IT9135 AX sleep Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 12/14] af9035: make checkpatch.pl happy Antti Palosaari
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Reverts commit 3ab25123373270152a9fae98e3c48ef1b2a878c0
[media] af9035: override tuner for AVerMedia A835B devices

Original commit itself is correct, but it was replaced by more
general solution (commit 1cbbf90d0406913ad4b44194b07f4f41bde84e54).
This old solution was committed by a accident and is not needed
anymore.

Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/usb/dvb-usb-v2/af9035.c | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index 8ac0423..85f2c4b 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -802,25 +802,6 @@ static int af9035_read_config(struct dvb_usb_device *d)
 		addr += 0x10; /* shift for the 2nd tuner params */
 	}
 
-	/*
-	 * These AVerMedia devices has a bad EEPROM content :-(
-	 * Override some wrong values here.
-	 */
-	if (le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_AVERMEDIA) {
-		switch (le16_to_cpu(d->udev->descriptor.idProduct)) {
-		case USB_PID_AVERMEDIA_A835B_1835:
-		case USB_PID_AVERMEDIA_A835B_2835:
-		case USB_PID_AVERMEDIA_A835B_3835:
-			dev_info(&d->udev->dev,
-				 "%s: overriding tuner from %02x to %02x\n",
-				 KBUILD_MODNAME, state->af9033_config[0].tuner,
-				 AF9033_TUNER_IT9135_60);
-
-			state->af9033_config[0].tuner = AF9033_TUNER_IT9135_60;
-			break;
-		}
-	}
-
 skip_eeprom:
 	/* get demod clock */
 	ret = af9035_rd_reg(d, 0x00d800, &tmp);
-- 
http://palosaari.fi/


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

* [PATCH 12/14] af9035: make checkpatch.pl happy
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (10 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 11/14] af9035: remove AVerMedia eeprom override Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 13/14] af9033: " Antti Palosaari
  2014-08-09 20:27 ` [PATCH 14/14] it913x: " Antti Palosaari
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Correct issues reported by checkpatch.pl.

Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/usb/dvb-usb-v2/af9035.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index 85f2c4b..f37cf7d 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -536,6 +536,7 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
 	u8 tmp;
 	struct usb_req req = { 0, 0, 0, NULL, 0, NULL };
 	struct usb_req req_fw_ver = { CMD_FW_QUERYINFO, 0, 1, wbuf, 4, rbuf };
+
 	dev_dbg(&d->udev->dev, "%s:\n", __func__);
 
 	/*
@@ -974,6 +975,7 @@ static int af9035_frontend_callback(void *adapter_priv, int component,
 static int af9035_get_adapter_count(struct dvb_usb_device *d)
 {
 	struct state *state = d_to_priv(d);
+
 	return state->dual_mode + 1;
 }
 
@@ -982,6 +984,7 @@ static int af9035_frontend_attach(struct dvb_usb_adapter *adap)
 	struct state *state = adap_to_priv(adap);
 	struct dvb_usb_device *d = adap_to_d(adap);
 	int ret;
+
 	dev_dbg(&d->udev->dev, "%s:\n", __func__);
 
 	if (!state->af9033_config[adap->id].tuner) {
@@ -1068,6 +1071,7 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
 	struct dvb_frontend *fe;
 	struct i2c_msg msg[1];
 	u8 tuner_addr;
+
 	dev_dbg(&d->udev->dev, "%s:\n", __func__);
 
 	/*
@@ -1393,6 +1397,7 @@ static int af9035_get_stream_config(struct dvb_frontend *fe, u8 *ts_type,
 		struct usb_data_stream_properties *stream)
 {
 	struct dvb_usb_device *d = fe_to_d(fe);
+
 	dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, fe_to_adap(fe)->id);
 
 	if (d->udev->speed == USB_SPEED_FULL)
@@ -1554,7 +1559,8 @@ static const struct usb_device_id af9035_id_table[] = {
 							RC_MAP_IT913X_V1) },
 	/* XXX: that same ID [0ccd:0099] is used by af9015 driver too */
 	{ DVB_USB_DEVICE(USB_VID_TERRATEC, 0x0099,
-		&af9035_props, "TerraTec Cinergy T Stick Dual RC (rev. 2)", NULL) },
+		&af9035_props, "TerraTec Cinergy T Stick Dual RC (rev. 2)",
+		NULL) },
 	{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a05,
 		&af9035_props, "Leadtek WinFast DTV Dongle Dual", NULL) },
 	{ DVB_USB_DEVICE(USB_VID_HAUPPAUGE, 0xf900,
-- 
http://palosaari.fi/


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

* [PATCH 13/14] af9033: make checkpatch.pl happy
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (11 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 12/14] af9035: make checkpatch.pl happy Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  2014-08-09 20:27 ` [PATCH 14/14] it913x: " Antti Palosaari
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Correct issues reported by checkpatch.pl.

Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/dvb-frontends/af9033.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c
index 2a4dfd2..7f22f01 100644
--- a/drivers/media/dvb-frontends/af9033.c
+++ b/drivers/media/dvb-frontends/af9033.c
@@ -69,8 +69,9 @@ static int af9033_wr_regs(struct af9033_state *state, u32 reg, const u8 *val,
 	if (ret == 1) {
 		ret = 0;
 	} else {
-		dev_warn(&state->i2c->dev, "%s: i2c wr failed=%d reg=%06x " \
-				"len=%d\n", KBUILD_MODNAME, ret, reg, len);
+		dev_warn(&state->i2c->dev,
+				"%s: i2c wr failed=%d reg=%06x len=%d\n",
+				KBUILD_MODNAME, ret, reg, len);
 		ret = -EREMOTEIO;
 	}
 
@@ -101,8 +102,9 @@ static int af9033_rd_regs(struct af9033_state *state, u32 reg, u8 *val, int len)
 	if (ret == 2) {
 		ret = 0;
 	} else {
-		dev_warn(&state->i2c->dev, "%s: i2c rd failed=%d reg=%06x " \
-				"len=%d\n", KBUILD_MODNAME, ret, reg, len);
+		dev_warn(&state->i2c->dev,
+				"%s: i2c rd failed=%d reg=%06x len=%d\n",
+				KBUILD_MODNAME, ret, reg, len);
 		ret = -EREMOTEIO;
 	}
 
@@ -835,7 +837,7 @@ static int af9033_read_snr(struct dvb_frontend *fe, u16 *snr)
 	int ret, i, len;
 	u8 buf[3], tmp;
 	u32 snr_val;
-	const struct val_snr *uninitialized_var(snr_lut);
+	const struct val_snr *snr_lut;
 
 	/* read value */
 	ret = af9033_rd_regs(state, 0x80002c, buf, 3);
@@ -928,7 +930,9 @@ static int af9033_update_ch_stat(struct af9033_state *state)
 			abort_cnt = 1000;
 			state->ber = 0xffffffff;
 		} else {
-			/* 8 byte packets, that have not been rejected already */
+			/*
+			 * 8 byte packets, that have not been rejected already
+			 */
 			bit_cnt -= (u32)abort_cnt;
 			if (bit_cnt == 0) {
 				state->ber = 0xffffffff;
@@ -1015,7 +1019,8 @@ err:
 	return ret;
 }
 
-static int af9033_pid_filter(struct dvb_frontend *fe, int index, u16 pid, int onoff)
+static int af9033_pid_filter(struct dvb_frontend *fe, int index, u16 pid,
+		int onoff)
 {
 	struct af9033_state *state = fe->demodulator_priv;
 	int ret;
@@ -1069,8 +1074,8 @@ struct dvb_frontend *af9033_attach(const struct af9033_config *config,
 	memcpy(&state->cfg, config, sizeof(struct af9033_config));
 
 	if (state->cfg.clock != 12000000) {
-		dev_err(&state->i2c->dev, "%s: af9033: unsupported clock=%d, " \
-				"only 12000000 Hz is supported currently\n",
+		dev_err(&state->i2c->dev,
+				"%s: af9033: unsupported clock=%d, only 12000000 Hz is supported currently\n",
 				KBUILD_MODNAME, state->cfg.clock);
 		goto err;
 	}
@@ -1084,9 +1089,10 @@ struct dvb_frontend *af9033_attach(const struct af9033_config *config,
 	if (ret < 0)
 		goto err;
 
-	dev_info(&state->i2c->dev, "%s: firmware version: LINK=%d.%d.%d.%d " \
-			"OFDM=%d.%d.%d.%d\n", KBUILD_MODNAME, buf[0], buf[1],
-			buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]);
+	dev_info(&state->i2c->dev,
+			"%s: firmware version: LINK=%d.%d.%d.%d OFDM=%d.%d.%d.%d\n",
+			KBUILD_MODNAME, buf[0], buf[1], buf[2], buf[3], buf[4],
+			buf[5], buf[6], buf[7]);
 
 	/* sleep */
 	switch (state->cfg.tuner) {
-- 
http://palosaari.fi/


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

* [PATCH 14/14] it913x: make checkpatch.pl happy
  2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
                   ` (12 preceding siblings ...)
  2014-08-09 20:27 ` [PATCH 13/14] af9033: " Antti Palosaari
@ 2014-08-09 20:27 ` Antti Palosaari
  13 siblings, 0 replies; 15+ messages in thread
From: Antti Palosaari @ 2014-08-09 20:27 UTC (permalink / raw)
  To: linux-media; +Cc: Bimow Chen, Antti Palosaari

Correct issues reported by checkpatch.pl

Signed-off-by: Antti Palosaari <crope@iki.fi>
---
 drivers/media/tuners/tuner_it913x.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index 281d8c5..b92d599 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -46,6 +46,7 @@ static int it913x_rd_regs(struct it913x_state *state,
 		{ .addr = state->i2c_addr, .flags = I2C_M_RD,
 			.buf = data, .len = count }
 	};
+
 	b[0] = (u8)(reg >> 16) & 0xff;
 	b[1] = (u8)(reg >> 8) & 0xff;
 	b[2] = (u8) reg & 0xff;
@@ -61,6 +62,7 @@ static int it913x_rd_reg(struct it913x_state *state, u32 reg)
 {
 	int ret;
 	u8 b[1];
+
 	ret = it913x_rd_regs(state, reg, &b[0], sizeof(b));
 	return (ret < 0) ? -ENODEV : b[0];
 }
@@ -75,6 +77,7 @@ static int it913x_wr_regs(struct it913x_state *state,
 		  .buf = b, .len = 3 + count }
 	};
 	int ret;
+
 	b[0] = (u8)(reg >> 16) & 0xff;
 	b[1] = (u8)(reg >> 8) & 0xff;
 	b[2] = (u8) reg & 0xff;
@@ -122,6 +125,7 @@ static int it913x_script_loader(struct it913x_state *state,
 		struct it913xset *loadscript)
 {
 	int ret, i;
+
 	if (loadscript == NULL)
 		return -EINVAL;
 
-- 
http://palosaari.fi/


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

end of thread, other threads:[~2014-08-09 20:27 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-09 20:26 [PATCH 00/14] IT9135 changes Antti Palosaari
2014-08-09 20:26 ` [PATCH 01/14] get_dvb_firmware: Update firmware of ITEtech IT9135 Antti Palosaari
2014-08-09 20:27 ` [PATCH 02/14] af9033: update IT9135 tuner inittabs Antti Palosaari
2014-08-09 20:27 ` [PATCH 03/14] it913x: init tuner on attach Antti Palosaari
2014-08-09 20:27 ` [PATCH 04/14] af9033: feed clock to RF tuner Antti Palosaari
2014-08-09 20:27 ` [PATCH 05/14] af9035: new IDs: add support for PCTV 78e and PCTV 79e Antti Palosaari
2014-08-09 20:27 ` [PATCH 06/14] af9033: provide dyn0_clk clock source Antti Palosaari
2014-08-09 20:27 ` [PATCH 07/14] af9035: enable AF9033 demod clock source for IT9135 Antti Palosaari
2014-08-09 20:27 ` [PATCH 08/14] it913x: fix tuner sleep power leak Antti Palosaari
2014-08-09 20:27 ` [PATCH 09/14] it913x: avoid division by zero on error case Antti Palosaari
2014-08-09 20:27 ` [PATCH 10/14] it913x: fix IT9135 AX sleep Antti Palosaari
2014-08-09 20:27 ` [PATCH 11/14] af9035: remove AVerMedia eeprom override Antti Palosaari
2014-08-09 20:27 ` [PATCH 12/14] af9035: make checkpatch.pl happy Antti Palosaari
2014-08-09 20:27 ` [PATCH 13/14] af9033: " Antti Palosaari
2014-08-09 20:27 ` [PATCH 14/14] it913x: " Antti Palosaari

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.