public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: OMAP: Fix for mailbox and dsp module
@ 2006-11-08 11:00 Toshihiro.Kobayashi
  0 siblings, 0 replies; 5+ messages in thread
From: Toshihiro.Kobayashi @ 2006-11-08 11:00 UTC (permalink / raw)
  To: linux-omap-open-source, hiroshi.doyu

Fix to build DSP Gateway as a module.

After this fix, modules regarding mailbox will be built as follows.

arch/arm/mach-omap[12]/mailbox.o -> mailbox_mach.ko
arch/arm/plat-omap/mailbox.o ->mailbox.ko

BR,
Toshihiro Kobayashi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] ARM: OMAP: Fix for mailbox and dsp module
@ 2006-11-08 11:02 Toshihiro.Kobayashi
  2006-11-10  0:32 ` Tony Lindgren
  2006-11-10  4:47 ` [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost) Toshihiro.Kobayashi
  0 siblings, 2 replies; 5+ messages in thread
From: Toshihiro.Kobayashi @ 2006-11-08 11:02 UTC (permalink / raw)
  To: linux-omap-open-source, hiroshi.doyu

[-- Attachment #1: Type: text/plain, Size: 574 bytes --]

Forgot to attach the patch. ;(

BR,
Toshihiro Kobayashi

>-----Original Message-----
>From: Kobayashi Toshihiro (Nokia-NRC/Tokyo) 
>Sent: Wednesday, November 08, 2006 8:01 PM
>To: 'linux-omap-open-source@linux.omap.com'; Doyu Hiroshi 
>(Nokia-M/Helsinki)
>Subject: [PATCH] ARM: OMAP: Fix for mailbox and dsp module
>
>Fix to build DSP Gateway as a module.
>
>After this fix, modules regarding mailbox will be built as follows.
>
>arch/arm/mach-omap[12]/mailbox.o -> mailbox_mach.ko
>arch/arm/plat-omap/mailbox.o ->mailbox.ko
>
>BR,
>Toshihiro Kobayashi

[-- Attachment #2: patch-mailbox-module --]
[-- Type: application/octet-stream, Size: 5296 bytes --]

diff -urN linux-omap/arch/arm/mach-omap1/Makefile linux-omap-new/arch/arm/mach-omap1/Makefile
--- linux-omap/arch/arm/mach-omap1/Makefile	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/Makefile	2006-11-08 19:42:10 +09:00
@@ -11,7 +11,8 @@
 obj-$(CONFIG_PM) += pm.o sleep.o
 
 # DSP
-obj-$(CONFIG_OMAP_DSP) += mailbox.o
+obj-$(CONFIG_OMAP_DSP)	+= mailbox_mach.o
+mailbox_mach-objs	:= mailbox.o
 
 led-y := leds.o
 
diff -urN linux-omap/arch/arm/mach-omap1/devices.c linux-omap-new/arch/arm/mach-omap1/devices.c
--- linux-omap/arch/arm/mach-omap1/devices.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/devices.c	2006-11-08 19:59:46 +09:00
@@ -61,7 +61,7 @@
 static inline void omap_init_rtc(void) {}
 #endif
 
-#if defined(CONFIG_OMAP_DSP)
+#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
 
 #if defined(CONFIG_ARCH_OMAP15XX)
 #  define OMAP1_MBOX_SIZE	0x23
diff -urN linux-omap/arch/arm/mach-omap1/mailbox.c linux-omap-new/arch/arm/mach-omap1/mailbox.c
--- linux-omap/arch/arm/mach-omap1/mailbox.c	2006-11-08 20:09:23 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/mailbox.c	2006-11-08 20:09:17 +09:00
@@ -141,6 +141,7 @@
 	.ops  = &omap1_mbox_ops,
 	.priv = &omap1_mbox_dsp_priv,
 };
+EXPORT_SYMBOL(mbox_dsp_info);
 
 static int __init omap1_mbox_probe(struct platform_device *pdev)
 {
diff -urN linux-omap/arch/arm/mach-omap2/Makefile linux-omap-new/arch/arm/mach-omap2/Makefile
--- linux-omap/arch/arm/mach-omap2/Makefile	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/Makefile	2006-11-08 19:42:10 +09:00
@@ -12,7 +12,8 @@
 obj-$(CONFIG_PM) += pm.o pm-domain.o sleep.o
 
 # DSP
-obj-$(CONFIG_OMAP_DSP) += mailbox.o
+obj-$(CONFIG_OMAP_DSP)	+= mailbox_mach.o
+mailbox_mach-objs	:= mailbox.o
 
 # Specific board support
 obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o
diff -urN linux-omap/arch/arm/mach-omap2/devices.c linux-omap-new/arch/arm/mach-omap2/devices.c
--- linux-omap/arch/arm/mach-omap2/devices.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/devices.c	2006-11-08 20:00:04 +09:00
@@ -66,7 +66,7 @@
 
 #endif
 
-#if defined(CONFIG_OMAP_DSP)
+#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
 #define OMAP2_MBOX_BASE		IO_ADDRESS(OMAP24XX_MAILBOX_BASE)
 
 static struct resource mbox_resources[] = {
diff -urN linux-omap/arch/arm/mach-omap2/mailbox.c linux-omap-new/arch/arm/mach-omap2/mailbox.c
--- linux-omap/arch/arm/mach-omap2/mailbox.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/mailbox.c	2006-11-08 19:42:10 +09:00
@@ -209,11 +209,12 @@
 	.newmsg_bit = MAILBOX_IRQ_NEWMSG(1),
 };
 
-static struct omap_mbox mbox_dsp_info = {
+struct omap_mbox mbox_dsp_info = {
 	.name = "dsp",
 	.ops = &omap2_mbox_ops,
 	.priv = &omap2_mbox_dsp_priv,
 };
+EXPORT_SYMBOL(mbox_dsp_info);
 
 /* IVA */
 static struct omap_mbox2_priv omap2_mbox_iva_priv = {
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_common.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_common.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_common.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_common.c	2006-11-08 19:42:10 +09:00
@@ -587,6 +587,7 @@
 EXPORT_SYMBOL(dsp_fck_handle);
 EXPORT_SYMBOL(dsp_ick_handle);
 #endif
+EXPORT_SYMBOL(omap_dsp);
 EXPORT_SYMBOL(dspmem_base);
 EXPORT_SYMBOL(dspmem_size);
 EXPORT_SYMBOL(daram_base);
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_core.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_core.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_core.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_core.c	2006-11-08 19:42:10 +09:00
@@ -406,7 +406,7 @@
 static int __init dsp_mbox_init(void)
 {
 	omap_dsp->mbox = omap_mbox_get("dsp");
-	if (IS_ERR(omap_dsp->mbox)) {
+	if (omap_dsp->mbox == NULL) {
 		printk(KERN_ERR "failed to get mailbox handler for DSP.\n");
 		return -ENODEV;
 	}
@@ -676,6 +676,10 @@
 {
 	platform_driver_unregister(&dsp_driver);
 }
+
+/* module dependency: need mailbox module that have mbox_dsp_info */
+extern struct omap_mbox mbox_dsp_info;
+struct omap_mbox *mbox_dep = &mbox_dsp_info;
 
 module_init(omap_dsp_mod_init);
 module_exit(omap_dsp_mod_exit);
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_mem.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_mem.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_mem.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_mem.c	2006-11-08 19:42:10 +09:00
@@ -1647,6 +1647,8 @@
 	 DSP_MMU_IRQ_TLBMISS)
 #endif
 
+static int is_mmu_init;
+
 static void dsp_mmu_init(void)
 {
 	struct tlb_lock tlb_lock;
@@ -1682,13 +1684,17 @@
 	omap_dsp_release_mem();
 	clk_disable(dsp_ck_handle);
 #endif
+
+	is_mmu_init = 1;
 }
 
 static void dsp_mmu_shutdown(void)
 {
-	exmap_flush();
-	exmap_clear_preserved_entries();
-	dsp_mmu_disable();
+	if (is_mmu_init) {
+		exmap_flush();
+		exmap_clear_preserved_entries();
+		dsp_mmu_disable();
+	}
 }
 
 #ifdef CONFIG_ARCH_OMAP1
diff -urN linux-omap/arch/arm/plat-omap/mailbox.c linux-omap-new/arch/arm/plat-omap/mailbox.c
--- linux-omap/arch/arm/plat-omap/mailbox.c	2006-11-08 20:09:23 +09:00
+++ linux-omap-new/arch/arm/plat-omap/mailbox.c	2006-11-08 20:09:17 +09:00
@@ -345,3 +345,5 @@
 
 subsys_initcall(omap_mbox_class_init);
 module_exit(omap_mbox_class_exit);
+
+MODULE_LICENSE("GPL");

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] ARM: OMAP: Fix for mailbox and dsp module
  2006-11-08 11:02 [PATCH] ARM: OMAP: Fix for mailbox and dsp module Toshihiro.Kobayashi
@ 2006-11-10  0:32 ` Tony Lindgren
  2006-11-10  4:47 ` [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost) Toshihiro.Kobayashi
  1 sibling, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2006-11-10  0:32 UTC (permalink / raw)
  To: Toshihiro.Kobayashi; +Cc: linux-omap-open-source

Hi,

* Toshihiro.Kobayashi@nokia.com <Toshihiro.Kobayashi@nokia.com> [061108 13:10]:
> Forgot to attach the patch. ;(

Can you also please reply to your patches with Signed-off-by?

Regards,

Tony

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost)
  2006-11-08 11:02 [PATCH] ARM: OMAP: Fix for mailbox and dsp module Toshihiro.Kobayashi
  2006-11-10  0:32 ` Tony Lindgren
@ 2006-11-10  4:47 ` Toshihiro.Kobayashi
  2006-11-11  0:10   ` Tony Lindgren
  1 sibling, 1 reply; 5+ messages in thread
From: Toshihiro.Kobayashi @ 2006-11-10  4:47 UTC (permalink / raw)
  To: linux-omap-open-source, hiroshi.doyu

[-- Attachment #1: Type: text/plain, Size: 610 bytes --]

Reposting with S-O-B.

Signed-off-by: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>

>-----Original Message-----
>From: Kobayashi Toshihiro (Nokia-NRC/Tokyo) 
>Sent: Wednesday, November 08, 2006 8:01 PM
>To: 'linux-omap-open-source@linux.omap.com'; Doyu Hiroshi 
>(Nokia-M/Helsinki)
>Subject: [PATCH] ARM: OMAP: Fix for mailbox and dsp module
>
>Fix to build DSP Gateway as a module.
>
>After this fix, modules regarding mailbox will be built as follows.
>
>arch/arm/mach-omap[12]/mailbox.o -> mailbox_mach.ko
>arch/arm/plat-omap/mailbox.o ->mailbox.ko
>
>BR,
>Toshihiro Kobayashi
>

[-- Attachment #2: patch-mailbox-module --]
[-- Type: application/octet-stream, Size: 5296 bytes --]

diff -urN linux-omap/arch/arm/mach-omap1/Makefile linux-omap-new/arch/arm/mach-omap1/Makefile
--- linux-omap/arch/arm/mach-omap1/Makefile	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/Makefile	2006-11-08 19:42:10 +09:00
@@ -11,7 +11,8 @@
 obj-$(CONFIG_PM) += pm.o sleep.o
 
 # DSP
-obj-$(CONFIG_OMAP_DSP) += mailbox.o
+obj-$(CONFIG_OMAP_DSP)	+= mailbox_mach.o
+mailbox_mach-objs	:= mailbox.o
 
 led-y := leds.o
 
diff -urN linux-omap/arch/arm/mach-omap1/devices.c linux-omap-new/arch/arm/mach-omap1/devices.c
--- linux-omap/arch/arm/mach-omap1/devices.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/devices.c	2006-11-08 19:59:46 +09:00
@@ -61,7 +61,7 @@
 static inline void omap_init_rtc(void) {}
 #endif
 
-#if defined(CONFIG_OMAP_DSP)
+#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
 
 #if defined(CONFIG_ARCH_OMAP15XX)
 #  define OMAP1_MBOX_SIZE	0x23
diff -urN linux-omap/arch/arm/mach-omap1/mailbox.c linux-omap-new/arch/arm/mach-omap1/mailbox.c
--- linux-omap/arch/arm/mach-omap1/mailbox.c	2006-11-08 20:09:23 +09:00
+++ linux-omap-new/arch/arm/mach-omap1/mailbox.c	2006-11-08 20:09:17 +09:00
@@ -141,6 +141,7 @@
 	.ops  = &omap1_mbox_ops,
 	.priv = &omap1_mbox_dsp_priv,
 };
+EXPORT_SYMBOL(mbox_dsp_info);
 
 static int __init omap1_mbox_probe(struct platform_device *pdev)
 {
diff -urN linux-omap/arch/arm/mach-omap2/Makefile linux-omap-new/arch/arm/mach-omap2/Makefile
--- linux-omap/arch/arm/mach-omap2/Makefile	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/Makefile	2006-11-08 19:42:10 +09:00
@@ -12,7 +12,8 @@
 obj-$(CONFIG_PM) += pm.o pm-domain.o sleep.o
 
 # DSP
-obj-$(CONFIG_OMAP_DSP) += mailbox.o
+obj-$(CONFIG_OMAP_DSP)	+= mailbox_mach.o
+mailbox_mach-objs	:= mailbox.o
 
 # Specific board support
 obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o
diff -urN linux-omap/arch/arm/mach-omap2/devices.c linux-omap-new/arch/arm/mach-omap2/devices.c
--- linux-omap/arch/arm/mach-omap2/devices.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/devices.c	2006-11-08 20:00:04 +09:00
@@ -66,7 +66,7 @@
 
 #endif
 
-#if defined(CONFIG_OMAP_DSP)
+#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
 #define OMAP2_MBOX_BASE		IO_ADDRESS(OMAP24XX_MAILBOX_BASE)
 
 static struct resource mbox_resources[] = {
diff -urN linux-omap/arch/arm/mach-omap2/mailbox.c linux-omap-new/arch/arm/mach-omap2/mailbox.c
--- linux-omap/arch/arm/mach-omap2/mailbox.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/mach-omap2/mailbox.c	2006-11-08 19:42:10 +09:00
@@ -209,11 +209,12 @@
 	.newmsg_bit = MAILBOX_IRQ_NEWMSG(1),
 };
 
-static struct omap_mbox mbox_dsp_info = {
+struct omap_mbox mbox_dsp_info = {
 	.name = "dsp",
 	.ops = &omap2_mbox_ops,
 	.priv = &omap2_mbox_dsp_priv,
 };
+EXPORT_SYMBOL(mbox_dsp_info);
 
 /* IVA */
 static struct omap_mbox2_priv omap2_mbox_iva_priv = {
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_common.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_common.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_common.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_common.c	2006-11-08 19:42:10 +09:00
@@ -587,6 +587,7 @@
 EXPORT_SYMBOL(dsp_fck_handle);
 EXPORT_SYMBOL(dsp_ick_handle);
 #endif
+EXPORT_SYMBOL(omap_dsp);
 EXPORT_SYMBOL(dspmem_base);
 EXPORT_SYMBOL(dspmem_size);
 EXPORT_SYMBOL(daram_base);
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_core.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_core.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_core.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_core.c	2006-11-08 19:42:10 +09:00
@@ -406,7 +406,7 @@
 static int __init dsp_mbox_init(void)
 {
 	omap_dsp->mbox = omap_mbox_get("dsp");
-	if (IS_ERR(omap_dsp->mbox)) {
+	if (omap_dsp->mbox == NULL) {
 		printk(KERN_ERR "failed to get mailbox handler for DSP.\n");
 		return -ENODEV;
 	}
@@ -676,6 +676,10 @@
 {
 	platform_driver_unregister(&dsp_driver);
 }
+
+/* module dependency: need mailbox module that have mbox_dsp_info */
+extern struct omap_mbox mbox_dsp_info;
+struct omap_mbox *mbox_dep = &mbox_dsp_info;
 
 module_init(omap_dsp_mod_init);
 module_exit(omap_dsp_mod_exit);
diff -urN linux-omap/arch/arm/plat-omap/dsp/dsp_mem.c linux-omap-new/arch/arm/plat-omap/dsp/dsp_mem.c
--- linux-omap/arch/arm/plat-omap/dsp/dsp_mem.c	2006-11-06 23:53:46 +09:00
+++ linux-omap-new/arch/arm/plat-omap/dsp/dsp_mem.c	2006-11-08 19:42:10 +09:00
@@ -1647,6 +1647,8 @@
 	 DSP_MMU_IRQ_TLBMISS)
 #endif
 
+static int is_mmu_init;
+
 static void dsp_mmu_init(void)
 {
 	struct tlb_lock tlb_lock;
@@ -1682,13 +1684,17 @@
 	omap_dsp_release_mem();
 	clk_disable(dsp_ck_handle);
 #endif
+
+	is_mmu_init = 1;
 }
 
 static void dsp_mmu_shutdown(void)
 {
-	exmap_flush();
-	exmap_clear_preserved_entries();
-	dsp_mmu_disable();
+	if (is_mmu_init) {
+		exmap_flush();
+		exmap_clear_preserved_entries();
+		dsp_mmu_disable();
+	}
 }
 
 #ifdef CONFIG_ARCH_OMAP1
diff -urN linux-omap/arch/arm/plat-omap/mailbox.c linux-omap-new/arch/arm/plat-omap/mailbox.c
--- linux-omap/arch/arm/plat-omap/mailbox.c	2006-11-08 20:09:23 +09:00
+++ linux-omap-new/arch/arm/plat-omap/mailbox.c	2006-11-08 20:09:17 +09:00
@@ -345,3 +345,5 @@
 
 subsys_initcall(omap_mbox_class_init);
 module_exit(omap_mbox_class_exit);
+
+MODULE_LICENSE("GPL");

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost)
  2006-11-10  4:47 ` [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost) Toshihiro.Kobayashi
@ 2006-11-11  0:10   ` Tony Lindgren
  0 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2006-11-11  0:10 UTC (permalink / raw)
  To: Toshihiro.Kobayashi; +Cc: linux-omap-open-source

* Toshihiro.Kobayashi@nokia.com <Toshihiro.Kobayashi@nokia.com> [061110 06:49]:
> Reposting with S-O-B.
> 
> Signed-off-by: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>
> 
> >-----Original Message-----
> >From: Kobayashi Toshihiro (Nokia-NRC/Tokyo) 
> >Sent: Wednesday, November 08, 2006 8:01 PM
> >To: 'linux-omap-open-source@linux.omap.com'; Doyu Hiroshi 
> >(Nokia-M/Helsinki)
> >Subject: [PATCH] ARM: OMAP: Fix for mailbox and dsp module
> >
> >Fix to build DSP Gateway as a module.
> >
> >After this fix, modules regarding mailbox will be built as follows.
> >
> >arch/arm/mach-omap[12]/mailbox.o -> mailbox_mach.ko
> >arch/arm/plat-omap/mailbox.o ->mailbox.ko

Thanks, pushing.

Tony

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-11-11  0:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-08 11:02 [PATCH] ARM: OMAP: Fix for mailbox and dsp module Toshihiro.Kobayashi
2006-11-10  0:32 ` Tony Lindgren
2006-11-10  4:47 ` [PATCH] ARM: OMAP: Fix for mailbox and dsp module (repost) Toshihiro.Kobayashi
2006-11-11  0:10   ` Tony Lindgren
  -- strict thread matches above, loose matches on Subject: below --
2006-11-08 11:00 [PATCH] ARM: OMAP: Fix for mailbox and dsp module Toshihiro.Kobayashi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox