lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 396/772] nvme: set dma alignment to dword
    Date
    From: Keith Busch <kbusch@kernel.org>

    [ Upstream commit 52fde2c07da606f3f120af4f734eadcfb52b04be ]

    The nvme specification only requires qword alignment for segment
    descriptors, and the driver already guarantees that. The spec has always
    allowed user data to be dword aligned, which is what the queue's
    attribute is for, so relax the alignment requirement to that value.

    While we could allow byte alignment for some controllers when using
    SGLs, we still need to support PRP, and that only allows dword.

    Fixes: 3b2a1ebceba3 ("nvme: set dma alignment to qword")
    Signed-off-by: Keith Busch <kbusch@kernel.org>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/nvme/host/core.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
    index 79ef46356d40..e086440a2042 100644
    --- a/drivers/nvme/host/core.c
    +++ b/drivers/nvme/host/core.c
    @@ -1796,7 +1796,7 @@ static void nvme_set_queue_limits(struct nvme_ctrl *ctrl,
    blk_queue_max_segments(q, min_t(u32, max_segments, USHRT_MAX));
    }
    blk_queue_virt_boundary(q, NVME_CTRL_PAGE_SIZE - 1);
    - blk_queue_dma_alignment(q, 7);
    + blk_queue_dma_alignment(q, 3);
    blk_queue_write_cache(q, vwc, vwc);
    }

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 23:12    [W:4.995 / U:1.488 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site