* Re: kernel pcmcia drivers/ide-cs stopped working in ben's tree at >= 2.4.16
2001-12-05 20:37 kernel pcmcia drivers/ide-cs stopped working in ben's tree at >= 2.4.16 Armando Di Cianno
@ 2001-12-05 23:27 ` Ira Weiny
0 siblings, 0 replies; 2+ messages in thread
From: Ira Weiny @ 2001-12-05 23:27 UTC (permalink / raw)
To: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 1908 bytes --]
On Wed, 05 Dec 2001 15:37:15 -0500
Armando Di Cianno <armando@nycap.rr.com> wrote:
>
> I'm running my own distro (mostly LFS style), and using ben's sources.
> Hardware is a 400Mhz G4 TiBook.
>
> In 2.4.14-ben0, and 2.4.15-pre6-ben0, after pcmcia services are started,
> dmesg reports the same happy information (these examples done with a 340Mb
> IBM microdrive, but the symptoms happen for my 8 and 32Mb CF cards, with the
> same pcmcia adaptor):
> cs: memory probe 0x80000000-0x80ffffff: excluding 0x80000000-0x800fffff
> hde: IBM-DMDM-10340, ATA DISK drive
> ide2 at 0x100-0x107,0x10e on irq 58
> ide-floppy driver 0.97.sv
> hde: 700560 sectors (359 MB) w/96KiB Cache, CHS=695/16/63
> /dev/ide/host2/bus0/target0/lun0: p1
> ide_cs: hde: Vcc = 3.3, Vpp = 0.0
>
> In 2.4.16-ben0, this is what dmesg reports:
> cs: memory probe 0x80000000-0x80ffffff: excluding 0x80000000-0x80ffffff
> cs: unable to map card memory!
> cs: unable to map card memory!
>
> In 2.4.17-pre2-ben0, in console mode, the laptop immeadiately shuts down; in
> X, the laptop freezes.
>
> I'm 99.9% sure my /etc/pcmcia/* info is correct (as it still works for older
> kernels, with all of the pcmcia-package version's I've tried). If these
> symptoms can help any of the ppc kernel hackers solve this problem, I'd be so
> very happy.
>
Well... I just did a diff of the files I modified to get my 1Gig Microdrive
working and I notice some differences.
Here are the diffs from my working kernel and an rsync of Ben's tree I did on
Dec 1.
I see that idecs_register has been removed in favor of ide_register?
I don't know why this was done. I don't have time to upgrade my kernel right
now but I will try later. What I do know is the "ide_disable_irq_on_probe" was
required because the 1Gig does not work with the std disable of IRQ's.
However, I think the 340Meg did?
Sorry I could not be of more help.
Ira Weiny
iweiny@acm.org
[-- Attachment #2: ide-cs.patch --]
[-- Type: application/octet-stream, Size: 993 bytes --]
45d44
< #include <linux/ide.h>
230,241d228
< int idecs_register (int arg1, int arg2, int irq)
< {
< hw_regs_t hw;
< ide_init_hwif_ports(&hw, (ide_ioreg_t) arg1, (ide_ioreg_t) arg2, NULL);
< hw.irq = irq;
< hw.chipset = ide_pci; // this enables IRQ sharing w/ PCI irqs
< return ide_register_hw(&hw, NULL);
< }
<
< /* IKW Microdrive mod */
< extern int ide_disable_irq_on_probe;
<
343,347d329
< /* IKW Microdrive mod */
< ide_disable_irq_on_probe = 1;
<
< outb(0x02, ctl_base); // Set nIEN = disable device interrupts
<
350c332
< hd = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ);
---
> hd = ide_register(io_base, ctl_base, link->irq.AssignedIRQ);
353,354c335,336
< hd = idecs_register(io_base+0x10, ctl_base+0x10,
< link->irq.AssignedIRQ);
---
> hd = ide_register(io_base+0x10, ctl_base+0x10,
> link->irq.AssignedIRQ);
363,365d344
<
< /* IKW Microdrive mod */
< ide_disable_irq_on_probe = 0;
[-- Attachment #3: ide-probe.patch --]
[-- Type: application/octet-stream, Size: 976 bytes --]
179,181d178
< /* IKW Microdrive mod */
< int ide_disable_irq_on_probe = 0;
<
219,224d215
< /* IKW Microdrive mod */
< if (ide_disable_irq_on_probe == 1)
< {
< disable_irq(HWIF(drive)->irq);
< }
<
230,234d220
< /* IKW Microdrive mod */
< if (ide_disable_irq_on_probe == 1)
< {
< enable_irq(HWIF(drive)->irq);
< }
244,248d229
< /* IKW Microdrive mod */
< if (ide_disable_irq_on_probe == 1)
< {
< enable_irq(HWIF(drive)->irq);
< }
265,271d245
<
< /* IKW Microdrive mod */
< if (ide_disable_irq_on_probe == 1)
< {
< enable_irq(HWIF(drive)->irq);
< }
<
808c782
< *max_ra++ = MAX_READAHEAD;
---
> *max_ra++ = vm_max_readahead;
[-- Attachment #4: ide.patch --]
[-- Type: application/octet-stream, Size: 334 bytes --]
2310d2309
< hwif->chipset = hw->chipset;
3397,3402d3395
< #ifdef CONFIG_BLK_DEV_CPCI405_IDE
< {
< extern void cpci405ide_init(void);
< cpci405ide_init();
< }
< #endif /* CONFIG_BLK_DEV_CPCI405_IDE */
3677,3680d3669
<
< /* IKW Microdrive mod */
< extern int ide_disable_irq_on_probe;
< EXPORT_SYMBOL(ide_disable_irq_on_probe);
^ permalink raw reply [flat|nested] 2+ messages in thread