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

Commit 891eca14 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3540/1: ixp23xx: deal with gap in interrupt bitmasks
  [ARM] 3539/1: ixp23xx: fix __arch_ixp23xx_is_coherent() for A1 stepping
parents 48e49ead ec8510f6
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -178,8 +178,12 @@ static int ixp23xx_irq_set_type(unsigned int irq, unsigned int type)

static void ixp23xx_irq_mask(unsigned int irq)
{
	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	volatile unsigned long *intr_reg;

	if (irq >= 56)
		irq += 8;

	intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	*intr_reg &= ~(1 << (irq % 32));
}

@@ -199,17 +203,25 @@ static void ixp23xx_irq_ack(unsigned int irq)
 */
static void ixp23xx_irq_level_unmask(unsigned int irq)
{
	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	volatile unsigned long *intr_reg;

	ixp23xx_irq_ack(irq);

	if (irq >= 56)
		irq += 8;

	intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	*intr_reg |= (1 << (irq % 32));
}

static void ixp23xx_irq_edge_unmask(unsigned int irq)
{
	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	volatile unsigned long *intr_reg;

	if (irq >= 56)
		irq += 8;

	intr_reg = IXP23XX_INTR_EN1 + (irq / 32);
	*intr_reg |= (1 << (irq % 32));
}

+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ static inline int __ixp23xx_arch_is_coherent(void)
{
	extern unsigned int processor_id;

	if (((processor_id & 15) >= 2) || machine_is_roadrunner())
	if (((processor_id & 15) >= 4) || machine_is_roadrunner())
		return 1;

	return 0;