From: Kristoffer E. <kri...@ho...> - 2007-03-26 18:45:55
Attachments:
hp6xx-setup.c-pata-n-cleanup.patch
|
/arch/sh/hp6xx/setup.c: Cleanups and added pata_platform support * Added pata_platform support for CF slot since ide-sh has been removed. * Removed specific hd64461_mv and it will now use the io_generic * Removed obselete comment (concerning the need to move to io_generic) * Added copyright notice signed-off-by: Kristoffer Ericson <Kri...@ho...> >From: Paul Mundt <le...@li...> >To: Kristoffer Ericson <kri...@ho...> >CC: lin...@li... >Subject: Re: HP6xx/sh7709 patches - 1 >Date: Sun, 25 Mar 2007 13:04:49 +0900 > >On Fri, Mar 23, 2007 at 07:40:31PM +0000, Kristoffer Ericson wrote: > > diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c > > index b5a9664..266c338 100644 > > --- a/arch/sh/boards/hp6xx/setup.c > > +++ b/arch/sh/boards/hp6xx/setup.c > > @@ -15,10 +15,45 @@ > > #include <asm/irq.h> > > #include <asm/hp6xx.h> > > #include <asm/cpu/dac.h> > > +#include <linux/platform_device.h> > > >linux/ includes before asm/ includes.. > > > +static struct resource cf_ide_resources[] = { > > + [0] = { > > + .start = 0xb5000000 + 0x1f0, > > + .end = 0xb5000000 + 0x1f0 + 0x08 - 1, > > + .flags = IORESOURCE_MEM, > > + }, > > + [1] = { > > + .start = 0xb5000000 + 0x1fe, > > + .end = 0xb5000000 + 0x1fe + 1, > > + .flags = IORESOURCE_MEM, > > + }, > > + [2] = { > > + .start = 93, > > + .flags = IORESOURCE_IRQ, > > + }, > > +}; > > + >This has some very strange whitespace, please check for space errors >before making the diff. > >I suspect you also ant to use 0x15000000 here rather than 0xb5, since you >set the resouce type to MEM it will be remapped and you'll get back >0xb5.. anyways. > > > .mv_irq_demux = hd64461_irq_demux, > > + .mv_readw = hd64461_readw, > > + .mv_writew = hd64461_writew, > > }; > >Any reason for keeping these? _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |
From: Paul M. <le...@li...> - 2007-03-27 02:47:03
|
On Mon, Mar 26, 2007 at 06:45:42PM +0000, Kristoffer Ericson wrote: > /arch/sh/hp6xx/setup.c: Cleanups and added pata_platform support > * Added pata_platform support for CF slot since ide-sh has been removed. > * Removed specific hd64461_mv and it will now use the io_generic > * Removed obselete comment (concerning the need to move to io_generic) > * Added copyright notice > > signed-off-by: Kristoffer Ericson <Kri...@ho...> > Again, there's a lot of unusual whitespace changes here, and completely broken spaces vs tabs. Whatever you're using as an editor, I suggest you throw it out and use something that can show these as errors. Likewise, your other inlined patch is also line-wrapped and broken by your mailer. Please clean this up and resubmit with a coherent mailer. |
From: Kristoffer E. <kri...@ho...> - 2007-04-04 11:48:52
|
Im still unable to get Pata support going. From what I can tell the ipr_map seems fine and so does all the setup code for hp6xx and h64461. The generic MMIO needs to be changed in order for it to work for hp6xx, I received a patch from andriy before when we had issues with pcmcia wifi. The adresses inside h64461.h though must be wrong atleast partly. Examples: +/* PC Card Controller Registers */ +#define HD64461_PCC0ISR 0x12000 /* socket 0 interface status */ +#define HD64461_PCC0GCR 0x12002 /* socket 0 general control */ +#define HD64461_PCC0CSCR 0x12004 /* socket 0 card status change */ +#define HD64461_PCC0CSCIER 0x12006 /* socket 0 card status change interrupt enable */ +#define HD64461_PCC0SCR 0x12008 /* socket 0 software control */ Needs to be changed to CONFIG_HD64461_IOBASE + port - 0x10000 to work. Otherwise no output is given on screen. #define HD64461_STBCR 0x10000 Would result in STBCR = CONFIG_HD64461_IOBASE if port2addr were resolving that adress. It works if I change that value, but not otherwise. So I know paul stated before that hd64461.h should be left untouched, but Im unable to get it working if I don't change some values. And the hard part is knowing what was touched by port2addr and what wasn't. Im considering going back to using the hd64461_mv specific and only using mmio for pata, as Im making no progress. Best wishes Kristoffer _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ |
From: Kristoffer E. <kri...@ho...> - 2007-04-04 19:28:57
|
This is due to the changes in the workque.h layout. I've tried to declare a struct delayed_work *ts_delay and used &ts_delay->work instead of &work. But getting same error. Bootlog: ------------ Linux version 2.6.21-rc5-g57fff9e7-dirty (root@Wolverine) (gcc version 3.4.5) #1 2 Wed Apr 4 15:50:55 PDT 2007 Built 1 zonelists. Total pages: 8128 Kernel command line: mem=32M root=/dev/hda2 console=ttySC1,115200 init=/bin/sh PID hash table entries: 128 (order: 7, 512 bytes) Interval = 55275 Using tmu for system timer Console: colour dummy device 80x25 Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 29968k/32768k available (2256k kernel code, 2800k reserved, 94k data, 60 k init) Mount-cache hash table entries: 512 CPU: SH7729 NET: Registered protocol family 16 SCSI subsystem initialized DMA: Registering DMA API. DMA: Registering sh_dmac handler (4 channels). NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered HD64461 configured at 0xb0000000 on irq 36(mapped into 80 to 95) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) Console: switching to colour frame buffer device 80x30 fb0: Hitachi HD64461 frame buffer device SuperH SCI(F) driver initialized sh-sci: ttySC0 at MMIO 0xfffffe80 (irq = 25) is a sci sh-sci: ttySC1 at MMIO 0xa4000150 (irq = 59) is a scif loop: loaded (max 8 devices) SCSI Media Changer driver v0.25 ata1: PATA max PIO0 cmd 0xb50001f0 ctl 0xb50001fe bmdma 0x00000000 irq 93 scsi0 : pata_platform mice: PS/2 mouse device common for all mice Kernel BUG: 003e [#1] Modules linked in: Pid : 1, Comm: swapper PC is at queue_delayed_work+0xe0/0x120 PC : 8d0210c0 SP : 8d2d5e38 SR : 400001f0 TEA : 0001194c Not tainted R0 : 00000001 R1 : 00000001 R2 : 000000f0 R3 : ffffffff R4 : 8d2459b8 R5 : 8d2459a8 R6 : 00000005 R7 : 8d2be760 R8 : 00000000 R9 : 00000000 R10 R12 : 00000000 R13 : 00000000 R14 : 00000000 MACH: 00000000 MACL: 00000000 GBR : 00000000 PR : 8d144680 Call trace: [<8d144680>] hp680_ts_interrupt+0x10/0x30 [<8d0314a0>] handle_IRQ_event+0x40/0x90 [<8d03278a>] handle_level_irq+0x5a/0x100 [<8d005358>] do_IRQ+0x38/0x90 [<8d007118>] ret_from_exception+0x0/0x14 [<8d005320>] do_IRQ+0x0/0x90 [<8d0319b6>] setup_irq+0xb6/0x210 [<8d031a90>] setup_irq+0x190/0x210 [<8d031cc4>] request_irq+0x74/0xb0 [<8d21e924>] __func__.0+0x4d008/0x51fd1 [<8d144670>] hp680_ts_interrupt+0x [<8d144670>] hp680_ts_interrupt+0x [<8d250a04>] init+0x64/0x1e0 [<8d003004>] kernel_thread_helper+0x4/0x10 [<8d2509a0>] init+0x0/0x1e0 [<8d003000>] kernel_thread_helper+0x0/0x10 Process: swapper (pid: 1, stack limit = 8d2d4001) Stack: (0x8d2d5e38 to 0x8d2d6000) 5e20: 8d144680 8d3b0700 5e40: 8d0314a0 8d03278a 00000023 00000000 00000023 8d24b8f0 8d005358 8d26942c 5e60: 00000033 8d007118 00000000 8d005320 ffffffff 00000000 00000000 40000100 5e80: 00000000 000008c0 8d3b0700 00000020 a4000016 8d24b8f0 8d3b0700 00000000 5ea0: 00000023 00000000 00000000 00000000 8d2d5ed8 8d0319b6 8d031a90 40000100 5ec0: 00000000 00000000 00000000 ffffffff ffffffff 00000000 8d031cc4 8d21e924 5ee0: 8d144670 00000020 00000023 8d3b0700 8d25a3fa 8d25e534 00000000 8d25c904 5f00: 00000000 8d26e84c 00000310 00000000 8d250a04 00000000 8d25e4e4 8d2d4000 5f20: b72d94e9 96c0cddb 95bbd2d9 b8a1b7c2 aa549930 4ef3051e eff57903 1962fe08 5f40: 2b65127e 6044b9f3 00000001 8d003004 00000000 00000000 00000000 00000000 5f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 8d2509a0 5f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5fa0: 00000000 8d2d5f68 8d003000 00000000 40000000 00000000 00000000 00000000 5fc0: 00000000 6033a383 3eacbffc 2be627df 98ed1a61 9f5e226d 24d82176 67aa977c 5fe0: 348e7859 997f1c93 7acaef95 d3d52f3c 6b60fe91 48bd67f7 939dbca6 dc27e45e Kernel panic - not syncing: Aiee, killing interrupt handler! _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ |
From: David H. <dho...@re...> - 2007-04-04 19:39:33
|
Kristoffer Ericson <kri...@ho...> wrote: > This is due to the changes in the workque.h layout. > I've tried to declare a struct delayed_work *ts_delay and used > &ts_delay->work instead of &work. But getting same error. Looking at the vanilla code: static DECLARE_WORK(work, do_softint, 0); should be: static DECLARE_DELAYED_WORK(work, do_softint, 0); David |
From: David H. <dho...@re...> - 2007-04-04 19:42:48
|
David Howells <dho...@re...> wrote: > > This is due to the changes in the workque.h layout. > > I've tried to declare a struct delayed_work *ts_delay and used > > &ts_delay->work instead of &work. But getting same error. > > Looking at the vanilla code: > > static DECLARE_WORK(work, do_softint, 0); > > should be: > > static DECLARE_DELAYED_WORK(work, do_softint, 0); Actually, no it shouldn't. It should be: static DECLARE_DELAYED_WORK(work, do_softint); And the do_softint function should be: static void do_softint(struct work_struct *work) David |
From: Kristoffer E. <kri...@ho...> - 2007-04-04 20:40:20
|
You are quite correct, got abit lost there. Big thanks for help. >From: David Howells <dho...@re...> >CC: "Kristoffer Ericson" <kri...@ho...>, >lin...@li... >Subject: Re: delayed_work issues Date: Wed, 04 Apr 2007 20:42:34 +0100 > >David Howells <dho...@re...> wrote: > > > > This is due to the changes in the workque.h layout. > > > I've tried to declare a struct delayed_work *ts_delay and used > > > &ts_delay->work instead of &work. But getting same error. > > > > Looking at the vanilla code: > > > > static DECLARE_WORK(work, do_softint, 0); > > > > should be: > > > > static DECLARE_DELAYED_WORK(work, do_softint, 0); > >Actually, no it shouldn't. It should be: > > static DECLARE_DELAYED_WORK(work, do_softint); > >And the do_softint function should be: > > static void do_softint(struct work_struct *work) > >David _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |