qcacld-3.0: Changes to support rri_over_ddr support for Genoa
Changes to support rri_over_ddr support for Genoa. Change-Id: I1b98e6ec765b8b9da7f0a2f8b21f410c44fa90c2 CRs-Fixed: 2357344
Tento commit je obsažen v:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2019 The Linux Foundation. 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
|
||||
@@ -205,6 +205,19 @@ struct pld_shadow_reg_v2_cfg {
|
||||
u32 addr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct pld_rri_over_ddr_cfg_s - rri_over_ddr configuration
|
||||
* @base_addr_low: lower 32bit
|
||||
* @base_addr_high: higher 32bit
|
||||
*
|
||||
* pld_rri_over_ddr_cfg_s is used in Genoa to pass rri_over_ddr configuration
|
||||
* to firmware to update ring/write index in host DDR.
|
||||
*/
|
||||
struct pld_rri_over_ddr_cfg {
|
||||
u32 base_addr_low;
|
||||
u32 base_addr_high;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct pld_wlan_enable_cfg - WLAN FW configuration
|
||||
* @num_ce_tgt_cfg: number of CE target configuration
|
||||
@@ -215,6 +228,8 @@ struct pld_shadow_reg_v2_cfg {
|
||||
* @shadow_reg_cfg: shadow register configuration
|
||||
* @num_shadow_reg_v2_cfg: number of shadow register version 2 configuration
|
||||
* @shadow_reg_v2_cfg: shadow register version 2 configuration
|
||||
* @rri_over_ddr_cfg_valid: valid flag for rri_over_ddr config
|
||||
* @rri_over_ddr_cfg: rri over ddr config
|
||||
*
|
||||
* pld_wlan_enable_cfg stores WLAN FW configurations. It will be
|
||||
* passed to WLAN FW when WLAN host driver calls wlan_enable.
|
||||
@@ -228,6 +243,8 @@ struct pld_wlan_enable_cfg {
|
||||
struct pld_shadow_reg_cfg *shadow_reg_cfg;
|
||||
u32 num_shadow_reg_v2_cfg;
|
||||
struct pld_shadow_reg_v2_cfg *shadow_reg_v2_cfg;
|
||||
bool rri_over_ddr_cfg_valid;
|
||||
struct pld_rri_over_ddr_cfg rri_over_ddr_cfg;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -576,6 +576,13 @@ int pld_pcie_wlan_enable(struct device *dev, struct pld_wlan_enable_cfg *config,
|
||||
cfg.num_shadow_reg_v2_cfg = config->num_shadow_reg_v2_cfg;
|
||||
cfg.shadow_reg_v2_cfg = (struct cnss_shadow_reg_v2_cfg *)
|
||||
config->shadow_reg_v2_cfg;
|
||||
cfg.rri_over_ddr_cfg_valid = config->rri_over_ddr_cfg_valid;
|
||||
if (config->rri_over_ddr_cfg_valid) {
|
||||
cfg.rri_over_ddr_cfg.base_addr_low =
|
||||
config->rri_over_ddr_cfg.base_addr_low;
|
||||
cfg.rri_over_ddr_cfg.base_addr_high =
|
||||
config->rri_over_ddr_cfg.base_addr_high;
|
||||
}
|
||||
|
||||
switch (mode) {
|
||||
case PLD_FTM:
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele