This commit is contained in:
cinap_lenrek 2017-03-30 23:39:03 +02:00
commit 330916bfa5
4 changed files with 5 additions and 4 deletions

View file

@ -101,6 +101,7 @@ misc
sdodin pci sdscsi led sdodin pci sdscsi led
sdvirtio pci sdscsi sdvirtio pci sdscsi
sdmmc pci pmmc sdmmc pci pmmc
sdnvme pci
sdloop sdloop
vga3dfx +cur vga3dfx +cur

View file

@ -98,6 +98,7 @@ misc
sdodin pci sdscsi led sdodin pci sdscsi led
sdvirtio pci sdscsi sdvirtio pci sdscsi
sdmmc pci pmmc sdmmc pci pmmc
sdnvme pci
sdloop sdloop
uarti8250 uarti8250

View file

@ -165,7 +165,7 @@ nvmeintr(Ureg *, void *arg)
if(cq->base == nil) if(cq->base == nil)
continue; continue;
phaseshift = 16 - cq->shift; phaseshift = 16 - cq->shift;
for(;; cq->head++){ for(;;){
e = &cq->base[(cq->head & cq->mask)<<2]; e = &cq->base[(cq->head & cq->mask)<<2];
if(((e[3] ^ (cq->head << phaseshift)) & 0x10000) == 0) if(((e[3] ^ (cq->head << phaseshift)) & 0x10000) == 0)
break; break;
@ -183,11 +183,9 @@ nvmeintr(Ureg *, void *arg)
*wp = nil; *wp = nil;
wakeup(z); wakeup(z);
} }
ctlr->reg[DBell + ((cq-ctlr->cq)*2+1 << ctlr->dstrd)] = ++cq->head & cq->mask;
} }
ctlr->reg[DBell + ((cq-ctlr->cq)*2+1 << ctlr->dstrd)] = cq->head & cq->mask;
} }
if((ctlr->reg[CSts] & 3) != 1)
iprint("nvmeintr: fatal controller error\n");
ctlr->reg[IntMc] = ctlr->ints; ctlr->reg[IntMc] = ctlr->ints;
iunlock(&ctlr->intr); iunlock(&ctlr->intr);
} }

View file

@ -96,6 +96,7 @@ misc
# sdodin pci sdscsi led # sdodin pci sdscsi led
sdvirtio pci sdscsi sdvirtio pci sdscsi
sdmmc pci pmmc sdmmc pci pmmc
sdnvme pci
sdloop sdloop
uarti8250 uarti8250