pdch: Instead of passing bts, trx, ts use the pdch

All dispatching will go through the PDCH. This will clean a lot
of the look-ups inside the gprs_rlcmac_data.c and continue with
adding structure to the pcu code.
diff --git a/src/bts.cpp b/src/bts.cpp
index b2ec50f..83c5029 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -339,3 +339,9 @@
 {
 	llist_add(&pag->list, &paging_list);
 }
+
+int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi)
+{
+	return gprs_rlcmac_rcv_block(trx->bts->bts_data(),
+					trx->trx_no, ts_no, data, len, fn, rssi);
+}
diff --git a/src/bts.h b/src/bts.h
index a8b6223..4b9ede4 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -53,6 +53,9 @@
 
 	void enable();
 	void disable();
+
+	/* dispatching of messages */
+	int rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi);
 #endif
 
 	uint8_t m_is_enabled; /* TS is enabled */
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 53303d9..1dac5dd 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -180,11 +180,13 @@
 	pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3);
 }
 
-extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data,
+extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx_no, uint8_t ts_no, uint8_t *data,
 	uint8_t len, uint32_t fn, int8_t rssi)
 {
-	return gprs_rlcmac_rcv_block(bts_main_data(),
-					trx, ts, data, len, fn, rssi);
+	struct gprs_rlcmac_pdch *pdch;
+
+	pdch = &bts_main_data()->trx[trx_no].pdch[ts_no];
+	return pdch->rcv_block(data, len, fn, rssi);
 }
 
 static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind)