Re: [PATCH 16/40] tags: recognize compat syscalls

2010-06-24 Thread Michal Marek
On 23.6.2010 12:02, Ian Munsie wrote:
 From: Jason Baron jba...@redhat.com
 
 make tags.sh recognize the new syscall macros:
 
 COMPAT_SYSCALL_DEFINE#N()
 ARCH_COMPAT_SYSCALL_DEFINE#N()
 
 Signed-off-by: Jason Baron jba...@redhat.com
 Signed-off-by: Ian Munsie imun...@au1.ibm.com

Acked-by: Michal Marek mma...@suse.cz

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 31/40] trace syscalls: Convert various generic compat syscalls

2010-06-24 Thread Michal Marek
On 23.6.2010 12:37, Andi Kleen wrote:
 It also has maintenance costs, e.g. I doubt ctags and cscope
 will be able to deal with these kinds of macros, so it has a
 high cost for everyone using these tools.

FWIW, patch 16/40 of this series teaches 'make tags' to recognize these
macros: http://permalink.gmane.org/gmane.linux.kernel/1002103

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Continuing UCC UART woes

2010-06-24 Thread Gary Thomas

I thought I had this working, but it seems to only work for UCC3.
Sadly, I can't get it to work on UCC4/UCC5/UCC8 at all.

Starting with UCC4, I have:
/* ttyQE0 (UCC4) */
serial_qe0: ser...@3200 {
device_type = serial;
compatible = ucc_uart;
cell-index = 4;
reg = 0x3200 0x200;
interrupts = 35;
interrupt-parent = qeic;
port-number = 0;
rx-clock-name = brg9;
tx-clock-name = brg10;
soft-uart;
};

With this setup, I can receive characters from the device, but
no characters ever go out.  Same behaviour as before - the output
descriptors get filled, but no action seems to be taken, no interrupts,
etc.  Except randomly there will be output!  For example, if I
connect to the port with minicom, what I type is received by /dev/ttyQE2.
On some rare occasions, what I type is also echoed back, but when
this happens, it's only the first couple of characters, then nothing.

I verified that the CMXUCR registers are being set per the DTS
as well as the BRG registers.  They all look correct:

  ucc_set_qe_mux_rxtx - CMX: 0x000a

  r...@ppc_target:~ stty /dev/ttyQE0 38400
  qe_setbrg - BRG: fddfd660 = 0x000106b6, CLK = 13200, RATE = 9600, 
MULTIPLIER = 16
  qe_setbrg - BRG: fddfd664 = 0x000106b5, CLK = 13200, RATE = 9600, 
MULTIPLIER = 1
  qe_setbrg - BRG: fddfd660 = 0x000101aa, CLK = 13200, RATE = 38400, 
MULTIPLIER = 16
  qe_setbrg - BRG: fddfd664 = 0x00011ada, CLK = 13200, RATE = 38400, 
MULTIPLIER = 1

I've also tried this on UCC5  UCC8 which show the identical
behaviour - input works, output does not.  I've tried running
with only a single soft UART (UCC4) as well as having all three
configured.  No changes seen.

At this point, I'm using the stock driver from 2.6.33.3

One thing I noticed is that the firmware patch seems quite old.
I got the firmware package from http://opensource.freescale.com/firmware/
We were also told (by FreeScale) to look at 
https://www.freescale.com/webapp/Download?colCode=QERAMPKG

Looking at these two packages, it's unclear that they match.  Certainly
the dates are very different:

[gtho...@hermes 8358]$ ls -l fsl_qe_ucode QERAMPKG
fsl_qe_ucode:
total 16
-rw-rw-r-- 1 gthomas gthomas 5940 2007-12-10 14:39 fsl_qe_ucode_uart_8360_21.bin
-rw-r--r-- 1 gthomas gthomas 7892 2007-11-30 10:14 license.txt

QERAMPKG:
total 972
-rw-rw-r-- 1 gthomas gthomas 132915 2009-04-07 14:04 SlowProtocols_8323rev11.c
-rw-rw-r-- 1 gthomas gthomas 455446 2009-09-16 15:44 
Soft_UART_Microcode_Rel_0_1_2.pdf
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:49 Soft_UART_mpc8360_r2.0.h
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14 Soft_UART_mpc8360_r2.1.h
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14 Soft_UART_mpc8568_r1.1.h
-rw-rw-r-- 1 gthomas gthomas 105457 2009-09-16 16:00 SWUART_8360rev20.c
-rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:32 SWUART_8360rev20.srx
-rw-rw-r-- 1 gthomas gthomas 105318 2009-09-16 15:59 SWUART_8360rev21.c
-rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:14 SWUART_8360rev21.srx

Any ideas what I'm doing wrong?

Thanks

--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH v1]460EX on-chip SATA driverresubmisison

2010-06-24 Thread Rupjyoti Sarmah
This patch enables the on-chip DWC SATA controller of the AppliedMicro 
processor 460EX.

Signed-off-by: Rupjyoti Sarmah rsar...@appliedmicro.com 
Signed-off-by: Mark Miesfeld mmiesf...@appliedmicro.com
Signed-off-by: Prodyut Hazarika phazar...@appliedmicro.com

---
This patch incorporates the changes advised in the mailing list. The device
tree changes were submitted as a seperate patch. 

 drivers/ata/Kconfig  |9 +
 drivers/ata/Makefile |1 +
 drivers/ata/sata_dwc_460ex.c | 1756 ++
 3 files changed, 1766 insertions(+), 0 deletions(-)
 create mode 100644 drivers/ata/sata_dwc_460ex.c

diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index aa85a98..29e29a2 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -98,6 +98,15 @@ config SATA_SIL24
 
  If unsure, say N.
 
+config SATA_DWC
+   tristate DesignWare Cores SATA support
+   depends on 460EX
+   help
+ This option enables support for the on-chip SATA controller of the
+ AppliedMicro processor 460EX.
+
+ If unsure, say N.
+
 config ATA_SFF
bool ATA SFF support
default y
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 7ef89d7..d863e66 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o
 obj-$(CONFIG_SATA_FSL) += sata_fsl.o
 obj-$(CONFIG_SATA_INIC162X)+= sata_inic162x.o
 obj-$(CONFIG_SATA_SIL24)   += sata_sil24.o
+obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o
 
 # SFF w/ custom DMA
 obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
