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
next prev 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: linkBe 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.