drivers/rapidio: Import OnePlus Changes
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
This commit is contained in:
parent
63269dedbb
commit
d0ff892c18
|
@ -25,7 +25,7 @@ config RAPIDIO_ENABLE_RX_TX_PORTS
|
||||||
config RAPIDIO_DMA_ENGINE
|
config RAPIDIO_DMA_ENGINE
|
||||||
bool "DMA Engine support for RapidIO"
|
bool "DMA Engine support for RapidIO"
|
||||||
depends on RAPIDIO
|
depends on RAPIDIO
|
||||||
depends on DMADEVICES
|
select DMADEVICES
|
||||||
select DMA_ENGINE
|
select DMA_ENGINE
|
||||||
help
|
help
|
||||||
Say Y here if you want to use DMA Engine frameork for RapidIO data
|
Say Y here if you want to use DMA Engine frameork for RapidIO data
|
||||||
|
|
|
@ -900,16 +900,15 @@ rio_dma_transfer(struct file *filp, u32 transfer_mode,
|
||||||
rmcd_error("get_user_pages_unlocked err=%ld",
|
rmcd_error("get_user_pages_unlocked err=%ld",
|
||||||
pinned);
|
pinned);
|
||||||
nr_pages = 0;
|
nr_pages = 0;
|
||||||
} else {
|
} else
|
||||||
rmcd_error("pinned %ld out of %ld pages",
|
rmcd_error("pinned %ld out of %ld pages",
|
||||||
pinned, nr_pages);
|
pinned, nr_pages);
|
||||||
/*
|
|
||||||
* Set nr_pages up to mean "how many pages to unpin, in
|
|
||||||
* the error handler:
|
|
||||||
*/
|
|
||||||
nr_pages = pinned;
|
|
||||||
}
|
|
||||||
ret = -EFAULT;
|
ret = -EFAULT;
|
||||||
|
/*
|
||||||
|
* Set nr_pages up to mean "how many pages to unpin, in
|
||||||
|
* the error handler:
|
||||||
|
*/
|
||||||
|
nr_pages = pinned;
|
||||||
goto err_pg;
|
goto err_pg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1739,7 +1738,6 @@ static int rio_mport_add_riodev(struct mport_cdev_priv *priv,
|
||||||
struct rio_dev *rdev;
|
struct rio_dev *rdev;
|
||||||
struct rio_switch *rswitch = NULL;
|
struct rio_switch *rswitch = NULL;
|
||||||
struct rio_mport *mport;
|
struct rio_mport *mport;
|
||||||
struct device *dev;
|
|
||||||
size_t size;
|
size_t size;
|
||||||
u32 rval;
|
u32 rval;
|
||||||
u32 swpinfo = 0;
|
u32 swpinfo = 0;
|
||||||
|
@ -1754,10 +1752,8 @@ static int rio_mport_add_riodev(struct mport_cdev_priv *priv,
|
||||||
rmcd_debug(RDEV, "name:%s ct:0x%x did:0x%x hc:0x%x", dev_info.name,
|
rmcd_debug(RDEV, "name:%s ct:0x%x did:0x%x hc:0x%x", dev_info.name,
|
||||||
dev_info.comptag, dev_info.destid, dev_info.hopcount);
|
dev_info.comptag, dev_info.destid, dev_info.hopcount);
|
||||||
|
|
||||||
dev = bus_find_device_by_name(&rio_bus_type, NULL, dev_info.name);
|
if (bus_find_device_by_name(&rio_bus_type, NULL, dev_info.name)) {
|
||||||
if (dev) {
|
|
||||||
rmcd_debug(RDEV, "device %s already exists", dev_info.name);
|
rmcd_debug(RDEV, "device %s already exists", dev_info.name);
|
||||||
put_device(dev);
|
|
||||||
return -EEXIST;
|
return -EEXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2468,6 +2464,13 @@ static struct mport_dev *mport_cdev_add(struct rio_mport *mport)
|
||||||
cdev_init(&md->cdev, &mport_fops);
|
cdev_init(&md->cdev, &mport_fops);
|
||||||
md->cdev.owner = THIS_MODULE;
|
md->cdev.owner = THIS_MODULE;
|
||||||
|
|
||||||
|
ret = cdev_device_add(&md->cdev, &md->dev);
|
||||||
|
if (ret) {
|
||||||
|
rmcd_error("Failed to register mport %d (err=%d)",
|
||||||
|
mport->id, ret);
|
||||||
|
goto err_cdev;
|
||||||
|
}
|
||||||
|
|
||||||
INIT_LIST_HEAD(&md->doorbells);
|
INIT_LIST_HEAD(&md->doorbells);
|
||||||
spin_lock_init(&md->db_lock);
|
spin_lock_init(&md->db_lock);
|
||||||
INIT_LIST_HEAD(&md->portwrites);
|
INIT_LIST_HEAD(&md->portwrites);
|
||||||
|
@ -2487,13 +2490,6 @@ static struct mport_dev *mport_cdev_add(struct rio_mport *mport)
|
||||||
#else
|
#else
|
||||||
md->properties.transfer_mode |= RIO_TRANSFER_MODE_TRANSFER;
|
md->properties.transfer_mode |= RIO_TRANSFER_MODE_TRANSFER;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = cdev_device_add(&md->cdev, &md->dev);
|
|
||||||
if (ret) {
|
|
||||||
rmcd_error("Failed to register mport %d (err=%d)",
|
|
||||||
mport->id, ret);
|
|
||||||
goto err_cdev;
|
|
||||||
}
|
|
||||||
ret = rio_query_mport(mport, &attr);
|
ret = rio_query_mport(mport, &attr);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
md->properties.flags = attr.flags;
|
md->properties.flags = attr.flags;
|
||||||
|
|
Loading…
Reference in New Issue