diff options
author | Chuck Ritola <cjritola@gmail.com> | 2021-12-31 03:53:27 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-11-25 09:55:55 +0000 |
commit | e6431a0c0d711af71a0628689463af4ec19c82f8 (patch) | |
tree | 7792d60720e7de2fe650e3f582280cb8f7a5def1 /drivers/media/dvb-frontends/a8293.h | |
parent | b5411dd4d506c373d4957e0b6c1c8e822dc8e511 (diff) | |
download | linux-stable-e6431a0c0d711af71a0628689463af4ec19c82f8.tar.gz linux-stable-e6431a0c0d711af71a0628689463af4ec19c82f8.tar.bz2 linux-stable-e6431a0c0d711af71a0628689463af4ec19c82f8.zip |
media: dvb-frontends: a8293: fix LNB powerup failure in PCTV 461e
Fixes a8293 failure to raise LNB voltage in PCTV 461e DVB-S2 Stick
affecting multiple users over several years as found here:
http://www.linuxquestions.org/questions/linux-hardware-18/pctv-dvb-s2-stick-461e-not-feeding-lnb-4175529374/
https://www.linuxtv.org/wiki/index.php/Pinnacle_PCTV_DVB-S2_Stick_(461e)
https://github.com/OpenELEC/OpenELEC.tv/issues/3731
Caused by vIN undervoltage lockout (status register bit 7) when raising LNB to 18V.
Addressed by using the higher-precision voltages available on the a8293 to gradually
increase (slew) the voltage when voltage increases are requested.
Adds volt_slew_nanos_per_mv to a8293_platform_data struct for specifying slew rate.
If value is <1 or non-sane (>1600), the original no-slew version for a8293_set_voltage is used.
Link: https://lore.kernel.org/linux-media/20211231035326.6759-1-cjritola@gmail.com
[mchehab: fixed some coding style issues]
Signed-off-by: Chuck Ritola <cjritola@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/dvb-frontends/a8293.h')
-rw-r--r-- | drivers/media/dvb-frontends/a8293.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/a8293.h b/drivers/media/dvb-frontends/a8293.h index 8c09635ef8a4..7fbac9735f7b 100644 --- a/drivers/media/dvb-frontends/a8293.h +++ b/drivers/media/dvb-frontends/a8293.h @@ -18,9 +18,12 @@ /** * struct a8293_platform_data - Platform data for the a8293 driver * @dvb_frontend: DVB frontend. + * @volt_slew_nanos_per_mv: Slew rate when increasing LNB voltage, + * in nanoseconds per millivolt. */ struct a8293_platform_data { struct dvb_frontend *dvb_frontend; + int volt_slew_nanos_per_mv; }; #endif /* A8293_H */ |