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

Commit b01b1ef3 authored by Vevek Venkatesan's avatar Vevek Venkatesan Committed by Madan Koyyalamudi
Browse files

qcacld-3.0: increase ce_service_max_yield_time to 2 msec

Increase ce_service_max_yield_time to 2 msec in SLUB_DEBUG
builds for helium SNOC platforms to improve the CE reaping
performance.

Change-Id: I2a8a21fd1a65bc2ffc5fb17986116613f47510c7
CRs-Fixed: 2937231
parent b92929ca
Loading
Loading
Loading
Loading
+34 −1
Original line number Diff line number Diff line
@@ -231,6 +231,38 @@ static void hdd_hif_set_attribute(struct hif_opaque_softc *hif_ctx)
{}
#endif

/**

 * hdd_hif_set_ce_max_yield_time() - Wrapper API to set CE max yield time
 * @hif_ctx: hif context
 * @bus_type: underlying bus type
 * @ce_service_max_yield_time: max yield time to be set
 *
 * Return: None
 */
#if defined(CONFIG_SLUB_DEBUG_ON)
#define CE_SNOC_MAX_YIELD_TIME_US 2000

static void hdd_hif_set_ce_max_yield_time(struct hif_opaque_softc *hif_ctx,
					  enum qdf_bus_type bus_type,
					  uint32_t ce_service_max_yield_time)
{
	if (bus_type == QDF_BUS_TYPE_SNOC &&
	    ce_service_max_yield_time < CE_SNOC_MAX_YIELD_TIME_US)
		ce_service_max_yield_time = CE_SNOC_MAX_YIELD_TIME_US;

	hif_set_ce_service_max_yield_time(hif_ctx, ce_service_max_yield_time);
}

#else
static void hdd_hif_set_ce_max_yield_time(struct hif_opaque_softc *hif_ctx,
					  enum qdf_bus_type bus_type,
					  uint32_t ce_service_max_yield_time)
{
	hif_set_ce_service_max_yield_time(hif_ctx, ce_service_max_yield_time);
}
#endif

/**
 * hdd_init_cds_hif_context() - API to set CDS HIF Context
 * @hif: HIF Context
@@ -350,7 +382,8 @@ int hdd_hif_open(struct device *dev, void *bdev, const struct hif_bus_id *bid,
		}
	}

	hif_set_ce_service_max_yield_time(hif_ctx,
	hdd_hif_set_ce_max_yield_time(
				hif_ctx, bus_type,
				cfg_get(hdd_ctx->psoc,
					CFG_DP_CE_SERVICE_MAX_YIELD_TIME));
	ucfg_pmo_psoc_set_hif_handle(hdd_ctx->psoc, hif_ctx);