Lines Matching refs:dd
47 * @dd: infinipath device
52 int ipath_enable_wc(struct ipath_devdata *dd)
57 const unsigned long addr = pci_resource_start(dd->pcidev, 0);
58 const size_t len = pci_resource_len(dd->pcidev, 0);
71 if (dd->ipath_piobcnt2k && dd->ipath_piobcnt4k) { /* 2 sizes */
73 pio2kbase = dd->ipath_piobufbase & 0xffffffffUL;
74 pio4kbase = (dd->ipath_piobufbase >> 32) & 0xffffffffUL;
78 dd->ipath_piobcnt4k * dd->ipath_4kalign;
82 dd->ipath_piobcnt2k * dd->ipath_palign;
85 pioaddr = addr + dd->ipath_piobufbase;
86 piolen = dd->ipath_piobcnt2k * dd->ipath_palign +
87 dd->ipath_piobcnt4k * dd->ipath_4kalign;
107 ipath_dev_err(dd, "No way to align address/size "
133 dev_info(&dd->pcidev->dev,
142 dd->ipath_wc_cookie = cookie;
143 dd->ipath_wc_base = (unsigned long) pioaddr;
144 dd->ipath_wc_len = (unsigned long) piolen;
153 * @dd: infinipath device
155 void ipath_disable_wc(struct ipath_devdata *dd)
157 if (dd->ipath_wc_cookie) {
160 r = mtrr_del(dd->ipath_wc_cookie, dd->ipath_wc_base,
161 dd->ipath_wc_len);
163 dev_info(&dd->pcidev->dev,
165 dd->ipath_wc_cookie, dd->ipath_wc_base,
166 dd->ipath_wc_len, r);
167 dd->ipath_wc_cookie = 0; /* even on failure */