change the default assumption. assume that any unknown ahci device will work. Reference: /n/atom/patch/applied2013/ahcidefaultok Date: Wed Nov 20 00:19:05 CET 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/9/pc/sdiahci.c Wed Nov 20 00:17:41 2013 +++ /sys/src/9/pc/sdiahci.c Wed Nov 20 00:17:41 2013 @@ -2025,7 +2025,7 @@ type = Tahci; switch(p->vid){ default: - return -1; + break; case 0x8086: for(i = 0; i < nelem(itab); i += 3) if((p->did & itab[i]) == itab[i+1]) @@ -2045,11 +2045,6 @@ if(p->did == 0x3349) return Tahci; break; - case 0x10de: - case 0x1039: - case 0x1b4b: - case 0x11ab: - break; case 0x197b: case 0x10b9: type = Tjmicron; @@ -2090,7 +2085,8 @@ s = sdevs + niactlr; memset(c, 0, sizeof *c); memset(s, 0, sizeof *s); - io = p->mem[Abar].bar & ~0xf; + c->type = cttab + type; + io = p->mem[Abar].bar & ~(uintmem)0xf; c->mmio = vmap(io, p->mem[Abar].size); if(c->mmio == nil){ print("%s: %T: address %#P in use\n", @@ -2099,7 +2095,6 @@ } c->lmmio = (u32int*)c->mmio; c->pci = p; - c->type = cttab + type; s->ifc = &sdiahciifc; s->idno = 'E'; --- /sys/src/9/pcpae/sdiahci.c Wed Nov 20 00:17:41 2013 +++ /sys/src/9/pcpae/sdiahci.c Wed Nov 20 00:17:42 2013 @@ -2025,7 +2025,7 @@ type = Tahci; switch(p->vid){ default: - return -1; + break; case 0x8086: for(i = 0; i < nelem(itab); i += 3) if((p->did & itab[i]) == itab[i+1]) @@ -2045,11 +2045,6 @@ if(p->did == 0x3349) return Tahci; break; - case 0x10de: - case 0x1039: - case 0x1b4b: - case 0x11ab: - break; case 0x197b: case 0x10b9: type = Tjmicron; @@ -2090,7 +2085,8 @@ s = sdevs + niactlr; memset(c, 0, sizeof *c); memset(s, 0, sizeof *s); - io = p->mem[Abar].bar & ~0xf; + c->type = cttab + type; + io = p->mem[Abar].bar & ~(uintmem)0xf; c->mmio = vmap(io, p->mem[Abar].size); if(c->mmio == nil){ print("%s: %T: address %#P in use\n", @@ -2099,7 +2095,6 @@ } c->lmmio = (u32int*)c->mmio; c->pci = p; - c->type = cttab + type; s->ifc = &sdiahciifc; s->idno = 'E'; --- /sys/src/nix/k10/sdahci.c Wed Nov 20 00:17:42 2013 +++ /sys/src/nix/k10/sdahci.c Wed Nov 20 00:17:42 2013 @@ -1774,7 +1774,7 @@ type = Tahci; switch(p->vid){ default: - return -1; + break; case 0x8086: for(i = 0; i < nelem(itab); i += 3) if((p->did & itab[i]) == itab[i+1]) @@ -1793,11 +1793,6 @@ */ if(p->did == 0x3349) return Tahci; - break; - case 0x10de: - case 0x1039: - case 0x1b4b: - case 0x11ab: break; case 0x197b: case 0x10b9: