Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r2283 - trunk/src/host/qemu-neo1973/hw ([EMAIL PROTECTED])
   2. r2284 - in trunk/oe/packages/libxosd: . files
      ([EMAIL PROTECTED])
   3. r2285 - trunk/src/target/OM-2007/openmoko-libs/libmokoui
      ([EMAIL PROTECTED])
   4. r2286 - trunk/src/target/OM-2007/openmoko-libs/libmokoui
      ([EMAIL PROTECTED])
   5. r2287 -
      trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src
      ([EMAIL PROTECTED])
   6. r2288 - trunk/src/target/kernel/patches
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: andrew
Date: 2007-06-17 03:19:47 +0200 (Sun, 17 Jun 2007)
New Revision: 2283

Modified:
   trunk/src/host/qemu-neo1973/hw/s3c2410.c
   trunk/src/host/qemu-neo1973/hw/wm8753.c
Log:
Rewrite DMA queuing.  Enhance buffering of audio data in WM8753.


Modified: trunk/src/host/qemu-neo1973/hw/s3c2410.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/s3c2410.c    2007-06-16 15:23:39 UTC (rev 
2282)
+++ trunk/src/host/qemu-neo1973/hw/s3c2410.c    2007-06-17 01:19:47 UTC (rev 
2283)
@@ -696,7 +696,7 @@
     } ch[S3C_DMA_CH_N];
 };
 
