summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/procedures/ppe_closed
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2017-06-22 10:50:57 -0500
committerJoshua Hunsberger <jahunsbe@us.ibm.com>2017-10-23 18:05:21 -0500
commite4cd00d195f000f00465acfb0326f176a1b77a0e (patch)
tree395a5f70ef31c41b92910df945f542451776370e /import/chips/p9/procedures/ppe_closed
parentd650808d533939efdcd78b0c57ab95e729f8860a (diff)
downloadtalos-hcode-e4cd00d195f000f00465acfb0326f176a1b77a0e.tar.gz
talos-hcode-e4cd00d195f000f00465acfb0326f176a1b77a0e.zip
STOP: inline called-once functions
saving CME size: 256B Change-Id: Idf371f4c7ed73de931a0a523554a8b778cd176fc Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42292 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed')
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h22
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c24
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_arrayinit.c4
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_init.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_reset.c4
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_gptr_time_initf.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_initf.c4
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_occ_runtime_scom.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_poweron.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_ras_runtime_scom.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_repair_initf.c4
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scomcust.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scominit.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/topfiles.mk12
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_arrayinit.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_init.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_reset.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_dpll_setup.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_l2_startclocks.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_occ_runtime_scom.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_poweron.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_ras_runtime_scom.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scomcust.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_startclocks.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h25
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c14
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/topfiles.mk29
29 files changed, 82 insertions, 98 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h
index 4f7165c2..133339f4 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h
@@ -240,22 +240,19 @@ typedef struct
} CmeStopRecord;
-/// CME STOP Entry and Exit Prototypes
#if HW405292_NDD1_PCBMUX_SAVIOR
void p9_cme_pcbmux_savior_prologue(uint32_t);
void p9_cme_pcbmux_savior_epilogue(uint32_t);
#endif
-void p9_cme_acquire_pcbmux(uint32_t, uint32_t);
-void p9_cme_release_pcbmux(uint32_t);
-
+/// CME STOP Entry and Exit Prototypes
void p9_cme_stop_enter_thread(void*);
void p9_cme_stop_exit_thread(void*);
void p9_cme_stop_eval_eimr_override();
void p9_cme_stop_entry();
void p9_cme_stop_exit();
-int p9_cme_stop_exit_catchup(uint32_t*, uint32_t*, uint32_t*, uint8_t*, int*);
+// CME STOP Interrupt Handlers
void p9_cme_stop_enter_handler(void*, PkIrqId);
void p9_cme_stop_pcwu_handler(void*, PkIrqId);
void p9_cme_stop_rgwu_handler(void*, PkIrqId);
@@ -263,17 +260,6 @@ void p9_cme_stop_spwu_handler(void*, PkIrqId);
void p9_cme_stop_db1_handler(void*, PkIrqId);
void p9_cme_stop_db2_handler(void*, PkIrqId);
+// CME STOP Utility Functions
void p9_hcd_core_scan0(uint32_t, uint64_t, uint64_t);
-void p9_hcd_core_pcb_arb(uint32_t, uint8_t);
-void p9_hcd_core_poweron(uint32_t);
-void p9_hcd_core_chiplet_reset(uint32_t);
-void p9_hcd_core_gptr_time_initf(uint32_t);
-void p9_hcd_core_chiplet_init(uint32_t);
-void p9_hcd_core_repair_initf(uint32_t);
-void p9_hcd_core_arrayinit(uint32_t);
-void p9_hcd_core_initf(uint32_t);
-void p9_hcd_core_startclocks(uint32_t);
-void p9_hcd_core_scominit(uint32_t);
-void p9_hcd_core_scomcust(uint32_t);
-void p9_hcd_core_ras_runtime_scom(uint32_t);
-void p9_hcd_core_occ_runtime_scom(uint32_t);
+void p9_hcd_core_pcb_arb(uint32_t, uint8_t); // not used
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
index 0f71592b..4d779df5 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
@@ -28,6 +28,22 @@
#include "p9_cme_copy_scan_ring.h"
#include "p9_cme_pstate.h"
+// inline procedures only called by exit
+#include "p9_hcd_core_poweron.c"
+#include "p9_hcd_core_chiplet_reset.c"
+#include "p9_hcd_core_gptr_time_initf.c"
+#include "p9_hcd_core_chiplet_init.c"
+#include "p9_hcd_core_repair_initf.c"
+#include "p9_hcd_core_arrayinit.c"
+#include "p9_hcd_core_initf.c"
+#include "p9_hcd_core_startclocks.c"
+#include "p9_hcd_core_scominit.c"
+#include "p9_hcd_core_scomcust.c"
+#include "p9_hcd_core_ras_runtime_scom.c"
+#include "p9_hcd_core_occ_runtime_scom.c"
+
+
+
extern CmeStopRecord G_cme_stop_record;
extern CmeRecord G_cme_record;
@@ -37,7 +53,8 @@ uint8_t G_dsl[MAX_CORES_PER_CME][MAX_THREADS_PER_CORE] = {{0, 0, 0, 0}, {0, 0, 0
#endif
-void p9_cme_stop_exit_end(uint32_t core, uint32_t spwu_stop)
+static void
+p9_cme_stop_exit_end(uint32_t core, uint32_t spwu_stop)
{
uint32_t core_mask = 0;
uint32_t act_stop_level = 0;
@@ -294,7 +311,8 @@ void p9_cme_stop_exit_end(uint32_t core, uint32_t spwu_stop)
}
-void p9_cme_stop_exit_lv2(uint32_t core)
+static void
+p9_cme_stop_exit_lv2(uint32_t core)
{
//--------------------------------------------------------------------------
PK_TRACE("+++++ +++++ STOP LEVEL 2 EXIT +++++ +++++");
@@ -347,7 +365,7 @@ void p9_cme_stop_exit_lv2(uint32_t core)
#if !SKIP_EXIT_CATCHUP
-int
+static int
p9_cme_stop_exit_catchup(uint32_t* core,
uint32_t* deeper_core,
uint32_t* spwu_stop,
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_arrayinit.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_arrayinit.c
index e7527619..4b262c47 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_arrayinit.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_arrayinit.c
@@ -24,10 +24,10 @@
/* IBM_PROLOG_END_TAG */
#include "plat_ring_traverse.h"
-#include "p9_cme_stop.h"
-#include "p9_cme_stop_exit_marks.h"
#include "p9_ringid_cme_enums.h"
+#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_arrayinit(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_init.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_init.c
index 8308d8a6..4c7d970f 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_init.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_init.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_chiplet_init(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_reset.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_reset.c
index 9f16f781..20c76209 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_reset.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_chiplet_reset.c
@@ -23,9 +23,8 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
-#include "p9_cme_stop_exit_marks.h"
#include "p9_hcode_image_defines.H"
+#include "p9_cme_stop_exit_marks.h"
enum P9_HCD_CORE_CHIPLET_RESET_CONSTANTS
{
@@ -47,6 +46,7 @@ enum P9_HCD_CORE_CHIPLET_RESET_CONSTANTS
BIT64(16) | BIT64(18) | BIT64(22) | BITS64(25, 2))
};
+inline __attribute__((always_inline))
void
p9_hcd_core_chiplet_reset(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_gptr_time_initf.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_gptr_time_initf.c
index fbc8ddf5..1d39dfd0 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_gptr_time_initf.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_gptr_time_initf.c
@@ -24,10 +24,10 @@
/* IBM_PROLOG_END_TAG */
#include "plat_ring_traverse.h"
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
#include "p9_ringid_cme_enums.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_gptr_time_initf(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_initf.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_initf.c
index db91d946..ff70e81d 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_initf.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_initf.c
@@ -24,10 +24,10 @@
/* IBM_PROLOG_END_TAG */
#include "plat_ring_traverse.h"
-#include "p9_cme_stop.h"
-#include "p9_cme_stop_exit_marks.h"
#include "p9_ringid_cme_enums.h"
+#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_initf(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_occ_runtime_scom.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_occ_runtime_scom.c
index d041fde7..278e9d23 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_occ_runtime_scom.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_occ_runtime_scom.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_occ_runtime_scom(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_poweron.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_poweron.c
index 0fbc2728..c7225fd5 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_poweron.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_poweron.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_poweron(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_ras_runtime_scom.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_ras_runtime_scom.c
index cf19004e..a324f182 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_ras_runtime_scom.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_ras_runtime_scom.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_ras_runtime_scom(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_repair_initf.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_repair_initf.c
index 13ec6b91..b346fd67 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_repair_initf.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_repair_initf.c
@@ -25,10 +25,10 @@
#include "plat_ring_traverse.h"
-#include "p9_cme_stop.h"
-#include "p9_cme_stop_exit_marks.h"
#include "p9_ringid_cme_enums.h"
+#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_repair_initf(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scomcust.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scomcust.c
index 7c30d96c..3f0b92ee 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scomcust.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scomcust.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_scomcust(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scominit.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scominit.c
index d1ed529b..7333f791 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scominit.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_scominit.c
@@ -23,7 +23,6 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
enum P9_HCD_CORE_SCOMINIT_CONSTANTS
@@ -43,6 +42,7 @@ enum P9_HCD_CORE_SCOMINIT_CONSTANTS
NEST_HANG_LIMIT_200_HANG_PULSES = 0x64
};
+inline __attribute__((always_inline))
void
p9_hcd_core_scominit(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
index fc15dc31..2e9b453e 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_cme_stop.h"
#include "p9_cme_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_core_startclocks(uint32_t core)
{
diff --git a/import/chips/p9/procedures/ppe_closed/cme/topfiles.mk b/import/chips/p9/procedures/ppe_closed/cme/topfiles.mk
index 86ea038c..1a160342 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/topfiles.mk
+++ b/import/chips/p9/procedures/ppe_closed/cme/topfiles.mk
@@ -43,18 +43,6 @@ STOP-C-SOURCES = stop_cme/p9_cme_stop_irq_handlers.c \
stop_cme/p9_cme_stop_entry.c \
stop_cme/p9_cme_stop_exit.c \
stop_cme/p9_hcd_core_scan0.c \
- stop_cme/p9_hcd_core_poweron.c \
- stop_cme/p9_hcd_core_chiplet_reset.c \
- stop_cme/p9_hcd_core_gptr_time_initf.c \
- stop_cme/p9_hcd_core_chiplet_init.c \
- stop_cme/p9_hcd_core_repair_initf.c \
- stop_cme/p9_hcd_core_arrayinit.c \
- stop_cme/p9_hcd_core_initf.c \
- stop_cme/p9_hcd_core_startclocks.c \
- stop_cme/p9_hcd_core_scominit.c \
- stop_cme/p9_hcd_core_scomcust.c \
- stop_cme/p9_hcd_core_ras_runtime_scom.c \
- stop_cme/p9_hcd_core_occ_runtime_scom.c \
stop_cme/p9_cme_copy_scan_ring.c
TOP-S-SOURCES = stop_cme/p9_cme_header.S
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_arrayinit.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_arrayinit.c
index fd6a4ee5..a32c1574 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_arrayinit.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_arrayinit.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_arrayinit(uint32_t quad, uint32_t ex)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_init.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_init.c
index 9e94fa90..01a9db39 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_init.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_init.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_chiplet_init(uint32_t quad)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_reset.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_reset.c
index b1c772eb..87d4d221 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_reset.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_chiplet_reset.c
@@ -23,7 +23,6 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
extern SgpeStopRecord G_sgpe_stop_record;
@@ -48,6 +47,7 @@ enum P9_HCD_CACHE_CHIPLET_RESET_CONSTANTS
BIT64(18) | BIT64(22) | BITS64(25, 2))
};
+inline __attribute__((always_inline))
void
p9_hcd_cache_chiplet_reset(uint32_t quad, uint32_t ex)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_dpll_setup.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_dpll_setup.c
index 5f15934c..15cbd543 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_dpll_setup.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_dpll_setup.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_dpll_setup(uint32_t quad)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_l2_startclocks.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_l2_startclocks.c
index 52887185..5798592c 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_l2_startclocks.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_l2_startclocks.c
@@ -23,11 +23,11 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
extern SgpeStopRecord G_sgpe_stop_record;
+inline __attribute__((always_inline))
void
p9_hcd_cache_l2_startclocks(uint32_t quad, uint32_t ex, uint32_t pg)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_occ_runtime_scom.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_occ_runtime_scom.c
index c0fcbda0..99391b85 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_occ_runtime_scom.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_occ_runtime_scom.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_occ_runtime_scom(uint32_t quad)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_poweron.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_poweron.c
index 3c78e5c9..83bf9fe1 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_poweron.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_poweron.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_poweron(uint32_t quad)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_ras_runtime_scom.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_ras_runtime_scom.c
index 0b1e9d07..de2e6bca 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_ras_runtime_scom.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_ras_runtime_scom.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_ras_runtime_scom(uint32_t quad)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scomcust.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scomcust.c
index 3cf970d2..8512bb57 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scomcust.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scomcust.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_scomcust(uint32_t quad, uint32_t m_ex, int is_stop8)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c
index 7d4fd60f..a8825637 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c
@@ -23,11 +23,11 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
extern SgpeStopRecord G_sgpe_stop_record;
+inline __attribute__((always_inline))
void
p9_hcd_cache_scominit(uint32_t quad, uint32_t m_ex, int is_stop8)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_startclocks.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_startclocks.c
index 11d3aeb8..eaed1283 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_startclocks.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_startclocks.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-#include "p9_sgpe_stop.h"
#include "p9_sgpe_stop_exit_marks.h"
+inline __attribute__((always_inline))
void
p9_hcd_cache_startclocks(uint32_t quad, uint32_t ex)
{
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
index d5d07e0c..1b807c2b 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
@@ -289,44 +289,33 @@ struct ring_save
};
#endif
-void p9_sgpe_set_slvcfg_pm_disable(uint32_t);
-void p9_sgpe_clear_slvcfg_pm_disable(uint32_t);
/// SGPE to PGPE IPC handlers
void p9_sgpe_ipc_pgpe_ctrl_stop_updates(ipc_msg_t* cmd, void* arg);
void p9_sgpe_ipc_pgpe_suspend_stop(ipc_msg_t* cmd, void* arg);
void p9_sgpe_ipc_pgpe_rsp_callback(ipc_msg_t* cmd, void* arg);
-/// SGPE STOP Entry and Exit Prototypes
-void p9_sgpe_stop_suspend_msg_db1(uint32_t, uint32_t);
-void p9_sgpe_stop_ipi_handler(void*, PkIrqId);
+/// SGPE STOP Interrupt Handlers
void p9_sgpe_stop_pig_handler(void*, PkIrqId);
+void p9_sgpe_stop_ipi_handler(void*, PkIrqId);
+void p9_sgpe_stop_suspend_msg_db1(uint32_t, uint32_t);
+void p9_sgpe_stop_suspend_all_cmes();
+
+/// SGPE STOP Entry and Exit Prototypes
void p9_sgpe_stop_enter_thread(void*);
void p9_sgpe_stop_exit_thread(void*);
void p9_sgpe_stop_entry();
void p9_sgpe_stop_exit();
void p9_sgpe_stop_cme_scominit(uint32_t, uint32_t, uint32_t);
-void p9_sgpe_stop_suspend_all_cmes();
/// Procedures shared between Istep4 and SGPE Stop
-void p9_hcd_cache_scan0(uint32_t, uint64_t, uint64_t);
-void p9_hcd_cache_poweron(uint32_t);
-void p9_hcd_cache_chiplet_reset(uint32_t, uint32_t);
void p9_hcd_cache_chiplet_l3_dcc_setup(uint32_t);
void p9_hcd_cache_gptr_time_initf(uint32_t);
void p9_hcd_cache_dpll_initf(uint32_t);
-void p9_hcd_cache_dpll_setup(uint32_t);
void p9_hcd_cache_dcc_skewadjust_setup(uint32_t);
-void p9_hcd_cache_chiplet_init(uint32_t);
void p9_hcd_cache_repair_initf(uint32_t);
-void p9_hcd_cache_arrayinit(uint32_t, uint32_t ex);
void p9_hcd_cache_initf(uint32_t);
-void p9_hcd_cache_startclocks(uint32_t, uint32_t);
-void p9_hcd_cache_l2_startclocks(uint32_t, uint32_t, uint32_t);
-void p9_hcd_cache_scominit(uint32_t, uint32_t, int);
-void p9_hcd_cache_scomcust(uint32_t, uint32_t, int);
-void p9_hcd_cache_ras_runtime_scom(uint32_t);
-void p9_hcd_cache_occ_runtime_scom(uint32_t);
+void p9_hcd_cache_scan0(uint32_t, uint64_t, uint64_t);
#ifdef __cplusplus
} // extern "C"
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c
index 0b6042b9..6875d437 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c
@@ -27,6 +27,20 @@
#include "p9_sgpe_stop_exit_marks.h"
#include "p9_hcd_sgpe_boot_cme.h"
+// inline procedures only called by exit
+#include "p9_hcd_cache_poweron.c"
+#include "p9_hcd_cache_chiplet_reset.c"
+#include "p9_hcd_cache_dpll_setup.c"
+#include "p9_hcd_cache_chiplet_init.c"
+#include "p9_hcd_cache_arrayinit.c"
+#include "p9_hcd_cache_startclocks.c"
+#include "p9_hcd_cache_l2_startclocks.c"
+#include "p9_hcd_cache_scominit.c"
+#include "p9_hcd_cache_scomcust.c"
+#include "p9_hcd_cache_occ_runtime_scom.c"
+#include "p9_hcd_cache_ras_runtime_scom.c"
+
+
extern SgpeStopRecord G_sgpe_stop_record;
#if !SKIP_IPC
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/topfiles.mk b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/topfiles.mk
index 909f6ae8..dc548218 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/topfiles.mk
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/topfiles.mk
@@ -24,32 +24,18 @@
# IBM_PROLOG_END_TAG
ifdef IMAGE
+TOP-S-SOURCES = p9_sgpe_image_header.S
+
TOP-C-SOURCES = p9_sgpe_stop_entry.c \
p9_sgpe_stop_exit.c \
- p9_sgpe_stop_irq_handlers.c \
p9_sgpe_stop_enter_thread.c \
p9_sgpe_stop_exit_thread.c \
- p9_hcd_cache_scan0.c \
- p9_hcd_cache_poweron.c \
- p9_hcd_cache_chiplet_reset.c \
- p9_hcd_cache_dpll_setup.c \
- p9_hcd_cache_chiplet_init.c \
- p9_hcd_cache_arrayinit.c \
- p9_hcd_cache_startclocks.c \
- p9_hcd_cache_l2_startclocks.c \
- p9_hcd_cache_scominit.c \
- p9_hcd_cache_scomcust.c \
- p9_hcd_cache_occ_runtime_scom.c \
- p9_hcd_cache_ras_runtime_scom.c \
- p9_hcd_sgpe_boot_cme.c \
+ p9_sgpe_stop_irq_handlers.c \
p9_sgpe_ipc_handlers.c \
p9_sgpe_ipc_func_tables.c \
- p9_sgpe_irq.c
-
-UTILS-SRC = utils/p9_putringutils.C
-UTILS-SRC += utils/plat_ring_traverse.C
-
-TOP-S-SOURCES = p9_sgpe_image_header.S
+ p9_sgpe_irq.c \
+ p9_hcd_sgpe_boot_cme.c \
+ p9_hcd_cache_scan0.c
TOP-CPP-SOURCES = p9_sgpe_main.C
TOP-CPP-SOURCES += p9_hcd_cache_initf.C
@@ -59,6 +45,9 @@ TOP-CPP-SOURCES += p9_hcd_cache_dcc_skewadjust_setup.C
TOP-CPP-SOURCES += p9_hcd_cache_repair_initf.C
TOP-CPP-SOURCES += p9_hcd_cache_gptr_time_initf.C
+UTILS-SRC = utils/p9_putringutils.C
+UTILS-SRC += utils/plat_ring_traverse.C
+
UTILS_OBJECTS = $(UTILS-SRC:.C=.o)
TOP_OBJECTS = $(TOP-C-SOURCES:.c=.o) $(TOP-S-SOURCES:.S=.o) $(TOP-CPP-SOURCES:.C=.o)
endif
OpenPOWER on IntegriCloud