Lines Matching +full:inter +full:- +full:processor
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (c) 2014-2016, Intel Corporation.
22 #include "ishtp-dev.h"
23 #include "hw-ish.h"
45 * ish_event_tracer() - Callback function to dump trace messages
67 * ish_init() - Init function
83 dev_err(dev->devc, "ISH: hw start failed.\n"); in ish_init()
87 /* Start the inter process communication to ISH processor */ in ish_init()
90 dev_err(dev->devc, "ISHTP: Protocol init failed.\n"); in ish_init()
106 return !pm_suspend_via_firmware() || pdev->device == CHV_DEVICE_ID; in ish_should_enter_d0i3()
111 return !pm_resume_via_firmware() || pdev->device == CHV_DEVICE_ID; in ish_should_leave_d0i3()
115 * ish_probe() - PCI driver probe callback
129 struct device *dev = &pdev->dev; in ish_probe()
133 return -ENODEV; in ish_probe()
155 ret = -ENOMEM; in ish_probe()
159 ishtp->print_log = ish_event_tracer; in ish_probe()
162 hw->mem_addr = pcim_iomap_table(pdev)[0]; in ish_probe()
163 ishtp->pdev = pdev; in ish_probe()
167 if (!pdev->msi_enabled && !pdev->msix_enabled) in ish_probe()
170 ret = devm_request_irq(dev, pdev->irq, ish_irq_handler, in ish_probe()
173 dev_err(dev, "ISH: request IRQ %d failed\n", pdev->irq); in ish_probe()
177 dev_set_drvdata(ishtp->devc, ishtp); in ish_probe()
179 init_waitqueue_head(&ishtp->suspend_wait); in ish_probe()
180 init_waitqueue_head(&ishtp->resume_wait); in ish_probe()
190 * ish_remove() - PCI driver remove callback
209 * ish_resume_handler() - Work function to complete resume
223 if (ish_should_leave_d0i3(pdev) && !dev->suspend_flag) { in ish_resume_handler()
224 disable_irq_wake(pdev->irq); in ish_resume_handler()
229 if (dev->resume_flag) in ish_resume_handler()
230 ret = wait_event_interruptible_timeout(dev->resume_wait, in ish_resume_handler()
231 !dev->resume_flag, in ish_resume_handler()
238 if (dev->resume_flag) in ish_resume_handler()
242 * Resume from the D3, full reboot of ISH processor will happen, in ish_resume_handler()
250 * ish_suspend() - ISH suspend callback
267 if (dev->suspend_flag) in ish_suspend()
270 dev->resume_flag = 0; in ish_suspend()
271 dev->suspend_flag = 1; in ish_suspend()
275 if (dev->suspend_flag) in ish_suspend()
276 wait_event_interruptible_timeout(dev->suspend_wait, in ish_suspend()
277 !dev->suspend_flag, in ish_suspend()
280 if (dev->suspend_flag) { in ish_suspend()
293 enable_irq_wake(pdev->irq); in ish_suspend()
308 * ish_resume() - ISH resume callback
321 dev->resume_flag = 1; in ish_resume()