Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 10 Jul 2003 16:57:36 -0700 | From | Steven Dake <> | Subject | Re: IDE/Promise 20276 FastTrack RAID Doesn't work in 2.4.21, patchattached to fix |
| |
Bartlomiej Zolnierkiewicz wrote:
>It shouldn't matter. > >Look at the code in setup-pci.c: > > ide_pci_enablebit_t *e = &(d->enablebits[port]); > >If CONFIG_PDC202XX_FORCE=y d->enablebits will be { 0x00, 0x00, 0x00 } >for both ports, now look at drivers/ide/setup-pci.c: > > /* > * If this is a Promise FakeRaid controller, > * the 2nd controller will be marked as > * disabled while it is actually there and enabled > * by the bios for raid purposes. > * Skip the normal "is it enabled" test for those. > */ > if (((d->vendor == PCI_VENDOR_ID_PROMISE) && > ((d->device == PCI_DEVICE_ID_PROMISE_20262) || > (d->device == PCI_DEVICE_ID_PROMISE_20265))) && > (secondpdc++==1) && (port==1)) > goto controller_ok; > > if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || > (tmp & e->mask) != e->val)) > continue; /* port not enabled */ > >controller_ok: > >So if e = { 0x00, 0x00, 0x00 } test above (for enabled port) should fail, >no need for your patch. > >Can you put printks inside this code to see what are values >of e->reg, e->mask and e->val? > > Your right, I tried printks of those values, and they are all zero. Now with fasttrack special feature enabled, my kernel boots without the PDC patch I sent earlier. After I reconfigured the kernel in my previous tests, the kernel build system must not have build the source files a new.
Thanks for all the help.
And atleast we got the help in the kernel config straightened out:) -steve
>On Thu, 10 Jul 2003, Samuel Flory wrote: > > > > >>Steven Dake wrote: >> >> >> >>>Even with special fasttrack feature enabled, my disk devices on the >>>PDC20276 is not found. There is code in pci-setup.c which blocks >>>other PDC controllers, why not the 20276? Is that code for some other >>>purpose, or orthagonal to the force option? >>> >>> >> The comments would seem to indicate that this is only needed if you >>have a second controller. Which leads me to wonder what if I have 3 or >>4 pdc controllers. >> >> for (port = 0; port <= 1; ++port) { >> ide_pci_enablebit_t *e = &(d->enablebits[port]); >> >> /* >> * If this is a Promise FakeRaid controller, >> * the 2nd controller will be marked as >> * disabled while it is actually there and enabled >> * by the bios for raid purposes. >> * Skip the normal "is it enabled" test for those. >> */ >> if (((d->vendor == PCI_VENDOR_ID_PROMISE) && >> ((d->device == PCI_DEVICE_ID_PROMISE_20262) || >> (d->device == PCI_DEVICE_ID_PROMISE_20265))) && >> (secondpdc++==1) && (port==1)) >> goto controller_ok; >> >> > >I think this workaround was added before "Special FastTrack Feature" >option. Andre? >-- >Bartlomiej > > > > > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |