mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-01 14:09:47 +00:00
575.57.08
This commit is contained in:
@@ -133,6 +133,7 @@ NV_STATUS NV_API_CALL nv_acpi_get_powersource(NvU32 *ac_plugged)
|
||||
return NV_OK;
|
||||
}
|
||||
|
||||
#define ACPI_POWER_SOURCE_BUS_CHANGE_EVENT 0x00
|
||||
#define ACPI_POWER_SOURCE_CHANGE_EVENT 0x80
|
||||
static void nv_acpi_powersource_hotplug_event(acpi_handle handle, u32 event_type, void *data)
|
||||
{
|
||||
@@ -143,7 +144,7 @@ static void nv_acpi_powersource_hotplug_event(acpi_handle handle, u32 event_type
|
||||
nv_acpi_t *pNvAcpiObject = data;
|
||||
u32 ac_plugged = 0;
|
||||
|
||||
if (event_type == ACPI_POWER_SOURCE_CHANGE_EVENT)
|
||||
if (event_type == ACPI_POWER_SOURCE_CHANGE_EVENT || event_type == ACPI_POWER_SOURCE_BUS_CHANGE_EVENT)
|
||||
{
|
||||
if (nv_acpi_get_powersource(&ac_plugged) != NV_OK)
|
||||
return;
|
||||
@@ -201,8 +202,16 @@ static nv_acpi_t* nv_install_notifier(
|
||||
pNvAcpiObject->sp = sp;
|
||||
pNvAcpiObject->notifier_data = notifier_data;
|
||||
|
||||
status = acpi_install_notify_handler(handle, ACPI_DEVICE_NOTIFY,
|
||||
handler, pNvAcpiObject);
|
||||
if (handle == psr_device_handle)
|
||||
{
|
||||
status = acpi_install_notify_handler(handle, ACPI_ALL_NOTIFY,
|
||||
handler, pNvAcpiObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
status = acpi_install_notify_handler(handle, ACPI_DEVICE_NOTIFY,
|
||||
handler, pNvAcpiObject);
|
||||
}
|
||||
if (!ACPI_FAILURE(status))
|
||||
{
|
||||
pNvAcpiObject->notify_handler_installed = 1;
|
||||
@@ -225,7 +234,14 @@ static void nv_uninstall_notifier(nv_acpi_t *pNvAcpiObject, acpi_notify_handler
|
||||
|
||||
if (pNvAcpiObject && pNvAcpiObject->notify_handler_installed)
|
||||
{
|
||||
status = acpi_remove_notify_handler(pNvAcpiObject->handle, ACPI_DEVICE_NOTIFY, handler);
|
||||
if (pNvAcpiObject->handle == psr_device_handle)
|
||||
{
|
||||
status = acpi_remove_notify_handler(pNvAcpiObject->handle, ACPI_ALL_NOTIFY, handler);
|
||||
}
|
||||
else
|
||||
{
|
||||
status = acpi_remove_notify_handler(pNvAcpiObject->handle, ACPI_DEVICE_NOTIFY, handler);
|
||||
}
|
||||
if (ACPI_FAILURE(status))
|
||||
{
|
||||
nv_printf(NV_DBG_INFO,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -150,8 +150,13 @@ void NV_API_CALL nv_create_nano_timer(
|
||||
nv_nstimer->nv_nano_timer_callback = nvidia_nano_timer_callback;
|
||||
|
||||
#if NV_NANO_TIMER_USE_HRTIMER
|
||||
#if NV_IS_EXPORT_SYMBOL_PRESENT_hrtimer_setup
|
||||
hrtimer_setup(&nv_nstimer->hr_timer, &nv_nano_timer_callback_typed_data,
|
||||
CLOCK_MONOTONIC, HRTIMER_MODE_REL);
|
||||
#else
|
||||
hrtimer_init(&nv_nstimer->hr_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
|
||||
nv_nstimer->hr_timer.function = nv_nano_timer_callback_typed_data;
|
||||
#endif // NV_IS_EXPORT_SYMBOL_PRESENT_hrtimer_setup
|
||||
#else
|
||||
#if defined(NV_TIMER_SETUP_PRESENT)
|
||||
timer_setup(&nv_nstimer->jiffy_timer, nv_jiffy_timer_callback_typed_data, 0);
|
||||
@@ -203,7 +208,7 @@ void NV_API_CALL nv_cancel_nano_timer(
|
||||
#if NV_NANO_TIMER_USE_HRTIMER
|
||||
hrtimer_cancel(&nv_nstimer->hr_timer);
|
||||
#else
|
||||
del_timer_sync(&nv_nstimer->jiffy_timer);
|
||||
nv_timer_delete_sync(&nv_nstimer->jiffy_timer);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
@@ -614,19 +614,6 @@ nv_pci_probe
|
||||
}
|
||||
#endif /* NV_PCI_SRIOV_SUPPORT */
|
||||
|
||||
if (!rm_wait_for_bar_firewall(
|
||||
sp,
|
||||
NV_PCI_DOMAIN_NUMBER(pci_dev),
|
||||
NV_PCI_BUS_NUMBER(pci_dev),
|
||||
NV_PCI_SLOT_NUMBER(pci_dev),
|
||||
PCI_FUNC(pci_dev->devfn),
|
||||
pci_dev->device))
|
||||
{
|
||||
nv_printf(NV_DBG_ERRORS,
|
||||
"NVRM: failed to wait for bar firewall to lower\n");
|
||||
goto failed;
|
||||
}
|
||||
|
||||
if (!rm_is_supported_pci_device(
|
||||
(pci_dev->class >> 16) & 0xFF,
|
||||
(pci_dev->class >> 8) & 0xFF,
|
||||
|
||||
@@ -4189,7 +4189,7 @@ int NV_API_CALL nv_stop_rc_timer(
|
||||
|
||||
nv_printf(NV_DBG_INFO, "NVRM: stopping rc timer\n");
|
||||
nv->rc_timer_enabled = 0;
|
||||
del_timer_sync(&nvl->rc_timer.kernel_timer);
|
||||
nv_timer_delete_sync(&nvl->rc_timer.kernel_timer);
|
||||
nv_printf(NV_DBG_INFO, "NVRM: rc timer stopped\n");
|
||||
|
||||
return 0;
|
||||
@@ -4233,7 +4233,7 @@ void NV_API_CALL nv_stop_snapshot_timer(void)
|
||||
NV_SPIN_UNLOCK_IRQRESTORE(&nvl->snapshot_timer_lock, flags);
|
||||
|
||||
if (timer_active)
|
||||
del_timer_sync(&nvl->snapshot_timer.kernel_timer);
|
||||
nv_timer_delete_sync(&nvl->snapshot_timer.kernel_timer);
|
||||
}
|
||||
|
||||
void NV_API_CALL nv_flush_snapshot_timer(void)
|
||||
|
||||
@@ -238,6 +238,8 @@ NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_gpl_set_memory_encrypted
|
||||
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_gpl_set_memory_decrypted
|
||||
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_gpl___platform_driver_register
|
||||
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present___platform_driver_register
|
||||
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_hrtimer_setup
|
||||
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_timer_delete_sync
|
||||
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += dma_ops
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += swiotlb_dma_ops
|
||||
@@ -266,6 +268,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += of_property_for_each_u32_has_internal_args
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += platform_driver_struct_remove_returns_void
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += class_create_has_no_owner_arg
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += class_devnode_has_const_arg
|
||||
NV_CONFTEST_TYPE_COMPILE_TESTS += has_enum_pidtype_tgid
|
||||
|
||||
NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
|
||||
NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_kvm_build
|
||||
|
||||
@@ -2672,7 +2672,11 @@ NV_STATUS NV_API_CALL os_offline_page_at_address
|
||||
|
||||
void* NV_API_CALL os_get_pid_info(void)
|
||||
{
|
||||
return get_task_pid(current, PIDTYPE_PID);
|
||||
#if defined(NV_HAS_ENUM_PIDTYPE_TGID)
|
||||
return get_task_pid(current, PIDTYPE_TGID);
|
||||
#else
|
||||
return get_task_pid(current->group_leader, PIDTYPE_PID);
|
||||
#endif
|
||||
}
|
||||
|
||||
void NV_API_CALL os_put_pid_info(void *pid_info)
|
||||
|
||||
Reference in New Issue
Block a user