diff options
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4670-drm-amdgpu-Make-struct-amdgpu_atif-private-to-amdgpu.patch')
-rw-r--r-- | meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4670-drm-amdgpu-Make-struct-amdgpu_atif-private-to-amdgpu.patch | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4670-drm-amdgpu-Make-struct-amdgpu_atif-private-to-amdgpu.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4670-drm-amdgpu-Make-struct-amdgpu_atif-private-to-amdgpu.patch deleted file mode 100644 index 0fbc3999..00000000 --- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4670-drm-amdgpu-Make-struct-amdgpu_atif-private-to-amdgpu.patch +++ /dev/null @@ -1,194 +0,0 @@ -From d25afa620bfe37623b8a9c12b95f0e06381bc4ef Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 25 Jun 2018 21:09:04 -0400 -Subject: [PATCH 4670/5725] drm/amdgpu: Make struct amdgpu_atif private to - amdgpu_acpi.c - -Currently, there is nothing in amdgpu that actually uses these structs -other than amdgpu_acpi.c. Additionally, since we're about to start -saving the correct ACPI handle to use for calling ATIF in this struct -this saves us from having to handle making sure that the acpi_handle -(and by proxy, the type definition for acpi_handle and all of the other -acpi headers) doesn't need to be included within the amdgpu_drv struct -itself. This follows the example set by amdgpu_atpx_handler.c. - -Change-Id: I921f6d54341ded383c5d587137124bdfb969a800 -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 40 ++--------------------- - drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 54 ++++++++++++++++++++++++++++++-- - 2 files changed, 53 insertions(+), 41 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index dbd7a8c..c76a95c 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -193,6 +193,7 @@ struct amdgpu_irq_src; - struct amdgpu_fpriv; - struct amdgpu_bo_va_mapping; - struct kfd_vm_fault_info; -+struct amdgpu_atif; - - enum amdgpu_cp_irq { - AMDGPU_CP_IRQ_GFX_EOP = 0, -@@ -1307,43 +1308,6 @@ struct amdgpu_vram_scratch { - /* - * ACPI - */ --struct amdgpu_atif_notification_cfg { -- bool enabled; -- int command_code; --}; -- --struct amdgpu_atif_notifications { -- bool display_switch; -- bool expansion_mode_change; -- bool thermal_state; -- bool forced_power_state; -- bool system_power_state; -- bool display_conf_change; -- bool px_gfx_switch; -- bool brightness_change; -- bool dgpu_display_event; --}; -- --struct amdgpu_atif_functions { -- bool system_params; -- bool sbios_requests; -- bool select_active_disp; -- bool lid_state; -- bool get_tv_standard; -- bool set_tv_standard; -- bool get_panel_expansion_mode; -- bool set_panel_expansion_mode; -- bool temperature_change; -- bool graphics_device_types; --}; -- --struct amdgpu_atif { -- struct amdgpu_atif_notifications notifications; -- struct amdgpu_atif_functions functions; -- struct amdgpu_atif_notification_cfg notification_cfg; -- struct amdgpu_encoder *encoder_for_bl; --}; -- - struct amdgpu_atcs_functions { - bool get_ext_state; - bool pcie_perf_req; -@@ -1526,7 +1490,7 @@ struct amdgpu_device { - #if defined(CONFIG_DEBUG_FS) - struct dentry *debugfs_regs[AMDGPU_DEBUGFS_MAX_COMPONENTS]; - #endif -- struct amdgpu_atif atif; -+ struct amdgpu_atif *atif; - struct amdgpu_atcs atcs; - struct mutex srbm_mutex; - /* GRBM index mutex. Protects concurrent access to GRBM index */ -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c -index 8fa850a..22c7e8e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c -@@ -34,6 +34,43 @@ - #include "amd_acpi.h" - #include "atom.h" - -+struct amdgpu_atif_notification_cfg { -+ bool enabled; -+ int command_code; -+}; -+ -+struct amdgpu_atif_notifications { -+ bool display_switch; -+ bool expansion_mode_change; -+ bool thermal_state; -+ bool forced_power_state; -+ bool system_power_state; -+ bool display_conf_change; -+ bool px_gfx_switch; -+ bool brightness_change; -+ bool dgpu_display_event; -+}; -+ -+struct amdgpu_atif_functions { -+ bool system_params; -+ bool sbios_requests; -+ bool select_active_disp; -+ bool lid_state; -+ bool get_tv_standard; -+ bool set_tv_standard; -+ bool get_panel_expansion_mode; -+ bool set_panel_expansion_mode; -+ bool temperature_change; -+ bool graphics_device_types; -+}; -+ -+struct amdgpu_atif { -+ struct amdgpu_atif_notifications notifications; -+ struct amdgpu_atif_functions functions; -+ struct amdgpu_atif_notification_cfg notification_cfg; -+ struct amdgpu_encoder *encoder_for_bl; -+}; -+ - /* Call the ATIF method - */ - /** -@@ -292,7 +329,7 @@ static int amdgpu_atif_get_sbios_requests(acpi_handle handle, - static int amdgpu_atif_handler(struct amdgpu_device *adev, - struct acpi_bus_event *event) - { -- struct amdgpu_atif *atif = &adev->atif; -+ struct amdgpu_atif *atif = adev->atif; - struct atif_sbios_requests req; - acpi_handle handle; - int count; -@@ -303,7 +340,8 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev, - if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0) - return NOTIFY_DONE; - -- if (!atif->notification_cfg.enabled || -+ if (!atif || -+ !atif->notification_cfg.enabled || - event->type != atif->notification_cfg.command_code) - /* Not our event */ - return NOTIFY_DONE; -@@ -642,7 +680,7 @@ static int amdgpu_acpi_event(struct notifier_block *nb, - int amdgpu_acpi_init(struct amdgpu_device *adev) - { - acpi_handle handle; -- struct amdgpu_atif *atif = &adev->atif; -+ struct amdgpu_atif *atif; - struct amdgpu_atcs *atcs = &adev->atcs; - int ret; - -@@ -659,11 +697,19 @@ int amdgpu_acpi_init(struct amdgpu_device *adev) - } - - /* Call the ATIF method */ -+ atif = kzalloc(sizeof(*atif), GFP_KERNEL); -+ if (!atif) { -+ DRM_WARN("Not enough memory to initialize ATIF\n"); -+ goto out; -+ } -+ - ret = amdgpu_atif_verify_interface(handle, atif); - if (ret) { - DRM_DEBUG_DRIVER("Call to ATIF verify_interface failed: %d\n", ret); -+ kfree(atif); - goto out; - } -+ adev->atif = atif; - - if (atif->notifications.brightness_change) { - struct drm_encoder *tmp; -@@ -720,4 +766,6 @@ int amdgpu_acpi_init(struct amdgpu_device *adev) - void amdgpu_acpi_fini(struct amdgpu_device *adev) - { - unregister_acpi_notifier(&adev->acpi_nb); -+ if (adev->atif) -+ kfree(adev->atif); - } --- -2.7.4 - |