aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/pci_endpoint_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/pci_endpoint_test.c')
-rw-r--r--drivers/misc/pci_endpoint_test.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c
index fe8897e64635..7b370466a227 100644
--- a/drivers/misc/pci_endpoint_test.c
+++ b/drivers/misc/pci_endpoint_test.c
@@ -203,7 +203,7 @@ static bool pci_endpoint_test_msi_irq(struct pci_endpoint_test *test,
203 if (!val) 203 if (!val)
204 return false; 204 return false;
205 205
206 if (test->last_irq - pdev->irq == msi_num - 1) 206 if (pci_irq_vector(pdev, msi_num - 1) == test->last_irq)
207 return true; 207 return true;
208 208
209 return false; 209 return false;
@@ -233,7 +233,7 @@ static bool pci_endpoint_test_copy(struct pci_endpoint_test *test, size_t size)
233 orig_src_addr = dma_alloc_coherent(dev, size + alignment, 233 orig_src_addr = dma_alloc_coherent(dev, size + alignment,
234 &orig_src_phys_addr, GFP_KERNEL); 234 &orig_src_phys_addr, GFP_KERNEL);
235 if (!orig_src_addr) { 235 if (!orig_src_addr) {
236 dev_err(dev, "failed to allocate source buffer\n"); 236 dev_err(dev, "Failed to allocate source buffer\n");
237 ret = false; 237 ret = false;
238 goto err; 238 goto err;
239 } 239 }
@@ -259,7 +259,7 @@ static bool pci_endpoint_test_copy(struct pci_endpoint_test *test, size_t size)
259 orig_dst_addr = dma_alloc_coherent(dev, size + alignment, 259 orig_dst_addr = dma_alloc_coherent(dev, size + alignment,
260 &orig_dst_phys_addr, GFP_KERNEL); 260 &orig_dst_phys_addr, GFP_KERNEL);
261 if (!orig_dst_addr) { 261 if (!orig_dst_addr) {
262 dev_err(dev, "failed to allocate destination address\n"); 262 dev_err(dev, "Failed to allocate destination address\n");
263 ret = false; 263 ret = false;
264 goto err_orig_src_addr; 264 goto err_orig_src_addr;
265 } 265 }
@@ -321,7 +321,7 @@ static bool pci_endpoint_test_write(struct pci_endpoint_test *test, size_t size)
321 orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr, 321 orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
322 GFP_KERNEL); 322 GFP_KERNEL);
323 if (!orig_addr) { 323 if (!orig_addr) {
324 dev_err(dev, "failed to allocate address\n"); 324 dev_err(dev, "Failed to allocate address\n");
325 ret = false; 325 ret = false;
326 goto err; 326 goto err;
327 } 327 }
@@ -382,7 +382,7 @@ static bool pci_endpoint_test_read(struct pci_endpoint_test *test, size_t size)
382 orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr, 382 orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
383 GFP_KERNEL); 383 GFP_KERNEL);
384 if (!orig_addr) { 384 if (!orig_addr) {
385 dev_err(dev, "failed to allocate destination address\n"); 385 dev_err(dev, "Failed to allocate destination address\n");
386 ret = false; 386 ret = false;
387 goto err; 387 goto err;
388 } 388 }
@@ -513,31 +513,31 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
513 if (!no_msi) { 513 if (!no_msi) {
514 irq = pci_alloc_irq_vectors(pdev, 1, 32, PCI_IRQ_MSI); 514 irq = pci_alloc_irq_vectors(pdev, 1, 32, PCI_IRQ_MSI);
515 if (irq < 0) 515 if (irq < 0)
516 dev_err(dev, "failed to get MSI interrupts\n"); 516 dev_err(dev, "Failed to get MSI interrupts\n");
517 test->num_irqs = irq; 517 test->num_irqs = irq;
518 } 518 }
519 519
520 err = devm_request_irq(dev, pdev->irq, pci_endpoint_test_irqhandler, 520 err = devm_request_irq(dev, pdev->irq, pci_endpoint_test_irqhandler,
521 IRQF_SHARED, DRV_MODULE_NAME, test); 521 IRQF_SHARED, DRV_MODULE_NAME, test);
522 if (err) { 522 if (err) {
523 dev_err(dev, "failed to request IRQ %d\n", pdev->irq); 523 dev_err(dev, "Failed to request IRQ %d\n", pdev->irq);
524 goto err_disable_msi; 524 goto err_disable_msi;
525 } 525 }
526 526
527 for (i = 1; i < irq; i++) { 527 for (i = 1; i < irq; i++) {
528 err = devm_request_irq(dev, pdev->irq + i, 528 err = devm_request_irq(dev, pci_irq_vector(pdev, i),
529 pci_endpoint_test_irqhandler, 529 pci_endpoint_test_irqhandler,
530 IRQF_SHARED, DRV_MODULE_NAME, test); 530 IRQF_SHARED, DRV_MODULE_NAME, test);
531 if (err) 531 if (err)
532 dev_err(dev, "failed to request IRQ %d for MSI %d\n", 532 dev_err(dev, "failed to request IRQ %d for MSI %d\n",
533 pdev->irq + i, i + 1); 533 pci_irq_vector(pdev, i), i + 1);
534 } 534 }
535 535
536 for (bar = BAR_0; bar <= BAR_5; bar++) { 536 for (bar = BAR_0; bar <= BAR_5; bar++) {
537 if (pci_resource_flags(pdev, bar) & IORESOURCE_MEM) { 537 if (pci_resource_flags(pdev, bar) & IORESOURCE_MEM) {
538 base = pci_ioremap_bar(pdev, bar); 538 base = pci_ioremap_bar(pdev, bar);
539 if (!base) { 539 if (!base) {
540 dev_err(dev, "failed to read BAR%d\n", bar); 540 dev_err(dev, "Failed to read BAR%d\n", bar);
541 WARN_ON(bar == test_reg_bar); 541 WARN_ON(bar == test_reg_bar);
542 } 542 }
543 test->bar[bar] = base; 543 test->bar[bar] = base;
@@ -557,7 +557,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
557 id = ida_simple_get(&pci_endpoint_test_ida, 0, 0, GFP_KERNEL); 557 id = ida_simple_get(&pci_endpoint_test_ida, 0, 0, GFP_KERNEL);
558 if (id < 0) { 558 if (id < 0) {
559 err = id; 559 err = id;
560 dev_err(dev, "unable to get id\n"); 560 dev_err(dev, "Unable to get id\n");
561 goto err_iounmap; 561 goto err_iounmap;
562 } 562 }
563 563
@@ -573,7 +573,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
573 573
574 err = misc_register(misc_device); 574 err = misc_register(misc_device);
575 if (err) { 575 if (err) {
576 dev_err(dev, "failed to register device\n"); 576 dev_err(dev, "Failed to register device\n");
577 goto err_kfree_name; 577 goto err_kfree_name;
578 } 578 }
579 579
@@ -592,7 +592,7 @@ err_iounmap:
592 } 592 }
593 593
594 for (i = 0; i < irq; i++) 594 for (i = 0; i < irq; i++)
595 devm_free_irq(dev, pdev->irq + i, test); 595 devm_free_irq(&pdev->dev, pci_irq_vector(pdev, i), test);
596 596
597err_disable_msi: 597err_disable_msi:
598 pci_disable_msi(pdev); 598 pci_disable_msi(pdev);
@@ -625,7 +625,7 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
625 pci_iounmap(pdev, test->bar[bar]); 625 pci_iounmap(pdev, test->bar[bar]);
626 } 626 }
627 for (i = 0; i < test->num_irqs; i++) 627 for (i = 0; i < test->num_irqs; i++)
628 devm_free_irq(&pdev->dev, pdev->irq + i, test); 628 devm_free_irq(&pdev->dev, pci_irq_vector(pdev, i), test);
629 pci_disable_msi(pdev); 629 pci_disable_msi(pdev);
630 pci_release_regions(pdev); 630 pci_release_regions(pdev);
631 pci_disable_device(pdev); 631 pci_disable_device(pdev);
@@ -634,6 +634,7 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
634static const struct pci_device_id pci_endpoint_test_tbl[] = { 634static const struct pci_device_id pci_endpoint_test_tbl[] = {
635 { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) }, 635 { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) },
636 { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) }, 636 { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) },
637 { PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS, 0xedda) },
637 { } 638 { }
638}; 639};
639MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl); 640MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl);