diff --git a/debian/changelog b/debian/changelog index cf2f0a356..d211460dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -23,6 +23,10 @@ linux-2.6 (2.6.23~rc3-1~experimental.1) UNRELEASED; urgency=low * Enable TCG_TPM various userspace accesses it. (closes: #439020) * Disable USB_SUSPEND due to various breakage. (closes: #435257, #419197) + [ Martin Michlmayr ] + * [mips] Add a bcm1480 PCI build fix. + * [mips] Add a bcm1480 serial build fix. + -- maximilian attems Fri, 24 Aug 2007 15:01:08 +0200 linux-2.6 (2.6.22-2) UNRELEASED; urgency=low diff --git a/debian/patches/bugfix/mips/bcm1480-pci-build-fix.patch b/debian/patches/bugfix/mips/bcm1480-pci-build-fix.patch new file mode 100644 index 000000000..d28d96000 --- /dev/null +++ b/debian/patches/bugfix/mips/bcm1480-pci-build-fix.patch @@ -0,0 +1,37 @@ +The appended patch restores building the bcm1480 kernel. The brokenness +noted there is apparently not immediately fatal, as the resulting kernel +successfully drives a SATA RAID on PCI-X. + +Presumably the sb1250 pcibios_map_irq is broken in the same way. + + +Thiemo + + +Signed-Off-By: Thiemo Seufer + +diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c +index 2b4e30c..0193aad 100644 +--- a/arch/mips/pci/pci-bcm1480.c ++++ b/arch/mips/pci/pci-bcm1480.c +@@ -76,7 +76,7 @@ static inline void WRITECFG32(u32 addr, u32 data) + + int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) + { +- This is b0rked. ++ /* XXX: This is b0rked. */ + return dev->irq; + } + +diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c +index c1ac649..7af499e 100644 +--- a/arch/mips/pci/pci-sb1250.c ++++ b/arch/mips/pci/pci-sb1250.c +@@ -86,6 +86,7 @@ static inline void WRITECFG32(u32 addr, u32 data) + + int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) + { ++ /* XXX: This is b0rked. */ + return dev->irq; + } + diff --git a/debian/patches/bugfix/mips/bcm1480-serial-build-fix.patch b/debian/patches/bugfix/mips/bcm1480-serial-build-fix.patch new file mode 100644 index 000000000..050c7bbd7 --- /dev/null +++ b/debian/patches/bugfix/mips/bcm1480-serial-build-fix.patch @@ -0,0 +1,46 @@ +The appended patch restores serial functionality for the bcm1480. + +I glued this together without reading documentation, so I'm not sure if +it is fully correct. It is good enough to build a kernel and have a +working serial console. + + +Signed-Off-By: Thiemo Seufer + +diff --git a/drivers/serial/sb1250-duart.c b/drivers/serial/sb1250-duart.c +index 1d9d728..e7f5c0e 100644 +--- a/drivers/serial/sb1250-duart.c ++++ b/drivers/serial/sb1250-duart.c +@@ -57,6 +57,12 @@ + #define SBD_CTRLREGS(line) A_BCM1480_DUART_CTRLREG((line), 0) + #define SBD_INT(line) (K_BCM1480_INT_UART_0 + (line)) + ++#define DUART_CHANREG_SPACING BCM1480_DUART_CHANREG_SPACING ++ ++#define R_DUART_IMRREG(line) R_BCM1480_DUART_IMRREG(line) ++#define R_DUART_INCHREG(line) R_BCM1480_DUART_INCHREG(line) ++#define R_DUART_ISRREG(line) R_BCM1480_DUART_ISRREG(line) ++ + #elif defined(CONFIG_SIBYTE_SB1250) || defined(CONFIG_SIBYTE_BCM112X) + #include + #include +diff --git a/include/asm-mips/sibyte/bcm1480_regs.h b/include/asm-mips/sibyte/bcm1480_regs.h +index 2738c13..c34d36b 100644 +--- a/include/asm-mips/sibyte/bcm1480_regs.h ++++ b/include/asm-mips/sibyte/bcm1480_regs.h +@@ -227,10 +227,15 @@ + (A_BCM1480_DUART(chan) + \ + BCM1480_DUART_CHANREG_SPACING * 3 + (reg)) + ++#define DUART_IMRISR_SPACING 0x20 ++#define DUART_INCHNG_SPACING 0x10 ++ + #define R_BCM1480_DUART_IMRREG(chan) \ + (R_DUART_IMR_A + ((chan) & 1) * DUART_IMRISR_SPACING) + #define R_BCM1480_DUART_ISRREG(chan) \ + (R_DUART_ISR_A + ((chan) & 1) * DUART_IMRISR_SPACING) ++#define R_BCM1480_DUART_INCHREG(chan) \ ++ (R_DUART_IN_CHNG_A + ((chan) & 1) * DUART_INCHNG_SPACING) + + #define A_BCM1480_DUART_IMRREG(chan) \ + (A_BCM1480_DUART_CTRLREG((chan), R_BCM1480_DUART_IMRREG(chan))) diff --git a/debian/patches/series/1~experimental.1 b/debian/patches/series/1~experimental.1 index ef65d9ea0..27978b178 100644 --- a/debian/patches/series/1~experimental.1 +++ b/debian/patches/series/1~experimental.1 @@ -16,6 +16,8 @@ + bugfix/mips/sgi-ioc3.patch + bugfix/mips/tulip_dc21143.patch + bugfix/mips/cobalt-ide-resources.patch ++ bugfix/mips/bcm1480-pci-build-fix.patch ++ bugfix/mips/bcm1480-serial-build-fix.patch #+ features/arm/ixp4xx-npe-driver-0.3.1.patch #+ features/arm/ixp4xx-net-driver-improve-mac-handling.patch + features/arm/nslu2-i2c-gpio-driver-support.patch