Loading drivers/net/wireless/cnss2/pci.c +17 −2 Original line number Diff line number Diff line Loading @@ -78,7 +78,8 @@ static DEFINE_SPINLOCK(time_sync_lock); #define CNSS_DEBUG_DUMP_SRAM_SIZE 10 #define HANG_DATA_LENGTH 384 #define HANG_DATA_OFFSET ((3 * 1024 * 1024) - HANG_DATA_LENGTH) #define HST_HANG_DATA_OFFSET ((3 * 1024 * 1024) - HANG_DATA_LENGTH) #define HSP_HANG_DATA_OFFSET ((2 * 1024 * 1024) - HANG_DATA_LENGTH) static struct cnss_pci_reg ce_src[] = { { "SRC_RING_BASE_LSB", QCA6390_CE_SRC_RING_BASE_LSB_OFFSET }, Loading Loading @@ -3813,15 +3814,29 @@ static void cnss_pci_send_hang_event(struct cnss_pci_data *pci_priv) struct cnss_fw_mem *fw_mem = plat_priv->fw_mem; struct cnss_hang_event hang_event = {0}; void *hang_data_va = NULL; u64 offset = 0; int i = 0; if (!fw_mem || !plat_priv->fw_mem_seg_len) return; switch (pci_priv->device_id) { case QCA6390_DEVICE_ID: offset = HST_HANG_DATA_OFFSET; break; case QCA6490_DEVICE_ID: offset = HSP_HANG_DATA_OFFSET; break; default: cnss_pr_err("Skip Hang Event Data as unsupported Device ID received: %d\n", pci_priv->device_id); return; } for (i = 0; i < plat_priv->fw_mem_seg_len; i++) { if (fw_mem[i].type == QMI_WLFW_MEM_TYPE_DDR_V01 && fw_mem[i].va) { hang_data_va = fw_mem[i].va + HANG_DATA_OFFSET; hang_data_va = fw_mem[i].va + offset; hang_event.hang_event_data = kmemdup(hang_data_va, HANG_DATA_LENGTH, GFP_ATOMIC); Loading Loading
drivers/net/wireless/cnss2/pci.c +17 −2 Original line number Diff line number Diff line Loading @@ -78,7 +78,8 @@ static DEFINE_SPINLOCK(time_sync_lock); #define CNSS_DEBUG_DUMP_SRAM_SIZE 10 #define HANG_DATA_LENGTH 384 #define HANG_DATA_OFFSET ((3 * 1024 * 1024) - HANG_DATA_LENGTH) #define HST_HANG_DATA_OFFSET ((3 * 1024 * 1024) - HANG_DATA_LENGTH) #define HSP_HANG_DATA_OFFSET ((2 * 1024 * 1024) - HANG_DATA_LENGTH) static struct cnss_pci_reg ce_src[] = { { "SRC_RING_BASE_LSB", QCA6390_CE_SRC_RING_BASE_LSB_OFFSET }, Loading Loading @@ -3813,15 +3814,29 @@ static void cnss_pci_send_hang_event(struct cnss_pci_data *pci_priv) struct cnss_fw_mem *fw_mem = plat_priv->fw_mem; struct cnss_hang_event hang_event = {0}; void *hang_data_va = NULL; u64 offset = 0; int i = 0; if (!fw_mem || !plat_priv->fw_mem_seg_len) return; switch (pci_priv->device_id) { case QCA6390_DEVICE_ID: offset = HST_HANG_DATA_OFFSET; break; case QCA6490_DEVICE_ID: offset = HSP_HANG_DATA_OFFSET; break; default: cnss_pr_err("Skip Hang Event Data as unsupported Device ID received: %d\n", pci_priv->device_id); return; } for (i = 0; i < plat_priv->fw_mem_seg_len; i++) { if (fw_mem[i].type == QMI_WLFW_MEM_TYPE_DDR_V01 && fw_mem[i].va) { hang_data_va = fw_mem[i].va + HANG_DATA_OFFSET; hang_data_va = fw_mem[i].va + offset; hang_event.hang_event_data = kmemdup(hang_data_va, HANG_DATA_LENGTH, GFP_ATOMIC); Loading