new file mode 100644
index 000..ea24c1e
--- /dev/null
+++ b/drivers/ata/sata_dwc_460ex.c
@@ -0,0 +1,1756 @@
+/*
+ * drivers/ata/sata_dwc_460ex.c
+ *
+ * Synopsys DesignWare Cores (DWC) SATA host driver
+ *
+ * Author: Mark Miesfeld mmiesf...@amcc.com
+ *
+ * Ported from 2.6.19.2 to 2.6.25/26 by Stefan Roese s...@denx.de
+ * Copyright 2008 DENX Software Engineering
+ *
+ * Based on versions provided by AMCC and Synopsys which are:
+ *  Copyright 2006 Applied Micro Circuits Corporation
+ *  COPYRIGHT (C) 2005  SYNOPSYS, INC.  ALL RIGHTS RESERVED
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+#ifdef CONFIG_SATA_DWC_DEBUG
+#define DEBUG
+#endif
+
+#ifdef CONFIG_SATA_DWC_VDEBUG
+#define VERBOSE_DEBUG
+#define DEBUG_NCQ
+#endif
+
+#include linux/kernel.h
+#include linux/module.h
+#include linux/init.h
+#include linux/device.h
+#include linux/of_platform.h
+#include linux/platform_device.h
+#include linux/libata.h
+#include linux/slab.h
+#include libata.h
+
+#include scsi/scsi_host.h
+#include scsi/scsi_cmnd.h
+
+#define DRV_NAMEsata-dwc
+#define DRV_VERSION 1.0
+
+/* SATA DMA driver Globals */
+#define DMA_NUM_CHANS  1
+#define DMA_NUM_CHAN_REGS  8
+
+/* SATA DMA Register definitions */
+#define AHB_DMA_BRST_DFLT  64  /* 16 data items burst length*/
+
+struct dmareg {
+   u32 low;/* Low bits 0-31 */
+   u32 high;   /* High bits 32-63 */
+};
+
+/* DMA Per Channel registers */
+struct dma_chan_regs {
+   struct dmareg sar;  /* Source Address */
+   struct dmareg dar;  /* Destination address */
+   struct dmareg llp;  /* Linked List Pointer */
+   struct dmareg ctl;  /* Control */
+   struct dmareg sstat;/* Source Status not implemented in core */
+   struct dmareg dstat;/* Destination Status not implemented in core*/
+   struct dmareg sstatar;  /* Source Status Address not impl in core */
+   struct dmareg dstatar;  /* Destination Status Address not implemente */
+   struct dmareg cfg;  /* Config */
+   struct dmareg sgr;  /* Source Gather */
+   struct dmareg dsr;  /* Destination Scatter */
+};
+
+/* Generic Interrupt Registers */
+struct dma_interrupt_regs {
+   struct dmareg tfr;  /* Transfer Interrupt */
+   struct dmareg block;/* Block Interrupt */
+   struct dmareg srctran;  /* Source Transfer Interrupt */
+   struct dmareg dsttran;  /* Dest Transfer Interrupt */
+   struct dmareg error;/* Error */
+};
+
+struct ahb_dma_regs {
+   struct dma_chan_regschan_regs[DMA_NUM_CHAN_REGS];
+   struct dma_interrupt_regs interrupt_raw;/* Raw Interrupt */
+   struct dma_interrupt_regs interrupt_status; /* Interrupt Status */
+   struct dma_interrupt_regs interrupt_mask;   /* Interrupt Mask */
+   struct dma_interrupt_regs interrupt_clear;  /* Interrupt Clear */
+   struct dmareg   statusInt;  /* Interrupt combined*/
+   struct dmareg   

Re: Continuing UCC UART woes

2010-06-24 Thread Gary Thomas

On 06/24/2010 06:54 AM, Gary Thomas wrote:

I thought I had this working, but it seems to only work for UCC3.
Sadly, I can't get it to work on UCC4/UCC5/UCC8 at all.

Starting with UCC4, I have:
/* ttyQE0 (UCC4) */
serial_qe0: ser...@3200 {
device_type = serial;
compatible = ucc_uart;
cell-index = 4;
reg = 0x3200 0x200;
interrupts = 35;
interrupt-parent = qeic;
port-number = 0;
rx-clock-name = brg9;
tx-clock-name = brg10;
soft-uart;
};

With this setup, I can receive characters from the device, but
no characters ever go out. Same behaviour as before - the output
descriptors get filled, but no action seems to be taken, no interrupts,
etc. Except randomly there will be output! For example, if I
connect to the port with minicom, what I type is received by /dev/ttyQE2.
On some rare occasions, what I type is also echoed back, but when
this happens, it's only the first couple of characters, then nothing.

I verified that the CMXUCR registers are being set per the DTS
as well as the BRG registers. They all look correct:

ucc_set_qe_mux_rxtx - CMX: 0x000a

r...@ppc_target:~ stty /dev/ttyQE0 38400
qe_setbrg - BRG: fddfd660 = 0x000106b6, CLK = 13200, RATE = 9600,
MULTIPLIER = 16
qe_setbrg - BRG: fddfd664 = 0x000106b5, CLK = 13200, RATE = 9600,
MULTIPLIER = 1
qe_setbrg - BRG: fddfd660 = 0x000101aa, CLK = 13200, RATE = 38400,
MULTIPLIER = 16
qe_setbrg - BRG: fddfd664 = 0x00011ada, CLK = 13200, RATE = 38400,
MULTIPLIER = 1

I've also tried this on UCC5  UCC8 which show the identical
behaviour - input works, output does not. I've tried running
with only a single soft UART (UCC4) as well as having all three
configured. No changes seen.

At this point, I'm using the stock driver from 2.6.33.3

One thing I noticed is that the firmware patch seems quite old.
I got the firmware package from http://opensource.freescale.com/firmware/
We were also told (by FreeScale) to look at
https://www.freescale.com/webapp/Download?colCode=QERAMPKG

Looking at these two packages, it's unclear that they match. Certainly
the dates are very different:

[gtho...@hermes 8358]$ ls -l fsl_qe_ucode QERAMPKG
fsl_qe_ucode:
total 16
-rw-rw-r-- 1 gthomas gthomas 5940 2007-12-10 14:39
fsl_qe_ucode_uart_8360_21.bin
-rw-r--r-- 1 gthomas gthomas 7892 2007-11-30 10:14 license.txt

QERAMPKG:
total 972
-rw-rw-r-- 1 gthomas gthomas 132915 2009-04-07 14:04
SlowProtocols_8323rev11.c
-rw-rw-r-- 1 gthomas gthomas 455446 2009-09-16 15:44
Soft_UART_Microcode_Rel_0_1_2.pdf
-rw-rw-r-- 1 gthomas gthomas 29379 2009-09-16 15:49
Soft_UART_mpc8360_r2.0.h
-rw-rw-r-- 1 gthomas gthomas 29379 2009-09-16 15:14
Soft_UART_mpc8360_r2.1.h
-rw-rw-r-- 1 gthomas gthomas 29379 2009-09-16 15:14
Soft_UART_mpc8568_r1.1.h
-rw-rw-r-- 1 gthomas gthomas 105457 2009-09-16 16:00 SWUART_8360rev20.c
-rw-rw-r-- 1 gthomas gthomas 34689 2009-09-16 15:32 SWUART_8360rev20.srx
-rw-rw-r-- 1 gthomas gthomas 105318 2009-09-16 15:59 SWUART_8360rev21.c
-rw-rw-r-- 1 gthomas gthomas 34689 2009-09-16 15:14 SWUART_8360rev21.srx

Any ideas what I'm doing wrong?


BTW, I tried converting the  Soft_UART_mpc8360_r2.1.h file
to the firmware format.  I had to fiddle with the conversion
program a bit because the firmware has version 0.1.2, but I
ended up with a new firmware file.  Here's the change I made:

$ diff -u make_qe_firmware.py*
--- make_qe_firmware.py 2010-06-24 07:19:31.0 -0600
+++ make_qe_firmware.py~2010-06-24 07:15:54.0 -0600
@@ -260,7 +260,7 @@
 print Unknown SOC model\n
 exit(1)

-if not ucode_major and not ucode_minor:
+if not ucode_major:
 print Unknown microcode version\n
 exit(1)



No change in behaviour :-(


--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: Continuing UCC UART woes

2010-06-24 Thread Chuck Meade
 One thing I noticed is that the firmware patch seems quite old.
 I got the firmware package from http://opensource.freescale.com/firmware/
 We were also told (by FreeScale) to look at
 https://www.freescale.com/webapp/Download?colCode=QERAMPKG
 
 Looking at these two packages, it's unclear that they match.  Certainly
 the dates are very different:
 
 [gtho...@hermes 8358]$ ls -l fsl_qe_ucode QERAMPKG
 fsl_qe_ucode:
 total 16
 -rw-rw-r-- 1 gthomas gthomas 5940 2007-12-10 14:39
 fsl_qe_ucode_uart_8360_21.bin
 -rw-r--r-- 1 gthomas gthomas 7892 2007-11-30 10:14 license.txt
 
 QERAMPKG:
 total 972
 -rw-rw-r-- 1 gthomas gthomas 132915 2009-04-07 14:04
 SlowProtocols_8323rev11.c
 -rw-rw-r-- 1 gthomas gthomas 455446 2009-09-16 15:44
 Soft_UART_Microcode_Rel_0_1_2.pdf
 -rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:49
 Soft_UART_mpc8360_r2.0.h
 -rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14
 Soft_UART_mpc8360_r2.1.h
 -rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14
 Soft_UART_mpc8568_r1.1.h
 -rw-rw-r-- 1 gthomas gthomas 105457 2009-09-16 16:00 SWUART_8360rev20.c
 -rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:32 SWUART_8360rev20.srx
 -rw-rw-r-- 1 gthomas gthomas 105318 2009-09-16 15:59 SWUART_8360rev21.c
 -rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:14 SWUART_8360rev21.srx
 
 Any ideas what I'm doing wrong?

Hi Gary,

At http://opensource.freescale.com/firmware there is a script 
make_qe_firmware.py
that Timur said would create a firmware binary out of the firmware header file.
I have not used this script, since the existing binary worked for me.
But I am using only one UCC UART, so you are going beyond what I have done
with this firmware.

You can try to use that script to create a newer firmware binary from the header
in that zip file.  Make sure you are using the right one for your silicon rev.

You can use strategic printk debugging in the ucc_uart.c driver to determine
on the Tx side what is going wrong.  For example, after you tell the QE to
output chars, wait a bit and printk out the BD.  See if the QE is clearing the
READY bit in that BD.  That will tell you if the QE is even processing the BD
or not.

Also ensure that for all these other UCCs that you are using that the CD, CTS,
RTS pins are set up as plain GPIO pins if you do not have them hooked up to
actual CD, CTS, RTS signals.  If you *are* using HW flow control, probe all the
signals to be sure they are all correct.

Chuck

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: Continuing UCC UART woes

2010-06-24 Thread Gary Thomas

On 06/24/2010 07:38 AM, Chuck Meade wrote:

One thing I noticed is that the firmware patch seems quite old.
I got the firmware package from http://opensource.freescale.com/firmware/
We were also told (by FreeScale) to look at
https://www.freescale.com/webapp/Download?colCode=QERAMPKG

Looking at these two packages, it's unclear that they match.  Certainly
the dates are very different:

[gtho...@hermes 8358]$ ls -l fsl_qe_ucode QERAMPKG
fsl_qe_ucode:
total 16
-rw-rw-r-- 1 gthomas gthomas 5940 2007-12-10 14:39
fsl_qe_ucode_uart_8360_21.bin
-rw-r--r-- 1 gthomas gthomas 7892 2007-11-30 10:14 license.txt

QERAMPKG:
total 972
-rw-rw-r-- 1 gthomas gthomas 132915 2009-04-07 14:04
SlowProtocols_8323rev11.c
-rw-rw-r-- 1 gthomas gthomas 455446 2009-09-16 15:44
Soft_UART_Microcode_Rel_0_1_2.pdf
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:49
Soft_UART_mpc8360_r2.0.h
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14
Soft_UART_mpc8360_r2.1.h
-rw-rw-r-- 1 gthomas gthomas  29379 2009-09-16 15:14
Soft_UART_mpc8568_r1.1.h
-rw-rw-r-- 1 gthomas gthomas 105457 2009-09-16 16:00 SWUART_8360rev20.c
-rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:32 SWUART_8360rev20.srx
-rw-rw-r-- 1 gthomas gthomas 105318 2009-09-16 15:59 SWUART_8360rev21.c
-rw-rw-r-- 1 gthomas gthomas  34689 2009-09-16 15:14 SWUART_8360rev21.srx

Any ideas what I'm doing wrong?


Hi Gary,

At http://opensource.freescale.com/firmware there is a script 
make_qe_firmware.py
that Timur said would create a firmware binary out of the firmware header file.
I have not used this script, since the existing binary worked for me.
But I am using only one UCC UART, so you are going beyond what I have done
with this firmware.

You can try to use that script to create a newer firmware binary from the header
in that zip file.  Make sure you are using the right one for your silicon rev.


As reported, I've done this - no change.



You can use strategic printk debugging in the ucc_uart.c driver to determine
on the Tx side what is going wrong.  For example, after you tell the QE to
output chars, wait a bit and printk out the BD.  See if the QE is clearing the
READY bit in that BD.  That will tell you if the QE is even processing the BD
or not.


I've also done this - the descriptors are set up, never touched by the QE
Odd that input always works, output works only very rarely.


Also ensure that for all these other UCCs that you are using that the CD, CTS,
RTS pins are set up as plain GPIO pins if you do not have them hooked up to
actual CD, CTS, RTS signals.  If you *are* using HW flow control, probe all the
signals to be sure they are all correct.


No change whether these pins are configured or not.

--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 12/40] x86, compat: convert ia32 layer to use

2010-06-24 Thread Christoph Hellwig
On Wed, Jun 23, 2010 at 12:23:44PM -0700, H. Peter Anvin wrote:
  arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE(s390_fallocate)(int fd, int 
  mode, loff_t offset,
  arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE1(sparc_pipe_real, struct 
  pt_regs *, regs)
  
  In fact we sort of wanted to standardize the name of arch overriden compat
  syscalls, so that userspace programs playing with syscalls tracing won't 
  have
  to deal with arch naming differences.
  
 
 That seems totally wrong in so many ways.
 
 What userspace sees is the system call name, e.g. fallocate or pipe.  It
 should *not* be visible to userspace that there is an arch-specici
 implementation.

This is really just the in-kernel name.  With tracing we export it to
userspace, so agreed that we should stay consistent.  We need a good
way to override both native and compat system calls with arch version
to always export the sys_ / compat_sys names.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: Continuing UCC UART woes

2010-06-24 Thread Chuck Meade
 You can use strategic printk debugging in the ucc_uart.c driver to
 determine
 on the Tx side what is going wrong.  For example, after you tell the
 QE to
 output chars, wait a bit and printk out the BD.  See if the QE is
 clearing the
 READY bit in that BD.  That will tell you if the QE is even processing
 the BD
 or not.
 
 I've also done this - the descriptors are set up, never touched by the QE
 Odd that input always works, output works only very rarely.

You could check alignment of the BD address to be sure that got setup correctly.
Make sure you are not looking at a cached version of the BD, and make sure
you waited long enough for the QE to have processed it.

 Also ensure that for all these other UCCs that you are using that the
 CD, CTS,
 RTS pins are set up as plain GPIO pins if you do not have them hooked
 up to
 actual CD, CTS, RTS signals.  If you *are* using HW flow control,
 probe all the
 signals to be sure they are all correct.
 
 No change whether these pins are configured or not.

I would definitely leave these configured as GPIOs if the correct signals
are not present at the pins.

You could look through the pdf that is in that zipfile and make sure you are
following (that the driver is following) all the restrictions for soft UART
mode.

Perhaps printk debug in ucc_slow_init to make sure the UCC is getting set up 
correctly.
I would probably also make sure that the Tx parameter ram is allocated and
aligned OK.

Make sure you specify unique port-number fields in your dts for each of these 
UCC UARTs.

Beyond that, if printk-debugging does not show anything, then you may want to 
contact
Freescale and try to find out what the Soft UART mode microcode patch 
capabilities are,
in terms of exactly how many simultaneous UCC UARTs it has been proven to 
support.
The QE has processing limits, and maybe the soft UART microcode patch can't 
support
multiple UCC UARTs(?)  It's worth it to find out from Freescale I suppose.

Chuck Meade
ch...@theptrgroup.com
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH] kvm/ppc: fix build warning

2010-06-24 Thread Denis Kirjanov
Fix build warning:
arch/powerpc/kvm/book3s_64_mmu.c: In function 
'kvmppc_mmu_book3s_64_esid_to_vsid':
arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used uninitialized 
in this function
Signed-off-by: Denis Kirjanov dkirja...@kernel.org
---
arch/powerpc/kvm/book3s_64_mmu.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c
index 4025ea2..61f2621 100644
--- a/arch/powerpc/kvm/book3s_64_mmu.c
+++ b/arch/powerpc/kvm/book3s_64_mmu.c
@@ -443,7 +443,7 @@ static int kvmppc_mmu_book3s_64_esid_to_vsid(struct 
kvm_vcpu *vcpu, ulong esid,
 u64 *vsid)
 {
ulong ea = esid  SID_SHIFT;
-   struct kvmppc_slb *slb;
+   struct kvmppc_slb *uninitialized_var(slb);
u64 gvsid = esid;
 
if (vcpu-arch.msr  (MSR_DR|MSR_IR)) {
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] kvm/ppc: fix build warning

2010-06-24 Thread Alexander Graf

On 24.06.2010, at 21:44, Denis Kirjanov wrote:

 Fix build warning:
 arch/powerpc/kvm/book3s_64_mmu.c: In function 
 'kvmppc_mmu_book3s_64_esid_to_vsid':
 arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used 
 uninitialized in this function
 Signed-off-by: Denis Kirjanov dkirja...@kernel.org

Are you sure this isn't a broken compiler? I don't see where it could be used 
uninitialized.


Alex

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: UCC UART

2010-06-24 Thread Timur Tabi
Timur Tabi wrote:
 I'd say that there are plenty of unknown issues with this driver/hardware. 
 For some reason, QE UART is just unreliable.  I've had several people try to 
 use the QE for UART, and almost everyone has problems with it.

I finally got in touch with one of the other development teams, and they
said that they got QE UART working with the 8569 and the P1021.  The
reference board we make with the 8568 does not have QE pinned to the UART,
so they didn't try to support that.
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: UCC UART

2010-06-24 Thread Gary Thomas

On 06/24/2010 03:20 PM, Timur Tabi wrote:

Timur Tabi wrote:

I'd say that there are plenty of unknown issues with this driver/hardware.
For some reason, QE UART is just unreliable.  I've had several people try to
use the QE for UART, and almost everyone has problems with it.


I finally got in touch with one of the other development teams, and they
said that they got QE UART working with the 8569 and the P1021.  The
reference board we make with the 8568 does not have QE pinned to the UART,
so they didn't try to support that.


What about 8358?  I'm really stuck here - Rx seems to work,
but Tx is totally dead...

--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: of-flash: Unable to ioremap() both 128MB NOR flashes on 32-bit system with 2GB+ RAM

2010-06-24 Thread Kyle Moffett
Oops... put the old linuxppc list on the CC, sorry!

On Thu, Jun 24, 2010 at 23:45, Kyle Moffett k...@moffetthome.net wrote:
 Hello,

 I've got a new P2020 (32bit mpc85xx family) board I'm working on a
 port for that includes 2 NOR flashes (128MB each) and a removable
 SO-RDIMM of 2GB or 4GB.  Unfortunately when I configure both flashes
 in the device-tree off my elbc, Linux is completely unable to access
 the second one because it attempts to ioremap() the entire virtual
 address space of both FLASH chips.

 Even with only one flash chip enabled, there's a bit of a noticeable
 performance degradation because the mapping consumes almost all of my
 available vmalloc space and forces bounce-buffering for all my
 HIGHMEM.

 It looks like the of-flash driver currently requires that the whole
 chip be mapped in the kernel at once.  I would much rather have a 50%
 performance penalty on flash accesses (which are already very slow)
 and regain most of the vmap space.

 So the question is, is there a way to convince the MTD layer to
 iomap() only what it needs to access to do reads and writes?  If not,
 what changes would need to be made to MTD and/or of-flash to create
 such functionality?

 Cheers,
 Kyle Moffett

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: New P2020-based board (mpc85xx) gets Processor 1 is stuck on 2.6.34, not on 2.6.32

2010-06-24 Thread Kyle Moffett
Oops, put the old linuxppc list on the CC, sorry!

On Thu, Jun 24, 2010 at 23:32, Kyle Moffett k...@moffetthome.net wrote:
 Hello,

 I'm working on a new board port for a P2020-based board, and I'm
 having problems with my second core not starting up on 2.6.34, even
 though it starts up fine on 2.6.32.

 In adding various debugs to mpc85xx_kick_cpu(), it looks like the
 virtual address is detected as 0x7280 on both, and it seems to
 ioremap it to the same address.  Furthermore, both of them get the
 ack from the other CPU almost immediately (within 1ms).
 Unfortunately, after that the second core fails to rendezvous
 elsewhere in the SMP code and as a result I get Processor 1 is
 stuck.

 Unfortunately I've had no luck looking through git log
 v2.6.32..v2.6.34 -- arch/powerpc/ by hand, and there are enough
 mechanical merge conflicts with my patchset to make bisection very
 painful (IE: git bisect, git cherry-pick, test, git reset --hard
 HEAD^, repeat)

 Any additional suggestions on where to look would be much appreciated.

 Cheers,
 Kyle Moffett

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev