diff options
| author | Thomas Kunze <thommycheck@gmx.de> | 2008-08-15 23:26:52 +0000 |
|---|---|---|
| committer | Thomas Kunze <thommycheck@gmx.de> | 2008-08-15 23:26:52 +0000 |
| commit | d7227f99b10c4dae4bb5a9ac778d6e8ed95cb9c5 (patch) | |
| tree | 2cb6cedd52d0c05da488a64633f9523b99f5a790 /packages | |
| parent | c0c8fce62731669a30d7e54256a2717bc4a071ca (diff) | |
| parent | a0f8f7ba45003db8d68b7844e535d3ae6020d7ce (diff) | |
merge of 'a54a6607517e20ec074b70c4070cfa9d989624e1'
and 'df64369ee8c68fc382142171ee6ae2a6494e7e74'
Diffstat (limited to 'packages')
46 files changed, 1222 insertions, 316 deletions
diff --git a/packages/atd/atd_0.80.bb b/packages/atd/atd_0.80.bb new file mode 100644 index 0000000000..f3adbd7cb3 --- /dev/null +++ b/packages/atd/atd_0.80.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Lightweight At Daemon" +SECTION = "base" +LICENSE = "GPLV2" +RCONFLICTS = "at" +RREPLACES = "at" + +PR = "r0" + +SRC_URI = "http://projects.linuxtogo.org/frs/download.php/222/${P}.tar.gz" + +inherit autotools update-rc.d + +INITSCRIPT_NAME = "atd" +INITSCRIPT_PARAMS = "defaults 97" diff --git a/packages/busybox/busybox.inc b/packages/busybox/busybox.inc index 04decf61b2..cc196ad767 100644 --- a/packages/busybox/busybox.inc +++ b/packages/busybox/busybox.inc @@ -35,7 +35,7 @@ PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" # We need this RRECOMMENDS because libc dlopens libgcc # and shlib mechanism can not detect it because its not # listed in the NEEDED field. -RDEPENDS += "libgcc" +RRECOMMENDS += "libgcc" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" diff --git a/packages/busybox/busybox_1.9.2.bb b/packages/busybox/busybox_1.9.2.bb index c9440e7b4f..37cd2a86be 100644 --- a/packages/busybox/busybox_1.9.2.bb +++ b/packages/busybox/busybox_1.9.2.bb @@ -1,5 +1,5 @@ require busybox.inc -PR = "r1" +PR = "r2" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ file://udhcpscript.patch;patch=1 \ diff --git a/packages/classpath/classpath.inc b/packages/classpath/classpath.inc index cfb9f1c089..cee09857e4 100644 --- a/packages/classpath/classpath.inc +++ b/packages/classpath/classpath.inc @@ -30,6 +30,14 @@ EXTRA_OECONF = "\ inherit autotools +# hack to get config.rpath in, it comes from gettext +do_configure_prepend () { + + ${@['','cp ${STAGING_DATADIR_NATIVE}/automake-1.10/config.rpath ${S}'][bb.data.getVar('PREFERRED_VERSION_automake-native',d,1) == '1.10']} + +} + + do_stage() { install -d ${STAGING_INCDIR}/classpath install -m 0644 include/jni* ${STAGING_INCDIR}/classpath diff --git a/packages/dhcp/dhcp_3.0.1.bb b/packages/dhcp/dhcp_3.0.1.bb index 650de1391d..7d55dc3a03 100644 --- a/packages/dhcp/dhcp_3.0.1.bb +++ b/packages/dhcp/dhcp_3.0.1.bb @@ -2,7 +2,7 @@ SECTION = "console/network" DESCRIPTION = "Internet Software Consortium DHCP package" HOMEPAGE = "http://www.isc.org/" LICENSE = "BSD" -PR = "r2" +PR = "r3" SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \ file://noattrmode.patch;patch=1 \ file://fixincludes.patch;patch=1 \ @@ -33,12 +33,13 @@ do_install() { install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf + install -d ${D}/var/lib/dhcp } PACKAGES = "${PN}-dbg dhcp-server dhcp-client dhcp-relay dhcp-omshell dhcp-dev dhcp-doc" FILES_dhcp-server = "${sbindir}/dhcpd /etc/init.d/dhcp-server /etc/default/dhcp-server /etc/dhcp/dhcpd.conf" FILES_dhcp-relay = "${sbindir}/dhcrelay /etc/init.d/dhcp-relay /etc/default/dhcp-relay" -FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf" +FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf /var/lib/dhcp" FILES_dhcp-omshell = "${bindir}/omshell" CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf" diff --git a/packages/dhcp/dhcp_3.0.2.bb b/packages/dhcp/dhcp_3.0.2.bb index 851ae5ca95..6b0f9de1bf 100644 --- a/packages/dhcp/dhcp_3.0.2.bb +++ b/packages/dhcp/dhcp_3.0.2.bb @@ -2,7 +2,7 @@ SECTION = "console/network" DESCRIPTION = "Internet Software Consortium DHCP package" HOMEPAGE = "http://www.isc.org/" LICENSE = "BSD" -PR = "r5" +PR = "r6" SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \ file://noattrmode.patch;patch=1 \ file://fixincludes.patch;patch=1 \ @@ -34,6 +34,7 @@ do_install() { install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf + install -d ${D}/var/lib/dhcp } PACKAGES += "dhcp-server dhcp-client dhcp-relay dhcp-omshell" @@ -41,7 +42,7 @@ FILES_${PN} = "" FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server ${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf" FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" -FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf /var/lib/dhcp" RDEPENDS_dhcp-client = "bash" FILES_dhcp-omshell = "${bindir}/omshell" diff --git a/packages/gpsbabel/gpsbabel_1.3.3.bb b/packages/gpsbabel/gpsbabel_1.3.5.bb index b5ff6a8510..c46b9df81d 100644 --- a/packages/gpsbabel/gpsbabel_1.3.3.bb +++ b/packages/gpsbabel/gpsbabel_1.3.5.bb @@ -6,7 +6,7 @@ LICENSE = "GPL" PR = "r1" -SRC_URI = "${SOURCEFORGE_MIRROR}/gpsbabel/gpsbabel-${PV}.tar.gz" +SRC_URI = "http://www.gpsbabel.org/plan9.php?dl=gpsbabel-${PV}.tar.gz" inherit autotools pkgconfig diff --git a/packages/gtk-webcore/midori_0.0.19.bb b/packages/gtk-webcore/midori_0.0.19.bb new file mode 100644 index 0000000000..ec81d7fd23 --- /dev/null +++ b/packages/gtk-webcore/midori_0.0.19.bb @@ -0,0 +1,5 @@ +require midori.inc + +SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.bz2" + + diff --git a/packages/guile/files/configure-lossage.patch b/packages/guile/files/configure-lossage.patch deleted file mode 100644 index da1d0de6e7..0000000000 --- a/packages/guile/files/configure-lossage.patch +++ /dev/null @@ -1,28 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- guile-1.6.4/configure.in~configure-lossage -+++ guile-1.6.4/configure.in -@@ -462,7 +462,9 @@ - # explicitly to LIBOBJS to make sure that it is translated to - # `alloca.lo' for libtool later on. This can and should be done more cleanly. - AC_FUNC_ALLOCA --if test "$ALLOCA" = "alloca.o"; then AC_LIBOBJ([alloca]); fi -+if test "$ALLOCA" = "alloca.o"; then -+ AC_LIBOBJ([alloca]) -+fi - - AC_CHECK_MEMBERS([struct stat.st_rdev]) - AC_CHECK_MEMBERS([struct stat.st_blksize]) ---- guile-1.6.4/guile-readline/configure.in~configure-lossage -+++ guile-1.6.4/guile-readline/configure.in -@@ -2,6 +2,7 @@ - - AC_INIT - AC_CONFIG_SRCDIR([readline.c]) -+AC_CONFIG_AUX_DIR([..]) - . $srcdir/../GUILE-VERSION - PACKAGE=guile-readline - AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) diff --git a/packages/guile/files/gcc4.patch b/packages/guile/files/gcc4.patch deleted file mode 100644 index 2168683ad5..0000000000 --- a/packages/guile/files/gcc4.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de> -# - ---- guile-1.6.4/libguile/guile.c~gcc4 -+++ guile-1.6.4/libguile/guile.c -@@ -88,7 +88,7 @@ - { - #ifdef DYNAMIC_LINKING - /* libtool automagically inserts this variable into your executable... */ -- extern const scm_lt_dlsymlist lt_preloaded_symbols[]; -+ extern const scm_lt_dlsymlist *lt_preloaded_symbols; - scm_lt_dlpreload_default (lt_preloaded_symbols); - #endif - scm_boot_guile (argc, argv, inner_main, 0); diff --git a/packages/guile/guile_1.6.4.bb b/packages/guile/guile_1.6.4.bb deleted file mode 100644 index 092a44c27d..0000000000 --- a/packages/guile/guile_1.6.4.bb +++ /dev/null @@ -1,132 +0,0 @@ -DESCRIPTION = "Guile is an interpreter for the Scheme programming language, \ -packaged as a library which can be incorporated into your programs." -HOMEPAGE = "http://www.gnu.org/software/guile/guile.html" -SECTION = "devel/scheme" -DEPENDS = "guile-native" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "http://ftp.gnu.org/pub/gnu/guile/guile-${PV}.tar.gz \ - file://configure-lossage.patch;patch=1 \ - file://gcc4.patch;patch=1" - -inherit autotools - -acpaths = "-I ${S}/guile-config" - -do_compile() { - (cd libguile; oe_runmake CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}" guile_filter_doc_snarfage) - oe_runmake preinstguile="`which guile`" -} - -LIBGUILE_HEADERS = "\ -__scm.h \ -alist.h \ -arbiters.h \ -async.h \ -backtrace.h \ -boolean.h \ -chars.h \ -continuations.h \ -coop-defs.h \ -debug-malloc.h \ -debug.h \ -deprecation.h \ -dynl.h \ -dynwind.h \ -environments.h \ -eq.h \ -error.h \ -eval.h \ -evalext.h \ -extensions.h \ -feature.h \ -filesys.h \ -fluids.h \ -fports.h \ -gc.h \ -gdb_interface.h \ -gdbint.h \ -goops.h \ -gsubr.h \ -guardians.h \ -hash.h \ -hashtab.h \ -hooks.h \ -init.h \ -ioext.h \ -iselect.h \ -keywords.h \ -lang.h \ -list.h \ -load.h \ -macros.h \ -mallocs.h \ -modules.h \ -net_db.h \ -numbers.h \ -objects.h \ -objprop.h \ -options.h \ -pairs.h \ -ports.h \ -posix.h \ -print.h \ -procprop.h \ -procs.h \ -properties.h \ -ramap.h \ -random.h \ -rdelim.h \ -read.h \ -regex-posix.h \ -root.h \ -rw.h \ -scmconfig.h \ -scmsigs.h \ -script.h \ -simpos.h \ -smob.h \ -snarf.h \ -socket.h \ -sort.h \ -srcprop.h \ -stackchk.h \ -stacks.h \ -stime.h \ -strings.h \ -strop.h \ -strorder.h \ -strports.h \ -struct.h \ -symbols.h \ -tags.h \ -threads.h \ -throw.h \ -unif.h \ -validate.h \ -values.h \ -variable.h \ -vectors.h \ -version.h \ -vports.h \ -weaks.h \ -" - -do_stage() { - install -d ${STAGING_INCDIR}/libguile - for i in ${LIBGUILE_HEADERS}; do - install -m 0644 libguile/$i ${STAGING_INCDIR}/libguile/$i - done - install -m 0644 libguile.h ${STAGING_INCDIR}/libguile.h - install -d ${STAGING_INCDIR}/guile - install -m 0644 libguile/gh.h ${STAGING_INCDIR}/guile/ - install -d ${STAGING_INCDIR}/guile/srfi - install -d ${STAGING_INCDIR}/guile-readline - install -m 0644 guile-readline/readline.h ${STAGING_INCDIR}/guile-readline/ - install -d ${STAGING_DATADIR}/aclocal - install -m 0644 guile-config/guile.m4 ${STAGING_DATADIR}/aclocal - oe_libinstall -C libguile -so -a libguile ${STAGING_LIBDIR} - oe_libinstall -C guile-readline -so -a libguilereadline-v-12 ${STAGING_LIBDIR} - oe_libinstall -C libguile-ltdl -so -a libguile-ltdl ${STAGING_LIBDIR} -} diff --git a/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch b/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch new file mode 100644 index 0000000000..968cc6cf73 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch @@ -0,0 +1,275 @@ +From: Gadiyar, Anand <gadiyar@ti.com> +Date: Wed, 13 Aug 2008 07:05:29 +0000 (+0530) +Subject: MUSB: Workaround for simultaneous TX and RX usage +X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2e6aa4efb0e14c51ff0427927b1b38136911fa93 + +MUSB: Workaround for simultaneous TX and RX usage + +MUSB: Workaround for simultaneous TX and RX usage + +MUSB RTL V1.4 has a hardware issue which results in a DMA controller +hang when TX and RX DMA channels are simultaneously enabled. This +affects at least OMAP2430 and OMAP34XX. + +Since RX transfers are in Mode 0 and anyway result in one DMA interrupt +per packet, we can use System DMA to unload the RX fifos. MUSB DMA can +be used for all TX channels as before. + +Tested with full-duplex TX and RX transfers using g_ether. Runs for 24 +hours without a hang. Without this patch, the hang occurs within minutes. + +This issue was first reported by Jon Hunter on [1] + +[1] http://marc.info/?l=linux-omap&m=119634480534453&w=2 + +Signed-off-by: Anand Gadiyar <gadiyar@ti.com> +--- + +diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig +index a485a86..8583e54 100644 +--- a/drivers/usb/musb/Kconfig ++++ b/drivers/usb/musb/Kconfig +@@ -150,6 +150,14 @@ config USB_INVENTRA_DMA + help + Enable DMA transfers using Mentor's engine. + ++config MUSB_USE_SYSTEM_DMA_RX ++ bool 'Use System DMA for RX endpoints' ++ depends on USB_MUSB_HDRC && USB_INVENTRA_DMA ++ help ++ MUSB RTL version 1.4 has a hardware issue when TX and RX DMA ++ channels are simultaneously enabled. To work around this issue, ++ you can choose to use System DMA for RX channels. ++ + config USB_TI_CPPI_DMA + bool + depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY +diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c +index 32bb1e2..d1c1ea0 100644 +--- a/drivers/usb/musb/musbhsdma.c ++++ b/drivers/usb/musb/musbhsdma.c +@@ -34,6 +34,7 @@ + #include <linux/interrupt.h> + #include <linux/platform_device.h> + #include "musb_core.h" ++#include <asm/arch/dma.h> + + #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430) + #include "omap2430.h" +@@ -64,6 +65,9 @@ + + #define MUSB_HSDMA_CHANNELS 8 + ++#define MUSB_FIFO_ADDRESS(epnum) \ ++ ((unsigned long) (OMAP_HSOTG_BASE + MUSB_FIFO_OFFSET(epnum))) ++ + struct musb_dma_controller; + + struct musb_dma_channel { +@@ -75,6 +79,8 @@ struct musb_dma_channel { + u8 bIndex; + u8 epnum; + u8 transmit; ++ ++ int sysdma_channel; + }; + + struct musb_dma_controller { +@@ -93,6 +99,42 @@ static int dma_controller_start(struct dma_controller *c) + return 0; + } + ++#ifdef CONFIG_MUSB_USE_SYSTEM_DMA_RX ++static void musb_sysdma_completion(int lch, u16 ch_status, void *data) ++{ ++ u32 dwAddress; ++ unsigned long flags; ++ ++ struct dma_channel *pChannel; ++ ++ struct musb_dma_channel *pImplChannel = ++ (struct musb_dma_channel *) data; ++ struct musb_dma_controller *controller = pImplChannel->controller; ++ struct musb *musb = controller->pDmaPrivate; ++ pChannel = &pImplChannel->Channel; ++ ++ DBG(2, "lch = 0x%d, ch_status = 0x%x\n", lch, ch_status); ++ spin_lock_irqsave(&musb->lock, flags); ++ ++ dwAddress = (u32) omap_get_dma_dst_pos(pImplChannel->sysdma_channel); ++ pChannel->actual_len = dwAddress - pImplChannel->dwStartAddress; ++ ++ DBG(2, "ch %p, 0x%x -> 0x%x (%d / %d) %s\n", ++ pChannel, pImplChannel->dwStartAddress, dwAddress, ++ pChannel->actual_len, pImplChannel->len, ++ (pChannel->actual_len < pImplChannel->len) ? ++ "=> reconfig 0": "=> complete"); ++ ++ pChannel->status = MUSB_DMA_STATUS_FREE; ++ musb_dma_completion(musb, pImplChannel->epnum, pImplChannel->transmit); ++ ++ spin_unlock_irqrestore(&musb->lock, flags); ++ return; ++} ++#else ++#define musb_sysdma_completion NULL ++#endif ++ + static void dma_channel_release(struct dma_channel *pChannel); + + static int dma_controller_stop(struct dma_controller *c) +@@ -144,6 +186,29 @@ static struct dma_channel *dma_channel_allocate(struct dma_controller *c, + /* Tx => mode 1; Rx => mode 0 */ + pChannel->desired_mode = transmit; + pChannel->actual_len = 0; ++ pImplChannel->sysdma_channel = -1; ++ ++#ifdef CONFIG_MUSB_USE_SYSTEM_DMA_RX ++ if (!transmit) { ++ int ret; ++ ret = omap_request_dma(OMAP24XX_DMA_NO_DEVICE, ++ "MUSB SysDMA", musb_sysdma_completion, ++ (void *) pImplChannel, ++ &(pImplChannel->sysdma_channel)); ++ ++ if (ret) { ++ printk(KERN_ERR "request_dma failed:" ++ " %d\n", ret); ++ controller->bmUsedChannels &= ++ ~(1 << bBit); ++ pChannel->status = ++ MUSB_DMA_STATUS_UNKNOWN; ++ pImplChannel->sysdma_channel = -1; ++ pChannel = NULL; ++ } ++ } ++#endif ++ + break; + } + } +@@ -163,6 +228,12 @@ static void dma_channel_release(struct dma_channel *pChannel) + ~(1 << pImplChannel->bIndex); + + pChannel->status = MUSB_DMA_STATUS_UNKNOWN; ++ ++ if (pImplChannel->sysdma_channel != -1) { ++ omap_stop_dma(pImplChannel->sysdma_channel); ++ omap_free_dma(pImplChannel->sysdma_channel); ++ pImplChannel->sysdma_channel = -1; ++ } + } + + static void configure_channel(struct dma_channel *pChannel, +@@ -179,41 +250,69 @@ static void configure_channel(struct dma_channel *pChannel, + DBG(4, "%p, pkt_sz %d, addr 0x%x, len %d, mode %d\n", + pChannel, packet_sz, dma_addr, len, mode); + +- if (mode) { +- csr |= 1 << MUSB_HSDMA_MODE1_SHIFT; +- BUG_ON(len < packet_sz); ++ if (pImplChannel->sysdma_channel != -1) { ++ /* System DMA */ ++ /* RX: set src = FIFO */ ++ ++ omap_set_dma_transfer_params(pImplChannel->sysdma_channel, ++ OMAP_DMA_DATA_TYPE_S8, ++ len, 1, /* One frame */ ++ OMAP_DMA_SYNC_ELEMENT, ++ OMAP24XX_DMA_NO_DEVICE, ++ 0); /* Src Sync */ ++ ++ omap_set_dma_src_params(pImplChannel->sysdma_channel, 0, ++ OMAP_DMA_AMODE_CONSTANT, ++ MUSB_FIFO_ADDRESS(pImplChannel->epnum), ++ 0, 0); + +- if (packet_sz >= 64) { +- csr |= MUSB_HSDMA_BURSTMODE_INCR16 ++ omap_set_dma_dest_params(pImplChannel->sysdma_channel, 0, ++ OMAP_DMA_AMODE_POST_INC, dma_addr, ++ 0, 0); ++ ++ omap_set_dma_dest_data_pack(pImplChannel->sysdma_channel, 1); ++ omap_set_dma_dest_burst_mode(pImplChannel->sysdma_channel, ++ OMAP_DMA_DATA_BURST_16); ++ ++ omap_start_dma(pImplChannel->sysdma_channel); ++ ++ } else { /* Mentor DMA */ ++ if (mode) { ++ csr |= 1 << MUSB_HSDMA_MODE1_SHIFT; ++ BUG_ON(len < packet_sz); ++ ++ if (packet_sz >= 64) { ++ csr |= MUSB_HSDMA_BURSTMODE_INCR16 + << MUSB_HSDMA_BURSTMODE_SHIFT; +- } else if (packet_sz >= 32) { +- csr |= MUSB_HSDMA_BURSTMODE_INCR8 ++ } else if (packet_sz >= 32) { ++ csr |= MUSB_HSDMA_BURSTMODE_INCR8 + << MUSB_HSDMA_BURSTMODE_SHIFT; +- } else if (packet_sz >= 16) { +- csr |= MUSB_HSDMA_BURSTMODE_INCR4 ++ } else if (packet_sz >= 16) { ++ csr |= MUSB_HSDMA_BURSTMODE_INCR4 + << MUSB_HSDMA_BURSTMODE_SHIFT; ++ } + } +- } + +- csr |= (pImplChannel->epnum << MUSB_HSDMA_ENDPOINT_SHIFT) +- | (1 << MUSB_HSDMA_ENABLE_SHIFT) +- | (1 << MUSB_HSDMA_IRQENABLE_SHIFT) +- | (pImplChannel->transmit +- ? (1 << MUSB_HSDMA_TRANSMIT_SHIFT) +- : 0); +- +- /* address/count */ +- musb_writel(mbase, +- MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_ADDRESS), +- dma_addr); +- musb_writel(mbase, +- MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_COUNT), +- len); +- +- /* control (this should start things) */ +- musb_writew(mbase, +- MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_CONTROL), +- csr); ++ csr |= (pImplChannel->epnum << MUSB_HSDMA_ENDPOINT_SHIFT) ++ | (1 << MUSB_HSDMA_ENABLE_SHIFT) ++ | (1 << MUSB_HSDMA_IRQENABLE_SHIFT) ++ | (pImplChannel->transmit ++ ? (1 << MUSB_HSDMA_TRANSMIT_SHIFT) ++ : 0); ++ ++ /* address/count */ ++ musb_writel(mbase, ++ MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_ADDRESS), ++ dma_addr); ++ musb_writel(mbase, ++ MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_COUNT), ++ len); ++ ++ /* control (this should start things) */ ++ musb_writew(mbase, ++ MUSB_HSDMA_CHANNEL_OFFSET(bChannel, MUSB_HSDMA_CONTROL), ++ csr); ++ } /* Mentor DMA */ + } + + static int dma_channel_program(struct dma_channel *pChannel, +@@ -265,6 +364,12 @@ static int dma_channel_abort(struct dma_channel *pChannel) + MUSB_EP_OFFSET(pImplChannel->epnum, MUSB_TXCSR), + csr); + } else { ++ if (pImplChannel->sysdma_channel != -1) { ++ omap_stop_dma(pImplChannel->sysdma_channel); ++ omap_free_dma(pImplChannel->sysdma_channel); ++ pImplChannel->sysdma_channel = -1; ++ } ++ + csr = musb_readw(mbase, + MUSB_EP_OFFSET(pImplChannel->epnum, MUSB_RXCSR)); + csr &= ~(MUSB_RXCSR_AUTOCLEAR | diff --git a/packages/linux/linux-omap2_git.bb b/packages/linux/linux-omap2_git.bb index 8682c33404..f032f076e8 100644 --- a/packages/linux/linux-omap2_git.bb +++ b/packages/linux/linux-omap2_git.bb @@ -6,7 +6,7 @@ SRCREV = "d6daf8d8cc5ccf90247def5551ee9c3e8555e848" PV = "2.6.26" #PV = "2.6.26+2.6.27-rc1+${PR}+git${SRCREV}" -PR = "r60" +PR = "r61" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \ file://defconfig" @@ -52,6 +52,7 @@ SRC_URI_append_beagleboard = " file://no-harry-potter.diff;patch=1 \ file://02-postrate-notifier.eml;patch=1 \ file://01-omap3-cpufreq.eml;patch=1 \ file://01-beagle-cpufreq.diff;patch=1 \ + file://musb-dmafix.patch;patch=1 \ " SRC_URI_append_omap3evm = " file://no-harry-potter.diff;patch=1 \ diff --git a/packages/linux/linux-rp-2.6.26/defconfig-akita b/packages/linux/linux-rp-2.6.26/defconfig-akita index e630a9abff..27f5dcb781 100644 --- a/packages/linux/linux-rp-2.6.26/defconfig-akita +++ b/packages/linux/linux-rp-2.6.26/defconfig-akita @@ -1255,7 +1255,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.26/defconfig-bootcdx86 b/packages/linux/linux-rp-2.6.26/defconfig-bootcdx86 index 35e9b5cd22..397468a366 100644 --- a/packages/linux/linux-rp-2.6.26/defconfig-bootcdx86 +++ b/packages/linux/linux-rp-2.6.26/defconfig-bootcdx86 @@ -1612,7 +1612,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m |
