All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: linux-media@vger.kernel.org
Cc: Antti Palosaari <crope@iki.fi>
Subject: [REVIEW PATCH 14/41] it913x: merge it913x_fe_start() to it913x_init_tuner()
Date: Sun, 10 Mar 2013 04:03:06 +0200	[thread overview]
Message-ID: <1362881013-5271-14-git-send-email-crope@iki.fi> (raw)
In-Reply-To: <1362881013-5271-1-git-send-email-crope@iki.fi>

Merge those functions to one and disable sleep.

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

diff --git a/drivers/media/tuners/it913x.c b/drivers/media/tuners/it913x.c
index 6ee4f97..f1938a1 100644
--- a/drivers/media/tuners/it913x.c
+++ b/drivers/media/tuners/it913x.c
@@ -43,7 +43,6 @@ struct it913x_fe_state {
 	u32 ucblocks;
 };
 
-
 static int it913x_read_reg(struct it913x_fe_state *state,
 		u32 reg, u8 *data, u8 count)
 {
@@ -147,10 +146,54 @@ static int it913x_init_tuner(struct dvb_frontend *fe)
 {
 	struct it913x_fe_state *state = fe->tuner_priv;
 	int ret, i, reg;
+	struct it913xset *set_lna;
 	u8 val, nv_val;
 	u8 nv[] = {48, 32, 24, 16, 12, 8, 6, 4, 2};
 	u8 b[2];
 
+	/* v1 or v2 tuner script */
+	if (state->config->chip_ver > 1)
+		ret = it913x_fe_script_loader(state, it9135_v2);
+	else
+		ret = it913x_fe_script_loader(state, it9135_v1);
+	if (ret < 0)
+		return ret;
+
+	/* LNA Scripts */
+	switch (state->tuner_type) {
+	case IT9135_51:
+		set_lna = it9135_51;
+		break;
+	case IT9135_52:
+		set_lna = it9135_52;
+		break;
+	case IT9135_60:
+		set_lna = it9135_60;
+		break;
+	case IT9135_61:
+		set_lna = it9135_61;
+		break;
+	case IT9135_62:
+		set_lna = it9135_62;
+		break;
+	case IT9135_38:
+	default:
+		set_lna = it9135_38;
+	}
+	pr_info("Tuner LNA type :%02x\n", state->tuner_type);
+
+	ret = it913x_fe_script_loader(state, set_lna);
+	if (ret < 0)
+		return ret;
+
+	if (state->config->chip_ver == 2) {
+		ret = it913x_write_reg(state, PRO_DMOD, TRIGGER_OFSM, 0x1);
+		ret |= it913x_write_reg(state, PRO_LINK, PADODPU, 0x0);
+		ret |= it913x_write_reg(state, PRO_LINK, AGC_O_D, 0x0);
+	}
+	if (ret < 0)
+		return -ENODEV;
+
 	reg = it913x_read_reg_u8(state, 0xec86);
 	switch (reg) {
 	case 0:
@@ -361,6 +404,7 @@ static int it9137_set_tuner(struct dvb_frontend *fe)
 static int it913x_fe_suspend(struct it913x_fe_state *state)
 {
 	int ret = 0;
+	return 0;
 #if 0
 	int ret, i;
 	u8 b;
@@ -397,121 +441,6 @@ static int it913x_fe_sleep(struct dvb_frontend *fe)
 	return it913x_fe_suspend(state);
 }
 
-static int it913x_fe_start(struct dvb_frontend *fe)
-{
-	struct it913x_fe_state *state = fe->tuner_priv;
-	struct it913xset *set_lna;
-//	struct it913xset *set_mode;
-	int ret;
-//	u8 adf = (state->config->adf & 0xf);
-//	u32 adc, xtal;
-//	u8 b[4];
-
-	if (state->config->chip_ver == 1)
-		ret = it913x_init_tuner(fe);
-
-#if 0
-	pr_info("ADF table value	:%02x\n", adf);
-
-	if (adf < 10) {
-		state->crystalFrequency = fe_clockTable[adf].xtal ;
-		state->table = fe_clockTable[adf].table;
-		state->adcFrequency = state->table->adcFrequency;
-
-		adc = compute_div(state->adcFrequency, 1000000ul, 19ul);
-		xtal = compute_div(state->crystalFrequency, 1000000ul, 19ul);
-
-	} else
-		return -EINVAL;
-
-	/* Set LED indicator on GPIOH3 */
-	ret = it913x_write_reg(state, PRO_LINK, GPIOH3_EN, 0x1);
-	ret |= it913x_write_reg(state, PRO_LINK, GPIOH3_ON, 0x1);
-	ret |= it913x_write_reg(state, PRO_LINK, GPIOH3_O, 0x1);
-
-	ret |= it913x_write_reg(state, PRO_LINK, 0xf641, state->tuner_type);
-	ret |= it913x_write_reg(state, PRO_DMOD, 0xf5ca, 0x01);
-	ret |= it913x_write_reg(state, PRO_DMOD, 0xf715, 0x01);
-
-	b[0] = xtal & 0xff;
-	b[1] = (xtal >> 8) & 0xff;
-	b[2] = (xtal >> 16) & 0xff;
-	b[3] = (xtal >> 24);
-	ret |= it913x_write(state, PRO_DMOD, XTAL_CLK, b , 4);
-
-	b[0] = adc & 0xff;
-	b[1] = (adc >> 8) & 0xff;
-	b[2] = (adc >> 16) & 0xff;
-	ret |= it913x_write(state, PRO_DMOD, ADC_FREQ, b, 3);
-
-	if (state->config->adc_x2)
-		ret |= it913x_write_reg(state, PRO_DMOD, ADC_X_2, 0x01);
-	b[0] = 0;
-	b[1] = 0;
-	b[2] = 0;
-	ret |= it913x_write(state, PRO_DMOD, 0x0029, b, 3);
-
-	pr_info("Crystal Frequency :%d Adc Frequency :%d ADC X2: %02x\n",
-		state->crystalFrequency, state->adcFrequency,
-			state->config->adc_x2);
-	pr_debug("Xtal value :%04x Adc value :%04x\n", xtal, adc);
-
-	if (ret < 0)
-		return -ENODEV;
-#endif
-
-	/* v1 or v2 tuner script */
-	if (state->config->chip_ver > 1)
-		ret = it913x_fe_script_loader(state, it9135_v2);
-	else
-		ret = it913x_fe_script_loader(state, it9135_v1);
-	if (ret < 0)
-		return ret;
-
-	/* LNA Scripts */
-	switch (state->tuner_type) {
-	case IT9135_51:
-		set_lna = it9135_51;
-		break;
-	case IT9135_52:
-		set_lna = it9135_52;
-		break;
-	case IT9135_60:
-		set_lna = it9135_60;
-		break;
-	case IT9135_61:
-		set_lna = it9135_61;
-		break;
-	case IT9135_62:
-		set_lna = it9135_62;
-		break;
-	case IT9135_38:
-	default:
-		set_lna = it9135_38;
-	}
-	pr_info("Tuner LNA type :%02x\n", state->tuner_type);
-
-	ret = it913x_fe_script_loader(state, set_lna);
-	if (ret < 0)
-		return ret;
-
-	if (state->config->chip_ver == 2) {
-		ret = it913x_write_reg(state, PRO_DMOD, TRIGGER_OFSM, 0x1);
-		ret |= it913x_write_reg(state, PRO_LINK, PADODPU, 0x0);
-		ret |= it913x_write_reg(state, PRO_LINK, AGC_O_D, 0x0);
-		ret |= it913x_init_tuner(fe);
-	}
-	if (ret < 0)
-		return -ENODEV;
-
-	/* Always solo frontend */
-//	set_mode = set_solo_fe;
-//	ret |= it913x_fe_script_loader(state, set_mode);
-
-	ret |= it913x_fe_suspend(state);
-	return (ret < 0) ? -ENODEV : 0;
-}
-
 static int it913x_release(struct dvb_frontend *fe)
 {
 	kfree(fe->tuner_priv);
@@ -566,10 +495,6 @@ struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
 	memcpy(&fe->ops.tuner_ops, &it913x_tuner_ops,
 			sizeof(struct dvb_tuner_ops));
 
-	ret = it913x_fe_start(fe);
-	if (ret < 0)
-		goto error;
-
 	pr_info("%s: ITE Tech IT913X attached\n", KBUILD_MODNAME);
 
 	return fe;
-- 
1.7.11.7


  parent reply	other threads:[~2013-03-10  2:04 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-10  2:02 [REVIEW PATCH 01/41] ITE IT913X silicon tuner driver Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 02/41] af9033: support for it913x tuners Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 03/41] af9035: add support for 1st gen it9135 Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 04/41] af9035: add auto configuration heuristic for it9135 Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 05/41] af9035: fix af9033 demod sampling frequency Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 06/41] af9015: reject device TerraTec Cinergy T Stick Dual RC (rev. 2) Antti Palosaari
