mirror of https://gitee.com/openkylin/linux.git
parisc: ->mapping_error
DMA_ERROR_CODE already went away in linux-next, but parisc unfortunately added a new instance of it without any review as far as I can tell. Move the two iommu drivers to report errors through ->mapping_error. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
e24dd9ee53
commit
227145eb38
|
@ -20,8 +20,6 @@
|
|||
** flush/purge and allocate "regular" cacheable pages for everything.
|
||||
*/
|
||||
|
||||
#define DMA_ERROR_CODE (~(dma_addr_t)0)
|
||||
|
||||
#ifdef CONFIG_PA11
|
||||
extern const struct dma_map_ops pcxl_dma_ops;
|
||||
extern const struct dma_map_ops pcx_dma_ops;
|
||||
|
|
|
@ -110,6 +110,8 @@
|
|||
#define CMD_TLB_DIRECT_WRITE 35 /* IO_COMMAND for I/O TLB Writes */
|
||||
#define CMD_TLB_PURGE 33 /* IO_COMMAND to Purge I/O TLB entry */
|
||||
|
||||
#define CCIO_MAPPING_ERROR (~(dma_addr_t)0)
|
||||
|
||||
struct ioa_registers {
|
||||
/* Runway Supervisory Set */
|
||||
int32_t unused1[12];
|
||||
|
@ -742,7 +744,7 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
|
|||
BUG_ON(!dev);
|
||||
ioc = GET_IOC(dev);
|
||||
if (!ioc)
|
||||
return DMA_ERROR_CODE;
|
||||
return CCIO_MAPPING_ERROR;
|
||||
|
||||
BUG_ON(size <= 0);
|
||||
|
||||
|
@ -1023,6 +1025,11 @@ ccio_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
DBG_RUN_SG("%s() DONE (nents %d)\n", __func__, nents);
|
||||
}
|
||||
|
||||
static int ccio_mapping_error(struct device *dev, dma_addr_t dma_addr)
|
||||
{
|
||||
return dma_addr == CCIO_MAPPING_ERROR;
|
||||
}
|
||||
|
||||
static const struct dma_map_ops ccio_ops = {
|
||||
.dma_supported = ccio_dma_supported,
|
||||
.alloc = ccio_alloc,
|
||||
|
@ -1031,6 +1038,7 @@ static const struct dma_map_ops ccio_ops = {
|
|||
.unmap_page = ccio_unmap_page,
|
||||
.map_sg = ccio_map_sg,
|
||||
.unmap_sg = ccio_unmap_sg,
|
||||
.mapping_error = ccio_mapping_error,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
|
|
@ -93,6 +93,8 @@
|
|||
|
||||
#define DEFAULT_DMA_HINT_REG 0
|
||||
|
||||
#define SBA_MAPPING_ERROR (~(dma_addr_t)0)
|
||||
|
||||
struct sba_device *sba_list;
|
||||
EXPORT_SYMBOL_GPL(sba_list);
|
||||
|
||||
|
@ -725,7 +727,7 @@ sba_map_single(struct device *dev, void *addr, size_t size,
|
|||
|
||||
ioc = GET_IOC(dev);
|
||||
if (!ioc)
|
||||
return DMA_ERROR_CODE;
|
||||
return SBA_MAPPING_ERROR;
|
||||
|
||||
/* save offset bits */
|
||||
offset = ((dma_addr_t) (long) addr) & ~IOVP_MASK;
|
||||
|
@ -1083,6 +1085,11 @@ sba_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
|
||||
}
|
||||
|
||||
static int sba_mapping_error(struct device *dev, dma_addr_t dma_addr)
|
||||
{
|
||||
return dma_addr == SBA_MAPPING_ERROR;
|
||||
}
|
||||
|
||||
static const struct dma_map_ops sba_ops = {
|
||||
.dma_supported = sba_dma_supported,
|
||||
.alloc = sba_alloc,
|
||||
|
@ -1091,6 +1098,7 @@ static const struct dma_map_ops sba_ops = {
|
|||
.unmap_page = sba_unmap_page,
|
||||
.map_sg = sba_map_sg,
|
||||
.unmap_sg = sba_unmap_sg,
|
||||
.mapping_error = sba_mapping_error,
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue