[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zcv7uI6VrMc2EuGT@kbusch-mbp>
Date: Tue, 13 Feb 2024 16:31:04 -0700
From: Keith Busch <kbusch@...nel.org>
To: Nicolin Chen <nicolinc@...dia.com>
Cc: sagi@...mberg.me, hch@....de, axboe@...nel.dk, will@...nel.org,
joro@...tes.org, robin.murphy@....com, jgg@...dia.com,
linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org,
iommu@...ts.linux.dev, murphyt7@....ie, baolu.lu@...ux.intel.com
Subject: Re: [PATCH v1 2/2] nvme-pci: Fix iommu map (via swiotlb) failures
when PAGE_SIZE=64KB
On Tue, Feb 13, 2024 at 01:53:57PM -0800, Nicolin Chen wrote:
> @@ -2967,7 +2967,7 @@ static struct nvme_dev *nvme_pci_alloc_dev(struct pci_dev *pdev,
> dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(48));
> else
> dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
> - dma_set_min_align_mask(&pdev->dev, NVME_CTRL_PAGE_SIZE - 1);
> + dma_set_min_align_mask(&pdev->dev, PAGE_SIZE - 1);
> dma_set_max_seg_size(&pdev->dev, 0xffffffff);
I recall we had to do this for POWER because they have 64k pages, but
page aligned addresses IOMMU map to 4k, so we needed to allow the lower
dma alignment to efficiently use it.
Powered by blists - more mailing lists