* [PATCH 0/8] au1xmmc updates #4
@ 2008-06-09 6:35 Manuel Lauss
2008-06-09 6:36 ` [PATCH 1/8] au1xmmc: remove db1200 board code, rewrite probe Manuel Lauss
` (7 more replies)
0 siblings, 8 replies; 23+ messages in thread
From: Manuel Lauss @ 2008-06-09 6:35 UTC (permalink / raw)
To: linux-mips, sshtylyov, drzeus, linux-kernel
Hello,
The following set of patches updates the au1xmmc driver with new features
and moves code not belonging to the driver source to MIPS/Alchemy board
files.
I also took the opportunity to clean up the drivers probe() and irq()
handlers to make it a "proper" platform device (patches #1 and #2).
Patches #3, #4 and #6 implement new features, #5 and #7 are cleanups.
The patches are intended to be applied on top of each other, against
current mainline git (2.6.23-rc5+).
Changes since V3:
- previous patches #1 and #2 are dropped since they are already upstream.
("Alchemy: export get_au1x00_speed for modules" and
"Alchemy: dbdma: add API to delete custom DDMA device")
- few additional minor fixes and patches folded into others.
- I'm taking over maintainership of the driver for as long as I have
hardware to test it on.
Changes since V2:
- address almost all Sergei Shtylyov's comments:
pb1200/db1200 mmc device registration moved back to original location,
remove the au1xmmc.h header as part of codingstyle cleanup
other nits.
- 2 more patches (#8, #9)
Changes since V1:
- fix a bug in patch #6: SDIO irq should be checked for independently
from other irq events.
- more trivial cleanups
Db1200 users, please test! I verified the poll timer works on one of
older boards, however since I don't have Db1200 and Pb1200 boards I'm
not sure whether the driver still works with both SD controllers enabled!
Thanks!
Manuel Lauss
^ permalink raw reply [flat|nested] 23+ messages in thread* [PATCH 1/8] au1xmmc: remove db1200 board code, rewrite probe. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss @ 2008-06-09 6:36 ` Manuel Lauss 2008-06-09 6:37 ` [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards Manuel Lauss ` (6 subsequent siblings) 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:36 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss 2008-06-09 6:36 ` [PATCH 1/8] au1xmmc: remove db1200 board code, rewrite probe Manuel Lauss @ 2008-06-09 6:37 ` Manuel Lauss 2008-06-12 9:02 ` Ralf Baechle 2008-06-09 6:37 ` [PATCH 3/8] au1xmmc: enable 4 bit transfer mode Manuel Lauss ` (5 subsequent siblings) 7 siblings, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:37 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-09 6:37 ` [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards Manuel Lauss @ 2008-06-12 9:02 ` Ralf Baechle 2008-06-12 10:18 ` Ralf Baechle 0 siblings, 1 reply; 23+ messages in thread From: Ralf Baechle @ 2008-06-12 9:02 UTC (permalink / raw) To: Manuel Lauss; +Cc: linux-mips, sshtylyov, drzeus, linux-kernel On Mon, Jun 09, 2008 at 08:37:02AM +0200, Manuel Lauss wrote: Only a few small nits ... > >From 536f44d2947f3883016b927a621e30782bd3149f Mon Sep 17 00:00:00 2001 > From: Manuel Lauss <mlau@msc-ge.com> > Date: Sat, 17 May 2008 17:48:02 +0200 > Subject: [PATCH] Alchemy: register mmc platform device for db1200/pb1200 boards Please only post as part of the body what is supposed to go into the commit message. Three of these lines are junk which the maintainer applying the patch will have to remove ... > Add au1xmmc platform data for PB1200/DB1200 boards, and wire up > the 2 SD controllers for them. > > Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> > --- > arch/mips/au1000/common/platform.c | 99 +++++++++++++++++++++++++++--------- > arch/mips/au1000/pb1200/platform.c | 81 +++++++++++++++++++++++++++++ > 2 files changed, 156 insertions(+), 24 deletions(-) > > diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c > index 8cae775..c235434 100644 > --- a/arch/mips/au1000/common/platform.c > +++ b/arch/mips/au1000/common/platform.c > @@ -16,6 +16,8 @@ > #include <linux/init.h> > > #include <asm/mach-au1x00/au1xxx.h> > +#include <asm/mach-au1x00/au1xxx_dbdma.h> > +#include <asm/mach-au1x00/au1100_mmc.h> > > #define PORT(_base, _irq) \ > { \ > @@ -162,24 +164,6 @@ static struct resource au1xxx_usb_gdt_resources[] = { > }, > }; > > -static struct resource au1xxx_mmc_resources[] = { > - [0] = { > - .start = SD0_PHYS_ADDR, > - .end = SD0_PHYS_ADDR + 0x40, > - .flags = IORESOURCE_MEM, > - }, > - [1] = { > - .start = SD1_PHYS_ADDR, > - .end = SD1_PHYS_ADDR + 0x40, > - .flags = IORESOURCE_MEM, > - }, > - [2] = { > - .start = AU1200_SD_INT, > - .end = AU1200_SD_INT, > - .flags = IORESOURCE_IRQ, > - } > -}; > - > static u64 udc_dmamask = ~(u32)0; Okay, you didn't change this line but using DMA_32BIT_MASK would be cleaner ... > static struct platform_device au1xxx_usb_gdt_device = { > @@ -248,16 +232,80 @@ static struct platform_device au1200_lcd_device = { > > static u64 au1xxx_mmc_dmamask = ~(u32)0; Ditto. > -static struct platform_device au1xxx_mmc_device = { > +extern struct au1xmmc_platform_data au1xmmc_platdata[2]; > + > +static struct resource au1200_mmc0_resources[] = { > + [0] = { > + .start = SD0_PHYS_ADDR, > + .end = SD0_PHYS_ADDR + 0x7ffff, > + .flags = IORESOURCE_MEM, > + }, > + [1] = { > + .start = AU1200_SD_INT, > + .end = AU1200_SD_INT, > + .flags = IORESOURCE_IRQ, > + }, > + [2] = { > + .start = DSCR_CMD0_SDMS_TX0, > + .end = DSCR_CMD0_SDMS_TX0, > + .flags = IORESOURCE_DMA, > + }, > + [3] = { > + .start = DSCR_CMD0_SDMS_RX0, > + .end = DSCR_CMD0_SDMS_RX0, > + .flags = IORESOURCE_DMA, > + } > +}; > + > +static struct platform_device au1200_mmc0_device = { > .name = "au1xxx-mmc", > .id = 0, > .dev = { > - .dma_mask = &au1xxx_mmc_dmamask, > - .coherent_dma_mask = 0xffffffff, > + .dma_mask = &au1xxx_mmc_dmamask, > + .coherent_dma_mask = 0xffffffff, DMA_32BIT_MASK. > + .platform_data = &au1xmmc_platdata[0], > }, > - .num_resources = ARRAY_SIZE(au1xxx_mmc_resources), > - .resource = au1xxx_mmc_resources, > + .num_resources = ARRAY_SIZE(au1200_mmc0_resources), > + .resource = au1200_mmc0_resources, > }; > + > +#ifndef CONFIG_MIPS_DB1200 > +static struct resource au1200_mmc1_resources[] = { > + [0] = { > + .start = SD1_PHYS_ADDR, > + .end = SD1_PHYS_ADDR + 0x7ffff, > + .flags = IORESOURCE_MEM, > + }, > + [1] = { > + .start = AU1200_SD_INT, > + .end = AU1200_SD_INT, > + .flags = IORESOURCE_IRQ, > + }, > + [2] = { > + .start = DSCR_CMD0_SDMS_TX1, > + .end = DSCR_CMD0_SDMS_TX1, > + .flags = IORESOURCE_DMA, > + }, > + [3] = { > + .start = DSCR_CMD0_SDMS_RX1, > + .end = DSCR_CMD0_SDMS_RX1, > + .flags = IORESOURCE_DMA, > + } > +}; > + > + > +static struct platform_device au1200_mmc1_device = { > + .name = "au1xxx-mmc", > + .id = 1, > + .dev = { > + .dma_mask = &au1xxx_mmc_dmamask, > + .coherent_dma_mask = 0xffffffff, DMA_32BIT_MASK. > + .platform_data = &au1xmmc_platdata[1], > + }, > + .num_resources = ARRAY_SIZE(au1200_mmc1_resources), > + .resource = au1200_mmc1_resources, > +}; > +#endif /* #ifndef CONFIG_MIPS_DB1200 */ > #endif /* #ifdef CONFIG_SOC_AU1200 */ > > static struct platform_device au1x00_pcmcia_device = { > @@ -295,7 +343,10 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = { > &au1xxx_usb_gdt_device, > &au1xxx_usb_otg_device, > &au1200_lcd_device, > - &au1xxx_mmc_device, > + &au1200_mmc0_device, > +#ifndef CONFIG_MIPS_DB1200 > + &au1200_mmc1_device, > +#endif > #endif > #ifdef SMBUS_PSC_BASE > &pbdb_smbus_device, > diff --git a/arch/mips/au1000/pb1200/platform.c b/arch/mips/au1000/pb1200/platform.c > index 5930110..faf3d92 100644 > --- a/arch/mips/au1000/pb1200/platform.c > +++ b/arch/mips/au1000/pb1200/platform.c > @@ -19,9 +19,90 @@ > */ > > #include <linux/init.h> > +#include <linux/leds.h> > #include <linux/platform_device.h> > > #include <asm/mach-au1x00/au1xxx.h> > +#include <asm/mach-au1x00/au1100_mmc.h> > + > +static int mmc_activity = 0; Don't initialize static variables to 0. > + > +static void pb1200mmc0_set_power(void *mmc_host, int state) > +{ > + if (state) > + bcsr->board |= BCSR_BOARD_SD0PWR; > + else > + bcsr->board &= ~BCSR_BOARD_SD0PWR; > + > + au_sync_delay(1); > +} > + > +static int pb1200mmc0_card_readonly(void *mmc_host) > +{ > + return (bcsr->status & BCSR_STATUS_SD0WP) ? 1 : 0; > +} > + > +static int pb1200mmc0_card_inserted(void *mmc_host) > +{ > + return (bcsr->sig_status & BCSR_INT_SD0INSERT) ? 1 : 0; > +} > + > +static void pb1200_mmcled_set(struct led_classdev *led, > + enum led_brightness brightness) > +{ > + if (brightness != LED_OFF) { > + if (++mmc_activity == 1) > + bcsr->disk_leds &= ~(1 << 8); > + } else { > + if (--mmc_activity == 0) > + bcsr->disk_leds |= (1 << 8); > + } > +} > + > +static struct led_classdev pb1200mmc_led = { > + .brightness_set = pb1200_mmcled_set, > +}; > + > +#ifndef CONFIG_MIPS_DB1200 > +static void pb1200mmc1_set_power(void *mmc_host, int state) > +{ > + if (state) > + bcsr->board |= BCSR_BOARD_SD1PWR; > + else > + bcsr->board &= ~BCSR_BOARD_SD1PWR; > + > + au_sync_delay(1); > +} > + > +static int pb1200mmc1_card_readonly(void *mmc_host) > +{ > + return (bcsr->status & BCSR_STATUS_SD1WP) ? 1 : 0; > +} > + > +static int pb1200mmc1_card_inserted(void *mmc_host) > +{ > + return (bcsr->sig_status & BCSR_INT_SD1INSERT) ? 1 : 0; > +} > +#endif > + > +const struct au1xmmc_platform_data au1xmmc_platdata[2] = { > + [0] = { > + .set_power = pb1200mmc0_set_power, > + .card_inserted = pb1200mmc0_card_inserted, > + .card_readonly = pb1200mmc0_card_readonly, > + .cd_setup = NULL, /* use poll-timer in driver */ > + .led = &pb1200mmc_led, > + }, > +#ifndef CONFIG_MIPS_DB1200 > + [1] = { > + .set_power = pb1200mmc1_set_power, > + .card_inserted = pb1200mmc1_card_inserted, > + .card_readonly = pb1200mmc1_card_readonly, > + .cd_setup = NULL, /* use poll-timer in driver */ > + .led = &pb1200mmc_led, > + }, > +#endif > +}; > > static struct resource ide_resources[] = { > [0] = { > -- > 1.5.5.3 > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 9:02 ` Ralf Baechle @ 2008-06-12 10:18 ` Ralf Baechle 2008-06-12 12:18 ` Manuel Lauss 0 siblings, 1 reply; 23+ messages in thread From: Ralf Baechle @ 2008-06-12 10:18 UTC (permalink / raw) To: Manuel Lauss; +Cc: linux-mips, sshtylyov, drzeus, linux-kernel On Thu, Jun 12, 2008 at 10:02:06AM +0100, Ralf Baechle wrote: I cleaned the numerals for the DMA constants with below patch which now is in the 2.6.27 patch queue. Ralf From: Ralf Baechle <ralf@linux-mips.org> [MIPS] Alchemy, PNX: Use symbolic constants for DMA masks. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> arch/mips/au1000/common/platform.c | 29 +++++++++++++++-------------- arch/mips/au1000/pb1200/platform.c | 5 +++-- arch/mips/nxp/pnx8550/common/platform.c | 9 +++++---- 3 files changed, 23 insertions(+), 20 deletions(-) Index: linux-queue/arch/mips/au1000/common/platform.c =================================================================== --- linux-queue.orig/arch/mips/au1000/common/platform.c +++ linux-queue/arch/mips/au1000/common/platform.c @@ -11,6 +11,7 @@ * warranty of any kind, whether express or implied. */ +#include <linux/dma-mapping.h> #include <linux/platform_device.h> #include <linux/serial_8250.h> #include <linux/init.h> @@ -77,14 +78,14 @@ static struct resource au1xxx_usb_ohci_r }; /* The dmamask must be set for OHCI to work */ -static u64 ohci_dmamask = ~(u32)0; +static u64 ohci_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_ohci_device = { .name = "au1xxx-ohci", .id = 0, .dev = { .dma_mask = &ohci_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1xxx_usb_ohci_resources), .resource = au1xxx_usb_ohci_resources, @@ -106,14 +107,14 @@ static struct resource au1100_lcd_resour } }; -static u64 au1100_lcd_dmamask = ~(u32)0; +static u64 au1100_lcd_dmamask = DMA_32BIT_MASK; static struct platform_device au1100_lcd_device = { .name = "au1100-lcd", .id = 0, .dev = { .dma_mask = &au1100_lcd_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1100_lcd_resources), .resource = au1100_lcd_resources, @@ -135,14 +136,14 @@ static struct resource au1xxx_usb_ehci_r }, }; -static u64 ehci_dmamask = ~(u32)0; +static u64 ehci_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_ehci_device = { .name = "au1xxx-ehci", .id = 0, .dev = { .dma_mask = &ehci_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1xxx_usb_ehci_resources), .resource = au1xxx_usb_ehci_resources, @@ -180,14 +181,14 @@ static struct resource au1xxx_mmc_resour } }; -static u64 udc_dmamask = ~(u32)0; +static u64 udc_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_gdt_device = { .name = "au1xxx-udc", .id = 0, .dev = { .dma_mask = &udc_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1xxx_usb_gdt_resources), .resource = au1xxx_usb_gdt_resources, @@ -207,14 +208,14 @@ static struct resource au1xxx_usb_otg_re }, }; -static u64 uoc_dmamask = ~(u32)0; +static u64 uoc_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_otg_device = { .name = "au1xxx-uoc", .id = 0, .dev = { .dma_mask = &uoc_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1xxx_usb_otg_resources), .resource = au1xxx_usb_otg_resources, @@ -233,27 +234,27 @@ static struct resource au1200_lcd_resour } }; -static u64 au1200_lcd_dmamask = ~(u32)0; +static u64 au1200_lcd_dmamask = DMA_32BIT_MASK; static struct platform_device au1200_lcd_device = { .name = "au1200-lcd", .id = 0, .dev = { .dma_mask = &au1200_lcd_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1200_lcd_resources), .resource = au1200_lcd_resources, }; -static u64 au1xxx_mmc_dmamask = ~(u32)0; +static u64 au1xxx_mmc_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_mmc_device = { .name = "au1xxx-mmc", .id = 0, .dev = { .dma_mask = &au1xxx_mmc_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(au1xxx_mmc_resources), .resource = au1xxx_mmc_resources, Index: linux-queue/arch/mips/au1000/pb1200/platform.c =================================================================== --- linux-queue.orig/arch/mips/au1000/pb1200/platform.c +++ linux-queue/arch/mips/au1000/pb1200/platform.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <linux/dma-mapping.h> #include <linux/init.h> #include <linux/platform_device.h> @@ -36,14 +37,14 @@ static struct resource ide_resources[] = } }; -static u64 ide_dmamask = ~(u32)0; +static u64 ide_dmamask = DMA_32BIT_MASK; static struct platform_device ide_device = { .name = "au1200-ide", .id = 0, .dev = { .dma_mask = &ide_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(ide_resources), .resource = ide_resources Index: linux-queue/arch/mips/nxp/pnx8550/common/platform.c =================================================================== --- linux-queue.orig/arch/mips/nxp/pnx8550/common/platform.c +++ linux-queue/arch/mips/nxp/pnx8550/common/platform.c @@ -13,6 +13,7 @@ * warranty of any kind, whether express or implied. */ #include <linux/device.h> +#include <linux/dma-mapping.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/resource.h> @@ -91,16 +92,16 @@ struct pnx8xxx_port pnx8xxx_ports[] = { }; /* The dmamask must be set for OHCI to work */ -static u64 ohci_dmamask = ~(u32)0; +static u64 ohci_dmamask = DMA_32BIT_MASK; -static u64 uart_dmamask = ~(u32)0; +static u64 uart_dmamask = DMA_32BIT_MASK; static struct platform_device pnx8550_usb_ohci_device = { .name = "pnx8550-ohci", .id = -1, .dev = { .dma_mask = &ohci_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, }, .num_resources = ARRAY_SIZE(pnx8550_usb_ohci_resources), .resource = pnx8550_usb_ohci_resources, @@ -111,7 +112,7 @@ static struct platform_device pnx8550_ua .id = -1, .dev = { .dma_mask = &uart_dmamask, - .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = DMA_32BIT_MASK, .platform_data = pnx8xxx_ports, }, .num_resources = ARRAY_SIZE(pnx8550_uart_resources), ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 10:18 ` Ralf Baechle @ 2008-06-12 12:18 ` Manuel Lauss 2008-06-12 12:26 ` Ralf Baechle 0 siblings, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-12 12:18 UTC (permalink / raw) To: Ralf Baechle; +Cc: linux-mips, sshtylyov, drzeus, linux-kernel Hi Ralf, Pierre, On Thu, Jun 12, 2008 at 11:18:39AM +0100, Ralf Baechle wrote: > On Thu, Jun 12, 2008 at 10:02:06AM +0100, Ralf Baechle wrote: > > I cleaned the numerals for the DMA constants with below patch which now > is in the 2.6.27 patch queue. Here's a new version of [PATCH 2/8], against those changes. --- From: Manuel Lauss <mano@roarinelk.homelinux.net> Add au1xmmc platform data for PB1200/DB1200 boards, and wire up the 2 SD controllers for them. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> --- arch/mips/au1000/common/platform.c | 98 +++++++++++++++++++++++++++--------- arch/mips/au1000/pb1200/platform.c | 81 +++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 24 deletions(-) diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c index d01fe5f..5c76c64 100644 --- a/arch/mips/au1000/common/platform.c +++ b/arch/mips/au1000/common/platform.c @@ -17,6 +17,8 @@ #include <linux/init.h> #include <asm/mach-au1x00/au1xxx.h> +#include <asm/mach-au1x00/au1xxx_dbdma.h> +#include <asm/mach-au1x00/au1100_mmc.h> #define PORT(_base, _irq) \ { \ @@ -163,24 +165,6 @@ static struct resource au1xxx_usb_gdt_resources[] = { }, }; -static struct resource au1xxx_mmc_resources[] = { - [0] = { - .start = SD0_PHYS_ADDR, - .end = SD0_PHYS_ADDR + 0x40, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = SD1_PHYS_ADDR, - .end = SD1_PHYS_ADDR + 0x40, - .flags = IORESOURCE_MEM, - }, - [2] = { - .start = AU1200_SD_INT, - .end = AU1200_SD_INT, - .flags = IORESOURCE_IRQ, - } -}; - static u64 udc_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_gdt_device = { @@ -249,16 +233,79 @@ static struct platform_device au1200_lcd_device = { static u64 au1xxx_mmc_dmamask = DMA_32BIT_MASK; -static struct platform_device au1xxx_mmc_device = { +extern struct au1xmmc_platform_data au1xmmc_platdata[2]; + +static struct resource au1200_mmc0_resources[] = { + [0] = { + .start = SD0_PHYS_ADDR, + .end = SD0_PHYS_ADDR + 0x7ffff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = AU1200_SD_INT, + .end = AU1200_SD_INT, + .flags = IORESOURCE_IRQ, + }, + [2] = { + .start = DSCR_CMD0_SDMS_TX0, + .end = DSCR_CMD0_SDMS_TX0, + .flags = IORESOURCE_DMA, + }, + [3] = { + .start = DSCR_CMD0_SDMS_RX0, + .end = DSCR_CMD0_SDMS_RX0, + .flags = IORESOURCE_DMA, + } +}; + +static struct platform_device au1200_mmc0_device = { .name = "au1xxx-mmc", .id = 0, .dev = { - .dma_mask = &au1xxx_mmc_dmamask, - .coherent_dma_mask = DMA_32BIT_MASK, + .dma_mask = &au1xxx_mmc_dmamask, + .coherent_dma_mask = DMA_32BIT_MASK, + .platform_data = &au1xmmc_platdata[0], + }, + .num_resources = ARRAY_SIZE(au1200_mmc0_resources), + .resource = au1200_mmc0_resources, +}; + +#ifndef CONFIG_MIPS_DB1200 +static struct resource au1200_mmc1_resources[] = { + [0] = { + .start = SD1_PHYS_ADDR, + .end = SD1_PHYS_ADDR + 0x7ffff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = AU1200_SD_INT, + .end = AU1200_SD_INT, + .flags = IORESOURCE_IRQ, + }, + [2] = { + .start = DSCR_CMD0_SDMS_TX1, + .end = DSCR_CMD0_SDMS_TX1, + .flags = IORESOURCE_DMA, }, - .num_resources = ARRAY_SIZE(au1xxx_mmc_resources), - .resource = au1xxx_mmc_resources, + [3] = { + .start = DSCR_CMD0_SDMS_RX1, + .end = DSCR_CMD0_SDMS_RX1, + .flags = IORESOURCE_DMA, + } }; + +static struct platform_device au1200_mmc1_device = { + .name = "au1xxx-mmc", + .id = 1, + .dev = { + .dma_mask = &au1xxx_mmc_dmamask, + .coherent_dma_mask = DMA_32BIT_MASK, + .platform_data = &au1xmmc_platdata[1], + }, + .num_resources = ARRAY_SIZE(au1200_mmc1_resources), + .resource = au1200_mmc1_resources, +}; +#endif /* #ifndef CONFIG_MIPS_DB1200 */ #endif /* #ifdef CONFIG_SOC_AU1200 */ static struct platform_device au1x00_pcmcia_device = { @@ -296,7 +343,10 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = { &au1xxx_usb_gdt_device, &au1xxx_usb_otg_device, &au1200_lcd_device, - &au1xxx_mmc_device, + &au1200_mmc0_device, +#ifndef CONFIG_MIPS_DB1200 + &au1200_mmc1_device, +#endif #endif #ifdef SMBUS_PSC_BASE &pbdb_smbus_device, diff --git a/arch/mips/au1000/pb1200/platform.c b/arch/mips/au1000/pb1200/platform.c index f8fb0ae..878b780 100644 --- a/arch/mips/au1000/pb1200/platform.c +++ b/arch/mips/au1000/pb1200/platform.c @@ -20,9 +20,90 @@ #include <linux/dma-mapping.h> #include <linux/init.h> +#include <linux/leds.h> #include <linux/platform_device.h> #include <asm/mach-au1x00/au1xxx.h> +#include <asm/mach-au1x00/au1100_mmc.h> + +static int mmc_activity; + +static void pb1200mmc0_set_power(void *mmc_host, int state) +{ + if (state) + bcsr->board |= BCSR_BOARD_SD0PWR; + else + bcsr->board &= ~BCSR_BOARD_SD0PWR; + + au_sync_delay(1); +} + +static int pb1200mmc0_card_readonly(void *mmc_host) +{ + return (bcsr->status & BCSR_STATUS_SD0WP) ? 1 : 0; +} + +static int pb1200mmc0_card_inserted(void *mmc_host) +{ + return (bcsr->sig_status & BCSR_INT_SD0INSERT) ? 1 : 0; +} + +static void pb1200_mmcled_set(struct led_classdev *led, + enum led_brightness brightness) +{ + if (brightness != LED_OFF) { + if (++mmc_activity == 1) + bcsr->disk_leds &= ~(1 << 8); + } else { + if (--mmc_activity == 0) + bcsr->disk_leds |= (1 << 8); + } +} + +static struct led_classdev pb1200mmc_led = { + .brightness_set = pb1200_mmcled_set, +}; + +#ifndef CONFIG_MIPS_DB1200 +static void pb1200mmc1_set_power(void *mmc_host, int state) +{ + if (state) + bcsr->board |= BCSR_BOARD_SD1PWR; + else + bcsr->board &= ~BCSR_BOARD_SD1PWR; + + au_sync_delay(1); +} + +static int pb1200mmc1_card_readonly(void *mmc_host) +{ + return (bcsr->status & BCSR_STATUS_SD1WP) ? 1 : 0; +} + +static int pb1200mmc1_card_inserted(void *mmc_host) +{ + return (bcsr->sig_status & BCSR_INT_SD1INSERT) ? 1 : 0; +} +#endif + +const struct au1xmmc_platform_data au1xmmc_platdata[2] = { + [0] = { + .set_power = pb1200mmc0_set_power, + .card_inserted = pb1200mmc0_card_inserted, + .card_readonly = pb1200mmc0_card_readonly, + .cd_setup = NULL, /* use poll-timer in driver */ + .led = &pb1200mmc_led, + }, +#ifndef CONFIG_MIPS_DB1200 + [1] = { + .set_power = pb1200mmc1_set_power, + .card_inserted = pb1200mmc1_card_inserted, + .card_readonly = pb1200mmc1_card_readonly, + .cd_setup = NULL, /* use poll-timer in driver */ + .led = &pb1200mmc_led, + }, +#endif +}; static struct resource ide_resources[] = { [0] = { -- 1.5.5.3 ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 12:18 ` Manuel Lauss @ 2008-06-12 12:26 ` Ralf Baechle 2008-06-12 13:42 ` Pierre Ossman 0 siblings, 1 reply; 23+ messages in thread From: Ralf Baechle @ 2008-06-12 12:26 UTC (permalink / raw) To: Manuel Lauss; +Cc: linux-mips, sshtylyov, drzeus, linux-kernel On Thu, Jun 12, 2008 at 02:18:28PM +0200, Manuel Lauss wrote: > Hi Ralf, Pierre, > > On Thu, Jun 12, 2008 at 11:18:39AM +0100, Ralf Baechle wrote: > > On Thu, Jun 12, 2008 at 10:02:06AM +0100, Ralf Baechle wrote: > > > > I cleaned the numerals for the DMA constants with below patch which now > > is in the 2.6.27 patch queue. > > Here's a new version of [PATCH 2/8], against those changes. Thanks, looking good, thus: Acked-by: Ralf Baechl <ralf@linux-mips.org> Pierre, feel free to merge these MIPS bits into your tree. The whole series should probably go upstream together. Ralf ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 12:26 ` Ralf Baechle @ 2008-06-12 13:42 ` Pierre Ossman 2008-06-12 13:47 ` Ralf Baechle 0 siblings, 1 reply; 23+ messages in thread From: Pierre Ossman @ 2008-06-12 13:42 UTC (permalink / raw) To: Ralf Baechle; +Cc: Manuel Lauss, linux-mips, sshtylyov, linux-kernel [-- Attachment #1: Type: text/plain, Size: 292 bytes --] On Thu, 12 Jun 2008 13:26:46 +0100 Ralf Baechle <ralf@linux-mips.org> wrote: > > Pierre, feel free to merge these MIPS bits into your tree. The whole > series should probably go upstream together. > How's the dependency issue though? Will this series be bisectable in my tree? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 13:42 ` Pierre Ossman @ 2008-06-12 13:47 ` Ralf Baechle 2008-06-12 13:53 ` Pierre Ossman 2008-06-12 13:58 ` Manuel Lauss 0 siblings, 2 replies; 23+ messages in thread From: Ralf Baechle @ 2008-06-12 13:47 UTC (permalink / raw) To: Pierre Ossman; +Cc: Manuel Lauss, linux-mips, sshtylyov, linux-kernel On Thu, Jun 12, 2008 at 03:42:48PM +0200, Pierre Ossman wrote: > > Pierre, feel free to merge these MIPS bits into your tree. The whole > > series should probably go upstream together. > > > > How's the dependency issue though? Will this series be bisectable in my > tree? If we're only talking about a build, there should be no dependencies between the Alchemy and the MMC parts of the series. The Alchemy part sorts the device registration and that's a separate construction site from the rest. Of course with only one applied things won't work terribly well but that would only be temporarily. Ralf ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 13:47 ` Ralf Baechle @ 2008-06-12 13:53 ` Pierre Ossman 2008-06-12 13:58 ` Manuel Lauss 1 sibling, 0 replies; 23+ messages in thread From: Pierre Ossman @ 2008-06-12 13:53 UTC (permalink / raw) To: Ralf Baechle; +Cc: Manuel Lauss, linux-mips, sshtylyov, linux-kernel [-- Attachment #1: Type: text/plain, Size: 502 bytes --] On Thu, 12 Jun 2008 14:47:30 +0100 Ralf Baechle <ralf@linux-mips.org> wrote: > > If we're only talking about a build, there should be no dependencies > between the Alchemy and the MMC parts of the series. The Alchemy part > sorts the device registration and that's a separate construction site > from the rest. Of course with only one applied things won't work > terribly well but that would only be temporarily. > I suppose that should be sufficient. I'll queue up the patches here. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 13:47 ` Ralf Baechle 2008-06-12 13:53 ` Pierre Ossman @ 2008-06-12 13:58 ` Manuel Lauss 2008-06-20 15:46 ` Pierre Ossman 1 sibling, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-12 13:58 UTC (permalink / raw) To: Ralf Baechle; +Cc: Pierre Ossman, linux-mips, sshtylyov, linux-kernel On Thu, Jun 12, 2008 at 02:47:30PM +0100, Ralf Baechle wrote: > On Thu, Jun 12, 2008 at 03:42:48PM +0200, Pierre Ossman wrote: > > > > Pierre, feel free to merge these MIPS bits into your tree. The whole > > > series should probably go upstream together. > > > > > > > How's the dependency issue though? Will this series be bisectable in my > > tree? > > If we're only talking about a build, there should be no dependencies > between the Alchemy and the MMC parts of the series. The Alchemy part > sorts the device registration and that's a separate construction site > from the rest. Of course with only one applied things won't work > terribly well but that would only be temporarily. FWIW, I build tested-tested the DB1200 defconfig after each patch applied. As Ralf said, patch 1 alone isn't terribly useful on it, but it should work. Manuel Lauss ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-12 13:58 ` Manuel Lauss @ 2008-06-20 15:46 ` Pierre Ossman 2008-06-20 16:12 ` Manuel Lauss 0 siblings, 1 reply; 23+ messages in thread From: Pierre Ossman @ 2008-06-20 15:46 UTC (permalink / raw) To: Manuel Lauss; +Cc: Ralf Baechle, linux-mips, sshtylyov, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1182 bytes --] On Thu, 12 Jun 2008 15:58:10 +0200 Manuel Lauss <mano@roarinelk.homelinux.net> wrote: > On Thu, Jun 12, 2008 at 02:47:30PM +0100, Ralf Baechle wrote: > > On Thu, Jun 12, 2008 at 03:42:48PM +0200, Pierre Ossman wrote: > > > > > > > > How's the dependency issue though? Will this series be bisectable in my > > > tree? > > > > If we're only talking about a build, there should be no dependencies > > between the Alchemy and the MMC parts of the series. The Alchemy part > > sorts the device registration and that's a separate construction site > > from the rest. Of course with only one applied things won't work > > terribly well but that would only be temporarily. > > FWIW, I build tested-tested the DB1200 defconfig after each patch applied. > As Ralf said, patch 1 alone isn't terribly useful on it, but it should work. > This patch does not apply against HEAD. Are you sure there aren't any dependencies on what Ralf has in his tree? If so, perhaps this should be in the MIPS tree. Rgds -- -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Use end-to-end encryption where possible. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-20 15:46 ` Pierre Ossman @ 2008-06-20 16:12 ` Manuel Lauss 2008-06-20 17:03 ` Pierre Ossman 0 siblings, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-20 16:12 UTC (permalink / raw) To: Pierre Ossman; +Cc: Ralf Baechle, linux-mips, sshtylyov, linux-kernel Hello Pierre, On Fri, Jun 20, 2008 at 05:46:07PM +0200, Pierre Ossman wrote: > On Thu, 12 Jun 2008 15:58:10 +0200 > Manuel Lauss <mano@roarinelk.homelinux.net> wrote: > > > On Thu, Jun 12, 2008 at 02:47:30PM +0100, Ralf Baechle wrote: > > > On Thu, Jun 12, 2008 at 03:42:48PM +0200, Pierre Ossman wrote: > > > > > > > > > > > How's the dependency issue though? Will this series be bisectable in my > > > > tree? > > > > > > If we're only talking about a build, there should be no dependencies > > > between the Alchemy and the MMC parts of the series. The Alchemy part > > > sorts the device registration and that's a separate construction site > > > from the rest. Of course with only one applied things won't work > > > terribly well but that would only be temporarily. > > > > FWIW, I build tested-tested the DB1200 defconfig after each patch applied. > > As Ralf said, patch 1 alone isn't terribly useful on it, but it should work. > > > > This patch does not apply against HEAD. Are you sure there aren't any > dependencies on what Ralf has in his tree? If so, perhaps this should > be in the MIPS tree. It was broken by commit dab8c6deaf1d654d09c3de8bd4c286d424df255a which went in this week; here's another updated version of [PATCH 2/8]. Thanks! Manuel Lauss --- From: Manuel Lauss <mano@roarinelk.homelinux.net> Add au1xmmc platform data for PB1200/DB1200 boards and wire up the 2 SD controllers for them. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> --- arch/mips/au1000/common/platform.c | 98 +++++++++++++++++++++++++++--------- arch/mips/au1000/pb1200/platform.c | 81 +++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 24 deletions(-) diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c index dc8a67e..5c76c64 100644 --- a/arch/mips/au1000/common/platform.c +++ b/arch/mips/au1000/common/platform.c @@ -17,6 +17,8 @@ #include <linux/init.h> #include <asm/mach-au1x00/au1xxx.h> +#include <asm/mach-au1x00/au1xxx_dbdma.h> +#include <asm/mach-au1x00/au1100_mmc.h> #define PORT(_base, _irq) \ { \ @@ -163,24 +165,6 @@ static struct resource au1xxx_usb_gdt_resources[] = { }, }; -static struct resource au1xxx_mmc_resources[] = { - [0] = { - .start = SD0_PHYS_ADDR, - .end = SD0_PHYS_ADDR + 0x7ffff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = SD1_PHYS_ADDR, - .end = SD1_PHYS_ADDR + 0x7ffff, - .flags = IORESOURCE_MEM, - }, - [2] = { - .start = AU1200_SD_INT, - .end = AU1200_SD_INT, - .flags = IORESOURCE_IRQ, - } -}; - static u64 udc_dmamask = DMA_32BIT_MASK; static struct platform_device au1xxx_usb_gdt_device = { @@ -249,16 +233,79 @@ static struct platform_device au1200_lcd_device = { static u64 au1xxx_mmc_dmamask = DMA_32BIT_MASK; -static struct platform_device au1xxx_mmc_device = { +extern struct au1xmmc_platform_data au1xmmc_platdata[2]; + +static struct resource au1200_mmc0_resources[] = { + [0] = { + .start = SD0_PHYS_ADDR, + .end = SD0_PHYS_ADDR + 0x7ffff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = AU1200_SD_INT, + .end = AU1200_SD_INT, + .flags = IORESOURCE_IRQ, + }, + [2] = { + .start = DSCR_CMD0_SDMS_TX0, + .end = DSCR_CMD0_SDMS_TX0, + .flags = IORESOURCE_DMA, + }, + [3] = { + .start = DSCR_CMD0_SDMS_RX0, + .end = DSCR_CMD0_SDMS_RX0, + .flags = IORESOURCE_DMA, + } +}; + +static struct platform_device au1200_mmc0_device = { .name = "au1xxx-mmc", .id = 0, .dev = { - .dma_mask = &au1xxx_mmc_dmamask, - .coherent_dma_mask = DMA_32BIT_MASK, + .dma_mask = &au1xxx_mmc_dmamask, + .coherent_dma_mask = DMA_32BIT_MASK, + .platform_data = &au1xmmc_platdata[0], }, - .num_resources = ARRAY_SIZE(au1xxx_mmc_resources), - .resource = au1xxx_mmc_resources, + .num_resources = ARRAY_SIZE(au1200_mmc0_resources), + .resource = au1200_mmc0_resources, }; + +#ifndef CONFIG_MIPS_DB1200 +static struct resource au1200_mmc1_resources[] = { + [0] = { + .start = SD1_PHYS_ADDR, + .end = SD1_PHYS_ADDR + 0x7ffff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = AU1200_SD_INT, + .end = AU1200_SD_INT, + .flags = IORESOURCE_IRQ, + }, + [2] = { + .start = DSCR_CMD0_SDMS_TX1, + .end = DSCR_CMD0_SDMS_TX1, + .flags = IORESOURCE_DMA, + }, + [3] = { + .start = DSCR_CMD0_SDMS_RX1, + .end = DSCR_CMD0_SDMS_RX1, + .flags = IORESOURCE_DMA, + } +}; + +static struct platform_device au1200_mmc1_device = { + .name = "au1xxx-mmc", + .id = 1, + .dev = { + .dma_mask = &au1xxx_mmc_dmamask, + .coherent_dma_mask = DMA_32BIT_MASK, + .platform_data = &au1xmmc_platdata[1], + }, + .num_resources = ARRAY_SIZE(au1200_mmc1_resources), + .resource = au1200_mmc1_resources, +}; +#endif /* #ifndef CONFIG_MIPS_DB1200 */ #endif /* #ifdef CONFIG_SOC_AU1200 */ static struct platform_device au1x00_pcmcia_device = { @@ -296,7 +343,10 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = { &au1xxx_usb_gdt_device, &au1xxx_usb_otg_device, &au1200_lcd_device, - &au1xxx_mmc_device, + &au1200_mmc0_device, +#ifndef CONFIG_MIPS_DB1200 + &au1200_mmc1_device, +#endif #endif #ifdef SMBUS_PSC_BASE &pbdb_smbus_device, diff --git a/arch/mips/au1000/pb1200/platform.c b/arch/mips/au1000/pb1200/platform.c index f8fb0ae..878b780 100644 --- a/arch/mips/au1000/pb1200/platform.c +++ b/arch/mips/au1000/pb1200/platform.c @@ -20,9 +20,90 @@ #include <linux/dma-mapping.h> #include <linux/init.h> +#include <linux/leds.h> #include <linux/platform_device.h> #include <asm/mach-au1x00/au1xxx.h> +#include <asm/mach-au1x00/au1100_mmc.h> + +static int mmc_activity; + +static void pb1200mmc0_set_power(void *mmc_host, int state) +{ + if (state) + bcsr->board |= BCSR_BOARD_SD0PWR; + else + bcsr->board &= ~BCSR_BOARD_SD0PWR; + + au_sync_delay(1); +} + +static int pb1200mmc0_card_readonly(void *mmc_host) +{ + return (bcsr->status & BCSR_STATUS_SD0WP) ? 1 : 0; +} + +static int pb1200mmc0_card_inserted(void *mmc_host) +{ + return (bcsr->sig_status & BCSR_INT_SD0INSERT) ? 1 : 0; +} + +static void pb1200_mmcled_set(struct led_classdev *led, + enum led_brightness brightness) +{ + if (brightness != LED_OFF) { + if (++mmc_activity == 1) + bcsr->disk_leds &= ~(1 << 8); + } else { + if (--mmc_activity == 0) + bcsr->disk_leds |= (1 << 8); + } +} + +static struct led_classdev pb1200mmc_led = { + .brightness_set = pb1200_mmcled_set, +}; + +#ifndef CONFIG_MIPS_DB1200 +static void pb1200mmc1_set_power(void *mmc_host, int state) +{ + if (state) + bcsr->board |= BCSR_BOARD_SD1PWR; + else + bcsr->board &= ~BCSR_BOARD_SD1PWR; + + au_sync_delay(1); +} + +static int pb1200mmc1_card_readonly(void *mmc_host) +{ + return (bcsr->status & BCSR_STATUS_SD1WP) ? 1 : 0; +} + +static int pb1200mmc1_card_inserted(void *mmc_host) +{ + return (bcsr->sig_status & BCSR_INT_SD1INSERT) ? 1 : 0; +} +#endif + +const struct au1xmmc_platform_data au1xmmc_platdata[2] = { + [0] = { + .set_power = pb1200mmc0_set_power, + .card_inserted = pb1200mmc0_card_inserted, + .card_readonly = pb1200mmc0_card_readonly, + .cd_setup = NULL, /* use poll-timer in driver */ + .led = &pb1200mmc_led, + }, +#ifndef CONFIG_MIPS_DB1200 + [1] = { + .set_power = pb1200mmc1_set_power, + .card_inserted = pb1200mmc1_card_inserted, + .card_readonly = pb1200mmc1_card_readonly, + .cd_setup = NULL, /* use poll-timer in driver */ + .led = &pb1200mmc_led, + }, +#endif +}; static struct resource ide_resources[] = { [0] = { -- 1.5.5.4 ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-20 16:12 ` Manuel Lauss @ 2008-06-20 17:03 ` Pierre Ossman 2008-06-20 17:13 ` Manuel Lauss 0 siblings, 1 reply; 23+ messages in thread From: Pierre Ossman @ 2008-06-20 17:03 UTC (permalink / raw) To: Manuel Lauss, Ralf Baechle; +Cc: linux-mips, sshtylyov, linux-kernel [-- Attachment #1: Type: text/plain, Size: 768 bytes --] On Fri, 20 Jun 2008 18:12:39 +0200 Manuel Lauss <mano@roarinelk.homelinux.net> wrote: > Hello Pierre, > > On Fri, Jun 20, 2008 at 05:46:07PM +0200, Pierre Ossman wrote: > > > > This patch does not apply against HEAD. Are you sure there aren't any > > dependencies on what Ralf has in his tree? If so, perhaps this should > > be in the MIPS tree. > > It was broken by commit dab8c6deaf1d654d09c3de8bd4c286d424df255a which went > in this week; here's another updated version of [PATCH 2/8]. > The problem is still Ralf's DMA constants fix. Ralf, should I simply steal that patch from you? -- -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Use end-to-end encryption where possible. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-20 17:03 ` Pierre Ossman @ 2008-06-20 17:13 ` Manuel Lauss 2008-06-20 17:43 ` Pierre Ossman 0 siblings, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-20 17:13 UTC (permalink / raw) To: Pierre Ossman; +Cc: Ralf Baechle, linux-mips, sshtylyov, linux-kernel Pierre Ossman wrote: > On Fri, 20 Jun 2008 18:12:39 +0200 > Manuel Lauss <mano@roarinelk.homelinux.net> wrote: > >> Hello Pierre, >> >> On Fri, Jun 20, 2008 at 05:46:07PM +0200, Pierre Ossman wrote: >>> This patch does not apply against HEAD. Are you sure there aren't any >>> dependencies on what Ralf has in his tree? If so, perhaps this should >>> be in the MIPS tree. >> It was broken by commit dab8c6deaf1d654d09c3de8bd4c286d424df255a which went >> in this week; here's another updated version of [PATCH 2/8]. >> > > The problem is still Ralf's DMA constants fix. Ralf, should I simply > steal that patch from you? Alternatively, Ralf could push patch 2/8 through the MIPS tree; the other MMC patches don't depend on it. Worst case scenario is a that db1200 mmc won't work for a few revisions which would go unnoticed with 99.9% probability, given the state of the rest of the au1000 code ;-) Manuel Lauss ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards. 2008-06-20 17:13 ` Manuel Lauss @ 2008-06-20 17:43 ` Pierre Ossman 0 siblings, 0 replies; 23+ messages in thread From: Pierre Ossman @ 2008-06-20 17:43 UTC (permalink / raw) To: Manuel Lauss; +Cc: Ralf Baechle, linux-mips, sshtylyov, linux-kernel [-- Attachment #1: Type: text/plain, Size: 756 bytes --] On Fri, 20 Jun 2008 19:13:59 +0200 Manuel Lauss <mano@roarinelk.homelinux.net> wrote: > Pierre Ossman wrote: > > > > The problem is still Ralf's DMA constants fix. Ralf, should I simply > > steal that patch from you? > > Alternatively, Ralf could push patch 2/8 through the MIPS tree; the > other MMC patches don't depend on it. Worst case scenario is a that > db1200 mmc won't work for a few revisions which would go unnoticed with > 99.9% probability, given the state of the rest of the au1000 code ;-) > Fine with me. I'll queue up the rest of the patches for now. Rgds -- -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Use end-to-end encryption where possible. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 3/8] au1xmmc: enable 4 bit transfer mode 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss 2008-06-09 6:36 ` [PATCH 1/8] au1xmmc: remove db1200 board code, rewrite probe Manuel Lauss 2008-06-09 6:37 ` [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards Manuel Lauss @ 2008-06-09 6:37 ` Manuel Lauss 2008-06-09 6:38 ` [PATCH 4/8] au1xmmc: SDIO IRQ support Manuel Lauss ` (4 subsequent siblings) 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:37 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 4/8] au1xmmc: SDIO IRQ support. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss ` (2 preceding siblings ...) 2008-06-09 6:37 ` [PATCH 3/8] au1xmmc: enable 4 bit transfer mode Manuel Lauss @ 2008-06-09 6:38 ` Manuel Lauss 2008-06-09 6:38 ` [PATCH 5/8] au1xmmc: codingstyle tidying Manuel Lauss ` (3 subsequent siblings) 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:38 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 5/8] au1xmmc: codingstyle tidying. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss ` (3 preceding siblings ...) 2008-06-09 6:38 ` [PATCH 4/8] au1xmmc: SDIO IRQ support Manuel Lauss @ 2008-06-09 6:38 ` Manuel Lauss 2008-06-09 6:39 ` [PATCH 6/8] au1xmmc: abort requests early if no card is present Manuel Lauss ` (2 subsequent siblings) 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:38 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 6/8] au1xmmc: abort requests early if no card is present. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss ` (4 preceding siblings ...) 2008-06-09 6:38 ` [PATCH 5/8] au1xmmc: codingstyle tidying Manuel Lauss @ 2008-06-09 6:39 ` Manuel Lauss 2008-06-09 6:39 ` [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header Manuel Lauss 2008-06-09 6:40 ` [PATCH 8/8] au1xmmc: new maintainer Manuel Lauss 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:39 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss ` (5 preceding siblings ...) 2008-06-09 6:39 ` [PATCH 6/8] au1xmmc: abort requests early if no card is present Manuel Lauss @ 2008-06-09 6:39 ` Manuel Lauss 2008-06-12 10:21 ` Ralf Baechle 2008-06-09 6:40 ` [PATCH 8/8] au1xmmc: new maintainer Manuel Lauss 7 siblings, 1 reply; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:39 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header. 2008-06-09 6:39 ` [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header Manuel Lauss @ 2008-06-12 10:21 ` Ralf Baechle 0 siblings, 0 replies; 23+ messages in thread From: Ralf Baechle @ 2008-06-12 10:21 UTC (permalink / raw) To: Manuel Lauss; +Cc: linux-mips, sshtylyov, drzeus, linux-kernel On Mon, Jun 09, 2008 at 08:39:58AM +0200, Manuel Lauss wrote: > From: Manuel Lauss <mano@roarinelk.homelinux.net> > Date: Mon, 9 Jun 2008 08:39:58 +0200 > To: linux-mips@linux-mips.org, sshtylyov@ru.mvista.com, drzeus@drzeus.cx, > linux-kernel@vger.kernel.org > Subject: [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header. > Content-Type: text/plain; charset=us-ascii Okay for this one. Since it's independant of the others I will put it into the 2.6.27 queue. Thanks, Ralf ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 8/8] au1xmmc: new maintainer. 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss ` (6 preceding siblings ...) 2008-06-09 6:39 ` [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header Manuel Lauss @ 2008-06-09 6:40 ` Manuel Lauss 7 siblings, 0 replies; 23+ messages in thread From: Manuel Lauss @ 2008-06-09 6:40 UTC (permalink / raw) To: linux-mips, sshtylyov, drzeus, linux-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2008-06-20 17:44 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-06-09 6:35 [PATCH 0/8] au1xmmc updates #4 Manuel Lauss 2008-06-09 6:36 ` [PATCH 1/8] au1xmmc: remove db1200 board code, rewrite probe Manuel Lauss 2008-06-09 6:37 ` [PATCH 2/8] Alchemy: register mmc platform device for db1200/pb1200 boards Manuel Lauss 2008-06-12 9:02 ` Ralf Baechle 2008-06-12 10:18 ` Ralf Baechle 2008-06-12 12:18 ` Manuel Lauss 2008-06-12 12:26 ` Ralf Baechle 2008-06-12 13:42 ` Pierre Ossman 2008-06-12 13:47 ` Ralf Baechle 2008-06-12 13:53 ` Pierre Ossman 2008-06-12 13:58 ` Manuel Lauss 2008-06-20 15:46 ` Pierre Ossman 2008-06-20 16:12 ` Manuel Lauss 2008-06-20 17:03 ` Pierre Ossman 2008-06-20 17:13 ` Manuel Lauss 2008-06-20 17:43 ` Pierre Ossman 2008-06-09 6:37 ` [PATCH 3/8] au1xmmc: enable 4 bit transfer mode Manuel Lauss 2008-06-09 6:38 ` [PATCH 4/8] au1xmmc: SDIO IRQ support Manuel Lauss 2008-06-09 6:38 ` [PATCH 5/8] au1xmmc: codingstyle tidying Manuel Lauss 2008-06-09 6:39 ` [PATCH 6/8] au1xmmc: abort requests early if no card is present Manuel Lauss 2008-06-09 6:39 ` [PATCH 7/8] Alchemy: remove unused MMC macros from db1x00 header Manuel Lauss 2008-06-12 10:21 ` Ralf Baechle 2008-06-09 6:40 ` [PATCH 8/8] au1xmmc: new maintainer Manuel Lauss
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox