Lines Matching refs:count
343 int count;
356 for (count = 0; address[count]; count++) { /* for 6 BARs */
363 PCI_BASE_ADDRESS_0 + 4 * count, &tmp);
366 PCI_BASE_ADDRESS_0 + 4 * count, 0xFFFFFFFD);
369 PCI_BASE_ADDRESS_0 + 4 * count, 0xFFFFFFFF);
371 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFF);
372 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
374 if (!bar[count]) /* This BAR is not implemented */
377 debug("Device %x BAR %d wants %x\n", func->device, count, bar[count]);
379 if (bar[count] & PCI_BASE_ADDRESS_SPACE_IO) {
383 len[count] = bar[count] & 0xFFFFFFFC;
384 len[count] = ~len[count] + 1;
386 debug("len[count] in IO %x, count %d\n", len[count], count);
388 io[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
390 if (!io[count])
393 io[count]->type = IO;
394 io[count]->busno = func->busno;
395 io[count]->devfunc = PCI_DEVFN(func->device, func->function);
396 io[count]->len = len[count];
397 if (ibmphp_check_resource(io[count], 0) == 0) {
398 ibmphp_add_resource(io[count]);
399 func->io[count] = io[count];
402 func->busno, func->device, func->function, len[count]);
403 kfree(io[count]);
406 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->io[count]->start);
409 debug("b4 writing, the IO address is %x\n", func->io[count]->start);
410 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
411 debug("after writing.... the start address is %x\n", bar[count]);
416 if (bar[count] & PCI_BASE_ADDRESS_MEM_PREFETCH) {
420 len[count] = bar[count] & 0xFFFFFFF0;
421 len[count] = ~len[count] + 1;
423 debug("len[count] in PFMEM %x, count %d\n", len[count], count);
425 pfmem[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
426 if (!pfmem[count])
429 pfmem[count]->type = PFMEM;
430 pfmem[count]->busno = func->busno;
431 pfmem[count]->devfunc = PCI_DEVFN(func->device,
433 pfmem[count]->len = len[count];
434 pfmem[count]->fromMem = 0;
435 if (ibmphp_check_resource(pfmem[count], 0) == 0) {
436 ibmphp_add_resource(pfmem[count]);
437 func->pfmem[count] = pfmem[count];
441 kfree(pfmem[count]);
445 mem_tmp->busno = pfmem[count]->busno;
446 mem_tmp->devfunc = pfmem[count]->devfunc;
447 mem_tmp->len = pfmem[count]->len;
451 pfmem[count]->fromMem = 1;
452 pfmem[count]->rangeno = mem_tmp->rangeno;
453 pfmem[count]->start = mem_tmp->start;
454 pfmem[count]->end = mem_tmp->end;
455 ibmphp_add_pfmem_from_mem(pfmem[count]);
456 func->pfmem[count] = pfmem[count];
459 func->busno, func->device, len[count]);
461 kfree(pfmem[count]);
466 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->pfmem[count]->start);
469 debug("b4 writing, start address is %x\n", func->pfmem[count]->start);
470 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
471 debug("after writing, start address is %x\n", bar[count]);
474 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64) { /* takes up another dword */
475 debug("inside the mem 64 case, count %d\n", count);
476 count += 1;
478 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0x00000000);
484 len[count] = bar[count] & 0xFFFFFFF0;
485 len[count] = ~len[count] + 1;
487 debug("len[count] in Mem %x, count %d\n", len[count], count);
489 mem[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
490 if (!mem[count])
493 mem[count]->type = MEM;
494 mem[count]->busno = func->busno;
495 mem[count]->devfunc = PCI_DEVFN(func->device,
497 mem[count]->len = len[count];
498 if (ibmphp_check_resource(mem[count], 0) == 0) {
499 ibmphp_add_resource(mem[count]);
500 func->mem[count] = mem[count];
503 func->busno, func->device, len[count]);
504 kfree(mem[count]);
507 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->mem[count]->start);
509 debug("b4 writing, start address is %x\n", func->mem[count]->start);
510 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
511 debug("after writing, the address is %x\n", bar[count]);
514 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64) {
516 debug("inside mem 64 case, reg. mem, count %d\n", count);
517 count += 1;
519 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0x00000000);
546 int count;
632 for (count = 0; address[count]; count++) { /* for 2 BARs */
633 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFF);
634 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
636 if (!bar[count]) {
638 debug("so we come here then, eh?, count = %d\n", count);
641 // tmp_bar = bar[count];
643 debug("Bar %d wants %x\n", count, bar[count]);
645 if (bar[count] & PCI_BASE_ADDRESS_SPACE_IO) {
647 len[count] = bar[count] & 0xFFFFFFFC;
648 len[count] = ~len[count] + 1;
650 debug("len[count] in IO = %x\n", len[count]);
652 bus_io[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
654 if (!bus_io[count]) {
658 bus_io[count]->type = IO;
659 bus_io[count]->busno = func->busno;
660 bus_io[count]->devfunc = PCI_DEVFN(func->device,
662 bus_io[count]->len = len[count];
663 if (ibmphp_check_resource(bus_io[count], 0) == 0) {
664 ibmphp_add_resource(bus_io[count]);
665 func->io[count] = bus_io[count];
668 func->busno, func->device, len[count]);
669 kfree(bus_io[count]);
673 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->io[count]->start);
677 if (bar[count] & PCI_BASE_ADDRESS_MEM_PREFETCH) {
679 len[count] = bar[count] & 0xFFFFFFF0;
680 len[count] = ~len[count] + 1;
682 debug("len[count] in PFMEM = %x\n", len[count]);
684 bus_pfmem[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
685 if (!bus_pfmem[count]) {
689 bus_pfmem[count]->type = PFMEM;
690 bus_pfmem[count]->busno = func->busno;
691 bus_pfmem[count]->devfunc = PCI_DEVFN(func->device,
693 bus_pfmem[count]->len = len[count];
694 bus_pfmem[count]->fromMem = 0;
695 if (ibmphp_check_resource(bus_pfmem[count], 0) == 0) {
696 ibmphp_add_resource(bus_pfmem[count]);
697 func->pfmem[count] = bus_pfmem[count];
705 mem_tmp->busno = bus_pfmem[count]->busno;
706 mem_tmp->devfunc = bus_pfmem[count]->devfunc;
707 mem_tmp->len = bus_pfmem[count]->len;
710 bus_pfmem[count]->fromMem = 1;
711 bus_pfmem[count]->rangeno = mem_tmp->rangeno;
712 ibmphp_add_pfmem_from_mem(bus_pfmem[count]);
713 func->pfmem[count] = bus_pfmem[count];
716 func->busno, func->device, len[count]);
718 kfree(bus_pfmem[count]);
723 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->pfmem[count]->start);
725 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64) {
727 count += 1;
729 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0x00000000);
734 len[count] = bar[count] & 0xFFFFFFF0;
735 len[count] = ~len[count] + 1;
737 debug("len[count] in Memory is %x\n", len[count]);
739 bus_mem[count] = kzalloc(sizeof(struct resource_node), GFP_KERNEL);
740 if (!bus_mem[count]) {
744 bus_mem[count]->type = MEM;
745 bus_mem[count]->busno = func->busno;
746 bus_mem[count]->devfunc = PCI_DEVFN(func->device,
748 bus_mem[count]->len = len[count];
749 if (ibmphp_check_resource(bus_mem[count], 0) == 0) {
750 ibmphp_add_resource(bus_mem[count]);
751 func->mem[count] = bus_mem[count];
754 func->busno, func->device, len[count]);
755 kfree(bus_mem[count]);
759 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], func->mem[count]->start);
761 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64) {
763 count += 1;
765 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0x00000000);
786 for (count = 0; address[count]; count++) {
788 if (bus_io[count]) {
789 ibmphp_remove_resource(bus_io[count]);
790 func->io[count] = NULL;
791 } else if (bus_pfmem[count]) {
792 ibmphp_remove_resource(bus_pfmem[count]);
793 func->pfmem[count] = NULL;
794 } else if (bus_mem[count]) {
795 ibmphp_remove_resource(bus_mem[count]);
796 func->mem[count] = NULL;
1049 int count, len[6];
1110 for (count = 0; address[count]; count++) {
1113 pci_bus_read_config_byte(ibmphp_pci_bus, devfn, address[count], &tmp);
1115 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFD);
1117 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFF);
1119 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFF);
1120 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &bar[count]);
1122 debug("what is bar[count]? %x, count = %d\n", bar[count], count);
1124 if (!bar[count]) /* This BAR is not implemented */
1127 //tmp_bar = bar[count];
1129 debug("count %d device %x function %x wants %x resources\n", count, device, function, bar[count]);
1131 if (bar[count] & PCI_BASE_ADDRESS_SPACE_IO) {
1133 len[count] = bar[count] & 0xFFFFFFFC;
1134 len[count] = ~len[count] + 1;
1135 amount->io += len[count];
1138 if (bar[count] & PCI_BASE_ADDRESS_MEM_PREFETCH) {
1140 len[count] = bar[count] & 0xFFFFFFF0;
1141 len[count] = ~len[count] + 1;
1142 amount->pfmem += len[count];
1143 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64)
1145 count += 1;
1149 len[count] = bar[count] & 0xFFFFFFF0;
1150 len[count] = ~len[count] + 1;
1151 amount->mem += len[count];
1152 if (bar[count] & PCI_BASE_ADDRESS_MEM_TYPE_64) {
1154 count += 1;
1195 int count;
1216 for (count = 0; address[count]; count++) { /* for 6 BARs */
1217 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &start_address);
1221 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], 0xFFFFFFFF);
1222 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &size);
1223 pci_bus_write_config_dword(ibmphp_pci_bus, devfn, address[count], start_address);
1229 debug("is this bar no implemented?, count = %d\n", count);
1292 count += 1;
1306 int count;
1355 for (count = 0; address[count]; count++) {
1357 pci_bus_read_config_dword(ibmphp_pci_bus, devfn, address[count], &start_address);
1408 count += 1;
1536 int count;
1559 count = 2;
1561 count = 6;
1564 for (i = 0; i < count; i++) {