Mercurial > illumos > git > illumos-gate
diff usr/src/uts/i86pc/io/rootnex.c @ 19431:5599be23ae32
12183 Want new IPD 13 DMA Cookie APIs
Reviewed by: Alex Wilson <alex@uq.edu.au>
Reviewed by: Paul Winder <paul@winders.demon.co.uk>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Garrett D'Amore <garrett@damore.org>
author | Robert Mustacchi <rm@fingolfin.org> |
---|---|
date | Wed, 18 Dec 2019 06:18:35 +0000 |
parents | 42631d95c231 |
children | 063a4bde1fa8 |
line wrap: on
line diff
--- a/usr/src/uts/i86pc/io/rootnex.c Wed Jan 22 16:05:13 2020 -0800 +++ b/usr/src/uts/i86pc/io/rootnex.c Wed Dec 18 06:18:35 2019 +0000 @@ -2186,6 +2186,8 @@ *ccountp = sinfo->si_sgl_size; hp->dmai_cookie++; hp->dmai_rflags &= ~DDI_DMA_PARTIAL; + hp->dmai_ncookies = *ccountp; + hp->dmai_curcookie = 1; ROOTNEX_DPROF_INC(&rootnex_cnt[ROOTNEX_CNT_ACTIVE_BINDS]); ROOTNEX_DPROBE4(rootnex__bind__fast, dev_info_t *, rdip, uint64_t, rootnex_cnt[ROOTNEX_CNT_ACTIVE_BINDS], @@ -2259,6 +2261,8 @@ } *cookiep = dma->dp_cookies[0]; hp->dmai_cookie++; + hp->dmai_ncookies = *ccountp; + hp->dmai_curcookie = 1; ROOTNEX_DPROF_INC(&rootnex_cnt[ROOTNEX_CNT_ACTIVE_BINDS]); ROOTNEX_DPROBE4(rootnex__bind__slow, dev_info_t *, rdip, uint64_t, @@ -2411,6 +2415,7 @@ hp->dmai_cookie = dma->dp_cookies; } hp->dmai_cookie++; + hp->dmai_curcookie = 1; } /*ARGSUSED*/ @@ -2671,6 +2676,10 @@ hp->dmai_error.err_status = DDI_FM_OK; hp->dmai_error.err_expected = DDI_FM_ERR_UNEXPECTED; hp->dmai_error.err_ontrap = NULL; + + /* Cookie tracking */ + hp->dmai_ncookies = 0; + hp->dmai_curcookie = 0; } @@ -4770,6 +4779,8 @@ *ccountp = dma->dp_sglinfo.si_sgl_size; *cookiep = hp->dmai_cookie[0]; hp->dmai_cookie++; + hp->dmai_ncookies = *ccountp; + hp->dmai_curcookie = 1; return (DDI_SUCCESS); } @@ -4865,6 +4876,8 @@ *lenp = window->wd_size; *ccountp = window->wd_cookie_cnt; *cookiep = hp->dmai_cookie[0]; + hp->dmai_ncookies = *ccountp; + hp->dmai_curcookie = 1; hp->dmai_cookie++; #if !defined(__amd64)