summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSangeetha T S <sangeet2@in.ibm.com>2016-01-27 06:56:31 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-06-16 11:53:03 -0400
commite9cfb3c7dad648fb11bdf2a44bb91fc20df75b24 (patch)
tree18c1c6c84a1c7e8c8dbef8c881fceb5bcb40c9e1
parent13974153ece3b7789844d5cdc70a359979bb2f10 (diff)
downloadtalos-hostboot-e9cfb3c7dad648fb11bdf2a44bb91fc20df75b24.tar.gz
talos-hostboot-e9cfb3c7dad648fb11bdf2a44bb91fc20df75b24.zip
p9_pm_ocb_indir_access: Modify the interface to accept integer data
Change-Id: Icfd9c5600be36d41fd95a7778e3259373831eb14 Original-Change-Id: I118adb076b9119759cc1dba64a3c4b5bb3c17f76 RTC: 145593 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/23880 Tested-by: Jenkins Server Reviewed-by: RAJA DAS <rajadas2@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25898 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.C35
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.H18
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.C14
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.H2
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_pm_ocb_indir_access_errors.xml1
5 files changed, 53 insertions, 17 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.C
index 472fcc70c..42de9c0ce 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.C
@@ -21,7 +21,7 @@
///
// *HWP HWP Owner : Amit Kumar <akumar@us.ibm.com>
// *HWP Backup HWP Owner: Greg Still <stillgs@us.ibm.com>
-// *HWP FW Owner : Bilicon Patil <bilpatil@in.ibm.com>
+// *HWP FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
// *HWP Team : PM
// *HWP Level : 2
// *HWP Consumed by : HS
@@ -29,7 +29,7 @@
/// High-level procedure flow:
/// @verbatim
/// Setup specified channel to push or pull circular mode by calling
-/// proc proc_ocb_init
+/// p9_pm_ocb_init
///
/// Procedure Prereq:
/// - System clocks are running
@@ -45,22 +45,39 @@
fapi2::ReturnCode p9_pm_ocb_indir_setup_circular(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
const p9ocb::PM_OCB_CHAN_NUM i_ocb_chan,
- const p9ocb::PM_OCB_CHAN_TYPE i_ocb_type)
+ const p9ocb::PM_OCB_CHAN_TYPE i_ocb_type,
+ const uint32_t i_ocb_bar,
+ const uint8_t i_ocb_q_len,
+ const p9ocb::PM_OCB_CHAN_OUFLOW i_ocb_flow,
+ const p9ocb::PM_OCB_ITPTYPE i_ocb_itp)
{
FAPI_IMP("p9_pm_ocb_indir_setup_circular Enter");
- FAPI_DBG("For channel %x as type %x", i_ocb_chan, i_ocb_type);
+ FAPI_DBG("Channel: %d; Mode: %d; OCB BAR: 0x%08X; Queue length: %d;",
+ i_ocb_chan, i_ocb_type, i_ocb_bar, i_ocb_q_len);
+ FAPI_DBG("Flow Notification Mode: %d; Interrupt Behaviour: %d", i_ocb_flow,
+ i_ocb_itp);
fapi2::ReturnCode l_rc = fapi2::FAPI2_RC_SUCCESS;
FAPI_EXEC_HWP(l_rc,
p9_pm_ocb_init,
i_target,
- p9pm::PM_SETUP_PIB,
+ p9pm::PM_SETUP_ALL,
i_ocb_chan,
i_ocb_type,
- 0, // ocb_bar
- 0, // ocb_q_len
- p9ocb::OCB_Q_OUFLOW_NULL,
- p9ocb::OCB_Q_ITPTYPE_NULL);
+ i_ocb_bar,
+ i_ocb_q_len,
+ i_ocb_flow,
+ i_ocb_itp);
+
+ if (l_rc == fapi2::FAPI2_RC_SUCCESS)
+ {
+ FAPI_INF("Circular setup of channel %d successful.", i_ocb_chan);
+ }
+ else
+ {
+ FAPI_ERR("ERROR: Failed to setup channel %d to circular mode.",
+ i_ocb_chan);
+ }
FAPI_IMP("p9_pm_ocb_indir_setup_circular Exit");
return l_rc;
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.H
index 0d1420736..ede8a622c 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.H
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_circular.H
@@ -18,9 +18,9 @@
/* IBM_PROLOG_END_TAG */
/// @file p9_pm_ocb_indir_setup_circular.H
/// @brief Configure OCB Channels for Circular Push or Pull Mode
-// *HWP HWP Owner : Greg Still <stillgs@us.ibm.com>
-// *HWP Backup HWP Owner:
-// *HWP FW Owner : Bilicon Patil <bilpatil@in.ibm.com>
+// *HWP HWP Owner : Amit Kumar <akumar@us.ibm.com>
+// *HWP Backup HWP Owner: Greg Still <stillgs@us.ibm.com>
+// *HWP FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
// *HWP Team : PM
// *HWP Level : 2
// *HWP Consumed by : HS
@@ -35,7 +35,11 @@
typedef fapi2::ReturnCode (*p9_pm_ocb_indir_setup_circular_FP_t)
(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&,
const p9ocb::PM_OCB_CHAN_NUM,
- const p9ocb::PM_OCB_CHAN_TYPE);
+ const p9ocb::PM_OCB_CHAN_TYPE,
+ const uint32_t,
+ const uint8_t,
+ const p9ocb::PM_OCB_CHAN_OUFLOW,
+ const p9ocb::PM_OCB_ITPTYPE);
extern "C"
{
@@ -52,7 +56,11 @@ extern "C"
fapi2::ReturnCode p9_pm_ocb_indir_setup_circular(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
const p9ocb::PM_OCB_CHAN_NUM i_ocb_chan,
- const p9ocb::PM_OCB_CHAN_TYPE i_ocb_type);
+ const p9ocb::PM_OCB_CHAN_TYPE i_ocb_type,
+ const uint32_t i_ocb_bar,
+ const uint8_t i_ocb_q_len,
+ const p9ocb::PM_OCB_CHAN_OUFLOW i_ocb_flow,
+ const p9ocb::PM_OCB_ITPTYPE i_ocb_itp);
} // extern "C"
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.C
index 66c7ca152..868f0b1ce 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.C
@@ -21,7 +21,7 @@
// *HWP HWP Owner : Amit Kumar <akumar3@us.ibm.com>
// *HWP Backup HWP Owner: Greg Still <stillgs@us.ibm.com>
-// *HWP FW Owner : Bilicon Patil <bilpatil@in.ibm.com>
+// *HWP FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
// *HWP Team : PM
// *HWP Level : 2
// *HWP Consumed by : HS
@@ -54,7 +54,7 @@ fapi2::ReturnCode p9_pm_ocb_indir_setup_linear(
const uint32_t i_ocb_bar)
{
FAPI_IMP("p9_pm_ocb_indir_setup_linear Enter");
- FAPI_DBG("For channel %x as type %x, OCB Bar %x",
+ FAPI_DBG("For channel %d as type %d, OCB Bar 0x%x",
i_ocb_chan, i_ocb_type, i_ocb_bar);
fapi2::ReturnCode l_rc = fapi2::FAPI2_RC_SUCCESS;
@@ -69,6 +69,16 @@ fapi2::ReturnCode p9_pm_ocb_indir_setup_linear(
p9ocb::OCB_Q_OUFLOW_NULL,
p9ocb::OCB_Q_ITPTYPE_NULL);
+ if (l_rc == fapi2::FAPI2_RC_SUCCESS)
+ {
+ FAPI_INF("Linear setup of channel %d successful.", i_ocb_chan);
+ }
+ else
+ {
+ FAPI_ERR("ERROR: Failed to setup channel %d to linear mode.",
+ i_ocb_chan);
+ }
+
FAPI_IMP("p9_pm_ocb_indir_setup_linear Exit");
return l_rc;
}
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.H
index 50a9f126b..367777b22 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.H
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_indir_setup_linear.H
@@ -21,7 +21,7 @@
// *HWP HWP Owner : Amit Kumar <akumar3@us.ibm.com>
// *HWP Backup HWP Owner: Greg Still <stillgs@us.ibm.com>
-// *HWP FW Owner : Bilicon Patil <bilpatil@in.ibm.com>
+// *HWP FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
// *HWP Team : PM
// *HWP Level : 2
// *HWP Consumed by : HS
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_pm_ocb_indir_access_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_pm_ocb_indir_access_errors.xml
index fbb517a1b..7483e6651 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_pm_ocb_indir_access_errors.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_pm_ocb_indir_access_errors.xml
@@ -45,4 +45,5 @@
</description>
<ffdc>PUSHQ_STATE</ffdc>
</hwpError>
+ <!-- ******************************************************************* -->
</hwpErrors>
OpenPOWER on IntegriCloud