2 #include <linux/kernel.h>
3 #include <linux/module.h>
4 #include <linux/dma-mapping.h>
5 #include <asm/dma-mapping.h>
7 static dma_addr_t
pci32_map_single(struct device
*dev
, phys_addr_t ptr
,
8 size_t size
, int direction
)
11 flush_write_buffers();
15 static int pci32_dma_map_sg(struct device
*dev
, struct scatterlist
*sglist
,
16 int nents
, int direction
)
18 struct scatterlist
*sg
;
21 WARN_ON(nents
== 0 || sglist
[0].length
== 0);
23 for_each_sg(sglist
, sg
, nents
, i
) {
26 sg
->dma_address
= sg_phys(sg
);
29 flush_write_buffers();
33 static const struct dma_mapping_ops pci32_dma_ops
= {
34 .map_single
= pci32_map_single
,
36 .map_sg
= pci32_dma_map_sg
,
38 .sync_single_for_cpu
= NULL
,
39 .sync_single_for_device
= NULL
,
40 .sync_single_range_for_cpu
= NULL
,
41 .sync_single_range_for_device
= NULL
,
42 .sync_sg_for_cpu
= NULL
,
43 .sync_sg_for_device
= NULL
,
46 const struct dma_mapping_ops
*dma_ops
= &pci32_dma_ops
;
47 EXPORT_SYMBOL(dma_ops
);