Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb18858e authored by Hiroshi DOYU's avatar Hiroshi DOYU Committed by Tony Lindgren
Browse files

omap: mailbox: Expose omap_mbox_enable()/disable_irq()



Expose omap_mbox_enable()/disable_irq()

Signed-off-by: default avatarHiroshi DOYU <Hiroshi.DOYU@nokia.com>
parent b2b6362e
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -92,4 +92,16 @@ static inline void omap_mbox_restore_ctx(struct omap_mbox *mbox)
	mbox->ops->restore_ctx(mbox);
	mbox->ops->restore_ctx(mbox);
}
}


static inline void omap_mbox_enable_irq(struct omap_mbox *mbox,
					omap_mbox_irq_t irq)
{
	mbox->ops->enable_irq(mbox, irq);
}

static inline void omap_mbox_disable_irq(struct omap_mbox *mbox,
					 omap_mbox_irq_t irq)
{
	mbox->ops->disable_irq(mbox, irq);
}

#endif /* MAILBOX_H */
#endif /* MAILBOX_H */
+2 −10
Original line number Original line Diff line number Diff line
@@ -50,14 +50,6 @@ static inline int mbox_fifo_full(struct omap_mbox *mbox)
}
}


/* Mailbox IRQ handle functions */
/* Mailbox IRQ handle functions */
static inline void enable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
{
	mbox->ops->enable_irq(mbox, irq);
}
static inline void disable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
{
	mbox->ops->disable_irq(mbox, irq);
}
static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
{
{
	if (mbox->ops->ack_irq)
	if (mbox->ops->ack_irq)
@@ -144,7 +136,7 @@ static void mbox_tx_work(struct work_struct *work)


		ret = __mbox_msg_send(mbox, tx_data->msg);
		ret = __mbox_msg_send(mbox, tx_data->msg);
		if (ret) {
		if (ret) {
			enable_mbox_irq(mbox, IRQ_TX);
			omap_mbox_enable_irq(mbox, IRQ_TX);
			spin_lock(q->queue_lock);
			spin_lock(q->queue_lock);
			blk_requeue_request(q, rq);
			blk_requeue_request(q, rq);
			spin_unlock(q->queue_lock);
			spin_unlock(q->queue_lock);
@@ -196,7 +188,7 @@ static void mbox_rxq_fn(struct request_queue *q)


static void __mbox_tx_interrupt(struct omap_mbox *mbox)
static void __mbox_tx_interrupt(struct omap_mbox *mbox)
{
{
	disable_mbox_irq(mbox, IRQ_TX);
	omap_mbox_disable_irq(mbox, IRQ_TX);
	ack_mbox_irq(mbox, IRQ_TX);
	ack_mbox_irq(mbox, IRQ_TX);
	schedule_work(&mbox->txq->work);
	schedule_work(&mbox->txq->work);
}
}