Since we don't want to setup up DMA via device tree we end up with arm64's dummy_dma_ops otherwise.
Links: https://lists.freedesktop.org/archives/etnaviv/2018-August/001925.html Signed-off-by: Guido Günther agx@sigxcpu.org --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 9b2720b41571..e488c07f333c 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -591,8 +591,19 @@ static int etnaviv_pdev_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct component_match *match = NULL; + int ret; + + ret = of_dma_configure(dev, NULL, true); + if (ret) { + dev_err(&pdev->dev, "Setting up dma ops failed\n"); + return ret; + };
- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); + ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) { + dev_err(&pdev->dev, "dma_coerce_mask_and_coherent failed\n"); + return ret; + };
if (!dev->platform_data) { struct device_node *core_node;
Hi Guido,
I've just sent out a patch which should hopefully also fix this issue, in a (slightly) more correct way. I don't have my MX8M system up right now, so would appreciate if you could test drive this patch.
Regards, Lucas
Am Mittwoch, den 12.09.2018, 17:44 +0200 schrieb Guido Günther:
Since we don't want to setup up DMA via device tree we end up with arm64's dummy_dma_ops otherwise.
Links: https://lists.freedesktop.org/archives/etnaviv/2018-August/001925.html
Signed-off-by: Guido Günther agx@sigxcpu.org
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 9b2720b41571..e488c07f333c 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -591,8 +591,19 @@ static int etnaviv_pdev_probe(struct platform_device *pdev) {
struct device *dev = &pdev->dev; struct component_match *match = NULL;
- int ret;
- ret = of_dma_configure(dev, NULL, true);
- if (ret) {
dev_err(&pdev->dev, "Setting up dma ops failed\n");
return ret;
- };
- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
- ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
- if (ret) {
dev_err(&pdev->dev, "dma_coerce_mask_and_coherent failed\n");
return ret;
- };
if (!dev->platform_data) { struct device_node *core_node;
Am Mittwoch, den 12.09.2018, 17:50 +0200 schrieb Lucas Stach:
Hi Guido,
I've just sent out a patch which should hopefully also fix this issue, in a (slightly) more correct way. I don't have my MX8M system up right now, so would appreciate if you could test drive this patch.
And I just realized that sharing the DT node has it's own set of issues, so please don't bother with this patch, I'll send a follow-up tomorrow.
Regards, Lucas
Am Mittwoch, den 12.09.2018, 17:44 +0200 schrieb Guido Günther:
Since we don't want to setup up DMA via device tree we end up with arm64's dummy_dma_ops otherwise.
Links: https://lists.freedesktop.org/archives/etnaviv/2018-August/001925.html
Signed-off-by: Guido Günther agx@sigxcpu.org
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 9b2720b41571..e488c07f333c 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -591,8 +591,19 @@ static int etnaviv_pdev_probe(struct platform_device *pdev) {
struct device *dev = &pdev->dev; struct component_match *match = NULL;
- int ret;
- ret = of_dma_configure(dev, NULL, true);
- if (ret) {
dev_err(&pdev->dev, "Setting up dma ops failed\n");
return ret;
- };
- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
- ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
- if (ret) {
dev_err(&pdev->dev, "dma_coerce_mask_and_coherent failed\n");
return ret;
- };
if (!dev->platform_data) {
struct device_node *core_node;
etnaviv mailing list etnaviv@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/etnaviv
dri-devel@lists.freedesktop.org