|
@@ -585,10 +585,14 @@ static void pktlog_callback_registration(uint8_t callback_type)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+#define ONE_MEGABYTE (1024 * 1024)
|
|
|
+
|
|
|
void pktlog_init(struct hif_opaque_softc *scn)
|
|
|
{
|
|
|
struct pktlog_dev_t *pl_dev = get_pktlog_handle();
|
|
|
struct ath_pktlog_info *pl_info;
|
|
|
+ void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
|
|
+ uint32_t buff_size;
|
|
|
|
|
|
if (!pl_dev || !pl_dev->pl_info) {
|
|
|
qdf_print("pl_dev or pl_info is invalid");
|
|
@@ -601,7 +605,9 @@ void pktlog_init(struct hif_opaque_softc *scn)
|
|
|
PKTLOG_LOCK_INIT(pl_info);
|
|
|
mutex_init(&pl_info->pktlog_mutex);
|
|
|
|
|
|
- pl_info->buf_size = PKTLOG_DEFAULT_BUFSIZE;
|
|
|
+ buff_size = cdp_cfg_get(soc, cfg_dp_pktlog_buffer_size) * ONE_MEGABYTE;
|
|
|
+
|
|
|
+ pl_info->buf_size = (buff_size ? buff_size : ONE_MEGABYTE);
|
|
|
pl_info->buf = NULL;
|
|
|
pl_info->log_state = 0;
|
|
|
pl_info->init_saved_state = 0;
|
|
@@ -780,14 +786,14 @@ int pktlog_enable(struct hif_opaque_softc *scn, int32_t log_state,
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
-#define ONE_MEGABYTE (1024 * 1024)
|
|
|
-#define MAX_ALLOWED_PKTLOG_SIZE (64 * ONE_MEGABYTE)
|
|
|
-
|
|
|
static int __pktlog_setsize(struct hif_opaque_softc *scn, int32_t size)
|
|
|
{
|
|
|
struct pktlog_dev_t *pl_dev;
|
|
|
struct ath_pktlog_info *pl_info;
|
|
|
uint8_t pdev_id = WMI_PDEV_ID_SOC;
|
|
|
+ void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
|
|
+ uint32_t buff_size;
|
|
|
+ uint32_t max_allowed_buff_size;
|
|
|
|
|
|
pl_dev = get_pktlog_handle();
|
|
|
|
|
@@ -815,10 +821,13 @@ static int __pktlog_setsize(struct hif_opaque_softc *scn, int32_t size)
|
|
|
|
|
|
pl_info->curr_pkt_state = PKTLOG_OPR_IN_PROGRESS;
|
|
|
|
|
|
- if (size < ONE_MEGABYTE || size > MAX_ALLOWED_PKTLOG_SIZE) {
|
|
|
+ buff_size = cdp_cfg_get(soc, cfg_dp_pktlog_buffer_size) * ONE_MEGABYTE;
|
|
|
+ max_allowed_buff_size = (buff_size ? buff_size : ONE_MEGABYTE);
|
|
|
+
|
|
|
+ if (size < ONE_MEGABYTE || size > max_allowed_buff_size) {
|
|
|
qdf_print("%s: Cannot Set Pktlog Buffer size of %d bytes.Min required is %d MB and Max allowed is %d MB.",
|
|
|
__func__, size, (ONE_MEGABYTE / ONE_MEGABYTE),
|
|
|
- (MAX_ALLOWED_PKTLOG_SIZE / ONE_MEGABYTE));
|
|
|
+ (max_allowed_buff_size / ONE_MEGABYTE));
|
|
|
pl_info->curr_pkt_state = PKTLOG_OPR_NOT_IN_PROGRESS;
|
|
|
qdf_print("%s: Invalid requested buff size", __func__);
|
|
|
return -EINVAL;
|