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(>a02_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