From 154a52ee7e334a7b94b54c79a3376b37157f1859 Mon Sep 17 00:00:00 2001 From: Jenny Huynh Date: Tue, 31 Jan 2017 16:07:23 -0600 Subject: [PATCH] Adding HW363780 to NPU scom initfiles NPU fir bit can fire for any rcmd snoop that misses in the table lookup. Masking for nimbus dd1 only. Change-Id: I0651b37279b0cee4ca5d383d83f0eb1079b75bd1 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35676 Reviewed-by: Thi N. Tran Reviewed-by: James N. Klazynski Tested-by: Jenkins Server Tested-by: PPE CI Tested-by: Hostboot CI Reviewed-by: Joseph J. McGill Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35684 Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M. Crowell --- .../p9/procedures/hwp/initfiles/p9_npu_scom.C | 72 +++++++++++++++++++ .../xml/attribute_info/chip_ec_attributes.xml | 18 +++++ 2 files changed, 90 insertions(+) diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C index 608c812b9dc..25e9dd1c4cc 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C @@ -90,6 +90,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011008ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501101bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501101bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011020ull, l_scom_buffer )); @@ -119,6 +125,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011028ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501103bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501103bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011040ull, l_scom_buffer )); @@ -148,6 +160,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011048ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501105bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501105bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011060ull, l_scom_buffer )); @@ -177,6 +195,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011068ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501107bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501107bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011100ull, l_scom_buffer )); @@ -206,6 +230,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011108ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501111bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501111bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011120ull, l_scom_buffer )); @@ -235,6 +265,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011128ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501113bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501113bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011140ull, l_scom_buffer )); @@ -264,6 +300,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011148ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501115bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501115bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011160ull, l_scom_buffer )); @@ -293,6 +335,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011168ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501117bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501117bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011200ull, l_scom_buffer )); @@ -322,6 +370,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011208ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501121bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501121bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011220ull, l_scom_buffer )); @@ -351,6 +405,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011228ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501123bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501123bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011240ull, l_scom_buffer )); @@ -380,6 +440,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011248ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501125bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501125bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011260ull, l_scom_buffer )); @@ -409,6 +475,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target& || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)) ); FAPI_TRY(fapi2::putScom(TGT0, 0x5011268ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501127bull, l_scom_buffer )); + + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x501127bull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x5011403ull, l_scom_buffer )); diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index c2a1853e32a..842ee013f12 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -2021,6 +2021,24 @@ + + ATTR_CHIP_EC_FEATURE_HW363780> + TARGET_TYPE_PROC_CHIP + + Nimbus DD1: NPU incorrectly asserts FIR for any rcmd snoops that + misses its table lookup, includes commands that it does not master + + + + ENUM_ATTR_NAME_NIMBUS + + 0x20 + LESS_THAN + + + + +