-
Notifications
You must be signed in to change notification settings - Fork 140
soundwire: bus: add CLOCK_STOP_MODE1 support back #5624
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
base: topic/sof-dev
Are you sure you want to change the base?
Conversation
CLOCK_STOP_MODE1 is used when the Peripheral might have entered a deeper power-saving mode that does not retain state while the Clock is stopped. It is useful when the device is more power consumption sensitive. Add it back to allow the Peripheral use CLOCK_STOP_MODE1. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
|
@bardliao how would you test this? In practice the intel host does a bus reset after restarting the clock which forces the device to lose context anyways. |
|
@plbossart Indeed, we will do bus reset after restarting the clock. Using mode 1 is just for power consumption during clock stop. On the other hands, the peripheral will need to restore the context anyway, why don't we use mode 1 If the peripheral supports it? |
|
I don't disagree @bardliao, if the host does a bus reset we would benefit from the MODE1 on the device side. |
The existing code is using MODE0. I would expect that the behavior will not change on MODE0.
No, the codec driver can implement the get_clk_stop_mode ops to set the condition of using MODE1
sdw_get_clk_stop_mode() will set the clock mode before clock stops. I guess it should be enough? |
|
@vijendarmukunda Do you mind testing this PR on AMD platforms? |
@bardliao : Most of my team members are OOO. Is it okay if we can update the valiadation results some time early next week? |
Yeah, same as us. It is totally fine to get the test result next week. |
CLOCK_STOP_MODE1 is used when the Peripheral might have entered a deeper power-saving mode that does not retain state while the Clock is stopped. It is useful when the device is more power consumption sensitive. Add it back to allow the Peripheral use CLOCK_STOP_MODE1.