Commit d02443a6 authored by Zhang Wei's avatar Zhang Wei Committed by Paul Mackerras

[RAPIDIO] Change RIO function mpc85xx_ to fsl_

The driver is suitable for the Freescale MPC8641 processor as well as
85xx processors, so this changes the mpc85xx prefix to fsl.
Signed-off-by: default avatarZhang Wei <wei.zhang@freescale.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 9d88a2eb
/* /*
* MPC85xx RapidIO support * Freescale MPC85xx/MPC86xx RapidIO support
* *
* Copyright 2005 MontaVista Software, Inc. * Copyright 2005 MontaVista Software, Inc.
* Matt Porter <mporter@kernel.crashing.org> * Matt Porter <mporter@kernel.crashing.org>
...@@ -145,7 +145,7 @@ static struct rio_msg_rx_ring { ...@@ -145,7 +145,7 @@ static struct rio_msg_rx_ring {
} msg_rx_ring; } msg_rx_ring;
/** /**
* mpc85xx_rio_doorbell_send - Send a MPC85xx doorbell message * fsl_rio_doorbell_send - Send a MPC85xx doorbell message
* @index: ID of RapidIO interface * @index: ID of RapidIO interface
* @destid: Destination ID of target device * @destid: Destination ID of target device
* @data: 16-bit info field of RapidIO doorbell message * @data: 16-bit info field of RapidIO doorbell message
...@@ -153,9 +153,9 @@ static struct rio_msg_rx_ring { ...@@ -153,9 +153,9 @@ static struct rio_msg_rx_ring {
* Sends a MPC85xx doorbell message. Returns %0 on success or * Sends a MPC85xx doorbell message. Returns %0 on success or
* %-EINVAL on failure. * %-EINVAL on failure.
*/ */
static int mpc85xx_rio_doorbell_send(int index, u16 destid, u16 data) static int fsl_rio_doorbell_send(int index, u16 destid, u16 data)
{ {
pr_debug("mpc85xx_doorbell_send: index %d destid %4.4x data %4.4x\n", pr_debug("fsl_doorbell_send: index %d destid %4.4x data %4.4x\n",
index, destid, data); index, destid, data);
out_be32((void *)&dbell_atmu_regs->rowtar, destid << 22); out_be32((void *)&dbell_atmu_regs->rowtar, destid << 22);
out_be16((void *)(dbell_win), data); out_be16((void *)(dbell_win), data);
...@@ -164,7 +164,7 @@ static int mpc85xx_rio_doorbell_send(int index, u16 destid, u16 data) ...@@ -164,7 +164,7 @@ static int mpc85xx_rio_doorbell_send(int index, u16 destid, u16 data)
} }
/** /**
* mpc85xx_local_config_read - Generate a MPC85xx local config space read * fsl_local_config_read - Generate a MPC85xx local config space read
* @index: ID of RapdiIO interface * @index: ID of RapdiIO interface
* @offset: Offset into configuration space * @offset: Offset into configuration space
* @len: Length (in bytes) of the maintenance transaction * @len: Length (in bytes) of the maintenance transaction
...@@ -173,9 +173,9 @@ static int mpc85xx_rio_doorbell_send(int index, u16 destid, u16 data) ...@@ -173,9 +173,9 @@ static int mpc85xx_rio_doorbell_send(int index, u16 destid, u16 data)
* Generates a MPC85xx local configuration space read. Returns %0 on * Generates a MPC85xx local configuration space read. Returns %0 on
* success or %-EINVAL on failure. * success or %-EINVAL on failure.
*/ */
static int mpc85xx_local_config_read(int index, u32 offset, int len, u32 * data) static int fsl_local_config_read(int index, u32 offset, int len, u32 *data)
{ {
pr_debug("mpc85xx_local_config_read: index %d offset %8.8x\n", index, pr_debug("fsl_local_config_read: index %d offset %8.8x\n", index,
offset); offset);
*data = in_be32((void *)(regs_win + offset)); *data = in_be32((void *)(regs_win + offset));
...@@ -183,7 +183,7 @@ static int mpc85xx_local_config_read(int index, u32 offset, int len, u32 * data) ...@@ -183,7 +183,7 @@ static int mpc85xx_local_config_read(int index, u32 offset, int len, u32 * data)
} }
/** /**
* mpc85xx_local_config_write - Generate a MPC85xx local config space write * fsl_local_config_write - Generate a MPC85xx local config space write
* @index: ID of RapdiIO interface * @index: ID of RapdiIO interface
* @offset: Offset into configuration space * @offset: Offset into configuration space
* @len: Length (in bytes) of the maintenance transaction * @len: Length (in bytes) of the maintenance transaction
...@@ -192,10 +192,10 @@ static int mpc85xx_local_config_read(int index, u32 offset, int len, u32 * data) ...@@ -192,10 +192,10 @@ static int mpc85xx_local_config_read(int index, u32 offset, int len, u32 * data)
* Generates a MPC85xx local configuration space write. Returns %0 on * Generates a MPC85xx local configuration space write. Returns %0 on
* success or %-EINVAL on failure. * success or %-EINVAL on failure.
*/ */
static int mpc85xx_local_config_write(int index, u32 offset, int len, u32 data) static int fsl_local_config_write(int index, u32 offset, int len, u32 data)
{ {
pr_debug pr_debug
("mpc85xx_local_config_write: index %d offset %8.8x data %8.8x\n", ("fsl_local_config_write: index %d offset %8.8x data %8.8x\n",
index, offset, data); index, offset, data);
out_be32((void *)(regs_win + offset), data); out_be32((void *)(regs_win + offset), data);
...@@ -203,7 +203,7 @@ static int mpc85xx_local_config_write(int index, u32 offset, int len, u32 data) ...@@ -203,7 +203,7 @@ static int mpc85xx_local_config_write(int index, u32 offset, int len, u32 data)
} }
/** /**
* mpc85xx_rio_config_read - Generate a MPC85xx read maintenance transaction * fsl_rio_config_read - Generate a MPC85xx read maintenance transaction
* @index: ID of RapdiIO interface * @index: ID of RapdiIO interface
* @destid: Destination ID of transaction * @destid: Destination ID of transaction
* @hopcount: Number of hops to target device * @hopcount: Number of hops to target device
...@@ -215,13 +215,13 @@ static int mpc85xx_local_config_write(int index, u32 offset, int len, u32 data) ...@@ -215,13 +215,13 @@ static int mpc85xx_local_config_write(int index, u32 offset, int len, u32 data)
* success or %-EINVAL on failure. * success or %-EINVAL on failure.
*/ */
static int static int
mpc85xx_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len, fsl_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len,
u32 * val) u32 * val)
{ {
u8 *data; u8 *data;
pr_debug pr_debug
("mpc85xx_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n", ("fsl_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n",
index, destid, hopcount, offset, len); index, destid, hopcount, offset, len);
out_be32((void *)&maint_atmu_regs->rowtar, out_be32((void *)&maint_atmu_regs->rowtar,
(destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9));
...@@ -243,7 +243,7 @@ mpc85xx_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len, ...@@ -243,7 +243,7 @@ mpc85xx_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len,
} }
/** /**
* mpc85xx_rio_config_write - Generate a MPC85xx write maintenance transaction * fsl_rio_config_write - Generate a MPC85xx write maintenance transaction
* @index: ID of RapdiIO interface * @index: ID of RapdiIO interface
* @destid: Destination ID of transaction * @destid: Destination ID of transaction
* @hopcount: Number of hops to target device * @hopcount: Number of hops to target device
...@@ -255,12 +255,12 @@ mpc85xx_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len, ...@@ -255,12 +255,12 @@ mpc85xx_rio_config_read(int index, u16 destid, u8 hopcount, u32 offset, int len,
* success or %-EINVAL on failure. * success or %-EINVAL on failure.
*/ */
static int static int
mpc85xx_rio_config_write(int index, u16 destid, u8 hopcount, u32 offset, fsl_rio_config_write(int index, u16 destid, u8 hopcount, u32 offset,
int len, u32 val) int len, u32 val)
{ {
u8 *data; u8 *data;
pr_debug pr_debug
("mpc85xx_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n", ("fsl_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n",
index, destid, hopcount, offset, len, val); index, destid, hopcount, offset, len, val);
out_be32((void *)&maint_atmu_regs->rowtar, out_be32((void *)&maint_atmu_regs->rowtar,
(destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9));
...@@ -344,7 +344,7 @@ rio_hw_add_outb_message(struct rio_mport *mport, struct rio_dev *rdev, int mbox, ...@@ -344,7 +344,7 @@ rio_hw_add_outb_message(struct rio_mport *mport, struct rio_dev *rdev, int mbox,
EXPORT_SYMBOL_GPL(rio_hw_add_outb_message); EXPORT_SYMBOL_GPL(rio_hw_add_outb_message);
/** /**
* mpc85xx_rio_tx_handler - MPC85xx outbound message interrupt handler * fsl_rio_tx_handler - MPC85xx outbound message interrupt handler
* @irq: Linux interrupt number * @irq: Linux interrupt number
* @dev_instance: Pointer to interrupt-specific data * @dev_instance: Pointer to interrupt-specific data
* *
...@@ -352,7 +352,7 @@ EXPORT_SYMBOL_GPL(rio_hw_add_outb_message); ...@@ -352,7 +352,7 @@ EXPORT_SYMBOL_GPL(rio_hw_add_outb_message);
* mailbox event handler and acks the interrupt occurrence. * mailbox event handler and acks the interrupt occurrence.
*/ */
static irqreturn_t static irqreturn_t
mpc85xx_rio_tx_handler(int irq, void *dev_instance) fsl_rio_tx_handler(int irq, void *dev_instance)
{ {
int osr; int osr;
struct rio_mport *port = (struct rio_mport *)dev_instance; struct rio_mport *port = (struct rio_mport *)dev_instance;
...@@ -452,7 +452,7 @@ int rio_open_outb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entr ...@@ -452,7 +452,7 @@ int rio_open_outb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entr
/* Hook up outbound message handler */ /* Hook up outbound message handler */
if ((rc = if ((rc =
request_irq(MPC85xx_IRQ_RIO_TX, mpc85xx_rio_tx_handler, 0, request_irq(MPC85xx_IRQ_RIO_TX, fsl_rio_tx_handler, 0,
"msg_tx", (void *)mport)) < 0) "msg_tx", (void *)mport)) < 0)
goto out_irq; goto out_irq;
...@@ -511,7 +511,7 @@ void rio_close_outb_mbox(struct rio_mport *mport, int mbox) ...@@ -511,7 +511,7 @@ void rio_close_outb_mbox(struct rio_mport *mport, int mbox)
} }
/** /**
* mpc85xx_rio_rx_handler - MPC85xx inbound message interrupt handler * fsl_rio_rx_handler - MPC85xx inbound message interrupt handler
* @irq: Linux interrupt number * @irq: Linux interrupt number
* @dev_instance: Pointer to interrupt-specific data * @dev_instance: Pointer to interrupt-specific data
* *
...@@ -519,7 +519,7 @@ void rio_close_outb_mbox(struct rio_mport *mport, int mbox) ...@@ -519,7 +519,7 @@ void rio_close_outb_mbox(struct rio_mport *mport, int mbox)
* mailbox event handler and acks the interrupt occurrence. * mailbox event handler and acks the interrupt occurrence.
*/ */
static irqreturn_t static irqreturn_t
mpc85xx_rio_rx_handler(int irq, void *dev_instance) fsl_rio_rx_handler(int irq, void *dev_instance)
{ {
int isr; int isr;
struct rio_mport *port = (struct rio_mport *)dev_instance; struct rio_mport *port = (struct rio_mport *)dev_instance;
...@@ -597,7 +597,7 @@ int rio_open_inb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entri ...@@ -597,7 +597,7 @@ int rio_open_inb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entri
/* Hook up inbound message handler */ /* Hook up inbound message handler */
if ((rc = if ((rc =
request_irq(MPC85xx_IRQ_RIO_RX, mpc85xx_rio_rx_handler, 0, request_irq(MPC85xx_IRQ_RIO_RX, fsl_rio_rx_handler, 0,
"msg_rx", (void *)mport)) < 0) { "msg_rx", (void *)mport)) < 0) {
dma_free_coherent(NULL, RIO_MSG_BUFFER_SIZE, dma_free_coherent(NULL, RIO_MSG_BUFFER_SIZE,
msg_tx_ring.virt_buffer[i], msg_tx_ring.virt_buffer[i],
...@@ -729,7 +729,7 @@ void *rio_hw_get_inb_message(struct rio_mport *mport, int mbox) ...@@ -729,7 +729,7 @@ void *rio_hw_get_inb_message(struct rio_mport *mport, int mbox)
EXPORT_SYMBOL_GPL(rio_hw_get_inb_message); EXPORT_SYMBOL_GPL(rio_hw_get_inb_message);
/** /**
* mpc85xx_rio_dbell_handler - MPC85xx doorbell interrupt handler * fsl_rio_dbell_handler - MPC85xx doorbell interrupt handler
* @irq: Linux interrupt number * @irq: Linux interrupt number
* @dev_instance: Pointer to interrupt-specific data * @dev_instance: Pointer to interrupt-specific data
* *
...@@ -737,7 +737,7 @@ EXPORT_SYMBOL_GPL(rio_hw_get_inb_message); ...@@ -737,7 +737,7 @@ EXPORT_SYMBOL_GPL(rio_hw_get_inb_message);
* doorbell event handlers and executes a matching event handler. * doorbell event handlers and executes a matching event handler.
*/ */
static irqreturn_t static irqreturn_t
mpc85xx_rio_dbell_handler(int irq, void *dev_instance) fsl_rio_dbell_handler(int irq, void *dev_instance)
{ {
int dsr; int dsr;
struct rio_mport *port = (struct rio_mport *)dev_instance; struct rio_mport *port = (struct rio_mport *)dev_instance;
...@@ -794,14 +794,14 @@ mpc85xx_rio_dbell_handler(int irq, void *dev_instance) ...@@ -794,14 +794,14 @@ mpc85xx_rio_dbell_handler(int irq, void *dev_instance)
} }
/** /**
* mpc85xx_rio_doorbell_init - MPC85xx doorbell interface init * fsl_rio_doorbell_init - MPC85xx doorbell interface init
* @mport: Master port implementing the inbound doorbell unit * @mport: Master port implementing the inbound doorbell unit
* *
* Initializes doorbell unit hardware and inbound DMA buffer * Initializes doorbell unit hardware and inbound DMA buffer
* ring. Called from mpc85xx_rio_setup(). Returns %0 on success * ring. Called from fsl_rio_setup(). Returns %0 on success
* or %-ENOMEM on failure. * or %-ENOMEM on failure.
*/ */
static int mpc85xx_rio_doorbell_init(struct rio_mport *mport) static int fsl_rio_doorbell_init(struct rio_mport *mport)
{ {
int rc = 0; int rc = 0;
...@@ -835,7 +835,7 @@ static int mpc85xx_rio_doorbell_init(struct rio_mport *mport) ...@@ -835,7 +835,7 @@ static int mpc85xx_rio_doorbell_init(struct rio_mport *mport)
/* Hook up doorbell handler */ /* Hook up doorbell handler */
if ((rc = if ((rc =
request_irq(MPC85xx_IRQ_RIO_BELL, mpc85xx_rio_dbell_handler, 0, request_irq(MPC85xx_IRQ_RIO_BELL, fsl_rio_dbell_handler, 0,
"dbell_rx", (void *)mport) < 0)) { "dbell_rx", (void *)mport) < 0)) {
iounmap((void *)dbell_win); iounmap((void *)dbell_win);
dma_free_coherent(NULL, 512 * DOORBELL_MESSAGE_SIZE, dma_free_coherent(NULL, 512 * DOORBELL_MESSAGE_SIZE,
...@@ -854,7 +854,7 @@ static int mpc85xx_rio_doorbell_init(struct rio_mport *mport) ...@@ -854,7 +854,7 @@ static int mpc85xx_rio_doorbell_init(struct rio_mport *mport)
static char *cmdline = NULL; static char *cmdline = NULL;
static int mpc85xx_rio_get_hdid(int index) static int fsl_rio_get_hdid(int index)
{ {
/* XXX Need to parse multiple entries in some format */ /* XXX Need to parse multiple entries in some format */
if (!cmdline) if (!cmdline)
...@@ -863,7 +863,7 @@ static int mpc85xx_rio_get_hdid(int index) ...@@ -863,7 +863,7 @@ static int mpc85xx_rio_get_hdid(int index)
return simple_strtol(cmdline, NULL, 0); return simple_strtol(cmdline, NULL, 0);
} }
static int mpc85xx_rio_get_cmdline(char *s) static int fsl_rio_get_cmdline(char *s)
{ {
if (!s) if (!s)
return 0; return 0;
...@@ -872,10 +872,10 @@ static int mpc85xx_rio_get_cmdline(char *s) ...@@ -872,10 +872,10 @@ static int mpc85xx_rio_get_cmdline(char *s)
return 1; return 1;
} }
__setup("riohdid=", mpc85xx_rio_get_cmdline); __setup("riohdid=", fsl_rio_get_cmdline);
/** /**
* mpc85xx_rio_setup - Setup MPC85xx RapidIO interface * fsl_rio_setup - Setup MPC85xx RapidIO interface
* @law_start: Starting physical address of RapidIO LAW * @law_start: Starting physical address of RapidIO LAW
* @law_size: Size of RapidIO LAW * @law_size: Size of RapidIO LAW
* *
...@@ -883,17 +883,17 @@ __setup("riohdid=", mpc85xx_rio_get_cmdline); ...@@ -883,17 +883,17 @@ __setup("riohdid=", mpc85xx_rio_get_cmdline);
* master port with system-specific info, and registers the * master port with system-specific info, and registers the
* master port with the RapidIO subsystem. * master port with the RapidIO subsystem.
*/ */
void mpc85xx_rio_setup(int law_start, int law_size) void fsl_rio_setup(int law_start, int law_size)
{ {
struct rio_ops *ops; struct rio_ops *ops;
struct rio_mport *port; struct rio_mport *port;
ops = kmalloc(sizeof(struct rio_ops), GFP_KERNEL); ops = kmalloc(sizeof(struct rio_ops), GFP_KERNEL);
ops->lcread = mpc85xx_local_config_read; ops->lcread = fsl_local_config_read;
ops->lcwrite = mpc85xx_local_config_write; ops->lcwrite = fsl_local_config_write;
ops->cread = mpc85xx_rio_config_read; ops->cread = fsl_rio_config_read;
ops->cwrite = mpc85xx_rio_config_write; ops->cwrite = fsl_rio_config_write;
ops->dsend = mpc85xx_rio_doorbell_send; ops->dsend = fsl_rio_doorbell_send;
port = kmalloc(sizeof(struct rio_mport), GFP_KERNEL); port = kmalloc(sizeof(struct rio_mport), GFP_KERNEL);
port->id = 0; port->id = 0;
...@@ -909,7 +909,7 @@ void mpc85xx_rio_setup(int law_start, int law_size) ...@@ -909,7 +909,7 @@ void mpc85xx_rio_setup(int law_start, int law_size)
strcpy(port->name, "RIO0 mport"); strcpy(port->name, "RIO0 mport");
port->ops = ops; port->ops = ops;
port->host_deviceid = mpc85xx_rio_get_hdid(port->id); port->host_deviceid = fsl_rio_get_hdid(port->id);
rio_register_mport(port); rio_register_mport(port);
...@@ -928,5 +928,5 @@ void mpc85xx_rio_setup(int law_start, int law_size) ...@@ -928,5 +928,5 @@ void mpc85xx_rio_setup(int law_start, int law_size)
/* Configure outbound doorbell window */ /* Configure outbound doorbell window */
out_be32((void *)&dbell_atmu_regs->rowbar, 0x000c0400); out_be32((void *)&dbell_atmu_regs->rowbar, 0x000c0400);
out_be32((void *)&dbell_atmu_regs->rowar, 0x8004200b); out_be32((void *)&dbell_atmu_regs->rowar, 0x8004200b);
mpc85xx_rio_doorbell_init(port); fsl_rio_doorbell_init(port);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment