diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index bcaf61f0428a..b7f4d8ef98a4 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -642,6 +642,7 @@ struct mac_ssid { * @dot11_mode: Phy mode (VHT20/VHT80...) * @disable_hw_ack: Disable hw ack if chan is dfs channel for cac * @channel_param: Channel params required by target. + * @ldpc_rx_enabled: Enable/Disable LDPC RX for this vdev */ struct vdev_start_params { uint8_t vdev_id; @@ -675,6 +676,7 @@ struct vdev_start_params { uint8_t disable_hw_ack; struct channel_param channel; #endif + bool ldpc_rx_enabled; }; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 82090a452144..dd207d5680c9 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -364,6 +364,7 @@ static QDF_STATUS send_vdev_start_cmd_tlv(wmi_unified_t wmi_handle, cmd->flags |= WMI_UNIFIED_VDEV_START_PMF_ENABLED; } + cmd->flags |= WMI_UNIFIED_VDEV_START_LDPC_RX_ENABLED; cmd->num_noa_descriptors = req->num_noa_descriptors; cmd->preferred_rx_streams = req->preferred_rx_streams; cmd->preferred_tx_streams = req->preferred_tx_streams; @@ -379,13 +380,14 @@ static QDF_STATUS send_vdev_start_cmd_tlv(wmi_unified_t wmi_handle, WMI_LOGI("%s: vdev_id %d freq %d chanmode %d ch_info: 0x%x is_dfs %d " "beacon interval %d dtim %d center_chan %d center_freq2 %d " "reg_info_1: 0x%x reg_info_2: 0x%x, req->max_txpow: 0x%x " - "Tx SS %d, Rx SS %d, cac %d, regd %d, HE ops: %d", + "Tx SS %d, Rx SS %d, ldpc_rx: %d, cac %d, regd %d, HE ops: %d", __func__, req->vdev_id, chan->mhz, req->chan_mode, chan->info, req->is_dfs, req->beacon_intval, cmd->dtim_period, chan->band_center_freq1, chan->band_center_freq2, chan->reg_info_1, chan->reg_info_2, req->max_txpow, req->preferred_tx_streams, req->preferred_rx_streams, - req->cac_duration_ms, req->regdomain, req->he_ops); + req->ldpc_rx_enabled, req->cac_duration_ms, + req->regdomain, req->he_ops); if (req->is_restart) ret = wmi_unified_cmd_send(wmi_handle, buf, len,