History log of /drivers/media/dvb/frontends/s5h1409.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7581e61d8d7a3ed89a3fdac2235231cd36548f78 01-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb: Remove ops->info.type from frontends

Now that this field is deprecated, and core generates it for
DVBv3 calls, remove it from the drivers.

It also adds .delsys on the few drivers where this were missed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
7c61d80a9bcfc3fdec8ffd75756cad6a64678229 30-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb: don't require a parameter for get_frontend

Just like set_frontend, use the dvb cache properties for get_frontend.
This is more consistent, as both functions are now symetric. Also,
at the places get_frontend is called, it makes sense to update the
cache.

Most of this patch were generated by this small perl script:

while (<>) { $file .= $_; }
if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) {
my $get = $1;
$file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g;
}
print $file;

Of course, the changes at dvb_frontend.[ch] were made by hand,
as well as the changes on a few other places, where get_frontend()
is called internally inside the driver.

On some places, get_frontend() were just a void function. Those
occurrences were removed, as the DVB core handles such cases.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
fd12984456d42bf917eb9c84e47666bd9bf33fb5 26-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] s5h1409: convert set_fontend to use DVBv5 parameters

Instead of using dvb_frontend_parameters struct, that were
designed for a subset of the supported standards, use the DVBv5
cache information.

Also, fill the supported delivery systems at dvb_frontend_ops
struct.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
a689e3657d7e82c2271008553c709fc79fb2e038 22-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb-core: add support for a DVBv5 get_frontend() callback

Creates a DVBv5 get_frontend call, renaming the DVBv3 one to
get_frontend_legacy(), while not all frontends are converted.

After the conversion for all drivers, get_frontend_legacy()
will be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
bc9cd2736b34619b58961d506210fe0e6dfaa27d 20-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Rename set_frontend fops to set_frontend_legacy

Passing DVBv3 parameters to set_frontend is not fun, as the
core doesn't have any way to know if the driver is using the
v3 or v5 parameters. So, rename the callback and add a new
one to allow distinguish between a mixed v3/v5 paramenter call
from a pure v5 call.

After having all frontends to use the new way, the legacy
call can be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
14d24d148c7521b2b88b396652e36f55d061e195 24-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] tuners: remove dvb_frontend_parameters from set_params()

This is a big patch, yet trivial: now that all tuners use the DVBv5
way to pass parameters (e. g. via fe->dtv_property_cache), the
extra parameter can be removed from set_params() call.

After this change, very few DVBv3 specific stuff are left at the
tuners.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
19661c08fe11590e04832ed8b3cabe5e4bf11e48 31-Oct-2011 Michael Krufky <mkrufky@linuxtv.org> [media] s5h1409: Calculate signal strength shown as percentage from SNR up to 35dB

As done first in lgdt330x.c, calculate signal strength from SNR up to 35dB
Even though the SNR can go higher than 35dB, there is some comfort factor
in having a range of strong signals that can show at 100%

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
adcd8de6de36f67241a5c3562f2ef1d5998b30a9 02-Nov-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13332): s5h1409: remove a set register that would cause lock to be lost.

On particularly weak signals, changing register 0xab after setting the
interleave mode will cause the FEC lock to get lost (while still holding the
EQ lock). So remove the write entirely, which seems to have had no adverse
effect in either of my ClearQAM environments (and in particular resolves the
customer's reported issue).

Also flip around the order of the amhum optimization and the interleave setup
to be consistent with the windows driver, which has the side-benefit of doing
them both in the same call (since the amhum optimization can only be done once
the interleave setup).

This work was sponsored by ONELAN Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
f0cd44b4a1a7465230dfbe1e645d9dc73f83cb13 28-Oct-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13330): s5h1409: properly handle QAM optimization after lock achieved

The sh51409 driver was only doing the QAM optimization a single time, and it
would only occur if you received a lock instantaneously after the tuning
request. Restructure the code so that the optimization occurs once you reach
a signal lock.

Note that this depends on the caller polling for status, but we don't have
much choice at this point without an independent thread monitoring the lock
status. Also, at this point pretty much every application polls for status
lock after doing the tune, so the likelihood of the optimization not occurring
in the real world is pretty low.

The state machine has also been reworked such that setting the interleave mode
is now a dependency of doing the QAM optimization. Before both were mutually
exclusive, which was not consistent with the Windows driver. We now have a
single state machine that controls both.

The changes as-is are only enabled for the HVR-1600. Once the changes are
tested with some of the other boards, this change should be made generic and
the "_legacy" functions should be removed.

This work was sponsored by ONELAN Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
af5c8e1523edf792f57ec938aef9423783af25e1 28-Oct-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13329): s5h1409: provide HVR-1600 specific optimizations

Perform some optimization of the register configuration based on a trace
of the HVR-1600 Windows i2c traffic (and consultation with Steven Toth).
Note that some of these values may be able to be moved into the common driver,
but I am holding off on that until they can be tested with other boards.

This work was sponsored by ONELAN Limited.

Cc: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
084e24acc906c162c92de7df807190856ae60928 11-Aug-2009 Matthias Schwarzott <zzam@gentoo.org> V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly

This patch changes most frontend drivers to allocate their state structure via
kzalloc and not kmalloc. This is done to properly initialize the
embedded "struct dvb_frontend frontend" field, that they all have.

The visible effect of this struct being uninitalized is, that the member "id"
that is used to set the name of kernel thread is totally random.

Some board drivers (for example cx88-dvb) set this "id" via
videobuf_dvb_alloc_frontend but most do not.

So I at least get random id values for saa7134, flexcop and ttpci based cards.
It looks like this in dmesg:
DVB: registering adapter 1 frontend -10551321 (ST STV0299 DVB-S)

The related kernel thread then also gets a strange name
like "kdvb-ad-1-fe--1".

Cc: Michael Krufky <mkrufky@linuxtv.org>
Cc: Steven Toth <stoth@linuxtv.org>
Cc: Timothy Lee <timothy.lee@siriushk.com>
Cc: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Acked-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
67e70baf043cfdcdaf5972bc94be82632071536b 26-Jan-2009 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning

Just like with the s5h1411, the s5h1409 needs a soft-reset in order for it
to know that the tuner has been told to change frequencies. This change
changes the behavior from "random tuning times between 500ms to complete
tuning lock failures" to "tuning lock consistently within 700ms".

Thanks to Robert Krakora <rob.krakora@messagenetsystems.com> for doing
initial testing of the patch on the KWorld 330U.

Thanks to Andy Walls <awalls@radix.net> for doing testing of the patch on
the HVR-1600.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for doing additional testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
b7709c0de24d9a05c70e13c939919fe90f09695d 17-Oct-2008 Steven Toth <stoth@linuxtv.org> V4L/DVB (9258): s5h1409: Checkpatch compliance

s5h1409: Checkpatch compliance

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
6d8976164dd7d10d25fe940b8546265f60ad52cd 03-Sep-2008 Steven Toth <stoth@hauppauge.com> V4L/DVB (8805): Steven Toth email address change

I need this so I can better isolate my linux email from my
corporate email.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
4fc85c74b431ba6e9a8e295e090cd532667b984d 03-Sep-2008 Steven Toth <stoth@hauppauge.com> V4L/DVB (8803): s5h1409: Enable QAM_AUTO mode

If apps pass QAM_AUTO then we need to obey it.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/dvb/frontends/s5h1409.c
bbe09cbe3f082b0af8fd83ccdf5ce1cf005da3eb 25-May-2008 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (7920): s5h1409.c shouldn't #include "dvb-pll.h"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
271ddbf702c3a4e6b18f6464180eda0f62efd9a5 09-Apr-2008 Harvey Harrison <harvey.harrison@gmail.com> V4L/DVB (7514): media/dvb/frontends replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
ff699e6bd02eb1c6d02c7c2b576c2ee6caab201c 22-Apr-2008 Douglas Schilling Landgraf <dougsland@gmail.com> V4L/DVB (7094): static memory

