Skip to content

Commit

Permalink
STOP: Change ring_save structure to 0xfff3fc00 PDA location
Browse files Browse the repository at this point in the history
z .pda_ptrs      0x00000000fff3fc00      0x180
z                0x00000000fff3fc00      G_ring_save
z
z uint64_t G_ring_save[MAX_QUADS][8]
z __attribute__((section(".pda_ptrs"))) =
z {
z    {0, 0, 0, 0, 0, 0, 0, 0},
z    {0, 0, 0, 0, 0, 0, 0, 0},
z    {0, 0, 0, 0, 0, 0, 0, 0},
z    {0, 0, 0, 0, 0, 0, 0, 0},
z    {0, 0, 0, 0, 0, 0, 0, 0},
z    {0, 0, 0, 0, 0, 0, 0, 0}
z };

Change-Id: I1d4163887e9a0c8964ce1ee9e309c7bd92da5a98
Original-Change-Id: Ie48971ffaaa0d342d4091e0884cf1ae27a0265d6
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36837
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: AMIT KUMAR <akumar3@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
  • Loading branch information
davidduyue authored and op-jenkins committed Aug 22, 2018
1 parent 2770649 commit 2b66fcf
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,14 @@ typedef struct
uint64_t data;
} SgpeScomRestore;

#if HW386311_DD1_PBIE_RW_PTR_STOP11_FIX
// Types for PB EQ asynch work-around
struct ring_save
{
uint64_t element[MAX_QUADS][8];
};
#endif

#if HW405292_NDD1_PCBMUX_FENCE_FIX
void p9_sgpe_set_slvcfg_pm_disable(uint32_t);
void p9_sgpe_clear_slvcfg_pm_disable(uint32_t);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,8 @@ extern SgpeStopRecord G_sgpe_stop_record;

#if HW386311_DD1_PBIE_RW_PTR_STOP11_FIX

uint64_t G_ring_save[MAX_QUADS][8] =
{
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
};

uint64_t G_ring_spin[10][2] =
{
{0, 0},
{5039, 0xE000000000000000}, //3
{5100, 0xC1E061FFED5F0000}, //29
{5664, 0xE000000000000000}, //3
{5725, 0xC1E061FFED5F0000}, //29
{5973, 0xE000000000000000}, //3
{6034, 0xC1E061FFED5F0000}, //29
{6282, 0xE000000000000000}, //3
{6343, 0xC1E061FFED5F0000}, //29
{17871, 0} //128
};
extern struct ring_save* G_ring_save;
extern uint64_t G_ring_spin[10][2];

#endif

Expand Down Expand Up @@ -929,16 +908,16 @@ p9_sgpe_stop_entry()
PK_TRACE("FCMS: save pbie read ptr");
GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(0x1003E000, qloop), scom_data.value);
EXTRACT_RING_BITS(G_ring_spin[spin][1], scom_data.value,
G_ring_save[qloop][spin - 1]);
G_ring_save->element[qloop][spin - 1]);
PK_TRACE("FCMS: mask: %8x %8x",
UPPER32(G_ring_spin[spin][1]),
LOWER32(G_ring_spin[spin][1]));
PK_TRACE("FCMS: ring: %8x %8x",
scom_data.words.upper,
scom_data.words.lower);
PK_TRACE("FCMS: save: %8x %8x",
UPPER32(G_ring_save[qloop][spin - 1]),
LOWER32(G_ring_save[qloop][spin - 1]));
UPPER32(G_ring_save->element[qloop][spin - 1]),
LOWER32(G_ring_save->element[qloop][spin - 1]));
}

GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(0x10030005, qloop), 0);
Expand Down

0 comments on commit 2b66fcf

Please sign in to comment.