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

Commit 8126708a authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Benjamin Herrenschmidt
Browse files

powerpc: platforms/ps3 irq_data conversion.

parent d8c94aca
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -99,16 +99,16 @@ static DEFINE_PER_CPU(struct ps3_private, ps3_private);
 * Sets ps3_bmp.mask and calls lv1_did_update_interrupt_mask().
 */

static void ps3_chip_mask(unsigned int virq)
static void ps3_chip_mask(struct irq_data *d)
{
	struct ps3_private *pd = get_irq_chip_data(virq);
	struct ps3_private *pd = irq_data_get_irq_chip_data(d);
	unsigned long flags;

	pr_debug("%s:%d: thread_id %llu, virq %d\n", __func__, __LINE__,
		pd->thread_id, virq);
		pd->thread_id, d->irq);

	local_irq_save(flags);
	clear_bit(63 - virq, &pd->bmp.mask);
	clear_bit(63 - d->irq, &pd->bmp.mask);
	lv1_did_update_interrupt_mask(pd->ppe_id, pd->thread_id);
	local_irq_restore(flags);
}
@@ -120,16 +120,16 @@ static void ps3_chip_mask(unsigned int virq)
 * Clears ps3_bmp.mask and calls lv1_did_update_interrupt_mask().
 */

static void ps3_chip_unmask(unsigned int virq)
static void ps3_chip_unmask(struct irq_data *d)
{
	struct ps3_private *pd = get_irq_chip_data(virq);
	struct ps3_private *pd = irq_data_get_irq_chip_data(d);
	unsigned long flags;

	pr_debug("%s:%d: thread_id %llu, virq %d\n", __func__, __LINE__,
		pd->thread_id, virq);
		pd->thread_id, d->irq);

	local_irq_save(flags);
	set_bit(63 - virq, &pd->bmp.mask);
	set_bit(63 - d->irq, &pd->bmp.mask);
	lv1_did_update_interrupt_mask(pd->ppe_id, pd->thread_id);
	local_irq_restore(flags);
}
@@ -141,10 +141,10 @@ static void ps3_chip_unmask(unsigned int virq)
 * Calls lv1_end_of_interrupt_ext().
 */

static void ps3_chip_eoi(unsigned int virq)
static void ps3_chip_eoi(struct irq_data *d)
{
	const struct ps3_private *pd = get_irq_chip_data(virq);
	lv1_end_of_interrupt_ext(pd->ppe_id, pd->thread_id, virq);
	const struct ps3_private *pd = irq_data_get_irq_chip_data(d);
	lv1_end_of_interrupt_ext(pd->ppe_id, pd->thread_id, d->irq);
}

/**
@@ -153,9 +153,9 @@ static void ps3_chip_eoi(unsigned int virq)

static struct irq_chip ps3_irq_chip = {
	.name = "ps3",
	.mask = ps3_chip_mask,
	.unmask = ps3_chip_unmask,
	.eoi = ps3_chip_eoi,
	.irq_mask = ps3_chip_mask,
	.irq_unmask = ps3_chip_unmask,
	.irq_eoi = ps3_chip_eoi,
};

/**
@@ -202,7 +202,7 @@ static int ps3_virq_setup(enum ps3_cpu_binding cpu, unsigned long outlet,
		goto fail_set;
	}

	ps3_chip_mask(*virq);
	ps3_chip_mask(irq_get_irq_data(*virq));

	return result;

@@ -296,7 +296,7 @@ int ps3_irq_plug_destroy(unsigned int virq)
	pr_debug("%s:%d: ppe_id %llu, thread_id %llu, virq %u\n", __func__,
		__LINE__, pd->ppe_id, pd->thread_id, virq);

	ps3_chip_mask(virq);
	ps3_chip_mask(irq_get_irq_data(virq));

	result = lv1_disconnect_irq_plug_ext(pd->ppe_id, pd->thread_id, virq);

@@ -357,7 +357,7 @@ int ps3_event_receive_port_destroy(unsigned int virq)

	pr_debug(" -> %s:%d virq %u\n", __func__, __LINE__, virq);

	ps3_chip_mask(virq);
	ps3_chip_mask(irq_get_irq_data(virq));

	result = lv1_destruct_event_receive_port(virq_to_hw(virq));

@@ -492,7 +492,7 @@ int ps3_io_irq_destroy(unsigned int virq)
	int result;
	unsigned long outlet = virq_to_hw(virq);

	ps3_chip_mask(virq);
	ps3_chip_mask(irq_get_irq_data(virq));

	/*
	 * lv1_destruct_io_irq_outlet() will destroy the IRQ plug,
@@ -553,7 +553,7 @@ int ps3_vuart_irq_destroy(unsigned int virq)
{
	int result;

	ps3_chip_mask(virq);
	ps3_chip_mask(irq_get_irq_data(virq));
	result = lv1_deconfigure_virtual_uart_irq();

	if (result) {
@@ -605,7 +605,7 @@ int ps3_spe_irq_destroy(unsigned int virq)
{
	int result;

	ps3_chip_mask(virq);
	ps3_chip_mask(irq_get_irq_data(virq));

	result = ps3_irq_plug_destroy(virq);
	BUG_ON(result);