mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
rapidio/tsi721: add messaging mbox selector parameter
Add module parameter to allow load time configuration of available RapidIO messaging mailboxes (MBOX1 - MBOX4). Having a messaging MBOX selector mask allows to define which MBOXes are controlled by the mport device driver and reserve some of them for direct use by other drivers. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Alexandre Bounine <[email protected]> Tested-by: Barry Wood <[email protected]> Cc: Matt Porter <[email protected]> Cc: Andre van Herk <[email protected]> Cc: Barry Wood <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
cb782cdd2f
commit
e519685de3
2 changed files with 20 additions and 0 deletions
|
|
@ -46,6 +46,11 @@ static int pcie_mrrs = -1;
|
|||
module_param(pcie_mrrs, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(pcie_mrrs, "PCIe MRRS override value (0...5)");
|
||||
|
||||
static u8 mbox_sel = 0x0f;
|
||||
module_param(mbox_sel, byte, S_IRUGO);
|
||||
MODULE_PARM_DESC(mbox_sel,
|
||||
"RIO Messaging MBOX Selection Mask (default: 0x0f = all)");
|
||||
|
||||
static void tsi721_omsg_handler(struct tsi721_device *priv, int ch);
|
||||
static void tsi721_imsg_handler(struct tsi721_device *priv, int ch);
|
||||
|
||||
|
|
@ -1881,6 +1886,11 @@ static int tsi721_open_outb_mbox(struct rio_mport *mport, void *dev_id,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if ((mbox_sel & (1 << mbox)) == 0) {
|
||||
rc = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
priv->omsg_ring[mbox].dev_id = dev_id;
|
||||
priv->omsg_ring[mbox].size = entries;
|
||||
priv->omsg_ring[mbox].sts_rdptr = 0;
|
||||
|
|
@ -2165,6 +2175,11 @@ static int tsi721_open_inb_mbox(struct rio_mport *mport, void *dev_id,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if ((mbox_sel & (1 << mbox)) == 0) {
|
||||
rc = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Initialize IB Messaging Ring */
|
||||
priv->imsg_ring[mbox].dev_id = dev_id;
|
||||
priv->imsg_ring[mbox].size = entries;
|
||||
|
|
|
|||
Loading…
Reference in a new issue