aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch')
-rw-r--r--common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch167
1 files changed, 0 insertions, 167 deletions
diff --git a/common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch b/common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch
deleted file mode 100644
index dffda030..00000000
--- a/common/recipes-kernel/linux/files/0796-drm-amd-dal-register-eDP-short-pulse-interrupt.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From d96fb309addb53fbde1efb54dc233c6ac753d4d1 Mon Sep 17 00:00:00 2001
-From: Mykola Lysenko <Mykola.Lysenko@amd.com>
-Date: Mon, 4 Jan 2016 14:46:01 +0800
-Subject: [PATCH 0796/1110] drm/amd/dal: register eDP short pulse interrupt
-
-Registration of short pulse interrupt was missed for eDP
-case, because of guard for HPD registration for embedded
-panels.
-
-Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
-Acked-by: Harry Wentland <harry.wentland@amd.com>
----
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 12 ++++----
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c | 15 +++-------
- drivers/gpu/drm/amd/dal/dc/core/dc_link.c | 36 ++++++++++-------------
- 3 files changed, 27 insertions(+), 36 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-index 0061b8c..7a7f69e 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -959,12 +959,14 @@ static void register_hpd_handlers(struct amdgpu_device *adev)
- aconnector = to_amdgpu_connector(connector);
- dc_link = aconnector->dc_link;
-
-- int_params.int_context = INTERRUPT_LOW_IRQ_CONTEXT;
-- int_params.irq_source = dc_link->irq_source_hpd;
-+ if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
-+ int_params.int_context = INTERRUPT_LOW_IRQ_CONTEXT;
-+ int_params.irq_source = dc_link->irq_source_hpd;
-
-- amdgpu_dm_irq_register_interrupt(adev, &int_params,
-- handle_hpd_irq,
-- (void *) aconnector);
-+ amdgpu_dm_irq_register_interrupt(adev, &int_params,
-+ handle_hpd_irq,
-+ (void *) aconnector);
-+ }
-
- if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd_rx) {
-
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-index 2ba79ab..d04ed18 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-@@ -770,19 +770,12 @@ void amdgpu_dm_hpd_init(struct amdgpu_device *adev)
-
- const struct dc_link *dc_link = amdgpu_connector->dc_link;
-
-- if (connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
-- connector->connector_type == DRM_MODE_CONNECTOR_LVDS) {
-- /* don't try to enable hpd on eDP or LVDS avoid breaking
-- * the aux dp channel on imac and help (but not
-- * completely fix)
-- * https://bugzilla.redhat.com/show_bug.cgi?id=726143
-- * also avoid interrupt storms during dpms.
-- */
-- continue;
-+ if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
-+ dc_interrupt_set(adev->dm.dc,
-+ dc_link->irq_source_hpd,
-+ true);
- }
-
-- dc_interrupt_set(adev->dm.dc, dc_link->irq_source_hpd, true);
--
- if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd_rx) {
- dc_interrupt_set(adev->dm.dc,
- dc_link->irq_source_hpd_rx,
-diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
-index 5fd5800..d9b76f6 100644
---- a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
-+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
-@@ -885,7 +885,6 @@ static enum transmitter translate_encoder_to_transmitter(
- }
- }
-
--
- static bool construct(
- struct core_link *link,
- const struct link_init_data *init_params)
-@@ -898,6 +897,9 @@ static bool construct(
- struct encoder_init_data enc_init_data = { 0 };
- struct integrated_info info = {{{ 0 }}};
-
-+ link->public.irq_source_hpd = DC_IRQ_SOURCE_INVALID;
-+ link->public.irq_source_hpd_rx = DC_IRQ_SOURCE_INVALID;
-+
- link->dc = init_params->dc;
- link->adapter_srv = as;
- link->ctx = dc_ctx;
-@@ -913,9 +915,15 @@ static bool construct(
- goto create_fail;
- }
-
-+ hpd_gpio = dal_adapter_service_obtain_hpd_irq(as, link->link_id);
-+
-+ if (hpd_gpio != NULL)
-+ link->public.irq_source_hpd = dal_irq_get_source(hpd_gpio);
-+
- switch (link->link_id.id) {
- case CONNECTOR_ID_HDMI_TYPE_A:
- link->public.connector_signal = SIGNAL_TYPE_HDMI_TYPE_A;
-+
- break;
- case CONNECTOR_ID_SINGLE_LINK_DVID:
- case CONNECTOR_ID_SINGLE_LINK_DVII:
-@@ -927,29 +935,19 @@ static bool construct(
- break;
- case CONNECTOR_ID_DISPLAY_PORT:
- link->public.connector_signal = SIGNAL_TYPE_DISPLAY_PORT;
-- hpd_gpio = dal_adapter_service_obtain_hpd_irq(
-- as,
-- link->link_id);
-
-- if (hpd_gpio != NULL) {
-+ if (hpd_gpio != NULL)
- link->public.irq_source_hpd_rx =
- dal_irq_get_rx_source(hpd_gpio);
-- dal_adapter_service_release_irq(
-- as, hpd_gpio);
-- }
-
- break;
- case CONNECTOR_ID_EDP:
- link->public.connector_signal = SIGNAL_TYPE_EDP;
-- hpd_gpio = dal_adapter_service_obtain_hpd_irq(
-- as,
-- link->link_id);
-
- if (hpd_gpio != NULL) {
-+ link->public.irq_source_hpd = DC_IRQ_SOURCE_INVALID;
- link->public.irq_source_hpd_rx =
- dal_irq_get_rx_source(hpd_gpio);
-- dal_adapter_service_release_irq(
-- as, hpd_gpio);
- }
- break;
- default:
-@@ -959,19 +957,17 @@ static bool construct(
- goto create_fail;
- }
-
-+ if (hpd_gpio != NULL) {
-+ dal_adapter_service_release_irq(
-+ as, hpd_gpio);
-+ }
-+
- /* TODO: #DAL3 Implement id to str function.*/
- LINK_INFO("Connector[%d] description:"
- "signal %d\n",
- init_params->connector_index,
- link->public.connector_signal);
-
-- hpd_gpio = dal_adapter_service_obtain_hpd_irq(as, link->link_id);
--
-- if (hpd_gpio != NULL) {
-- link->public.irq_source_hpd = dal_irq_get_source(hpd_gpio);
-- dal_adapter_service_release_irq(as, hpd_gpio);
-- }
--
- ddc_service_init_data.as = as;
- ddc_service_init_data.ctx = link->ctx;
- ddc_service_init_data.id = link->link_id;
---
-2.7.4
-