You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
(82) |
Jun
(72) |
Jul
(39) |
Aug
(104) |
Sep
(61) |
Oct
(55) |
Nov
(101) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(52) |
Feb
(67) |
Mar
(18) |
Apr
(16) |
May
(33) |
Jun
(12) |
Jul
(102) |
Aug
(168) |
Sep
(65) |
Oct
(60) |
Nov
(43) |
Dec
(121) |
2002 |
Jan
(69) |
Feb
(32) |
Mar
(90) |
Apr
(59) |
May
(45) |
Jun
(43) |
Jul
(33) |
Aug
(21) |
Sep
(11) |
Oct
(20) |
Nov
(26) |
Dec
(3) |
2003 |
Jan
(12) |
Feb
(18) |
Mar
(11) |
Apr
(11) |
May
(41) |
Jun
(76) |
Jul
(77) |
Aug
(15) |
Sep
(38) |
Oct
(56) |
Nov
(19) |
Dec
(39) |
2004 |
Jan
(17) |
Feb
(52) |
Mar
(36) |
Apr
(34) |
May
(48) |
Jun
(85) |
Jul
(38) |
Aug
(42) |
Sep
(41) |
Oct
(77) |
Nov
(27) |
Dec
(19) |
2005 |
Jan
(32) |
Feb
(35) |
Mar
(29) |
Apr
(8) |
May
(7) |
Jun
(31) |
Jul
(46) |
Aug
(93) |
Sep
(65) |
Oct
(85) |
Nov
(219) |
Dec
(47) |
2006 |
Jan
(170) |
Feb
(103) |
Mar
(49) |
Apr
(43) |
May
(45) |
Jun
(29) |
Jul
(77) |
Aug
(82) |
Sep
(43) |
Oct
(45) |
Nov
(26) |
Dec
(85) |
2007 |
Jan
(42) |
Feb
(48) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(53) |
Jul
(175) |
Aug
(212) |
Sep
(91) |
Oct
(103) |
Nov
(110) |
Dec
(5) |
2008 |
Jan
(20) |
Feb
(11) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(5) |
Sep
(3) |
Oct
(12) |
Nov
|
Dec
|
From: Carl S. <sha...@gm...> - 2007-09-14 18:35:27
|
You should post this to http://bugzilla.stlinux.com The kernel in the STLinux-2.3ear contains ST hardware specific drivers (including ALSA drivers), so you won't get any help on this list (which is for the generic SH kernel). Carl On 9/13/07, pier sancez <m_p...@ya...> wrote: > Hi again! > I am using a mb442revC board with STLinux-2.3ear and I am tring to use the > audio with a FLASH player (swfdec-0.5.2) Bute...the swfdec can't set the > hardware parameter. Why? Can I have some documentatio? What module should I > insert into the kernel? and the parameter? Thanks for your answers Bye! Wolf > > > ________________________________ > ________________________________ > L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > linuxsh-dev mailing list > lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsh-dev > > |
From: Manuel L. <ma...@ro...> - 2007-09-14 17:32:26
|
pier sancez schrieb: > I had given the line command "amixer -c 2 controls" and in the list there isn't the "control" of the volume. Why card 2? shouldn't you try with 0 first? -- ml. |
From: pier s. <m_p...@ya...> - 2007-09-14 17:11:00
|
Hi! I had given the line command "amixer -c 2 controls" and in the list there isn't the "control" of the volume. If I do this command in my pc, the "control volume" there is So....how I insert this option? Bye! Wolf --------------------------------- --------------------------------- L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail |
From: Paul M. <le...@li...> - 2007-09-14 04:15:04
|
On Fri, Sep 14, 2007 at 12:52:58PM +0900, Paul Mundt wrote: > With the 2.6.24 merge window not far off, it's time to review some of the > stuff that's sitting in the queue. Most of it is uneventful stuff, lots > of build fixes now that allmodconfig and randconfigs are supportable, the > usual batch of board updates (hp6xx, r2d, and highlander especially), new > CPU support (SH7720), and new board support (Magic Panel R2 and the SH-X3 > proto board). > This also signifies the end of my post-kernel summit inboux scouring. So if your patch isn't in the queue, I've probably forgotten about it or missed it. Feel free to re-submit anything that got overlooked. |
From: Paul M. <le...@li...> - 2007-09-14 03:53:14
|
With the 2.6.24 merge window not far off, it's time to review some of the stuff that's sitting in the queue. Most of it is uneventful stuff, lots of build fixes now that allmodconfig and randconfigs are supportable, the usual batch of board updates (hp6xx, r2d, and highlander especially), new CPU support (SH7720), and new board support (Magic Panel R2 and the SH-X3 proto board). The most amount of churn is caused by the INTC code from Magnus, and subsequent updating of every functional in-tree CPU subtype. And finally, there's also more SH-X3 stuff. SMP refactoring, wiring up more NUMA nodes, things of that nature. Most of this has been sitting in -mm for quite some time already, so there shouldn't be any surprises here. There's likely some more SMP stuff that will be checked in before the queue is closed completely, but this is quite isolated and won't impact any of the other platforms. Adrian McMenamin (1): fb: pvr2fb: Shared IRQ for dreamcast pvr2. Kristoffer Ericson (9): sh: Fix OFFCHIP_IRQ_BASE compile error. sh: update hp6xx defconfig. sh: hp6xx: APM build fix and new battery values. backlight: Fix up hp680_bl build. sh: hd64461: Trivial build fixes for SH7709. sh: dma: Fix up build for SH7709 support. sh: hp6xx: Update CF IRQ for INTC changes. sh: hp6xx: Enable touchscreen and powerbutton IRQs. sh: hp6xx: Enable pata_platform in defconfig. Magnus Damm (33): sh: intc - add support for SH7705 sh: intc - add support for SH7710 sh: intc - add support for SH7706, SH7707, SH7708, SH7709 sh: intc - add missing vectors for SH7707 sh: intc - avoid SH7710 specific vector on SH7712 sh: intc - add support for SH7785 sh: intc - add support for SH7760 sh: simplify se7780 IRQ code sh: intc - fix IRQ4 and IRQ5 typo on sh3 sh: intc - add support for x3 sh: intc - remove redundant irq code for sh03, snapgear and titan sh: intc - remove redundant irq code for shmin sh: intc - add single bitmap register support sh: intc - convert voyagergx code sh: remove intc2 code sh: x3 - fix setup_bootmem_node() compile error with shx3_defconfig sh: intc - add a clear register to struct intc_prio_reg sh: intc - rework core code sh: intc - convert board specific r2d code sh: replace sh specific CONFIG_VOYAGERGX with CONFIG_MFD_SM501 sh: x3 - add ipi vectors sh: intc - mark data structures as __initdata sh: intc - primary priority masking fixes sh: fix irqs for the second serial port on sh7206 sh: intc - add support for sh7619 sh: intc - add support for sh7206 sh: defconfigs for R2D-PLUS and for R2D-1 sh: remove CONFIG_CPU_HAS_INTC_IRQ sh: intc - irl mode update for sh7780 and sh7785 sh: minor fixes sh: intc - rework higlander irq code for r7780mp and r7785rp sh: remove sh7780 interrupt controller hack from pci code sh: add writesb(), readsb(), writesw() and readsw() to io.h Markus Brunner (3): sh: Add gpio.h stubs for PFC definitions. sh: Add SH7720 CPU support. sh: Magic Panel R2 board support. Paul Mundt (30): sh: Support explicit L1 cache disabling. sh: Fix cache disabling build failures on nommu. sh: Initial multiple-node support for SH-X3. rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712. sh: intc: Fix sense regs oops for IRL IRQs. sh: Plug in SH-X3 SCIF0 for sercon earlyprintk. sh: Initial support for SH-X3 prototype board. sh: x3proto: ILSEL IRQ support. sh: x3proto: Hook up ethernet and USB platform devices. sh: x3proto: Trivial ILSEL build fix. sh: Bump up NODES_SHIFT for SH-X3. serial: sh-sci: Shut up compiler warning for SH-X3 SCIF. sh: Wire up CSM node for SH-X3. serial: sh-sci: Tidy cpufreq printk. sh: Kill off duplicate symbol exports on SMP. sh: heartbeat driver update. sh: More license string silliness. sh: Kill off volatile silliness in sq_flush_range(). sh: Overhaul spinlocks and rwlocks for SH-4A SMP. sh: Fix up heartbeat build and resource size. sh: Fix up se7751 build. sh: nommu fault handler needs signal.h. serial: sh-sci: kgdb console build fixes. sh: INTC stubs for SH7343 and SH7770 builds. sh: dma: Fix CONFIG_SYSFS=n build. sh: Don't enable FPU for SH4AL-DSP. sh: se7206: Make the I/O port routines less stupid. sh: se7206: heartbeat needs 32-bit writes. sh: hp6xx: Trivial build fixes for INTC changes. sh: r7780rp: irq-r7780rp needs linux/io.h. arch/sh/Kconfig | 25 arch/sh/Kconfig.debug | 6 arch/sh/Makefile | 4 arch/sh/boards/hp6xx/hp6xx_apm.c | 9 arch/sh/boards/hp6xx/setup.c | 35 arch/sh/boards/magicpanelr2/Kconfig | 13 arch/sh/boards/magicpanelr2/Makefile | 5 arch/sh/boards/magicpanelr2/setup.c | 312 ++++++ arch/sh/boards/mpc1211/setup.c | 2 arch/sh/boards/renesas/r7780rp/Makefile | 5 arch/sh/boards/renesas/r7780rp/irq-r7780mp.c | 61 + arch/sh/boards/renesas/r7780rp/irq-r7780rp.c | 6 arch/sh/boards/renesas/r7780rp/irq-r7785rp.c | 46 arch/sh/boards/renesas/r7780rp/setup.c | 70 + arch/sh/boards/renesas/rts7751r2d/Kconfig | 24 arch/sh/boards/renesas/rts7751r2d/irq.c | 176 ++- arch/sh/boards/renesas/rts7751r2d/setup.c | 52 - arch/sh/boards/renesas/x3proto/Makefile | 1 arch/sh/boards/renesas/x3proto/ilsel.c | 151 +++ arch/sh/boards/renesas/x3proto/setup.c | 136 ++ arch/sh/boards/se/7206/io.c | 29 arch/sh/boards/se/7206/setup.c | 19 arch/sh/boards/se/7343/setup.c | 2 arch/sh/boards/se/770x/setup.c | 10 arch/sh/boards/se/7722/setup.c | 9 arch/sh/boards/se/7751/setup.c | 11 arch/sh/boards/se/7780/irq.c | 28 arch/sh/boards/se/7780/setup.c | 7 arch/sh/boards/sh03/setup.c | 28 arch/sh/boards/shmin/setup.c | 26 arch/sh/boards/snapgear/setup.c | 30 arch/sh/boards/titan/setup.c | 30 arch/sh/cchips/Kconfig | 13 arch/sh/cchips/hd6446x/hd64461.c | 6 arch/sh/cchips/voyagergx/irq.c | 188 +-- arch/sh/configs/hp6xx_defconfig | 559 +++++------ arch/sh/configs/magicpanelr2_defconfig | 923 ++++++++++++++++++ arch/sh/configs/rts7751r2d1_defconfig | 1167 +++++++++++++++++++++++ arch/sh/configs/rts7751r2d_defconfig | 1353 --------------------------- arch/sh/configs/rts7751r2dplus_defconfig | 1167 +++++++++++++++++++++++ arch/sh/drivers/dma/Kconfig | 1 arch/sh/drivers/dma/dma-sh.c | 13 arch/sh/drivers/heartbeat.c | 70 + arch/sh/drivers/pci/ops-rts7751r2d.c | 8 arch/sh/drivers/pci/pci-sh7780.c | 13 arch/sh/drivers/push-switch.c | 2 arch/sh/kernel/cpu/init.c | 11 arch/sh/kernel/cpu/irq/Makefile | 4 arch/sh/kernel/cpu/irq/intc.c | 524 +++++++--- arch/sh/kernel/cpu/irq/intc2.c | 86 - arch/sh/kernel/cpu/sh2/setup-sh7619.c | 93 + arch/sh/kernel/cpu/sh2a/setup-sh7206.c | 217 +++- arch/sh/kernel/cpu/sh3/Makefile | 10 arch/sh/kernel/cpu/sh3/probe.c | 3 arch/sh/kernel/cpu/sh3/setup-sh7705.c | 172 ++- arch/sh/kernel/cpu/sh3/setup-sh7708.c | 43 arch/sh/kernel/cpu/sh3/setup-sh7709.c | 145 -- arch/sh/kernel/cpu/sh3/setup-sh770x.c | 224 ++++ arch/sh/kernel/cpu/sh3/setup-sh7710.c | 200 ++- arch/sh/kernel/cpu/sh3/setup-sh7720.c | 210 ++++ arch/sh/kernel/cpu/sh4/setup-sh7750.c | 54 - arch/sh/kernel/cpu/sh4/setup-sh7760.c | 253 ++--- arch/sh/kernel/cpu/sh4/sq.c | 4 arch/sh/kernel/cpu/sh4a/setup-sh7343.c | 4 arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 38 arch/sh/kernel/cpu/sh4a/setup-sh7770.c | 4 arch/sh/kernel/cpu/sh4a/setup-sh7780.c | 91 + arch/sh/kernel/cpu/sh4a/setup-sh7785.c | 300 +++++ arch/sh/kernel/cpu/sh4a/setup-shx3.c | 234 ++++ arch/sh/kernel/early_printk.c | 38 arch/sh/kernel/setup.c | 2 arch/sh/kernel/sh_ksyms.c | 14 arch/sh/kernel/timers/timer-tmu.c | 3 arch/sh/mm/Kconfig | 51 - arch/sh/mm/Makefile | 21 arch/sh/mm/cache-debugfs.c | 2 arch/sh/mm/fault-nommu.c | 1 arch/sh/mm/pmb.c | 2 arch/sh/mm/tlb-sh4.c | 25 drivers/rtc/rtc-sh.c | 51 - drivers/serial/sh-sci.c | 39 drivers/serial/sh-sci.h | 34 drivers/video/backlight/hp680_bl.c | 4 drivers/video/pvr2fb.c | 2 include/asm-sh/cacheflush.h | 33 include/asm-sh/cpu-sh3/cache.h | 4 include/asm-sh/cpu-sh3/dma.h | 13 include/asm-sh/cpu-sh3/gpio.h | 66 + include/asm-sh/cpu-sh3/mmu_context.h | 9 include/asm-sh/cpu-sh3/timer.h | 9 include/asm-sh/cpu-sh3/ubc.h | 3 include/asm-sh/dma.h | 5 include/asm-sh/gpio.h | 19 include/asm-sh/hd64461.h | 1 include/asm-sh/heartbeat.h | 17 include/asm-sh/hw_irq.h | 41 include/asm-sh/ilsel.h | 45 include/asm-sh/io.h | 26 include/asm-sh/magicpanelr2.h | 67 + include/asm-sh/page.h | 6 include/asm-sh/pgtable.h | 3 include/asm-sh/processor.h | 2 include/asm-sh/r7780rp.h | 33 include/asm-sh/rtc.h | 6 include/asm-sh/rts7751r2d.h | 65 - include/asm-sh/sh03/io.h | 9 include/asm-sh/snapgear.h | 12 include/asm-sh/spinlock.h | 181 ++- include/asm-sh/spinlock_types.h | 11 include/asm-sh/voyagergx.h | 39 include/asm-sh64/gpio.h | 8 111 files changed, 7506 insertions(+), 3291 deletions(-) |
From: Paul M. <le...@li...> - 2007-09-14 03:30:24
|
On Thu, Sep 13, 2007 at 06:14:34PM +0200, Bernhard Walle wrote: > This patch removes the crashkernel parsing from arch/sh/kernel/machine_kexec.c > and calls the generic function, introduced in the generic patch, in > setup_bootmem_allocator(). > > This is necessary because the amount of System RAM must be known in this > function now because of the new syntax. > > NOTE: Due to the lack of a SH processor, this patch is untested (and > uncompiled). Because the code in that area is quite similar as i386/x86_64 > (contrary to PPC and IA64), it should compile and work. However, if someone of > the SH people could test for me and provide feedback, that would be very nice. > > Signed-off-by: Bernhard Walle <bw...@su...> > Works fine on SH. Acked-by: Paul Mundt <le...@li...> |
From: Bernhard W. <bw...@su...> - 2007-09-13 16:14:37
|
This patch removes the crashkernel parsing from arch/sh/kernel/machine_kexec.c and calls the generic function, introduced in the generic patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. NOTE: Due to the lack of a SH processor, this patch is untested (and uncompiled). Because the code in that area is quite similar as i386/x86_64 (contrary to PPC and IA64), it should compile and work. However, if someone of the SH people could test for me and provide feedback, that would be very nice. Signed-off-by: Bernhard Walle <bw...@su...> --- arch/sh/kernel/machine_kexec.c | 21 --------------------- arch/sh/kernel/setup.c | 34 +++++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 26 deletions(-) --- a/arch/sh/kernel/machine_kexec.c +++ b/arch/sh/kernel/machine_kexec.c @@ -104,24 +104,3 @@ NORET_TYPE void machine_kexec(struct kim (*rnk)(page_list, reboot_code_buffer, image->start, vbr_reg); } -/* crashkernel=size@addr specifies the location to reserve for - * a crash kernel. By reserving this memory we guarantee - * that linux never sets it up as a DMA target. - * Useful for holding code to do something appropriate - * after a kernel panic. - */ -static int __init parse_crashkernel(char *arg) -{ - unsigned long size, base; - size = memparse(arg, &arg); - if (*arg == '@') { - base = memparse(arg+1, &arg); - /* FIXME: Do I want a sanity check - * to validate the memory range? - */ - crashk_res.start = base; - crashk_res.end = base + size - 1; - } - return 0; -} -early_param("crashkernel", parse_crashkernel); --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -121,6 +121,33 @@ static void __init register_bootmem_low_ free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); } +#ifdef CONFIG_KEXEC +static void reserve_crashkernel(void) +{ + unsigned long long free_mem; + unsigned long long crash_size, crash_base; + int ret; + + free_mem = (max_low_pfn - min_low_pfn) << PAGE_SHIFT; + + ret = parse_crashkernel(boot_command_line, free_mem, + &crash_size, &crash_base); + if (ret == 0 && crash_size > 0 && crash_base > 0) { + printk(KERN_INFO "Reserving %ldMB of memory at %ldMB " + "for crashkernel (System RAM: %ldMB)\n", + (unsigned long)(crash_size >> 20), + (unsigned long)(crash_base >> 20), + (unsigned long)(free_mem >> 20)); + crashk_res.start = crash_base; + crashk_res.end = crash_base + crash_size - 1; + reserve_bootmem(crash_base, crash_size); + } +} +#else +static inline void reserve_crashkernel(void) +{} +#endif + void __init setup_bootmem_allocator(unsigned long free_pfn) { unsigned long bootmap_size; @@ -182,11 +209,8 @@ void __init setup_bootmem_allocator(unsi } } #endif -#ifdef CONFIG_KEXEC - if (crashk_res.start != crashk_res.end) - reserve_bootmem(crashk_res.start, - crashk_res.end - crashk_res.start + 1); -#endif + + reserve_crashkernel(); } #ifndef CONFIG_NEED_MULTIPLE_NODES -- |
From: Paul M. <le...@li...> - 2007-09-13 08:00:51
|
On Thu, Sep 13, 2007 at 09:43:42AM +0200, pier sancez wrote: > I am using a mb442revC board with STlinux 2.3ear I have some question: > The driver for DirectFB (stmfb-stb7100.ko and stmvou.....ko) support > more one layer? If yes, how can I change the layer with DirectFB API > (or other mode)? Can I have some documentation for this? Because into > the site I found little news about driver for DirectFB Thanks Bye! Wolf > PS sorry for my bad english ^^' On Thu, Sep 13, 2007 at 09:48:06AM +0200, pier sancez wrote: > I am using a mb442revC board with STLinux-2.3ear and I am tring to use > the audio with a FLASH player (swfdec-0.5.2) Bute...the swfdec can't > set the hardware parameter. Why? Can I have some documentatio? What > module should I insert into the kernel? and the parameter? Thanks for > your answers Bye! Wolf http://article.gmane.org/gmane.linux.ports.sh.devel/498/match=st+support+forum |
From: pier s. <m_p...@ya...> - 2007-09-13 07:48:14
|
Hi again! I am using a mb442revC board with STLinux-2.3ear and I am tring to use the audio with a FLASH player (swfdec-0.5.2) Bute...the swfdec can't set the hardware parameter. Why? Can I have some documentatio? What module should I insert into the kernel? and the parameter? Thanks for your answers Bye! Wolf --------------------------------- --------------------------------- L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail |
From: pier s. <m_p...@ya...> - 2007-09-13 07:43:57
|
Hi! I am using a mb442revC board with STlinux 2.3ear I have some question: The driver for DirectFB (stmfb-stb7100.ko and stmvou.....ko) support more one layer? If yes, how can I change the layer with DirectFB API (or other mode)? Can I have some documentation for this? Because into the site I found little news about driver for DirectFB Thanks Bye! Wolf PS sorry for my bad english ^^' --------------------------------- --------------------------------- L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail |
From: Kristoffer E. <kri...@gm...> - 2007-09-12 20:46:25
|
shortlog: * Fixing typo plat_irq_setup -> plat_irq_setup_pins Signed-off-by: Kristoffer Ericson <kri...@gm...> diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c index f97d684..2f414ac 100644 --- a/arch/sh/boards/hp6xx/setup.c +++ b/arch/sh/boards/hp6xx/setup.c @@ -59,7 +59,7 @@ static struct platform_device *hp6xx_devices[] __initdata = { static void __init hp6xx_init_irq(void) { /* Gets touchscreen and powerbutton IRQ working */ - plat_irq_setup(IRQ_MODE_IRQ); + plat_irq_setup_pins(IRQ_MODE_IRQ); } static int __init hp6xx_devices_setup(void) shortlog: * Minor change to defconfig. TMPFS is a logical thing to have. Signed-off-by: Kristoffer Ericson <kri...@gm...> diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig index 756d38d..a49c7e8 100644 --- a/arch/sh/configs/hp6xx_defconfig +++ b/arch/sh/configs/hp6xx_defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.23-rc4 -# Tue Sep 11 19:42:44 2007 +# Wed Sep 12 22:37:28 2007 # CONFIG_SUPERH=y CONFIG_RWSEM_GENERIC_SPINLOCK=y @@ -245,7 +245,7 @@ CONFIG_PCCARD=y # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y +# CONFIG_PCMCIA_IOCTL is not set # # PC-card bridges @@ -640,7 +640,8 @@ CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y -# CONFIG_TMPFS is not set +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_HUGETLBFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y |
From: Adrian M. <ad...@ne...> - 2007-09-12 19:51:05
|
I don't know if this is just G2 flakiness, but if I start playing sound and then start hotplugging devices then I will sometimes get this sort of oops (these don't down the system but they can make it unstable) - any clues as to what might be the issue (these are now quite old -rc2? kernels...)... just wondering if anybody can see anything obvious? [ 95.916012] Maple bus detaching at (0, 2) [ 96.208858] Unable to handle kernel paging request at virtual address dfff0800 [ 96.215707] pc = 8c00e480 [ 96.218317] *pde = 00000000 [ 96.221194] Oops: 0001 [#1] [ 96.224005] Modules linked in: snd_aica snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd soundcore maple_keyb [ 96.235500] [ 96.237035] Pid : 1842, Comm: [ [ 96.241993] PC is at __copy_user_page+0x28/0x54 [ 96.246651] PC : 8c00e480 SP : 8c49fc3c SR : 40008100 TEA : c0003ba4 Not tainted [ 96.254821] R0 : 00000000 R1 : 00000002 R2 : 00000000 R3 : 00000000 [ 96.261648] R4 : 00000000 R5 : 00000001 R6 : 00000000 R7 : 00000000 [ 96.268481] R8 : 8c28f000 R9 : 8cb9f820 R10 : dfff0800 R11 : 8c28e820 [ 96.275303] R12 : 8c28e000 R13 : 8c2b2000 R14 : 00489a20 [ 96.280782] MACH: 00000000 MACL: 00000000 GBR : 00000000 PR : 8c00eed0 [ 96.287599] [ 96.287613] Call trace: [ 96.291747] [<8c056e5c>] __do_fault+0x29c/0x540 [ 96.296412] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.301536] [<8c291dfc>] ip_fib_init+0x3c/0xe0 [ 96.306120] [<8c059be4>] handle_mm_fault+0x144/0x820 [ 96.311257] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.316355] [<8c00e004>] do_page_fault+0x84/0x3c0 [ 96.321201] [<8c292a34>] ip_auto_config+0x454/0x1000 [ 96.326320] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.331452] [<8c04dc8e>] __alloc_pages+0x4e/0x340 [ 96.336299] [<8c055458>] vma_prio_tree_insert+0x18/0x60 [ 96.341685] [<8c291e90>] ip_fib_init+0xd0/0xe0 [ 96.346257] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.351383] [<8c05d26a>] vma_link+0xaa/0x1c0 [ 96.355784] [<8c05de76>] mmap_region+0x576/0x5e0 [ 96.360542] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.365676] [<8c291dfc>] ip_fib_init+0x3c/0xe0 [ 96.370246] [<8c05c6dc>] __vma_link+0x1c/0x80 [ 96.374731] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 96.379772] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 96.384834] [<8c00e39c>] __clear_user+0x30/0x74 [ 96.389461] [<8c0aba3a>] padzero+0x3a/0x60 [ 96.393699] [<8c0ad12a>] load_elf_binary+0x98a/0x1840 [ 96.398899] [<8c01062c>] update_curr_load+0x6c/0xa0 [ 96.403932] [<8c013406>] try_to_wake_up+0xc6/0xe0 [ 96.408834] [<8c206d00>] schedule+0x1c0/0x600 [ 96.413287] [<8c206c0a>] schedule+0xca/0x600 [ 96.417669] [<8c00deae>] __do_page_fault+0xce/0x1a0 [ 96.422700] [<8c057ece>] follow_page+0x20e/0x340 [ 96.427460] [<8c05a594>] get_user_pages+0x2d4/0x400 [ 96.432486] [<8c059aa0>] handle_mm_fault+0x0/0x820 [ 96.437426] [<8c057cc0>] follow_page+0x0/0x340 [ 96.442007] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 96.447157] [<8c076970>] get_arg_page+0x30/0xa0 [ 96.451816] [<8c076de2>] search_binary_handler+0xc2/0x340 [ 96.457375] [<8c0ac7a0>] load_elf_binary+0x0/0x1840 [ 96.462419] [<8c078f5c>] do_execve+0x15c/0x1c0 [ 96.466984] [<8c076b20>] copy_strings+0x0/0x1e0 [ 96.471662] [<8c003e0e>] sys_execve+0x2e/0xa0 [ 96.476157] [<8c008238>] syscall_call+0xc/0x10 [ 96.480729] [<8c003de0>] sys_execve+0x0/0xa0 [ 96.485174] [ 96.486654] Process: [ (pid: 1842, stack limit = 8c49e001) [ 96.492313] Stack: (0x8c49fc3c to 0x8c4a0000) [ 96.496797] fc20: dfff0000 [ 96.505329] fc40: 8cb9f000 00000000 0cb9f000 8c056e5c 00000001 8c49fc70 8c292a00 8c94e470 [ 96.513862] fc60: 8c2c93e0 8c49e000 8c2c88e0 8c291dfc 00000001 00000079 00489000 8c2b71c0 [ 96.522395] fc80: 00000200 8c059be4 8c94e470 00489a20 8c9a9004 8cb47224 00000000 00000224 [ 96.530928] fca0: 8c49e000 8c9a9004 00000079 00000001 00000000 00000001 8c292a00 00000000 [ 96.539461] fcc0: 8c26f3ec 8c49e000 8c00e004 00000001 8c292a34 00489a20 8c292a00 8c49fd8c [ 96.547994] fce0: 8c94e470 8c9b34a0 8c49e000 00000000 00000001 8c04dc8e 00000079 00000079 [ 96.556527] fd00: 00000079 00000079 8c055458 8c978cc0 8c94e4b0 00000001 8c291e90 8c292a00 [ 96.565061] fd20: 8c94e494 8c94e470 8c05d26a 8c94e4b0 8c94e470 8c05de76 8c94e470 8c292a00 [ 96.573594] fd40: 00001000 00489000 8c97ee60 8c49fd30 00001812 00000001 00000001 8c291dfc [ 96.582127] fd60: 00000079 8c97ee60 8c05c6dc 8c0080dc 8ca75840 00489a20 8c49ffa0 00000000 [ 96.590660] fd80: 8c0080dc 00489a20 00000001 00000000 ffffffe0 00489a20 0048a000 00489a20 [ 96.599193] fda0: 000005e0 00000000 00000000 004a6630 8c34f3a0 8c4cec00 00000000 8c49ffa0 [ 96.607726] fdc0: 00489a20 8ca75840 8c49fdec 8c00e39c 8c0aba3a 40008101 00000000 00000000 [ 96.616259] fde0: 00000000 ffffffff 00000060 8c0ad12a 8c49fe0c 00000003 8c01062c 8c49fe08 [ 96.624792] fe00: 8c4cec2c 8c34f41c 8c013406 8ca75800 00000003 00000000 00000000 00400000 [ 96.633325] fe20: 00000000 00000001 00000000 00000000 00489a20 004a6630 00000003 8c2e7034 [ 96.641858] fe40: 8c2e7034 00400000 00478fe8 00489000 00489a20 00000000 00000002 8c49e000 [ 96.650391] fe60: 8c49fe64 00000fb4 00004f42 8c49fe70 8c206d00 8cd4f4fc 8c9b3298 8c49fea0 [ 96.658924] fe80: ffffff0f 8c49e000 00400000 00478fe8 00489000 00489a20 8c206c0a 00000000 [ 96.667458] fea0: 8c00deae 8cd8829c 8c057ece 00000002 8c05a594 8c059aa0 8c057cc0 8c292a00 [ 96.675991] fec0: 8c9b35dc 8c49feb0 00000007 8c981b54 8c9b34a0 00000030 00000001 00000022 [ 96.684524] fee0: 00000000 8c49ff20 00000001 7bffff48 8c076970 004a75d6 8ca75868 00000003 [ 96.693057] ff00: 00000002 8c34f41c 00000001 8c49e000 8c076de2 8c49e000 ffffff0f 8c34f3a0 [ 96.701590] ff20: 8c0ac7a0 8c49e000 00000000 8c26fd84 8c34f41c 8c49ffa0 00000000 fffffffe [ 96.710123] ff40: 8c49e000 8c49e000 8c078f5c 8c49ffa0 004a75e4 8c076b20 8c34f3a0 8c34f41c [ 96.718656] ff60: 00000000 00000013 8c34f45c 8c003e0e 7b800a64 00000000 00489964 8cb86000 [ 96.727189] ff80: 8c49ffa0 004a75fc 8cb86000 8c008238 ffffff0f 00000001 8c49fff8 8c003de0 [ 96.735722] ffa0: 0000000b 0042ac64 00489428 0000000b 004a762c 004a75e4 004a75fc 01010101 [ 96.744255] ffc0: 004a75e4 004a762c 00000001 004a75fc 00489964 00000000 7b800a64 7b800a64 [ 96.752789] ffe0: 004473f6 0042ac86 00008001 00000000 00000031 000005ef 0000004c 00000160 [ 96.761757] note: [[1842] exited with preempt_count 3 [ 96.766807] BUG: scheduling while atomic: [/0x10000004/1842 [ 96.772407] Stack: (0x8c49fa74 to 0x8c4a0000) [ 96.776846] fa60: 8c206fce 10000000 8c9b35d8 [ 96.785357] fa80: 8c0118da 8c05dee0 7b995000 8c0118da 8c49faac 00000000 8c2f05c0 8c2f05c8 [ 96.793841] faa0: 8c206b40 10000000 8c49e000 8c2072b8 8c49fac0 00000000 00000000 0000000f [ 96.802373] fac0: 8c019afc ffffff0f 8c01b68a 8c26b3d4 00000001 0000000b 00000001 8c017ec0 [ 96.810954] fae0: 8c9b34a0 8c2f05c0 00000001 8c9b351c 8c125840 00000001 8c49fb1c 8c006d8c [ 96.819440] fb00: 00000001 8c125840 8c238e04 00000001 8c49e000 8c49fbdc 8c49e000 8c00e1e4 [ 96.827973] fb20: 8c2b2000 dfff0800 8c292a00 8c49fbdc 8c017ec0 00000000 8c49fb7c 8c49e000 [ 96.836506] fb40: c0022500 8c26a86c 8c49fb6c 8c022122 fffce728 8c49fb44 8cbdf684 00000104 [ 96.845039] fb60: 00000000 8c022416 8c49e000 8c49fb7c 8c49fb44 8c29e520 00000104 8c49fb7c [ 96.853572] fb80: 8c49fb7c 8c01deba 00489a20 8c29f5d8 00000001 8c29e300 0000000a 8c29e34c [ 96.862105] fba0: 00000000 8c01dfa6 8c2b2000 8c28e000 8c28e804 00000000 8c2a2590 8c0080dc [ 96.870638] fbc0: 00489a20 8c2b2000 8c28e000 8c28e820 8c0080dc dfff0800 00000001 00000000 [ 96.879171] fbe0: 00000002 00000000 00000000 00000000 00000001 00000000 00000000 8c28f000 [ 96.887704] fc00: 8cb9f820 dfff0800 8c28e820 8c28e000 8c2b2000 00489a20 8c49fc3c 8c00e480 [ 96.896237] fc20: 8c00eed0 40008100 00000000 00000000 00000000 ffffffff 00000060 dfff0000 [ 96.904816] fc40: 8cb9f000 00000000 0cb9f000 8c056e5c 00000001 8c49fc70 8c292a00 8c94e470 [ 96.913304] fc60: 8c2c93e0 8c49e000 8c2c88e0 8c291dfc 00000001 00000079 00489000 8c2b71c0 [ 96.921837] fc80: 00000200 8c059be4 8c94e470 00489a20 8c9a9004 8cb47224 00000000 00000224 [ 96.930415] fca0: 8c49e000 8c9a9004 00000079 00000001 00000000 00000001 8c292a00 00000000 [ 96.938903] fcc0: 8c26f3ec 8c49e000 8c00e004 00000001 8c292a34 00489a20 8c292a00 8c49fd8c [ 96.947436] fce0: 8c94e470 8c9b34a0 8c49e000 00000000 00000001 8c04dc8e 00000079 00000079 [ 96.956015] fd00: 00000079 00000079 8c055458 8c978cc0 8c94e4b0 00000001 8c291e90 8c292a00 [ 96.964502] fd20: 8c94e494 8c94e470 8c05d26a 8c94e4b0 8c94e470 8c05de76 8c94e470 8c292a00 [ 96.973035] fd40: 00001000 00489000 8c97ee60 8c49fd30 00001812 00000001 00000001 8c291dfc [ 96.981568] fd60: 00000079 8c97ee60 8c05c6dc 8c0080dc 8ca75840 00489a20 8c49ffa0 00000000 [ 96.990102] fd80: 8c0080dc 00489a20 00000001 00000000 ffffffe0 00489a20 0048a000 00489a20 [ 96.998634] fda0: 000005e0 00000000 00000000 004a6630 8c34f3a0 8c4cec00 00000000 8c49ffa0 [ 97.007168] fdc0: 00489a20 8ca75840 8c49fdec 8c00e39c 8c0aba3a 40008101 00000000 00000000 [ 97.015702] fde0: 00000000 ffffffff 00000060 8c0ad12a 8c49fe0c 00000003 8c01062c 8c49fe08 [ 97.024280] fe00: 8c4cec2c 8c34f41c 8c013406 8ca75800 00000003 00000000 00000000 00400000 [ 97.032768] fe20: 00000000 00000001 00000000 00000000 00489a20 004a6630 00000003 8c2e7034 [ 97.041300] fe40: 8c2e7034 00400000 00478fe8 00489000 00489a20 00000000 00000002 8c49e000 [ 97.049880] fe60: 8c49fe64 00000fb4 00004f42 8c49fe70 8c206d00 8cd4f4fc 8c9b3298 8c49fea0 [ 97.058366] fe80: ffffff0f 8c49e000 00400000 00478fe8 00489000 00489a20 8c206c0a 00000000 [ 97.066899] fea0: 8c00deae 8cd8829c 8c057ece 00000002 8c05a594 8c059aa0 8c057cc0 8c292a00 [ 97.075478] fec0: 8c9b35dc 8c49feb0 00000007 8c981b54 8c9b34a0 00000030 00000001 00000022 [ 97.083965] fee0: 00000000 8c49ff20 00000001 7bffff48 8c076970 004a75d6 8ca75868 00000003 [ 97.092499] ff00: 00000002 8c34f41c 00000001 8c49e000 8c076de2 8c49e000 ffffff0f 8c34f3a0 [ 97.101032] ff20: 8c0ac7a0 8c49e000 00000000 8c26fd84 8c34f41c 8c49ffa0 00000000 fffffffe [ 97.109565] ff40: 8c49e000 8c49e000 8c078f5c 8c49ffa0 004a75e4 8c076b20 8c34f3a0 8c34f41c [ 97.118098] ff60: 00000000 00000013 8c34f45c 8c003e0e 7b800a64 00000000 00489964 8cb86000 [ 97.126646] ff80: 8c49ffa0 004a75fc 8cb86000 8c008238 ffffff0f 00000001 8c49fff8 8c003de0 [ 97.135164] ffa0: 0000000b 0042ac64 00489428 0000000b 004a762c 004a75e4 004a75fc 01010101 [ 97.143698] ffc0: 004a75e4 004a762c 00000001 004a75fc 00489964 00000000 7b800a64 7b800a64 [ 97.152230] ffe0: 004473f6 0042ac86 00008001 00000000 00000031 000005ef 0000004c 00000160 [ 97.160759] [ 97.160777] Call trace: [ 97.164908] [<8c0118da>] __cond_resched+0x1a/0x40 [ 97.169799] [<8c05dee0>] unlink_file_vma+0x0/0x60 [ 97.174654] [<8c0118da>] __cond_resched+0x1a/0x40 [ 97.179513] [<8c206b40>] schedule+0x0/0x600 [ 97.183834] [<8c2072b8>] cond_resched+0x38/0x60 [ 97.188491] [<8c019afc>] put_files_struct+0xfc/0x160 [ 97.193628] [<8c01b68a>] do_exit+0x16a/0xbc0 [ 97.198013] [<8c017ec0>] printk+0x0/0x40 [ 97.202057] [<8c125840>] bust_spinlocks+0x0/0x40 [ 97.206812] [<8c006d8c>] die+0x16c/0x1e0 [ 97.210873] [<8c125840>] bust_spinlocks+0x0/0x40 [ 97.215624] [<8c00e1e4>] do_page_fault+0x264/0x3c0 [ 97.220557] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.225671] [<8c017ec0>] printk+0x0/0x40 [ 97.229719] [<c0022500>] aica_period_elapsed+0x0/0x100 [snd_aica] [ 97.236023] [<8c022122>] __mod_timer+0x22/0x140 [ 97.240681] [<8c022416>] run_timer_softirq+0x176/0x200 [ 97.246009] [<8c01deba>] __do_softirq+0x5a/0xe0 [ 97.250676] [<8c01dfa6>] do_softirq+0x66/0xa0 [ 97.255136] [<8c28e000>] kbd_init+0x60/0x120 [ 97.259530] [<8c28e804>] serial_console_setup+0x24/0x160 [ 97.265021] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 97.270048] [<8c28e000>] kbd_init+0x60/0x120 [ 97.274439] [<8c28e820>] serial_console_setup+0x40/0x160 [ 97.279922] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 97.284995] [<8c28f000>] serio_init+0x80/0xc0 [ 97.289447] [<8c28e820>] serial_console_setup+0x40/0x160 [ 97.294940] [<8c28e000>] kbd_init+0x60/0x120 [ 97.299347] [<8c00e480>] __copy_user_page+0x28/0x54 [ 97.304351] [<8c00eed0>] copy_user_page+0xb0/0x160 [ 97.309318] [<8c056e5c>] __do_fault+0x29c/0x540 [ 97.313970] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.319095] [<8c291dfc>] ip_fib_init+0x3c/0xe0 [ 97.323676] [<8c059be4>] handle_mm_fault+0x144/0x820 [ 97.328835] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.333933] [<8c00e004>] do_page_fault+0x84/0x3c0 [ 97.338761] [<8c292a34>] ip_auto_config+0x454/0x1000 [ 97.343932] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.349012] [<8c04dc8e>] __alloc_pages+0x4e/0x340 [ 97.353861] [<8c055458>] vma_prio_tree_insert+0x18/0x60 [ 97.359246] [<8c291e90>] ip_fib_init+0xd0/0xe0 [ 97.363817] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.368941] [<8c05d26a>] vma_link+0xaa/0x1c0 [ 97.373341] [<8c05de76>] mmap_region+0x576/0x5e0 [ 97.378117] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.383251] [<8c291dfc>] ip_fib_init+0x3c/0xe0 [ 97.387803] [<8c05c6dc>] __vma_link+0x1c/0x80 [ 97.392287] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 97.397332] [<8c0080dc>] ret_from_exception+0x0/0x8 [ 97.402393] [<8c00e39c>] __clear_user+0x30/0x74 [ 97.407018] [<8c0aba3a>] padzero+0x3a/0x60 [ 97.411274] [<8c0ad12a>] load_elf_binary+0x98a/0x1840 [ 97.416473] [<8c01062c>] update_curr_load+0x6c/0xa0 [ 97.421489] [<8c013406>] try_to_wake_up+0xc6/0xe0 [ 97.426391] [<8c206d00>] schedule+0x1c0/0x600 [ 97.430844] [<8c206c0a>] schedule+0xca/0x600 [ 97.435227] [<8c00deae>] __do_page_fault+0xce/0x1a0 [ 97.440260] [<8c057ece>] follow_page+0x20e/0x340 [ 97.445040] [<8c05a594>] get_user_pages+0x2d4/0x400 [ 97.450064] [<8c059aa0>] handle_mm_fault+0x0/0x820 [ 97.454986] [<8c057cc0>] follow_page+0x0/0x340 [ 97.459566] [<8c292a00>] ip_auto_config+0x420/0x1000 [ 97.464714] [<8c076970>] get_arg_page+0x30/0xa0 [ 97.469376] [<8c076de2>] search_binary_handler+0xc2/0x340 [ 97.474932] [<8c0ac7a0>] load_elf_binary+0x0/0x1840 [ 97.479978] [<8c078f5c>] do_execve+0x15c/0x1c0 [ 97.484556] [<8c076b20>] copy_strings+0x0/0x1e0 [ 97.489217] [<8c003e0e>] sys_execve+0x2e/0xa0 [ 97.493732] [<8c008238>] syscall_call+0xc/0x10 [ 97.498286] [<8c003de0>] sys_execve+0x0/0xa0 [ 97.502730] / # / # [ 137.252206] Maple bus at (0, 2): Connected function 0x10 [ 137.261634] No maple driver found for this device [ 138.156855] Maple bus detaching at (0, 2) |
From: Paul M. <le...@li...> - 2007-09-12 02:20:06
|
On Tue, Sep 11, 2007 at 07:17:45PM -0700, Kristoffer Ericson wrote: > @@ -46,10 +46,24 @@ static struct platform_device cf_ide_device = { > .resource = cf_ide_resources, > }; > > +static struct platform_device jornadakbd_device = { > + .name = "jornada680_kbd", > + .id = -1, > +}; > + > static struct platform_device *hp6xx_devices[] __initdata = { > - &cf_ide_device, > + &cf_ide_device, > +#ifdef CONFIG_KEYBOARD_HP6XX > + &jornadakbd_device, > +#endif > }; > Don't ifdef these, they're all __initdata, if nothing claims the device, it will be freed up automatically. ifdefs just make this an ugly mess for very little gain. The rest looks fine, I'll queue it up. |
From: Adrian M. <lkm...@gm...> - 2007-09-12 00:03:51
|
On 12/09/2007, Bj=F6rn Steinbrink <B.S...@gm...> wrote: > > A fix would likely initialize "when" to jiffies. > > Bj=F6rn > Thanks, I'll try that :) |
From: Adrian M. <lkm...@gm...> - 2007-09-11 23:10:21
|
On 12/09/2007, Bj=F6rn Steinbrink <B.S...@gm...> wrote: > On 2007.09.12 00:19:09 +0200, Rene Herman wrote: > > On 09/12/2007 12:15 AM, Adrian McMenamin wrote: > > > >> On 11/09/2007, Rene Herman <ren...@gm...> wrote: > >>> On 09/12/2007 12:05 AM, Adrian McMenamin wrote: > >>> > >>>> OK, why does this line occasionally return true: > > What exactly is "occassionally"? Does it happen more than once per > boot? If not, and it happens after a certain time after booting, it > might be wrapping of the jiffie counter (see below). > > >>>> > >>>> if ((maple_dev->interval > 0) && (jiffies >maple_dev->when)) > >>>> > >>>> while this one never does (no other changes made): > >>>> > >>>> if ((maple_dev->interval > 0) && (time_after(jiffies, > >>>> maple_dev->when))) > >>> Is maple_dev->when an unsigned long? > >>> > >> Yes. Does that make a difference? > > > > If it had been a signed type, it could've wrapped to something you didn= 't > > expect, explaining the difference at least... > > > > With an unsigned long, the only diference should be that time_after() d= eals > > with jiffie wrapping which I assume is not an actual problem here. I'll > > retreat into the shades again... ;-( > > If "occasionally" is limited to once per boot, it might be jiffie > wrapping. IIRC jiffies are initialized so that they wrap after about 5 > minutes of uptime to reveal such bugs without forcing you to wait for > ages just to have the counter wrap for the first time. > No, I mean "works properly" - ie occasionally evaluates as true |
From: Adrian M. <lkm...@gm...> - 2007-09-11 22:15:05
|
On 11/09/2007, Rene Herman <ren...@gm...> wrote: > On 09/12/2007 12:05 AM, Adrian McMenamin wrote: > > > OK, why does this line occasionally return true: > > > > if ((maple_dev->interval > 0) && (jiffies >maple_dev->when)) > > > > while this one never does (no other changes made): > > > > if ((maple_dev->interval > 0) && (time_after(jiffies, maple_dev->when))) > > Is maple_dev->when an unsigned long? > Yes. Does that make a difference? |
From: Adrian M. <lkm...@gm...> - 2007-09-11 22:05:48
|
OK, why does this line occasionally return true: if ((maple_dev->interval > 0) && (jiffies >maple_dev->when)) while this one never does (no other changes made): if ((maple_dev->interval > 0) && (time_after(jiffies, maple_dev->when))) Is this a gcc issue or what? |
From: Kristoffer E. <kri...@gm...> - 2007-09-11 17:45:48
|
Greetings, Shortlog: * pcmcia_pata -> generic_pata (so CF gets configured properly) * disable hardware monitor (nothing using it??) Signed-off-by: Kristoffer Ericson <Kri...@gm...> Confirmed compile and booting. diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig index c4c14fb..756d38d 100644 --- a/arch/sh/configs/hp6xx_defconfig +++ b/arch/sh/configs/hp6xx_defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.23-rc4 -# Mon Sep 10 19:47:53 2007 +# Tue Sep 11 19:42:44 2007 # CONFIG_SUPERH=y CONFIG_RWSEM_GENERIC_SPINLOCK=y @@ -351,10 +351,10 @@ CONFIG_SCSI_LOWLEVEL=y CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set # CONFIG_PATA_LEGACY is not set -CONFIG_PATA_PCMCIA=y +# CONFIG_PATA_PCMCIA is not set # CONFIG_PATA_QDI is not set # CONFIG_PATA_WINBOND_VLB is not set -# CONFIG_PATA_PLATFORM is not set +CONFIG_PATA_PLATFORM=y # CONFIG_MD is not set # CONFIG_PHONE is not set @@ -462,20 +462,7 @@ CONFIG_DEVPORT=y # CONFIG_SPI_MASTER is not set # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ABITUGURU3 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_HWMON is not set # # Multifunction device drivers @@ -745,7 +732,6 @@ CONFIG_ENABLE_MUST_CHECK=y # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_SH_STANDARD_BIOS is not set # CONFIG_EARLY_SCIF_CONSOLE is not set -# CONFIG_EARLY_PRINTK is not set # CONFIG_SH_KGDB is not set # |
From: Kristoffer E. <kri...@gm...> - 2007-09-11 17:17:20
|
Greetings, Paul, the keyboard driver is almost finished (I expect last confirmation today from Dmitry), so it should be commited in the next merge window. Its already included in the defconfig, so I've also added the init in arch/sh/boards/hp6xx/setup.c. Magnus, the way I set IRQ0->IRQ3 is what you suggested correct? Shortlog: * To be able to use touchscreen and powerbutton IRQ (IRQ0->IRQ3) we need them in IRQ mode. * Added so the keyboard driver gets enabled properly. * Minor formatting cleanups. Signed-off-by : Kristoffer Ericson <kri...@gm...> diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c index ac527a8..87ad9de 100644 --- a/arch/sh/boards/hp6xx/setup.c +++ b/arch/sh/boards/hp6xx/setup.c @@ -7,7 +7,7 @@ * May be copied or modified under the terms of the GNU General Public * License. See linux/COPYING for more information. * - * Setup code for an HP680 (internal peripherials only) + * Setup code for HP620/HP660/HP680/HP690 (internal peripherials only) */ #include <linux/types.h> #include <linux/init.h> @@ -19,7 +19,7 @@ #include <asm/cpu/dac.h> #define SCPCR 0xa4000116 -#define SCPDR 0xa4000136 +#define SCPDR 0xa4000136 /* CF Slot */ static struct resource cf_ide_resources[] = { @@ -46,10 +46,24 @@ static struct platform_device cf_ide_device = { .resource = cf_ide_resources, }; +static struct platform_device jornadakbd_device = { + .name = "jornada680_kbd", + .id = -1, +}; + static struct platform_device *hp6xx_devices[] __initdata = { - &cf_ide_device, + &cf_ide_device, +#ifdef CONFIG_KEYBOARD_HP6XX + &jornadakbd_device, +#endif }; +static void __init hp6xx_init_irq() +{ + /* Gets touchscreen and powerbutton IRQ working */ + plat_irq_setup(IRQ_MODE_IRQ); +} + static int __init hp6xx_devices_setup(void) { return platform_add_devices(hp6xx_devices, ARRAY_SIZE(hp6xx_devices)); @@ -61,11 +75,11 @@ static void __init hp6xx_setup(char **cmdline_p) u16 v; v = inw(HD64461_STBCR); - v |= HD64461_STBCR_SURTST | HD64461_STBCR_SIRST | - HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST | - HD64461_STBCR_SAFEST | HD64461_STBCR_SPC0ST | - HD64461_STBCR_SMIAST | HD64461_STBCR_SAFECKE_OST | - HD64461_STBCR_SAFECKE_IST; + v |= HD64461_STBCR_SURTST | HD64461_STBCR_SIRST | + HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST | + HD64461_STBCR_SAFEST | HD64461_STBCR_SPC0ST | + HD64461_STBCR_SMIAST | HD64461_STBCR_SAFECKE_OST| + HD64461_STBCR_SAFECKE_IST; #ifndef CONFIG_HD64461_ENABLER v |= HD64461_STBCR_SPC1ST; #endif @@ -101,6 +115,9 @@ device_initcall(hp6xx_devices_setup); static struct sh_machine_vector mv_hp6xx __initmv = { .mv_name = "hp6xx", .mv_setup = hp6xx_setup, - .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM, + /* IRQ's : CPU(64) + CCHIP(16) + FREE_TO_USE(6) */ + .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM + 6, .mv_irq_demux = hd64461_irq_demux, + /* Enable IRQ0 -> IRQ3 in IRQ_MODE */ + .mv_init_irq = hp6xx_init_irq, }; |
From: Paul M. <le...@li...> - 2007-09-11 06:57:50
|
On Tue, Sep 11, 2007 at 07:39:26AM +0100, Adrian McMenamin wrote: > On Tue, 2007-09-11 at 13:27 +0900, Paul Mundt wrote: > > I don't believe the 'or any later version' thing was intended by any of > > the original authors, this should probably be dropped. The original file > > lacked explicit terms, so the default behaviour there is to fall back to > > what the top-level COPYING says, which has the 'or any later version' > > garbage removed. > > On 30th of August you wrote this in an email to the linuxsh list: > > "Both Marcus and I intended all of our code to be v2 only, so that > should probably be statically defined here. However, I believe > Yaegashi-san wrote a lot of this initial version, and I'm sure there > were others that hacked on it as well. So we may simply have to leave it > as GPLv2 with the unfortunate + any later version garbage." > > I think you were right the first time. > I also wrote in the same mail that the history of that could be verified in the old CVS tree, after which it was obvious that there was nothing explicitly stated that would contradict the terms of the top-level COPYING. The + any later version stuff was never mentioned in any version of the file dating back to 2.4.3 when it was first added in the CVS tree. Given that, I don't see any reason why we should be adding it now. > > > +static DEFINE_MUTEX(maple_list_lock); > > > + > > > +DEFINE_MUTEX(maple_dma_lock); > > > +EXPORT_SYMBOL_GPL(maple_dma_lock); > > > + > > It would be better to have accessors for this rather than exporting the > > mutex globally. > > Actually the mutex is accessed in the aica code so it, or any wrappers > need to be exported > Exporting accessors for use in the driver code is fine, exporting a global lock is rather more ugly. > > > +/* use init call to ensure bus is registered ahead of devices */ > > > +fs_initcall(maple_bus_init); > > > > Please use subsys_initcall() or something like that, this isn't a file > > system. The comment is also pointless, it's obvious what the initcall is > > for if you use the proper one. > > > > Except performance of the driver is very poor when I use subsys_initcall > - detecting devices on a phase-of-the-noon related basis. Not an issue > when I use the later call. > I don't know if I buy that argument, but as you're going to be more or less the only user of this bus, I can live with that. At least update your comment so it has some relevance. > > > +void maple_setup_port_rescan(struct maple_device *mdev); > > > + > > > +void maplebus_init_hardware(void); > > > + > > Why would these ever be accessible to drivers? > > > You are right about the rescan - a relic of an earlier iteration but the > maplebus_init_hardware is used to control the DMA in the aica code What exactly is the AICA trying to do to the maple bus? G2 synchronization is one thing, but that's very different from reinitializing the bus. While Sega's hardware may be whimsical, a sound driver should never be reinitializing an input bus.. that's just too bogus for words, sorry. |
From: Adrian M. <ad...@ne...> - 2007-09-11 06:39:57
|
On Tue, 2007-09-11 at 13:27 +0900, Paul Mundt wrote: > (Adding GregKH to the CC, he needs to Ack this before I can merge it). > > > diff --git a/drivers/sh/maple/maplebus.c b/drivers/sh/maple/maplebus.c > > new file mode 100644 > > index 0000000..4662463 > > --- /dev/null > > +++ b/drivers/sh/maple/maplebus.c > > @@ -0,0 +1,747 @@ > > +/* maplebus.c > > + * Core maple bus functionality > > + * Original 2.4 code used here copyright > > + * YAEGASHI Takeshi, Paul Mundt, M. R. Brown and others > > + * Porting to 2.6 Copyright Adrian McMenamin, 2007 > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License as published by > > + * the Free Software Foundation; either version 2 of the License, or > > + * (at your option) any later version. > > + * > I don't believe the 'or any later version' thing was intended by any of > the original authors, this should probably be dropped. The original file > lacked explicit terms, so the default behaviour there is to fall back to > what the top-level COPYING says, which has the 'or any later version' > garbage removed. On 30th of August you wrote this in an email to the linuxsh list: "Both Marcus and I intended all of our code to be v2 only, so that should probably be statically defined here. However, I believe Yaegashi-san wrote a lot of this initial version, and I'm sure there were others that hacked on it as well. So we may simply have to leave it as GPLv2 with the unfortunate + any later version garbage." I think you were right the first time. > > > +static DEFINE_MUTEX(maple_list_lock); > > + > > +DEFINE_MUTEX(maple_dma_lock); > > +EXPORT_SYMBOL_GPL(maple_dma_lock); > > + > It would be better to have accessors for this rather than exporting the > mutex globally. Actually the mutex is accessed in the aica code so it, or any wrappers need to be exported > > > > +/* use init call to ensure bus is registered ahead of devices */ > > +fs_initcall(maple_bus_init); > > Please use subsys_initcall() or something like that, this isn't a file > system. The comment is also pointless, it's obvious what the initcall is > for if you use the proper one. > Except performance of the driver is very poor when I use subsys_initcall - detecting devices on a phase-of-the-noon related basis. Not an issue when I use the later call. > > index 0000000..8a37c7e > > --- /dev/null > > +++ b/include/linux/maple.h > > @@ -0,0 +1,126 @@ > > +/** > > + * maple.h > > > +void maple_setup_port_rescan(struct maple_device *mdev); > > + > > +void maplebus_init_hardware(void); > > + > Why would these ever be accessible to drivers? > You are right about the rescan - a relic of an earlier iteration but the maplebus_init_hardware is used to control the DMA in the aica code |
From: Paul M. <le...@li...> - 2007-09-11 04:27:27
|
(Adding GregKH to the CC, he needs to Ack this before I can merge it). On Tue, Sep 11, 2007 at 12:16:48AM +0100, Adrian McMenamin wrote: > diff --git a/drivers/sh/maple/Makefile b/drivers/sh/maple/Makefile > new file mode 100644 > index 0000000..f8c39f2 > --- /dev/null > +++ b/drivers/sh/maple/Makefile > @@ -0,0 +1,3 @@ > +#Makefile for Maple Bus > + > +obj-y := maplebus.o Please use obj-$(CONFIG_MAPLE) here, too. > diff --git a/drivers/sh/maple/maplebus.c b/drivers/sh/maple/maplebus.c > new file mode 100644 > index 0000000..4662463 > --- /dev/null > +++ b/drivers/sh/maple/maplebus.c > @@ -0,0 +1,747 @@ > +/* maplebus.c > + * Core maple bus functionality > + * Original 2.4 code used here copyright > + * YAEGASHI Takeshi, Paul Mundt, M. R. Brown and others > + * Porting to 2.6 Copyright Adrian McMenamin, 2007 > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * I don't believe the 'or any later version' thing was intended by any of the original authors, this should probably be dropped. The original file lacked explicit terms, so the default behaviour there is to fall back to what the top-level COPYING says, which has the 'or any later version' garbage removed. > +static DEFINE_MUTEX(maple_list_lock); > + > +DEFINE_MUTEX(maple_dma_lock); > +EXPORT_SYMBOL_GPL(maple_dma_lock); > + It would be better to have accessors for this rather than exporting the mutex globally. > +static void maple_add_packet(struct mapleq *mq) > +{ > + mutex_lock(&maple_list_lock); > + list_add((struct list_head *) mq, &maple_waitq); > + mutex_unlock(&maple_list_lock); > +} > + Please use the mapleq list_head directly. Yes, it happens to exist at the beginning of the structure, but casting outright rather than just using mq->list is ridiculous. > +static void maple_free_dev(struct maple_device *mdev) > +{ > + if (!mdev) > + return; > + kmem_cache_free(maple_cache, mdev->mq->recvbuf); Is !mdev->mq possible? > + if (maple_packets > 0) { > + for (i = 0; i < (1 << MAPLE_DMA_PAGES); i++) > + dma_cache_wback_inv(maple_sendbuf + i * PAGE_SIZE, > + PAGE_SIZE); Use dma_cache_sync() for this. Ralf is currently trying to get rid of these other dma_cache_xxx() functions. > +static int setup_maple_commands(struct device *device, void *ignored) > +{ > + struct maple_device *maple_dev = to_maple_dev(device); > + > + if ((maple_dev->interval > 0) && (jiffies >maple_dev->when)) { > + maple_dev->when = jiffies + maple_dev->interval; > + maple_dev->mq->command = MAPLE_COMMAND_GETCOND; > + maple_dev->mq->sendbuf = &maple_dev->function; > + maple_dev->mq->length = 1; > + maple_add_packet(maple_dev->mq); > + liststatus++; > + } else { > + if (jiffies >= maple_pnp_time) { > + maple_dev->mq->command = MAPLE_COMMAND_DEVINFO; > + maple_dev->mq->length = 0; > + maple_add_packet(maple_dev->mq); > + liststatus++; > + } > + } > + You should be using time_before()/time_after() to guard against wraparound. > +static struct maple_driver maple_null_driver = { > + .drv = { > + .name = "Maple_bus_basic_driver", > + .bus = &maple_bus_type, > + }, Please use a less visually offensive driver name. Also, why has the }, moved over a few levels for no reason? > + maple_cache = > + kmem_cache_create("Maplebus_cache", 0x400, 0, > + SLAB_HWCACHE_ALIGN, NULL); > + You don't need fancy caps in slab caches unless you're ACPI, please also use a more descriptive name (maple_queue_cache or something like that). > + cleanup_cache: > + kmem_cache_destroy(maple_cache); > + Goto labels should be on the margin at the beginning of the line, not at an arbitrary location. > +/* use init call to ensure bus is registered ahead of devices */ > +fs_initcall(maple_bus_init); Please use subsys_initcall() or something like that, this isn't a file system. The comment is also pointless, it's obvious what the initcall is for if you use the proper one. > index 0000000..8a37c7e > --- /dev/null > +++ b/include/linux/maple.h > @@ -0,0 +1,126 @@ > +/** > + * maple.h > + * > + * porting to 2.6 driver model > + * copyright Adrian McMenamin, 2007 > + * > + */ > + Please use the #ifndef __LINUX_MAPLE_H #define __LINUX_MAPLE_H ... #endif /* __LINUX_MAPLE_H */ convention. And create an asm/maple.h that gets dragged in. Things like the base address for the bus, ports/packets/dma setup and things like that should be platform-specific properties, not things that are hardcoded in a linux/ header. Only thing like the bus API, data structures, and response codes are generic. > +struct maple_driver { > + unsigned long function; > + int (*connect) (struct maple_device * dev); > + void (*disconnect) (struct maple_device * dev); > + struct device_driver drv; > +}; > + > +struct device_specify { > + int port; > + int unit; > +}; > + Namespace pollution. You also seem to only use this as a convenience accessor in certain places in the bus code itself, and it's never visible to the API. Move the structure definition in to the .c code in that case. > +void maple_setup_port_rescan(struct maple_device *mdev); > + > +void maplebus_init_hardware(void); > + Why would these ever be accessible to drivers? |
From: Paul M. <le...@li...> - 2007-09-11 04:03:33
|
On Tue, Sep 11, 2007 at 12:42:10PM +0900, Yuichi Nakamura wrote: > On Mon, 10 Sep 2007 18:35:28 +0900 > Paul Mundt wrote: > > On the other hand, with newer > > compilers we really should be using -Os as the default anyways (this is > > also the default for most ARM boards), it hasn't been a problem for some > > time. > Does it mean, "most people are using -Os now" ? > Correct. Quite a few of the SH boards already use this as their default: pmundt@dysnomia ~/devel/git/sh-2.6.24 $ grep CC_OPTIMIZE_FOR_SIZE arch/sh/configs -r | wc -l 27 pmundt@dysnomia ~/devel/git/sh-2.6.24 $ grep CC_OPTIMIZE_FOR_SIZE=y arch/sh/configs -r | wc -l 15 And almost all of the up-to-date ports are using it: pmundt@dysnomia ~/devel/git/sh-2.6.24 $ grep 'version: 2.6.2[12]' arch/sh/configs -r | sed -e 's/:.*$//' | wc -l 12 pmundt@dysnomia ~/devel/git/sh-2.6.24 $ grep CC_OPTIMIZE_FOR_SIZE=y $(grep 'version: 2.6.2[12]' arch/sh/configs -r | sed -e 's/:.*$//') | wc -l 9 RTS7751R2D is one of the ones that is not using it, so it's probably worth just enabling it there and for all of the other boards, too. We at least don't have any regressions with it any more with recent compilers. |
From: Paul M. <le...@li...> - 2007-09-11 03:54:47
|
On Mon, Sep 10, 2007 at 03:01:54PM -0700, Kristoffer Ericson wrote: > Welcome back paul :) > > Btw, I havent seen any of my patches applied into your git tree yet. Im > getting you the updated defconfig, but the rest could go in meanwhile. > I've gone through my pending queue and pushed out the stuff that looked reasonable, please check the tree to make sure that nothing was missed or broken, and feel free to resubmit anything that got dropped. |
From: Yuichi N. <yn...@hi...> - 2007-09-11 03:42:32
|
On Mon, 10 Sep 2007 18:35:28 +0900 Paul Mundt wrote: > On Mon, Sep 10, 2007 at 06:19:12PM +0900, Yuichi Nakamura wrote: > > > > On Mon, 10 Sep 2007 16:09:10 +0900 > > Paul Mundt wrote: > > > What optimization levels are you using to compile the kernel? Try with > > > and without -Os to see if there's a measurable impact. From the sounds of > > > it you're still going to have to do the manual inlining work if there's > > > no change in the common case, at least. > > I was using -O2. > > I now compiled with -Os and compared. > > > > lmbench result for SH(SH4, SH7751R), kernel 2.6.22 > > SELinux(gcc4.2.1 -O2) SELinux(gcc 4.2.1 -Os) > > Simple read 6.03 4.24 > > Simple write 5.92 3.88 > > Very strange. -Os is better. > > # I tried twice to make sure. > > > The inlining semantics for both of these are a bit different, but it's > curious that -Os resulted in faster code given that it has a tendency to > try and keep things that are referenced more than once out-of-line. > > > No SELinux(gcc4.2.1 -O2) No SELinux(gcc 4.2.1 -Os) > > Simple read 2.36 2.45 > > Simple write 2.06 2.08 > > Without SELinux, O2 is a little better. > > > What about bumping this to -O3? It seems like the compiler is at least > able to produce good code, the main issue is just the optimization level > and inlining semantics at this point. Thanks for reply, again. I tried -O3. Kernel panic on gcc 3.4.5. On 4.2.1 it booted. SELinux(gcc 4.2.1 -O3) Simple read 4.53 Simple write 4.23 Better than O2, but Os is better. I tried manual inlining with -Os, SELinux(gcc 4.2.1 -Os) + manual inlining Simple read 3.64 Simple write 3.34 It is still effective. > On the other hand, with newer > compilers we really should be using -Os as the default anyways (this is > also the default for most ARM boards), it hasn't been a problem for some > time. Does it mean, "most people are using -Os now" ? -- Yuichi Nakamura Hitachi Software Engineering Co., Ltd. Japan SELinux Users Group(JSELUG): http://www.selinux.gr.jp/ SELinux Policy Editor: http://seedit.sourceforge.net/ |