Lines Matching refs:ioatdca

141 	struct ioat_dca_priv *ioatdca = dca_priv(dca);  in ioat_dca_add_requester()  local
152 if (ioatdca->requester_count == ioatdca->max_requesters) in ioat_dca_add_requester()
155 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat_dca_add_requester()
156 if (ioatdca->req_slots[i].pdev == NULL) { in ioat_dca_add_requester()
158 ioatdca->requester_count++; in ioat_dca_add_requester()
159 ioatdca->req_slots[i].pdev = pdev; in ioat_dca_add_requester()
160 ioatdca->req_slots[i].rid = id; in ioat_dca_add_requester()
161 writew(id, ioatdca->dca_base + (i * 4)); in ioat_dca_add_requester()
163 writeb(0, ioatdca->dca_base + (i * 4) + 2); in ioat_dca_add_requester()
174 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat_dca_remove_requester() local
183 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat_dca_remove_requester()
184 if (ioatdca->req_slots[i].pdev == pdev) { in ioat_dca_remove_requester()
185 writew(0, ioatdca->dca_base + (i * 4)); in ioat_dca_remove_requester()
186 ioatdca->req_slots[i].pdev = NULL; in ioat_dca_remove_requester()
187 ioatdca->req_slots[i].rid = 0; in ioat_dca_remove_requester()
188 ioatdca->requester_count--; in ioat_dca_remove_requester()
199 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat_dca_get_tag() local
207 entry = ioatdca->tag_map[i]; in ioat_dca_get_tag()
222 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat_dca_dev_managed() local
227 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat_dca_dev_managed()
228 if (ioatdca->req_slots[i].pdev == pdev) in ioat_dca_dev_managed()
245 struct ioat_dca_priv *ioatdca; in ioat_dca_init() local
288 sizeof(*ioatdca) + in ioat_dca_init()
293 ioatdca = dca_priv(dca); in ioat_dca_init()
294 ioatdca->max_requesters = max_requesters; in ioat_dca_init()
295 ioatdca->dca_base = iobase + 0x54; in ioat_dca_init()
299 ioatdca->tag_map[i] = tag_map[i]; in ioat_dca_init()
313 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat2_dca_add_requester() local
325 if (ioatdca->requester_count == ioatdca->max_requesters) in ioat2_dca_add_requester()
328 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat2_dca_add_requester()
329 if (ioatdca->req_slots[i].pdev == NULL) { in ioat2_dca_add_requester()
331 ioatdca->requester_count++; in ioat2_dca_add_requester()
332 ioatdca->req_slots[i].pdev = pdev; in ioat2_dca_add_requester()
333 ioatdca->req_slots[i].rid = id; in ioat2_dca_add_requester()
335 readw(ioatdca->dca_base + IOAT_DCA_GREQID_OFFSET); in ioat2_dca_add_requester()
337 ioatdca->iobase + global_req_table + (i * 4)); in ioat2_dca_add_requester()
348 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat2_dca_remove_requester() local
358 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat2_dca_remove_requester()
359 if (ioatdca->req_slots[i].pdev == pdev) { in ioat2_dca_remove_requester()
361 readw(ioatdca->dca_base + IOAT_DCA_GREQID_OFFSET); in ioat2_dca_remove_requester()
362 writel(0, ioatdca->iobase + global_req_table + (i * 4)); in ioat2_dca_remove_requester()
363 ioatdca->req_slots[i].pdev = NULL; in ioat2_dca_remove_requester()
364 ioatdca->req_slots[i].rid = 0; in ioat2_dca_remove_requester()
365 ioatdca->requester_count--; in ioat2_dca_remove_requester()
410 struct ioat_dca_priv *ioatdca; in ioat2_dca_init() local
432 sizeof(*ioatdca) in ioat2_dca_init()
437 ioatdca = dca_priv(dca); in ioat2_dca_init()
438 ioatdca->iobase = iobase; in ioat2_dca_init()
439 ioatdca->dca_base = iobase + dca_offset; in ioat2_dca_init()
440 ioatdca->max_requesters = slots; in ioat2_dca_init()
443 csi_fsb_control = readw(ioatdca->dca_base + IOAT_FSB_CAP_ENABLE_OFFSET); in ioat2_dca_init()
447 ioatdca->dca_base + IOAT_FSB_CAP_ENABLE_OFFSET); in ioat2_dca_init()
449 pcie_control = readw(ioatdca->dca_base + IOAT_PCI_CAP_ENABLE_OFFSET); in ioat2_dca_init()
453 ioatdca->dca_base + IOAT_PCI_CAP_ENABLE_OFFSET); in ioat2_dca_init()
460 tag_map = readl(ioatdca->dca_base + IOAT_APICID_TAG_MAP_OFFSET); in ioat2_dca_init()
464 ioatdca->tag_map[i] = bit | DCA_TAG_MAP_VALID; in ioat2_dca_init()
466 ioatdca->tag_map[i] = 0; in ioat2_dca_init()
469 if (!dca2_tag_map_valid(ioatdca->tag_map)) { in ioat2_dca_init()
489 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat3_dca_add_requester() local
501 if (ioatdca->requester_count == ioatdca->max_requesters) in ioat3_dca_add_requester()
504 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat3_dca_add_requester()
505 if (ioatdca->req_slots[i].pdev == NULL) { in ioat3_dca_add_requester()
507 ioatdca->requester_count++; in ioat3_dca_add_requester()
508 ioatdca->req_slots[i].pdev = pdev; in ioat3_dca_add_requester()
509 ioatdca->req_slots[i].rid = id; in ioat3_dca_add_requester()
511 readw(ioatdca->dca_base + IOAT3_DCA_GREQID_OFFSET); in ioat3_dca_add_requester()
513 ioatdca->iobase + global_req_table + (i * 4)); in ioat3_dca_add_requester()
524 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat3_dca_remove_requester() local
534 for (i = 0; i < ioatdca->max_requesters; i++) { in ioat3_dca_remove_requester()
535 if (ioatdca->req_slots[i].pdev == pdev) { in ioat3_dca_remove_requester()
537 readw(ioatdca->dca_base + IOAT3_DCA_GREQID_OFFSET); in ioat3_dca_remove_requester()
538 writel(0, ioatdca->iobase + global_req_table + (i * 4)); in ioat3_dca_remove_requester()
539 ioatdca->req_slots[i].pdev = NULL; in ioat3_dca_remove_requester()
540 ioatdca->req_slots[i].rid = 0; in ioat3_dca_remove_requester()
541 ioatdca->requester_count--; in ioat3_dca_remove_requester()
554 struct ioat_dca_priv *ioatdca = dca_priv(dca); in ioat3_dca_get_tag() local
562 entry = ioatdca->tag_map[i]; in ioat3_dca_get_tag()
624 struct ioat_dca_priv *ioatdca; in ioat3_dca_init() local
653 sizeof(*ioatdca) in ioat3_dca_init()
658 ioatdca = dca_priv(dca); in ioat3_dca_init()
659 ioatdca->iobase = iobase; in ioat3_dca_init()
660 ioatdca->dca_base = iobase + dca_offset; in ioat3_dca_init()
661 ioatdca->max_requesters = slots; in ioat3_dca_init()
664 csi_fsb_control = readw(ioatdca->dca_base + IOAT3_CSI_CONTROL_OFFSET); in ioat3_dca_init()
668 ioatdca->dca_base + IOAT3_CSI_CONTROL_OFFSET); in ioat3_dca_init()
670 pcie_control = readw(ioatdca->dca_base + IOAT3_PCI_CONTROL_OFFSET); in ioat3_dca_init()
674 ioatdca->dca_base + IOAT3_PCI_CONTROL_OFFSET); in ioat3_dca_init()
682 readl(ioatdca->dca_base + IOAT3_APICID_TAG_MAP_OFFSET_LOW); in ioat3_dca_init()
684 readl(ioatdca->dca_base + IOAT3_APICID_TAG_MAP_OFFSET_HIGH); in ioat3_dca_init()
687 ioatdca->tag_map[i] = bit & DCA_TAG_MAP_MASK; in ioat3_dca_init()
690 if (dca3_tag_map_invalid(ioatdca->tag_map)) { in ioat3_dca_init()