Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f63e09fc authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge cf865a8b on remote branch

Change-Id: Iceb246ed004f2de0eff68e8c853193cc93ad3da0
parents 467d9157 cf865a8b
Loading
Loading
Loading
Loading
+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
@@ -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
@@ -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,
+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
@@ -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) |
@@ -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) |
@@ -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;

@@ -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) |
@@ -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);
+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
@@ -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);

+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
@@ -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;
@@ -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)
{
@@ -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:
@@ -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;
@@ -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;
+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
@@ -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