qcacmn: Move to index based assignment for srng register offset

Currently the hardware srng register offset is statically
assigned to the handle. This can lead to incorrect index access
when targets (eg: wcn7850) is added which require additional
register offsets to be stored in the hw srng register offset table.

Move to the index based assignment of the srng register offset.

Change-Id: I8e38bdd0c28068029a0267fce706edf4378b9df8
CRs-Fixed: 2965081
Šī revīzija ir iekļauta:
Rakesh Pillai
2021-04-29 01:49:03 -07:00
revīziju iesūtīja Madan Koyyalamudi
vecāks 37e2c6d9ed
revīzija 47af4d320f
12 mainīti faili ar 76 papildinājumiem un 314 dzēšanām

Parādīt failu

@@ -1687,36 +1687,6 @@ struct hal_hw_srng_config hw_srng_table_6390[] = {
#endif
};
int32_t hal_hw_reg_offset_qca6390[] = {
/* 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, BASE_LSB),
REG_OFFSET(DST, BASE_MSB),
REG_OFFSET(DST, PRODUCER_INT_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_qca6390_attach() - Attach 6390 target specific hal_soc ops,
* offset and srng table
@@ -1724,7 +1694,7 @@ int32_t hal_hw_reg_offset_qca6390[] = {
void hal_qca6390_attach(struct hal_soc *hal_soc)
{
hal_soc->hw_srng_table = hw_srng_table_6390;
hal_soc->hal_hw_reg_offset = hal_hw_reg_offset_qca6390;
hal_srng_hw_reg_offset_init_generic(hal_soc);
hal_hw_txrx_default_ops_attach_li(hal_soc);
hal_hw_txrx_ops_attach_qca6390(hal_soc);
}