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

Commit bec0204d authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Ralf Baechle
Browse files

Actually route cPCI interrupts. Update inaccurate comments.

parent c6237645
Loading
Loading
Loading
Loading
+32 −9
Original line number Diff line number Diff line
/*
 * Copyright (C) 2003, 2004  Ralf Baechle (ralf@linux-mips.org)
 * Copyright (C) 2005  MIPS Technologies, Inc.  All rights reserved.
 *	Author:	 Maciej W. Rozycki <macro@mips.com>
 *
 *  This program is free software; you can distribute it and/or modify it
 *  under the terms of the GNU General Public License (Version 2) as
 *  published by the Free Software Foundation.
 *
 *  This program is distributed in the hope it will be useful, but WITHOUT
 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 *  for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
 */
#include <linux/config.h>
#include <linux/init.h>
#include <linux/pci.h>

#include <asm/mips-boards/atlasint.h>

#define INTD		ATLASINT_INTD
#define INTC		ATLASINT_INTC
#define INTB		ATLASINT_INTB
#define PCIA		ATLASINT_PCIA
#define PCIB		ATLASINT_PCIB
#define PCIC		ATLASINT_PCIC
#define PCID		ATLASINT_PCID
#define INTA		ATLASINT_INTA
#define SCSI		ATLASINT_SCSI
#define INTB		ATLASINT_INTB
#define ETH		ATLASINT_ETH
#define INTC		ATLASINT_INTC
#define SCSI		ATLASINT_SCSI
#define INTD		ATLASINT_INTD

static char irq_tab[][5] __initdata = {
	/*      INTA    INTB    INTC    INTD */
@@ -27,13 +50,13 @@ static char irq_tab[][5] __initdata = {
	{0,	0,	0,	0,	0 },	/* 12: Unused */
	{0,	0,	0,	0,	0 },	/* 13: Unused */
	{0,	0,	0,	0,	0 },	/* 14: Unused */
	{0,	0,	0,	0,	0 },	/* 15: Unused */
	{0,	PCIA,	PCIB,	PCIC,	PCID },	/* 15: cPCI (behind 21150) */
	{0,	SCSI,	0,	0,	0 },	/* 16: SYM53C810A SCSI */
	{0,	0,	0,	0,	0 },	/* 17: Core */
	{0,	INTA,	INTB,	INTC,	INTD },	/* 18: PCI Slot 1 */
	{0,	ETH,	0,	0,	0 },	/* 19: SAA9730 Ethernet */
	{0,	0,	0,	0,	0 },	/* 20: PCI Slot 3 */
	{0,	0,	0,	0,	0 }	/* 21: PCI Slot 4 */
	{0,	INTA,	INTB,	INTC,	INTD },	/* 18: PCI Slot */
	{0,	ETH,	0,	0,	0 },	/* 19: SAA9730 Eth. et al. */
	{0,	0,	0,	0,	0 },	/* 20: Unused */
	{0,	0,	0,	0,	0 }	/* 21: Unused */
};

int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)