Re: [PATCH 3/3] si2157: Add support for spectral inversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Patch applied.

http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/log/?h=silabs

However, it is usually demod which fixes inverted IF. There was only one other tuner driver having IF spectrum inversion, Mxl5007t.

Logically looking signal goes from tuner to demod and when it goes out from tuner it is correct, but when it arrives to demod input it is inverted (on case IF wiring is cross-connected). So it even logically belongs to demod, IMHO.

regards
Antti



On 07/15/2014 10:34 PM, Matthias Schwarzott wrote:
This is needed for PCTV 522e support.

Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx>
---
  drivers/media/tuners/si2157.c      | 3 +++
  drivers/media/tuners/si2157.h      | 5 +++++
  drivers/media/tuners/si2157_priv.h | 1 +
  3 files changed, 9 insertions(+)

diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c
index 91808e8..06153fa 100644
--- a/drivers/media/tuners/si2157.c
+++ b/drivers/media/tuners/si2157.c
@@ -253,6 +253,8 @@ static int si2157_set_params(struct dvb_frontend *fe)

  	memcpy(cmd.args, "\x14\x00\x03\x07\x00\x00", 6);
  	cmd.args[4] = delivery_system | bandwidth;
+	if (s->inversion)
+		cmd.args[5] = 0x01;
  	cmd.wlen = 6;
  	cmd.rlen = 1;
  	ret = si2157_cmd_execute(s, &cmd);
@@ -314,6 +316,7 @@ static int si2157_probe(struct i2c_client *client,

  	s->client = client;
  	s->fe = cfg->fe;
+	s->inversion = cfg->inversion;
  	mutex_init(&s->i2c_mutex);

  	/* check if the tuner is there */
diff --git a/drivers/media/tuners/si2157.h b/drivers/media/tuners/si2157.h
index 4465c46..6da4d5d 100644
--- a/drivers/media/tuners/si2157.h
+++ b/drivers/media/tuners/si2157.h
@@ -29,6 +29,11 @@ struct si2157_config {
  	 * frontend
  	 */
  	struct dvb_frontend *fe;
+
+	/*
+	 * Spectral Inversion
+	 */
+	bool inversion;
  };

  #endif
diff --git a/drivers/media/tuners/si2157_priv.h b/drivers/media/tuners/si2157_priv.h
index db79f3c..3ddab5e 100644
--- a/drivers/media/tuners/si2157_priv.h
+++ b/drivers/media/tuners/si2157_priv.h
@@ -26,6 +26,7 @@ struct si2157 {
  	struct i2c_client *client;
  	struct dvb_frontend *fe;
  	bool active;
+	bool inversion;
  };

  /* firmare command struct */


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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux