mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
qcacld-3.0: Add pld pcie code to handle hang event data info
Add code in pld pcie to handle hang event data and length received from platform driver. Change-Id: Ibc1b667b6127e2ce6b666e9007bf725ea7e07760
This commit is contained in:
parent
ea09f91ec3
commit
b59cdd31cd
1 changed files with 48 additions and 0 deletions
|
|
@ -266,6 +266,51 @@ out:
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* pld_pcie_update_event() - update wlan driver status callback function
|
||||
* @pdev: PCIE device
|
||||
* @cnss_uevent_data: driver uevent data
|
||||
*
|
||||
* This function will be called when platform driver wants to update wlan
|
||||
* driver's status.
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0))
|
||||
static int pld_pcie_update_event(struct pci_dev *pdev,
|
||||
struct cnss_uevent_data *uevent_data)
|
||||
{
|
||||
struct pld_context *pld_context;
|
||||
struct pld_uevent_data data = {0};
|
||||
struct cnss_hang_event *hang_event;
|
||||
|
||||
pld_context = pld_get_global_context();
|
||||
|
||||
if (!pld_context || !uevent_data)
|
||||
return -EINVAL;
|
||||
|
||||
switch (uevent_data->status) {
|
||||
case CNSS_HANG_EVENT:
|
||||
if (!uevent_data->data)
|
||||
return -EINVAL;
|
||||
hang_event = (struct cnss_hang_event *)uevent_data->data;
|
||||
data.uevent = PLD_FW_HANG_EVENT;
|
||||
data.hang_data.hang_event_data = hang_event->hang_event_data;
|
||||
data.hang_data.hang_event_data_len =
|
||||
hang_event->hang_event_data_len;
|
||||
break;
|
||||
default:
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (pld_context->ops->uevent)
|
||||
pld_context->ops->uevent(&pdev->dev, &data);
|
||||
|
||||
out:
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_RUNTIME_PM
|
||||
/**
|
||||
* pld_pcie_runtime_suspend() - PM runtime suspend
|
||||
|
|
@ -536,6 +581,9 @@ struct cnss_wlan_driver pld_pcie_ops = {
|
|||
.crash_shutdown = pld_pcie_crash_shutdown,
|
||||
.modem_status = pld_pcie_notify_handler,
|
||||
.update_status = pld_pcie_uevent,
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0))
|
||||
.update_event = pld_pcie_update_event,
|
||||
#endif
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = pld_pcie_suspend,
|
||||
.resume = pld_pcie_resume,
|
||||
|
|
|
|||
Loading…
Reference in a new issue