- Static memory is always initialized with 0.
- Replaced in some cases C99 comments for /* */

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
8e08af3c30b4e5f59adff0baa33fd346227b45e2 03-Apr-2008 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (7495): s5h1409: fix blown-away bit in function s5h1409_set_gpio

Preserve all other bits when setting gpio.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
dfc1c08aab447d49230dacb390d3f2263584d28f 16-Jan-2008 Steven Toth <stoth@hauppauge.com> V4L/DVB (7041): s5h1409: Bug fix for parallel support

Parallel support was not working with the s5h1409 and the Pinnacle HD800i.
This patch fixes the demodulator driver and ensures that all existing
s5h1409 based products configure the demodulator correctly.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
a57ed8a1f7381aa7e1bec6c55d5f119706f2982d 10-Jan-2008 Steven Toth <stoth@hauppauge.com> V4L/DVB (7008): s5h1409: Ensure the silicon is initialized during attach

If not it impacts on analog tuner quality.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
6b7daa88f23bb23f61977063e3f8ea9598e65e32 13-Dec-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (6822): s5h1409: use VSB IF frequency ( 44 / 5.38 MHz ) unless otherwise specified

use VSB IF frequency ( 44 / 5.38 MHz ) if qam_if is invalid or unspecified

Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
2b03238a79295aff30afc3d9a82afa617fd33971 13-Dec-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (6821): s5h1409: fix IF frequency configuration

On the s5h1409 demod, the IF frequency for VSB is limited to 44 / 5.38 MHz.

Hardcode VSB IF frequency within the driver to 44 / 5.38 MHz.
QAM IF frequency remains configurable via attach-time configuration.

Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
2300317f30770abd625fb051b0e5d373ce55a6ad 13-Dec-2007 Steven Toth <stoth@hauppauge.com> V4L/DVB (6820): s5h1409: QAM SNR related fixes

QAM SNR values were incorrect when the cable was disconnected. This
patch extends the lookup tables to ensure correct values are being
returned.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
dd7d5013cdad2efe7ddbb3f77728cfe0ce295e5b 25-Oct-2007 Steven Toth <stoth@hauppauge.com> V4L/DVB (6402): s5h1409: Fix broken QAM support

This patch enables QAM Annex-B support (US digital cable)
for the s5h1409 VSB/QAM demodulator.

Tested successfully with the mt2131 tuner,
present on the following supported boards:

Hauppauge WinTV-HVR-1250
Hauppauge WinTV-HVR-1800
Hauppauge WinTV-HVR-1800lp

This patch is also known to work with an upcoming XC5000 tuner driver.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
3873dd041465799cfdeb642531c0ade4fb6614e5 29-Jul-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (5950): whitespace cleanup for mt2131 and s5h1409

- trivial whitespace cleanups
- add "c-basic-offset: 8" to enforce tabbing style in emacs

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
a45c92756ed60bc89528701ac512e954acd23b9e 21-Mar-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (5949): s5h1409: use ARRAY_SIZE macro when appropriate

Use ARRAY_SIZE macro already defined in kernel.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c
89885558ada9e076b48f4b6887e252e13e7eaf74 29-Jul-2007 Steven Toth <stoth@hauppauge.com> V4L/DVB (5948): Adding support for the S5H1409/CX24227 8VSB/QAM demodulator.

This patch adds support for the Samsung S5H1409 demodulator, also known
as the Conexant CX24227 demodulator. 8VSB mode has been tested and QAM
has been implemented based on the spec, although it's untested.

The S5H1409 / CX24227 appears on various Hauppauge boards.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/dvb/frontends/s5h1409.c