From e7813197080896f89d0f7dee9fc1d050f085b92c Mon Sep 17 00:00:00 2001 From: Minh-Quang Nguyen Date: Wed, 7 Sep 2016 09:00:46 -0400 Subject: Implementation of direct DSP access failure alarm. The alarm cause ID is manufacture-defined by NuRAN Wireless Change-Id: I14a8d15b9a0f9b823d850ba2582e62bb39fc9734 --- src/pcu_l1_if.cpp | 15 +++++++++++++++ src/pcuif_proto.h | 1 + 2 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 2397d79e..d93dc91a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -502,6 +502,9 @@ bssgp_failed: if (!bts->trx[trx].fl1h) { LOGP(DL1IF, LOGL_FATAL, "Failed to open direct " "DSP access for PDCH.\n"); + + alarm_sig_data.spare[0] = trx; + osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_PDCH_ALARM, &alarm_sig_data); exit(0); } #else @@ -635,6 +638,18 @@ static int handle_pcu_fail_evt_rep_sig(unsigned int subsys, unsigned int signal, PCU_NM_EVT_CAUSE_CRIT_BAD_PCU_IF_VER, sig_data->add_text); break; +#ifdef ENABLE_DIRECT_PHY + case S_PCU_NM_FAIL_OPEN_PDCH_ALARM: + snprintf(log_msg, 100, "PCU: Failed to open direct DSP (%d) access for PDCH.\n", sig_data->spare[0]); + sig_data->add_text = &log_msg[0]; + + rc = pcu_tx_nm_fail_evt(NM_EVT_PROC_FAIL, + NM_SEVER_CRITICAL, + NM_PCAUSE_T_MANUF, + PCU_NM_EVT_CAUSE_CRIT_OPEN_PDCH_FAIL, + sig_data->add_text); + break; +#endif default: break; } diff --git a/src/pcuif_proto.h b/src/pcuif_proto.h index 19fcb94f..69989da7 100644 --- a/src/pcuif_proto.h +++ b/src/pcuif_proto.h @@ -50,6 +50,7 @@ /* NuRAN Wireless manufacture-defined alarm causes */ enum pcu_nm_event_causes { /* Critical causes */ + PCU_NM_EVT_CAUSE_CRIT_OPEN_PDCH_FAIL = 0x3411, PCU_NM_EVT_CAUSE_CRIT_BAD_PCU_IF_VER = 0x3415, /* Major causes */ PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_MSG = 0x3012, -- cgit v1.2.3