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

Initialize RNG for second CPU #100

Merged

Conversation

SergiiDmytruk
Copy link
Member

Without this Debian hangs on network initialization.

Change-Id: Ie15652de1127de7ce5c8060b1a07566499874615
Signed-off-by: Sergii Dmytruk <[email protected]>
Change-Id: Ic6246efd766b8bbf8c8ef5b9589f5702d7a02d2c
Signed-off-by: Sergii Dmytruk <[email protected]>
@krystian-hebel krystian-hebel changed the base branch from raptor-cs_talos-2/istep_10_6 to raptor-cs_talos-2/tod_2nd_cpu March 18, 2022 18:38
@krystian-hebel krystian-hebel merged commit bb66b33 into raptor-cs_talos-2/tod_2nd_cpu Mar 18, 2022
@SergiiDmytruk SergiiDmytruk deleted the raptor-cs_talos-2/rng_2nd_cpu branch March 18, 2022 18:43
SergiiDmytruk added a commit that referenced this pull request May 4, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 5, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 5, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 7, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 8, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 9, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 9, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 10, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 11, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 14, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 15, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 16, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request May 29, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
SergiiDmytruk added a commit that referenced this pull request Aug 24, 2022
* Add OCC operations

Signed-off-by: Igor Bagnucki <[email protected]>

* Beginning of istep 21.1

Change-Id: Ia342e6befc92c52dcced360dbc5c658ddf31d6b8
Signed-off-by: Sergii Dmytruk <[email protected]>

* Continue with start_pm_complex()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish with setup_memory_boot()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement special_wakeup_all(enable=false)

Signed-off-by: Sergii Dmytruk <[email protected]>

* pm_corequad_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pstate_gpe_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement pm_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize MCS bits in configuration vector

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement poll_occ()

Signed-off-by: Sergii Dmytruk <[email protected]>

* The bulk of sending commands to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Finish implementing communication with OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Implement switching OCC to active state

Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize user power limit (no limit)

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start implementing send_occ_config_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add PCAP config data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Do not auto-start Pstate GPE protocol

Hostboot doesn't seem to do it and it times out anyway.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix SCOM addrs in pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix bugs on constructing bootcode for OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pba_slave_setup_runtime_phase()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix stack usage errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix PPC_PLACE() macros in pb_pba_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify pm_pba_bar_config()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pss_init()

Signed-off-by: Sergii Dmytruk <[email protected]>

* pstate_gpe_init() fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix wait_for_occ_checkpoint()

Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and formatting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Bug fixes

Signed-off-by: Sergii Dmytruk <[email protected]>

* Pass APSS, MEMCFG and SYSCFG data to OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* The rest of configuration data

Signed-off-by: Sergii Dmytruk <[email protected]>

* Process OCC errors

Signed-off-by: Sergii Dmytruk <[email protected]>

* More error reporting

Signed-off-by: Sergii Dmytruk <[email protected]>

* Improve get_gpu_msg_data()

Signed-off-by: Sergii Dmytruk <[email protected]>

* istep 16.2

Change-Id: I082ed14d5c6f7fa26a6edefd6d73f725b0b36cd9
Signed-off-by: Sergii Dmytruk <[email protected]>

* Set error masks like Hostboot does

Signed-off-by: Sergii Dmytruk <[email protected]>

* Better logging

Signed-off-by: Sergii Dmytruk <[email protected]>

* Restart SGPE before starting OCC

Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't add istep 16.2 here

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove SGPE reset code

It didn't work and this can be done differently.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Start OCC in istep 15.4

This makes resetting it later unnecessary.

Signed-off-by: Sergii Dmytruk <[email protected]>

* Some code improvements

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove debug output

Signed-off-by: Sergii Dmytruk <[email protected]>

* Add informational messages

It takes some time to start OCC.

Change-Id: I1609349c673b4f0295e4e743add61f66a66aa6b1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Formatting corrections for occ.h/occ.c

Change-Id: I56651886bc752ce9f17707ff0393abfdb65cb51d
Signed-off-by: Sergii Dmytruk <[email protected]>

* A couple of corrections

Change-Id: I4ab8a73cb73ccd486f08713920e8c389adff22b7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove makeStart405Instruction() and related

Change-Id: I632fbad29216554ba44055ce803d912a4246da4c
Signed-off-by: Sergii Dmytruk <[email protected]>

* Extract ops.h

Change-Id: Ia3d53035ac34e64cd5c224e1423526990f62df06
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move some OCC-specific code from homer.c to occ.c

Change-Id: Iebbba0ecaa235c37c70d182ec03022d852402971
Signed-off-by: Sergii Dmytruk <[email protected]>

* Update OP codes

Change-Id: Idfe51a377fd01d945ba888f4cc613742f067a955
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fixes for sending wakeups

Change-Id: I5a011866c2453801a5e998fe87550b3e288f970d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Don't set HOMER BAR second time

Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove extra delay in check_ocb_mode()

Change-Id: I53c1c46492d57032d02bf3fc514933e4f4f50597
Signed-off-by: Sergii Dmytruk <[email protected]>

* Move ppc_* functions from occ.c to ops.h

Change-Id: Ic6ebdd8e6fa2f8347f60d6a2435ce7c4ef1eb19d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Simplify special_occ_wakeup_disable()

Change-Id: I93427b99d18f3ca8b35c5cc9d0414a8d868f7f6d
Signed-off-by: Sergii Dmytruk <[email protected]>

* Comments and corrections for pm_pss_init()

Change-Id: I75a7bbf1474ffe556356f04e28d23bd47d14004f
Signed-off-by: Sergii Dmytruk <[email protected]>

* Remove duplicated pba slave setup

Change-Id: I8a634e023dd8cecfa771c68ebe5134c1d4acf04e
Signed-off-by: Sergii Dmytruk <[email protected]>

* Fix deadcode in write_occ_cmd()

Change-Id: Ia13098cedf6e68889a4152dfb616710aebb488d1
Signed-off-by: Sergii Dmytruk <[email protected]>

* Various review corrections

Change-Id: Ia70f487001b965648ec779353149f2c62f996670
Signed-off-by: Sergii Dmytruk <[email protected]>

* Compute SCOM values using PPC_* macros

Change-Id: I306de2b11cd98cc99c3262dc74dabcf8c22565d7
Signed-off-by: Sergii Dmytruk <[email protected]>

* Use correct PB freq in one more place

Change-Id: I212fec18384c81488b5f3de1631dda1df08248d0
Signed-off-by: Sergii Dmytruk <[email protected]>

* Initialize PBA slaves earlier (on PBA reset)

Change-Id: Ia0e991efe26b8abf6f020cb10eb82f951674e25b
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_occ_fir_init()

Change-Id: I483b9ce660a7d840a52437f1de0428df2ea84706
Signed-off-by: Sergii Dmytruk <[email protected]>

* Add pm_pba_fir_init()

Also fix a bug in pm_occ_fir_init() and move the two functions to a
separate file.

Change-Id: Idbbbe002ed673beaad18ccd144f193a290baf969
Signed-off-by: Sergii Dmytruk <[email protected]>

* Make SCOM writes match Hostboot

Signed-off-by: Sergii Dmytruk <[email protected]>

* Merge fir.c into occ.c

Change-Id: I3e60bd4b2299691cb18df98c218514671eb3a440
Signed-off-by: Sergii Dmytruk <[email protected]>

Co-authored-by: Igor Bagnucki <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants