Lines Matching +full:integer +full:- +full:n

1 // SPDX-License-Identifier: GPL-2.0
12 #include <linux/pci-acpi.h>
30 struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); in acpi_enable_dpc()
38 if (!acpi_check_dsm(adev->handle, &pci_acpi_dsm_guid, 6, in acpi_enable_dpc()
43 req.integer.value = 1; in acpi_enable_dpc()
49 obj = acpi_evaluate_dsm(adev->handle, &pci_acpi_dsm_guid, 6, in acpi_enable_dpc()
54 if (obj->type != ACPI_TYPE_INTEGER) { in acpi_enable_dpc()
55 pci_err(pdev, FW_BUG "Enable DPC _DSM returned non integer\n"); in acpi_enable_dpc()
56 status = -EIO; in acpi_enable_dpc()
59 if (obj->integer.value != 1) { in acpi_enable_dpc()
60 pci_err(pdev, "Enable DPC _DSM failed to enable DPC\n"); in acpi_enable_dpc()
61 status = -EIO; in acpi_enable_dpc()
78 struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); in acpi_dpc_port_get()
87 if (!acpi_check_dsm(adev->handle, &pci_acpi_dsm_guid, 5, in acpi_dpc_port_get()
91 obj = acpi_evaluate_dsm(adev->handle, &pci_acpi_dsm_guid, 5, in acpi_dpc_port_get()
96 if (obj->type != ACPI_TYPE_INTEGER) { in acpi_dpc_port_get()
98 pci_err(pdev, FW_BUG "Locate Port _DSM returned non integer\n"); in acpi_dpc_port_get()
106 if (obj->integer.value & BIT(31)) { in acpi_dpc_port_get()
108 pci_err(pdev, "Locate Port _DSM failed\n"); in acpi_dpc_port_get()
118 port = obj->integer.value; in acpi_dpc_port_get()
122 return pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus), in acpi_dpc_port_get()
135 struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); in acpi_send_edr_status()
138 pci_dbg(pdev, "Status for %s: %#x\n", pci_name(edev), status); in acpi_send_edr_status()
140 ost_status = PCI_DEVID(edev->bus->number, edev->devfn) << 16; in acpi_send_edr_status()
143 status = acpi_evaluate_ost(adev->handle, ACPI_NOTIFY_DISCONNECT_RECOVER, in acpi_send_edr_status()
146 return -EINVAL; in acpi_send_edr_status()
165 pci_info(pdev, "EDR event received\n"); in edr_handle_event()
174 pci_err(pdev, "Firmware failed to locate DPC port\n"); in edr_handle_event()
178 pci_dbg(pdev, "Reported EDR dev: %s\n", pci_name(edev)); in edr_handle_event()
181 if (!edev->dpc_cap) { in edr_handle_event()
182 pci_err(edev, FW_BUG "This device doesn't support DPC\n"); in edr_handle_event()
187 pci_read_config_word(edev, edev->dpc_cap + PCI_EXP_DPC_STATUS, &status); in edr_handle_event()
189 pci_err(edev, "Invalid DPC trigger %#010x\n", status); in edr_handle_event()
210 pci_dbg(edev, "DPC port successfully recovered\n"); in edr_handle_event()
214 pci_dbg(edev, "DPC port recovery failed\n"); in edr_handle_event()
223 struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); in pci_acpi_add_edr_notifier()
227 pci_dbg(pdev, "No valid ACPI node, skipping EDR init\n"); in pci_acpi_add_edr_notifier()
231 status = acpi_install_notify_handler(adev->handle, ACPI_SYSTEM_NOTIFY, in pci_acpi_add_edr_notifier()
234 pci_err(pdev, "Failed to install notify handler\n"); in pci_acpi_add_edr_notifier()
239 acpi_remove_notify_handler(adev->handle, ACPI_SYSTEM_NOTIFY, in pci_acpi_add_edr_notifier()
242 pci_dbg(pdev, "Notify handler installed\n"); in pci_acpi_add_edr_notifier()
247 struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); in pci_acpi_remove_edr_notifier()
252 acpi_remove_notify_handler(adev->handle, ACPI_SYSTEM_NOTIFY, in pci_acpi_remove_edr_notifier()
254 pci_dbg(pdev, "Notify handler removed\n"); in pci_acpi_remove_edr_notifier()