sdiahci: assume 64-bit PCIWADDR()
This commit is contained in:
parent
5ea540e75d
commit
b2b2d2cb4c
1 changed files with 14 additions and 9 deletions
|
@ -21,7 +21,6 @@
|
|||
#define idprint(...) if(prid) print(__VA_ARGS__); else USED(prid)
|
||||
#define aprint(...) if(datapi) print(__VA_ARGS__); else USED(datapi)
|
||||
#define ledprint(...) if(dled) print(__VA_ARGS__); else USED(dled)
|
||||
#define Pciwaddrh(a) 0
|
||||
#define Tname(c) tname[(c)->type]
|
||||
#define Ticks MACHP(0)->ticks
|
||||
#define MS2TK(t) (((ulong)(t)*HZ)/1000)
|
||||
|
@ -284,20 +283,23 @@ mkalist(Aportm *m, uint flags, uchar *data, int len)
|
|||
Actab *t;
|
||||
Alist *l;
|
||||
Aprdt *p;
|
||||
uvlong pa;
|
||||
|
||||
t = m->ctab;
|
||||
if(data && len > 0){
|
||||
pa = PCIWADDR(data);
|
||||
p = &t->prdt;
|
||||
p->dba = PCIWADDR(data);
|
||||
p->dbahi = Pciwaddrh(data);
|
||||
p->dba = pa;
|
||||
p->dbahi = pa>>32;
|
||||
p->count = 1<<31 | len - 2 | 1;
|
||||
flags |= 1<<16;
|
||||
}
|
||||
pa = PCIWADDR(t);
|
||||
l = m->list;
|
||||
l->flags = flags | 0x5;
|
||||
l->len = 0;
|
||||
l->ctab = PCIWADDR(t);
|
||||
l->ctabhi = Pciwaddrh(t);
|
||||
l->ctab = pa;
|
||||
l->ctabhi = pa>>32;
|
||||
return l;
|
||||
}
|
||||
|
||||
|
@ -600,6 +602,7 @@ ahciwakeup(Aportc *c, uint mode)
|
|||
static int
|
||||
ahciconfigdrive(Ahba *h, Aportc *c, int mode)
|
||||
{
|
||||
uvlong pa;
|
||||
Aportm *m;
|
||||
Aport *p;
|
||||
int i;
|
||||
|
@ -618,10 +621,12 @@ ahciconfigdrive(Ahba *h, Aportc *c, int mode)
|
|||
return -1;
|
||||
}
|
||||
|
||||
p->list = PCIWADDR(m->list);
|
||||
p->listhi = Pciwaddrh(m->list);
|
||||
p->fis = PCIWADDR(m->fis.base);
|
||||
p->fishi = Pciwaddrh(m->fis.base);
|
||||
pa = PCIWADDR(m->list);
|
||||
p->list = pa;
|
||||
p->listhi = pa>>32;
|
||||
pa = PCIWADDR(m->fis.base);
|
||||
p->fis = pa;
|
||||
p->fishi = pa>>32;
|
||||
|
||||
p->cmd |= Afre;
|
||||
|
||||
|
|
Loading…
Reference in a new issue