-static void s3c_dma_ch_run(struct s3c_dma_state_s *s,
+static inline void s3c_dma_ch_run(struct s3c_dma_state_s *s,
                 struct s3c_dma_ch_state_s *ch)
 {
     int width, burst, t;
@@ -704,12 +704,12 @@
     width = 1 << ((ch->con >> 20) & 3);                                /* DSZ 
*/
     burst = (ch->con & (1 << 28)) ? 4 : 1;                     /* TSZ */
 
-    while (!ch->running && ch->req && (ch->mask & (1 << 1))) { /* ON_OFF */
+    while (!ch->running && ch->curr_tc > 0 && ch->req &&
+                    (ch->mask & (1 << 1))) {           /* ON_OFF */
         if (width > sizeof(buffer)) {
             printf("%s: wrong access width\n", __FUNCTION__);
             return;
         }
-        ch->curr_tc = ch->con & 0xfffff;                       /* TC */
         ch->running = 1;
         while (ch->curr_tc --) {
             for (t = 0; t < burst; t ++) {
@@ -726,24 +726,35 @@
                 break;
         }
         ch->running = 0;
-        if (!ch->curr_tc && (ch->con & (1 << 29)))             /* INT */
-            qemu_irq_raise(ch->intr);
 
-        if (ch->con & (1 << 22)) {                             /* RELOAD */
-            if (!(ch->con & (1 << 23))) {                      /* SWHW_SEL */
-                printf("%s: auto-reload software controlled transfer\n",
-                                __FUNCTION__);
+        if (!(ch->con & (1 << 23))) {                          /* SWHW_SEL */
+            ch->req = 0;
+        }
+
+        if (ch->curr_tc <= 0) {
+            if (ch->con & (1 << 22))                           /* RELOAD */
+                ch->mask &= ~(1 << 1);                         /* ON_OFF */
+            else {
+                if (!(ch->con & (1 << 23))) {                  /* SWHW_SEL */
+                    printf("%s: auto-reload software controlled transfer\n",
+                                    __FUNCTION__);
+                    break;
+                }
+                ch->csrc = ch->isrc;                           /* S_ADDR */
+                ch->cdst = ch->idst;                           /* D_ADDR */
+                ch->curr_tc = ch->con & 0xfffff;               /* TC */
+                ch->con |= 1 << 22;                            /* ON_OFF */
+            }
+
+            if (ch->con & (1 << 31))                           /* DMD_HS */
+                ch->req = 0;
+
+            if (ch->con & (1 << 29)) {                         /* INT */
+                qemu_irq_raise(ch->intr);
+                /* Give the system a chance to respond.  */
                 break;
             }
-            ch->csrc = ch->isrc;                               /* S_ADDR */
-            ch->cdst = ch->idst;                               /* D_ADDR */
-            ch->curr_tc = ch->con & 0xfffff;                   /* TC */
         }
-        if (!(ch->con & (1 << 23))) {                          /* SWHW_SEL */
-            ch->req = 0;
-        }
-        if (!ch->curr_tc && !(ch->con & (1 << 22)))            /* RELOAD */
-            ch->mask &= ~(1 << 1);                             /* ON_OFF */
     }
 }
 
@@ -839,22 +850,27 @@
         ch->con = value;
         break;
     case S3C_DISRC:
-        ch->csrc = ch->isrc = value;
+        ch->isrc = value;
         break;
     case S3C_DISRCC:
         ch->isrcc = value;
         break;
     case S3C_DIDST:
-        ch->cdst = ch->idst = value;
+        ch->idst = value;
         break;
     case S3C_DIDSTC:
         ch->idstc = value;
         break;
     case S3C_DMASKTRIG:
+        if (~ch->mask & value & (1 << 1)) {                    /* ON_OFF */
+            ch->curr_tc = ch->con & 0xfffff;                   /* TC */
+            ch->csrc = ch->isrc;                               /* S_ADDR */
+            ch->cdst = ch->idst;                               /* D_ADDR */
+        }
+
         ch->mask = value;
         if (value & (1 << 2)) {                                        /* STOP 
*/
-            ch->curr_tc = 0;
-            ch->mask &= ~(1 << 1);                             /* ON_OFF */
+            ch->mask &= ~(3 << 1);                             /* ON_OFF */
         } else if (!(ch->con & (1 << 23))) {                   /* SWHW_SEL */
             ch->req = value & 1;                               /* SW_TRIG */
             s3c_dma_ch_run(s, ch);

Modified: trunk/src/host/qemu-neo1973/hw/wm8753.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/wm8753.c     2007-06-16 15:23:39 UTC (rev 
2282)
+++ trunk/src/host/qemu-neo1973/hw/wm8753.c     2007-06-17 01:19:47 UTC (rev 
2283)
@@ -74,10 +74,10 @@
 
 static inline void wm8753_out_flush(struct wm8753_s *s)
 {
-    int sent;
-    if (!s->idx_out)
-        return;
-    sent = AUD_write(*s->out[0], s->data_out, s->idx_out);
+    int sent = 0;
+    while (sent < s->idx_out)
+        sent += AUD_write(*s->out[0], s->data_out + sent, s->idx_out - sent)
+                ?: s->idx_out;
     s->idx_out = 0;
 }
 
@@ -91,10 +91,14 @@
 static void wm8753_audio_out_cb(void *opaque, int free_b)
 {
     struct wm8753_s *s = (struct wm8753_s *) opaque;
-    wm8753_out_flush(s);
+    if (s->idx_out >= free_b) {
+        s->idx_out = free_b;
+        s->req_out = 0;
+        wm8753_out_flush(s);
+    } else
+        s->req_out = free_b - s->idx_out;
 
-    s->req_out = free_b;
-    s->data_req(s->opaque, free_b >> 2, s->req_in >> 2);
+    s->data_req(s->opaque, s->req_out >> 2, s->req_in >> 2);
 }
 
 struct wm_rate_s {




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-17 06:01:11 +0200 (Sun, 17 Jun 2007)
New Revision: 2284

Modified:
   trunk/oe/packages/libxosd/files/use-sane-default-font.patch
   trunk/oe/packages/libxosd/libxosd_svn.bb
Log:
oe/libxosd: refresh patch


Modified: trunk/oe/packages/libxosd/files/use-sane-default-font.patch
===================================================================
--- trunk/oe/packages/libxosd/files/use-sane-default-font.patch 2007-06-17 
01:19:47 UTC (rev 2283)
+++ trunk/oe/packages/libxosd/files/use-sane-default-font.patch 2007-06-17 
04:01:11 UTC (rev 2284)
@@ -1,11 +1,11 @@
 Index: current/src/libxosd/xosd.c
 ===================================================================
---- current.orig/src/libxosd/xosd.c
-+++ current/src/libxosd/xosd.c
+--- current.orig/src/libxosd/xosd.c    2007-06-16 19:37:48.000000000 +0000
++++ current/src/libxosd/xosd.c 2007-06-17 05:00:47.000000000 +0000
 @@ -26,7 +26,7 @@
  #define XOFFSET 10
  
- const char *osd_default_font =
+ const char * const osd_default_font =
 -  "-misc-fixed-medium-r-semicondensed--*-*-*-*-c-*-*-*";
 +  "fixed";
  #if 0

Modified: trunk/oe/packages/libxosd/libxosd_svn.bb
===================================================================
--- trunk/oe/packages/libxosd/libxosd_svn.bb    2007-06-17 01:19:47 UTC (rev 
2283)
+++ trunk/oe/packages/libxosd/libxosd_svn.bb    2007-06-17 04:01:11 UTC (rev 
2284)
@@ -3,7 +3,7 @@
 DEPENDS = "virtual/libx11 libxext"
 LICENSE = "LGPL"
 PV = "2.2.15+svn${SRCDATE}"
-PR = "r3"
+PR = "r4"
 
 SRC_URI = 
"svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https
 \
            file://autofoo.patch;patch=1 \




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-17 06:25:00 +0200 (Sun, 17 Jun 2007)
New Revision: 2285

Added:
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.c
Modified:
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/Makefile.am
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/libmokoui.pro
Log:
libmokoui: put ui convenience functions into moko-ui.c


Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/Makefile.am        
2007-06-17 04:01:11 UTC (rev 2284)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/Makefile.am        
2007-06-17 04:25:00 UTC (rev 2285)
@@ -23,6 +23,7 @@
     moko-message-dialog.h
 
 source_c = \
+    moko-ui.c \
     moko-alignment.c \
     moko-application.c \
     moko-banner.c \

Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/libmokoui.pro
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/libmokoui.pro      
2007-06-17 04:01:11 UTC (rev 2284)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/libmokoui.pro      
2007-06-17 04:25:00 UTC (rev 2285)
@@ -47,6 +47,7 @@
     moko-stock.c \
     moko-tree-view.c \
     moko-tool-box.c \
+    moko-ui.c \
     moko-window.c
 
 PKGCONFIG += gtk+-2.0

Added: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.c  2007-06-17 
04:01:11 UTC (rev 2284)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.c  2007-06-17 
04:25:00 UTC (rev 2285)
@@ -0,0 +1,15 @@
+#include "moko-ui.h"
+
+void moko_ui_banner_show_text( gint timeout, const gchar* message, ... )
+{
+    va_list a;
+    g_return_if_fail( timeout ); // don't allow permanent banners using the 
simple interface
+    va_start( a, message );
+    const gchar* string = g_strdup_vprintf( message, a );
+    va_end( a );
+    MokoBanner* banner = moko_banner_new();
+    moko_banner_show_text( banner, string, timeout );
+    g_object_unref( banner );
+    g_free( string );
+}
+


Property changes on: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.c
___________________________________________________________________
Name: svn:eol-style
   + native




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-17 06:32:29 +0200 (Sun, 17 Jun 2007)
New Revision: 2286

Modified:
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.h
Log:
move...


Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.h
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.h  2007-06-17 
04:25:00 UTC (rev 2285)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-ui.h  2007-06-17 
04:32:29 UTC (rev 2286)
@@ -42,17 +42,6 @@
 #include "moko-tree-view.h"
 #include "moko-window.h"
 
-void moko_ui_banner_show_text( gint timeout, const gchar* message, ... )
-{
-    va_list a;
-    g_return_if_fail( timeout ); // don't allow permanent banners using the 
simple interface
-    va_start( a, message );
-    const gchar* string = g_strdup_vprintf( message, a );
-    va_end( a );
-    MokoBanner* banner = moko_banner_new();
-    moko_banner_show_text( banner, string, timeout );
-    g_object_unref( banner );
-    g_free( string );
-}
+void moko_ui_banner_show_text( gint timeout, const gchar* message, ... );
 
 #endif  /* _MOKO_UI_H_ */




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-17 09:27:59 +0200 (Sun, 17 Jun 2007)
New Revision: 2287

Modified:
   
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
Log:
openmoko-panel-mainmenu: check pulseaudio context before issueing a play command


Modified: 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
===================================================================
--- 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
  2007-06-17 04:32:29 UTC (rev 2286)
+++ 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
  2007-06-17 07:27:59 UTC (rev 2287)
@@ -519,6 +519,7 @@
 
 void panel_mainmenu_sound_play( const gchar* samplename )
 {
+    g_return_if_fail( pac );
     pa_context_play_sample( pac,
                             samplename,      // Name of my sample
                             NULL,            // Use default sink




--- End Message ---
--- Begin Message ---
Author: laforge
Date: 2007-06-17 10:53:53 +0200 (Sun, 17 Jun 2007)
New Revision: 2288

Modified:
   trunk/src/target/kernel/patches/gta02-core.patch
Log:
* use correct 12MHz clock setting for GTA02
* don't export platform devices globally, but mark them static
* temporarily 'fix' the bluetooth power platform device (ugly hack)


Modified: trunk/src/target/kernel/patches/gta02-core.patch
===================================================================
--- trunk/src/target/kernel/patches/gta02-core.patch    2007-06-17 07:27:59 UTC 
(rev 2287)
+++ trunk/src/target/kernel/patches/gta02-core.patch    2007-06-17 08:53:53 UTC 
(rev 2288)
@@ -490,7 +490,7 @@
 +      },
 +};
 +
-+struct platform_device gta01_button_dev = {
++static struct platform_device gta01_button_dev = {
 +      .name           = "gta01-button",
 +      .num_resources  = ARRAY_SIZE(gta01_button_resources),
 +      .resource       = gta01_button_resources,
@@ -561,7 +561,7 @@
 +static void __init gta02_map_io(void)
 +{
 +      s3c24xx_init_io(gta02_iodesc, ARRAY_SIZE(gta02_iodesc));
-+      s3c24xx_init_clocks(16934400);
++      s3c24xx_init_clocks(12000000);
 +      s3c24xx_init_uarts(gta02_uartcfgs, ARRAY_SIZE(gta02_uartcfgs));
 +      s3c24xx_set_board(&gta02_board);
 +}
@@ -662,3 +662,94 @@
  obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
  obj-$(CONFIG_MACH_HXD8)               += mach-hxd8.o
 +obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
+Index: linux-2.6.21.3-moko/arch/arm/common/gta01_pm_bt.c
+===================================================================
+--- linux-2.6.21.3-moko.orig/arch/arm/common/gta01_pm_bt.c
++++ linux-2.6.21.3-moko/arch/arm/common/gta01_pm_bt.c
+@@ -19,6 +19,7 @@
+ #include <linux/pcf50606.h>
+ 
+ #include <asm/hardware.h>
++#include <asm/mach-types.h>
+ #include <asm/arch/gta01.h>
+ 
+ #define DRVMSG "FIC GTA01 (Neo1973) Bluetooth Power Management"
+@@ -27,11 +28,18 @@
+                      char *buf)
+ {
+       if (!strcmp(attr->attr.name, "power_on")) {
+-              if (pcf50606_onoff_get(pcf50606_global,
+-                                      PCF50606_REGULATOR_D1REG) &&
+-                  pcf50606_voltage_get(pcf50606_global,
+-                                       PCF50606_REGULATOR_D1REG) == 3100)
+-                      goto out_1;
++              switch (machine_arch_type) {
++              case MACH_TYPE_NEO1973_GTA01:
++                      if (pcf50606_onoff_get(pcf50606_global,
++                                              PCF50606_REGULATOR_D1REG) &&
++                          pcf50606_voltage_get(pcf50606_global,
++                                               PCF50606_REGULATOR_D1REG) == 
3100)
++                              goto out_1;
++                      break;
++              case MACH_TYPE_NEO1973_GTA02:
++                      /* FIXME: implementation using PCF50633 */
++                      break;
++              }
+       } else if (!strcmp(attr->attr.name, "reset")) {
+               if (s3c2410_gpio_getpin(GTA01_GPIO_BT_EN) == 0)
+                       goto out_1;
+@@ -48,17 +56,24 @@
+       unsigned long on = simple_strtoul(buf, NULL, 10);
+ 
+       if (!strcmp(attr->attr.name, "power_on")) {
+-              /* if we are powering up, assert reset, then power, then
+-               * release reset */
+-              if (on) {
+-                      s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, 0);
+-                      pcf50606_voltage_set(pcf50606_global,
+-                                           PCF50606_REGULATOR_D1REG,
+-                                           3100);
++              switch (machine_arch_type) {
++              case MACH_TYPE_NEO1973_GTA01:
++                      /* if we are powering up, assert reset, then power, then
++                       * release reset */
++                      if (on) {
++                              s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, 0);
++                              pcf50606_voltage_set(pcf50606_global,
++                                                   PCF50606_REGULATOR_D1REG,
++                                                   3100);
++                      }
++                      pcf50606_onoff_set(pcf50606_global,
++                                         PCF50606_REGULATOR_D1REG, on);
++                      s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, on);
++                      break;
++              case MACH_TYPE_NEO1973_GTA02:
++                      /* FIXME: implementation */
++                      break;
+               }
+-              pcf50606_onoff_set(pcf50606_global,
+-                                 PCF50606_REGULATOR_D1REG, on);
+-              s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, on);
+       } else if (!strcmp(attr->attr.name, "reset")) {
+               /* reset is low-active, so we need to invert */
+               s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, on ? 0 : 1 );
+@@ -107,9 +122,16 @@
+ {
+       dev_info(&pdev->dev, DRVMSG ": starting\n");
+ 
+-      /* we make sure that the voltage is off */
+-      pcf50606_onoff_set(pcf50606_global,
+-                         PCF50606_REGULATOR_D1REG, 0);
++      switch (machine_arch_type) {
++      case MACH_TYPE_NEO1973_GTA01:
++              /* we make sure that the voltage is off */
++              pcf50606_onoff_set(pcf50606_global,
++                                 PCF50606_REGULATOR_D1REG, 0);
++              break;
++      case MACH_TYPE_NEO1973_GTA02:
++              /* FIXME: implementation */
++              break;
++      }
+       /* we pull reset to low to make sure that the chip doesn't
+        * drain power through the reset line */
+       s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, 0);




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to