ATA regression [PATCH]
Ruslan Ermilov
ru at FreeBSD.ORG
Tue Dec 28 03:06:50 PST 2004
On Mon, Dec 27, 2004 at 05:39:00PM +0100, S?ren Schmidt wrote:
> Ruslan Ermilov wrote:
>
> >>Hmm, on the exact same controller with two SATA drives on it and stock
> >>current it "just works" (tm) here, I cannot reproduce the problem...
> >>Are you sure its a stock GENERIC kernel with no local mods/patches ?
> >>
> >Yes. This is the Asus SK8N motherboard, but I only have one PATA
> >drive attached to 3rd (PATA) channel; first two channels (SATA)
> >don't have any drives attached. Can you check in this configuration?
>
>
> atapci0: <Promise PDC20378 SATA150 controller> port
> 0xb800-0xb87f,0xd000-0xd00f,0xd400-0xd43f mem
> 0xfc800000-0xfc81ffff,0xfd000000-0xfd000fff irq 18 at device 5.0 on pci0
> atapci0: failed: rid 0x20 is memory, requested 4
> ata2: channel #0 on atapci0
> ata3: channel #1 on atapci0
> ata4: channel #2 on atapci0
> ...
> atapci1: <ServerWorks ROSB4 UDMA33 controller> port
> 0xb000-0xb00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 15.1 on pci0
> ata0: channel #0 on atapci1
> ata1: channel #1 on atapci1
> ...
> ad0: 13042MB <IBM-DPTA-371360/P74OA30A> [26500/16/63] at ata0-master UDMA33
> acd0: DVDRAM <HITACHI GF-1000 B/I002> at ata0-slave PIO4
> afd0: REMOVABLE <LS-120 VER5 00 UHD Floppy/F515M59V> at ata1-master PIO3
> acd1: CDRW <GENERIC CRD-BP1400P/5.29> at ata1-slave PIO4
> ad1: 38166MB <ST340016A/3.19> [77545/16/63] at ata4-master UDMA100
>
> That works just as well...
>
OK, but the fact is that if I revert sys/dev/ata/ to just before
this change, with otherwise -CURRENT sources (except for keeping
atapi-cd.c at its current version), it all works perfectly again.
: sos 2004-12-08 10:02:41 UTC
:
: FreeBSD src repository
:
: Modified files:
: sys/dev/ata ata-chipset.c ata-pci.h
: Log:
: Add first shot on support for the new Promise SATAII chips.
:
: HW donated by: pil.dk
:
: Revision Changes Path
: 1.93 +109 -49 src/sys/dev/ata/ata-chipset.c
: 1.36 +10 -2 src/sys/dev/ata/ata-pci.h
So I analyzed what was changed in this ata-chipset.c revision
when it comes to my chip, and tried the following patch, and
it brought me back my ad8 drive:
%%%
Index: ata-chipset.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
retrieving revision 1.97
diff -u -p -r1.97 ata-chipset.c
--- ata-chipset.c 24 Dec 2004 13:36:04 -0000 1.97
+++ ata-chipset.c 28 Dec 2004 10:59:06 -0000
@@ -1607,7 +1607,7 @@ ata_promise_mio_reset(struct ata_channel
(ATA_INL(ctlr->r_res2, 0xc012c) & ~0x00000f9f));
mtx_unlock(&hpktp->mtx);
}
- else if (ctlr->chip->cfg2 & PRSATA) {
+ else if (ctlr->chip->cfg2 & (PRSATA | PRCMBO)) {
u_int32_t status = 0;
int timeout;
%%%
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20041228/a2096b0a/attachment.bin
More information about the freebsd-current
mailing list