Gavin Atkinson wrote: > On Mon, 2006-05-15 at 19:15 -0700, Maxim Sobolev wrote: >> Gavin Atkinson wrote: >>> On Sun, 2006-05-14 at 23:24 -0700, Maxim Sobolev wrote: >>>> Søren Schmidt wrote: >>>>> On Tir, 2006-04-25 at 01:03 -0700, Maxim Sobolev wrote: >>>>>> Hi Søren, >>>>>> >>>>>> Attached please find small patch which adds support for 82801GBM/GHM >>>>>> SATA controller found in intel-based Macs, particularly in MacBook Pro. >>>>>> >>>>>> Please review & approve. >>>>> I'll look into it, I think Intel has a few other new chips I should add >>>>> in the same go, give me a few days... >>>> Any progress with this? Few days have turned into few weeks, and I don't >>>> want them turn into few months. :) >>> Be aware that I believe your patch is slightly wrong. As far as I can >>> tell the chip ID you've added is the non-AHCI version. I have the same >>> chip in my new Toshiba laptop, and submitted a more complete PR >>> (kern/97228) over the weekend. >> MacBook doesn't work with your patch - FreeBSD detects controller but >> doesn't see any disks attached to it. :( Putting AHCI back solves the >> problem. >> >> I wonder if Intel has shipped two different controllers with the same >> pci ids. > > Seems unlikely to me, Intel seem to love burning product IDs. I wonder > if it has anything to do with which disks are attached. My laptop > actually works with that set either to "AHCI" or "0", but I assumed that > was more of a by-product of the minimal AHCI support currently. AHCI support is fully working in 6.1/-current. >> Just in the case, attached is appropriate entry from pciconf -lv output: >> >> atapci1_at_pci0:31:2: class=0x01018f card=0x72708086 chip=0x27c48086 >> rev=0x02 hdr=0x00 >> vendor = 'Intel Corporation' >> device = '82801GBM/GHM (ICH7-M Family) Serial ATA Storage Controller' >> class = mass storage >> subclass = ATA >> >> And dmesg: >> >> atapci1: <Intel ICH7 SATA300 controller> port >> 0x40d8-0x40df,0x40f4-0x40f7,0x40d0-0x40d7,0x40f0-0x40f3,0x4020-0x402f >> mem 0x98405000-0x984053ff irq 19 at device 31.2 on pci0 >> ata2: <ATA channel 0> on atapci1 >> ata3: <ATA channel 1> on atapci1 >> ad5: 95396MB <Seagate ST910021AS 3.07> at ata2-slave SATA150 > > Mine looks like: > > atapci0_at_pci0:31:2: class=0x010180 card=0x00011179 chip=0x27c48086 rev=0x02 hdr=0x00 > vendor = 'Intel Corporation' > device = '82801GBM/GHM (ICH7-M Family) Serial ATA Storage Controller' > class = mass storage > subclass = ATA > > Note that the class is different. > > dmesg with the cfg1 flag set to 0: > atapci0: <Intel ICH7 SATA300 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x9f10-0x9f1f irq 19 at device 31.2 on pci0 > atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x9f10 > ata0: <ATA channel 0> on atapci0 > atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 > atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 > ata0: reset tp1 mask=01 ostat0=80 ostat1=00 > ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 > ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER> > ioapic0: routing intpin 14 (ISA IRQ 14) to vector 55 > ata0: [MPSAFE] > ata1: <ATA channel 1> on atapci0 > atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 > atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 > ata1: reset tp1 mask=01 ostat0=50 ostat1=00 > ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb > ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER> > ioapic0: routing intpin 15 (ISA IRQ 15) to vector 56 > ata1: [MPSAFE] > [...] > ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire > ad0: 76319MB <HTS541080G9SA00 MB4OC60D> at ata0-master SATA150 > ad0: 156301488 sectors [155061C/16H/63S] 16 sectors/interrupt 1 depth queue > ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire > acd0: <DVD/CDRW UJDA770/1.00> CDRW drive at ata1 as master > > dmesg with the cfg1 flag set to AHCI: > atapci0: <Intel ICH7 SATA300 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x9f10-0x9f1f irq 19 at device 31.2 on pci0 > atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x9f10 > atapci0: failed to enable memory mapping! > ata0: <ATA channel 0> on atapci0 > atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 > atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 > ata0: reset tp1 mask=03 ostat0=50 ostat1=00 > ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 > ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00 > ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER> > ioapic0: routing intpin 14 (ISA IRQ 14) to vector 55 > ata0: [MPSAFE] > ata1: <ATA channel 1> on atapci0 > atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 > atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 > ata1: reset tp1 mask=03 ostat0=50 ostat1=00 > ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb > ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 > ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER> > ioapic0: routing intpin 15 (ISA IRQ 15) to vector 56 > ata1: [MPSAFE] > [...] > ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire > ad0: 76319MB <HTS541080G9SA00 MB4OC60D> at ata0-master SATA150 > ad0: 156301488 sectors [155061C/16H/63S] 16 sectors/interrupt 1 depth queue > ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire > acd0: <DVD/CDRW UJDA770/1.00> CDRW drive at ata1 as master > > As far as I can tell, the only difference is the "atapci0: failed to > enable memory mapping!" line when I'm using the chipset as an AHCI > chipset. You are *not* using it in AHCI mode in any of the examples above, you need a memory resource which it states cannot be enabled... > So, as far as I'm concerned, AHCI works for my laptop, I'm just a little > wary (not really understanding AHCI) as to if this is safe or will > continue to work in the future, especially given the Intel docs seem to > suggest it is a non-AHCI PCI ID. AHCI mode is fully supported, hotplug and all and will continue to be that... -SørenReceived on Tue May 16 2006 - 14:51:47 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:55 UTC