hisilicon-opensdk: bump ff20187b → 2d637e35 (V4 mic tone on cold boot, osal timer teardown) - #2267
Merged
Merged
Conversation
…, osal timer teardown) Picks up three commits: 2d637e3 osal: wait for the timer callback before freeing the timer (#211) f69ecc9 kernel/hi3516cv200: recognize the gc2023_mipi sensor type (#207) 849f066 acodec: retune the ADC when a clock change invalidates it (#209) The acodec one fixes an audible tone on the analog mic of every V4 part after a cold boot -- 609 Hz at a 16 kHz sample rate, plus harmonics, up to 20 dB over the noise floor, lasting until something restarted the streamer. The codec's ADC tuning is only valid for the codec clock that was running when it was made, and enabling an audio input reprograms that clock, so the tuning it had a moment earlier is stale and nothing recalibrated. The driver now watches the hardware validity bit and retunes. Reported as OpenIPC/majestic#285, reproduced on gk7205v200 and hi3516ev200; gk7202v300, gk7205v300 and gk7605v100 share the same build target and are covered too. The osal one stops timer teardown freeing a timer whose callback may still be running, or which has re-armed itself -- del_timer() does not wait, and destroy kfree()s straight after. It reaches every module using osal timers: vi, vpss, chnl, pm, rtc, ir, vdec and dis across the V2, V3 and V4 families. Verified on a lab gk7205v200 built from this hash: 33 modules built, the full 36-module stack boots, 10 x load_goke -a teardown cycles, 8 x SIGHUP pipeline rebuilds, video throughout, no oops and no warnings. Cold-boot mic capture goes from 41 LSB rms with the comb to 5 LSB with no coherent tone. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
PR Summary by QodoBump hisilicon-opensdk to 2d637e35 (mic cold-boot fix, safer osal timers)
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history |
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
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.
Bumps
hisilicon-opensdkff20187b→2d637e35so the V4 microphone fix reaches nightlies.What it picks up
acodec — the analog mic on every V4 part comes up with an audible tone after a cold boot: 609 Hz at a 16 kHz sample rate plus five harmonics, up to 20 dB over the noise floor, lasting until something restarts the streamer. The codec's ADC tuning is only valid for the codec clock that was running when it was made, and enabling an audio input reprograms that clock — so the tuning that was correct a moment earlier is stale, and nothing recalibrated. The driver now watches the hardware validity bit and retunes. Reported as OpenIPC/majestic#285.
Affects
gk7205v200,gk7205v300,gk7202v300,gk7605v100andhi3516ev200/ev300— reproduced on gk7205v200 and hi3516ev300, and the rest share the same build target.osal — timer teardown could free a timer whose callback was still running, or which had re-armed itself:
del_timer()does not wait, and destroykfree()s straight after. Reaches every module using osal timers —vi,vpss,chnl,pm,rtc,ir,vdec,disacross V2, V3 and V4.sensor — gc2023_mipi recognised on hi3516cv200, pairing with #2248 which just landed here.
Verification
Built
gk7205v200_litefrom this exact hash (tarball fetched from GitHub, no local override): 33 modules build clean, and both fixes are present in the resultingopen_acodec.koandopen_osal.ko.Flashed onto a lab gk7205v200:
load_goke -ateardown/reload cycles — 36 modules back every timeCamera restored to stock afterwards and re-verified.
Upstream CI on openhisilicon was 35/35 green on
2d637e35, includingBuild SDKandQEMU bootfor every supported chip.