Received: from mail.onstor.com (66.201.51.107) by exch1.onstor.net
 (10.0.0.225) with Microsoft SMTP Server id 8.1.311.2; Tue, 11 Nov 2008
 15:16:37 -0800
Received: from ausesmta2-3.messageone.com ([64.20.241.45]) by mail.onstor.com
 with Microsoft SMTPSVC(6.0.3790.3959);	 Tue, 11 Nov 2008 15:16:37 -0800
Received: from ftp.linux-mips.org (ftp.linux-mips.org [213.58.128.207])	by
 ausesmta2-3.messageone.com (8.13.8/8.13.8) with ESMTP id mABNGZ4u012276	for
 <andy.sharp@onstor.com>; Tue, 11 Nov 2008 17:16:36 -0600
Received: from localhost.localdomain ([127.0.0.1]:62402 "EHLO
	ftp.linux-mips.org") by ftp.linux-mips.org with ESMTP	id S23620773AbYKKXQc
 (ORCPT <rfc822;andy.sharp@onstor.com>);	Tue, 11 Nov 2008 23:16:32 +0000
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 11 Nov 2008 23:16:16
 +0000 (GMT)
Received: from orbit.nwl.cc ([81.169.176.177]:44967 "EHLO
	mail.ifyouseekate.net") by ftp.linux-mips.org with ESMTP	id S23619955AbYKKXQN
 (ORCPT <rfc822;linux-mips@linux-mips.org>);	Tue, 11 Nov 2008 23:16:13 +0000
Received: from base (localhost [127.0.0.1])	by mail.ifyouseekate.net (Postfix)
 with ESMTP id F052638F995C;	Wed, 12 Nov 2008 00:16:07 +0100 (CET)
From: Phil Sutter <n0-1@freewrt.org>
To: "ralf@linux-mips.org" <ralf@linux-mips.org>
CC: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>,
	"florian@openwrt.org" <florian@openwrt.org>
Sender: "linux-mips-bounce@linux-mips.org" <linux-mips-bounce@linux-mips.org>
Date: Tue, 11 Nov 2008 15:16:04 -0800
Subject: [PATCH] define io_map_base for rc32434's PCI controller
Thread-Topic: [PATCH] define io_map_base for rc32434's PCI controller
Thread-Index: AclEU4vdlaZvj8QTQKurL8oSHk1bug==
Message-ID: <1226445364-5402-1-git-send-email-n0-1@freewrt.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 0b
X-MS-Exchange-Organization-AuthSource: exch1.onstor.net
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-TNEF-Correlator:
x-originalarrivaltime: 11 Nov 2008 23:16:37.0154 (UTC)
 FILETIME=[8B94F820:01C94453]
errors-to: linux-mips-bounce@linux-mips.org
x-ems-proccessed: 2K3Xl1OQTInXD6xxuA8z3Q==
x-ems-stamp: T2I6GmlO3J6Hz8T9yw5K9g==
x-messageone-virus-version: vendor=fsecure
 engine=4.65.7400:2.4.4,1.2.40,4.0.164
 definitions=2008-11-11_17:2008-11-10,2008-11-11,2008-11-11 signatures=0
x-messageone-virus-scanned: Clean
x-messageone-envelope-sender: linux-mips-bounce@linux-mips.org
x-messageone-spam-details: rule=m773emszm_notspam policy=m773emszm score=0
 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam
 adjust=0 reason=mlx engine=3.1.0-0810130000 definitions=main-0811110162
x-messageone-spam-score: 0
x-messageone-spam-bar:
x-list: linux-mips
x-archive-position: 21254
x-ecartis-version: Ecartis v1.0.0
x-original-sender: n0-1@freewrt.org
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

The code is rather based on trial-and-error than knowledge. Verified Via
Rhine functionality in PIO as well as MMIO mode.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Tested-by: Florian Fainelli <florian@openwrt.org>
---
 arch/mips/pci/pci-rc32434.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/mips/pci/pci-rc32434.c b/arch/mips/pci/pci-rc32434.c
index 1c2821e..71f7d27 100644
--- a/arch/mips/pci/pci-rc32434.c
+++ b/arch/mips/pci/pci-rc32434.c
@@ -205,6 +205,8 @@ static int __init rc32434_pcibridge_init(void)
=20
 static int __init rc32434_pci_init(void)
 {
+	void __iomem *io_map_base;
+
 	pr_info("PCI: Initializing PCI\n");
=20
 	ioport_resource.start =3D rc32434_res_pci_io1.start;
@@ -212,6 +214,15 @@ static int __init rc32434_pci_init(void)
=20
 	rc32434_pcibridge_init();
=20
+	io_map_base =3D ioremap(rc32434_res_pci_io1.start,
+		rc32434_res_pci_io1.end - rc32434_res_pci_io1.start + 1);
+
+	if (!io_map_base)
+		return -ENOMEM;
+
+	rc32434_controller.io_map_base =3D
+		(unsigned long)io_map_base - rc32434_res_pci_io1.start;
+
 	register_pci_controller(&rc32434_controller);
 	rc32434_sync();
=20
--=20
1.5.6.4


