History

Merge tag 'ntb-3.17' of git://github.com/jonmason/ntb

Pull ntb driver bugfixes from Jon Mason: "NTB driver fixes for queue spread and buffer alignment. Also, update to MAINTAINERS to reflect new e-mail address" * tag 'ntb-3.17' of git://github.com/jonmason/ntb: ntb: Add alignment check to meet hardware requirement MAINTAINERS: update NTB info NTB: correct the spread of queues over mw's

Linus Torvalds committed 12 years ago

Commit 02c1be32 parents 8ac19f0 3cc5ba12 files · +17 −3Browse files

Unified · Split

2 files
  1. MAINTAINERS +2 −1
  2. drivers/ntb/ntb_transport.c +15 −2
MAINTAINERS+2−1
@@ -6424,7 +6424,8 @@ F: Documentation/scsi/NinjaSCSI.txt · 6423 unmodified lines
6424F: drivers/scsi/nsp32*6424F: drivers/scsi/nsp32*
6425 6425
6426NTB DRIVER6426NTB DRIVER
6427M: Jon Mason <jon.mason@intel.com>6427M: Jon Mason <jdmason@kudzu.us>
6428M: Dave Jiang <dave.jiang@intel.com>
6428S: Supported6429S: Supported
6429W: https://github.com/jonmason/ntb/wiki6430W: https://github.com/jonmason/ntb/wiki
6430T: git git://github.com/jonmason/ntb.git6431T: git git://github.com/jonmason/ntb.git
drivers/ntb/ntb_transport.c+15−2
@@ -510,7 +510,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt, · 509 unmodified lines
510 510
511 WARN_ON(nt->mw[mw_num].virt_addr == NULL);511 WARN_ON(nt->mw[mw_num].virt_addr == NULL);
512 512
513 if (nt->max_qps % mw_max && mw_num < nt->max_qps % mw_max)513 if (nt->max_qps % mw_max && mw_num + 1 < nt->max_qps / mw_max)
514 num_qps_mw = nt->max_qps / mw_max + 1;514 num_qps_mw = nt->max_qps / mw_max + 1;
515 else515 else
516 num_qps_mw = nt->max_qps / mw_max;516 num_qps_mw = nt->max_qps / mw_max;
@@ -576,6 +576,19 @@ static int ntb_set_mw(struct ntb_transport *nt, int num_mw, unsigned int size) · 59 unmodified lines
576 return -ENOMEM;576 return -ENOMEM;
577 }577 }
578 578
579 /*
580 * we must ensure that the memory address allocated is BAR size
581 * aligned in order for the XLAT register to take the value. This
582 * is a requirement of the hardware. It is recommended to setup CMA
583 * for BAR sizes equal or greater than 4MB.
584 */
585 if (!IS_ALIGNED(mw->dma_addr, mw->size)) {
586 dev_err(&pdev->dev, "DMA memory %pad not aligned to BAR size\n",
587 &mw->dma_addr);
588 ntb_free_mw(nt, num_mw);
589 return -ENOMEM;
590 }
591
579 /* Notify HW the memory location of the receive buffer */592 /* Notify HW the memory location of the receive buffer */
580 ntb_set_mw_addr(nt->ndev, num_mw, mw->dma_addr);593 ntb_set_mw_addr(nt->ndev, num_mw, mw->dma_addr);
581 594
@@ -856,7 +869,7 @@ static int ntb_transport_init_queue(struct ntb_transport *nt, · 274 unmodified lines
856 qp->client_ready = NTB_LINK_DOWN;869 qp->client_ready = NTB_LINK_DOWN;
857 qp->event_handler = NULL;870 qp->event_handler = NULL;
858 871
859 if (nt->max_qps % mw_max && mw_num < nt->max_qps % mw_max)872 if (nt->max_qps % mw_max && mw_num + 1 < nt->max_qps / mw_max)
860 num_qps_mw = nt->max_qps / mw_max + 1;873 num_qps_mw = nt->max_qps / mw_max + 1;
861 else874 else
862 num_qps_mw = nt->max_qps / mw_max;875 num_qps_mw = nt->max_qps / mw_max;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t