All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ayan Kumar Halder <ayan.halder@arm.com>
To: ayan.halder@arm.com, liviu.dudau@arm.com, brian.starkey@arm.com,
	malidp@foss.arm.com, airlied@linux.ie,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: nd@arm.com
Subject: [PATCH 4/8] drm/arm/malidp: Split malidp_se_irq_init
Date: Mon, 26 Mar 2018 18:03:16 +0100	[thread overview]
Message-ID: <1522083800-30100-5-git-send-email-ayan.halder@arm.com> (raw)
In-Reply-To: <1522083800-30100-1-git-send-email-ayan.halder@arm.com>

Extract the hardware initialisation part from malidp_se_irq_init() into the
malidp_se_irq_hw_init() which will be later invoked from
malidpxxx_enable_memwrite() when it needs to re-enable the interrupts.

Signed-off-by: Ayan Kumar Halder <ayan.halder@arm.com>
Change-Id: Ibb26e86b38141993539307705695e3f6a9e32caa
---
 drivers/gpu/drm/arm/malidp_hw.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c
index 3e73370..f5633bc 100644
--- a/drivers/gpu/drm/arm/malidp_hw.c
+++ b/drivers/gpu/drm/arm/malidp_hw.c
@@ -163,6 +163,7 @@ static const u16 dp500_se_scaling_coeffs[][SE_N_SCALING_COEFFS] = {
 };
 
 #define MALIDP_DE_DEFAULT_PREFETCH_START	5
+static void malidp_se_irq_hw_init(struct malidp_hw_device *hwdev);
 
 static int malidp500_query_hw(struct malidp_hw_device *hwdev)
 {
@@ -952,6 +953,16 @@ static irqreturn_t malidp_se_irq(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
+static void malidp_se_irq_hw_init(struct malidp_hw_device *hwdev)
+{
+	/* ensure interrupts are disabled */
+	malidp_hw_disable_irq(hwdev, MALIDP_SE_BLOCK, 0xffffffff);
+	malidp_hw_clear_irq(hwdev, MALIDP_SE_BLOCK, 0xffffffff);
+
+	malidp_hw_enable_irq(hwdev, MALIDP_SE_BLOCK,
+			     hwdev->hw->map.se_irq_map.irq_mask);
+}
+
 static irqreturn_t malidp_se_irq_thread_handler(int irq, void *arg)
 {
 	return IRQ_HANDLED;
@@ -975,8 +986,7 @@ int malidp_se_irq_init(struct drm_device *drm, int irq)
 		return ret;
 	}
 
-	malidp_hw_enable_irq(hwdev, MALIDP_SE_BLOCK,
-			     hwdev->hw->map.se_irq_map.irq_mask);
+	malidp_se_irq_hw_init(hwdev);
 
 	return 0;
 }
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Ayan Kumar Halder <ayan.halder@arm.com>
To: ayan.halder@arm.com, liviu.dudau@arm.com, brian.starkey@arm.com,
	malidp@foss.arm.com, airlied@linux.ie,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: nd@arm.com
Subject: [PATCH 4/8] drm/arm/malidp: Split malidp_se_irq_init
Date: Mon, 26 Mar 2018 18:03:16 +0100	[thread overview]
Message-ID: <1522083800-30100-5-git-send-email-ayan.halder@arm.com> (raw)
In-Reply-To: <1522083800-30100-1-git-send-email-ayan.halder@arm.com>

Extract the hardware initialisation part from malidp_se_irq_init() into the
malidp_se_irq_hw_init() which will be later invoked from
malidpxxx_enable_memwrite() when it needs to re-enable the interrupts.

Signed-off-by: Ayan Kumar Halder <ayan.halder@arm.com>
Change-Id: Ibb26e86b38141993539307705695e3f6a9e32caa
---
 drivers/gpu/drm/arm/malidp_hw.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c
index 3e73370..f5633bc 100644
--- a/drivers/gpu/drm/arm/malidp_hw.c
+++ b/drivers/gpu/drm/arm/malidp_hw.c
@@ -163,6 +163,7 @@ static const u16 dp500_se_scaling_coeffs[][SE_N_SCALING_COEFFS] = {
 };
 
 #define MALIDP_DE_DEFAULT_PREFETCH_START	5
+static void malidp_se_irq_hw_init(struct malidp_hw_device *hwdev);
 
 static int malidp500_query_hw(struct malidp_hw_device *hwdev)
 {
@@ -952,6 +953,16 @@ static irqreturn_t malidp_se_irq(int irq, void *arg)
 	return IRQ_HANDLED;
 }
 
+static void malidp_se_irq_hw_init(struct malidp_hw_device *hwdev)
+{
+	/* ensure interrupts are disabled */
+	malidp_hw_disable_irq(hwdev, MALIDP_SE_BLOCK, 0xffffffff);
+	malidp_hw_clear_irq(hwdev, MALIDP_SE_BLOCK, 0xffffffff);
+
+	malidp_hw_enable_irq(hwdev, MALIDP_SE_BLOCK,
+			     hwdev->hw->map.se_irq_map.irq_mask);
+}
+
 static irqreturn_t malidp_se_irq_thread_handler(int irq, void *arg)
 {
 	return IRQ_HANDLED;
@@ -975,8 +986,7 @@ int malidp_se_irq_init(struct drm_device *drm, int irq)
 		return ret;
 	}
 
-	malidp_hw_enable_irq(hwdev, MALIDP_SE_BLOCK,
-			     hwdev->hw->map.se_irq_map.irq_mask);
+	malidp_se_irq_hw_init(hwdev);
 
 	return 0;
 }
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-03-26 17:03 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-26 17:03 [PATCH 0/8] drm/arm/malidp: Enhance support for system and runtime power management on malidp Ayan Kumar Halder
2018-03-26 17:03 ` Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 1/8] drm/arm/malidp: Modified the prototype of malidp_de_irq_fini Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 2/8] drm/arm/malidp: Modified the prototype of malidp_se_irq_fini Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 3/8] drm/arm/malidp: Split malidp_de_irq_init Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-26 17:03 ` Ayan Kumar Halder [this message]
2018-03-26 17:03   ` [PATCH 4/8] drm/arm/malidp: Split malidp_se_irq_init Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 5/8] drm/arm/malidp: Enable/disable interrupts in runtime pm Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 6/8] drm/arm/malidp: Enable/disable the scaling engine interrupts with memory writeback Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 7/8] drm/arm/malidp: Set the output_depth register in modeset Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-26 17:03 ` [PATCH 8/8] drm/arm/malidp: Added the late system pm functions Ayan Kumar Halder
2018-03-26 17:03   ` Ayan Kumar Halder
2018-03-27  8:29   ` Daniel Vetter
2018-03-27  8:29     ` Daniel Vetter
2018-03-27  9:59     ` Ayan Halder
2018-03-27  9:59       ` Ayan Halder
2018-03-27 11:09       ` Daniel Vetter
2018-04-06 19:02         ` Ayan Halder
2018-04-06 19:02           ` Ayan Halder
2018-04-09  8:23           ` Daniel Vetter
2018-04-09  8:23             ` Daniel Vetter
2018-04-09 16:15             ` Brian Starkey
2018-04-09 16:15               ` Brian Starkey
2018-04-13 15:44               ` Daniel Vetter
2018-04-13 15:44                 ` Daniel Vetter
2018-04-13 16:02                 ` Brian Starkey
2018-04-13 16:02                   ` Brian Starkey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1522083800-30100-5-git-send-email-ayan.halder@arm.com \
    --to=ayan.halder@arm.com \
    --cc=airlied@linux.ie \
    --cc=brian.starkey@arm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liviu.dudau@arm.com \
    --cc=malidp@foss.arm.com \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.