2013-03-10  2:02 ` [REVIEW PATCH 07/41] af9035: [0ccd:0099] " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 08/41] af9035: constify clock tables Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 09/41] af9035: USB1.1 support (== PID filters) Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 10/41] af9035: merge af9035 and it9135 eeprom read routines Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 11/41] af9035: basic support for IT9135 v2 chips Antti Palosaari
2013-03-21 21:54   ` Mauro Carvalho Chehab
2013-03-21 23:45     ` Antti Palosaari
2013-03-22  9:30       ` Mauro Carvalho Chehab
2013-03-22 10:45         ` Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 12/41] af9033: IT9135 v2 supported related changes Antti Palosaari
2013-03-10  2:03 ` =?y?q?=5BREVIEW=20PATCH=2013/41=5D=20af9035=3A=20IT9135=20dual=20tuner=20related=20changes?= Antti Palosaari
2013-03-10  2:03 ` Antti Palosaari [this message]
2013-03-10  2:03 ` [REVIEW PATCH 15/41] it913x: merge it913x_fe_suspend() to it913x_fe_sleep() Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 16/41] it913x: rename functions and variables Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 17/41] it913x: tuner power up routines Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 18/41] it913x: get rid of it913x config struct Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 19/41] it913x: remove unused variables Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 20/41] it913x: include tuner IDs from af9033.h Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 21/41] it913x: use dev_foo() logging Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 22/41] af9033: add IT9135 demod reg init tables Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 23/41] it913x: remove demod init reg tables Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 24/41] af9035: select firmware loader according to firmware Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 25/41] af9035: use already detected eeprom base addr Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 26/41] af9035: set demod TS mode config in read_config() Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 27/41] af9035: enable remote controller for IT9135 too Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 28/41] af9035: change dual mode boolean to bit field Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 29/41] af9033: add IT9135 tuner config "38" init table Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 30/41] af9033: add IT9135 tuner config "51" " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 31/41] af9033: add IT9135 tuner config "52" " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 32/41] af9033: add IT9135 tuner config "60" " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 33/41] af9033: add IT9135 tuner config "61" " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 34/41] af9033: add IT9135 tuner config "62" " Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 35/41] it913x: remove unused af9033 demod tuner config inits Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 36/41] af9033: move code from it913x to af9033 Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 37/41] af9033: sleep on attach() Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 38/41] af9033: implement i/o optimized reg table writer Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 39/41] af9035: check I/O errors on IR polling Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 40/41] af9035: style changes for remote controller polling Antti Palosaari
2013-03-10  2:03 ` [REVIEW PATCH 41/41] MAINTAINERS: add drivers/media/tuners/it913x* Antti Palosaari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1362881013-5271-14-git-send-email-crope@iki.fi \
    --to=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.