Thread (3 messages) 3 messages, 2 authors, 2008-10-25

Re: [Linux-fbdev-devel] [PATCHv2 1/4] OMAP 2/3 DSS Library

From: Tony Lindgren <tony@atomide.com>
Date: 2008-10-24 19:13:25
Also in: linux-omap

Hi,

* Hardik Shah [off-list ref] [081024 03:16]:
quoted hunk ↗ jump to hunk
Cleaned up the DSS Library according to open source comments

Removed unused #ifdefs
Removed unused #defines
Minor cleanups done
Removed Architecture specific #ifdefs

Signed-off-by: Brijesh Jadav <redacted>
		Hari Nagalla [off-list ref]
		Hardik Shah [off-list ref]
		Manjunath Hadli [off-list ref]
		R Sivaraj [off-list ref]
		Vaibhav Hiremath [off-list ref]

---
 arch/arm/plat-omap/Kconfig                 |    7 +
 arch/arm/plat-omap/Makefile                |    2 +-
 arch/arm/plat-omap/include/mach/io.h       |    2 +-
 arch/arm/plat-omap/include/mach/omap-dss.h |  921 ++++++++++++
 arch/arm/plat-omap/omap-dss.c              | 2248 ++++++++++++++++++++++++++++
 5 files changed, 3178 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/plat-omap/include/mach/omap-dss.h
 create mode 100644 arch/arm/plat-omap/omap-dss.c
diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h
index ea55267..2495656 100644
--- a/arch/arm/plat-omap/include/mach/io.h
+++ b/arch/arm/plat-omap/include/mach/io.h
@@ -142,11 +142,11 @@
 #define OMAP343X_SDRC_VIRT	0xFD000000
 #define OMAP343X_SDRC_SIZE	SZ_1M

-
 #define IO_OFFSET		0x90000000
 #define __IO_ADDRESS(pa)	((pa) + IO_OFFSET)/* Works for L3 and L4 */
 #define __OMAP2_IO_ADDRESS(pa)	((pa) + IO_OFFSET)/* Works for L3 and L4 */
 #define io_v2p(va)		((va) - IO_OFFSET)/* Works for L3 and L4 */
+#define io_p2v(pa)		__IO_ADDRESS(pa)/* Works for L3 and L4 */

 /* DSP */
 #define DSP_MEM_34XX_PHYS	OMAP34XX_DSP_MEM_BASE	/* 0x58000000 */
NAK for adding back io_p2v(). See below.

quoted hunk ↗ jump to hunk
diff --git a/arch/arm/plat-omap/include/mach/omap-dss.h b/arch/arm/plat-omap/include/mach/omap-dss.h
new file mode 100644
index 0000000..d9a33bd
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/omap-dss.h
@@ -0,0 +1,921 @@
+/*
+ * arch/arm/plat-omap/include/mach/omap-dss.h
+ *
+ * Copyright (C) 2004-2005 Texas Instruments.
+ * Copyright (C) 2006 Texas Instruments.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+
+ * Leveraged from original Linux 2.6 framebuffer driver for OMAP24xx
+ * Author: Andy Lowe (source@mvista.com)
+ * Copyright (C) 2004 MontaVista Software, Inc.
+ *
+ */
+
+#ifndef	__ASM_ARCH_OMAP_DISP_H
+#define	__ASM_ARCH_OMAP_DISP_H
+
+/* 16 bit uses LDRH/STRH, base +/- offset_8 */
+typedef struct {
+	volatile u16 offset[256];
+} __regbase16;
+#define __REGV16(vaddr)		(((__regbase16 *)((vaddr)&~0xff)) \
+					->offset[((vaddr)&0xff)>>1])
+#define __REG16(paddr)		 __REGV16(io_p2v(paddr))
+
+/* 8/32 bit uses LDR/STR, base +/- offset_12 */
+typedef struct {
+	volatile u8 offset[4096];
+} __regbase8;
+#define __REGV8(vaddr)		(((__regbase8  *)((vaddr)&~4095)) \
+					->offset[((vaddr)&4095)>>0])
+#define __REG8(paddr)		 __REGV8(io_p2v(paddr))
+
+typedef struct {
+	volatile u32 offset[4096];
+} __regbase32;
+#define __REGV32(vaddr)		(((__regbase32 *)((vaddr)&~4095)) \
+					->offset[((vaddr)&4095)>>2])
+#define __REG32(paddr)		__REGV32(io_p2v(paddr))
+
NAK for adding back the __REG stuff. We've just spent quite a bit of
effort to remove these. The __REG stuff is not portable.

Please use ioremap and then __raw_read/write instead.

Regards,

Tony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help