|
@@ -1848,39 +1848,23 @@ struct hal_hw_srng_config hw_srng_table_7850[] = {
|
|
|
#endif
|
|
|
};
|
|
|
|
|
|
-int32_t hal_hw_reg_offset_wcn7850[] = {
|
|
|
- /* dst */
|
|
|
- REG_OFFSET(DST, HP),
|
|
|
- REG_OFFSET(DST, TP),
|
|
|
- REG_OFFSET(DST, ID),
|
|
|
- REG_OFFSET(DST, MISC),
|
|
|
- REG_OFFSET(DST, HP_ADDR_LSB),
|
|
|
- REG_OFFSET(DST, HP_ADDR_MSB),
|
|
|
- REG_OFFSET(DST, MSI1_BASE_LSB),
|
|
|
- REG_OFFSET(DST, MSI1_BASE_MSB),
|
|
|
- REG_OFFSET(DST, MSI1_DATA),
|
|
|
- REG_OFFSET(DST, MSI2_BASE_LSB),
|
|
|
- REG_OFFSET(DST, MSI2_BASE_MSB),
|
|
|
- REG_OFFSET(DST, MSI2_DATA),
|
|
|
- REG_OFFSET(DST, BASE_LSB),
|
|
|
- REG_OFFSET(DST, BASE_MSB),
|
|
|
- REG_OFFSET(DST, PRODUCER_INT_SETUP),
|
|
|
- REG_OFFSET(DST, PRODUCER_INT2_SETUP),
|
|
|
- /* src */
|
|
|
- REG_OFFSET(SRC, HP),
|
|
|
- REG_OFFSET(SRC, TP),
|
|
|
- REG_OFFSET(SRC, ID),
|
|
|
- REG_OFFSET(SRC, MISC),
|
|
|
- REG_OFFSET(SRC, TP_ADDR_LSB),
|
|
|
- REG_OFFSET(SRC, TP_ADDR_MSB),
|
|
|
- REG_OFFSET(SRC, MSI1_BASE_LSB),
|
|
|
- REG_OFFSET(SRC, MSI1_BASE_MSB),
|
|
|
- REG_OFFSET(SRC, MSI1_DATA),
|
|
|
- REG_OFFSET(SRC, BASE_LSB),
|
|
|
- REG_OFFSET(SRC, BASE_MSB),
|
|
|
- REG_OFFSET(SRC, CONSUMER_INT_SETUP_IX0),
|
|
|
- REG_OFFSET(SRC, CONSUMER_INT_SETUP_IX1),
|
|
|
-};
|
|
|
+/**
|
|
|
+ * hal_srng_hw_reg_offset_init_wcn7850() - Initialize the HW srng reg offset
|
|
|
+ * applicable only for WCN7850
|
|
|
+ * @hal_soc: HAL Soc handle
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static inline void hal_srng_hw_reg_offset_init_wcn7850(struct hal_soc *hal_soc)
|
|
|
+{
|
|
|
+ int32_t *hw_reg_offset = hal_soc->hal_hw_reg_offset;
|
|
|
+
|
|
|
+ hw_reg_offset[DST_MSI2_BASE_LSB] = REG_OFFSET(DST, MSI2_BASE_LSB),
|
|
|
+ hw_reg_offset[DST_MSI2_BASE_MSB] = REG_OFFSET(DST, MSI2_BASE_MSB),
|
|
|
+ hw_reg_offset[DST_MSI2_DATA] = REG_OFFSET(DST, MSI2_DATA),
|
|
|
+ hw_reg_offset[DST_PRODUCER_INT2_SETUP] =
|
|
|
+ REG_OFFSET(DST, PRODUCER_INT2_SETUP);
|
|
|
+}
|
|
|
|
|
|
/**
|
|
|
* hal_wcn7850_attach() - Attach 7850 target specific hal_soc ops,
|
|
@@ -1889,7 +1873,9 @@ int32_t hal_hw_reg_offset_wcn7850[] = {
|
|
|
void hal_wcn7850_attach(struct hal_soc *hal_soc)
|
|
|
{
|
|
|
hal_soc->hw_srng_table = hw_srng_table_7850;
|
|
|
- hal_soc->hal_hw_reg_offset = hal_hw_reg_offset_wcn7850;
|
|
|
+
|
|
|
+ hal_srng_hw_reg_offset_init_generic(hal_soc);
|
|
|
+ hal_srng_hw_reg_offset_init_wcn7850(hal_soc);
|
|
|
hal_hw_txrx_default_ops_attach_be(hal_soc);
|
|
|
hal_hw_txrx_ops_attach_wcn7850(hal_soc);
|
|
|
}
|