Lines Matching +full:out +full:- +full:functions

1 // SPDX-License-Identifier: MIT
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
108 struct amdgpu_atif_functions functions; member
125 struct amdgpu_atcs_functions functions; member
136 * amdgpu_atif_call - call an ATIF method
163 atif_arg_elements[1].buffer.length = params->length; in amdgpu_atif_call()
164 atif_arg_elements[1].buffer.pointer = params->pointer; in amdgpu_atif_call()
171 status = acpi_evaluate_object(atif->handle, NULL, &atif_arg, in amdgpu_atif_call()
183 if (obj->type != ACPI_TYPE_BUFFER) { in amdgpu_atif_call()
185 obj->type); in amdgpu_atif_call()
194 * amdgpu_atif_parse_notification - parse supported notifications
205 n->thermal_state = mask & ATIF_THERMAL_STATE_CHANGE_REQUEST_SUPPORTED; in amdgpu_atif_parse_notification()
206 n->forced_power_state = mask & ATIF_FORCED_POWER_STATE_CHANGE_REQUEST_SUPPORTED; in amdgpu_atif_parse_notification()
207 n->system_power_state = mask & ATIF_SYSTEM_POWER_SOURCE_CHANGE_REQUEST_SUPPORTED; in amdgpu_atif_parse_notification()
208 n->brightness_change = mask & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST_SUPPORTED; in amdgpu_atif_parse_notification()
209 n->dgpu_display_event = mask & ATIF_DGPU_DISPLAY_EVENT_SUPPORTED; in amdgpu_atif_parse_notification()
210 n->gpu_package_power_limit = mask & ATIF_GPU_PACKAGE_POWER_LIMIT_REQUEST_SUPPORTED; in amdgpu_atif_parse_notification()
214 * amdgpu_atif_parse_functions - parse supported functions
216 * @f: supported functions struct
217 * @mask: supported functions mask from ATIF
219 * Use the supported functions mask from ATIF function
220 * ATIF_FUNCTION_VERIFY_INTERFACE to determine what functions
225 f->system_params = mask & ATIF_GET_SYSTEM_PARAMETERS_SUPPORTED; in amdgpu_atif_parse_functions()
226 f->sbios_requests = mask & ATIF_GET_SYSTEM_BIOS_REQUESTS_SUPPORTED; in amdgpu_atif_parse_functions()
227 f->temperature_change = mask & ATIF_TEMPERATURE_CHANGE_NOTIFICATION_SUPPORTED; in amdgpu_atif_parse_functions()
228 f->query_backlight_transfer_characteristics = in amdgpu_atif_parse_functions()
230 f->ready_to_undock = mask & ATIF_READY_TO_UNDOCK_NOTIFICATION_SUPPORTED; in amdgpu_atif_parse_functions()
231 f->external_gpu_information = mask & ATIF_GET_EXTERNAL_GPU_INFORMATION_SUPPORTED; in amdgpu_atif_parse_functions()
235 * amdgpu_atif_verify_interface - verify ATIF
253 return -EIO; in amdgpu_atif_verify_interface()
257 size = *(u16 *) info->buffer.pointer; in amdgpu_atif_verify_interface()
260 err = -EINVAL; in amdgpu_atif_verify_interface()
261 goto out; in amdgpu_atif_verify_interface()
265 memcpy(&output, info->buffer.pointer, size); in amdgpu_atif_verify_interface()
270 amdgpu_atif_parse_notification(&atif->notifications, output.notification_mask); in amdgpu_atif_verify_interface()
271 amdgpu_atif_parse_functions(&atif->functions, output.function_bits); in amdgpu_atif_verify_interface()
273 out: in amdgpu_atif_verify_interface()
279 * amdgpu_atif_get_notification_params - determine notify configuration
292 struct amdgpu_atif_notification_cfg *n = &atif->notification_cfg; in amdgpu_atif_get_notification_params()
300 err = -EIO; in amdgpu_atif_get_notification_params()
301 goto out; in amdgpu_atif_get_notification_params()
304 size = *(u16 *) info->buffer.pointer; in amdgpu_atif_get_notification_params()
306 err = -EINVAL; in amdgpu_atif_get_notification_params()
307 goto out; in amdgpu_atif_get_notification_params()
312 memcpy(&params, info->buffer.pointer, size); in amdgpu_atif_get_notification_params()
319 n->enabled = false; in amdgpu_atif_get_notification_params()
320 n->command_code = 0; in amdgpu_atif_get_notification_params()
322 n->enabled = true; in amdgpu_atif_get_notification_params()
323 n->command_code = 0x81; in amdgpu_atif_get_notification_params()
326 err = -EINVAL; in amdgpu_atif_get_notification_params()
327 goto out; in amdgpu_atif_get_notification_params()
329 n->enabled = true; in amdgpu_atif_get_notification_params()
330 n->command_code = params.command_code; in amdgpu_atif_get_notification_params()
333 out: in amdgpu_atif_get_notification_params()
335 (n->enabled ? "enabled" : "disabled"), in amdgpu_atif_get_notification_params()
336 n->command_code); in amdgpu_atif_get_notification_params()
342 * amdgpu_atif_query_backlight_caps - get min and max backlight input signal
351 * The input signals are in range 0-255
376 err = -EIO; in amdgpu_atif_query_backlight_caps()
377 goto out; in amdgpu_atif_query_backlight_caps()
380 size = *(u16 *) info->buffer.pointer; in amdgpu_atif_query_backlight_caps()
382 err = -EINVAL; in amdgpu_atif_query_backlight_caps()
383 goto out; in amdgpu_atif_query_backlight_caps()
388 memcpy(&characteristics, info->buffer.pointer, size); in amdgpu_atif_query_backlight_caps()
390 atif->backlight_caps.caps_valid = true; in amdgpu_atif_query_backlight_caps()
391 atif->backlight_caps.min_input_signal = in amdgpu_atif_query_backlight_caps()
393 atif->backlight_caps.max_input_signal = in amdgpu_atif_query_backlight_caps()
395 atif->backlight_caps.ac_level = characteristics.ac_level; in amdgpu_atif_query_backlight_caps()
396 atif->backlight_caps.dc_level = characteristics.dc_level; in amdgpu_atif_query_backlight_caps()
397 atif->backlight_caps.data_points = characteristics.number_of_points; in amdgpu_atif_query_backlight_caps()
398 memcpy(atif->backlight_caps.luminance_data, in amdgpu_atif_query_backlight_caps()
400 sizeof(atif->backlight_caps.luminance_data)); in amdgpu_atif_query_backlight_caps()
401 out: in amdgpu_atif_query_backlight_caps()
407 * amdgpu_atif_get_sbios_requests - get requested sbios event
427 return -EIO; in amdgpu_atif_get_sbios_requests()
429 size = *(u16 *)info->buffer.pointer; in amdgpu_atif_get_sbios_requests()
431 count = -EINVAL; in amdgpu_atif_get_sbios_requests()
432 goto out; in amdgpu_atif_get_sbios_requests()
437 memcpy(req, info->buffer.pointer, size); in amdgpu_atif_get_sbios_requests()
438 DRM_DEBUG_DRIVER("SBIOS pending requests: %#x\n", req->pending); in amdgpu_atif_get_sbios_requests()
440 count = hweight32(req->pending); in amdgpu_atif_get_sbios_requests()
442 out: in amdgpu_atif_get_sbios_requests()
448 * amdgpu_atif_handler - handle ATIF notify requests
466 event->device_class, event->type); in amdgpu_atif_handler()
468 if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0) in amdgpu_atif_handler()
472 if (!atif->notification_cfg.enabled || in amdgpu_atif_handler()
473 event->type != atif->notification_cfg.command_code) { in amdgpu_atif_handler()
475 if (event->type == ACPI_VIDEO_NOTIFY_PROBE) in amdgpu_atif_handler()
481 if (atif->functions.sbios_requests) { in amdgpu_atif_handler()
493 if (atif->bd) { in amdgpu_atif_handler()
501 backlight_device_set_brightness(atif->bd, req.backlight_level); in amdgpu_atif_handler()
506 if (adev->flags & AMD_IS_PX) { in amdgpu_atif_handler()
507 pm_runtime_get_sync(adev_to_drm(adev)->dev); in amdgpu_atif_handler()
510 pm_runtime_mark_last_busy(adev_to_drm(adev)->dev); in amdgpu_atif_handler()
511 pm_runtime_put_autosuspend(adev_to_drm(adev)->dev); in amdgpu_atif_handler()
528 * amdgpu_atcs_call - call an ATCS method
554 atcs_arg_elements[1].buffer.length = params->length; in amdgpu_atcs_call()
555 atcs_arg_elements[1].buffer.pointer = params->pointer; in amdgpu_atcs_call()
562 status = acpi_evaluate_object(atcs->handle, NULL, &atcs_arg, &buffer); in amdgpu_atcs_call()
576 * amdgpu_atcs_parse_functions - parse supported functions
578 * @f: supported functions struct
579 * @mask: supported functions mask from ATCS
581 * Use the supported functions mask from ATCS function
582 * ATCS_FUNCTION_VERIFY_INTERFACE to determine what functions
587 f->get_ext_state = mask & ATCS_GET_EXTERNAL_STATE_SUPPORTED; in amdgpu_atcs_parse_functions()
588 f->pcie_perf_req = mask & ATCS_PCIE_PERFORMANCE_REQUEST_SUPPORTED; in amdgpu_atcs_parse_functions()
589 f->pcie_dev_rdy = mask & ATCS_PCIE_DEVICE_READY_NOTIFICATION_SUPPORTED; in amdgpu_atcs_parse_functions()
590 f->pcie_bus_width = mask & ATCS_SET_PCIE_BUS_WIDTH_SUPPORTED; in amdgpu_atcs_parse_functions()
591 f->power_shift_control = mask & ATCS_SET_POWER_SHIFT_CONTROL_SUPPORTED; in amdgpu_atcs_parse_functions()
595 * amdgpu_atcs_verify_interface - verify ATCS
613 return -EIO; in amdgpu_atcs_verify_interface()
617 size = *(u16 *) info->buffer.pointer; in amdgpu_atcs_verify_interface()
620 err = -EINVAL; in amdgpu_atcs_verify_interface()
621 goto out; in amdgpu_atcs_verify_interface()
625 memcpy(&output, info->buffer.pointer, size); in amdgpu_atcs_verify_interface()
630 amdgpu_atcs_parse_functions(&atcs->functions, output.function_bits); in amdgpu_atcs_verify_interface()
632 out: in amdgpu_atcs_verify_interface()
650 if (atcs->functions.pcie_perf_req && atcs->functions.pcie_dev_rdy) in amdgpu_acpi_is_pcie_performance_request_supported()
665 return amdgpu_acpi_priv.atcs.functions.power_shift_control; in amdgpu_acpi_is_power_shift_control_supported()
682 if (!atcs->functions.pcie_dev_rdy) in amdgpu_acpi_pcie_notify_device_ready()
683 return -EINVAL; in amdgpu_acpi_pcie_notify_device_ready()
687 return -EIO; in amdgpu_acpi_pcie_notify_device_ready()
717 return -EINVAL; in amdgpu_acpi_pcie_performance_request()
719 if (!atcs->functions.pcie_perf_req) in amdgpu_acpi_pcie_performance_request()
720 return -EINVAL; in amdgpu_acpi_pcie_performance_request()
723 /* client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) */ in amdgpu_acpi_pcie_performance_request()
724 atcs_input.client_id = pci_dev_id(adev->pdev); in amdgpu_acpi_pcie_performance_request()
735 while (retry--) { in amdgpu_acpi_pcie_performance_request()
738 return -EIO; in amdgpu_acpi_pcie_performance_request()
742 size = *(u16 *) info->buffer.pointer; in amdgpu_acpi_pcie_performance_request()
746 return -EINVAL; in amdgpu_acpi_pcie_performance_request()
750 memcpy(&atcs_output, info->buffer.pointer, size); in amdgpu_acpi_pcie_performance_request()
757 return -EINVAL; in amdgpu_acpi_pcie_performance_request()
790 return -EINVAL; in amdgpu_acpi_power_shift_control()
793 /* dGPU id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) */ in amdgpu_acpi_power_shift_control()
794 atcs_input.dgpu_id = pci_dev_id(adev->pdev); in amdgpu_acpi_power_shift_control()
804 return -EIO; in amdgpu_acpi_power_shift_control()
812 * amdgpu_acpi_smart_shift_update - update dGPU device state to SBIOS
854 return -EINVAL; in amdgpu_acpi_smart_shift_update()
873 zone_managed_pages(&pgdat->node_zones[zone_type]); in amdgpu_acpi_get_numa_size()
892 numa_info->pxm = pxm; in amdgpu_acpi_get_numa_info()
893 numa_info->nid = nid; in amdgpu_acpi_get_numa_info()
895 if (numa_info->nid == NUMA_NO_NODE) { in amdgpu_acpi_get_numa_info()
897 numa_info->size = info.totalram * info.mem_unit; in amdgpu_acpi_get_numa_info()
899 numa_info->size = amdgpu_acpi_get_numa_size(nid); in amdgpu_acpi_get_numa_info()
901 xa_store(&numa_info_xa, numa_info->pxm, numa_info, GFP_KERNEL); in amdgpu_acpi_get_numa_info()
909 * amdgpu_acpi_get_node_id - obtain the NUMA node id for corresponding amdgpu
954 if (acpi_dev->sbdf == sbdf) in amdgpu_acpi_get_dev()
965 int ret = -ENOENT; in amdgpu_acpi_dev_init()
970 return -ENOMEM; in amdgpu_acpi_dev_init()
972 INIT_LIST_HEAD(&tmp->xcc_list); in amdgpu_acpi_dev_init()
973 INIT_LIST_HEAD(&tmp->list); in amdgpu_acpi_dev_init()
974 tmp->sbdf = sbdf; in amdgpu_acpi_dev_init()
976 obj = acpi_evaluate_dsm_typed(xcc_info->handle, &amd_xcc_dsm_guid, 0, in amdgpu_acpi_dev_init()
981 acpi_handle_debug(xcc_info->handle, in amdgpu_acpi_dev_init()
984 ret = -ENOENT; in amdgpu_acpi_dev_init()
985 goto out; in amdgpu_acpi_dev_init()
988 tmp->supp_xcp_mode = obj->integer.value & 0xFFFF; in amdgpu_acpi_dev_init()
991 obj = acpi_evaluate_dsm_typed(xcc_info->handle, &amd_xcc_dsm_guid, 0, in amdgpu_acpi_dev_init()
996 acpi_handle_debug(xcc_info->handle, in amdgpu_acpi_dev_init()
999 ret = -ENOENT; in amdgpu_acpi_dev_init()
1000 goto out; in amdgpu_acpi_dev_init()
1003 tmp->xcp_mode = obj->integer.value & 0xFFFF; in amdgpu_acpi_dev_init()
1004 tmp->mem_mode = (obj->integer.value >> 32) & 0xFFFF; in amdgpu_acpi_dev_init()
1008 obj = acpi_evaluate_dsm_typed(xcc_info->handle, &amd_xcc_dsm_guid, 0, in amdgpu_acpi_dev_init()
1012 if (!obj || obj->package.count < 2) { in amdgpu_acpi_dev_init()
1013 acpi_handle_debug(xcc_info->handle, in amdgpu_acpi_dev_init()
1016 ret = -ENOENT; in amdgpu_acpi_dev_init()
1017 goto out; in amdgpu_acpi_dev_init()
1020 tmp->tmr_base = obj->package.elements[0].integer.value; in amdgpu_acpi_dev_init()
1021 tmp->tmr_size = obj->package.elements[1].integer.value; in amdgpu_acpi_dev_init()
1026 tmp->sbdf, tmp->supp_xcp_mode, tmp->xcp_mode, tmp->mem_mode, in amdgpu_acpi_dev_init()
1027 tmp->tmr_base, tmp->tmr_size); in amdgpu_acpi_dev_init()
1028 list_add_tail(&tmp->list, &amdgpu_acpi_dev_list); in amdgpu_acpi_dev_init()
1033 out: in amdgpu_acpi_dev_init()
1046 int ret = -ENOENT; in amdgpu_acpi_get_xcc_info()
1048 obj = acpi_evaluate_dsm_typed(xcc_info->handle, &amd_xcc_dsm_guid, 0, in amdgpu_acpi_get_xcc_info()
1052 if (!obj || obj->integer.value != AMD_XCC_DSM_NUM_FUNCS) in amdgpu_acpi_get_xcc_info()
1053 goto out; in amdgpu_acpi_get_xcc_info()
1057 obj = acpi_evaluate_dsm_typed(xcc_info->handle, &amd_xcc_dsm_guid, 0, in amdgpu_acpi_get_xcc_info()
1062 acpi_handle_debug(xcc_info->handle, in amdgpu_acpi_get_xcc_info()
1065 ret = -EINVAL; in amdgpu_acpi_get_xcc_info()
1066 goto out; in amdgpu_acpi_get_xcc_info()
1070 xcc_info->phy_id = (obj->integer.value >> 32) & 0xFF; in amdgpu_acpi_get_xcc_info()
1072 xcc_info->xcp_node = (obj->integer.value >> 40) & 0xFF; in amdgpu_acpi_get_xcc_info()
1074 *sbdf = (obj->integer.value) & 0xFFFF0000; in amdgpu_acpi_get_xcc_info()
1076 *sbdf |= (obj->integer.value >> 48) & 0xFFFF; in amdgpu_acpi_get_xcc_info()
1081 amdgpu_acpi_get_node_id(xcc_info->handle, &xcc_info->numa_info); in amdgpu_acpi_get_xcc_info()
1086 out: in amdgpu_acpi_get_xcc_info()
1107 acpi_dev = acpi_dev_get_first_match_dev(hid, NULL, -1); in amdgpu_acpi_enumerate_xcc()
1121 return -ENOMEM; in amdgpu_acpi_enumerate_xcc()
1124 INIT_LIST_HEAD(&xcc_info->list); in amdgpu_acpi_enumerate_xcc()
1125 xcc_info->handle = acpi_device_handle(acpi_dev); in amdgpu_acpi_enumerate_xcc()
1139 if (ret == -ENOMEM) in amdgpu_acpi_enumerate_xcc()
1147 list_add_tail(&xcc_info->list, &dev_info->xcc_list); in amdgpu_acpi_enumerate_xcc()
1160 return -EINVAL; in amdgpu_acpi_get_tmr_info()
1162 sbdf = (pci_domain_nr(adev->pdev->bus) << 16); in amdgpu_acpi_get_tmr_info()
1163 sbdf |= pci_dev_id(adev->pdev); in amdgpu_acpi_get_tmr_info()
1166 return -ENOENT; in amdgpu_acpi_get_tmr_info()
1168 *tmr_offset = dev_info->tmr_base; in amdgpu_acpi_get_tmr_info()
1169 *tmr_size = dev_info->tmr_size; in amdgpu_acpi_get_tmr_info()
1182 return -EINVAL; in amdgpu_acpi_get_mem_info()
1184 sbdf = (pci_domain_nr(adev->pdev->bus) << 16); in amdgpu_acpi_get_mem_info()
1185 sbdf |= pci_dev_id(adev->pdev); in amdgpu_acpi_get_mem_info()
1188 return -ENOENT; in amdgpu_acpi_get_mem_info()
1190 list_for_each_entry(xcc_info, &dev_info->xcc_list, list) { in amdgpu_acpi_get_mem_info()
1191 if (xcc_info->phy_id == xcc_id) { in amdgpu_acpi_get_mem_info()
1192 memcpy(numa_info, xcc_info->numa_info, in amdgpu_acpi_get_mem_info()
1198 return -ENOENT; in amdgpu_acpi_get_mem_info()
1202 * amdgpu_acpi_event - handle notify events
1208 * Calls relevant amdgpu functions in response to various
1219 if (strcmp(entry->device_class, ACPI_AC_CLASS) == 0) { in amdgpu_acpi_event()
1234 * amdgpu_acpi_init - init driver acpi support
1246 if (atif->notifications.brightness_change) { in amdgpu_acpi_init()
1247 if (adev->dc_enabled) { in amdgpu_acpi_init()
1249 struct amdgpu_display_manager *dm = &adev->dm; in amdgpu_acpi_init()
1251 if (dm->backlight_dev[0]) in amdgpu_acpi_init()
1252 atif->bd = dm->backlight_dev[0]; in amdgpu_acpi_init()
1258 list_for_each_entry(tmp, &adev_to_drm(adev)->mode_config.encoder_list, in amdgpu_acpi_init()
1262 if ((enc->devices & (ATOM_DEVICE_LCD_SUPPORT)) && in amdgpu_acpi_init()
1263 enc->enc_priv) { in amdgpu_acpi_init()
1264 struct amdgpu_encoder_atom_dig *dig = enc->enc_priv; in amdgpu_acpi_init()
1266 if (dig->bl_dev) { in amdgpu_acpi_init()
1267 atif->bd = dig->bl_dev; in amdgpu_acpi_init()
1274 adev->acpi_nb.notifier_call = amdgpu_acpi_event; in amdgpu_acpi_init()
1275 register_acpi_notifier(&adev->acpi_nb); in amdgpu_acpi_init()
1284 memcpy(caps, &atif->backlight_caps, sizeof(*caps)); in amdgpu_acpi_get_backlight_caps()
1288 * amdgpu_acpi_fini - tear down driver acpi support
1296 unregister_acpi_notifier(&adev->acpi_nb); in amdgpu_acpi_fini()
1300 * amdgpu_atif_pci_probe_handle - look up the ATIF handle
1315 dhandle = ACPI_HANDLE(&pdev->dev); in amdgpu_atif_pci_probe_handle()
1335 * amdgpu_atcs_pci_probe_handle - look up the ATCS handle
1350 dhandle = ACPI_HANDLE(&pdev->dev); in amdgpu_atcs_pci_probe_handle()
1379 if ((adev->flags & AMD_IS_APU) && in amdgpu_acpi_should_gpu_reset()
1380 adev->gfx.imu.funcs) /* Not need to do mode2 reset for IMU enabled APUs */ in amdgpu_acpi_should_gpu_reset()
1383 if ((adev->flags & AMD_IS_APU) && in amdgpu_acpi_should_gpu_reset()
1398 * amdgpu_acpi_detect - detect ACPI ATIF/ATCS methods
1411 if ((pdev->class != PCI_CLASS_DISPLAY_VGA << 8) && in amdgpu_acpi_detect()
1412 (pdev->class != PCI_CLASS_DISPLAY_OTHER << 8)) in amdgpu_acpi_detect()
1415 if (!atif->handle) in amdgpu_acpi_detect()
1417 if (!atcs->handle) in amdgpu_acpi_detect()
1421 if (atif->functions.sbios_requests && !atif->functions.system_params) { in amdgpu_acpi_detect()
1426 atif->functions.system_params = true; in amdgpu_acpi_detect()
1429 if (atif->functions.system_params) { in amdgpu_acpi_detect()
1435 atif->notification_cfg.enabled = false; in amdgpu_acpi_detect()
1439 if (atif->functions.query_backlight_transfer_characteristics) { in amdgpu_acpi_detect()
1444 atif->backlight_caps.caps_valid = false; in amdgpu_acpi_detect()
1447 atif->backlight_caps.caps_valid = false; in amdgpu_acpi_detect()
1470 list_for_each_entry_safe(xcc_info, xcc_tmp, &dev_info->xcc_list, in amdgpu_acpi_release()
1472 list_del(&xcc_info->list); in amdgpu_acpi_release()
1476 list_del(&dev_info->list); in amdgpu_acpi_release()
1491 return !(adev->flags & AMD_IS_APU) || in amdgpu_acpi_is_s3_active()
1504 if (!(adev->flags & AMD_IS_APU) || in amdgpu_acpi_is_s0ix_active()
1508 if (adev->asic_type < CHIP_RAVEN) in amdgpu_acpi_is_s0ix_active()
1511 if (!(adev->pm.pp_feature & PP_GFXOFF_MASK)) in amdgpu_acpi_is_s0ix_active()
1516 * risky to do any special firmware-related preparations for entering in amdgpu_acpi_is_s0ix_active()
1521 dev_err_once(adev->dev, in amdgpu_acpi_is_s0ix_active()
1522 "Power consumption will be higher as BIOS has not been configured for suspend-to-idle.\n" in amdgpu_acpi_is_s0ix_active()
1523 "To use suspend-to-idle change the sleep mode in BIOS setup.\n"); in amdgpu_acpi_is_s0ix_active()
1528 dev_err_once(adev->dev, in amdgpu_acpi_is_s0ix_active()
1556 return -EINVAL; in amdgpu_acpi_get_isp4_dev()
1560 return -ENODEV; in amdgpu_acpi_get_isp4_dev()