From a8c5cb994341d4af6d75286fcb66684e53295135 Mon Sep 17 00:00:00 2001 From: Finn Thain <fthain@telegraphics.com.au> Date: Mon, 25 Jun 2018 21:46:11 +1000 Subject: [PATCH] nubus: Set default dma mask for nubus_board devices A 32-bit mask is used by default because a NuBus slot has 32 address/data lines and a NuBus board is free to use all of them. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Tested-by: Stan Johnson <userm57@yahoo.com> Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- drivers/nubus/bus.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/nubus/bus.c b/drivers/nubus/bus.c index a59b6c4bb5b89..ad3d17c42e23c 100644 --- a/drivers/nubus/bus.c +++ b/drivers/nubus/bus.c @@ -5,6 +5,7 @@ // Copyright (C) 2017 Finn Thain #include <linux/device.h> +#include <linux/dma-mapping.h> #include <linux/list.h> #include <linux/nubus.h> #include <linux/seq_file.h> @@ -93,6 +94,8 @@ int nubus_device_register(struct nubus_board *board) board->dev.release = nubus_device_release; board->dev.bus = &nubus_bus_type; dev_set_name(&board->dev, "slot.%X", board->slot); + board->dev.dma_mask = &board->dev.coherent_dma_mask; + dma_set_mask(&board->dev, DMA_BIT_MASK(32)); return device_register(&board->dev); } -- GitLab