lkml.org 
[lkml]   [2019]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/13] mpt3sas: set virt_boundary_mask in the scsi host
    Date
    This ensures all proper DMA layer handling is taken care of by the
    SCSI midlayer. Note that the effect is global, as the IOMMU merging
    is based off a paramters in struct device. We could still turn if off
    if no PCIe devices are present, but I don't know how to find that out.

    Also remove the bogus nomerges flag, merges do take the virt_boundary
    into account.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    ---
    drivers/scsi/mpt3sas/mpt3sas_scsih.c | 11 +++--------
    1 file changed, 3 insertions(+), 8 deletions(-)

    diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
    index 1ccfbc7eebe0..03a0df2a3379 100644
    --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
    +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
    @@ -2361,14 +2361,6 @@ scsih_slave_configure(struct scsi_device *sdev)
    pcie_device_put(pcie_device);
    spin_unlock_irqrestore(&ioc->pcie_device_lock, flags);
    scsih_change_queue_depth(sdev, qdepth);
    - /* Enable QUEUE_FLAG_NOMERGES flag, so that IOs won't be
    - ** merged and can eliminate holes created during merging
    - ** operation.
    - **/
    - blk_queue_flag_set(QUEUE_FLAG_NOMERGES,
    - sdev->request_queue);
    - blk_queue_virt_boundary(sdev->request_queue,
    - ioc->page_size - 1);
    return 0;
    }

    @@ -10472,6 +10464,9 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
    shost->transportt = mpt3sas_transport_template;
    shost->unique_id = ioc->id;

    + /* XXX: only strictly needed if NVMe devices are attached */
    + shost->virt_boundary_mask = ioc->page_size - 1;
    +
    if (ioc->is_mcpu_endpoint) {
    /* mCPU MPI support 64K max IO */
    shost->max_sectors = 128;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-06-05 21:10    [W:6.172 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site