Re: [PATCH] drm/exynos: fimd: calculate the correct address offset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Leela,

On 03/05/2013 08:25 PM, Leela Krishna Amudala wrote:
Calculate the correct address offset values for alpha and color key
control registers

Signed-off-by: Leela Krishna Amudala <l.krishna@xxxxxxxxxxx>
---
  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 9537761..71f4176 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -41,7 +41,7 @@
  /* size control register for hardware window 0. */
  #define VIDOSD_C_SIZE_W0	(VIDOSD_BASE + 0x08)

How about just use VIDOSD_C(win) instead of this macro for size control register of windows0?
I think it's better if writes comments properly here.

  /* alpha control register for hardware window 1 ~ 4. */
-#define VIDOSD_C(win)		(VIDOSD_BASE + 0x18 + (win) * 16)
+#define VIDOSD_C(win)		(VIDOSD_BASE + 0x08 + (win) * 16)
  /* size control register for hardware window 1 ~ 4. */
  #define VIDOSD_D(win)		(VIDOSD_BASE + 0x0C + (win) * 16)
@@ -50,9 +50,9 @@
  #define VIDWx_BUF_SIZE(win, buf)	(VIDW_BUF_SIZE(buf) + (win) * 4)
/* color key control register for hardware window 1 ~ 4. */
-#define WKEYCON0_BASE(x)		((WKEYCON0 + 0x140) + (x * 8))
+#define WKEYCON0_BASE(x)		((WKEYCON0 + 0x140) + ((x - 1) * 8))
  /* color key value register for hardware window 1 ~ 4. */
-#define WKEYCON1_BASE(x)		((WKEYCON1 + 0x140) + (x * 8))
+#define WKEYCON1_BASE(x)		((WKEYCON1 + 0x140) + ((x - 1) * 8))
/* FIMD has totally five hardware windows. */
  #define WINDOWS_NR	5
@@ -782,7 +782,8 @@ static void fimd_clear_win(struct fimd_context *ctx, int win)
  	writel(0, ctx->regs + WINCON(win));
  	writel(0, ctx->regs + VIDOSD_A(win));
  	writel(0, ctx->regs + VIDOSD_B(win));
-	writel(0, ctx->regs + VIDOSD_C(win));
+	if (win != 0)
+		writel(0, ctx->regs + VIDOSD_C(win));

If use VIDOSD_C(win) macro for size control register of windows0 then this fix will be unnecessary.

Thanks.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux