Message ID | 950378c6f39270a255452733ff2305e56fb05cc5.1701268753.git.robin.murphy@arm.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | dma-mapping: Clean up arch_setup_dma_ops() | expand |
On Wed, Nov 29, 2023 at 11:43 AM Robin Murphy <robin.murphy@arm.com> wrote: > > From what I remember, the fixup adding 1 to the dma-ranges size was for > the benefit of some early AMD Seattle DTs. Those are likely extinct by > now, and anyone else who might have deserved to get the message has > hopefully seen the warning in the 9 years we've had it there. The modern > dma_range_map mechanism should happily handle odd-sized ranges with no > ill effect, so there's little need to care anyway now. Clean it up. The commit has a tested by for Seattle, but the series adding this was for an issue on TI Keystone[1]. Looks like the patch adding this fixup and warning did 2 things. It added 1 to the default mask when 'dma-ranges' was not present (which keystone needed) and added 1 if the DT value was a mask along with the warning. It's not clear what Seattle needed, but there was a fix to dma-ranges about a year later[2]. I thought at some point we allowed 32-bit DTs to specify a ~0 size to avoid having to use 2 cells to express 4G size which wouldn't have been a warning, but I can't find any discussion on that. It would have been earlier than 2015 I think... Anyways, there is no upstream dts with that either, so I think we're good. > Signed-off-by: Robin Murphy <robin.murphy@arm.com> > --- > drivers/of/device.c | 16 ---------------- > 1 file changed, 16 deletions(-) Acked-by: Rob Herring <robh@kernel.org> [1] https://lore.kernel.org/all/1425405134-24707-1-git-send-email-m-karicheri2@ti.com/ [2] https://lore.kernel.org/all/1455162671-16044-4-git-send-email-Suravee.Suthikulpanit@amd.com/
diff --git a/drivers/of/device.c b/drivers/of/device.c index 1ca42ad9dd15..526a42cdf66e 100644 --- a/drivers/of/device.c +++ b/drivers/of/device.c @@ -129,22 +129,6 @@ int of_dma_configure_id(struct device *dev, struct device_node *np, dma_end = r->dma_start + r->size; } size = dma_end - dma_start; - - /* - * Add a work around to treat the size as mask + 1 in case - * it is defined in DT as a mask. - */ - if (size & 1) { - dev_warn(dev, "Invalid size 0x%llx for dma-range(s)\n", - size); - size = size + 1; - } - - if (!size) { - dev_err(dev, "Adjusted size 0x%llx invalid\n", size); - kfree(map); - return -EINVAL; - } } /*
From what I remember, the fixup adding 1 to the dma-ranges size was for the benefit of some early AMD Seattle DTs. Those are likely extinct by now, and anyone else who might have deserved to get the message has hopefully seen the warning in the 9 years we've had it there. The modern dma_range_map mechanism should happily handle odd-sized ranges with no ill effect, so there's little need to care anyway now. Clean it up. Signed-off-by: Robin Murphy <robin.murphy@arm.com> --- drivers/of/device.c | 16 ---------------- 1 file changed, 16 deletions(-)