* 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; 4+ 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] 4+ 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; 4+ 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] 4+ 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; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread
end of thread, other threads:[~2006-11-11 0:10 UTC | newest]
Thread overview: 4+ 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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox