You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support unloading/reloading a subset of pipelines(and its widgets/components) when they are not used. #1146
On some platforms like byt/cht, there is very limited SRAM for aDSP to use, and on other platforms when aDSP run on D0ix, we hope to use as less of the SRAM as possible, so adding support to unload a subset of all existed pipelines(and its widgets/components) from FW is meaningful and inevitable.
To implement the feature on today's base, changes needed in driver side:
Keep all widgets (pipeline components for FW), routes (pipeline connection for FW), dais (dai config for FW), kcontrol values stored in driver side after they are created at topology binary parsing, even though they are unloaded in FW.
Implement a helper function to unload/free and reload/new a specific pipeline and then its widgets(check with swidget->pipeline_id).
call helper function implemented in Enable tone generator - Part 1 #2 at d0i0<->d0i3 transition, for each idle PCMs(need to figure out how to find pipeline_id from PCM), to unload/reload the subset of pipelines and its widgets.
changed the title [-]Support unload/reload a subset of pipelines(and its widgets/components) when they are not used.[/-][+]Support unloading/reloading a subset of pipelines(and its widgets/components) when they are not used.[/+]on Aug 21, 2019
For power optimizations, you want to have both D0ix signaling and activation of pipelines on a need basis, but each can be developed separately. You will have a lot of development issues if you lump the two aspects in one milestone. one step at a time is my recommendation.
For power optimizations, you want to have both D0ix signaling and activation of pipelines on a need basis, but each can be developed separately. You will have a lot of development issues if you lump the two aspects in one milestone. one step at a time is my recommendation.
@keyonjie@ranj063 isn't this implemented with dynamic pipelines already? If yes there's no reason to keep this as an enhancement request. Please close unless I missed something.
Activity
[-]Support unload/reload a subset of pipelines(and its widgets/components) when they are not used.[/-][+]Support unloading/reloading a subset of pipelines(and its widgets/components) when they are not used.[/+]keyonjie commentedon Aug 21, 2019
@plbossart @ranj063 @mmaka1 @lbetlej please help review this feature reqirement.
plbossart commentedon Aug 21, 2019
For power optimizations, you want to have both D0ix signaling and activation of pipelines on a need basis, but each can be developed separately. You will have a lot of development issues if you lump the two aspects in one milestone. one step at a time is my recommendation.
keyonjie commentedon Aug 22, 2019
Good point, thanks.
net/sched: cls_api: fix nooffloaddevcnt warning dmesg log
plbossart commentedon Jun 10, 2021
@keyonjie @ranj063 isn't this implemented with dynamic pipelines already? If yes there's no reason to keep this as an enhancement request. Please close unless I missed something.
mengdonglin commentedon Jun 15, 2021
@RanderWang I think this is the driver behavior to work with converged FW. Right?
RanderWang commentedon Jun 16, 2021
sure, driver will disable everything unnecessary in FW.
ranj063 commentedon Jun 16, 2021
@mengdonglin no this is a feature already available today in SOF.
ceph: lock mutex in ceph_mds_check_access()