LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* RE: known working sata_sil24.c setup on powerpc platforms?
From: Kushwaha Prabhakar-B32579 @ 2011-04-08  9:41 UTC (permalink / raw)
  To: Leon Woestenberg
  Cc: Tejun Heo, Jeff Garzik, Linux PPC, linux-ide@vger.kernel.org,
	Moffett, Kyle D, Gupta Maneesh-B18878
In-Reply-To: <BANLkTim-KV=hfx3kN9vXDFcK_zjm3iOGxg@mail.gmail.com>

Hi Leon,=20
=20
 interrupt-map-mask is missing for pcie@ffe0a000 node. Please see my commen=
t there...=20
pcie@ffe0a000 node deals with mini-PCIe.=20

one more thing, can you please tell P1020Si version. It will be there on u-=
boot log.

--Prabhakar

> -----Original Message-----
> From: Leon Woestenberg [mailto:leon.woestenberg@gmail.com]
> Sent: Friday, April 08, 2011 2:43 PM
> To: Kushwaha Prabhakar-B32579
> Cc: Moffett, Kyle D; linux-ide@vger.kernel.org; Tejun Heo; Jeff Garzik;
> Linux PPC; Gupta Maneesh-B18878
> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>=20
> Hello Prabhakar,
>=20
> On Fri, Apr 8, 2011 at 10:31 AM, Kushwaha Prabhakar-B32579
> <B32579@freescale.com> wrote:
> > Hi Leon,
> >
> >
> >> -----Original Message-----
> >> From: Leon Woestenberg [mailto:leon.woestenberg@gmail.com]
> >> Sent: Friday, April 08, 2011 1:55 PM
> >> To: Kushwaha Prabhakar-B32579
> >> Cc: Moffett, Kyle D; linux-ide@vger.kernel.org; Tejun Heo; Jeff
> >> Garzik; Linux PPC; Gupta Maneesh-B18878
> >> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
> >>
> >> Hello Prabhakar,
> >>
> >> On Fri, Apr 8, 2011 at 5:44 AM, Kushwaha Prabhakar-B32579
> >> <B32579@freescale.com> wrote:
> >> >> -----Original Message-----
> >> >> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
> >> >> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
> >> >> Sent: Thursday, April 07, 2011 10:23 PM
> >> >> To: Kushwaha Prabhakar-B32579
> >> >> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun
> >> >> Heo; Jeff Garzik
> >> >> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
> >> >>
> >> >> On Thu, Apr 7, 2011 at 6:48 AM, Kushwaha Prabhakar-B32579
> >> >> <B32579@freescale.com> wrote:
> >> >> > Can you please check p2020rdb.dts for IDSEL entries for pci0/1
> node?
> >> >> >
> >> >> > In order to work in legacy mode, IDSEL entries are required.
> >> >> >
> >> >> No, the p1020rdb and p2020rdb do not have the IDSEL entries:
> >> >> What would the correct IDSEL entries be?
> >> >
> >> > For legacy interrupt to work IDSEL values are required.. please
> >> > find
> >> the correct IDSEL values for pci0/1.
> >> >
> >> > =A0 =A0 =A0 =A0pci0: pcie@ffe09000 {
> >> > ...
> >> > Please try with this.. I am in process of pushing these IDSEL
> >> > values to
> >> upstream.
> >> >
> >>
> >> Do you have these for P1020RDB =A0as well? I found a P1020RDB board
> >> that has the CE10 errata fixed, so IRQ0 is properly pulled up.
> >>
> >
> > =A0Same IDSEL values are valid for P1020RDB also.
> >
> I compiled the new device tree binary, the dump is below(*) and booted
> the P1020RDB from that.
>=20
> I verified using an oscilloscope that IRQ0 indeed remains high.
>=20
> However, no interrupt seems to come in from the sata_sil24 driver, see
> boot log (**).
>=20
> (*) dtb dump:
> $ dtc -I dtb -O dts /tftpboot/p1020rdb/uImage.dtb
>=20
> 	pcie@ffe09000 {
> 		compatible =3D "fsl,mpc8548-pcie";
> 		device_type =3D "pci";
> 		#interrupt-cells =3D <0x1>;
> 		#size-cells =3D <0x2>;
> 		#address-cells =3D <0x3>;
> 		reg =3D <0x0 0xffe09000 0x0 0x1000>;
> 		bus-range =3D <0x0 0xff>;
> 		ranges =3D <0x2000000 0x0 0xa0000000 0x0 0xa0000000 0x0
> 0x20000000 0x1000000 0x0 0x0 0x0 0xffc30000 0x0 0x10000>;
> 		clock-frequency =3D <0x1fca055>;
> 		interrupt-parent =3D <0x2>;
> 		interrupts =3D <0x10 0x2>;
> 		interrupt-map-mask =3D <0xf800 0x0 0x0 0x7>;
> 		interrupt-map =3D <0x0 0x0 0x0 0x1 0x2 0x4 0x1 0x0 0x0 0x0 0x2
> 0x2 0x5
> 0x1 0x0 0x0 0x0 0x3 0x2 0x6 0x1 0x0 0x0 0x0 0x4 0x2 0x7 0x1>;
>=20
> 		pcie@0 {
> 			reg =3D <0x0 0x0 0x0 0x0 0x0>;
> 			#size-cells =3D <0x2>;
> 			#address-cells =3D <0x3>;
> 			device_type =3D "pci";
> 			ranges =3D <0x2000000 0x0 0xa0000000 0x2000000 0x0
> 0xa0000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0
> 0x100000>;
> 		};
> 	};
>=20
> 	pcie@ffe0a000 {
> 		compatible =3D "fsl,mpc8548-pcie";
> 		device_type =3D "pci";
> 		#interrupt-cells =3D <0x1>;
> 		#size-cells =3D <0x2>;
> 		#address-cells =3D <0x3>;
> 		reg =3D <0x0 0xffe0a000 0x0 0x1000>;
> 		bus-range =3D <0x0 0xff>;
> 		ranges =3D <0x2000000 0x0 0xc0000000 0x0 0xc0000000 0x0
> 0x20000000 0x1000000 0x0 0x0 0x0 0xffc20000 0x0 0x10000>;
> 		clock-frequency =3D <0x1fca055>;
> 		interrupt-parent =3D <0x2>;
> 		interrupts =3D <0x10 0x2>;

interrupt-map-mask is missing here.. can you please check dts again.=20


> 		interrupt-map =3D <0x0 0x0 0x0 0x1 0x2 0x0 0x1 0x0 0x0 0x0 0x2
> 0x2 0x1
> 0x1 0x0 0x0 0x0 0x3 0x2 0x2 0x1 0x0 0x0 0x0 0x4 0x2 0x3 0x1>;
>=20
> 		pcie@0 {
> 			reg =3D <0x0 0x0 0x0 0x0 0x0>;
> 			#size-cells =3D <0x2>;
> 			#address-cells =3D <0x3>;
> 			device_type =3D "pci";
> 			ranges =3D <0x2000000 0x0 0xc0000000 0x2000000 0x0
> 0xc0000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0
> 0x100000>;
> 		};
> 	};
> };
>=20
> (**) boot log
>=20
> [    0.000000] Using P1020 RDB machine description
> [    0.000000] Memory CAM mapping: 256/256 Mb, residual: 0Mb
> [    0.000000] Linux version 2.6.38 (leon@lunar) (gcc version 4.3.3
> (GCC) ) #6 Fri Apr 8 11:00:10 CEST 2011
> [    0.000000] Found legacy serial port 0 for /soc@ffe00000/serial@4500
> [    0.000000]   mem=3Dffe04500, taddr=3Dffe04500, irq=3D0, clk=3D3999999=
96,
> speed=3D0
> [    0.000000] Found legacy serial port 1 for /soc@ffe00000/serial@4600
> [    0.000000]   mem=3Dffe04600, taddr=3Dffe04600, irq=3D0, clk=3D3999999=
96,
> speed=3D0
> [    0.000000] bootconsole [udbg0] enabled
> [    0.000000] Found FSL PCI host bridge at 0x00000000ffe09000.
> Firmware bus number: 0->255
> [    0.000000] PCI host bridge /pcie@ffe09000  ranges:
> [    0.000000]  MEM 0x00000000a0000000..0x00000000bfffffff ->
> 0x00000000a0000000
> [    0.000000]   IO 0x00000000ffc30000..0x00000000ffc3ffff ->
> 0x0000000000000000
> [    0.000000] /pcie@ffe09000: PCICSRBAR @ 0xfff00000
> [    0.000000] Found FSL PCI host bridge at 0x00000000ffe0a000.
> Firmware bus number: 0->0
> [    0.000000] PCI host bridge /pcie@ffe0a000  ranges:
> [    0.000000]  MEM 0x00000000c0000000..0x00000000dfffffff ->
> 0x00000000c0000000
> [    0.000000]   IO 0x00000000ffc20000..0x00000000ffc2ffff ->
> 0x0000000000000000
> [    0.000000] /pcie@ffe0a000: PCICSRBAR @ 0xfff00000
> [    0.000000] MPC85xx RDB board from Freescale Semiconductor
> [    0.000000] Top of RAM: 0x20000000, Total RAM: 0x20000000
> [    0.000000] Memory hole size: 0MB
> [    0.000000] Zone PFN ranges:
> [    0.000000]   DMA      0x00000000 -> 0x00020000
> [    0.000000]   Normal   empty
> [    0.000000]   HighMem  empty
> [    0.000000] Movable zone start PFN for each node
> [    0.000000] early_node_map[1] active PFN ranges
> [    0.000000]     0: 0x00000000 -> 0x00020000
> [    0.000000] On node 0 totalpages: 131072
> [    0.000000] free_area_init_node: node 0, pgdat c062d9bc,
> node_mem_map c07e1000
> [    0.000000]   DMA zone: 1024 pages used for memmap
> [    0.000000]   DMA zone: 0 pages reserved
> [    0.000000]   DMA zone: 130048 pages, LIFO batch:31
> [    0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
> [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=3D1*32768
> [    0.000000] pcpu-alloc: [0] 0
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
> Total pages: 130048
> [    0.000000] Kernel command line: root=3D/dev/nfs rw
> nfsroot=3D192.168.0.7:/nfsroot/p1020rdb
> ip=3D192.168.0.20:192.168.0.7:::P1020RDB:eth0:off console=3DttyS0,115200
> ramdisk_size=3D200000 cache-sram-size=3D0x10000
> [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
> [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144
> bytes)
> [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072
> bytes)
> [    0.000000] High memory: 0k
> [    0.000000] Memory: 511604k/524288k available (6112k kernel code,
> 12684k reserved, 256k data, 1686k bss, 220k init)
> [    0.000000] Kernel virtual memory layout:
> [    0.000000]   * 0xfffcf000..0xfffff000  : fixmap
> [    0.000000]   * 0xff800000..0xffc00000  : highmem PTEs
> [    0.000000]   * 0xff7da000..0xff800000  : early ioremap
> [    0.000000]   * 0xe1000000..0xff7da000  : vmalloc & ioremap
> [    0.000000] SLUB: Genslabs=3D15, HWalign=3D32, Order=3D0-3, MinObjects=
=3D0,
> CPUs=3D1, Nodes=3D1
> [    0.000000] NR_IRQS:512
> [    0.000000] mpic: Setting up MPIC " OpenPIC  " version 1.2 at
> ffe40000, max 2 CPUs
> [    0.000000] mpic: ISU size: 256, shift: 8, mask: ff
> [    0.000000] mpic: Initializing for 256 sources
> [    0.000000] time_init: decrementer frequency =3D 50.000000 MHz
> [    0.000000] time_init: processor frequency   =3D 799.999992 MHz
> [    0.000000] clocksource: timebase mult[5000000] shift[22] registered
> [    0.000000] clockevent: decrementer mult[ccccccc] shift[32] cpu[0]
> [    0.000000] Console: colour dummy device 80x25
> [    0.010728] pid_max: default: 32768 minimum: 301
> [    0.015483] Mount-cache hash table entries: 512
> [    0.021404] devtmpfs: initialized
> [    0.025042] NET: Registered protocol family 16
> [    0.031180] irq: irq 47 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 47
> [    0.031507] PCI: Probing PCI hardware
> [    0.035144] pci_bus 0000:00: scanning bus
> [    0.035167] pci 0000:00:00.0: [1957:0100] type 1 class 0x000b20
> [    0.035188] pci 0000:00:00.0: calling quirk_mmio_always_on+0x0/0x24
> [    0.035197] pci 0000:00:00.0: ignoring class b20 (doesn't match
> header type 01)
> [    0.042429] pci 0000:00:00.0: calling
> fixup_hide_host_resource_fsl+0x0/0x54
> [    0.042440] pci 0000:00:00.0: calling
> pcibios_fixup_resources+0x0/0x110
> [    0.042456] pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x50
> [    0.042473] pci 0000:00:00.0: calling
> quirk_resource_alignment+0x0/0x19c
> [    0.042488] pci 0000:00:00.0: supports D1 D2
> [    0.042496] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
> D3cold
> [    0.042505] pci 0000:00:00.0: PME# disabled
> [    0.042525] pci_bus 0000:00: fixups for bus
> [    0.042539] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass
> 0
> [    0.042546] pci 0000:00:00.0: bus configuration invalid, reconfiguring
> [    0.042556] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass
> 1
> [    0.042577] pci_bus 0000:01: scanning bus
> [    0.042584] pci_bus 0000:01: fixups for bus
> [    0.042591] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
> [    0.047728] pci 0000:00:00.0:   bridge window [io  0x0000-0x0000]
> (disabled)
> [    0.047738] pci 0000:00:00.0:   bridge window [mem
> 0x00000000-0x000fffff] (disabled)
> [    0.047748] pci 0000:00:00.0:   bridge window [mem
> 0x00000000-0x000fffff pref] (disabled)
> [    0.047760] pci_bus 0000:01: bus scan returning with max=3D01
> [    0.047769] pci_bus 0000:00: bus scan returning with max=3D01
> [    0.047902] pci_bus 0001:02: scanning bus
> [    0.047920] pci 0001:02:00.0: [1957:0100] type 1 class 0x000b20
> [    0.047932] pci 0001:02:00.0: calling quirk_mmio_always_on+0x0/0x24
> [    0.047941] pci 0001:02:00.0: ignoring class b20 (doesn't match
> header type 01)
> [    0.055166] pci 0001:02:00.0: calling
> fixup_hide_host_resource_fsl+0x0/0x54
> [    0.055177] pci 0001:02:00.0: calling
> pcibios_fixup_resources+0x0/0x110
> [    0.055188] pci 0001:02:00.0: calling quirk_fsl_pcie_header+0x0/0x50
> [    0.055202] pci 0001:02:00.0: calling
> quirk_resource_alignment+0x0/0x19c
> [    0.055215] pci 0001:02:00.0: supports D1 D2
> [    0.055222] pci 0001:02:00.0: PME# supported from D0 D1 D2 D3hot
> D3cold
> [    0.055230] pci 0001:02:00.0: PME# disabled
> [    0.055254] pci_bus 0001:02: fixups for bus
> [    0.055265] pci 0001:02:00.0: scanning [bus 01-01] behind bridge, pass
> 0
> [    0.055272] pci 0001:02:00.0: bus configuration invalid, reconfiguring
> [    0.055282] pci 0001:02:00.0: scanning [bus 00-00] behind bridge, pass
> 1
> [    0.055302] pci_bus 0001:03: scanning bus
> [    0.055334] pci 0001:03:00.0: [1095:3132] type 0 class 0x000104
> [    0.055346] pci 0001:03:00.0: calling quirk_mmio_always_on+0x0/0x24
> [    0.055376] pci 0001:03:00.0: reg 10: [mem 0xc0000000-0xc000007f
> 64bit]
> [    0.055401] pci 0001:03:00.0: reg 18: [mem 0xc0004000-0xc0007fff
> 64bit]
> [    0.055420] pci 0001:03:00.0: reg 20: [io  0x1000-0x107f]
> [    0.055448] pci 0001:03:00.0: reg 30: [mem 0x00000000-0x0007ffff pref]
> [    0.055461] pci 0001:03:00.0: calling
> pcibios_fixup_resources+0x0/0x110
> [    0.055473] pci 0001:03:00.0: calling
> quirk_resource_alignment+0x0/0x19c
> [    0.055513] pci 0001:03:00.0: supports D1 D2
> [    0.055537] pci 0001:03:00.0: disabling ASPM on pre-1.1 PCIe
> device.  You can enable it with 'pcie_aspm=3Dforce'
> [    0.065457] pci_bus 0001:03: fixups for bus
> [    0.065464] pci 0001:02:00.0: PCI bridge to [bus 03-ff]
> [    0.070655] pci 0001:02:00.0:   bridge window [io  0x0000-0x0000]
> (disabled)
> [    0.070664] pci 0001:02:00.0:   bridge window [mem 0xc0000000-
> 0xc00fffff]
> [    0.070674] pci 0001:02:00.0:   bridge window [mem
> 0x10000000-0x000fffff pref] (disabled)
> [    0.070707] pci_bus 0001:03: bus scan returning with max=3D03
> [    0.070716] pci_bus 0001:02: bus scan returning with max=3D03
> [    0.070891] PCI 0000:00 Cannot reserve Legacy IO [io  0xff7ed000-
> 0xff7edfff]
> [    0.070900] PCI 0001:02 Cannot reserve Legacy IO [io  0xff7db000-
> 0xff7dbfff]
> [    0.070922] pci 0000:00:00.0: PCI bridge to [bus 01-01]
> [    0.076063] pci 0000:00:00.0:   bridge window [io  0xff7ed000-
> 0xff7fcfff]
> [    0.082827] pci 0000:00:00.0:   bridge window [mem 0xa0000000-
> 0xbfffffff]
> [    0.089596] pci 0000:00:00.0:   bridge window [mem pref disabled]
> [    0.095676] pci 0000:00:00.0: enabling device (0106 -> 0107)
> [    0.101321] pci 0001:02:00.0: BAR 9: can't assign mem pref (size
> 0x100000)
> [    0.108175] pci 0001:03:00.0: BAR 6: assigned [mem
> 0xc0080000-0xc00fffff pref]
> [    0.115377] pci 0001:02:00.0: PCI bridge to [bus 03-03]
> [    0.120584] pci 0001:02:00.0:   bridge window [io  0xff7db000-
> 0xff7eafff]
> [    0.127355] pci 0001:02:00.0:   bridge window [mem 0xc0000000-
> 0xdfffffff]
> [    0.134124] pci 0001:02:00.0:   bridge window [mem pref disabled]
> [    0.140203] pci 0001:02:00.0: enabling device (0106 -> 0107)
> [    0.145845] pci_bus 0000:00: resource 0 [io  0xff7ed000-0xff7fcfff]
> [    0.145854] pci_bus 0000:00: resource 1 [mem 0xa0000000-0xbfffffff]
> [    0.145863] pci_bus 0000:01: resource 0 [io  0xff7ed000-0xff7fcfff]
> [    0.145872] pci_bus 0000:01: resource 1 [mem 0xa0000000-0xbfffffff]
> [    0.145880] pci_bus 0001:02: resource 0 [io  0xff7db000-0xff7eafff]
> [    0.145889] pci_bus 0001:02: resource 1 [mem 0xc0000000-0xdfffffff]
> [    0.145897] pci_bus 0001:03: resource 0 [io  0xff7db000-0xff7eafff]
> [    0.145906] pci_bus 0001:03: resource 1 [mem 0xc0000000-0xdfffffff]
> [    0.145942] Registering qe_ic with sysfs...
> [    0.149031] bio: create slab <bio-0> at 0
> [    0.153197] vgaarb: loaded
> [    0.156055] SCSI subsystem initialized
> [    0.159772] libata version 3.00 loaded.
> [    0.159905] usbcore: registered new interface driver usbfs
> [    0.165357] usbcore: registered new interface driver hub
> [    0.170666] usbcore: registered new device driver usb
> [    0.175707] Freescale Elo / Elo Plus DMA driver
> [    0.180293] Advanced Linux Sound Architecture Driver Version 1.0.23.
> [    0.186845] Switching to clocksource timebase
> [    0.194746] NET: Registered protocol family 2
> [    0.199032] Switched to NOHz mode on CPU #0
> [    0.203314] IP route cache hash table entries: 4096 (order: 2, 16384
> bytes)
> [    0.210610] TCP established hash table entries: 16384 (order: 5,
> 131072 bytes)
> [    0.218015] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
> [    0.224585] TCP: Hash tables configured (established 16384 bind 16384)
> [    0.231022] TCP reno registered
> [    0.234149] UDP hash table entries: 256 (order: 0, 4096 bytes)
> [    0.239974] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
> [    0.246527] NET: Registered protocol family 1
> [    0.251004] RPC: Registered udp transport module.
> [    0.255632] RPC: Registered tcp transport module.
> [    0.260308] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    0.266758] pci 0000:00:00.0: calling quirk_cardbus_legacy+0x0/0x50
> [    0.266778] pci 0000:00:00.0: calling
> quirk_usb_early_handoff+0x0/0x724
> [    0.266794] pci 0001:02:00.0: calling quirk_cardbus_legacy+0x0/0x50
> [    0.266804] pci 0001:02:00.0: calling
> quirk_usb_early_handoff+0x0/0x724
> [    0.266818] pci 0001:03:00.0: calling quirk_cardbus_legacy+0x0/0x50
> [    0.266829] pci 0001:03:00.0: calling
> quirk_usb_early_handoff+0x0/0x724
> [    0.266839] PCI: CLS 32 bytes, default 32
> [    0.267012] irq: irq 42 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 42
> [    0.267213] irq: irq 19 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 19
> [    0.267604] irq: irq 16 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 16
> [    0.267761] irq: irq 43 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 43
> [    0.268030] irq: irq 59 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 59
> [    0.268323] irq: irq 20 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 20
> [    0.268335] of:fsl-elo-dma ffe21300.dma: #0 (fsl,eloplus-dma-channel),
> irq 20
> [    0.275419] irq: irq 21 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 21
> [    0.275430] of:fsl-elo-dma ffe21300.dma: #1 (fsl,eloplus-dma-channel),
> irq 21
> [    0.282530] irq: irq 22 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 22
> [    0.282540] of:fsl-elo-dma ffe21300.dma: #2 (fsl,eloplus-dma-channel),
> irq 22
> [    0.289648] irq: irq 23 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 23
> [    0.289659] of:fsl-elo-dma ffe21300.dma: #3 (fsl,eloplus-dma-channel),
> irq 23
> [    0.297270] irq: irq 28 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 28
> [    0.297360] irq: irq 72 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 72
> [    0.297450] irq: irq 45 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 45
> [    0.297469] irq: irq 58 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 58
> [    0.297630] irq: irq 224 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 224
> [    0.297649] irq: irq 225 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 225
> [    0.297668] irq: irq 226 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 226
> [    0.297686] irq: irq 227 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 227
> [    0.297705] irq: irq 228 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 228
> [    0.297723] irq: irq 229 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 229
> [    0.297742] irq: irq 230 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 230
> [    0.297760] irq: irq 231 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 231
> [    0.297849] Setting up Freescale MSI support
> [    0.298123] audit: initializing netlink socket (disabled)
> [    0.303462] type=3D2000 audit(0.236:1): initialized
> [    0.314074] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.320368] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
> [    0.326841] NTFS driver 2.1.30 [Flags: R/O].
> [    0.331296] JFFS2 version 2.2. (NAND) =A9 2001-2006 Red Hat, Inc.
> [    0.337596] msgmni has been set to 1001
> [    0.341965] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 253)
> [    0.349288] io scheduler noop registered (default)
> [    0.431003] Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
> [    0.438061] serial8250.0: ttyS0 at MMIO 0xffe04500 (irq =3D 42) is a
> 16550A
> [    0.444791] console [ttyS0] enabled, bootconsole disabled
> [    0.456105] serial8250.0: ttyS1 at MMIO 0xffe04600 (irq =3D 42) is a
> 16550A
> [    0.463482] Generic non-volatile memory driver v1.1
> [    0.470831] brd: module loaded
> [    0.475184] loop: module loaded
> [    0.478439] nbd: registered device at major 43
> [    0.485462] st: Version 20101219, fixed bufsize 32768, s/g segs 256
> [    0.492145] sata_sil24 0001:03:00.0: version 1.1 built on Apr  8
> 2011 11:00:08
> [    0.492182] ata_host_alloc: ENTER
> [    0.495504] ata_port_alloc: ENTER
> [    0.498821] ata_port_alloc: ENTER
> [    0.502525] __ata_port_freeze: ata4294967295 port frozen
> [    0.508187] __ata_port_freeze: ata4294967295 port frozen
> [    0.513580] ------------[ cut here ]------------
> [    0.518188] WARNING: at drivers/ata/libata-core.c:6082
> [    0.523316] Modules linked in:
> [    0.526364] NIP: c02876b0 LR: c0287690 CTR: c0248934
> [    0.531323] REGS: df837d00 TRAP: 0700   Not tainted  (2.6.38)
> [    0.537058] MSR: 00029000 <EE,ME,CE>  CR: 20424022  XER: 20000000
> [    0.543158] TASK =3D df838000[1] 'swapper' THREAD: df836000
> [    0.548373] GPR00: 00000001 df837db0 df838000 00000000 00003cb6
> ffffffff c0249690 00080000
> [    0.556736] GPR08: c073b9bc ffffffff 0007ffff 00003cb6 20424022
> 66013a2a 1ff91d00 c056c170
> [    0.565097] GPR16: c0546e94 00000001 00002040 00000400 00000008
> 0000020c e109e040 df807060
> [    0.573459] GPR24: dfa58490 c06160d8 00000080 c029fc0c 00000000
> c07d4a58 dfa58490 00000000
> [    0.582013] NIP [c02876b0] ata_host_activate+0x48/0x11c
> [    0.587232] LR [c0287690] ata_host_activate+0x28/0x11c
> [    0.592360] Call Trace:
> [    0.594801] [df837db0] [c0287690] ata_host_activate+0x28/0x11c
> (unreliable)
> [    0.601771] [df837de0] [c029faf8] sil24_init_one+0x420/0x534
> [    0.607428] [df837e60] [c021d73c] local_pci_probe+0x24/0x34
> [    0.612997] [df837e70] [c021d984] pci_device_probe+0x84/0xa8
> [    0.618652] [df837ea0] [c0258a44] driver_probe_device+0xa8/0x1c8
> [    0.624653] [df837ec0] [c0258c20] __driver_attach+0xbc/0xc0
> [    0.630231] [df837ee0] [c02580ec] bus_for_each_dev+0x70/0xac
> [    0.635885] [df837f10] [c0258844] driver_attach+0x24/0x34
> [    0.641281] [df837f20] [c0257864] bus_add_driver+0xc4/0x294
> [    0.646849] [df837f50] [c0258f98] driver_register+0x84/0x178
> [    0.652504] [df837f70] [c021dc08] __pci_register_driver+0x4c/0xdc
> [    0.658597] [df837f90] [c05ddfe4] sil24_init+0x24/0x34
> [    0.663733] [df837fa0] [c0001dc0] do_one_initcall+0x34/0x1c8
> [    0.669388] [df837fd0] [c05c11ec] kernel_init+0xcc/0x174
> [    0.674696] [df837ff0] [c000cf98] kernel_thread+0x4c/0x68
> [    0.680086] Instruction dump:
> [    0.683045] 7cda3378 7cf93b78 7c7e1b78 4bfffc91 7c7f1b79 408200d8
> 2f9c0000 409e0034
> [    0.690798] 7f69fe70 7d20da78 7c004850 54000ffe <0f000000> 80010034
> 7fc3f378 7f24cb78
> [    0.698738] ---[ end trace ab638653f78364ad ]---
> [    0.703813] scsi0 : sata_sil24
> [    0.707083] scsi1 : sata_sil24
> [    0.710242] ata1: SATA max UDMA/100 host m128@0xc0000000 port
> 0xc0004000
> [    0.716951] ata2: SATA max UDMA/100 host m128@0xc0000000 port
> 0xc0006000
> [    0.724592] ef000000.nor: Found 1 x16 devices at 0x0 in 16-bit
> bank. Manufacturer ID 0x000001 Chip ID 0x002101
> [    0.734612] Amd/Fujitsu Extended Query Table at 0x0040
> [    0.739787]   Amd/Fujitsu Extended Query version 1.3.
> [    0.744839] number of CFI chips: 1
> [    0.748325] ata_port_schedule_eh: port EH scheduled
> [    0.753217] ata_scsi_error: ENTER
> [    0.756539] ata_eh_link_autopsy: ENTER
> [    0.760286] ata_eh_recover: ENTER
> [    0.763606] __ata_port_freeze: ata1 port frozen
> [    0.768317] RedBoot partition parsing not available
> [    0.773212] Creating 5 MTD partitions on "ef000000.nor":
> [    0.778526] 0x000000000000-0x000000040000 : "NOR (RO) Vitesse-7385
> Firmware"
> [    0.786280] 0x000000040000-0x000000080000 : "NOR (RO) DTB Image"
> [    0.792876] 0x000000080000-0x000000400000 : "NOR (RO) Linux Kernel
> Image"
> [    0.800257] 0x000000400000-0x000000f00000 : "NOR (RW) JFFS2 Root File
> System"
> [    0.808001] 0x000000f00000-0x000001000000 : "NOR (RO) U-Boot Image"
> [    0.815110] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
> [    0.821564] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
> [    0.828002] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
> [    0.834443] NAND device: Manufacturer ID: 0xec, Chip ID: 0x75
> (Samsung NAND 32MiB 3,3V 8-bit)
> [    0.843174] Bad block table found at page 65504, version 0x01
> [    0.843513] Bad block table found at page 65472, version 0x01
> [    0.843876] RedBoot partition parsing not available
> [    0.848772] Creating 6 MTD partitions on "ffa00000.flash":
> [    0.854259] 0x000000000000-0x000000100000 : "NAND (RO) U-Boot Image"
> [    0.861299] 0x000000100000-0x000000200000 : "NAND (RO) DTB Image"
> [    0.868010] 0x000000200000-0x000000600000 : "NAND (RO) Linux Kernel
> Image"
> [    0.875530] 0x000000600000-0x000000a00000 : "NAND (RO) Compressed RFS
> Image"
> [    0.883216] 0x000000a00000-0x000001100000 : "NAND (RW) JFFS2 Root
> File System"
> [    0.891042] 0x000001100000-0x000002000000 : "NAND (RW) Writable User
> area"
> [    0.898571] eLBC NAND device at 0xffa00000, bank 1
> [    0.904384] Fixed MDIO Bus: probed
> [    0.907964] irq: irq 29 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 29
> [    0.907986] irq: irq 30 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 30
> [    0.908005] irq: irq 34 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 34
> [    0.908035] irq: irq 17 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 17
> [    0.908054] irq: irq 18 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 18
> [    0.908074] irq: irq 24 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 24
> [    0.908588] eth0: Gianfar Ethernet Controller Version 1.2,
> 00:04:9f:01:1f:49
> [    0.915646] eth0: Running with NAPI enabled
> [    0.919826] eth0: RX BD ring size for Q[0]: 256
> [    0.924353] eth0: RX BD ring size for Q[1]: 256
> [    0.928879] eth0: RX BD ring size for Q[2]: 256
> [    0.933406] eth0: RX BD ring size for Q[3]: 256
> [    0.937932] eth0: RX BD ring size for Q[4]: 256
> [    0.942458] eth0: RX BD ring size for Q[5]: 256
> [    0.946984] eth0: RX BD ring size for Q[6]: 256
> [    0.951512] eth0: RX BD ring size for Q[7]: 256
> [    0.956037] eth0: TX BD ring size for Q[0]: 256
> [    0.960564] eth0: TX BD ring size for Q[1]: 256
> [    0.965090] eth0: TX BD ring size for Q[2]: 256
> [    0.969616] eth0: TX BD ring size for Q[3]: 256
> [    0.974143] eth0: TX BD ring size for Q[4]: 256
> [    0.978668] eth0: TX BD ring size for Q[5]: 256
> [    0.983197] eth0: TX BD ring size for Q[6]: 256
> [    0.987725] eth0: TX BD ring size for Q[7]: 256
> [    0.992327] irq: irq 35 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 35
> [    0.992348] irq: irq 36 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 36
> [    0.992367] irq: irq 40 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 40
> [    0.992397] irq: irq 51 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 51
> [    0.992417] irq: irq 52 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 52
> [    0.992436] irq: irq 67 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 67
> [    0.992938] eth1: Gianfar Ethernet Controller Version 1.2,
> 00:04:9f:01:1f:4a
> [    0.999992] eth1: Running with NAPI enabled
> [    1.004172] eth1: RX BD ring size for Q[0]: 256
> [    1.008699] eth1: RX BD ring size for Q[1]: 256
> [    1.013226] eth1: RX BD ring size for Q[2]: 256
> [    1.017753] eth1: RX BD ring size for Q[3]: 256
> [    1.022280] eth1: RX BD ring size for Q[4]: 256
> [    1.026806] eth1: RX BD ring size for Q[5]: 256
> [    1.031333] eth1: RX BD ring size for Q[6]: 256
> [    1.035860] eth1: RX BD ring size for Q[7]: 256
> [    1.040387] eth1: TX BD ring size for Q[0]: 256
> [    1.044914] eth1: TX BD ring size for Q[1]: 256
> [    1.049441] eth1: TX BD ring size for Q[2]: 256
> [    1.053967] eth1: TX BD ring size for Q[3]: 256
> [    1.058495] eth1: TX BD ring size for Q[4]: 256
> [    1.063022] eth1: TX BD ring size for Q[5]: 256
> [    1.067552] eth1: TX BD ring size for Q[6]: 256
> [    1.072079] eth1: TX BD ring size for Q[7]: 256
> [    1.076679] irq: irq 31 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 31
> [    1.076700] irq: irq 32 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 32
> [    1.076719] irq: irq 33 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 33
> [    1.076748] irq: irq 25 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 25
> [    1.076768] irq: irq 26 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 26
> [    1.076787] irq: irq 27 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 27
> [    1.077315] eth2: Gianfar Ethernet Controller Version 1.2,
> 00:04:9f:01:1f:4b
> [    1.084370] eth2: Running with NAPI enabled
> [    1.088551] eth2: RX BD ring size for Q[0]: 256
> [    1.093077] eth2: RX BD ring size for Q[1]: 256
> [    1.097604] eth2: RX BD ring size for Q[2]: 256
> [    1.102130] eth2: RX BD ring size for Q[3]: 256
> [    1.106657] eth2: RX BD ring size for Q[4]: 256
> [    1.111184] eth2: RX BD ring size for Q[5]: 256
> [    1.115712] eth2: RX BD ring size for Q[6]: 256
> [    1.120238] eth2: RX BD ring size for Q[7]: 256
> [    1.124765] eth2: TX BD ring size for Q[0]: 256
> [    1.129291] eth2: TX BD ring size for Q[1]: 256
> [    1.133818] eth2: TX BD ring size for Q[2]: 256
> [    1.138344] eth2: TX BD ring size for Q[3]: 256
> [    1.142871] eth2: TX BD ring size for Q[4]: 256
> [    1.147398] eth2: TX BD ring size for Q[5]: 256
> [    1.151925] eth2: TX BD ring size for Q[6]: 256
> [    1.156452] eth2: TX BD ring size for Q[7]: 256
> [    1.161023] ucc_geth: QE UCC Gigabit Ethernet Controller
> [    1.166721] Freescale PowerQUICC MII Bus: probed
> [    1.171369] irq: irq 3 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 37
> [    1.171760] irq: irq 2 on host /soc@ffe00000/pic@40000 mapped to
> virtual irq 38
> [    1.172142] Freescale PowerQUICC MII Bus: probed
> [    1.178127] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    1.184817] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> [    1.191162] /soc@ffe00000/usb@22000: Invalid 'dr_mode' property,
> fallback to host mode
> [    1.199169] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host
> Controller
> [    1.205996] fsl-ehci fsl-ehci.0: new USB bus registered, assigned
> bus number 1
> [    1.235156] fsl-ehci fsl-ehci.0: irq 28, io mem 0xffe22000
> [    1.251134] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
> [    1.257090] hub 1-0:1.0: USB hub found
> [    1.260860] hub 1-0:1.0: 1 port detected
> [    1.264959] Initializing USB Mass Storage driver...
> [    1.269918] usbcore: registered new interface driver usb-storage
> [    1.275929] USB Mass Storage support registered.
> [    1.280797] of:mpc-i2c ffe03000.i2c: timeout 1000000 us
> [    1.286321] of:mpc-i2c ffe03100.i2c: timeout 1000000 us
> [    1.291698] EDAC MC: Ver: 2.1.0 Apr  8 2011
> [    1.295999] Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista
> Software
> [    1.303043] mpc85xx_mc_err_probe: No ECC DIMMs discovered
> [    1.308913] EDAC DEVICE0: Giving out device to module
> 'MPC85xx_edac' controller 'mpc85xx_l2_err': DEV 'mpc85xx_l2_err'
> (INTERRUPT)
> [    1.320684] MPC85xx_edac acquired irq 16 for L2 Err
> [    1.325561] MPC85xx_edac L2 err registered
> [    1.329874] sdhci: Secure Digital Host Controller Interface driver
> [    1.336056] sdhci: Copyright(c) Pierre Ossman
> [    1.340590] mmc0: SDHCI controller on ffe2e000.sdhci
> [ffe2e000.sdhci] using DMA
> [    1.348286] of:talitos ffe30000.crypto: hwrng
> [    1.352766] of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-aes-
> talitos
> [    1.359618] of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-3des-
> talitos
> [    1.366583] of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-aes-
> talitos
> [    1.473638] of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-3des-
> talitos
> [    1.480747] of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-aes-
> talitos
> [    1.487513] of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-3des-
> talitos
> [    1.494358] of:talitos ffe30000.crypto: cbc-aes-talitos
> [    1.499643] of:talitos ffe30000.crypto: cbc-3des-talitos
> [    1.505015] of:talitos ffe30000.crypto: md5-talitos
> [    1.509952] of:talitos ffe30000.crypto: sha1-talitos
> [    1.514976] of:talitos ffe30000.crypto: sha224-talitos
> [    1.520174] of:talitos ffe30000.crypto: sha256-talitos
> [    1.525372] of:talitos ffe30000.crypto: sha384-talitos
> [    1.530573] of:talitos ffe30000.crypto: sha512-talitos
> [    1.536275] usbcore: registered new interface driver usbhid
> [    1.541850] usbhid: USB HID core driver
> [    1.545983] ALSA device list:
> [    1.548958]   No soundcards found.
> [    1.553108] IPv4 over IPv4 tunneling driver
> [    1.557922] TCP cubic registered
> [    1.561155] Initializing XFRM netlink socket
> [    1.565847] NET: Registered protocol family 10
> [    1.574266] IPv6 over IPv4 tunneling driver
> [    1.579967] NET: Registered protocol family 17
> [    1.584454] Registering the dns_resolver key type
> [    1.590372] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
> [    2.102073] ADDRCONF(NETDEV_UP): eth0: link is not ready
> [    2.939140] sil24_softreset: ENTER
> [    2.955143] ata_dev_classify: found ATA device by sig
> [    2.960194] sil24_softreset: EXIT, class=3D1
> [    2.964295] ata_eh_thaw_port: ata1 port thawed
> [    2.968734] ata_std_postreset: ENTER
> [    2.972314] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
> [    2.978315] ata_std_postreset: EXIT
> [    2.981804] ata_eh_revalidate_and_attach: ENTER
> [    2.986333] ata1.00: ata_dev_read_id: ENTER
> [    2.986342] ata_sg_setup: ENTER, ata1
> [    2.989996] ata_sg_setup: 1 sg elements mapped
> [    2.994431] max_sge now 1
> [    2.997041] max_sge now 1
> [    3.147167] IP-Config: Guessing netmask 255.255.255.0
> [    3.152315] IP-Config: Complete:
> [    3.155546]      device=3Deth0, addr=3D192.168.0.20,
> mask=3D255.255.255.0, gw=3D255.255.255.255,
> [    3.163391]      host=3DP1020RDB, domain=3D, nis-domain=3D(none),
> [    3.168962]      bootserver=3D192.168.0.7, rootserver=3D192.168.0.7,
> rootpath=3D
> [    4.147148] PHY: 0:01 - Link is Up - 1000/Full
> [    4.151702] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [    7.999132] __ata_port_freeze: ata1 port frozen
> [    8.003672] ata_sg_clean: unmapping 1 sg elements
> [    8.008369] ata1.00: qc timeout (cmd 0xec)
> [    8.012474] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
> [    8.018566] ata_eh_revalidate_and_attach: EXIT rc=3D-5
> [    8.023534] __ata_port_freeze: ata1 port frozen
> [   10.167138] sil24_softreset: ENTER
> [   10.183147] ata_dev_classify: found ATA device by sig
> [   10.188197] sil24_softreset: EXIT, class=3D1
> [   10.192298] ata_eh_thaw_port: ata1 port thawed
> [   10.196737] ata_std_postreset: ENTER
> [   10.200316] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
> [   10.206318] ata_std_postreset: EXIT
> [   10.209806] ata_eh_revalidate_and_attach: ENTER
> [   10.214335] ata1.00: ata_dev_read_id: ENTER
> [   10.214344] ata_sg_setup: ENTER, ata1
> [   10.217998] ata_sg_setup: 1 sg elements mapped
> [   14.539135] eth0: no IPv6 routers present
> [   20.219208] __ata_port_freeze: ata1 port frozen
> [   20.223743] ata_sg_clean: unmapping 1 sg elements
> [   20.228439] ata1.00: qc timeout (cmd 0xec)
> [   20.232540] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
> [   20.238631] ata_eh_revalidate_and_attach: EXIT rc=3D-5
> [   20.243600] ata1: limiting SATA link speed to 1.5 Gbps
> [   20.248739] __ata_port_freeze: ata1 port frozen
> [   22.447139] sil24_softreset: ENTER
> [   22.463149] ata_dev_classify: found ATA device by sig
> [   22.468199] sil24_softreset: EXIT, class=3D1
> [   22.472300] ata_eh_thaw_port: ata1 port thawed
> [   22.476739] ata_std_postreset: ENTER
> [   22.480318] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 10)
> [   22.486406] ata_std_postreset: EXIT
> [   22.489893] ata_eh_revalidate_and_attach: ENTER
> [   22.494421] ata1.00: ata_dev_read_id: ENTER
> [   22.494428] ata_sg_setup: ENTER, ata1
> [   22.498080] ata_sg_setup: 1 sg elements mapped
> [   52.499142] __ata_port_freeze: ata1 port frozen
> [   52.503678] ata_sg_clean: unmapping 1 sg elements
> [   52.508374] ata1.00: qc timeout (cmd 0xec)
> [   52.512477] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
> [   52.518570] ata_eh_revalidate_and_attach: EXIT rc=3D-5
> [   52.523536] __ata_port_freeze: ata1 port frozen
> [   54.739148] sil24_softreset: ENTER
> [   54.755149] ata_dev_classify: found ATA device by sig
> [   54.760209] sil24_softreset: EXIT, class=3D1
> [   54.764312] ata_eh_thaw_port: ata1 port thawed
> [   54.768751] ata_std_postreset: ENTER
> [   54.772330] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 10)
> [   54.778419] ata_std_postreset: EXIT
> [   54.781906] ata_eh_revalidate_and_attach: ENTER
> [   54.786435] ata_eh_recover: EXIT, rc=3D0
> [   54.790184] ata_scsi_error: EXIT
> [   54.793440] ata_port_schedule_eh: port EH scheduled
> [   54.798330] ata_scsi_error: ENTER
> [   54.801651] ata_eh_link_autopsy: ENTER
> [   54.805398] ata_eh_recover: ENTER
> [   54.808717] __ata_port_freeze: ata2 port frozen
> [   56.883149] ata_eh_thaw_port: ata2 port thawed
> [   56.887593] ata_std_postreset: ENTER
> [   56.891171] ata2: SATA link down (SStatus 0 SControl 0)
> [   56.896392] ata_std_postreset: EXIT
> [   56.899880] ata_eh_revalidate_and_attach: ENTER
> [   56.904409] ata_eh_recover: EXIT, rc=3D0
> [   56.908157] ata_scsi_error: EXIT
> [   56.931100] VFS: Mounted root (nfs filesystem) on device 0:15.
> [   56.937349] devtmpfs: mounted
> [   56.940365] Freeing unused kernel memory: 220k init
>=20
>=20
> [    0.518188] WARNING: at drivers/ata/libata-core.c:6082
>=20
> which means that pdev->irq is 0
>=20
> lspci -vvvn:
>=20
> root@p1020rdb:~# lspci -nvv
> 0000:00:00.0 0604: 1957:0100 (rev 10)
> 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR+ FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
> 	Bus: primary=3D00, secondary=3D01, subordinate=3D01, sec-latency=3D0
> 	I/O behind bridge: 00000000-00000fff
> 	Memory behind bridge: a0000000-bfffffff
> 	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
> <TAbort- <MAbort- <SERR- <PERR-
> 	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
> 		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
> 	Capabilities: [44] Power Management version 2
> 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA
> PME(D0+,D1+,D2+,D3hot+,D3cold+)
> 		Status: D0 PME-Enable- DSel=3D0 DScale=3D0 PME-
> 	Capabilities: [4c] Express (v1) Root Port (Slot-), MSI 00
> 		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 			ExtTag- RBE- FLReset-
> 		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+
> Unsupported+
> 			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
> 			MaxPayload 128 bytes, MaxReadReq 512 bytes
> 		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
> TransPend-
> 		LnkCap:	Port #0, Speed 2.5GT/s, Width x4, ASPM L0s,
> Latency L0 <2us,
> L1 unlimited
> 			ClockPM- Surprise- LLActRep- BwNot-
> 		LnkCtl:	ASPM Disabled; RCB 128 bytes Disabled- Retrain-
> CommClk-
> 			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> 		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk-
> DLActive-
> BWMgmt- ABWMgmt-
> 		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna-
> CRSVisible-
> 		RootCap: CRSVisible-
> 		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
> 	Capabilities: [100] Advanced Error Reporting
> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+
> MalfTLP+ ECRC- UnsupReq- ACSViol-
> 		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+
> ChkEn-
> 	Kernel driver in use: pcieport
>=20
> 0001:02:00.0 0604: 1957:0100 (rev 10)
> 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR+ FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0, Cache Line Size: 32 bytes
> 	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
> 	Bus: primary=3D00, secondary=3D03, subordinate=3D03, sec-latency=3D0
> 	I/O behind bridge: 00000000-00000fff
> 	Memory behind bridge: c0000000-dfffffff
> 	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
> <TAbort- <MAbort- <SERR- <PERR-
> 	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
> 		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
> 	Capabilities: [44] Power Management version 2
> 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA
> PME(D0+,D1+,D2+,D3hot+,D3cold+)
> 		Status: D0 PME-Enable- DSel=3D0 DScale=3D0 PME-
> 	Capabilities: [4c] Express (v1) Root Port (Slot-), MSI 00
> 		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 			ExtTag- RBE- FLReset-
> 		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+
> Unsupported+
> 			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
> 			MaxPayload 128 bytes, MaxReadReq 512 bytes
> 		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
> TransPend-
> 		LnkCap:	Port #0, Speed 2.5GT/s, Width x4, ASPM L0s,
> Latency L0 <2us,
> L1 unlimited
> 			ClockPM- Surprise- LLActRep- BwNot-
> 		LnkCtl:	ASPM Disabled; RCB 128 bytes Disabled- Retrain-
> CommClk-
> 			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> 		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk-
> DLActive-
> BWMgmt- ABWMgmt-
> 		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna-
> CRSVisible-
> 		RootCap: CRSVisible-
> 		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
> 	Capabilities: [100] Advanced Error Reporting
> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+
> MalfTLP+ ECRC- UnsupReq- ACSViol-
> 		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+
> ChkEn-
> 	Kernel driver in use: pcieport
>=20
> 0001:03:00.0 0104: 1095:3132 (rev 01)
> 	Subsystem: 1095:7132
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0, Cache Line Size: 32 bytes
> 	Interrupt: pin A routed to IRQ 0
> 	Region 0: Memory at c0000000 (64-bit, non-prefetchable) [size=3D128]
> 	Region 2: Memory at c0004000 (64-bit, non-prefetchable) [size=3D16K]
> 	Region 4: I/O ports at 1000 [size=3D128]
> 	[virtual] Expansion ROM at c0080000 [disabled] [size=3D512K]
> 	Capabilities: [54] Power Management version 2
> 		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=3D0mA PME(D0-,D1-,D2-
> ,D3hot-,D3cold-)
> 		Status: D0 PME-Enable- DSel=3D0 DScale=3D1 PME-
> 	Capabilities: [5c] MSI: Mask- 64bit+ Count=3D1/1 Enable-
> 		Address: 0000000000000000  Data: 0000
> 	Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00
> 		DevCap:	MaxPayload 1024 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 			ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
> 		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal-
> Unsupported-
> 			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> 			MaxPayload 128 bytes, MaxReadReq 1024 bytes
> 		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
> TransPend-
> 		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s,
> Latency L0
> unlimited, L1 unlimited
> 			ClockPM- Surprise- LLActRep- BwNot-
> 		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain-
> CommClk-
> 			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> 		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+
> DLActive-
> BWMgmt- ABWMgmt-
> 	Capabilities: [100] Advanced Error Reporting
> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+
> MalfTLP+ ECRC- UnsupReq- ACSViol-
> 		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+
> ChkEn-
> 	Kernel driver in use: sata_sil24
>=20
> root@p1020rdb:~#
>=20
> 		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=3D0mA PME(D0-,D1-,D2-
> ,D3hot-,D3cold-)
> 		Status: D0 PME-Enable- DSel=3D0 DScale=3D1 PME-
> 	Capabilities: [5c] MSI: Mask- 64bit+ Count=3D1/1 Enable-
> 		Address: 0000000000000000  Data: 0000
> 	Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00
> 		DevCap:	MaxPayload 1024 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 			ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
> 		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal-
> Unsupported-
> 			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
> 			MaxPayload 128 bytes, MaxReadReq 1024 bytes
> 		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr-
> TransPend-
> 		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s,
> Latency L0
> unlimited, L1 unlimited
> 			ClockPM- Surprise- LLActRep- BwNot-
> 		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain-
> CommClk-
> 			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> 		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+
> DLActive-
> BWMgmt- ABWMgmt-
> 	Capabilities: [100] Advanced Error Reporting
> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq- ACSViol-
> 		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF+
> MalfTLP+ ECRC- UnsupReq- ACSViol-
> 		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> NonFatalErr-
> 		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+
> ChkEn-
> 	Kernel driver in use: sata_sil24
> 	Kernel modules: sata_sil24
>=20
>=20
> --
> Leon

^ permalink raw reply

* [PATCH] powerpc/e500mc: Remove CPU_FTR_MAYBE_CAN_NAP/CPU_FTR_MAYBE_CAN_DOZE
From: Kumar Gala @ 2011-04-08  9:40 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Scott Wood

From: Scott Wood <scottwood@freescale.com>

e500mc does not support the HID0/MSR mechanism that is used by e500_idle
(and there are also issues with waking on certain types of interrupts).

Further, even if napping is never actually enabled, just having
CPU_FTR_CAN_NAP will cause machine_init() to overwrite the board's supplied
ppc_md.power_save().

We drop CPU_FTR_MAYBE_CAN_DOZE becuase we should use 'wait' instead on
e500mc.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/include/asm/cputable.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
index 6a7c8d9..7e9b831 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -383,8 +383,7 @@ extern const char *powerpc_base_platform;
 #define CPU_FTRS_E500_2	(CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | \
 	    CPU_FTR_SPE_COMP | CPU_FTR_MAYBE_CAN_NAP | \
 	    CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE)
-#define CPU_FTRS_E500MC	(CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | \
-	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
+#define CPU_FTRS_E500MC	(CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | \
 	    CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \
 	    CPU_FTR_DBELL)
 #define CPU_FTRS_E5500	(CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | \
-- 
1.7.3.4

^ permalink raw reply related

* [PATCH v3] powerpc/book3e: Fix CPU feature handling on 64-bit e5500
From: Kumar Gala @ 2011-04-08  9:40 UTC (permalink / raw)
  To: linuxppc-dev

The CPU_FTRS_POSSIBLE and CPU_FTRS_ALWAYS defines did not encompass
e5500 CPU features when built for 64-bit.  This causes issues with
cpu_has_feature() as it utilizes the POSSIBLE & ALWAYS defines as part
of its check.

Create a unique CPU_FTRS_E5500 (as its different from CPU_FTRS_E500MC),
created a new group for 64-bit Book3e based CPUs and add CPU_FTRS_E5500
to that group.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/include/asm/cputable.h |   13 +++++++++++++
 arch/powerpc/kernel/cputable.c      |    2 +-
 2 files changed, 14 insertions(+), 1 deletions(-)

v3 - drop NAP & DOZE support based on feedback from Scott

diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
index be3cdf9..f1fbf60 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -386,6 +386,9 @@ extern const char *powerpc_base_platform;
 	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
 	    CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \
 	    CPU_FTR_DBELL)
+#define CPU_FTRS_E5500	(CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | \
+	    CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \
+	    CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD)
 #define CPU_FTRS_GENERIC_32	(CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)
 
 /* 64-bit CPUs */
@@ -435,11 +438,15 @@ extern const char *powerpc_base_platform;
 #define CPU_FTRS_COMPATIBLE	(CPU_FTR_USE_TB | CPU_FTR_PPCAS_ARCH_V2)
 
 #ifdef __powerpc64__
+#ifdef CONFIG_PPC_BOOK3E
+#define CPU_FTRS_POSSIBLE	(CPU_FTRS_E5500)
+#else
 #define CPU_FTRS_POSSIBLE	\
 	    (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 |	\
 	    CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 |	\
 	    CPU_FTRS_POWER7 | CPU_FTRS_CELL | CPU_FTRS_PA6T |		\
 	    CPU_FTR_1T_SEGMENT | CPU_FTR_VSX)
+#endif
 #else
 enum {
 	CPU_FTRS_POSSIBLE =
@@ -473,16 +480,21 @@ enum {
 #endif
 #ifdef CONFIG_E500
 	    CPU_FTRS_E500 | CPU_FTRS_E500_2 | CPU_FTRS_E500MC |
+	    CPU_FTRS_E5500 |
 #endif
 	    0,
 };
 #endif /* __powerpc64__ */
 
 #ifdef __powerpc64__
+#ifdef CONFIG_PPC_BOOK3E
+#define CPU_FTRS_ALWAYS		(CPU_FTRS_E5500)
+#else
 #define CPU_FTRS_ALWAYS		\
 	    (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 &	\
 	    CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_POWER6 &	\
 	    CPU_FTRS_POWER7 & CPU_FTRS_CELL & CPU_FTRS_PA6T & CPU_FTRS_POSSIBLE)
+#endif
 #else
 enum {
 	CPU_FTRS_ALWAYS =
@@ -513,6 +525,7 @@ enum {
 #endif
 #ifdef CONFIG_E500
 	    CPU_FTRS_E500 & CPU_FTRS_E500_2 & CPU_FTRS_E500MC &
+	    CPU_FTRS_E5500 &
 #endif
 	    CPU_FTRS_POSSIBLE,
 };
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index c9b68d0..b9602ee 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -1973,7 +1973,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.pvr_mask		= 0xffff0000,
 		.pvr_value		= 0x80240000,
 		.cpu_name		= "e5500",
-		.cpu_features		= CPU_FTRS_E500MC,
+		.cpu_features		= CPU_FTRS_E5500,
 		.cpu_user_features	= COMMON_USER_BOOKE,
 		.mmu_features		= MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS |
 			MMU_FTR_USE_TLBILX,
-- 
1.7.3.4

^ permalink raw reply related

* Where is CONFIG_BOOT_LOAD ?
From: Guillaume Dargaud @ 2011-04-08  9:28 UTC (permalink / raw)
  To: linuxppc-dev

Hello all,
I don't see this option in the .config and in the menuconfig / Advanced Setup I don't see a [Set the boot link/load 
address]:

[*] Prompt for advanced kernel configuration options
[ ]   Set maximum low memory
[ ]   Set custom page offset address
[ ]   Set custom kernel base address
[ ] Set custom user task size
[ ] Set custom consistent memory pool size
 
-- 
Guillaume Dargaud
http://www.gdargaud.net/Antarctica/

^ permalink raw reply

* hotplug support on 85xx smp ?
From: Kumar Gala @ 2011-04-08  9:25 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Linuxppc-dev list

Ben,

If looks like SUSPEND support requires CPU hotplug (forces =
CONFIG_HOTPLUG_CPU).  This is causing current 2.6.39-rc2 to break for =
85xx-smp.  Are you willing to take patches that add cpu hotplug support =
for 85xx/e500 for 2.6.39 to fix this?

- k=

^ permalink raw reply

* Re: [PATCH 2/3] powerpc: Use MSR_64BIT in places
From: Kumar Gala @ 2011-04-08  9:24 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <431bd20fec52ff41fb47808954993ab6369eb45e.1302249358.git.michael@ellerman.id.au>


On Apr 8, 2011, at 2:56 AM, Michael Ellerman wrote:

> Use the new MSR_64BIT in a few places. Some of these are already ifdef'ed
> for BOOKE vs BOOKS, but it's still clearer, MSR_SF does not immediately
> parse as "MSR bit for 64bit".
> 
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
> arch/powerpc/kernel/head_64.S   |    2 +-
> arch/powerpc/kernel/signal_64.c |    4 ++--
> arch/powerpc/kernel/traps.c     |    2 +-
> arch/powerpc/xmon/xmon.c        |   14 +++++++-------
> 4 files changed, 11 insertions(+), 11 deletions(-)

However MSR_ISF does ;)

- k

^ permalink raw reply

* Re: known working sata_sil24.c setup on powerpc platforms?
From: Leon Woestenberg @ 2011-04-08  9:12 UTC (permalink / raw)
  To: Kushwaha Prabhakar-B32579
  Cc: Tejun Heo, Jeff Garzik, Linux PPC, linux-ide@vger.kernel.org,
	Moffett, Kyle D, Gupta Maneesh-B18878
In-Reply-To: <071A08F2C6A57E4E94D980ECA553F87416D8CC@039-SN1MPN1-004.039d.mgd.msft.net>

Hello Prabhakar,

On Fri, Apr 8, 2011 at 10:31 AM, Kushwaha Prabhakar-B32579
<B32579@freescale.com> wrote:
> Hi Leon,
>
>
>> -----Original Message-----
>> From: Leon Woestenberg [mailto:leon.woestenberg@gmail.com]
>> Sent: Friday, April 08, 2011 1:55 PM
>> To: Kushwaha Prabhakar-B32579
>> Cc: Moffett, Kyle D; linux-ide@vger.kernel.org; Tejun Heo; Jeff Garzik;
>> Linux PPC; Gupta Maneesh-B18878
>> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>>
>> Hello Prabhakar,
>>
>> On Fri, Apr 8, 2011 at 5:44 AM, Kushwaha Prabhakar-B32579
>> <B32579@freescale.com> wrote:
>> >> -----Original Message-----
>> >> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
>> >> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
>> >> Sent: Thursday, April 07, 2011 10:23 PM
>> >> To: Kushwaha Prabhakar-B32579
>> >> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun Heo;
>> >> Jeff Garzik
>> >> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>> >>
>> >> On Thu, Apr 7, 2011 at 6:48 AM, Kushwaha Prabhakar-B32579
>> >> <B32579@freescale.com> wrote:
>> >> > Can you please check p2020rdb.dts for IDSEL entries for pci0/1 node=
?
>> >> >
>> >> > In order to work in legacy mode, IDSEL entries are required.
>> >> >
>> >> No, the p1020rdb and p2020rdb do not have the IDSEL entries:
>> >> What would the correct IDSEL entries be?
>> >
>> > For legacy interrupt to work IDSEL values are required.. please find
>> the correct IDSEL values for pci0/1.
>> >
>> > =A0 =A0 =A0 =A0pci0: pcie@ffe09000 {
>> > ...
>> > Please try with this.. I am in process of pushing these IDSEL values t=
o
>> upstream.
>> >
>>
>> Do you have these for P1020RDB =A0as well? I found a P1020RDB board that
>> has the CE10 errata fixed, so IRQ0 is properly pulled up.
>>
>
> =A0Same IDSEL values are valid for P1020RDB also.
>
I compiled the new device tree binary, the dump is below(*) and booted
the P1020RDB from that.

I verified using an oscilloscope that IRQ0 indeed remains high.

However, no interrupt seems to come in from the sata_sil24 driver, see
boot log (**).

(*) dtb dump:
$ dtc -I dtb -O dts /tftpboot/p1020rdb/uImage.dtb

	pcie@ffe09000 {
		compatible =3D "fsl,mpc8548-pcie";
		device_type =3D "pci";
		#interrupt-cells =3D <0x1>;
		#size-cells =3D <0x2>;
		#address-cells =3D <0x3>;
		reg =3D <0x0 0xffe09000 0x0 0x1000>;
		bus-range =3D <0x0 0xff>;
		ranges =3D <0x2000000 0x0 0xa0000000 0x0 0xa0000000 0x0 0x20000000
0x1000000 0x0 0x0 0x0 0xffc30000 0x0 0x10000>;
		clock-frequency =3D <0x1fca055>;
		interrupt-parent =3D <0x2>;
		interrupts =3D <0x10 0x2>;
		interrupt-map-mask =3D <0xf800 0x0 0x0 0x7>;
		interrupt-map =3D <0x0 0x0 0x0 0x1 0x2 0x4 0x1 0x0 0x0 0x0 0x2 0x2 0x5
0x1 0x0 0x0 0x0 0x3 0x2 0x6 0x1 0x0 0x0 0x0 0x4 0x2 0x7 0x1>;

		pcie@0 {
			reg =3D <0x0 0x0 0x0 0x0 0x0>;
			#size-cells =3D <0x2>;
			#address-cells =3D <0x3>;
			device_type =3D "pci";
			ranges =3D <0x2000000 0x0 0xa0000000 0x2000000 0x0 0xa0000000 0x0
0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>;
		};
	};

	pcie@ffe0a000 {
		compatible =3D "fsl,mpc8548-pcie";
		device_type =3D "pci";
		#interrupt-cells =3D <0x1>;
		#size-cells =3D <0x2>;
		#address-cells =3D <0x3>;
		reg =3D <0x0 0xffe0a000 0x0 0x1000>;
		bus-range =3D <0x0 0xff>;
		ranges =3D <0x2000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000
0x1000000 0x0 0x0 0x0 0xffc20000 0x0 0x10000>;
		clock-frequency =3D <0x1fca055>;
		interrupt-parent =3D <0x2>;
		interrupts =3D <0x10 0x2>;
		interrupt-map =3D <0x0 0x0 0x0 0x1 0x2 0x0 0x1 0x0 0x0 0x0 0x2 0x2 0x1
0x1 0x0 0x0 0x0 0x3 0x2 0x2 0x1 0x0 0x0 0x0 0x4 0x2 0x3 0x1>;

		pcie@0 {
			reg =3D <0x0 0x0 0x0 0x0 0x0>;
			#size-cells =3D <0x2>;
			#address-cells =3D <0x3>;
			device_type =3D "pci";
			ranges =3D <0x2000000 0x0 0xc0000000 0x2000000 0x0 0xc0000000 0x0
0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>;
		};
	};
};

(**) boot log

[    0.000000] Using P1020 RDB machine description
[    0.000000] Memory CAM mapping: 256/256 Mb, residual: 0Mb
[    0.000000] Linux version 2.6.38 (leon@lunar) (gcc version 4.3.3
(GCC) ) #6 Fri Apr 8 11:00:10 CEST 2011
[    0.000000] Found legacy serial port 0 for /soc@ffe00000/serial@4500
[    0.000000]   mem=3Dffe04500, taddr=3Dffe04500, irq=3D0, clk=3D399999996=
, speed=3D0
[    0.000000] Found legacy serial port 1 for /soc@ffe00000/serial@4600
[    0.000000]   mem=3Dffe04600, taddr=3Dffe04600, irq=3D0, clk=3D399999996=
, speed=3D0
[    0.000000] bootconsole [udbg0] enabled
[    0.000000] Found FSL PCI host bridge at 0x00000000ffe09000.
Firmware bus number: 0->255
[    0.000000] PCI host bridge /pcie@ffe09000  ranges:
[    0.000000]  MEM 0x00000000a0000000..0x00000000bfffffff ->
0x00000000a0000000
[    0.000000]   IO 0x00000000ffc30000..0x00000000ffc3ffff -> 0x00000000000=
00000
[    0.000000] /pcie@ffe09000: PCICSRBAR @ 0xfff00000
[    0.000000] Found FSL PCI host bridge at 0x00000000ffe0a000.
Firmware bus number: 0->0
[    0.000000] PCI host bridge /pcie@ffe0a000  ranges:
[    0.000000]  MEM 0x00000000c0000000..0x00000000dfffffff ->
0x00000000c0000000
[    0.000000]   IO 0x00000000ffc20000..0x00000000ffc2ffff -> 0x00000000000=
00000
[    0.000000] /pcie@ffe0a000: PCICSRBAR @ 0xfff00000
[    0.000000] MPC85xx RDB board from Freescale Semiconductor
[    0.000000] Top of RAM: 0x20000000, Total RAM: 0x20000000
[    0.000000] Memory hole size: 0MB
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000000 -> 0x00020000
[    0.000000]   Normal   empty
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00020000
[    0.000000] On node 0 totalpages: 131072
[    0.000000] free_area_init_node: node 0, pgdat c062d9bc,
node_mem_map c07e1000
[    0.000000]   DMA zone: 1024 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 130048 pages, LIFO batch:31
[    0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=3D1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 130048
[    0.000000] Kernel command line: root=3D/dev/nfs rw
nfsroot=3D192.168.0.7:/nfsroot/p1020rdb
ip=3D192.168.0.20:192.168.0.7:::P1020RDB:eth0:off console=3DttyS0,115200
ramdisk_size=3D200000 cache-sram-size=3D0x10000
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 byt=
es)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 byte=
s)
[    0.000000] High memory: 0k
[    0.000000] Memory: 511604k/524288k available (6112k kernel code,
12684k reserved, 256k data, 1686k bss, 220k init)
[    0.000000] Kernel virtual memory layout:
[    0.000000]   * 0xfffcf000..0xfffff000  : fixmap
[    0.000000]   * 0xff800000..0xffc00000  : highmem PTEs
[    0.000000]   * 0xff7da000..0xff800000  : early ioremap
[    0.000000]   * 0xe1000000..0xff7da000  : vmalloc & ioremap
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D32, Order=3D0-3, MinObjects=
=3D0,
CPUs=3D1, Nodes=3D1
[    0.000000] NR_IRQS:512
[    0.000000] mpic: Setting up MPIC " OpenPIC  " version 1.2 at
ffe40000, max 2 CPUs
[    0.000000] mpic: ISU size: 256, shift: 8, mask: ff
[    0.000000] mpic: Initializing for 256 sources
[    0.000000] time_init: decrementer frequency =3D 50.000000 MHz
[    0.000000] time_init: processor frequency   =3D 799.999992 MHz
[    0.000000] clocksource: timebase mult[5000000] shift[22] registered
[    0.000000] clockevent: decrementer mult[ccccccc] shift[32] cpu[0]
[    0.000000] Console: colour dummy device 80x25
[    0.010728] pid_max: default: 32768 minimum: 301
[    0.015483] Mount-cache hash table entries: 512
[    0.021404] devtmpfs: initialized
[    0.025042] NET: Registered protocol family 16
[    0.031180] irq: irq 47 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 47
[    0.031507] PCI: Probing PCI hardware
[    0.035144] pci_bus 0000:00: scanning bus
[    0.035167] pci 0000:00:00.0: [1957:0100] type 1 class 0x000b20
[    0.035188] pci 0000:00:00.0: calling quirk_mmio_always_on+0x0/0x24
[    0.035197] pci 0000:00:00.0: ignoring class b20 (doesn't match
header type 01)
[    0.042429] pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0=
x54
[    0.042440] pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x110
[    0.042456] pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x50
[    0.042473] pci 0000:00:00.0: calling quirk_resource_alignment+0x0/0x19c
[    0.042488] pci 0000:00:00.0: supports D1 D2
[    0.042496] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.042505] pci 0000:00:00.0: PME# disabled
[    0.042525] pci_bus 0000:00: fixups for bus
[    0.042539] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[    0.042546] pci 0000:00:00.0: bus configuration invalid, reconfiguring
[    0.042556] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[    0.042577] pci_bus 0000:01: scanning bus
[    0.042584] pci_bus 0000:01: fixups for bus
[    0.042591] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.047728] pci 0000:00:00.0:   bridge window [io  0x0000-0x0000] (disab=
led)
[    0.047738] pci 0000:00:00.0:   bridge window [mem
0x00000000-0x000fffff] (disabled)
[    0.047748] pci 0000:00:00.0:   bridge window [mem
0x00000000-0x000fffff pref] (disabled)
[    0.047760] pci_bus 0000:01: bus scan returning with max=3D01
[    0.047769] pci_bus 0000:00: bus scan returning with max=3D01
[    0.047902] pci_bus 0001:02: scanning bus
[    0.047920] pci 0001:02:00.0: [1957:0100] type 1 class 0x000b20
[    0.047932] pci 0001:02:00.0: calling quirk_mmio_always_on+0x0/0x24
[    0.047941] pci 0001:02:00.0: ignoring class b20 (doesn't match
header type 01)
[    0.055166] pci 0001:02:00.0: calling fixup_hide_host_resource_fsl+0x0/0=
x54
[    0.055177] pci 0001:02:00.0: calling pcibios_fixup_resources+0x0/0x110
[    0.055188] pci 0001:02:00.0: calling quirk_fsl_pcie_header+0x0/0x50
[    0.055202] pci 0001:02:00.0: calling quirk_resource_alignment+0x0/0x19c
[    0.055215] pci 0001:02:00.0: supports D1 D2
[    0.055222] pci 0001:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.055230] pci 0001:02:00.0: PME# disabled
[    0.055254] pci_bus 0001:02: fixups for bus
[    0.055265] pci 0001:02:00.0: scanning [bus 01-01] behind bridge, pass 0
[    0.055272] pci 0001:02:00.0: bus configuration invalid, reconfiguring
[    0.055282] pci 0001:02:00.0: scanning [bus 00-00] behind bridge, pass 1
[    0.055302] pci_bus 0001:03: scanning bus
[    0.055334] pci 0001:03:00.0: [1095:3132] type 0 class 0x000104
[    0.055346] pci 0001:03:00.0: calling quirk_mmio_always_on+0x0/0x24
[    0.055376] pci 0001:03:00.0: reg 10: [mem 0xc0000000-0xc000007f 64bit]
[    0.055401] pci 0001:03:00.0: reg 18: [mem 0xc0004000-0xc0007fff 64bit]
[    0.055420] pci 0001:03:00.0: reg 20: [io  0x1000-0x107f]
[    0.055448] pci 0001:03:00.0: reg 30: [mem 0x00000000-0x0007ffff pref]
[    0.055461] pci 0001:03:00.0: calling pcibios_fixup_resources+0x0/0x110
[    0.055473] pci 0001:03:00.0: calling quirk_resource_alignment+0x0/0x19c
[    0.055513] pci 0001:03:00.0: supports D1 D2
[    0.055537] pci 0001:03:00.0: disabling ASPM on pre-1.1 PCIe
device.  You can enable it with 'pcie_aspm=3Dforce'
[    0.065457] pci_bus 0001:03: fixups for bus
[    0.065464] pci 0001:02:00.0: PCI bridge to [bus 03-ff]
[    0.070655] pci 0001:02:00.0:   bridge window [io  0x0000-0x0000] (disab=
led)
[    0.070664] pci 0001:02:00.0:   bridge window [mem 0xc0000000-0xc00fffff=
]
[    0.070674] pci 0001:02:00.0:   bridge window [mem
0x10000000-0x000fffff pref] (disabled)
[    0.070707] pci_bus 0001:03: bus scan returning with max=3D03
[    0.070716] pci_bus 0001:02: bus scan returning with max=3D03
[    0.070891] PCI 0000:00 Cannot reserve Legacy IO [io  0xff7ed000-0xff7ed=
fff]
[    0.070900] PCI 0001:02 Cannot reserve Legacy IO [io  0xff7db000-0xff7db=
fff]
[    0.070922] pci 0000:00:00.0: PCI bridge to [bus 01-01]
[    0.076063] pci 0000:00:00.0:   bridge window [io  0xff7ed000-0xff7fcfff=
]
[    0.082827] pci 0000:00:00.0:   bridge window [mem 0xa0000000-0xbfffffff=
]
[    0.089596] pci 0000:00:00.0:   bridge window [mem pref disabled]
[    0.095676] pci 0000:00:00.0: enabling device (0106 -> 0107)
[    0.101321] pci 0001:02:00.0: BAR 9: can't assign mem pref (size 0x10000=
0)
[    0.108175] pci 0001:03:00.0: BAR 6: assigned [mem
0xc0080000-0xc00fffff pref]
[    0.115377] pci 0001:02:00.0: PCI bridge to [bus 03-03]
[    0.120584] pci 0001:02:00.0:   bridge window [io  0xff7db000-0xff7eafff=
]
[    0.127355] pci 0001:02:00.0:   bridge window [mem 0xc0000000-0xdfffffff=
]
[    0.134124] pci 0001:02:00.0:   bridge window [mem pref disabled]
[    0.140203] pci 0001:02:00.0: enabling device (0106 -> 0107)
[    0.145845] pci_bus 0000:00: resource 0 [io  0xff7ed000-0xff7fcfff]
[    0.145854] pci_bus 0000:00: resource 1 [mem 0xa0000000-0xbfffffff]
[    0.145863] pci_bus 0000:01: resource 0 [io  0xff7ed000-0xff7fcfff]
[    0.145872] pci_bus 0000:01: resource 1 [mem 0xa0000000-0xbfffffff]
[    0.145880] pci_bus 0001:02: resource 0 [io  0xff7db000-0xff7eafff]
[    0.145889] pci_bus 0001:02: resource 1 [mem 0xc0000000-0xdfffffff]
[    0.145897] pci_bus 0001:03: resource 0 [io  0xff7db000-0xff7eafff]
[    0.145906] pci_bus 0001:03: resource 1 [mem 0xc0000000-0xdfffffff]
[    0.145942] Registering qe_ic with sysfs...
[    0.149031] bio: create slab <bio-0> at 0
[    0.153197] vgaarb: loaded
[    0.156055] SCSI subsystem initialized
[    0.159772] libata version 3.00 loaded.
[    0.159905] usbcore: registered new interface driver usbfs
[    0.165357] usbcore: registered new interface driver hub
[    0.170666] usbcore: registered new device driver usb
[    0.175707] Freescale Elo / Elo Plus DMA driver
[    0.180293] Advanced Linux Sound Architecture Driver Version 1.0.23.
[    0.186845] Switching to clocksource timebase
[    0.194746] NET: Registered protocol family 2
[    0.199032] Switched to NOHz mode on CPU #0
[    0.203314] IP route cache hash table entries: 4096 (order: 2, 16384 byt=
es)
[    0.210610] TCP established hash table entries: 16384 (order: 5,
131072 bytes)
[    0.218015] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[    0.224585] TCP: Hash tables configured (established 16384 bind 16384)
[    0.231022] TCP reno registered
[    0.234149] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.239974] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.246527] NET: Registered protocol family 1
[    0.251004] RPC: Registered udp transport module.
[    0.255632] RPC: Registered tcp transport module.
[    0.260308] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.266758] pci 0000:00:00.0: calling quirk_cardbus_legacy+0x0/0x50
[    0.266778] pci 0000:00:00.0: calling quirk_usb_early_handoff+0x0/0x724
[    0.266794] pci 0001:02:00.0: calling quirk_cardbus_legacy+0x0/0x50
[    0.266804] pci 0001:02:00.0: calling quirk_usb_early_handoff+0x0/0x724
[    0.266818] pci 0001:03:00.0: calling quirk_cardbus_legacy+0x0/0x50
[    0.266829] pci 0001:03:00.0: calling quirk_usb_early_handoff+0x0/0x724
[    0.266839] PCI: CLS 32 bytes, default 32
[    0.267012] irq: irq 42 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 42
[    0.267213] irq: irq 19 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 19
[    0.267604] irq: irq 16 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 16
[    0.267761] irq: irq 43 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 43
[    0.268030] irq: irq 59 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 59
[    0.268323] irq: irq 20 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 20
[    0.268335] of:fsl-elo-dma ffe21300.dma: #0 (fsl,eloplus-dma-channel), i=
rq 20
[    0.275419] irq: irq 21 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 21
[    0.275430] of:fsl-elo-dma ffe21300.dma: #1 (fsl,eloplus-dma-channel), i=
rq 21
[    0.282530] irq: irq 22 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 22
[    0.282540] of:fsl-elo-dma ffe21300.dma: #2 (fsl,eloplus-dma-channel), i=
rq 22
[    0.289648] irq: irq 23 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 23
[    0.289659] of:fsl-elo-dma ffe21300.dma: #3 (fsl,eloplus-dma-channel), i=
rq 23
[    0.297270] irq: irq 28 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 28
[    0.297360] irq: irq 72 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 72
[    0.297450] irq: irq 45 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 45
[    0.297469] irq: irq 58 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 58
[    0.297630] irq: irq 224 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 224
[    0.297649] irq: irq 225 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 225
[    0.297668] irq: irq 226 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 226
[    0.297686] irq: irq 227 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 227
[    0.297705] irq: irq 228 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 228
[    0.297723] irq: irq 229 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 229
[    0.297742] irq: irq 230 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 230
[    0.297760] irq: irq 231 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 231
[    0.297849] Setting up Freescale MSI support
[    0.298123] audit: initializing netlink socket (disabled)
[    0.303462] type=3D2000 audit(0.236:1): initialized
[    0.314074] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.320368] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.326841] NTFS driver 2.1.30 [Flags: R/O].
[    0.331296] JFFS2 version 2.2. (NAND) =A9 2001-2006 Red Hat, Inc.
[    0.337596] msgmni has been set to 1001
[    0.341965] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 253)
[    0.349288] io scheduler noop registered (default)
[    0.431003] Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
[    0.438061] serial8250.0: ttyS0 at MMIO 0xffe04500 (irq =3D 42) is a 165=
50A
[    0.444791] console [ttyS0] enabled, bootconsole disabled
[    0.456105] serial8250.0: ttyS1 at MMIO 0xffe04600 (irq =3D 42) is a 165=
50A
[    0.463482] Generic non-volatile memory driver v1.1
[    0.470831] brd: module loaded
[    0.475184] loop: module loaded
[    0.478439] nbd: registered device at major 43
[    0.485462] st: Version 20101219, fixed bufsize 32768, s/g segs 256
[    0.492145] sata_sil24 0001:03:00.0: version 1.1 built on Apr  8
2011 11:00:08
[    0.492182] ata_host_alloc: ENTER
[    0.495504] ata_port_alloc: ENTER
[    0.498821] ata_port_alloc: ENTER
[    0.502525] __ata_port_freeze: ata4294967295 port frozen
[    0.508187] __ata_port_freeze: ata4294967295 port frozen
[    0.513580] ------------[ cut here ]------------
[    0.518188] WARNING: at drivers/ata/libata-core.c:6082
[    0.523316] Modules linked in:
[    0.526364] NIP: c02876b0 LR: c0287690 CTR: c0248934
[    0.531323] REGS: df837d00 TRAP: 0700   Not tainted  (2.6.38)
[    0.537058] MSR: 00029000 <EE,ME,CE>  CR: 20424022  XER: 20000000
[    0.543158] TASK =3D df838000[1] 'swapper' THREAD: df836000
[    0.548373] GPR00: 00000001 df837db0 df838000 00000000 00003cb6
ffffffff c0249690 00080000
[    0.556736] GPR08: c073b9bc ffffffff 0007ffff 00003cb6 20424022
66013a2a 1ff91d00 c056c170
[    0.565097] GPR16: c0546e94 00000001 00002040 00000400 00000008
0000020c e109e040 df807060
[    0.573459] GPR24: dfa58490 c06160d8 00000080 c029fc0c 00000000
c07d4a58 dfa58490 00000000
[    0.582013] NIP [c02876b0] ata_host_activate+0x48/0x11c
[    0.587232] LR [c0287690] ata_host_activate+0x28/0x11c
[    0.592360] Call Trace:
[    0.594801] [df837db0] [c0287690] ata_host_activate+0x28/0x11c (unreliab=
le)
[    0.601771] [df837de0] [c029faf8] sil24_init_one+0x420/0x534
[    0.607428] [df837e60] [c021d73c] local_pci_probe+0x24/0x34
[    0.612997] [df837e70] [c021d984] pci_device_probe+0x84/0xa8
[    0.618652] [df837ea0] [c0258a44] driver_probe_device+0xa8/0x1c8
[    0.624653] [df837ec0] [c0258c20] __driver_attach+0xbc/0xc0
[    0.630231] [df837ee0] [c02580ec] bus_for_each_dev+0x70/0xac
[    0.635885] [df837f10] [c0258844] driver_attach+0x24/0x34
[    0.641281] [df837f20] [c0257864] bus_add_driver+0xc4/0x294
[    0.646849] [df837f50] [c0258f98] driver_register+0x84/0x178
[    0.652504] [df837f70] [c021dc08] __pci_register_driver+0x4c/0xdc
[    0.658597] [df837f90] [c05ddfe4] sil24_init+0x24/0x34
[    0.663733] [df837fa0] [c0001dc0] do_one_initcall+0x34/0x1c8
[    0.669388] [df837fd0] [c05c11ec] kernel_init+0xcc/0x174
[    0.674696] [df837ff0] [c000cf98] kernel_thread+0x4c/0x68
[    0.680086] Instruction dump:
[    0.683045] 7cda3378 7cf93b78 7c7e1b78 4bfffc91 7c7f1b79 408200d8
2f9c0000 409e0034
[    0.690798] 7f69fe70 7d20da78 7c004850 54000ffe <0f000000> 80010034
7fc3f378 7f24cb78
[    0.698738] ---[ end trace ab638653f78364ad ]---
[    0.703813] scsi0 : sata_sil24
[    0.707083] scsi1 : sata_sil24
[    0.710242] ata1: SATA max UDMA/100 host m128@0xc0000000 port 0xc0004000
[    0.716951] ata2: SATA max UDMA/100 host m128@0xc0000000 port 0xc0006000
[    0.724592] ef000000.nor: Found 1 x16 devices at 0x0 in 16-bit
bank. Manufacturer ID 0x000001 Chip ID 0x002101
[    0.734612] Amd/Fujitsu Extended Query Table at 0x0040
[    0.739787]   Amd/Fujitsu Extended Query version 1.3.
[    0.744839] number of CFI chips: 1
[    0.748325] ata_port_schedule_eh: port EH scheduled
[    0.753217] ata_scsi_error: ENTER
[    0.756539] ata_eh_link_autopsy: ENTER
[    0.760286] ata_eh_recover: ENTER
[    0.763606] __ata_port_freeze: ata1 port frozen
[    0.768317] RedBoot partition parsing not available
[    0.773212] Creating 5 MTD partitions on "ef000000.nor":
[    0.778526] 0x000000000000-0x000000040000 : "NOR (RO) Vitesse-7385 Firmw=
are"
[    0.786280] 0x000000040000-0x000000080000 : "NOR (RO) DTB Image"
[    0.792876] 0x000000080000-0x000000400000 : "NOR (RO) Linux Kernel Image=
"
[    0.800257] 0x000000400000-0x000000f00000 : "NOR (RW) JFFS2 Root File Sy=
stem"
[    0.808001] 0x000000f00000-0x000001000000 : "NOR (RO) U-Boot Image"
[    0.815110] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
[    0.821564] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
[    0.828002] fsl-lbc ffe05000.localbus: read_byte beyond end of buffer
[    0.834443] NAND device: Manufacturer ID: 0xec, Chip ID: 0x75
(Samsung NAND 32MiB 3,3V 8-bit)
[    0.843174] Bad block table found at page 65504, version 0x01
[    0.843513] Bad block table found at page 65472, version 0x01
[    0.843876] RedBoot partition parsing not available
[    0.848772] Creating 6 MTD partitions on "ffa00000.flash":
[    0.854259] 0x000000000000-0x000000100000 : "NAND (RO) U-Boot Image"
[    0.861299] 0x000000100000-0x000000200000 : "NAND (RO) DTB Image"
[    0.868010] 0x000000200000-0x000000600000 : "NAND (RO) Linux Kernel Imag=
e"
[    0.875530] 0x000000600000-0x000000a00000 : "NAND (RO) Compressed RFS Im=
age"
[    0.883216] 0x000000a00000-0x000001100000 : "NAND (RW) JFFS2 Root
File System"
[    0.891042] 0x000001100000-0x000002000000 : "NAND (RW) Writable User are=
a"
[    0.898571] eLBC NAND device at 0xffa00000, bank 1
[    0.904384] Fixed MDIO Bus: probed
[    0.907964] irq: irq 29 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 29
[    0.907986] irq: irq 30 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 30
[    0.908005] irq: irq 34 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 34
[    0.908035] irq: irq 17 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 17
[    0.908054] irq: irq 18 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 18
[    0.908074] irq: irq 24 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 24
[    0.908588] eth0: Gianfar Ethernet Controller Version 1.2, 00:04:9f:01:1=
f:49
[    0.915646] eth0: Running with NAPI enabled
[    0.919826] eth0: RX BD ring size for Q[0]: 256
[    0.924353] eth0: RX BD ring size for Q[1]: 256
[    0.928879] eth0: RX BD ring size for Q[2]: 256
[    0.933406] eth0: RX BD ring size for Q[3]: 256
[    0.937932] eth0: RX BD ring size for Q[4]: 256
[    0.942458] eth0: RX BD ring size for Q[5]: 256
[    0.946984] eth0: RX BD ring size for Q[6]: 256
[    0.951512] eth0: RX BD ring size for Q[7]: 256
[    0.956037] eth0: TX BD ring size for Q[0]: 256
[    0.960564] eth0: TX BD ring size for Q[1]: 256
[    0.965090] eth0: TX BD ring size for Q[2]: 256
[    0.969616] eth0: TX BD ring size for Q[3]: 256
[    0.974143] eth0: TX BD ring size for Q[4]: 256
[    0.978668] eth0: TX BD ring size for Q[5]: 256
[    0.983197] eth0: TX BD ring size for Q[6]: 256
[    0.987725] eth0: TX BD ring size for Q[7]: 256
[    0.992327] irq: irq 35 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 35
[    0.992348] irq: irq 36 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 36
[    0.992367] irq: irq 40 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 40
[    0.992397] irq: irq 51 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 51
[    0.992417] irq: irq 52 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 52
[    0.992436] irq: irq 67 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 67
[    0.992938] eth1: Gianfar Ethernet Controller Version 1.2, 00:04:9f:01:1=
f:4a
[    0.999992] eth1: Running with NAPI enabled
[    1.004172] eth1: RX BD ring size for Q[0]: 256
[    1.008699] eth1: RX BD ring size for Q[1]: 256
[    1.013226] eth1: RX BD ring size for Q[2]: 256
[    1.017753] eth1: RX BD ring size for Q[3]: 256
[    1.022280] eth1: RX BD ring size for Q[4]: 256
[    1.026806] eth1: RX BD ring size for Q[5]: 256
[    1.031333] eth1: RX BD ring size for Q[6]: 256
[    1.035860] eth1: RX BD ring size for Q[7]: 256
[    1.040387] eth1: TX BD ring size for Q[0]: 256
[    1.044914] eth1: TX BD ring size for Q[1]: 256
[    1.049441] eth1: TX BD ring size for Q[2]: 256
[    1.053967] eth1: TX BD ring size for Q[3]: 256
[    1.058495] eth1: TX BD ring size for Q[4]: 256
[    1.063022] eth1: TX BD ring size for Q[5]: 256
[    1.067552] eth1: TX BD ring size for Q[6]: 256
[    1.072079] eth1: TX BD ring size for Q[7]: 256
[    1.076679] irq: irq 31 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 31
[    1.076700] irq: irq 32 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 32
[    1.076719] irq: irq 33 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 33
[    1.076748] irq: irq 25 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 25
[    1.076768] irq: irq 26 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 26
[    1.076787] irq: irq 27 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 27
[    1.077315] eth2: Gianfar Ethernet Controller Version 1.2, 00:04:9f:01:1=
f:4b
[    1.084370] eth2: Running with NAPI enabled
[    1.088551] eth2: RX BD ring size for Q[0]: 256
[    1.093077] eth2: RX BD ring size for Q[1]: 256
[    1.097604] eth2: RX BD ring size for Q[2]: 256
[    1.102130] eth2: RX BD ring size for Q[3]: 256
[    1.106657] eth2: RX BD ring size for Q[4]: 256
[    1.111184] eth2: RX BD ring size for Q[5]: 256
[    1.115712] eth2: RX BD ring size for Q[6]: 256
[    1.120238] eth2: RX BD ring size for Q[7]: 256
[    1.124765] eth2: TX BD ring size for Q[0]: 256
[    1.129291] eth2: TX BD ring size for Q[1]: 256
[    1.133818] eth2: TX BD ring size for Q[2]: 256
[    1.138344] eth2: TX BD ring size for Q[3]: 256
[    1.142871] eth2: TX BD ring size for Q[4]: 256
[    1.147398] eth2: TX BD ring size for Q[5]: 256
[    1.151925] eth2: TX BD ring size for Q[6]: 256
[    1.156452] eth2: TX BD ring size for Q[7]: 256
[    1.161023] ucc_geth: QE UCC Gigabit Ethernet Controller
[    1.166721] Freescale PowerQUICC MII Bus: probed
[    1.171369] irq: irq 3 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 37
[    1.171760] irq: irq 2 on host /soc@ffe00000/pic@40000 mapped to
virtual irq 38
[    1.172142] Freescale PowerQUICC MII Bus: probed
[    1.178127] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.184817] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.191162] /soc@ffe00000/usb@22000: Invalid 'dr_mode' property,
fallback to host mode
[    1.199169] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[    1.205996] fsl-ehci fsl-ehci.0: new USB bus registered, assigned
bus number 1
[    1.235156] fsl-ehci fsl-ehci.0: irq 28, io mem 0xffe22000
[    1.251134] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[    1.257090] hub 1-0:1.0: USB hub found
[    1.260860] hub 1-0:1.0: 1 port detected
[    1.264959] Initializing USB Mass Storage driver...
[    1.269918] usbcore: registered new interface driver usb-storage
[    1.275929] USB Mass Storage support registered.
[    1.280797] of:mpc-i2c ffe03000.i2c: timeout 1000000 us
[    1.286321] of:mpc-i2c ffe03100.i2c: timeout 1000000 us
[    1.291698] EDAC MC: Ver: 2.1.0 Apr  8 2011
[    1.295999] Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Softwa=
re
[    1.303043] mpc85xx_mc_err_probe: No ECC DIMMs discovered
[    1.308913] EDAC DEVICE0: Giving out device to module
'MPC85xx_edac' controller 'mpc85xx_l2_err': DEV 'mpc85xx_l2_err'
(INTERRUPT)
[    1.320684] MPC85xx_edac acquired irq 16 for L2 Err
[    1.325561] MPC85xx_edac L2 err registered
[    1.329874] sdhci: Secure Digital Host Controller Interface driver
[    1.336056] sdhci: Copyright(c) Pierre Ossman
[    1.340590] mmc0: SDHCI controller on ffe2e000.sdhci
[ffe2e000.sdhci] using DMA
[    1.348286] of:talitos ffe30000.crypto: hwrng
[    1.352766] of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-aes-talito=
s
[    1.359618] of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-3des-talit=
os
[    1.366583] of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-aes-tali=
tos
[    1.473638] of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-3des-tal=
itos
[    1.480747] of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-aes-talitos
[    1.487513] of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-3des-talito=
s
[    1.494358] of:talitos ffe30000.crypto: cbc-aes-talitos
[    1.499643] of:talitos ffe30000.crypto: cbc-3des-talitos
[    1.505015] of:talitos ffe30000.crypto: md5-talitos
[    1.509952] of:talitos ffe30000.crypto: sha1-talitos
[    1.514976] of:talitos ffe30000.crypto: sha224-talitos
[    1.520174] of:talitos ffe30000.crypto: sha256-talitos
[    1.525372] of:talitos ffe30000.crypto: sha384-talitos
[    1.530573] of:talitos ffe30000.crypto: sha512-talitos
[    1.536275] usbcore: registered new interface driver usbhid
[    1.541850] usbhid: USB HID core driver
[    1.545983] ALSA device list:
[    1.548958]   No soundcards found.
[    1.553108] IPv4 over IPv4 tunneling driver
[    1.557922] TCP cubic registered
[    1.561155] Initializing XFRM netlink socket
[    1.565847] NET: Registered protocol family 10
[    1.574266] IPv6 over IPv4 tunneling driver
[    1.579967] NET: Registered protocol family 17
[    1.584454] Registering the dns_resolver key type
[    1.590372] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.102073] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    2.939140] sil24_softreset: ENTER
[    2.955143] ata_dev_classify: found ATA device by sig
[    2.960194] sil24_softreset: EXIT, class=3D1
[    2.964295] ata_eh_thaw_port: ata1 port thawed
[    2.968734] ata_std_postreset: ENTER
[    2.972314] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[    2.978315] ata_std_postreset: EXIT
[    2.981804] ata_eh_revalidate_and_attach: ENTER
[    2.986333] ata1.00: ata_dev_read_id: ENTER
[    2.986342] ata_sg_setup: ENTER, ata1
[    2.989996] ata_sg_setup: 1 sg elements mapped
[    2.994431] max_sge now 1
[    2.997041] max_sge now 1
[    3.147167] IP-Config: Guessing netmask 255.255.255.0
[    3.152315] IP-Config: Complete:
[    3.155546]      device=3Deth0, addr=3D192.168.0.20,
mask=3D255.255.255.0, gw=3D255.255.255.255,
[    3.163391]      host=3DP1020RDB, domain=3D, nis-domain=3D(none),
[    3.168962]      bootserver=3D192.168.0.7, rootserver=3D192.168.0.7, roo=
tpath=3D
[    4.147148] PHY: 0:01 - Link is Up - 1000/Full
[    4.151702] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.999132] __ata_port_freeze: ata1 port frozen
[    8.003672] ata_sg_clean: unmapping 1 sg elements
[    8.008369] ata1.00: qc timeout (cmd 0xec)
[    8.012474] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
[    8.018566] ata_eh_revalidate_and_attach: EXIT rc=3D-5
[    8.023534] __ata_port_freeze: ata1 port frozen
[   10.167138] sil24_softreset: ENTER
[   10.183147] ata_dev_classify: found ATA device by sig
[   10.188197] sil24_softreset: EXIT, class=3D1
[   10.192298] ata_eh_thaw_port: ata1 port thawed
[   10.196737] ata_std_postreset: ENTER
[   10.200316] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[   10.206318] ata_std_postreset: EXIT
[   10.209806] ata_eh_revalidate_and_attach: ENTER
[   10.214335] ata1.00: ata_dev_read_id: ENTER
[   10.214344] ata_sg_setup: ENTER, ata1
[   10.217998] ata_sg_setup: 1 sg elements mapped
[   14.539135] eth0: no IPv6 routers present
[   20.219208] __ata_port_freeze: ata1 port frozen
[   20.223743] ata_sg_clean: unmapping 1 sg elements
[   20.228439] ata1.00: qc timeout (cmd 0xec)
[   20.232540] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
[   20.238631] ata_eh_revalidate_and_attach: EXIT rc=3D-5
[   20.243600] ata1: limiting SATA link speed to 1.5 Gbps
[   20.248739] __ata_port_freeze: ata1 port frozen
[   22.447139] sil24_softreset: ENTER
[   22.463149] ata_dev_classify: found ATA device by sig
[   22.468199] sil24_softreset: EXIT, class=3D1
[   22.472300] ata_eh_thaw_port: ata1 port thawed
[   22.476739] ata_std_postreset: ENTER
[   22.480318] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 10)
[   22.486406] ata_std_postreset: EXIT
[   22.489893] ata_eh_revalidate_and_attach: ENTER
[   22.494421] ata1.00: ata_dev_read_id: ENTER
[   22.494428] ata_sg_setup: ENTER, ata1
[   22.498080] ata_sg_setup: 1 sg elements mapped
[   52.499142] __ata_port_freeze: ata1 port frozen
[   52.503678] ata_sg_clean: unmapping 1 sg elements
[   52.508374] ata1.00: qc timeout (cmd 0xec)
[   52.512477] ata1.00: failed to IDENTIFY (I/O error, err_mask=3D0x4)
[   52.518570] ata_eh_revalidate_and_attach: EXIT rc=3D-5
[   52.523536] __ata_port_freeze: ata1 port frozen
[   54.739148] sil24_softreset: ENTER
[   54.755149] ata_dev_classify: found ATA device by sig
[   54.760209] sil24_softreset: EXIT, class=3D1
[   54.764312] ata_eh_thaw_port: ata1 port thawed
[   54.768751] ata_std_postreset: ENTER
[   54.772330] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 10)
[   54.778419] ata_std_postreset: EXIT
[   54.781906] ata_eh_revalidate_and_attach: ENTER
[   54.786435] ata_eh_recover: EXIT, rc=3D0
[   54.790184] ata_scsi_error: EXIT
[   54.793440] ata_port_schedule_eh: port EH scheduled
[   54.798330] ata_scsi_error: ENTER
[   54.801651] ata_eh_link_autopsy: ENTER
[   54.805398] ata_eh_recover: ENTER
[   54.808717] __ata_port_freeze: ata2 port frozen
[   56.883149] ata_eh_thaw_port: ata2 port thawed
[   56.887593] ata_std_postreset: ENTER
[   56.891171] ata2: SATA link down (SStatus 0 SControl 0)
[   56.896392] ata_std_postreset: EXIT
[   56.899880] ata_eh_revalidate_and_attach: ENTER
[   56.904409] ata_eh_recover: EXIT, rc=3D0
[   56.908157] ata_scsi_error: EXIT
[   56.931100] VFS: Mounted root (nfs filesystem) on device 0:15.
[   56.937349] devtmpfs: mounted
[   56.940365] Freeing unused kernel memory: 220k init


[    0.518188] WARNING: at drivers/ata/libata-core.c:6082

which means that pdev->irq is 0

lspci -vvvn:

root@p1020rdb:~# lspci -nvv
0000:00:00.0 0604: 1957:0100 (rev 10)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
	Bus: primary=3D00, secondary=3D01, subordinate=3D01, sec-latency=3D0
	I/O behind bridge: 00000000-00000fff
	Memory behind bridge: a0000000-bfffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA PME(D0+,D1+,D2+,D3hot+,D3col=
d+)
		Status: D0 PME-Enable- DSel=3D0 DScale=3D0 PME-
	Capabilities: [4c] Express (v1) Root Port (Slot-), MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag- RBE- FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <2us,
L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive-
BWMgmt- ABWMgmt-
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
	Capabilities: [100] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
	Kernel driver in use: pcieport

0001:02:00.0 0604: 1957:0100 (rev 10)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
	Bus: primary=3D00, secondary=3D03, subordinate=3D03, sec-latency=3D0
	I/O behind bridge: 00000000-00000fff
	Memory behind bridge: c0000000-dfffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D0mA PME(D0+,D1+,D2+,D3hot+,D3col=
d+)
		Status: D0 PME-Enable- DSel=3D0 DScale=3D0 PME-
	Capabilities: [4c] Express (v1) Root Port (Slot-), MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag- RBE- FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <2us,
L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive-
BWMgmt- ABWMgmt-
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
	Capabilities: [100] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
	Kernel driver in use: pcieport

0001:03:00.0 0104: 1095:3132 (rev 01)
	Subsystem: 1095:7132
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at c0000000 (64-bit, non-prefetchable) [size=3D128]
	Region 2: Memory at c0004000 (64-bit, non-prefetchable) [size=3D16K]
	Region 4: I/O ports at 1000 [size=3D128]
	[virtual] Expansion ROM at c0080000 [disabled] [size=3D512K]
	Capabilities: [54] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=3D0mA PME(D0-,D1-,D2-,D3hot-,D3col=
d-)
		Status: D0 PME-Enable- DSel=3D0 DScale=3D1 PME-
	Capabilities: [5c] MSI: Mask- 64bit+ Count=3D1/1 Enable-
		Address: 0000000000000000  Data: 0000
	Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 1024 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 1024 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0
unlimited, L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
	Capabilities: [100] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
	Kernel driver in use: sata_sil24

root@p1020rdb:~#

		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=3D0mA PME(D0-,D1-,D2-,D3hot-,D3col=
d-)
		Status: D0 PME-Enable- DSel=3D0 DScale=3D1 PME-
	Capabilities: [5c] MSI: Mask- 64bit+ Count=3D1/1 Enable-
		Address: 0000000000000000  Data: 0000
	Capabilities: [70] Express (v1) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 1024 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 1024 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0
unlimited, L1 unlimited
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
	Capabilities: [100] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
	Kernel driver in use: sata_sil24
	Kernel modules: sata_sil24


--=20
Leon

^ permalink raw reply

* platform_driver/of_platform_driver compile warning in fsldma.c
From: Kumar Gala @ 2011-04-08  9:12 UTC (permalink / raw)
  To: Grant Likely; +Cc: Linuxppc-dev list

Grant,

I'm being lazy, can you give any quick insight on the following compile =
warning:

drivers/dma/fsldma.c:1457:2: warning: initialization from incompatible =
pointer type
drivers/dma/fsldma.c: In function 'fsldma_init':
drivers/dma/fsldma.c:1468:2: warning: passing argument 1 of =
'platform_driver_register' from incompatible pointer type
include/linux/platform_device.h:124:12: note: expected 'struct =
platform_driver *' but argument is of type 'struct of_platform_driver *'
drivers/dma/fsldma.c: In function 'fsldma_exit':
drivers/dma/fsldma.c:1473:2: warning: passing argument 1 of =
'platform_driver_unregister' from incompatible pointer type
include/linux/platform_device.h:125:13: note: expected 'struct =
platform_driver *' but argument is of type 'struct of_platform_driver *'

- k=

^ permalink raw reply

* Re: [PATCH] mm: Check we have the right vma in __access_remote_vm()
From: KOSAKI Motohiro @ 2011-04-08  8:42 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: aarcange, Andrew Morton, riel, linuxppc-dev, hughd, linux-kernel,
	linux-mm, kosaki.motohiro, walken
In-Reply-To: <10e5cbf67c850b6ae511979bdbad1761236ad9b0.1302247435.git.michael@ellerman.id.au>

> In __access_remote_vm() we need to check that we have found the right
> vma, not the following vma, before we try to access it. Otherwise we
> might call the vma's access routine with an address which does not
> fall inside the vma.
> 
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
>  mm/memory.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/mm/memory.c b/mm/memory.c
> index 9da8cab..ce999ca 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -3678,7 +3678,7 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
>  			 */
>  #ifdef CONFIG_HAVE_IOREMAP_PROT
>  			vma = find_vma(mm, addr);
> -			if (!vma)
> +			if (!vma || vma->vm_start > addr)
>  				break;
>  			if (vma->vm_ops && vma->vm_ops->access)
>  				ret = vma->vm_ops->access(vma, addr, buf,

Looks good to me.
	Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>

^ permalink raw reply

* RE: [PATCH V3] POWER: perf_event: Skip updating kernel counters ifregister value shrinks
From: David Laight @ 2011-04-08  8:38 UTC (permalink / raw)
  To: linuxppc-dev

=20
> +	u64 delta =3D 0;
...
> +	if (((prev & 0x80000000) && !(val & 0x80000000)) || (val >
prev))
> +		delta =3D (val - prev) & 0xfffffffful;
> +
> +	return delta;

The above is incorrect modulo arithmetic.

It is probably intended to do:
    s32 delta =3D val - prev;
    return delta < 0 ? 0 : delta;
which will just ignore the fact that some counts are rolled back.

More accurate would be:
    static u64 val64;
    u32 val =3D read_perf_count();
    s32 delta =3D val - val_64;
    if (delta < 0)
        return;
    val64 +=3D delta;
Which will not double count for rolled back events.
(The low bits of val64 should always match the actual counter.)

	David

^ permalink raw reply

* RE: known working sata_sil24.c setup on powerpc platforms?
From: Kushwaha Prabhakar-B32579 @ 2011-04-08  8:31 UTC (permalink / raw)
  To: Leon Woestenberg
  Cc: Tejun Heo, Jeff Garzik, Linux PPC, linux-ide@vger.kernel.org,
	Moffett, Kyle D, Gupta Maneesh-B18878
In-Reply-To: <BANLkTi=jLZrS+rOBOMq=v3aMCPjNAUjS4w@mail.gmail.com>

Hi Leon,


> -----Original Message-----
> From: Leon Woestenberg [mailto:leon.woestenberg@gmail.com]
> Sent: Friday, April 08, 2011 1:55 PM
> To: Kushwaha Prabhakar-B32579
> Cc: Moffett, Kyle D; linux-ide@vger.kernel.org; Tejun Heo; Jeff Garzik;
> Linux PPC; Gupta Maneesh-B18878
> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>=20
> Hello Prabhakar,
>=20
> On Fri, Apr 8, 2011 at 5:44 AM, Kushwaha Prabhakar-B32579
> <B32579@freescale.com> wrote:
> >> -----Original Message-----
> >> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
> >> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
> >> Sent: Thursday, April 07, 2011 10:23 PM
> >> To: Kushwaha Prabhakar-B32579
> >> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun Heo;
> >> Jeff Garzik
> >> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
> >>
> >> On Thu, Apr 7, 2011 at 6:48 AM, Kushwaha Prabhakar-B32579
> >> <B32579@freescale.com> wrote:
> >> > Can you please check p2020rdb.dts for IDSEL entries for pci0/1 node?
> >> >
> >> > In order to work in legacy mode, IDSEL entries are required.
> >> >
> >> No, the p1020rdb and p2020rdb do not have the IDSEL entries:
> >> What would the correct IDSEL entries be?
> >
> > For legacy interrupt to work IDSEL values are required.. please find
> the correct IDSEL values for pci0/1.
> >
> > =A0 =A0 =A0 =A0pci0: pcie@ffe09000 {
> > ...
> > Please try with this.. I am in process of pushing these IDSEL values to
> upstream.
> >
>=20
> Do you have these for P1020RDB  as well? I found a P1020RDB board that
> has the CE10 errata fixed, so IRQ0 is properly pulled up.
>=20

  Same IDSEL values are valid for P1020RDB also.

--Prabhakar

^ permalink raw reply

* Re: known working sata_sil24.c setup on powerpc platforms?
From: Leon Woestenberg @ 2011-04-08  8:24 UTC (permalink / raw)
  To: Kushwaha Prabhakar-B32579
  Cc: Tejun Heo, Jeff Garzik, Linux PPC, linux-ide@vger.kernel.org,
	Moffett, Kyle D, Gupta Maneesh-B18878
In-Reply-To: <071A08F2C6A57E4E94D980ECA553F87416D3E7@039-SN1MPN1-004.039d.mgd.msft.net>

Hello Prabhakar,

On Fri, Apr 8, 2011 at 5:44 AM, Kushwaha Prabhakar-B32579
<B32579@freescale.com> wrote:
>> -----Original Message-----
>> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
>> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
>> Sent: Thursday, April 07, 2011 10:23 PM
>> To: Kushwaha Prabhakar-B32579
>> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun Heo;
>> Jeff Garzik
>> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>>
>> On Thu, Apr 7, 2011 at 6:48 AM, Kushwaha Prabhakar-B32579
>> <B32579@freescale.com> wrote:
>> > Can you please check p2020rdb.dts for IDSEL entries for pci0/1 node?
>> >
>> > In order to work in legacy mode, IDSEL entries are required.
>> >
>> No, the p1020rdb and p2020rdb do not have the IDSEL entries:
>> What would the correct IDSEL entries be?
>
> For legacy interrupt to work IDSEL values are required.. please find the =
correct IDSEL values for pci0/1.
>
> =A0 =A0 =A0 =A0pci0: pcie@ffe09000 {
> ...
> Please try with this.. I am in process of pushing these IDSEL values to u=
pstream.
>

Do you have these for P1020RDB  as well? I found a P1020RDB board that
has the CE10 errata fixed, so IRQ0 is properly pulled up.


Regards,
--=20
Leon

^ permalink raw reply

* [PATCH 3/3] powerpc: Use MSR_64BIT in sstep.c, fix kprobes on BOOK3E
From: Michael Ellerman @ 2011-04-08  7:56 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Paul Mackerras
In-Reply-To: <ca7cc2a36bbf492c11cd98d3d1dea0835731c75f.1302249358.git.michael@ellerman.id.au>

We check MSR_SF a lot in sstep.c, to decide if we need to emulate the
truncation of values when running in 32-bit mode. Factor out that code
into a helper, and convert it and the other uses to use MSR_64BIT.

This fixes a bug on BOOK3E where kprobes would end up returning to a
32-bit address, because regs->nip was truncated, because (msr & MSR_SF)
was false.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 arch/powerpc/lib/sstep.c |   61 ++++++++++++++++++++-------------------------
 1 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index ae5189a..0e5e540 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -45,6 +45,18 @@ extern int do_stxvd2x(int rn, unsigned long ea);
 #endif
 
 /*
+ * Emulate the truncation of 64 bit values in 32-bit mode.
+ */
+static unsigned long truncate_if_32bit(unsigned long msr, unsigned long val)
+{
+#ifdef __powerpc64__
+	if ((msr & MSR_64BIT) == 0)
+		val &= 0xffffffffUL;
+#endif
+	return val;
+}
+
+/*
  * Determine whether a conditional branch instruction would branch.
  */
 static int __kprobes branch_taken(unsigned int instr, struct pt_regs *regs)
@@ -90,11 +102,8 @@ static unsigned long __kprobes dform_ea(unsigned int instr, struct pt_regs *regs
 		if (instr & 0x04000000)		/* update forms */
 			regs->gpr[ra] = ea;
 	}
-#ifdef __powerpc64__
-	if (!(regs->msr & MSR_SF))
-		ea &= 0xffffffffUL;
-#endif
-	return ea;
+
+	return truncate_if_32bit(regs->msr, ea);
 }
 
 #ifdef __powerpc64__
@@ -113,9 +122,8 @@ static unsigned long __kprobes dsform_ea(unsigned int instr, struct pt_regs *reg
 		if ((instr & 3) == 1)		/* update forms */
 			regs->gpr[ra] = ea;
 	}
-	if (!(regs->msr & MSR_SF))
-		ea &= 0xffffffffUL;
-	return ea;
+
+	return truncate_if_32bit(regs->msr, ea);
 }
 #endif /* __powerpc64 */
 
@@ -136,11 +144,8 @@ static unsigned long __kprobes xform_ea(unsigned int instr, struct pt_regs *regs
 		if (do_update)		/* update forms */
 			regs->gpr[ra] = ea;
 	}
-#ifdef __powerpc64__
-	if (!(regs->msr & MSR_SF))
-		ea &= 0xffffffffUL;
-#endif
-	return ea;
+
+	return truncate_if_32bit(regs->msr, ea);
 }
 
 /*
@@ -466,7 +471,7 @@ static void __kprobes set_cr0(struct pt_regs *regs, int rd)
 
 	regs->ccr = (regs->ccr & 0x0fffffff) | ((regs->xer >> 3) & 0x10000000);
 #ifdef __powerpc64__
-	if (!(regs->msr & MSR_SF))
+	if (!(regs->msr & MSR_64BIT))
 		val = (int) val;
 #endif
 	if (val < 0)
@@ -487,7 +492,7 @@ static void __kprobes add_with_carry(struct pt_regs *regs, int rd,
 		++val;
 	regs->gpr[rd] = val;
 #ifdef __powerpc64__
-	if (!(regs->msr & MSR_SF)) {
+	if (!(regs->msr & MSR_64BIT)) {
 		val = (unsigned int) val;
 		val1 = (unsigned int) val1;
 	}
@@ -570,8 +575,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
 		if ((instr & 2) == 0)
 			imm += regs->nip;
 		regs->nip += 4;
-		if ((regs->msr & MSR_SF) == 0)
-			regs->nip &= 0xffffffffUL;
+		regs->nip = truncate_if_32bit(regs->msr, regs->nip);
 		if (instr & 1)
 			regs->link = regs->nip;
 		if (branch_taken(instr, regs))
@@ -604,13 +608,9 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
 			imm -= 0x04000000;
 		if ((instr & 2) == 0)
 			imm += regs->nip;
-		if (instr & 1) {
-			regs->link = regs->nip + 4;
-			if ((regs->msr & MSR_SF) == 0)
-				regs->link &= 0xffffffffUL;
-		}
-		if ((regs->msr & MSR_SF) == 0)
-			imm &= 0xffffffffUL;
+		if (instr & 1)
+			regs->link = truncate_if_32bit(regs->msr, regs->nip + 4);
+		imm = truncate_if_32bit(regs->msr, imm);
 		regs->nip = imm;
 		return 1;
 	case 19:
@@ -618,11 +618,8 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
 		case 16:	/* bclr */
 		case 528:	/* bcctr */
 			imm = (instr & 0x400)? regs->ctr: regs->link;
-			regs->nip += 4;
-			if ((regs->msr & MSR_SF) == 0) {
-				regs->nip &= 0xffffffffUL;
-				imm &= 0xffffffffUL;
-			}
+			regs->nip = truncate_if_32bit(regs->msr, regs->nip + 4);
+			imm = truncate_if_32bit(regs->msr, imm);
 			if (instr & 1)
 				regs->link = regs->nip;
 			if (branch_taken(instr, regs))
@@ -1616,11 +1613,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
 		return 0;	/* invoke DSI if -EFAULT? */
 	}
  instr_done:
-	regs->nip += 4;
-#ifdef __powerpc64__
-	if ((regs->msr & MSR_SF) == 0)
-		regs->nip &= 0xffffffffUL;
-#endif
+	regs->nip = truncate_if_32bit(regs->msr, regs->nip + 4);
 	return 1;
 
  logical_done:
-- 
1.7.1

^ permalink raw reply related

* [PATCH 2/3] powerpc: Use MSR_64BIT in places
From: Michael Ellerman @ 2011-04-08  7:56 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Paul Mackerras
In-Reply-To: <ca7cc2a36bbf492c11cd98d3d1dea0835731c75f.1302249358.git.michael@ellerman.id.au>

Use the new MSR_64BIT in a few places. Some of these are already ifdef'ed
for BOOKE vs BOOKS, but it's still clearer, MSR_SF does not immediately
parse as "MSR bit for 64bit".

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 arch/powerpc/kernel/head_64.S   |    2 +-
 arch/powerpc/kernel/signal_64.c |    4 ++--
 arch/powerpc/kernel/traps.c     |    2 +-
 arch/powerpc/xmon/xmon.c        |   14 +++++++-------
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 271140b..e7e03f8 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -645,7 +645,7 @@ _GLOBAL(enable_64b_mode)
 	oris	r11,r11,0x8000		/* CM bit set, we'll set ICM later */
 	mtmsr	r11
 #else /* CONFIG_PPC_BOOK3E */
-	li	r12,(MSR_SF | MSR_ISF)@highest
+	li	r12,(MSR_64BIT | MSR_ISF)@highest
 	sldi	r12,r12,48
 	or	r11,r11,r12
 	mtmsrd	r11
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index 27c4a45..da989ff 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -381,7 +381,7 @@ badframe:
 	       regs, uc, &uc->uc_mcontext);
 #endif
 	if (show_unhandled_signals && printk_ratelimit())
-		printk(regs->msr & MSR_SF ? fmt64 : fmt32,
+		printk(regs->msr & MSR_64BIT ? fmt64 : fmt32,
 			current->comm, current->pid, "rt_sigreturn",
 			(long)uc, regs->nip, regs->link);
 
@@ -469,7 +469,7 @@ badframe:
 	       regs, frame, newsp);
 #endif
 	if (show_unhandled_signals && printk_ratelimit())
-		printk(regs->msr & MSR_SF ? fmt64 : fmt32,
+		printk(regs->msr & MSR_64BIT ? fmt64 : fmt32,
 			current->comm, current->pid, "setup_rt_frame",
 			(long)frame, regs->nip, regs->link);
 
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index bd74fac..443353a 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -199,7 +199,7 @@ void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr)
 	} else if (show_unhandled_signals &&
 		    unhandled_signal(current, signr) &&
 		    printk_ratelimit()) {
-			printk(regs->msr & MSR_SF ? fmt64 : fmt32,
+			printk(regs->msr & MSR_64BIT ? fmt64 : fmt32,
 				current->comm, current->pid, signr,
 				addr, regs->nip, regs->link, code);
 		}
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 33794c1..ef9756e 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -399,7 +399,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
 	cpu_set(cpu, cpus_in_xmon);
 
 	bp = NULL;
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) == (MSR_IR|MSR_SF))
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT))
 		bp = at_breakpoint(regs->nip);
 	if (bp || unrecoverable_excp(regs))
 		fromipi = 0;
@@ -529,7 +529,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
 		}
 	}
 #else
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) == (MSR_IR|MSR_SF)) {
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT)) {
 		bp = at_breakpoint(regs->nip);
 		if (bp != NULL) {
 			int stepped = emulate_step(regs, bp->instr[0]);
@@ -578,7 +578,7 @@ static int xmon_bpt(struct pt_regs *regs)
 	struct bpt *bp;
 	unsigned long offset;
 
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) != (MSR_IR|MSR_SF))
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) != (MSR_IR|MSR_64BIT))
 		return 0;
 
 	/* Are we at the trap at bp->instr[1] for some bp? */
@@ -609,7 +609,7 @@ static int xmon_sstep(struct pt_regs *regs)
 
 static int xmon_dabr_match(struct pt_regs *regs)
 {
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) != (MSR_IR|MSR_SF))
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) != (MSR_IR|MSR_64BIT))
 		return 0;
 	if (dabr.enabled == 0)
 		return 0;
@@ -619,7 +619,7 @@ static int xmon_dabr_match(struct pt_regs *regs)
 
 static int xmon_iabr_match(struct pt_regs *regs)
 {
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) != (MSR_IR|MSR_SF))
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) != (MSR_IR|MSR_64BIT))
 		return 0;
 	if (iabr == NULL)
 		return 0;
@@ -644,7 +644,7 @@ static int xmon_fault_handler(struct pt_regs *regs)
 	if (in_xmon && catch_memory_errors)
 		handle_fault(regs);	/* doesn't return */
 
-	if ((regs->msr & (MSR_IR|MSR_PR|MSR_SF)) == (MSR_IR|MSR_SF)) {
+	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT)) {
 		bp = in_breakpoint_table(regs->nip, &offset);
 		if (bp != NULL) {
 			regs->nip = bp->address + offset;
@@ -929,7 +929,7 @@ static int do_step(struct pt_regs *regs)
 	int stepped;
 
 	/* check we are in 64-bit kernel mode, translation enabled */
-	if ((regs->msr & (MSR_SF|MSR_PR|MSR_IR)) == (MSR_SF|MSR_IR)) {
+	if ((regs->msr & (MSR_64BIT|MSR_PR|MSR_IR)) == (MSR_64BIT|MSR_IR)) {
 		if (mread(regs->nip, &instr, 4) == 4) {
 			stepped = emulate_step(regs, instr);
 			if (stepped < 0) {
-- 
1.7.1

^ permalink raw reply related

* [PATCH 1/3] powerpc: Add MSR_64BIT
From: Michael Ellerman @ 2011-04-08  7:56 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Paul Mackerras

The MSR bit which indicates 64-bit-ness is different between server and
booke, so add a #define which gives you the right mask regardless.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 arch/powerpc/include/asm/reg.h       |   10 ++++++++--
 arch/powerpc/include/asm/reg_booke.h |    6 ++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index 7e4abeb..fdaafd0 100644
--- a/arch/powerpc/include/asm/reg.h
+++ b/arch/powerpc/include/asm/reg.h
@@ -99,17 +99,23 @@
 #define MSR_LE		__MASK(MSR_LE_LG)	/* Little Endian */
 
 #if defined(CONFIG_PPC_BOOK3S_64)
+#define MSR_64BIT	MSR_SF
+
 /* Server variant */
 #define MSR_		MSR_ME | MSR_RI | MSR_IR | MSR_DR | MSR_ISF |MSR_HV
-#define MSR_KERNEL      MSR_ | MSR_SF
+#define MSR_KERNEL	MSR_ | MSR_64BIT
 #define MSR_USER32	MSR_ | MSR_PR | MSR_EE
-#define MSR_USER64	MSR_USER32 | MSR_SF
+#define MSR_USER64	MSR_USER32 | MSR_64BIT
 #elif defined(CONFIG_PPC_BOOK3S_32) || defined(CONFIG_8xx)
 /* Default MSR for kernel mode. */
 #define MSR_KERNEL	(MSR_ME|MSR_RI|MSR_IR|MSR_DR)
 #define MSR_USER	(MSR_KERNEL|MSR_PR|MSR_EE)
 #endif
 
+#ifndef MSR_64BIT
+#define MSR_64BIT	0
+#endif
+
 /* Floating Point Status and Control Register (FPSCR) Fields */
 #define FPSCR_FX	0x80000000	/* FPU exception summary */
 #define FPSCR_FEX	0x40000000	/* FPU enabled exception summary */
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h
index 3b1a9b7..36d7dbd 100644
--- a/arch/powerpc/include/asm/reg_booke.h
+++ b/arch/powerpc/include/asm/reg_booke.h
@@ -27,10 +27,12 @@
 #define MSR_CM		(1<<31) /* Computation Mode (0=32-bit, 1=64-bit) */
 
 #if defined(CONFIG_PPC_BOOK3E_64)
+#define MSR_64BIT	MSR_CM
+
 #define MSR_		MSR_ME | MSR_CE
-#define MSR_KERNEL      MSR_ | MSR_CM
+#define MSR_KERNEL	MSR_ | MSR_64BIT
 #define MSR_USER32	MSR_ | MSR_PR | MSR_EE | MSR_DE
-#define MSR_USER64	MSR_USER32 | MSR_CM | MSR_DE
+#define MSR_USER64	MSR_USER32 | MSR_64BIT
 #elif defined (CONFIG_40x)
 #define MSR_KERNEL	(MSR_ME|MSR_RI|MSR_IR|MSR_DR|MSR_CE)
 #define MSR_USER	(MSR_KERNEL|MSR_PR|MSR_EE)
-- 
1.7.1

^ permalink raw reply related

* [PATCH] powerpc: Fix oops if scan_dispatch_log is called too early
From: Anton Blanchard @ 2011-04-08  7:44 UTC (permalink / raw)
  To: benh, paulus; +Cc: linuxppc-dev


We currently enable interrupts before the dispatch log for the boot
cpu is setup. If a timer interrupt comes in early enough we oops in
scan_dispatch_log:

Unable to handle kernel paging request for data at address 0x00000010

...

.scan_dispatch_log+0xb0/0x170
.account_system_vtime+0xa0/0x220
.irq_enter+0x88/0xc0
.do_IRQ+0x48/0x230

The patch below adds a check to scan_dispatch_log to ensure the
dispatch log has been allocated.

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: <stable@kernel.org>
---

Index: powerpc.git/arch/powerpc/kernel/time.c
===================================================================
--- powerpc.git.orig/arch/powerpc/kernel/time.c	2011-04-05 18:38:40.814489516 +1000
+++ powerpc.git/arch/powerpc/kernel/time.c	2011-04-08 12:16:41.864748155 +1000
@@ -229,6 +229,9 @@ static u64 scan_dispatch_log(u64 stop_tb
 	u64 stolen = 0;
 	u64 dtb;
 
+	if (!dtl)
+		return 0;
+
 	if (i == vpa->dtl_idx)
 		return 0;
 	while (i < vpa->dtl_idx) {

^ permalink raw reply

* [PATCH] mm: Check we have the right vma in __access_remote_vm()
From: Michael Ellerman @ 2011-04-08  7:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: aarcange, Andrew Morton, riel, linuxppc-dev, hughd, linux-mm,
	walken

In __access_remote_vm() we need to check that we have found the right
vma, not the following vma, before we try to access it. Otherwise we
might call the vma's access routine with an address which does not
fall inside the vma.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 mm/memory.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index 9da8cab..ce999ca 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3678,7 +3678,7 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
 			 */
 #ifdef CONFIG_HAVE_IOREMAP_PROT
 			vma = find_vma(mm, addr);
-			if (!vma)
+			if (!vma || vma->vm_start > addr)
 				break;
 			if (vma->vm_ops && vma->vm_ops->access)
 				ret = vma->vm_ops->access(vma, addr, buf,
-- 
1.7.1

^ permalink raw reply related

* [PATCH] powerpc/book3e: Fix extlb size
From: Michael Ellerman @ 2011-04-08  7:22 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Kumar Gala

The calculation of the size for the exception save area of the TLB
miss handler is wrong, luckily it's too big not too small.

Rework it to make it a bit clearer, and also correct. We want 3 save
areas, each EX_TLB_SIZE _bytes_.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 arch/powerpc/include/asm/paca.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index ec57540..c3416ca 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -106,7 +106,8 @@ struct paca_struct {
 	pgd_t *pgd;			/* Current PGD */
 	pgd_t *kernel_pgd;		/* Kernel PGD */
 	u64 exgen[8] __attribute__((aligned(0x80)));
-	u64 extlb[EX_TLB_SIZE*3] __attribute__((aligned(0x80)));
+	/* We can have up to 3 levels of reentrancy in the TLB miss handler */
+	u64 extlb[3][EX_TLB_SIZE / sizeof(u64)] __attribute__((aligned(0x80)));
 	u64 exmc[8];		/* used for machine checks */
 	u64 excrit[8];		/* used for crit interrupts */
 	u64 exdbg[8];		/* used for debug interrupts */
-- 
1.7.1

^ permalink raw reply related

* Re: [PATCH] mm: Check we have the right vma in access_process_vm()
From: Michael Ellerman @ 2011-04-08  7:17 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: aarcange, Andrew Morton, riel, linuxppc-dev, hughd, linux-kernel,
	linux-mm
In-Reply-To: <BANLkTi=RJ2GHvHQ3mZiQ-L-MTVUQH-V-eA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1009 bytes --]

On Mon, 2011-04-04 at 23:42 -0700, Michel Lespinasse wrote:
> On Mon, Apr 4, 2011 at 11:24 PM, Michael Ellerman
> <michael@ellerman.id.au> wrote:
> > In access_process_vm() we need to check that we have found the right
> > vma, not the following vma, before we try to access it. Otherwise
> > we might call the vma's access routine with an address which does
> > not fall inside the vma.
> >
> > Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> 
> Please note that the code has moved into __access_remote_vm() in
> current linus tree.

Ah good point, if git hadn't done such a good job of merging it I would
have noticed :)

I'll send a new version with a corrected changelog.

> Also, should len be truncated before calling vma->vm_ops->access() so
> that we can guarantee it won't overflow past the end of the vma ?

The access implementations I've looked at check len, but I guess it
could be truncated on the way in. But maybe that's being paranoid, I
dunno.

cheers


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply

* RE: Problem with mini-PCI-E slot on P2020RDB
From: Kushwaha Prabhakar-B32579 @ 2011-04-08  3:53 UTC (permalink / raw)
  To: Leon Woestenberg, linuxppc-dev@ozlabs.org
  Cc: Mahajan Vivek-B08308, Felix Radensky, Aggrwal Poonam-B10812,
	Gupta Maneesh-B18878
In-Reply-To: <BANLkTimf8uwgew3YPcNxdNj+4XamPhbxbQ@mail.gmail.com>



> -----Original Message-----
> From: Leon Woestenberg [mailto:leon.woestenberg@gmail.com]
> Sent: Thursday, April 07, 2011 10:50 PM
> To: linuxppc-dev@ozlabs.org
> Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix
> Radensky; Kushwaha Prabhakar-B32579
> Subject: Re: Problem with mini-PCI-E slot on P2020RDB
>=20
> Hello,
>=20
> On Thu, Dec 17, 2009 at 9:28 PM, Felix Radensky <felix@embedded-sol.com>
> wrote:
> > Kumar Gala wrote:
> >> On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
> >>>> Thanks a lot. If I understand you correctly, the only way I can get
> >>>> ath9k driver to work on this board using legacy interrupts is to
> >>>> wait for a hardware fix. Right ?
> >>>>
> >>> Correct
> >>
> >> I'm confused. =A0What's the issue with IRQ0 on the P2020RDB? =A0Is it
> >> used for another purpose?
> >
> > There's a problem with IRQ0 with respect to mini-PCI-E slot. I have
> > Atheros wireless card plugged into it. ath9k wireless driver for this
> > card uses legacy PCI-E interrupts, and I get "irq 16: nobody cared"
> > message when driver executes request_irq(). Vivek has come to a
> > conclusion that the problem is related to incorrect IRQ0 routing for
> > mini-PCI-E slot on P2020RDB.
> >
>=20
> I would like to understand this issue better, as I seem to be running
> into something similar, and it puts my board design on hold.
>=20
> Can someone (from Freescale) explain what happens if a PCI Express end
> point on the mini-PCIe slot raises a legacy interrupt, and where this
> goes wrong?
>=20
> From what document or source code file can I conclude that the PCIe
> legacy interrupt is shared with IRQ0?
>=20
>=20
> I found this:
>=20
> P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
> Problem:IRQ0 held low
> Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N.
> See R420 in Rev D schematic.
> Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
> See R423 in Rev D schematic.
>=20
>=20

Hello Leon,

 Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For Atheros=
 issue.=20
 Can you please try followings, Meanwhile I will try to dig into it.
   http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td2680203=
8.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct IDSEL v=
alue.=20
Please first try IDSEL value mentioned in email on Linux-ide. Then try this=
 URL..

--Prabhakar

^ permalink raw reply

* RE: known working sata_sil24.c setup on powerpc platforms?
From: Kushwaha Prabhakar-B32579 @ 2011-04-08  3:44 UTC (permalink / raw)
  To: Leon Woestenberg
  Cc: Tejun Heo, Jeff Garzik, Linux PPC, linux-ide@vger.kernel.org,
	Moffett, Kyle D, Gupta Maneesh-B18878
In-Reply-To: <BANLkTin1KoJ8EsV49naEAZjmq=EZLHXZpQ@mail.gmail.com>



> -----Original Message-----
> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
> Sent: Thursday, April 07, 2011 10:23 PM
> To: Kushwaha Prabhakar-B32579
> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun Heo;
> Jeff Garzik
> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
>=20
> Hello Prabhakar,
>=20
> thanks for your response. My answer below:
>=20
> On Thu, Apr 7, 2011 at 6:48 AM, Kushwaha Prabhakar-B32579
> <B32579@freescale.com> wrote:
> > Hi Leon,
> >
> > Can you please check p2020rdb.dts for IDSEL entries for pci0/1 node?
> >
> > In order to work in legacy mode, IDSEL entries are required.
> >
> No, the p1020rdb and p2020rdb do not have the IDSEL entries:
>=20
> http://lxr.linux.no/#linux+v2.6.38/arch/powerpc/boot/dts/p2020rdb.dts
>=20
> whereas the p2020ds has:
>=20
> http://lxr.linux.no/#linux+v2.6.38/arch/powerpc/boot/dts/p2020ds.dts
>=20
>=20
> What would the correct IDSEL entries be?

For legacy interrupt to work IDSEL values are required.. please find the co=
rrect IDSEL values for pci0/1.

	pci0: pcie@ffe09000 {
		 ---
		 ---
		interrupt-map-mask =3D <0xf800 0x0 0x0 0x7>;
		interrupt-map =3D <
			/* IDSEL 0x0 */
			0000 0x0 0x0 0x1 &mpic 0x4 0x1
			0000 0x0 0x0 0x2 &mpic 0x5 0x1
			0000 0x0 0x0 0x3 &mpic 0x6 0x1
			0000 0x0 0x0 0x4 &mpic 0x7 0x1
			>;
	      ---
		---
	};

	pci1: pcie@ffe0a000 {
		 ---
		 ---
		interrupt-map-mask =3D <0xf800 0x0 0x0 0x7>;
		interrupt-map =3D <
			/* IDSEL 0x0 */
			0000 0x0 0x0 0x1 &mpic 0x0 0x1
			0000 0x0 0x0 0x2 &mpic 0x1 0x1
			0000 0x0 0x0 0x3 &mpic 0x2 0x1
			0000 0x0 0x0 0x4 &mpic 0x3 0x1
			>;
		 ---
		 ---
	};
};

Please try with this.. I am in process of pushing these IDSEL values to ups=
tream.=20

> Also, did you see the reference to Felix' thread?
> "Problem with mini-PCI-E slot on P2020RDB"
>=20
I will look into it..=20

--Prabhakar

> >
> >> -----Original Message-----
> >> From: linux-ide-owner@vger.kernel.org [mailto:linux-ide-
> >> owner@vger.kernel.org] On Behalf Of Leon Woestenberg
> >> Sent: Thursday, April 07, 2011 12:20 AM
> >> To: Jeff Garzik
> >> Cc: Moffett, Kyle D; Linux PPC; linux-ide@vger.kernel.org; Tejun Heo
> >> Subject: Re: known working sata_sil24.c setup on powerpc platforms?
> >>
> >> Hello Jeff, all,
> >>
> >> On Wed, Apr 6, 2011 at 8:12 PM, Jeff Garzik <jeff@garzik.org> wrote:
> >> > On 04/06/2011 01:48 PM, Moffett, Kyle D wrote:
> >> >> On Apr 06, 2011, at 13:00, Leon Woestenberg wrote:
> >> >>> after investigating problems with sata_sil24.c on a freescale
> >> >>> p2020 soc, I wonder if this driver works on powerpc at all?
> >> >>>
> >> >>> Does anyone know of a working setup of sata_sil24 on a big endian
> >> >>> powerpc system?
> >> >>
> >> >> Our P2020 boards work fine with legacy PCI interrupts (I think
> >> >> it's a
> >> >> sil3124 over PCI-E); the only deficiency is that MSI does not seem
> >> >> to
> >> work.
> >> >>
> >> >
> >> > We've definitely had issues with sata_sil24 + MSI, also...
> >> >
> >> > sata_sil24 does work on big endian in general.
> >> >
> >>
> >> On my system, I have the contrary to Kyle's experience (thanks for
> >> sharing).
> >>
> >> PowerPC P2020RDB
> >> vanilla 2.6.38
> >> Sil3132 on mini-PCI Express card
> >>
> >>
> >> Enabling msi gets me further than disabling it (default).
> >>
> >> modprobe sata_sil
> >>
> >> [ =A0 =A08.834613] sata_sil24 0001:03:00.0: version 1.1 [ =A0 =A08.885=
581]
> >> scsi0 : sata_sil24 [ =A0 =A08.901420] scsi1 : sata_sil24 [ =A0 =A08.90=
4642]
> >> ata1: SATA max UDMA/100 host m128@0xc0000000 port 0xc0004000 irq 16 [
>=20
> >> 8.911961] ata2: SATA max UDMA/100 host m128@0xc0000000 port
> >> 0xc0006000 irq 16 [ =A0 11.095127] ata1: SATA link up 3.0 Gbps (SStatu=
s
> >> 123 SControl 0) [ =A0 14.906986] eth0: no IPv6 routers present [
> >> 16.099016] ata1.00: qc timeout (cmd 0xec) [ =A0 16.103128] ata1.00:
> >> failed to IDENTIFY (I/O error, err_mask=3D0x4) [ =A0 18.299050] ata1:
> >> SATA link up 3.0 Gbps (SStatus 123 SControl 0) [ =A0 28.303026]
> >> ata1.00: qc timeout (cmd 0xec) [ =A0 28.307139] ata1.00: failed to
> >> IDENTIFY (I/O error, err_mask=3D0x4) [ =A0 28.313233] ata1: limiting S=
ATA
> >> link speed to 1.5 Gbps [ =A0 30.523059] ata1: SATA link up 1.5 Gbps
> >> (SStatus 113 SControl 10)
> >>
> >>
> >> modprobe sata_sil msi=3D1
> >>
> >> [ =A0 92.984120] sata_sil24 0001:03:00.0: version 1.1 [ =A0 92.988897]
> >> irq: irq 0 on host /soc@ffe00000/msi@41600 mapped to virtual irq 41 [
>=20
> >> 92.996229] sata_sil24 0001:03:00.0: Using MSI [ =A0 93.000675]
> >> sata_sil24 0001:03:00.0: enabling bus mastering [ =A0 93.011628] scsi2
> >> : sata_sil24 [ =A0 93.022463] scsi3 : sata_sil24 [ =A0 93.025695] ata3=
:
> >> SATA max UDMA/100 host m128@0xc0000000 port 0xc0004000 irq 41 [
> >> 93.033023] ata4: SATA max UDMA/100 host m128@0xc0000000 port
> >> 0xc0006000 irq 41 [ =A0 95.203029] ata3: SATA link up 3.0 Gbps (SStatu=
s
> >> 123 SControl 0) [ =A0 95.209045] ata3: spurious interrupt (slot_stat
> >> 0x0 active_tag
> >> -84148995 sactive 0x0)
> >> [ =A0 95.217171] ata3.00: ATA-7: INTEL SSDSA2M080G2GN, 2CV102HD, max
> >> UDMA/133
> >> [ =A0 95.223882] ata3.00: 156301488 sectors, multi 1: LBA48 NCQ (depth
> >> 31/32)
> >> [ =A0 95.230905] ata3.00: configured for UDMA/100 [ =A0 95.235399] scs=
i
> >> 2:0:0:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0INTEL SSDSA2M080 2CV1 PQ=
: 0 ANSI:
> >> 5 [ =A0 95.244002] sd 2:0:0:0: Attached scsi generic sg0 type 0 [
> >> 95.252041] sd 2:0:0:0: [sda] 156301488 512-byte logical blocks:
> >> (80.0 GB/74.5 GiB)
> >> [ =A0 95.260219] sd 2:0:0:0: [sda] Write Protect is off [ =A0 95.26506=
3]
> >> sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ =A0 95.270500] sd 2:0:0:0:
> >> [sda] Write cache: enabled, read cache:
> >> enabled, doesn't support DPO or FUA
> >> [ =A0 95.283779] =A0sda: sda1 sda2 sda3 sda4 [ =A0 95.289482] sd 2:0:0=
:0:
> >> [sda] Attached SCSI disk [ =A0 95.965897] EXT3-fs: barriers not enable=
d
> >> [ =A0 95.977279] kjournald starting. =A0Commit interval 5 seconds [
> >> 95.983296] EXT3-fs (sda2): using internal journal [ =A0 95.988143]
> >> EXT3-fs (sda2): recovery complete [ =A0 95.992504] EXT3-fs (sda2):
> >> mounted filesystem with writeback data mode [ =A0 96.111587] NTFS
> >> volume version 3.1.
> >> [ =A0 97.331005] ata4: SATA link down (SStatus 0 SControl 0)
> >>
> >> root@p1020rdb:~# dd if=3D/dev/sda of=3D/dev/null bs=3D4k count=3D1000
> >> 1000+0 records in
> >> 1000+0 records out
> >> 4096000 bytes (4.1 MB) copied, 0.0315629 s, 130 MB/s root@p1020rdb:~#
> >> dd if=3D/dev/sda of=3D/dev/null bs=3D4k count=3D10000
> >> 10000+0 records in
> >> 10000+0 records out
> >> 40960000 bytes (41 MB) copied, 0.471802 s, 86.8 MB/s
> >>
> >> root@p1020rdb:~# dd if=3D/dev/sda of=3D/dev/null bs=3D4k count=3D10000=
0
> >>
> >> That stalls, I see the controller fail. See dmesg below:
> >>
> >> ^C^Cdd: reading `/dev/sda': Input/output error
> >> 51804+0 records in
> >> 51804+0 records out
> >> 212189184 bytes (212 MB) copied, 85.6537 s, 2.5 MB/s
> >> dd: closing input file `/dev/sda': Bad file descriptor
> >>
> >>
> >> [ =A0 92.984120] sata_sil24 0001:03:00.0: version 1.1 [ =A0 92.988897]
> >> irq: irq 0 on host /soc@ffe00000/msi@41600 mapped to virtual irq 41 [
>=20
> >> 92.996229] sata_sil24 0001:03:00.0: Using MSI [ =A0 93.000675]
> >> sata_sil24 0001:03:00.0: enabling bus mastering [ =A0 93.011628] scsi2
> >> : sata_sil24 [ =A0 93.022463] scsi3 : sata_sil24 [ =A0 93.025695] ata3=
:
> >> SATA max UDMA/100 host m128@0xc0000000 port 0xc0004000 irq 41 [
> >> 93.033023] ata4: SATA max UDMA/100 host m128@0xc0000000 port
> >> 0xc0006000 irq 41 [ =A0 95.203029] ata3: SATA link up 3.0 Gbps (SStatu=
s
> >> 123 SControl 0) [ =A0 95.209045] ata3: spurious interrupt (slot_stat
> >> 0x0 active_tag
> >> -84148995 sactive 0x0)
> >> [ =A0 95.217171] ata3.00: ATA-7: INTEL SSDSA2M080G2GN, 2CV102HD, max
> >> UDMA/133
> >> [ =A0 95.223882] ata3.00: 156301488 sectors, multi 1: LBA48 NCQ (depth
> >> 31/32)
> >> [ =A0 95.230905] ata3.00: configured for UDMA/100 [ =A0 95.235399] scs=
i
> >> 2:0:0:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0INTEL SSDSA2M080 2CV1 PQ=
: 0 ANSI:
> >> 5 [ =A0 95.244002] sd 2:0:0:0: Attached scsi generic sg0 type 0 [
> >> 95.252041] sd 2:0:0:0: [sda] 156301488 512-byte logical blocks:
> >> (80.0 GB/74.5 GiB)
> >> [ =A0 95.260219] sd 2:0:0:0: [sda] Write Protect is off [ =A0 95.26506=
3]
> >> sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ =A0 95.270500] sd 2:0:0:0:
> >> [sda] Write cache: enabled, read cache:
> >> enabled, doesn't support DPO or FUA
> >> [ =A0 95.283779] =A0sda: sda1 sda2 sda3 sda4 [ =A0 95.289482] sd 2:0:0=
:0:
> >> [sda] Attached SCSI disk [ =A0 95.965897] EXT3-fs: barriers not enable=
d
> >> [ =A0 95.977279] kjournald starting. =A0Commit interval 5 seconds [
> >> 95.983296] EXT3-fs (sda2): using internal journal [ =A0 95.988143]
> >> EXT3-fs (sda2): recovery complete [ =A0 95.992504] EXT3-fs (sda2):
> >> mounted filesystem with writeback data mode [ =A0 96.111587] NTFS
> >> volume version 3.1.
> >> [ =A0 97.331005] ata4: SATA link down (SStatus 0 SControl 0) [
> >> 285.891036] ata3.00: exception Emask 0x0 SAct 0x3 SErr 0x0 action 0x6
> >> frozen [ =A0285.898099] ata3.00: failed command: READ FPDMA QUEUED [
> >> 285.903250] ata3.00: cmd 60/00:00:e0:53:06/01:00:00:00:00/40 tag 0
> >> ncq
> >> 131072 in
> >> [ =A0285.903255] =A0 =A0 =A0 =A0 =A0res 40/00:00:00:00:00/00:00:00:00:=
00/00 Emask
> >> 0x4 (timeout)
> >> [ =A0285.918028] ata3.00: status: { DRDY } [ =A0285.921689] ata3.00:
> >> failed
> >> command: READ FPDMA QUEUED [ =A0285.926836] ata3.00: cmd
> >> 60/00:08:e0:52:06/01:00:00:00:00/40 tag 1 ncq 131072 in [
> >> 285.926841] =A0 =A0 =A0 =A0 =A0res 40/00:00:00:00:00/00:00:00:00:00/00=
 Emask
> >> 0x4 (timeout)
> >> [ =A0285.941615] ata3.00: status: { DRDY } [ =A0285.945281] ata3: hard
> >> resetting link [ =A0288.055034] ata3: SATA link up 3.0 Gbps (SStatus
> >> 123 SControl 0) [ =A0293.058999] ata3.00: qc timeout (cmd 0xec) [
> >> 293.063106]
> >> ata3.00: failed to IDENTIFY (I/O error, err_mask=3D0x4) [ =A0293.06919=
8]
> >> ata3.00: revalidation failed (errno=3D-5) [ =A0293.074077] ata3: hard
> >> resetting link [ =A0295.259018] ata3: SATA link up 3.0 Gbps (SStatus
> >> 123 SControl 0)
> >>
> >> What can I do next to investigate and help fix this issue?
> >>
> >>
> >> Regards,
> >> --
> >> Leon
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-ide"
> >> in the body of a message to majordomo@vger.kernel.org More majordomo
> >> info at http://vger.kernel.org/majordomo-info.html
> >
> >
> >
>=20
>=20
>=20
> --
> Leon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: halt/reset on assert?
From: Benjamin Herrenschmidt @ 2011-04-07 21:48 UTC (permalink / raw)
  To: kevin diggs; +Cc: Andreas Schwab, linuxppc-dev, Evan Lavelle
In-Reply-To: <BANLkTimX==Ei2Sn=86svSajHNX+0G1WM9w@mail.gmail.com>

On Thu, 2011-04-07 at 12:04 -0500, kevin diggs wrote:
> On Thu, Apr 7, 2011 at 2:55 AM, Benjamin Herrenschmidt
> <benh@kernel.crashing.org> wrote:
> > On Wed, 2011-04-06 at 14:01 +0100, Evan Lavelle wrote:
> >> #define MY_ASSERT(expr) if(!(expr)) BUG()
> >
> > Make it
> >
> > #define MY_ASSERT(expr) do { if .... } while(0)
> >
> > To ensure it has proper single statement semantics in C.
> >
> So THAT'S why they do this!!!!!! Now I just have to figure out what
> 'proper single statement semantics' means!

Thing what happens without the do { ... } while(0) if you have code
that looks like:

	if (enable_debug)
		MY_ASSERT(foo);
	else
		something_else;

Ben.

^ permalink raw reply

* Re: [PATCH] powerpc/book3e: Fix CPU feature handling on 64-bit e5500
From: Scott Wood @ 2011-04-07 19:48 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <7597043B-4C16-47F7-8AF7-111A5815545E@kernel.crashing.org>

On Thu, 7 Apr 2011 14:38:57 -0500
Kumar Gala <galak@kernel.crashing.org> wrote:

> 
> On Apr 6, 2011, at 1:02 PM, Scott Wood wrote:
> 
> > On Wed, 6 Apr 2011 07:29:03 -0500
> > Kumar Gala <galak@kernel.crashing.org> wrote:
> > 
> >> diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
> >> index be3cdf9..9028a9e 100644
> >> --- a/arch/powerpc/include/asm/cputable.h
> >> +++ b/arch/powerpc/include/asm/cputable.h
> >> @@ -386,6 +386,10 @@ extern const char *powerpc_base_platform;
> >> 	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
> >> 	    CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \
> >> 	    CPU_FTR_DBELL)
> >> +#define CPU_FTRS_E5500	(CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | \
> >> +	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
> > 
> > E5500 cannot doze or nap in the way meant by existing code (MSR[WE]).
> 
> Should I drop them for e500mc as well?

Yes.

-Scott

^ permalink raw reply

* Re: [PATCH] powerpc/book3e: Fix CPU feature handling on 64-bit e5500
From: Kumar Gala @ 2011-04-07 19:38 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20110406130257.2d31beaa@schlenkerla.am.freescale.net>


On Apr 6, 2011, at 1:02 PM, Scott Wood wrote:

> On Wed, 6 Apr 2011 07:29:03 -0500
> Kumar Gala <galak@kernel.crashing.org> wrote:
>=20
>> diff --git a/arch/powerpc/include/asm/cputable.h =
b/arch/powerpc/include/asm/cputable.h
>> index be3cdf9..9028a9e 100644
>> --- a/arch/powerpc/include/asm/cputable.h
>> +++ b/arch/powerpc/include/asm/cputable.h
>> @@ -386,6 +386,10 @@ extern const char *powerpc_base_platform;
>> 	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
>> 	    CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \
>> 	    CPU_FTR_DBELL)
>> +#define CPU_FTRS_E5500	(CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB =
| \
>> +	    CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \
>=20
> E5500 cannot doze or nap in the way meant by existing code (MSR[WE]).

Should I drop them for e500mc as well?

- k=

^ permalink raw reply

* [PATCH] lib: Consolidate DEBUG_PER_CPU_MAPS
From: Stephen Boyd @ 2011-04-07 19:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-arch, x86, linuxppc-dev, linux-kernel

DEBUG_PER_CPU_MAPS is used in lib/cpumask.c as well as in
inlcude/linux/cpumask.h and thus it has outgrown its use within x86
and powerpc alone. Any arch with SMP support may want to get some
more debugging, so make this option generic.

Cc: linux-arch@vger.kernel.org
Cc: x86@kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---

I don't know what tree to send this through, so I'm sending it to
Andrew. I suppose mm is as good as anything.

 arch/powerpc/Kconfig.debug |   12 ------------
 arch/x86/Kconfig.debug     |   11 -----------
 lib/Kconfig.debug          |   11 +++++++++++
 3 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
index 2d38a50..12a8d18 100644
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
@@ -44,18 +44,6 @@ config DEBUG_STACK_USAGE
 
 	  This option will slow down process creation somewhat.
 
-config DEBUG_PER_CPU_MAPS
-	bool "Debug access to per_cpu maps"
-	depends on DEBUG_KERNEL
-	depends on SMP
-	default n
-	---help---
-	  Say Y to verify that the per_cpu map being accessed has
-	  been setup.  Adds a fair amount of code to kernel memory
-	  and decreases performance.
-
-	  Say N if unsure.
-
 config HCALL_STATS
 	bool "Hypervisor call instrumentation"
 	depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 615e188..1bf8839 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -75,17 +75,6 @@ config DEBUG_STACK_USAGE
 
 	  This option will slow down process creation somewhat.
 
-config DEBUG_PER_CPU_MAPS
-	bool "Debug access to per_cpu maps"
-	depends on DEBUG_KERNEL
-	depends on SMP
-	---help---
-	  Say Y to verify that the per_cpu map being accessed has
-	  been setup.  Adds a fair amount of code to kernel memory
-	  and decreases performance.
-
-	  Say N if unsure.
-
 config X86_PTDUMP
 	bool "Export kernel pagetable layout to userspace via debugfs"
 	depends on DEBUG_KERNEL
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c768bcd..c792431 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -993,6 +993,17 @@ config DEBUG_FORCE_WEAK_PER_CPU
 	  To ensure that generic code follows the above rules, this
 	  option forces all percpu variables to be defined as weak.
 
+config DEBUG_PER_CPU_MAPS
+	bool "Debug access to per_cpu maps"
+	depends on DEBUG_KERNEL
+	depends on SMP
+	help
+	  Say Y to verify that the per_cpu map being accessed has
+	  been set up. This adds a fair amount of code to kernel memory
+	  and decreases performance.
+
+	  Say N if unsure.
+
 config LKDTM
 	tristate "Linux Kernel Dump Test Tool Module"
 	depends on DEBUG_FS
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox