qcacld-3.0: Affine tx rings intrs to gold core at very high tputs
Affine tx rings interrupts to gold cores at very high tput level and to silver cores at tput levels lower than very high. Change-Id: I90006645acb82b71c63d2255722e2c67bb7a2f46 CRs-Fixed: 3059716
This commit is contained in:

committed by
Madan Koyyalamudi

parent
de54732b25
commit
1e31f26b25
@@ -10110,6 +10110,9 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
||||
enum tput_level tput_level;
|
||||
struct bbm_params param = {0};
|
||||
bool legacy_client = false;
|
||||
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
||||
ol_txrx_soc_handle soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
static enum tput_level prev_tput_level = TPUT_LEVEL_NONE;
|
||||
|
||||
cpumask_clear(&pm_qos_cpu_mask);
|
||||
|
||||
@@ -10152,6 +10155,17 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
||||
hdd_debug("tx_packets: %lld, rx_packets: %lld",
|
||||
tx_packets, rx_packets);
|
||||
|
||||
/* Set affinity for tx completion grp interrupts */
|
||||
if (tput_level >= TPUT_LEVEL_VERY_HIGH &&
|
||||
prev_tput_level < TPUT_LEVEL_VERY_HIGH)
|
||||
hif_set_grp_intr_affinity(hif_ctx,
|
||||
cdp_get_tx_rings_grp_bitmap(soc), true);
|
||||
else if (tput_level < TPUT_LEVEL_VERY_HIGH &&
|
||||
prev_tput_level >= TPUT_LEVEL_VERY_HIGH)
|
||||
hif_set_grp_intr_affinity(hif_ctx,
|
||||
cdp_get_tx_rings_grp_bitmap(soc), false);
|
||||
|
||||
prev_tput_level = tput_level;
|
||||
hdd_ctx->cur_vote_level = next_vote_level;
|
||||
vote_level_change = true;
|
||||
|
||||
|
Reference in New Issue
Block a user