All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eddie James <eajames@linux.ibm.com>
To: linux-media@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-aspeed@lists.ozlabs.org,
	joel@jms.id.au, andrew@aj.id.au, mchehab@kernel.org,
	linux-clk@vger.kernel.org, sboyd@kernel.org,
	mturquette@baylibre.com, devicetree@vger.kernel.org,
	mark.rutland@arm.com, robh+dt@kernel.org
Subject: [PATCH 1/5] media: platform: Aspeed: Remove use of reset line
Date: Tue,  2 Apr 2019 18:25:00 +0000	[thread overview]
Message-ID: <1554229504-5661-2-git-send-email-eajames@linux.ibm.com> (raw)
In-Reply-To: <1554229504-5661-1-git-send-email-eajames@linux.ibm.com>

The reset line is toggled by enabling the clocks, so it's not necessary
to manually toggle the reset as well.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
---
 drivers/media/platform/aspeed-video.c | 27 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)

diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
index 692e08e..55c55a6 100644
--- a/drivers/media/platform/aspeed-video.c
+++ b/drivers/media/platform/aspeed-video.c
@@ -14,7 +14,6 @@
 #include <linux/of_irq.h>
 #include <linux/of_reserved_mem.h>
 #include <linux/platform_device.h>
-#include <linux/reset.h>
 #include <linux/sched.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
@@ -208,7 +207,6 @@ struct aspeed_video {
 	void __iomem *base;
 	struct clk *eclk;
 	struct clk *vclk;
-	struct reset_control *rst;
 
 	struct device *dev;
 	struct v4l2_ctrl_handler ctrl_handler;
@@ -483,19 +481,10 @@ static void aspeed_video_enable_mode_detect(struct aspeed_video *video)
 	aspeed_video_update(video, VE_SEQ_CTRL, 0, VE_SEQ_CTRL_TRIG_MODE_DET);
 }
 
-static void aspeed_video_reset(struct aspeed_video *video)
-{
-	/* Reset the engine */
-	reset_control_assert(video->rst);
-
-	/* Don't usleep here; function may be called in interrupt context */
-	udelay(100);
-	reset_control_deassert(video->rst);
-}
-
 static void aspeed_video_off(struct aspeed_video *video)
 {
-	aspeed_video_reset(video);
+	/* Disable interrupts */
+	aspeed_video_write(video, VE_INTERRUPT_CTRL, 0);
 
 	/* Turn off the relevant clocks */
 	clk_disable_unprepare(video->vclk);
@@ -507,8 +496,6 @@ static void aspeed_video_on(struct aspeed_video *video)
 	/* Turn on the relevant clocks */
 	clk_prepare_enable(video->eclk);
 	clk_prepare_enable(video->vclk);
-
-	aspeed_video_reset(video);
 }
 
 static void aspeed_video_bufs_done(struct aspeed_video *video,
@@ -1464,7 +1451,9 @@ static void aspeed_video_stop_streaming(struct vb2_queue *q)
 		 * Need to force stop any DMA and try and get HW into a good
 		 * state for future calls to start streaming again.
 		 */
-		aspeed_video_reset(video);
+		aspeed_video_off(video);
+		aspeed_video_on(video);
+
 		aspeed_video_init_regs(video);
 
 		aspeed_video_get_resolution(video);
@@ -1619,12 +1608,6 @@ static int aspeed_video_init(struct aspeed_video *video)
 		return PTR_ERR(video->vclk);
 	}
 
-	video->rst = devm_reset_control_get_exclusive(dev, NULL);
-	if (IS_ERR(video->rst)) {
-		dev_err(dev, "Unable to get VE reset\n");
-		return PTR_ERR(video->rst);
-	}
-
 	rc = of_reserved_mem_device_init(dev);
 	if (rc) {
 		dev_err(dev, "Unable to reserve memory\n");
-- 
1.8.3.1


  reply	other threads:[~2019-04-02 18:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-02 18:24 [PATCH 0/5] Aspeed: Enable video engine Eddie James
2019-04-02 18:25 ` Eddie James [this message]
2019-04-11  2:49   ` [PATCH 1/5] media: platform: Aspeed: Remove use of reset line Joel Stanley
2019-04-02 18:25 ` [PATCH 2/5] media: platform: Aspeed: Make reserved memory optional Eddie James
2019-04-03  6:01   ` Andrew Jeffery
2019-04-03 14:35     ` Eddie James
2019-04-04  2:16       ` Andrew Jeffery
2019-04-02 18:25 ` [PATCH 3/5] media: dt-bindings: aspeed-video: Add missing memory-region property Eddie James
2019-04-02 21:05   ` Jae Hyun Yoo
2019-04-06  6:06   ` Rob Herring
2019-04-06  6:06     ` Rob Herring
2019-04-02 18:25 ` [PATCH 4/5] clk: Aspeed: Setup video engine clocking Eddie James
2019-04-11  2:50   ` Joel Stanley
2019-04-18 21:56     ` Stephen Boyd
2019-04-18 21:56       ` Stephen Boyd
2019-04-02 18:25 ` [PATCH 5/5] ARM: dts: aspeed-g5: Add video engine Eddie James
2019-04-24 10:50 ` [PATCH 0/5] Aspeed: Enable " Hans Verkuil
2019-04-24 15:00   ` Eddie James
  -- strict thread matches above, loose matches on Subject: below --
2019-04-02 18:24 Eddie James
2019-04-02 18:24 ` [PATCH 1/5] media: platform: Aspeed: Remove use of reset line Eddie James
2019-04-11  2:48   ` Joel Stanley

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=1554229504-5661-2-git-send-email-eajames@linux.ibm.com \
    --to=eajames@linux.ibm.com \
    --cc=andrew@aj.id.au \
    --cc=devicetree@vger.kernel.org \
    --cc=joel@jms.id.au \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    /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.