All of lore.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 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.