From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>, Harini Katakam <harini.katakam@xilinx.com>, Vinod Koul <vkoul@kernel.org>, Sasha Levin <sashal@kernel.org>, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.10 04/16] dmaengine: xilinx_dma: Set DMA mask for coherent APIs Date: Mon, 13 Sep 2021 18:34:30 -0400 [thread overview] Message-ID: <20210913223442.435885-4-sashal@kernel.org> (raw) In-Reply-To: <20210913223442.435885-1-sashal@kernel.org> From: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> [ Upstream commit aac6c0f90799d66b8989be1e056408f33fd99fe6 ] The xilinx dma driver uses the consistent allocations, so for correct operation also set the DMA mask for coherent APIs. It fixes the below kernel crash with dmatest client when DMA IP is configured with 64-bit address width and linux is booted from high (>4GB) memory. Call trace: [ 489.531257] dma_alloc_from_pool+0x8c/0x1c0 [ 489.535431] dma_direct_alloc+0x284/0x330 [ 489.539432] dma_alloc_attrs+0x80/0xf0 [ 489.543174] dma_pool_alloc+0x160/0x2c0 [ 489.547003] xilinx_cdma_prep_memcpy+0xa4/0x180 [ 489.551524] dmatest_func+0x3cc/0x114c [ 489.555266] kthread+0x124/0x130 [ 489.558486] ret_from_fork+0x10/0x3c [ 489.562051] ---[ end trace 248625b2d596a90a ]--- Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Reviewed-by: Harini Katakam <harini.katakam@xilinx.com> Link: https://lore.kernel.org/r/1629363528-30347-1-git-send-email-radhey.shyam.pandey@xilinx.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/dma/xilinx/xilinx_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c index 9ffdbeec436b..cab4719e4cf9 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -3070,7 +3070,7 @@ static int xilinx_dma_probe(struct platform_device *pdev) xdev->ext_addr = false; /* Set the dma mask bits */ - dma_set_mask(xdev->dev, DMA_BIT_MASK(addr_width)); + dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width)); /* Initialize the DMA engine */ xdev->common.dev = &pdev->dev; -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>, Harini Katakam <harini.katakam@xilinx.com>, Vinod Koul <vkoul@kernel.org>, Sasha Levin <sashal@kernel.org>, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.10 04/16] dmaengine: xilinx_dma: Set DMA mask for coherent APIs Date: Mon, 13 Sep 2021 18:34:30 -0400 [thread overview] Message-ID: <20210913223442.435885-4-sashal@kernel.org> (raw) In-Reply-To: <20210913223442.435885-1-sashal@kernel.org> From: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> [ Upstream commit aac6c0f90799d66b8989be1e056408f33fd99fe6 ] The xilinx dma driver uses the consistent allocations, so for correct operation also set the DMA mask for coherent APIs. It fixes the below kernel crash with dmatest client when DMA IP is configured with 64-bit address width and linux is booted from high (>4GB) memory. Call trace: [ 489.531257] dma_alloc_from_pool+0x8c/0x1c0 [ 489.535431] dma_direct_alloc+0x284/0x330 [ 489.539432] dma_alloc_attrs+0x80/0xf0 [ 489.543174] dma_pool_alloc+0x160/0x2c0 [ 489.547003] xilinx_cdma_prep_memcpy+0xa4/0x180 [ 489.551524] dmatest_func+0x3cc/0x114c [ 489.555266] kthread+0x124/0x130 [ 489.558486] ret_from_fork+0x10/0x3c [ 489.562051] ---[ end trace 248625b2d596a90a ]--- Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Reviewed-by: Harini Katakam <harini.katakam@xilinx.com> Link: https://lore.kernel.org/r/1629363528-30347-1-git-send-email-radhey.shyam.pandey@xilinx.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/dma/xilinx/xilinx_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c index 9ffdbeec436b..cab4719e4cf9 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -3070,7 +3070,7 @@ static int xilinx_dma_probe(struct platform_device *pdev) xdev->ext_addr = false; /* Set the dma mask bits */ - dma_set_mask(xdev->dev, DMA_BIT_MASK(addr_width)); + dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width)); /* Initialize the DMA engine */ xdev->common.dev = &pdev->dev; -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-09-13 22:36 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-13 22:34 [PATCH AUTOSEL 5.10 01/16] dmaengine: idxd: depends on !UML Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 02/16] dmaengine: sprd: Add missing MODULE_DEVICE_TABLE Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 03/16] dmaengine: ioat: depends on !UML Sasha Levin 2021-09-13 22:34 ` Sasha Levin [this message] 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 04/16] dmaengine: xilinx_dma: Set DMA mask for coherent APIs Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 05/16] ceph: request Fw caps before updating the mtime in ceph_write_iter Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 06/16] ceph: remove the capsnaps when removing caps Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 07/16] ceph: lockdep annotations for try_nonblocking_invalidate Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 08/16] btrfs: update the bdev time directly when closing Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 09/16] btrfs: fix lockdep warning while mounting sprout fs Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 10/16] connector: send event on write to /proc/[pid]/comm Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 11/16] nilfs2: fix memory leak in nilfs_sysfs_create_device_group Sasha Levin 2021-09-13 22:34 ` Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 12/16] nilfs2: fix NULL pointer in nilfs_##name##_attr_release Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 13/16] nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 14/16] nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group Sasha Levin 2021-09-13 22:34 ` Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 15/16] nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group Sasha Levin 2021-09-13 22:34 ` [PATCH AUTOSEL 5.10 16/16] nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210913223442.435885-4-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=dmaengine@vger.kernel.org \ --cc=harini.katakam@xilinx.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=radhey.shyam.pandey@xilinx.com \ --cc=stable@vger.kernel.org \ --cc=vkoul@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.