Re: pmac_zilog debugging ...
On Sat, 2008-11-08 at 16:52 +1100, Paul Mackerras wrote: Kevin Diggs writes: pppd ttyS0 1200 satellites: netmask 255.255.255.0 lock crtscts mru 1064 noauth debug kdebug 7 logfile /tmp/pppd.log local to connect an 8600 to a laptop via ppp the link will lock up in short order from payloaded pings. Any advice on how to figure out where it is locking up? This command works fine to connect two x86 laptops. At 1200 it does take a while for an xterm to show up, though. Try it without the crtscts (actually, use nocrtscts instead of crtscts). That will tell us whether it is hardware flow control causing problems. IIRC, those mac serial ports didn't have all of RTS, CTS, CD and DTR, but I don't recall which one(s) were missing. Also make sure you don't have the xonxoff option. iirc, RTS is missing and on MacOS we typically have an option to use DTR instead. There's also some issues with CTS polarity which is different between the actual serial ports, vs. some internal modems or something around those lines. Ben ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: MPC5200B and the CAN interface
Nick wrote: Hi Everyone, I am looking for information on how to use the CAN driver for the MPC5200b. I have built the kernel (2.6.27) with the MPC5200b can bus drivers and I see them being initialized on start up. [ 37.122041] can: controller area network core (rev 20071116 abi 8) [ 37.128687] NET: Registered protocol family 29 [ 37.133379] can: raw protocol (rev 20071116) [ 37.137807] can: broadcast manager protocol (rev 20080415) I'm pretty sure this is just the SocketCAN interface. You still need a hardware driver (and one which is SocketCAN compatible). I don't see such a driver for the MSCAN (the hardware on the MPC5200) in the stock 2.6.27 tree. -- Gary Thomas | Consulting for the MLB Associates |Embedded world ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
[PATCH 1/2] powerpc: Update QE/CPM2 usb_ctlr structures for USB support
From: Li Yang [EMAIL PROTECTED] Fixes following build error: CC drivers/usb/gadget/fsl_qe_udc.o drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_stall_change': drivers/usb/gadget/fsl_qe_udc.c:156: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:163: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eptx_stall_change': drivers/usb/gadget/fsl_qe_udc.c:173: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:180: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_nack': drivers/usb/gadget/fsl_qe_udc.c:201: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:201: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_normal': drivers/usb/gadget/fsl_qe_udc.c:218: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:218: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_ep_reset': drivers/usb/gadget/fsl_qe_udc.c:325: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:342: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_ep_register_init': drivers/usb/gadget/fsl_qe_udc.c:515: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'ch9getstatus': drivers/usb/gadget/fsl_qe_udc.c:1981: error: 'struct usb_ctlr' has no member named 'usb_usep' make[2]: *** [drivers/usb/gadget/fsl_qe_udc.o] Error 1 Signed-off-by: Li Yang [EMAIL PROTECTED] Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- arch/powerpc/include/asm/immap_cpm2.h |9 +++-- arch/powerpc/include/asm/immap_qe.h |5 + 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/include/asm/immap_cpm2.h b/arch/powerpc/include/asm/immap_cpm2.h index 4080bab..d4f069b 100644 --- a/arch/powerpc/include/asm/immap_cpm2.h +++ b/arch/powerpc/include/asm/immap_cpm2.h @@ -554,14 +554,11 @@ typedef struct usb_ctlr { u8 usb_usadr; u8 usb_uscom; u8 res1[1]; - u16 usb_usep1; - u16 usb_usep2; - u16 usb_usep3; - u16 usb_usep4; + __be16 usb_usep[4]; u8 res2[4]; - u16 usb_usber; + __be16 usb_usber; u8 res3[2]; - u16 usb_usbmr; + __be16 usb_usbmr; u8 usb_usbs; u8 res4[7]; } usb_cpm2_t; diff --git a/arch/powerpc/include/asm/immap_qe.h b/arch/powerpc/include/asm/immap_qe.h index 3c2fced..c346d0b 100644 --- a/arch/powerpc/include/asm/immap_qe.h +++ b/arch/powerpc/include/asm/immap_qe.h @@ -215,10 +215,7 @@ struct usb_ctlr { u8 usb_usadr; u8 usb_uscom; u8 res1[1]; - __be16 usb_usep1; - __be16 usb_usep2; - __be16 usb_usep3; - __be16 usb_usep4; + __be16 usb_usep[4]; u8 res2[4]; __be16 usb_usber; u8 res3[2]; -- 1.5.6.3 ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
[PATCH 2/2] usb/fsl_qe_udc: Check for muram allocation errors
The QE UDC doesn't check for cpm_muram_alloc() return values, this might cause all sorts of misbehaviour when cpm_muram_alloc() failed to allocate the muram memory. While at at, change few dev_dbg() calls to dev_err(), so that the driver would not die silently. Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- drivers/usb/gadget/fsl_qe_udc.c | 12 +--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c index 1fe8b44..94c38e4 100644 --- a/drivers/usb/gadget/fsl_qe_udc.c +++ b/drivers/usb/gadget/fsl_qe_udc.c @@ -26,6 +26,7 @@ #include linux/ioport.h #include linux/types.h #include linux/errno.h +#include linux/err.h #include linux/slab.h #include linux/list.h #include linux/interrupt.h @@ -370,6 +371,9 @@ static int qe_ep_bd_init(struct qe_udc *udc, unsigned char pipe_num) /* alloc multi-ram for BD rings and set the ep parameters */ tmp_addr = cpm_muram_alloc(sizeof(struct qe_bd) * (bdring_len + USB_BDRING_LEN_TX), QE_ALIGNMENT_OF_BD); + if (IS_ERR_VALUE(tmp_addr)) + return -ENOMEM; + out_be16(epparam-rbase, (u16)tmp_addr); out_be16(epparam-tbase, (u16)(tmp_addr + (sizeof(struct qe_bd) * bdring_len))); @@ -689,7 +693,7 @@ en_done2: en_done1: spin_unlock_irqrestore(udc-lock, flags); en_done: - dev_dbg(udc-dev, failed to initialize %s\n, ep-ep.name); + dev_err(udc-dev, failed to initialize %s\n, ep-ep.name); return -ENODEV; } @@ -2405,6 +2409,8 @@ static struct qe_udc __devinit *qe_udc_config(struct of_device *ofdev) tmp_addr = cpm_muram_alloc((USB_MAX_ENDPOINTS * sizeof(struct usb_ep_para)), USB_EP_PARA_ALIGNMENT); + if (IS_ERR_VALUE(tmp_addr)) + goto cleanup; for (i = 0; i USB_MAX_ENDPOINTS; i++) { out_be16(usbpram-epptr[i], (u16)tmp_addr); @@ -2510,7 +2516,7 @@ static int __devinit qe_udc_probe(struct of_device *ofdev, /* Initialize the udc structure including QH member and other member */ udc_controller = qe_udc_config(ofdev); if (!udc_controller) { - dev_dbg(ofdev-dev, udc_controll is NULL\n); + dev_err(ofdev-dev, failed to initialize\n); return -ENOMEM; } @@ -2565,7 +2571,7 @@ static int __devinit qe_udc_probe(struct of_device *ofdev, /* create a buf for ZLP send, need to remain zeroed */ udc_controller-nullbuf = kzalloc(256, GFP_KERNEL); if (udc_controller-nullbuf == NULL) { - dev_dbg(udc_controller-dev, cannot alloc nullbuf\n); + dev_err(udc_controller-dev, cannot alloc nullbuf\n); ret = -ENOMEM; goto err3; } -- 1.5.6.3 ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
[PATCH] powerpc/qe: Select QE_USB with USB_GADGET_FSL_QE
Boards should know when QE_USB is used, so that they can configure USB clocks and pins. Another option would be to add 'select QE_USB' into USB_GADGET_FSL_QE, but selects are evil since they don't support dependencies. While at it, also remove 'host' from the symbol description, since the QE_USB code is used to support the gadget driver as well. Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- arch/powerpc/sysdev/qe_lib/Kconfig |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/sysdev/qe_lib/Kconfig b/arch/powerpc/sysdev/qe_lib/Kconfig index 76ffbc4..41ac3df 100644 --- a/arch/powerpc/sysdev/qe_lib/Kconfig +++ b/arch/powerpc/sysdev/qe_lib/Kconfig @@ -22,5 +22,6 @@ config UCC config QE_USB bool + default y if USB_GADGET_FSL_QE help - QE USB Host Controller support + QE USB Controller support -- 1.5.6.3 ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH V3] powerpc: Fix Book-E watchdog timer interval setting
On Nov 5, 2008, at 2:53 PM, Matthias Fuchs wrote: This patch fixes the setting of the Book-E watchdog timer interval setup on initialization and by ioctl(). On initialization the period bits have to be masked before setting a new period. In WDIOC_SETTIMEOUT ioctl we have to use the correct mask. Signed-off-by: Matthias Fuchs [EMAIL PROTECTED] --- drivers/watchdog/booke_wdt.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH] powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS
On Nov 7, 2008, at 7:43 AM, Martyn Welch wrote: This patch corrects the bus-frequency value provided in the SBC610's dts. Signed-off-by: Martyn Welch [EMAIL PROTECTED] --- arch/powerpc/boot/dts/gef_sbc610.dts |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) applied to merge. - k ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/2] powerpc: Update QE/CPM2 usb_ctlr structures for USB support
On Nov 8, 2008, at 11:51 AM, Anton Vorontsov wrote: From: Li Yang [EMAIL PROTECTED] Fixes following build error: CC drivers/usb/gadget/fsl_qe_udc.o drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_stall_change': drivers/usb/gadget/fsl_qe_udc.c:156: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:163: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eptx_stall_change': drivers/usb/gadget/fsl_qe_udc.c:173: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:180: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_nack': drivers/usb/gadget/fsl_qe_udc.c:201: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:201: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_eprx_normal': drivers/usb/gadget/fsl_qe_udc.c:218: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:218: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_ep_reset': drivers/usb/gadget/fsl_qe_udc.c:325: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c:342: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'qe_ep_register_init': drivers/usb/gadget/fsl_qe_udc.c:515: error: 'struct usb_ctlr' has no member named 'usb_usep' drivers/usb/gadget/fsl_qe_udc.c: In function 'ch9getstatus': drivers/usb/gadget/fsl_qe_udc.c:1981: error: 'struct usb_ctlr' has no member named 'usb_usep' make[2]: *** [drivers/usb/gadget/fsl_qe_udc.o] Error 1 Signed-off-by: Li Yang [EMAIL PROTECTED] Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- arch/powerpc/include/asm/immap_cpm2.h |9 +++-- arch/powerpc/include/asm/immap_qe.h |5 + 2 files changed, 4 insertions(+), 10 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
[PATCH] usb/fsl_qe_udc: Implement port reset
Without that patch a USB host won't find the QE UDC device if a USB cable plugged before the QE UDC probe. A user have to re-plug the USB cable so that the host would reenumerate the device. To solve the issues the QE UDC should reset the port at bind time. Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- Please do not apply this patch now. It depends on few patches that should be merged into powerpc-next tree. I'll repost this patch when everything will be ready for the merge. drivers/usb/gadget/fsl_qe_udc.c | 91 ++- drivers/usb/gadget/fsl_qe_udc.h | 19 2 files changed, 109 insertions(+), 1 deletions(-) diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c index 94c38e4..91ad856 100644 --- a/drivers/usb/gadget/fsl_qe_udc.c +++ b/drivers/usb/gadget/fsl_qe_udc.c @@ -34,6 +34,9 @@ #include linux/moduleparam.h #include linux/of_platform.h #include linux/dma-mapping.h +#include linux/delay.h +#include linux/gpio.h +#include linux/of_gpio.h #include linux/usb/ch9.h #include linux/usb/gadget.h #include linux/usb/otg.h @@ -2285,6 +2288,26 @@ static irqreturn_t qe_udc_irq(int irq, void *_udc) return status; } +static void qe_udc_port_generate_reset(struct qe_udc *udc) +{ + if (!udc-can_reset_port) + return; + + qe_pin_set_gpio(udc-pins[PIN_USBOE]); + qe_pin_set_gpio(udc-pins[PIN_USBTP]); + qe_pin_set_gpio(udc-pins[PIN_USBTN]); + + gpio_direction_output(udc-gpios[GPIO_USBOE], 0); + gpio_direction_output(udc-gpios[GPIO_USBTP], 0); + gpio_direction_output(udc-gpios[GPIO_USBTN], 0); + + msleep(5); + + qe_pin_set_dedicated(udc-pins[PIN_USBOE]); + qe_pin_set_dedicated(udc-pins[PIN_USBTP]); + qe_pin_set_dedicated(udc-pins[PIN_USBTN]); +} + /*- Gadget driver register and unregister. --*/ @@ -2335,6 +2358,8 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) udc_controller-ep0_dir = USB_DIR_OUT; dev_info(udc_controller-dev, %s bind to driver %s \n, udc_controller-gadget.name, driver-driver.name); + + qe_udc_port_generate_reset(udc_controller); return 0; } EXPORT_SYMBOL(usb_gadget_register_driver); @@ -2504,9 +2529,11 @@ static int __devinit qe_udc_probe(struct of_device *ofdev, const struct of_device_id *match) { struct device_node *np = ofdev-node; + struct device *dev = ofdev-dev; struct qe_ep *ep; unsigned int ret = 0; - unsigned int i; + int i; + int j; const void *prop; prop = of_get_property(np, mode, NULL); @@ -2610,6 +2637,45 @@ static int __devinit qe_udc_probe(struct of_device *ofdev, goto err5; } + /* +* Get GPIOs and pins. Bail out only if something really failed, +* that is, silently accept `not implemented' errors. For CPM we +* don't (yet) support Pinmux API, so CPM gadgets will unable to +* do the port reset. +*/ + for (i = 0; i NUM_GPIOS; i++) { + int gpio = of_get_gpio(np, i, NULL); + + udc_controller-gpios[i] = gpio; + + ret = gpio_request(gpio, dev-bus_id); + if (!ret) + continue; + + udc_controller-gpios[i] = ret; + if (ret == -ENOSYS) + continue; + + dev_err(dev, failed to request gpio #%d, i); + goto err_gpios; + } + + for (j = 0; j NUM_PINS; j++) { + udc_controller-pins[j] = qe_pin_request(ofdev-node, j); + if (!IS_ERR(udc_controller-pins[j])) + continue; + + ret = PTR_ERR(udc_controller-pins[j]); + if (ret == -ENOSYS) + continue; + + dev_err(dev, can't get pin #%d: %d\n, j, ret); + goto err_pins; + } + + if (i == NUM_GPIOS j == NUM_PINS) + udc_controller-can_reset_port = true; + ret = device_add(udc_controller-gadget.dev); if (ret) goto err6; @@ -2620,6 +2686,14 @@ static int __devinit qe_udc_probe(struct of_device *ofdev, return 0; err6: +err_pins: + while (--j = 0) + qe_pin_free(udc_controller-pins[j]); +err_gpios: + while (--i = 0) { + if (gpio_is_valid(udc_controller-gpios[i])) + gpio_free(udc_controller-gpios[i]); + } free_irq(udc_controller-usb_irq, udc_controller); err5: if (udc_controller-nullmap) { @@ -2665,6 +2739,7 @@ static int __devexit qe_udc_remove(struct of_device *ofdev) { struct qe_ep *ep; unsigned int size; + int i;
[PATCH] powerpc: Updated Freescale PPC related defconfigs
unset CONFIG_PCI_LEGACY in the defconfigs as none of them enable ISDN drivers which seem to be the only place we are using pci_find_device Signed-off-by: Kumar Gala [EMAIL PROTECTED] --- arch/powerpc/configs/83xx/asp8347_defconfig | 121 ++ arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 158 - arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 158 - arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 125 ++ arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 136 ++ arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 171 + arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 121 ++ arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 123 ++ arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 126 ++ arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 119 + arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 123 ++ arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 155 arch/powerpc/configs/83xx/sbc834x_defconfig | 119 + arch/powerpc/configs/85xx/ksi8560_defconfig | 87 +-- arch/powerpc/configs/85xx/mpc8536_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 74 -- arch/powerpc/configs/85xx/mpc8544_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 90 +-- arch/powerpc/configs/85xx/mpc8568mds_defconfig| 93 ++-- arch/powerpc/configs/85xx/mpc8572_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 91 +-- arch/powerpc/configs/85xx/sbc8548_defconfig | 75 -- arch/powerpc/configs/85xx/sbc8560_defconfig | 78 +-- arch/powerpc/configs/85xx/stx_gp3_defconfig | 115 ++--- arch/powerpc/configs/85xx/tqm8540_defconfig | 91 +-- arch/powerpc/configs/85xx/tqm8541_defconfig | 96 +--- arch/powerpc/configs/85xx/tqm8548_defconfig | 98 ++-- arch/powerpc/configs/85xx/tqm8555_defconfig | 96 +--- arch/powerpc/configs/85xx/tqm8560_defconfig | 96 +--- arch/powerpc/configs/86xx/gef_sbc610_defconfig| 281 - arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 177 + arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 175 + arch/powerpc/configs/86xx/sbc8641d_defconfig | 152 +++- arch/powerpc/configs/adder875_defconfig | 69 -- arch/powerpc/configs/c2k_defconfig| 179 - arch/powerpc/configs/ep8248e_defconfig| 113 + arch/powerpc/configs/ep88xc_defconfig | 67 -- arch/powerpc/configs/linkstation_defconfig| 122 +++--- arch/powerpc/configs/mgcoge_defconfig | 234 ++ arch/powerpc/configs/mgsuvd_defconfig | 107 ++--- arch/powerpc/configs/mpc7448_hpc2_defconfig | 78 +-- arch/powerpc/configs/mpc8272_ads_defconfig| 113 + arch/powerpc/configs/mpc83xx_defconfig| 156 arch/powerpc/configs/mpc85xx_defconfig| 145 +-- arch/powerpc/configs/mpc866_ads_defconfig | 77 -- arch/powerpc/configs/mpc86xx_defconfig| 144 +-- arch/powerpc/configs/mpc885_ads_defconfig | 67 -- arch/powerpc/configs/pq2fads_defconfig| 137 ++- arch/powerpc/configs/prpmc2800_defconfig | 126 +++--- arch/powerpc/configs/storcenter_defconfig | 83 -- 50 files changed, 4234 insertions(+), 1932 deletions(-) (patch is in my merge tree if you want to really see it) - k ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Please pull from 'merge' branch (for 2.6.28)
Please pull from 'merge' branch of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc.git merge to receive the following updates: arch/powerpc/boot/dts/gef_sbc610.dts |2 arch/powerpc/configs/83xx/asp8347_defconfig | 121 + arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 158 +++- arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 158 +++- arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 125 + arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 136 ++ arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 171 + arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 121 + arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 123 + arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 126 + arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 119 + arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 123 + arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 155 +++- arch/powerpc/configs/83xx/sbc834x_defconfig | 119 + arch/powerpc/configs/85xx/ksi8560_defconfig | 87 -- arch/powerpc/configs/85xx/mpc8536_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 74 - arch/powerpc/configs/85xx/mpc8544_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 90 +-- arch/powerpc/configs/85xx/mpc8568mds_defconfig| 93 +-- arch/powerpc/configs/85xx/mpc8572_ds_defconfig| 143 +-- arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 91 +-- arch/powerpc/configs/85xx/sbc8548_defconfig | 75 - arch/powerpc/configs/85xx/sbc8560_defconfig | 78 -- arch/powerpc/configs/85xx/stx_gp3_defconfig | 115 ++--- arch/powerpc/configs/85xx/tqm8540_defconfig | 91 +-- arch/powerpc/configs/85xx/tqm8541_defconfig | 96 +-- arch/powerpc/configs/85xx/tqm8548_defconfig | 98 +-- arch/powerpc/configs/85xx/tqm8555_defconfig | 96 +-- arch/powerpc/configs/85xx/tqm8560_defconfig | 96 +-- arch/powerpc/configs/86xx/gef_sbc610_defconfig| 281 -- arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 177 + arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 175 + arch/powerpc/configs/86xx/sbc8641d_defconfig | 152 +++ arch/powerpc/configs/adder875_defconfig | 69 +++-- arch/powerpc/configs/c2k_defconfig| 179 -- arch/powerpc/configs/ep8248e_defconfig| 113 +--- arch/powerpc/configs/ep88xc_defconfig | 67 +++-- arch/powerpc/configs/linkstation_defconfig| 122 +++-- arch/powerpc/configs/mgcoge_defconfig | 234 ++ arch/powerpc/configs/mgsuvd_defconfig | 107 +--- arch/powerpc/configs/mpc7448_hpc2_defconfig | 78 -- arch/powerpc/configs/mpc8272_ads_defconfig| 113 +--- arch/powerpc/configs/mpc83xx_defconfig| 156 +++- arch/powerpc/configs/mpc85xx_defconfig| 145 +-- arch/powerpc/configs/mpc866_ads_defconfig | 77 -- arch/powerpc/configs/mpc86xx_defconfig| 144 +-- arch/powerpc/configs/mpc885_ads_defconfig | 67 +++-- arch/powerpc/configs/pq2fads_defconfig| 137 ++ arch/powerpc/configs/prpmc2800_defconfig | 126 +++-- arch/powerpc/configs/storcenter_defconfig | 83 -- arch/powerpc/include/asm/immap_cpm2.h |9 arch/powerpc/include/asm/immap_qe.h |5 arch/powerpc/kernel/misc_32.S |4 drivers/watchdog/booke_wdt.c |5 55 files changed, 4247 insertions(+), 1944 deletions(-) Kumar Gala (2): powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates powerpc: Updated Freescale PPC related defconfigs Li Yang (1): powerpc: Update QE/CPM2 usb_ctlr structures for USB support Martyn Welch (1): powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS Matthias Fuchs (1): powerpc: Fix Book-E watchdog timer interval setting The majority of this is defconfig updates, but the other patches are either compile files (Li Yang) or regressions/bug fixes (Kumar/tlb invalidate, Martyn, Matthais). Please pick this up and forward to Linus. - k ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 0/3 RFC] MMC SPI support for OpenFirmware platforms
On Thu, 30 Oct 2008 22:55:46 +0300 Anton Vorontsov [EMAIL PROTECTED] wrote: Pierre, the approach is somewhat similar to this one: http://lkml.org/lkml/2008/5/26/135 Posted few months ago. I know you don't like it, but I ask you to reconsider it. The I2C and SPI cases are similar, and recently we tried to write bindings for some I2C GPIO controllers. This new version is a bit better in that you've generalised thing more. I'd still prefer if we can have an interface where the driver doesn't have to know that it is on an ACPI/OF/EFI/whatnot host, but I can live with this model for now. Rgds -- -- Pierre Ossman Linux kernel, MMC maintainerhttp://www.kernel.org rdesktop, core developer http://www.rdesktop.org WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 2/3] mmc: Add mmc_vddrange_to_ocrmask() helper function
On Thu, 30 Oct 2008 22:56:32 +0300 Anton Vorontsov [EMAIL PROTECTED] wrote: +/** + * mmc_vddrange_to_ocrmask - Convert a voltage range to the OCR mask + * @vdd_min: minimum voltage value (mV) + * @vdd_max: maximum voltage value (mV) + * @mask:pointer to the mask + * Why the pointer? Why not let the caller handle the aggregation? That would be a lot safer. + /* fill the mask, from max bit to min bit */ + while (vdd_max = vdd_min) + *mask |= 1 vdd_max--; + return 0; Many cards get a bit uppity with a single bit set. If possible, try to make this function set two bits when the voltage is right on the boundary (e.g. 3.3V). Rgds -- -- Pierre Ossman Linux kernel, MMC maintainerhttp://www.kernel.org rdesktop, core developer http://www.rdesktop.org WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/1] irq: Maintain user set affinity
On Tue, Nov 4, 2008 at 8:31 AM, Kumar Gala [EMAIL PROTECTED] wrote: From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00 2001 From: Kumar Gala [EMAIL PROTECTED] Date: Tue, 4 Nov 2008 10:13:53 -0600 Subject: [PATCH 1/1] irq: Maintain user set affinity This addresses a regression in that if a user specified an affinity for an interrupt that affinity information would get reset between a request_irq(), free_irq() and request_irq() for the same irq. On example of this is bringing up an ethernet interface, taking it down and bringing it back up again. Instead of always using the irq_default_affinity we use the previous setting of the IRQs affinity with the assumption that at boot the IRQs affinity will be set to irq_default_affinity. why ?, the default_affinity is expected behavior... for example: when MSI is used, second driver could get same irq if first driver is unloaded. YH ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/1] irq: Maintain user set affinity
On Thu, Nov 6, 2008 at 1:35 PM, Andrew Morton [EMAIL PROTECTED] wrote: On Tue, 4 Nov 2008 10:31:05 -0600 (CST) Kumar Gala [EMAIL PROTECTED] wrote: From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00 2001 From: Kumar Gala [EMAIL PROTECTED] Date: Tue, 4 Nov 2008 10:13:53 -0600 Subject: [PATCH 1/1] irq: Maintain user set affinity This addresses a regression in that if a user specified an affinity for an interrupt that affinity information would get reset between a request_irq(), free_irq() and request_irq() for the same irq. ... Are you able to identify when this regression occurred? It isn't immediately obvious to me. If the regression is present in 2.6.27 or earlier, do you think we should backport the fix? If so, a different patch would be needed due to the presence of it seems that is not a regression... YH ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/1] irq: Maintain user set affinity
On Sat, 2008-11-08 at 14:12 -0800, Yinghai Lu wrote: On Tue, Nov 4, 2008 at 8:31 AM, Kumar Gala [EMAIL PROTECTED] wrote: From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00 2001 From: Kumar Gala [EMAIL PROTECTED] Date: Tue, 4 Nov 2008 10:13:53 -0600 Subject: [PATCH 1/1] irq: Maintain user set affinity This addresses a regression in that if a user specified an affinity for an interrupt that affinity information would get reset between a request_irq(), free_irq() and request_irq() for the same irq. On example of this is bringing up an ethernet interface, taking it down and bringing it back up again. Instead of always using the irq_default_affinity we use the previous setting of the IRQs affinity with the assumption that at boot the IRQs affinity will be set to irq_default_affinity. why ?, the default_affinity is expected behavior... for example: when MSI is used, second driver could get same irq if first driver is unloaded. The default affinity should be set when the irq is allocated / assigned to a device, not when it's requested. Ben. ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Updated Freescale PPC related defconfigs
Hi Kumar, On Sat, 8 Nov 2008 12:42:27 -0600 Kumar Gala [EMAIL PROTECTED] wrote: unset CONFIG_PCI_LEGACY in the defconfigs as none of them enable ISDN drivers which seem to be the only place we are using pci_find_device Than you very much! :-) -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpRnEfaEnTmb.pgp Description: PGP signature ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/1] irq: Maintain user set affinity
On Sat, Nov 8, 2008 at 2:17 PM, Benjamin Herrenschmidt [EMAIL PROTECTED] wrote: On Sat, 2008-11-08 at 14:12 -0800, Yinghai Lu wrote: On Tue, Nov 4, 2008 at 8:31 AM, Kumar Gala [EMAIL PROTECTED] wrote: From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00 2001 From: Kumar Gala [EMAIL PROTECTED] Date: Tue, 4 Nov 2008 10:13:53 -0600 Subject: [PATCH 1/1] irq: Maintain user set affinity This addresses a regression in that if a user specified an affinity for an interrupt that affinity information would get reset between a request_irq(), free_irq() and request_irq() for the same irq. On example of this is bringing up an ethernet interface, taking it down and bringing it back up again. Instead of always using the irq_default_affinity we use the previous setting of the IRQs affinity with the assumption that at boot the IRQs affinity will be set to irq_default_affinity. why ?, the default_affinity is expected behavior... for example: when MSI is used, second driver could get same irq if first driver is unloaded. The default affinity should be set when the irq is allocated / assigned to a device, not when it's requested. ok, you are right. for MSI, affinity is set two times. also in dynamic_irq_init is setting with #ifdef CONFIG_SMP cpus_setall(desc-affinity); #endif it seems should use irq_default_affinity instead of CPU_MASK_ALL directly there. YH ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: [PATCH 1/1] irq: Maintain user set affinity
for MSI, affinity is set two times. also in dynamic_irq_init is setting with #ifdef CONFIG_SMP cpus_setall(desc-affinity); #endif it seems should use irq_default_affinity instead of CPU_MASK_ALL directly there. That sounds more like it. Cheers, Ben. ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: MPC5200B and the CAN interface
On Sat, Nov 08, 2008 at 05:32:35AM -0700, Gary Thomas wrote: I'm pretty sure this is just the SocketCAN interface. You still need a hardware driver (and one which is SocketCAN compatible). I don't see such a driver for the MSCAN (the hardware on the MPC5200) in the stock 2.6.27 tree. The drivers for MPC5200B's mscan are still in the SocketCAN repository, right. The team is working on getting the patches ready for mainline. rsc -- Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de Pengutronix - Linux Solutions for Science and Industry Handelsregister: Amtsgericht Hildesheim, HRA 2686 Hannoversche Str. 2, 31134 Hildesheim, Germany Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9 ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev