qcacld-3.0: Add pld code to handle hang event data info

Add code to handle hang event data and length received
from platform driver through uevent.
Change-Id: Ie4acf55cd7d2e602ad10eedbdeed045acfd85f56
CRs-fixed: 2650831
Esse commit está contido em:
Mohammed Siddiq
2020-03-12 19:11:59 +05:30
commit de nshrivas
commit 2dcd202ecf
2 arquivos alterados com 24 adições e 2 exclusões

Ver arquivo

@@ -156,6 +156,8 @@ struct pld_uevent_data {
union {
struct {
bool crashed;
void *hang_event_data;
u16 hang_event_data_len;
} fw_down;
};
};

Ver arquivo

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2020 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
@@ -240,12 +240,31 @@ static int pld_snoc_resume_noirq(struct device *dev)
return 0;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0))
static int pld_update_hang_evt_data(struct icnss_uevent_fw_down_data *evt_data,
struct pld_uevent_data *data)
{
if (!evt_data || !data)
return -EINVAL;
data->fw_down.hang_event_data = evt_data->hang_event_data;
data->fw_down.hang_event_data_len = evt_data->hang_event_data_len;
return 0;
}
#else
static int pld_update_hang_evt_data(struct icnss_uevent_fw_down_data *evt_data,
struct pld_uevent_data *data)
{
return 0;
}
#endif
static int pld_snoc_uevent(struct device *dev,
struct icnss_uevent_data *uevent)
{
struct pld_context *pld_context;
struct icnss_uevent_fw_down_data *uevent_data = NULL;
struct pld_uevent_data data;
struct pld_uevent_data data = {0};
pld_context = pld_get_global_context();
if (!pld_context)
@@ -267,6 +286,7 @@ static int pld_snoc_uevent(struct device *dev,
uevent_data = (struct icnss_uevent_fw_down_data *)uevent->data;
data.uevent = PLD_FW_DOWN;
data.fw_down.crashed = uevent_data->crashed;
pld_update_hang_evt_data(uevent_data, &data);
break;
default:
goto out;