qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration, it is helpful for PCIe utilization improvement. timer based threshold - M: issue pointer updates when M micro seconds has elapsed. number based threshold - N: issue pointer updates when N entries updates occur. Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f CRs-Fixed: 3420101
このコミットが含まれているのは:
@@ -1891,6 +1891,37 @@ static void dp_print_peer_table(struct dp_vdev *vdev)
|
||||
DP_MOD_ID_GENERIC_STATS);
|
||||
}
|
||||
|
||||
/**
|
||||
* dp_srng_configure_pointer_update_thresholds() - Retrieve pointer
|
||||
* update threshold value from wlan_cfg_ctx
|
||||
* @soc: device handle
|
||||
* @ring_params: per ring specific parameters
|
||||
* @ring_type: Ring type
|
||||
* @ring_num: Ring number for a given ring type
|
||||
* @num_entries: number of entries to fill
|
||||
*
|
||||
* Fill the ring params with the pointer update threshold
|
||||
* configuration parameters available in wlan_cfg_ctx
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void
|
||||
dp_srng_configure_pointer_update_thresholds(
|
||||
struct dp_soc *soc,
|
||||
struct hal_srng_params *ring_params,
|
||||
int ring_type, int ring_num,
|
||||
int num_entries)
|
||||
{
|
||||
if (ring_type == REO_DST) {
|
||||
ring_params->pointer_timer_threshold =
|
||||
wlan_cfg_get_pointer_timer_threshold_rx(
|
||||
soc->wlan_cfg_ctx);
|
||||
ring_params->pointer_num_threshold =
|
||||
wlan_cfg_get_pointer_num_threshold_rx(
|
||||
soc->wlan_cfg_ctx);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WLAN_DP_PER_RING_TYPE_CONFIG
|
||||
/**
|
||||
* dp_srng_configure_interrupt_thresholds() - Retrieve interrupt
|
||||
@@ -2407,6 +2438,9 @@ QDF_STATUS dp_srng_init_idx(struct dp_soc *soc, struct dp_srng *srng,
|
||||
srng->num_entries);
|
||||
|
||||
dp_srng_set_nf_thresholds(soc, srng, &ring_params);
|
||||
dp_srng_configure_pointer_update_thresholds(soc, &ring_params,
|
||||
ring_type, ring_num,
|
||||
srng->num_entries);
|
||||
|
||||
if (srng->cached)
|
||||
ring_params.flags |= HAL_SRNG_CACHED_DESC;
|
||||
|
新しいイシューから参照
ユーザーをブロックする