Merge "qcacld-3.0: Move runtime suspend context init to correct place" into wlan-cld3.driver.lnx.2.0-dev

This commit is contained in:
CNSS_WLAN Service 2017-10-13 14:25:36 -07:00 • committed by Gerrit - the friendly Code Review server
commit 392fb8aee4

View file

@ -923,6 +923,59 @@ QDF_STATUS hdd_set_ibss_power_save_params(struct hdd_adapter *adapter)
return QDF_STATUS_SUCCESS;
}
#ifdef FEATURE_RUNTIME_PM
/**
* hdd_runtime_suspend_context_init() - API to initialize HDD Runtime Contexts
* @hdd_ctx: HDD context
*
* Return: None
*/
static void hdd_runtime_suspend_context_init(struct hdd_context *hdd_ctx)
{
struct hdd_runtime_pm_context *ctx = &hdd_ctx->runtime_context;
qdf_runtime_lock_init(&ctx->roc);
qdf_runtime_lock_init(&ctx->dfs);
wlan_scan_runtime_pm_init(hdd_ctx->hdd_pdev);
}
/**
* hdd_runtime_suspend_context_deinit() - API to deinit HDD runtime context
* @hdd_ctx: HDD Context
*
* Return: None
*/
static void hdd_runtime_suspend_context_deinit(struct hdd_context *hdd_ctx)
{
struct hdd_runtime_pm_context *ctx = &hdd_ctx->runtime_context;
qdf_runtime_lock_deinit(&ctx->roc);
qdf_runtime_lock_deinit(&ctx->dfs);
wlan_scan_runtime_pm_deinit(hdd_ctx->hdd_pdev);
}
static void hdd_adapter_runtime_suspend_init(struct hdd_adapter *adapter)
{
struct hdd_connect_pm_context *ctx = &adapter->connect_rpm_ctx;
qdf_runtime_lock_init(&ctx->connect);
}
static void hdd_adapter_runtime_suspend_denit(struct hdd_adapter *adapter)
{
struct hdd_connect_pm_context *ctx = &adapter->connect_rpm_ctx;
qdf_runtime_lock_deinit(&ctx->connect);
}
#else /* FEATURE_RUNTIME_PM */
static void hdd_runtime_suspend_context_init(struct hdd_context *hdd_ctx) {}
static void hdd_runtime_suspend_context_deinit(struct hdd_context *hdd_ctx) {}
static void hdd_adapter_runtime_suspend_init(struct hdd_adapter *adapter) {}
static void hdd_adapter_runtime_suspend_denit(struct hdd_adapter *adapter) {}
#endif /* FEATURE_RUNTIME_PM */
#define INTF_MACADDR_MASK 0x7
/**
@ -1764,6 +1817,12 @@ void hdd_update_tgt_cfg(void *context, void *param)
hdd_ctx->wmi_max_len = cfg->wmi_max_len;
/*
* This needs to be done after HDD pdev is created and stored since
* it will access the HDD pdev object lock.
*/
hdd_runtime_suspend_context_init(hdd_ctx);
/* Configure NAN datapath features */
hdd_nan_datapath_target_config(hdd_ctx, cfg);
hdd_ctx->dfs_cac_offload = cfg->dfs_cac_offload;
@ -3020,56 +3079,6 @@ void hdd_set_station_ops(struct net_device *pWlanDev)
pWlanDev->netdev_ops = &wlan_drv_ops;
}
#ifdef FEATURE_RUNTIME_PM
/**
* hdd_runtime_suspend_context_init() - API to initialize HDD Runtime Contexts
* @hdd_ctx: HDD context
*
* Return: None
*/
static void hdd_runtime_suspend_context_init(struct hdd_context *hdd_ctx)
{
struct hdd_runtime_pm_context *ctx = &hdd_ctx->runtime_context;
qdf_runtime_lock_init(&ctx->roc);
qdf_runtime_lock_init(&ctx->dfs);
}
/**
* hdd_runtime_suspend_context_deinit() - API to deinit HDD runtime context
* @hdd_ctx: HDD Context
*
* Return: None
*/
static void hdd_runtime_suspend_context_deinit(struct hdd_context *hdd_ctx)
{
struct hdd_runtime_pm_context *ctx = &hdd_ctx->runtime_context;
qdf_runtime_lock_deinit(&ctx->roc);
qdf_runtime_lock_deinit(&ctx->dfs);
wlan_scan_runtime_pm_deinit(hdd_ctx->hdd_pdev);
}
static void hdd_adapter_runtime_suspend_init(struct hdd_adapter *adapter)
{
struct hdd_connect_pm_context *ctx = &adapter->connect_rpm_ctx;
qdf_runtime_lock_init(&ctx->connect);
}
static void hdd_adapter_runtime_suspend_denit(struct hdd_adapter *adapter)
{
struct hdd_connect_pm_context *ctx = &adapter->connect_rpm_ctx;
qdf_runtime_lock_deinit(&ctx->connect);
}
#else /* FEATURE_RUNTIME_PM */
static void hdd_runtime_suspend_context_init(struct hdd_context *hdd_ctx) {}
static void hdd_runtime_suspend_context_deinit(struct hdd_context *hdd_ctx) {}
static inline void hdd_adapter_runtime_suspend_init(struct hdd_adapter *adapter) {}
static inline void hdd_adapter_runtime_suspend_denit(struct hdd_adapter *adapter) {}
#endif /* FEATURE_RUNTIME_PM */
/**
* hdd_alloc_station_adapter() - allocate the station hdd adapter
* @hdd_ctx: global hdd context
@ -9912,7 +9921,6 @@ int hdd_wlan_startup(struct device *dev)
if (QDF_IS_STATUS_ERROR(status))
goto err_close_adapters;
hdd_runtime_suspend_context_init(hdd_ctx);
memdump_init();
hdd_driver_memdump_init();