Is the vger 2.2 kernel branch dead
VALETTE Eric
valette at crf.canon.fr
Fri Jul 23 01:53:48 EST 1999
>>>>> "Matt" == Matt Porter <mporter at phx.mcd.mot.com> writes:
Matt> On Thu, 22 Jul 1999, VALETTE Eric wrote:
>> >>>>> "Geert" == Geert Uytterhoeven <Geert.Uytterhoeven at cs.kuleuven.ac.be> writes:
>>
Geert> AFAIK Cort is not on vacation. He checks in patches at vger on a daily base.
>>
>> So why did I get no single comment on patches I submitted?
>> The Prep IDE handling is broken...
Matt> Define "PReP IDE handling is broken" because it isn't broken on systems
Matt> that use only the legacy PIC. I only see breakage on MPIC Mot. systems
Matt> here with positive results on PowerStacks etc...
No no. Ide Byte swapping is broken again for PREP machines and 2.2.10 kernel...
(same type of patch you've send months ago)...
*** ./arch/ppc/kernel/prep_setup.c~ Fri Jun 4 22:30:47 1999
--- ./arch/ppc/kernel/prep_setup.c Tue Jul 6 17:00:39 1999
***************
*** 629,641 ****
void
prep_ide_insw(ide_ioreg_t port, void *buf, int ns)
{
! _insw((unsigned short *)((port)+_IO_BASE), buf, ns);
}
void
prep_ide_outsw(ide_ioreg_t port, void *buf, int ns)
{
! _outsw((unsigned short *)((port)+_IO_BASE), buf, ns);
}
int
--- 629,641 ----
void
prep_ide_insw(ide_ioreg_t port, void *buf, int ns)
{
! ide_insw((unsigned short *)((port)+_IO_BASE), buf, ns);
}
void
prep_ide_outsw(ide_ioreg_t port, void *buf, int ns)
{
! ide_outsw((unsigned short *)((port)+_IO_BASE), buf, ns);
}
int
***************
*** 688,693 ****
--- 688,694 ----
void
prep_ide_fix_driveid(struct hd_driveid *id)
{
+ ppc_generic_ide_fix_driveid(id);
}
__initfunc(void
Matt> I assume you are referring to the MCP750 level inversion problem for one.
This problem is MCP750 specific and I did submit a patch for it...
Matt> The other problem is how the pci-ide driver snags interrupt 16 from the
Matt> PIB config space on all Mot. Raven/Hawk boards as the IDE interrupt. I've
Matt> got patches for these things. They are not in the patch that Johnnie sent
Matt> in because there is an outstanding issue of the MTX IDE driver hanging on
Matt> the partition check that I would like to fix as well (even though nobody
Matt> should be using IDE if they paid for an MTX :).
Here is my patch for the via + ide...
Pease note that as IDE interrupt source can be assigned directly
at via level, the ultimate patche is in the via speciifc driver
as I did...
*** ./drivers/block/via82c586.c~ Fri Nov 13 19:29:44 1998
--- ./drivers/block/via82c586.c Tue Jul 6 18:03:18 1999
***************
*** 82,86 ****
--- 82,106 ----
void ide_init_via82c586 (ide_hwif_t *hwif)
{
set_via_timings(hwif);
+ #ifdef __powerpc__
+ /*
+ * We are running in full DMA mode so we cannot use the PCI IRQ
+ * for both ide0 and ide1 (which would happen if the follwoing code
+ * was absent...)
+ *
+ * In theory we should go back and scan the PCI/ISA bridge PCI
+ * configuration register (function 0 while hwif->pci_dev is function 1)
+ * at offset 0x4a (IDE interrupt routing)
+ *
+ * The value below are the default value in the VIA doc...
+ */
+ if (!(strcmp(hwif->name, "ide0"))) {
+ hwif->irq = 14;
+ }
+ if (!(strcmp(hwif->name, "ide1"))) {
+ hwif->irq = 15;
+ }
+ #endif
+
}
*** ./drivers/block/ide-pci.c~ Mon Jan 25 06:54:35 1999
--- ./drivers/block/ide-pci.c Tue Jul 6 17:39:39 1999
***************
*** 346,353 ****
for (port = 0; port <= 1; ++port) {
unsigned long base = 0, ctl = 0;
ide_pci_enablebit_t *e = &(d->enablebits[port]);
if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val))
! continue; /* port not enabled */
if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE || (dev->class & (port ? 4 : 1)) != 0) {
ctl = dev->base_address[(2*port)+1] & PCI_BASE_ADDRESS_IO_MASK;
base = dev->base_address[2*port] & ~7;
--- 346,365 ----
for (port = 0; port <= 1; ++port) {
unsigned long base = 0, ctl = 0;
ide_pci_enablebit_t *e = &(d->enablebits[port]);
+ #ifndef __powerpc__
if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val))
! continue; /* port not enabled */
! #else
! if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val)) {
! pci_write_config_byte(dev, e->reg, tmp | e->val);
! if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val))
! printk("did not manage to enable port %d\n", port);
! }
! tmp = 0;
! pci_read_config_byte(dev, 0x9, &tmp);
! pci_write_config_byte(dev, 0x9, tmp | 0x1);
! pci_write_config_byte(dev, 0x3c, 0xf);
! #endif
if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE || (dev->class & (port ? 4 : 1)) != 0) {
ctl = dev->base_address[(2*port)+1] & PCI_BASE_ADDRESS_IO_MASK;
base = dev->base_address[2*port] & ~7;
--
__
/ ` Eric Valette
/-- __ o _. Canon CRF - Communication Dept
(___, / (_(_(__ Rue de la touche lambert
35517 Cesson-Sevigne Cedex
FRANCE
Tel: +33 (0)2 99 87 68 91 Fax: +33 (0)2 99 84 11 30
E-mail: valette at crf.canon.fr http://www.crf.canon.fr
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
More information about the Linuxppc-dev
mailing list