Skip to content
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

Fixes for v2.3-rc1 #6270

Merged
merged 10 commits into from
Sep 8, 2022
Merged

Fixes for v2.3-rc1 #6270

merged 10 commits into from
Sep 8, 2022

Conversation

lgirdwood
Copy link
Member

Fixes for v2.3-rc1

@mengdonglin @keqiaozhang fyi

singalsu and others added 10 commits September 7, 2022 14:35
Cppcheck finds this issue

src/math/fft/fft_16.c:23:27: warning: Either the condition '!plan'
is redundant or there is possible null pointer dereference:
plan. [nullPointerRedundantCheck]
 struct icomplex16 *inb = plan->inb16;

There's same issue with inb and outb in both fft_16.c and fft_32.c

Signed-off-by: Seppo Ingalsuo <[email protected]>
Cppcheck found this issue:

src/include/sof/math/fft.h:133:51: error: Shifting by a negative
value is undefined behaviour [shiftNegative]
  output->real = sat_int16((((int32_t)input->real >> n_rnd) + 1) >> 1);
                                                  ^
The case n == 0 need to be handled with the upper if branch non-rounded
shift version.

Signed-off-by: Seppo Ingalsuo <[email protected]>
comp_dbg() statements may be compiled out, so having a 'dev'
variable just for debugs is not useful and just ends up with
compiler warnings on unused variables.

Signed-off-by: Kai Vehmanen <[email protected]>
The parameters px and py in
Q_MULTSR_32X32(px, py, qx, qy, qp) function
must be cast to (int64_t) if other type.

Signed-off-by: Arsen Eloglian <[email protected]>
This patch adds to header file sof/audio/format.h two new macros
for 16 * 16 fractional multiply. It's identical to 32 bit but the
name suggests that operands are 16 bit where case to int32_t is
sufficient for the product.

- The calculation of cd->max_frames is changed use Q_MULTSR_16X16()
- Max_lag calculation is added type cast to int64_t though it does
  not overflow with 48 kHz. But it could overflow with 96 kHz rate.
- A comment about 64 bit type is added to calculation of thr
- src_x and src_y calculation is done with Q_MULTSR_16X16()
- az_slow calculation is done with Q_MULTSR_16X16
- deg calculation is done with Q_MULTSR_16X16

Signed-off-by: Seppo Ingalsuo <[email protected]>
Correct the function name "volume_ctrl_set_cmd()" to
"volume_set_config()".

Signed-off-by: Gongjun Song <[email protected]>
This patch adds cast to int64_t for the multiplication and adds 32 bit
saturation to ensure overflow of the product is not possible.

This function is used to calculate ramp time in IPC4 NHLT blob mode
where the time is not passed from topology. Currently rates up to
48 kHz remain under product int32_t range, so normally there is no
issue. However 96 kHz rate would always result to incorrect
LOGRAMP_TIME_MIN_MS (10 ms).

Signed-off-by: Seppo Ingalsuo <[email protected]>
Found one issue on Linux platform that the initialized volume setting
by alsamixer doesn't make effect when playback is started. The reason
is that the volume config set is skipped when volume module is just
initialized. Now volume will be set when it is initialized. At this
time cd->channels is not initialized so use channal count in module
config.

Signed-off-by: Rander Wang <[email protected]>
Modify the definition of the reset API in the module adapter interface
to make sure that it should reset the module state back to
MODULE_INITIALIZED and free all memory that was allocated during the
prepare() callback. With this change, stopping and restarting streams
will always be guaranteed to invoke the module's prepare() callback.
Also, fix the passthrough and cadence codec implementation to follow the
new definition.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Ranjani Sridharan <[email protected]>
Size parameter is moved from
struct sof_ipc_reply to struct sof_ipc_cmd_hdr.
Added changes accordingly.

Signed-off-by: Vamshi Krishna Gopal <[email protected]>
@keqiaozhang
Copy link
Collaborator

keqiaozhang commented Sep 8, 2022

@lgirdwood and @mengdonglin
The functional test passed. No new issues or regressions found.
http://sof-ci.sh.intel.com/#/result/planresultdetail/15219

All pause/resume related failures are caused by the PGA volume being too high(maximum). It's not a sof issue and can be fixed by thesofproject/sof-test#953

I will trigger the stress test next.

@lgirdwood lgirdwood merged commit 9a2931f into stable-v2.3 Sep 8, 2022
@lgirdwood lgirdwood deleted the lrg/topic/for-v2.3 branch September 8, 2022 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants