Loading dp/inc/cdp_txrx_cmn_struct.h +3 −1 Original line number Diff line number Diff line /* * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -2333,6 +2333,7 @@ struct cdp_monitor_filter { * @cfg_dp_tso_enable: get TSO enable config * @cfg_dp_lro_enable: get LRO enable config * @cfg_dp_gro_enable: get GRP enable config * @cfg_dp_force_gro_enable: get Force GRP enable config * @cfg_dp_tx_flow_start_queue_offset: get DP TX flow start queue offset * @cfg_dp_tx_flow_stop_queue_threshold: get DP TX flow stop queue threshold * @cfg_dp_ipa_uc_tx_buf_size: get IPA TX buf size config Loading @@ -2355,6 +2356,7 @@ enum cdp_dp_cfg { cfg_dp_tso_enable, cfg_dp_lro_enable, cfg_dp_gro_enable, cfg_dp_force_gro_enable, cfg_dp_tx_flow_start_queue_offset, cfg_dp_tx_flow_stop_queue_threshold, cfg_dp_ipa_uc_tx_buf_size, Loading dp/wifi3.0/dp_ipa.c +6 −4 Original line number Diff line number Diff line /* * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -701,7 +702,7 @@ int dp_ipa_ring_resource_setup(struct dp_soc *soc, * Set DEST_RING_MAPPING_4 to SW2 as default value for * DESTINATION_RING_CTRL_IX_0. */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW2, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW3, 3) | Loading Loading @@ -988,7 +989,7 @@ QDF_STATUS dp_ipa_enable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) return QDF_STATUS_E_AGAIN; /* Call HAL API to remap REO rings to REO2IPA ring */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW4, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW4, 3) | Loading Loading @@ -1025,6 +1026,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id); uint32_t ix0; uint32_t ix1; uint32_t ix2; uint32_t ix3; Loading @@ -1040,7 +1042,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) return QDF_STATUS_E_AGAIN; /* Call HAL API to remap REO rings to REO2IPA ring */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW2, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW3, 3) | Loading @@ -1050,7 +1052,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) HAL_REO_REMAP_IX0(REO_REMAP_FW, 7); if (wlan_cfg_is_rx_hash_enabled(soc->wlan_cfg_ctx)) { dp_reo_remap_config(soc, &ix2, &ix3); dp_reo_remap_config(soc, &ix1, &ix2, &ix3); hal_reo_read_write_ctrl_ix(soc->hal_soc, false, &ix0, NULL, &ix2, &ix3); Loading dp/wifi3.0/dp_ipa.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -255,7 +256,7 @@ QDF_STATUS dp_ipa_handle_rx_buf_smmu_mapping(struct dp_soc *soc, uint32_t size, bool create); bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap1, bool dp_reo_remap_config(struct dp_soc *soc,uint32_t *remap0, uint32_t *remap1, uint32_t *remap2); bool dp_ipa_is_mdm_platform(void); Loading dp/wifi3.0/dp_main.c +10 −2 Original line number Diff line number Diff line /* * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -3398,12 +3399,14 @@ static void dp_soc_reset_intr_mask(struct dp_soc *soc) * @remap2: output parameter indicates reo remap 2 register value * Return: bool type, true if remap is configured else false. */ bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap1, uint32_t *remap2) bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap0, uint32_t *remap1, uint32_t *remap2) { uint32_t ring[4] = {REO_REMAP_SW1, REO_REMAP_SW2, REO_REMAP_SW3}; hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring, 3, remap1, remap2); hal_compute_reo_remap_ix0(soc->hal_soc, remap0); dp_debug("remap1 %x remap2 %x", *remap1, *remap2); return true; Loading Loading @@ -3529,7 +3532,7 @@ static uint8_t dp_reo_ring_selection(uint32_t value, uint32_t *ring) return num; } static bool dp_reo_remap_config(struct dp_soc *soc, static bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap0, uint32_t *remap1, uint32_t *remap2) { Loading @@ -3547,6 +3550,7 @@ static bool dp_reo_remap_config(struct dp_soc *soc, num = dp_reo_ring_selection(value, ring); hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring, num, remap1, remap2); hal_compute_reo_remap_ix0(soc->hal_soc, remap0); break; case dp_nss_cfg_first_radio: Loading Loading @@ -11089,6 +11093,9 @@ static uint32_t dp_get_cfg(struct cdp_soc_t *soc, enum cdp_dp_cfg cfg) case cfg_dp_gro_enable: value = dpsoc->wlan_cfg_ctx->gro_enabled; break; case cfg_dp_force_gro_enable: value = dpsoc->wlan_cfg_ctx->force_gro_enabled; break; case cfg_dp_tx_flow_start_queue_offset: value = dpsoc->wlan_cfg_ctx->tx_flow_start_queue_offset; break; Loading Loading @@ -12537,6 +12544,7 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle, * are offloaded to NSS */ if (dp_reo_remap_config(soc, &reo_params.remap0, &reo_params.remap1, &reo_params.remap2)) reo_params.rx_hash_enabled = true; Loading dp/wifi3.0/dp_stats.c +3 −0 Original line number Diff line number Diff line /* * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -4916,6 +4917,8 @@ void dp_print_soc_cfg_params(struct dp_soc *soc) soc_cfg_ctx->sg_enabled); DP_PRINT_STATS("Gro enabled: %u ", soc_cfg_ctx->gro_enabled); DP_PRINT_STATS("Force Gro enabled: %u ", soc_cfg_ctx->force_gro_enabled); DP_PRINT_STATS("rawmode enabled: %u ", soc_cfg_ctx->rawmode_enabled); DP_PRINT_STATS("peer flow ctrl enabled: %u ", Loading Loading
dp/inc/cdp_txrx_cmn_struct.h +3 −1 Original line number Diff line number Diff line /* * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -2333,6 +2333,7 @@ struct cdp_monitor_filter { * @cfg_dp_tso_enable: get TSO enable config * @cfg_dp_lro_enable: get LRO enable config * @cfg_dp_gro_enable: get GRP enable config * @cfg_dp_force_gro_enable: get Force GRP enable config * @cfg_dp_tx_flow_start_queue_offset: get DP TX flow start queue offset * @cfg_dp_tx_flow_stop_queue_threshold: get DP TX flow stop queue threshold * @cfg_dp_ipa_uc_tx_buf_size: get IPA TX buf size config Loading @@ -2355,6 +2356,7 @@ enum cdp_dp_cfg { cfg_dp_tso_enable, cfg_dp_lro_enable, cfg_dp_gro_enable, cfg_dp_force_gro_enable, cfg_dp_tx_flow_start_queue_offset, cfg_dp_tx_flow_stop_queue_threshold, cfg_dp_ipa_uc_tx_buf_size, Loading
dp/wifi3.0/dp_ipa.c +6 −4 Original line number Diff line number Diff line /* * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -701,7 +702,7 @@ int dp_ipa_ring_resource_setup(struct dp_soc *soc, * Set DEST_RING_MAPPING_4 to SW2 as default value for * DESTINATION_RING_CTRL_IX_0. */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW2, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW3, 3) | Loading Loading @@ -988,7 +989,7 @@ QDF_STATUS dp_ipa_enable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) return QDF_STATUS_E_AGAIN; /* Call HAL API to remap REO rings to REO2IPA ring */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW4, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW4, 3) | Loading Loading @@ -1025,6 +1026,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id); uint32_t ix0; uint32_t ix1; uint32_t ix2; uint32_t ix3; Loading @@ -1040,7 +1042,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) return QDF_STATUS_E_AGAIN; /* Call HAL API to remap REO rings to REO2IPA ring */ ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) | ix0 = HAL_REO_REMAP_IX0(REO_REMAP_SW1, 0) | HAL_REO_REMAP_IX0(REO_REMAP_SW1, 1) | HAL_REO_REMAP_IX0(REO_REMAP_SW2, 2) | HAL_REO_REMAP_IX0(REO_REMAP_SW3, 3) | Loading @@ -1050,7 +1052,7 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) HAL_REO_REMAP_IX0(REO_REMAP_FW, 7); if (wlan_cfg_is_rx_hash_enabled(soc->wlan_cfg_ctx)) { dp_reo_remap_config(soc, &ix2, &ix3); dp_reo_remap_config(soc, &ix1, &ix2, &ix3); hal_reo_read_write_ctrl_ix(soc->hal_soc, false, &ix0, NULL, &ix2, &ix3); Loading
dp/wifi3.0/dp_ipa.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -255,7 +256,7 @@ QDF_STATUS dp_ipa_handle_rx_buf_smmu_mapping(struct dp_soc *soc, uint32_t size, bool create); bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap1, bool dp_reo_remap_config(struct dp_soc *soc,uint32_t *remap0, uint32_t *remap1, uint32_t *remap2); bool dp_ipa_is_mdm_platform(void); Loading
dp/wifi3.0/dp_main.c +10 −2 Original line number Diff line number Diff line /* * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -3398,12 +3399,14 @@ static void dp_soc_reset_intr_mask(struct dp_soc *soc) * @remap2: output parameter indicates reo remap 2 register value * Return: bool type, true if remap is configured else false. */ bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap1, uint32_t *remap2) bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap0, uint32_t *remap1, uint32_t *remap2) { uint32_t ring[4] = {REO_REMAP_SW1, REO_REMAP_SW2, REO_REMAP_SW3}; hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring, 3, remap1, remap2); hal_compute_reo_remap_ix0(soc->hal_soc, remap0); dp_debug("remap1 %x remap2 %x", *remap1, *remap2); return true; Loading Loading @@ -3529,7 +3532,7 @@ static uint8_t dp_reo_ring_selection(uint32_t value, uint32_t *ring) return num; } static bool dp_reo_remap_config(struct dp_soc *soc, static bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap0, uint32_t *remap1, uint32_t *remap2) { Loading @@ -3547,6 +3550,7 @@ static bool dp_reo_remap_config(struct dp_soc *soc, num = dp_reo_ring_selection(value, ring); hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring, num, remap1, remap2); hal_compute_reo_remap_ix0(soc->hal_soc, remap0); break; case dp_nss_cfg_first_radio: Loading Loading @@ -11089,6 +11093,9 @@ static uint32_t dp_get_cfg(struct cdp_soc_t *soc, enum cdp_dp_cfg cfg) case cfg_dp_gro_enable: value = dpsoc->wlan_cfg_ctx->gro_enabled; break; case cfg_dp_force_gro_enable: value = dpsoc->wlan_cfg_ctx->force_gro_enabled; break; case cfg_dp_tx_flow_start_queue_offset: value = dpsoc->wlan_cfg_ctx->tx_flow_start_queue_offset; break; Loading Loading @@ -12537,6 +12544,7 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle, * are offloaded to NSS */ if (dp_reo_remap_config(soc, &reo_params.remap0, &reo_params.remap1, &reo_params.remap2)) reo_params.rx_hash_enabled = true; Loading
dp/wifi3.0/dp_stats.c +3 −0 Original line number Diff line number Diff line /* * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -4916,6 +4917,8 @@ void dp_print_soc_cfg_params(struct dp_soc *soc) soc_cfg_ctx->sg_enabled); DP_PRINT_STATS("Gro enabled: %u ", soc_cfg_ctx->gro_enabled); DP_PRINT_STATS("Force Gro enabled: %u ", soc_cfg_ctx->force_gro_enabled); DP_PRINT_STATS("rawmode enabled: %u ", soc_cfg_ctx->rawmode_enabled); DP_PRINT_STATS("peer flow ctrl enabled: %u ", Loading