Re: Remaining SATA (and other) issues TAKE 2



Søren, Alexander,

Alexander found the bug causing the data to be offset wrongly in my
last patch, this new one should fix that so we dont get disappearing
nodes etc, sorry about that :)

Please apply to clean releng_7 sources.

Let me know how it turns out.

I still test first on releng_6, but initial testing indicates
it solves my problems.
Thank you very much!

NB, I still get an error in ata_pci_attach() when
bus_alloc_resource_any() for ATA_BMADDR_RID :

pci0: child atapci0 requested type 4 for rid 0x20, but the BAR says it is an memio

When I retry with "ctlr->r_type1 = SYS_RES_MEMORY" (diff attached)
it says :

atapci0: Reserved 0x20000 bytes for rid 0x20 type 3 at 0xfba00000

which it anyway says as well a bit later when attaching :

ioapic0: routing intpin 18 (PCI IRQ 18) to vector 49
atapci0: [MPSAFE]
atapci0: Reserved 0x20000 bytes for rid 0x20 type 3 at 0xfba00000
atapci0: Reserved 0x1000 bytes for rid 0x1c type 3 at 0xfbb00000
atapci0: [MPSAFE]


Just if ever this info helps you; the failing bus_alloc_resource_any()
for ATA_BMADDR_RID does not seem to have any influence.

Once again thanx.

Best, Arno


Index: ata-pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.c,v
retrieving revision 1.105.2.6
diff -u -r1.105.2.6 ata-pci.c
--- ata-pci.c 9 Nov 2007 09:58:08 -0000 1.105.2.6
+++ ata-pci.c 11 Nov 2007 15:58:07 -0000
@@ -212,6 +212,17 @@
ctlr->r_rid1 = ATA_BMADDR_RID;
ctlr->r_res1 = bus_alloc_resource_any(dev, ctlr->r_type1, &ctlr->r_rid1,
RF_ACTIVE);
+ /* ARNO some bios + TX4 claim memio iso portio */
+ if ( (ctlr->r_res1 == NULL) && (ctlr->chip->chipid == ATA_PDC40718) ) {
+ device_printf(dev,
+ " ARNO TX4 fails ioport for rid %#x\n"
+ " retry with memio .. \n", ATA_BMADDR_RID);
+ ctlr->r_type1 = SYS_RES_MEMORY;
+ ctlr->r_res1 = bus_alloc_resource_any(dev, ctlr->r_type1,
+ &ctlr->r_rid1, RF_ACTIVE);
+ if (ctlr->r_res1 == NULL) device_printf(dev, " ARNO memio KO\n");
+ else device_printf(dev, " ARNO memio OK!\n");
+ }
}

if (ctlr->chipinit(dev))
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"

Relevant Pages

  • Re: Measure without tape measure.
    ... #3 Needs to be replaced with...Get a teenager to clean their room. ... Fix a dead outlet ... Clean a bolt-action rifle ... Hook up an HDTV ...
    (rec.woodworking)
  • another slow logon question(non common problem)
    ... i dont like bothering other people, i did my research first to try and fix ... Before i reinstalled my windows xp pro, ...
    (microsoft.public.windowsxp.general)
  • Help with slow logon
    ... i dont like bothering other people, i did my research first to try and fix ... Before i reinstalled my windows xp pro, ...
    (microsoft.public.windowsxp.general)
  • Re: [git] CFS-devel, group scheduler, fixes
    ... clean up schedstat block in dequeue_entity ... sched: sched_setschedulerfix ... sched: optimize vruntime based scheduling ... sched: simplify check_preemptmethods ...
    (Linux-Kernel)
  • Re: Texas Governor wants help
    ... Service is available between the hours of civil twilight and one hour ... Weather permitting. ... That it is wrong to try to clean up after other ... You dont even have a nym, ...
    (rec.crafts.metalworking)