forked from tbsdtv/linux_media
-
Notifications
You must be signed in to change notification settings - Fork 5
m88ds3103 fixes #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
psyborg55
wants to merge
90
commits into
deeptho:deepthought
Choose a base branch
from
psyborg55:deepthought
base: deepthought
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
device can tune 890kS/s transponder at 8w
removing msleep doesn't appear to cause any problems with tuning
might give unexpected results in neumo
initalize default 96000 target_mclk DVBS value and change for DVBS2 inside switch according to SR also set ts_clk according to reference driver
needed status read to avoid constant retune attempts in neumo
doesn't help with anything, even causes issue above 2300mhz when based on vendor source
low symrate offset is redundant as the value has been clamped to 7000. removed and lowered the threshold value. helps with tuning low symrate transponder (666ks/s at 5w)
deeptho
pushed a commit
that referenced
this pull request
Dec 21, 2024
This just standardizes the use of MIN() and MAX() macros, with the very traditional semantics. The goal is to use these for C constant expressions and for top-level / static initializers, and so be able to simplify the min()/max() macros. These macro names were used by various kernel code - they are very traditional, after all - and all such users have been fixed up, with a few different approaches: - trivial duplicated macro definitions have been removed Note that 'trivial' here means that it's obviously kernel code that already included all the major kernel headers, and thus gets the new generic MIN/MAX macros automatically. - non-trivial duplicated macro definitions are guarded with #ifndef This is the "yes, they define their own versions, but no, the include situation is not entirely obvious, and maybe they don't get the generic version automatically" case. - strange use case #1 A couple of drivers decided that the way they want to describe their versioning is with #define MAJ 1 #define MIN 2 #define DRV_VERSION __stringify(MAJ) "." __stringify(MIN) which adds zero value and I just did my Alexander the Great impersonation, and rewrote that pointless Gordian knot as #define DRV_VERSION "1.2" instead. - strange use case #2 A couple of drivers thought that it's a good idea to have a random 'MIN' or 'MAX' define for a value or index into a table, rather than the traditional macro that takes arguments. These values were re-written as C enum's instead. The new function-line macros only expand when followed by an open parenthesis, and thus don't clash with enum use. Happily, there weren't really all that many of these cases, and a lot of users already had the pattern of using '#ifndef' guarding (or in one case just using '#undef MIN') before defining their own private version that does the same thing. I left such cases alone. Cc: David Laight <[email protected]> Cc: Lorenzo Stoakes <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
-fix tuner offset that is only needed for symbol rates lower than 5000ks/s
-add missing FEC codes
-change rolloff register to be consistent with documentation
-fix warning
-enable data path interference canceller, it was bypassed by default
-check for adaptive equalizer, enabled by default
-set AC coupling instead of DC, recommended in driver
-attempt to assign each relevant fe status to a hw register bit
-SNR check depend on LOCK state to not lose SNR info in DVBS mode after previous change
-registers for SR lower than 5000 are written for all chips in mt driver, do the same here
-add uncorrected block readout routine. confirmed working in tvheadend
-ts clock increase, something wrong here, stream breaks up at 24000, manifests as a discontinuity increase. 11230H 45000 at 51.5e still tuned fine with 20000
-new routine for setting carrier offset
-cleanup
-support SR below 1000kS/s, device can tune 890kS/s transponder at 8w
-speed up tuning
-add missing DVBS status
-decrease status update period
-fix for tuning delay and lost SNR in tvheadend
-convert frequency when using SYS_AUTO for tuning
-show SNR percent values with old ioctl
-fix for motor driving hang
-rf/bb calibration can fail sometimes and the failure is indicated in the corresponding register. retry cal in that case
-VCO correction based on real values taken from hardware
-allow spectrum scan with SW tune algorithm and return the algo in driver
-reworked ts/ target clock selection
-fix for the SW tune thread in neumo and stats refresh
-move status read to not interfere with spectrum scan
-some progress with SYS_AUTO on more complex drivers
-fix for BER creeping out the interface all the time, poll its stats only if FEC is locked, moved SNR define to header
-tuned 512ks transponder, lower the limit accordingly
-support amateur part of KU band, tuned 10493H 1500 at 25.8e (Es'hail-2), thanks to satesco for mentioning this on forum
-fix for pctv 461e lockup on initial tune to H pol provided by @cjritola - https://lore.kernel.org/lkml/[email protected]/
-if the carrier is detected then the dvb mode is correct, assuming the stream is valid sync and fec should lock; this fixes status update delay that was happening with previous code
-build bugs fixed
-added blindscan code (example how to run: ./neumo-blindscan -a 0 -s 10700000 -e 11699000 -p 2 -c 0 --blindscan-method 2)
-support for wideband LNBs in both tuning and blind scan mode, still soft-limited to 10894Mhz
-wait a bit longer when blind locking transponder with symbolrate 7000-20000
-export rf gain for use with spectrum scan
-added spectrum scan
-fix for tuner PLL / VCO setup to lock freq < 10894Mhz; this makes wideband LNB fully usable with these cards
-lpf coefficient 3200 is wrong in ts2022, it caused tuner issues. use 2766 value
-reduced code size, merged set_frontend routines into one
-removed unneeded msleep and reduce other to minimum
-auto delivery system support in both blind and normal tune mode
-blind tune supported in neumodvb
-agc_pwm provided to tuner driver for more accurate rf level and periodic refresh of the same
-do not warn if freq or sym is 0 (gets rid of warning on tvheadend init)
-reset carrier offset before tune
-tuner reg and f3db bandwidth bugs
-skip lock when no transponders detected, device would stuck on last freq indefinitely
-faster lock of low DVBS2 symrate
-add delay in high band to stabilize tuner gain, fixes ugly large rising slope in spectrum draw