blob: 1f260bccb36878d6445d12695f9f033787cbda48 [file] [log] [blame]
Jonas Bonna39af6f2011-06-04 21:56:48 +03001/*
2 * OpenRISC Linux
3 *
4 * Linux architectural port borrowing liberally from similar works of
5 * others. All original copyrights apply as per the original source
6 * declaration.
7 *
8 * OpenRISC implementation:
9 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 */
16
17#ifndef __ASM_OPENRISC_DMA_MAPPING_H
18#define __ASM_OPENRISC_DMA_MAPPING_H
19
20/*
Paul Bolle395cf962011-08-15 02:02:26 +020021 * See Documentation/DMA-API-HOWTO.txt and
Jonas Bonna39af6f2011-06-04 21:56:48 +030022 * Documentation/DMA-API.txt for documentation.
Jonas Bonna39af6f2011-06-04 21:56:48 +030023 */
24
25#include <linux/dma-debug.h>
Jonas Bonna39af6f2011-06-04 21:56:48 +030026#include <linux/kmemcheck.h>
Jonas Bonn7b903e62012-04-15 21:09:25 +020027#include <linux/dma-mapping.h>
Jonas Bonna39af6f2011-06-04 21:56:48 +030028
29#define DMA_ERROR_CODE (~(dma_addr_t)0x0)
30
Jonas Bonn7b903e62012-04-15 21:09:25 +020031extern struct dma_map_ops or1k_dma_map_ops;
Jonas Bonna39af6f2011-06-04 21:56:48 +030032
Jonas Bonn7b903e62012-04-15 21:09:25 +020033static inline struct dma_map_ops *get_dma_ops(struct device *dev)
Jonas Bonna39af6f2011-06-04 21:56:48 +030034{
Jonas Bonn7b903e62012-04-15 21:09:25 +020035 return &or1k_dma_map_ops;
36}
37
Christoph Hellwigee196372015-09-09 15:39:49 -070038#define HAVE_ARCH_DMA_SUPPORTED 1
Jonas Bonna39af6f2011-06-04 21:56:48 +030039static inline int dma_supported(struct device *dev, u64 dma_mask)
40{
41 /* Support 32 bit DMA mask exclusively */
Jonas Bonn707b38a2011-09-05 13:47:10 +020042 return dma_mask == DMA_BIT_MASK(32);
43}
44
Jonas Bonna39af6f2011-06-04 21:56:48 +030045#endif /* __ASM_OPENRISC_DMA_MAPPING_H */