* Re: [PATCH 3/9] powerpc/ppc32: Update mpc52xx_psc structure with B revision changes
From: Sylvain Munaut @ 2007-05-14 5:27 UTC (permalink / raw)
To: Matt Sealey; +Cc: Linux PPC dev ML
In-Reply-To: <4647A35B.40407@genesi-usa.com>
Matt Sealey wrote:
> Would a note next to these new fields be worth it? "5200B only" or
> "reserved on 5200" or even create a new PSC structure for the old
> processor and recast it in drivers that really want to support both
> revisions of the CPU?
>
A comment next to them yes, that looks a good idea.
A new structure certainly not.
> Real nitpick:
>
> Setting the CCR on the MPC5200 (not B) now means you need to left
> shift your required CCR values by 16 bits before applying them into
> the field for the desired effect.
>
> If you were being lazy and just wanted to set some low-order bits
> in the CCR on the 5200, with the old structure that's fine. With
> the new structure, it will be writing into previously reserved
> space on the 5200. The 5200B might work fine, unless it's a driver
> someone missed, and is programming a value that should be in the
> upper 16 bits of the new CCR, in which case now you have to left
> shift by 16 bits.. :)
I know about the ccr that's annoying.
I guess I could make ccr a union and have it contains ccr16 and ccr32.
Note that old driver will still work ... then most likely do
out_be16(&psc->ccr, ...) and the &psc->ccr address didn't change. They
will just have a warning because ccr is a u32 so &psc->ccr is a u32* and
they give it to out_be16 ...
Sylvain
^ permalink raw reply
* Re: [PATCH 4/9] powerpc: BestComm core support for Freescale MPC5200
From: Sylvain Munaut @ 2007-05-14 5:15 UTC (permalink / raw)
To: Matt Sealey; +Cc: linuxppc-dev, Arnd Bergmann
In-Reply-To: <46479F64.6020907@genesi-usa.com>
Matt Sealey wrote:
> Sylvain Munaut wrote:
>
>>>> However, you could totally implement a "DMA devices" that would just
>>>> use a simple "copy from there to there" task using this BestComm driver.
>>>> So other part of the kernel (like network) could use that interface to
>>>> use the dma engine ...
>>>>
>>>>
>>> Can it also do the advanced operations like XOR on DMA that the
>>> Intel ioat has? That would be even more interesting, I guess.
>>>
>>>
>> Actually yes it can.
>> It just need someone motivated enough to write it ;)
>>
>
> Isn't there an XOR-while-copying-DMA example somewhere?
>
Never saw it. But in the gen BD task it's easy to find the DRD that
really does the copy and using the hand assembly guide and the
example DRD than auto-shutdown the task, it's possible to figure out
how to replace that simple DRD by a one calling xor in EU3.
> I'm sure I've seen reference to it, or it being used somewhere.. to
> be honest the worst part of using BestComm is it's only well documented
> on how to use tasks and how to set up the engine, actually writing them
> is some kind of black art which Freescale hold close to their chest.
>
No kidding ;)
Sylvain
^ permalink raw reply
* Re: [Fwd: [alsa-devel] embedded sound architecture question]
From: Lorenz Kolb @ 2007-05-14 5:02 UTC (permalink / raw)
To: linuxppc-embedded
Hi leonid,
To be precise, I am the guy in question, who has to do the hardware-part and
You guessed it: The board is an ML403.
So what are the problems:
- DMA (whenever an DMA transfer is issued the CPU is put to soem sort of
"freeze", as the bus is occupied, whenever the CPU writes to memory it is
also busy: that solution is not really good, occupying the CPU some sort of
twice)
+ possible solution: some sort of multiport memory controller (or our idea:
own memory directly attached to the ac'97 controller) using BRAM.
> If I were you, I would chose one of sound cards which have ALSA
> drivers implemented (the list can be found on ALSA site) and
> mimicked their behavior in your VHDL.
Actually a bunch of theses drivers rely on PCI or ISA.
The few left do all require DMA, what is only an option, if it is some sort
of faked DMA, so the CPU writes directly into the controller's memory as we
intend to stay as independent as possible from Xilinx' IP Cores.
The question was: is that a good (and practicable) idea?
Greetings,
Lorenz Kolb
^ permalink raw reply
* Small fixes for the Ebony device tree
From: David Gibson @ 2007-05-14 4:54 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
This patch corrects a number of minor errors in the Ebony device tree:
- Missing (given as 0) cache sizes are added to the CPU node
- device_type properties are removed from nodes which don't
have a reasonably well defined device_type binding. This does require
a very small code change to locate the busses to be probed for
of_platform devices by 'compatible' instead of 'device_type'.
- A node is added for the SRAM controller
- The unit address of the small-flash node is adjusted to
correctly reflect the reg property.
- device_type values for the MAL and ZMII are updated to
reflected more up-to-date versions of the binding.
- An incorrect offset in the partition map for the large-flash
node is corrected.
- Some redundant values, already commented out are removed
entirely.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
The flash partition offset correction, at least, should go into
2.6.22. I think the rest while only borderline "bugfixes" is also
reasonable for inclusion in 2.6.22.
Index: working-2.6/arch/powerpc/boot/dts/ebony.dts
===================================================================
--- working-2.6.orig/arch/powerpc/boot/dts/ebony.dts 2007-05-08 15:07:45.000000000 +1000
+++ working-2.6/arch/powerpc/boot/dts/ebony.dts 2007-05-14 14:38:39.000000000 +1000
@@ -33,8 +33,8 @@
timebase-frequency = <0>; // Filled in by zImage
i-cache-line-size = <32>;
d-cache-line-size = <32>;
- i-cache-size = <0>;
- d-cache-size = <0>;
+ i-cache-size = <2000000>; /* 32 kB */
+ d-cache-size = <2000000>; /* 32 kB */
dcr-controller;
dcr-access-method = "native";
};
@@ -46,7 +46,6 @@
};
UIC0: interrupt-controller0 {
- device_type = "ibm,uic";
compatible = "ibm,uic-440gp", "ibm,uic";
interrupt-controller;
cell-index = <0>;
@@ -58,7 +57,6 @@
};
UIC1: interrupt-controller1 {
- device_type = "ibm,uic";
compatible = "ibm,uic-440gp", "ibm,uic";
interrupt-controller;
cell-index = <1>;
@@ -71,14 +69,12 @@
};
CPC0: cpc {
- device_type = "ibm,cpc";
compatible = "ibm,cpc-440gp";
dcr-reg = <0b0 003 0e0 010>;
// FIXME: anything else?
};
plb {
- device_type = "ibm,plb";
compatible = "ibm,plb-440gp", "ibm,plb4";
#address-cells = <2>;
#size-cells = <1>;
@@ -86,21 +82,24 @@
clock-frequency = <0>; // Filled in by zImage
SDRAM0: sdram {
- device_type = "memory-controller";
compatible = "ibm,sdram-440gp", "ibm,sdram";
dcr-reg = <010 2>;
// FIXME: anything else?
};
+ SRAM0: sram {
+ compatible = "ibm,sram440gp";
+ dcr-reg = <020 8 00a 1>;
+ };
+
DMA0: dma {
// FIXME: ???
- device_type = "ibm,dma-4xx";
compatible = "ibm,dma-440gp", "ibm,dma-4xx";
dcr-reg = <100 027>;
};
MAL0: mcmal {
- device_type = "mcmal-dma";
+ device_type = "dma-controller";
compatible = "ibm,mcmal-440gp", "ibm,mcmal";
dcr-reg = <180 62>;
num-tx-chans = <4>;
@@ -119,7 +118,6 @@
};
POB0: opb {
- device_type = "ibm,opb";
compatible = "ibm,opb-440gp", "ibm,opb";
#address-cells = <1>;
#size-cells = <1>;
@@ -133,7 +131,6 @@
clock-frequency = <0>; // Filled in by zImage
EBC0: ebc {
- device_type = "ibm,ebc";
compatible = "ibm,ebc-440gp";
dcr-reg = <012 2>;
#address-cells = <2>;
@@ -147,7 +144,7 @@
interrupts = <5 4>;
interrupt-parent = <&UIC1>;
- small-flash@0,0 {
+ small-flash@0,80000 {
device_type = "rom";
compatible = "direct-mapped";
probe-type = "JEDEC";
@@ -159,7 +156,6 @@
ds1743@1,0 {
/* NVRAM & RTC */
- device_type = "nvram";
compatible = "ds1743";
reg = <1 0 2000>;
};
@@ -170,7 +166,7 @@
probe-type = "JEDEC";
bank-width = <1>;
partitions = <0 380000
- 280000 80000>;
+ 380000 80000>;
partition-names = "fs", "firmware";
reg = <2 0 400000>;
};
@@ -226,13 +222,12 @@
GPIO0: gpio@40000700 {
/* FIXME */
- device_type = "gpio";
compatible = "ibm,gpio-440gp";
reg = <40000700 20>;
};
ZMII0: emac-zmii@40000780 {
- device_type = "emac-zmii";
+ device_type = "zmii-interface";
compatible = "ibm,zmii-440gp", "ibm,zmii";
reg = <40000780 c>;
};
@@ -299,9 +294,5 @@
chosen {
linux,stdout-path = "/plb/opb/serial@40000200";
-// linux,initrd-start = <0>; /* FIXME */
-// linux,initrd-end = <0>;
-// bootargs = "";
};
};
-
Index: working-2.6/arch/powerpc/platforms/44x/ebony.c
===================================================================
--- working-2.6.orig/arch/powerpc/platforms/44x/ebony.c 2007-05-08 15:07:45.000000000 +1000
+++ working-2.6/arch/powerpc/platforms/44x/ebony.c 2007-05-14 14:37:51.000000000 +1000
@@ -27,9 +27,9 @@
#include "44x.h"
static struct of_device_id ebony_of_bus[] = {
- { .type = "ibm,plb", },
- { .type = "ibm,opb", },
- { .type = "ibm,ebc", },
+ { .compatible = "ibm,plb", },
+ { .compatible = "ibm,opb", },
+ { .compatible = "ibm,ebc", },
{},
};
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* [PATCH] [POWERPC] Update iseries_defconfig
From: Stephen Rothwell @ 2007-05-14 4:36 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/configs/iseries_defconfig | 209 ++++++++++++++++++--------------
1 files changed, 116 insertions(+), 93 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 5fc8744..af25118 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20-rc5
-# Mon Jan 22 22:16:44 2007
+# Linux kernel version: 2.6.22-rc1
+# Mon May 14 14:27:46 2007
#
CONFIG_PPC64=y
CONFIG_64BIT=y
@@ -40,6 +40,7 @@ CONFIG_PPC_FPU=y
# CONFIG_PPC_OF_PLATFORM_PCI is not set
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
+# CONFIG_PPC_MM_SLICES is not set
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32
@@ -60,6 +61,7 @@ CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
@@ -68,9 +70,11 @@ CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
@@ -85,14 +89,19 @@ CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
CONFIG_SHMEM=y
-CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
#
# Loadable module support
@@ -131,15 +140,30 @@ CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
# CONFIG_PPC_PSERIES is not set
+CONFIG_LPARCFG=y
CONFIG_PPC_ISERIES=y
+
+#
+# iSeries device drivers
+#
+CONFIG_VIODASD=y
+CONFIG_VIOCD=m
+CONFIG_VIOTAPE=m
+CONFIG_VIOPATH=y
# CONFIG_PPC_MPC52xx is not set
+# CONFIG_PPC_MPC5200 is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
# CONFIG_PPC_PASEMI is not set
+# CONFIG_PPC_CELLEB is not set
+# CONFIG_PPC_PS3 is not set
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PPC_IBM_CELL_BLADE is not set
-# CONFIG_PPC_PS3 is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
# CONFIG_U3_DART is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
@@ -149,8 +173,7 @@ CONFIG_IBMVIO=y
CONFIG_PPC_INDIRECT_IO=y
CONFIG_GENERIC_IOMAP=y
# CONFIG_CPU_FREQ is not set
-# CONFIG_WANT_EARLY_SERIAL is not set
-# CONFIG_MPIC is not set
+# CONFIG_CPM2 is not set
#
# Kernel options
@@ -172,7 +195,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
-CONFIG_LPARCFG=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
@@ -187,34 +209,34 @@ CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+# CONFIG_PPC_HAS_HASH_64K is not set
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_SCHED_SMT is not set
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=y
+# CONFIG_WANT_DEVICE_TREE is not set
CONFIG_ISA_DMA_API=y
#
# Bus options
#
+CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
-# CONFIG_MPIC_WEIRD is not set
-# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
-
-#
-# PCI Hotplug Support
-#
# CONFIG_HOTPLUG_PCI is not set
CONFIG_KERNEL_START=0xc000000000000000
@@ -226,14 +248,15 @@ CONFIG_NET=y
#
# Networking options
#
-# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_XFRM_SUB_POLICY=y
+# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -275,8 +298,6 @@ CONFIG_NETFILTER=y
#
# CONFIG_NETFILTER_NETLINK is not set
CONFIG_NF_CONNTRACK_ENABLED=m
-CONFIG_NF_CONNTRACK_SUPPORT=y
-# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
CONFIG_NF_CONNTRACK=m
# CONFIG_NF_CT_ACCT is not set
CONFIG_NF_CONNTRACK_MARK=y
@@ -288,6 +309,7 @@ CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_IRC=m
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
# CONFIG_NF_CONNTRACK_SIP is not set
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NETFILTER_XTABLES=m
@@ -298,7 +320,9 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
@@ -340,7 +364,6 @@ CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
@@ -373,7 +396,12 @@ CONFIG_IP_NF_ARP_MANGLE=m
#
# SCTP Configuration (EXPERIMENTAL)
#
-# CONFIG_IP_SCTP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
#
# TIPC Configuration (EXPERIMENTAL)
@@ -405,7 +433,16 @@ CONFIG_NET_CLS_ROUTE=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
#
# Device Drivers
@@ -418,16 +455,13 @@ CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
# CONFIG_MTD is not set
#
@@ -438,6 +472,7 @@ CONFIG_FW_LOADER=m
#
# Plug and Play support
#
+# CONFIG_PNPACPI is not set
#
# Block devices
@@ -456,15 +491,16 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# Misc devices
#
+# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
+# CONFIG_BLINK is not set
#
# ATA/ATAPI/MFM/RLL support
@@ -498,6 +534,7 @@ CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
@@ -544,11 +581,8 @@ CONFIG_SCSI_IBMVSCSI=m
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_ESP_CORE is not set
# CONFIG_SCSI_SRP is not set
-
-#
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
# CONFIG_ATA is not set
#
@@ -570,6 +604,7 @@ CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
#
# Fusion MPT device support
@@ -582,18 +617,14 @@ CONFIG_DM_ZERO=m
#
# IEEE 1394 (FireWire) support
#
+# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
-
-#
-# Macintosh device drivers
-#
-# CONFIG_MAC_EMUMOUSEBTN is not set
-# CONFIG_WINDFARM is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
#
# Network device support
@@ -608,10 +639,6 @@ CONFIG_TUN=m
# ARCnet devices
#
# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
# CONFIG_PHYLIB is not set
#
@@ -648,10 +675,8 @@ CONFIG_E100=y
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
+# CONFIG_SC92031 is not set
+CONFIG_NETDEV_1000=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
# CONFIG_DL2K is not set
@@ -670,15 +695,17 @@ CONFIG_E1000=m
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
-
-#
-# Ethernet (10000 Mbit)
-#
+# CONFIG_ATL1 is not set
+CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
+# CONFIG_PASEMI_MAC is not set
+# CONFIG_MLX4_CORE is not set
+CONFIG_MLX4_DEBUG=y
#
# Token Ring devices
@@ -689,13 +716,10 @@ CONFIG_IBMOL=y
# CONFIG_TMS380TR is not set
#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Wan interfaces
+# Wireless LAN
#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
# CONFIG_WAN is not set
CONFIG_ISERIES_VETH=y
# CONFIG_FDDI is not set
@@ -715,7 +739,6 @@ CONFIG_SLHC=m
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
-CONFIG_NETPOLL_RX=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
@@ -753,6 +776,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
@@ -765,6 +789,10 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#
# Character devices
#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
@@ -781,20 +809,17 @@ CONFIG_SERIAL_ICOM=m
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_ISERIES=y
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
-# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_AGP is not set
@@ -807,10 +832,7 @@ CONFIG_MAX_RAW_DEVS=256
# TPM devices
#
# CONFIG_TCG_TPM is not set
-
-#
-# I2C support
-#
+CONFIG_DEVPORT=y
# CONFIG_I2C is not set
#
@@ -823,30 +845,39 @@ CONFIG_MAX_RAW_DEVS=256
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
+# CONFIG_HWMON is not set
#
-# Hardware Monitoring support
+# Multifunction device drivers
#
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_VID is not set
+# CONFIG_MFD_SM501 is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
#
-# Digital Video Broadcasting Devices
+# Graphics support
#
-# CONFIG_DVB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
-# Graphics support
+# Display device support
#
-CONFIG_FIRMWARE_EDID=y
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
# CONFIG_FB is not set
# CONFIG_FB_IBM_GXT4500 is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
#
# Sound
@@ -874,10 +905,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
# CONFIG_MMC is not set
#
@@ -921,10 +948,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
#
#
-# Virtualization
-#
-
-#
# File systems
#
CONFIG_EXT2_FS=y
@@ -979,7 +1002,6 @@ CONFIG_GENERIC_ACL=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y
@@ -1045,6 +1067,7 @@ CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_BIND34 is not set
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
@@ -1114,18 +1137,9 @@ CONFIG_NLS_ISO8859_1=y
# Distributed Lock Manager
#
CONFIG_DLM=m
-CONFIG_DLM_TCP=y
-# CONFIG_DLM_SCTP is not set
# CONFIG_DLM_DEBUG is not set
-
-#
-# iSeries device drivers
-#
-CONFIG_VIOCONS=y
-CONFIG_VIODASD=y
-CONFIG_VIOCD=m
-CONFIG_VIOTAPE=m
-CONFIG_VIOPATH=y
+# CONFIG_UCC_SLOW is not set
+# CONFIG_UCC_FAST is not set
#
# Library routines
@@ -1133,6 +1147,7 @@ CONFIG_VIOPATH=y
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=m
# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
@@ -1142,7 +1157,9 @@ CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
-CONFIG_IOMAP_COPY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
#
# Instrumentation Support
@@ -1160,15 +1177,15 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
@@ -1178,8 +1195,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_FORCED_INLINING is not set
# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
+# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUGGER is not set
CONFIG_IRQSTACKS=y
# CONFIG_BOOTX_TEXT is not set
@@ -1212,8 +1231,11 @@ CONFIG_CRYPTO_TGR192=m
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1228,6 +1250,7 @@ CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
+# CONFIG_CRYPTO_CAMELLIA is not set
CONFIG_CRYPTO_TEST=m
#
--
1.5.1.4
^ permalink raw reply related
* Re: [PATCH] [POWERPC] Wire up some more syscalls
From: David Woodhouse @ 2007-05-14 4:15 UTC (permalink / raw)
To: Kumar Gala
Cc: Stephen Rothwell, Andrew Morton, paulus, Arnd Bergmann, ppc-dev
In-Reply-To: <1AF532FF-A994-47AF-9394-5DFFC6C8FDA1@kernel.crashing.org>
On Sun, 2007-05-13 at 22:55 -0500, Kumar Gala wrote:
> Just out of interest, what makes a syscall COMPAT_SYS_SPU vs
> SYSCALL_SPU?
It's the same as the difference between COMPAT_SYS and SYSCALL.
The _SPU suffix just means that the SPU can use the (native) syscall.
The COMPAT_ prefix means that there's a compat function to call instead
of calling the native one directly for 32-bit code.
--
dwmw2
^ permalink raw reply
* Re: [PATCH] [POWERPC] Wire up some more syscalls
From: Stephen Rothwell @ 2007-05-14 4:13 UTC (permalink / raw)
To: Kumar Gala; +Cc: ppc-dev, Andrew Morton, paulus, Arnd Bergmann
In-Reply-To: <1AF532FF-A994-47AF-9394-5DFFC6C8FDA1@kernel.crashing.org>
[-- Attachment #1: Type: text/plain, Size: 353 bytes --]
On Sun, 13 May 2007 22:55:01 -0500 Kumar Gala <galak@kernel.crashing.org> wrote:
>
> Just out of interest, what makes a syscall COMPAT_SYS_SPU vs
> SYSCALL_SPU?
COMPAT_ syscalls need a compatibilty wrapper around the 32 bit calls on
64 bit kernels.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* [PATCH] [POWERPC] fix non HUGETLB_PAGE build warning
From: Stephen Rothwell @ 2007-05-14 4:11 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
arch/powerpc/mm/mmu_context_64.c: In function 'init_new_context':
arch/powerpc/mm/mmu_context_64.c:31: warning: unused variable 'new_context'
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/mm/mmu_context_64.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/mm/mmu_context_64.c b/arch/powerpc/mm/mmu_context_64.c
index 7a78cdc..d263f88 100644
--- a/arch/powerpc/mm/mmu_context_64.c
+++ b/arch/powerpc/mm/mmu_context_64.c
@@ -28,7 +28,9 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm)
{
int index;
int err;
+#ifdef CONFIG_PPC_MM_SLICES
int new_context = (mm->context.id == 0);
+#endif
again:
if (!idr_pre_get(&mmu_context_idr, GFP_KERNEL))
--
1.5.1.4
^ permalink raw reply related
* Re: [PATCH] [POWERPC] Wire up some more syscalls
From: Kumar Gala @ 2007-05-14 3:55 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: ppc-dev, Andrew Morton, paulus, Arnd Bergmann
In-Reply-To: <20070514135033.07c1b840.sfr@canb.auug.org.au>
On May 13, 2007, at 10:50 PM, Stephen Rothwell wrote:
> signalfd, timerfd and eventfd
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> include/asm-powerpc/systbl.h | 3 +++
> include/asm-powerpc/unistd.h | 5 ++++-
> 2 files changed, 7 insertions(+), 1 deletions(-)
>
> This depends on the patch I just sent to declare
> compat_sys_signalfd and
> compat_sys_timerfd. And I am assuming that the SPU's want these.
>
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
>
> diff --git a/include/asm-powerpc/systbl.h b/include/asm-powerpc/
> systbl.h
> index 3d44446..700ca59 100644
> --- a/include/asm-powerpc/systbl.h
> +++ b/include/asm-powerpc/systbl.h
> @@ -308,3 +308,6 @@ COMPAT_SYS_SPU(move_pages)
> SYSCALL_SPU(getcpu)
> COMPAT_SYS(epoll_pwait)
> COMPAT_SYS_SPU(utimensat)
> +COMPAT_SYS_SPU(signalfd)
> +COMPAT_SYS_SPU(timerfd)
> +SYSCALL_SPU(eventfd)
Just out of interest, what makes a syscall COMPAT_SYS_SPU vs
SYSCALL_SPU?
- k
^ permalink raw reply
* [PATCH] [POWERPC] Wire up some more syscalls
From: Stephen Rothwell @ 2007-05-14 3:50 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev, Andrew Morton, Arnd Bergmann
signalfd, timerfd and eventfd
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
include/asm-powerpc/systbl.h | 3 +++
include/asm-powerpc/unistd.h | 5 ++++-
2 files changed, 7 insertions(+), 1 deletions(-)
This depends on the patch I just sent to declare compat_sys_signalfd and
compat_sys_timerfd. And I am assuming that the SPU's want these.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/asm-powerpc/systbl.h b/include/asm-powerpc/systbl.h
index 3d44446..700ca59 100644
--- a/include/asm-powerpc/systbl.h
+++ b/include/asm-powerpc/systbl.h
@@ -308,3 +308,6 @@ COMPAT_SYS_SPU(move_pages)
SYSCALL_SPU(getcpu)
COMPAT_SYS(epoll_pwait)
COMPAT_SYS_SPU(utimensat)
+COMPAT_SYS_SPU(signalfd)
+COMPAT_SYS_SPU(timerfd)
+SYSCALL_SPU(eventfd)
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h
index 21f004a..912e009 100644
--- a/include/asm-powerpc/unistd.h
+++ b/include/asm-powerpc/unistd.h
@@ -327,10 +327,13 @@
#define __NR_getcpu 302
#define __NR_epoll_pwait 303
#define __NR_utimensat 304
+#define __NR_signalfd 305
+#define __NR_timerfd 306
+#define __NR_eventfd 307
#ifdef __KERNEL__
-#define __NR_syscalls 305
+#define __NR_syscalls 308
#define __NR__exit __NR_exit
#define NR_syscalls __NR_syscalls
--
1.5.1.4
^ permalink raw reply related
* Re: [PATCH 1/13] powerpc: Add Makefile rules to wrap dts file in zImage
From: David Gibson @ 2007-05-14 3:49 UTC (permalink / raw)
To: Mark A. Greer; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070514034646.GA28278@mag.az.mvista.com>
On Sun, May 13, 2007 at 08:46:46PM -0700, Mark A. Greer wrote:
> On Mon, May 14, 2007 at 10:33:32AM +1000, David Gibson wrote:
> > On Fri, May 11, 2007 at 05:53:36PM -0700, Mark A. Greer wrote:
>
> > > +$(obj)/zImage.dts: $(addprefix $(obj)/, $(dts-y))
> > > + @rm -f $@; ln $< $@
> > > +$(obj)/zImage.dts_initrd: $(addprefix $(obj)/, $(dts_initrd-y))
> > > + @rm -f $@; ln $< $@
> > > +
> >
> > I thought you said you were going to drop this bit?
>
> >From 0/13:
>
> "Latest respin of these patches. Should address all comments except David's
> comment about the '$(obj)/zImage.dts:' rules. I will address those next
> week but if I get this out now, it may get in to 2.6.22. :)"
Ah, sorry.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* [PATCH] Declare another couple of compat syscalls.
From: Stephen Rothwell @ 2007-05-14 3:47 UTC (permalink / raw)
To: Andrew Morton; +Cc: ppc-dev, Linus, LKML
compat_sys_signalfd and compat_sys_timerfd need declarations before
PowerPC can wire them up.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
include/linux/compat.h | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 636502c..0e69d2c 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -261,5 +261,11 @@ asmlinkage long compat_sys_epoll_pwait(int epfd,
asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename,
struct compat_timespec __user *t, int flags);
+asmlinkage long compat_sys_signalfd(int ufd,
+ const compat_sigset_t __user *sigmask,
+ compat_size_t sigsetsize);
+asmlinkage long compat_sys_timerfd(int ufd, int clockid, int flags,
+ const struct compat_itimerspec __user *utmr);
+
#endif /* CONFIG_COMPAT */
#endif /* _LINUX_COMPAT_H */
--
1.5.1.4
^ permalink raw reply related
* Re: [PATCH 1/13] powerpc: Add Makefile rules to wrap dts file in zImage
From: Mark A. Greer @ 2007-05-14 3:46 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070514003332.GE6517@localhost.localdomain>
On Mon, May 14, 2007 at 10:33:32AM +1000, David Gibson wrote:
> On Fri, May 11, 2007 at 05:53:36PM -0700, Mark A. Greer wrote:
> > +$(obj)/zImage.dts: $(addprefix $(obj)/, $(dts-y))
> > + @rm -f $@; ln $< $@
> > +$(obj)/zImage.dts_initrd: $(addprefix $(obj)/, $(dts_initrd-y))
> > + @rm -f $@; ln $< $@
> > +
>
> I thought you said you were going to drop this bit?
>From 0/13:
"Latest respin of these patches. Should address all comments except David's
comment about the '$(obj)/zImage.dts:' rules. I will address those next
week but if I get this out now, it may get in to 2.6.22. :)"
Mark
^ permalink raw reply
* Fix bug adding properties with flatdevtree.c's ft_set_prop()
From: David Gibson @ 2007-05-14 3:13 UTC (permalink / raw)
To: Paul Mackerras, Mark A. Greer; +Cc: linuxppc-dev
ft_set_prop() from flatdevtree.c in the zImage wrapper will either
replace an existing property in the flat device tree, or add a new
property definiion if the given property isn't present.
However, when adding properties, it adds the property definition
immediately before the node's END_NODE tag, potentially after any
subnode definitions for the node. This confuses the kernel flat tree
parser in prom.c which assumes that all property definitions for a
node come before all subnode definitions.
This patch corrects ft_set_prop() so that it adds new properties
before the first subnode, instead of before the END_NODE tag.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Index: working-2.6/arch/powerpc/boot/flatdevtree.c
===================================================================
--- working-2.6.orig/arch/powerpc/boot/flatdevtree.c 2007-05-14 12:00:23.000000000 +1000
+++ working-2.6/arch/powerpc/boot/flatdevtree.c 2007-05-14 13:00:10.000000000 +1000
@@ -891,28 +891,27 @@ int ft_set_prop(struct ft_cxt *cxt, cons
struct ft_atom atom;
void *node;
char *p, *next;
- int nextra, depth;
+ int nextra;
node = ft_node_ph2node(cxt, phandle);
if (node == NULL)
return -1;
- depth = 0;
- p = node;
+ next = ft_next(cxt, node, &atom);
+ if (atom.tag != OF_DT_BEGIN_NODE)
+ /* phandle didn't point to a node */
+ return -1;
+ p = next;
while ((next = ft_next(cxt, p, &atom)) != NULL) {
switch (atom.tag) {
- case OF_DT_BEGIN_NODE:
- ++depth;
- break;
+ case OF_DT_BEGIN_NODE: /* properties must go before subnodes */
case OF_DT_END_NODE:
- if (--depth > 0)
- break;
/* haven't found the property, insert here */
cxt->p = p;
return ft_prop(cxt, propname, buf, buflen);
case OF_DT_PROP:
- if ((depth != 1) || strcmp(atom.name, propname))
+ if (strcmp(atom.name, propname))
break;
/* found an existing property, overwrite it */
nextra = _ALIGN(buflen, 4) - _ALIGN(atom.size, 4);
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Remove fixup_bigphys_addr() for arch/powerpc
From: David Gibson @ 2007-05-14 1:43 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
There are no actual implementations of fixup_bigphys_addr() in
arch/powerpc, and with a 64-bit aware ioremap() and so forth, it
should no longer be necessary. This patch removes the last dregs of
fixup_bigphys_addr() from arch/powerpc.
In fact, the only reason this hasn't caused link errors already is
that nobody must have tried using one of the small number of drivers
using io_remap_pfn_range() on one of the small number of platforms
which are 32-bit but define CONFIG_PHYS_64BIT. Nonetheless this fixes
a bug, and should go into 2.6.22.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Index: working-2.6/include/asm-powerpc/mmu-44x.h
===================================================================
--- working-2.6.orig/include/asm-powerpc/mmu-44x.h 2007-05-09 13:14:53.000000000 +1000
+++ working-2.6/include/asm-powerpc/mmu-44x.h 2007-05-09 13:15:10.000000000 +1000
@@ -55,8 +55,6 @@
typedef unsigned long long phys_addr_t;
-extern phys_addr_t fixup_bigphys_addr(phys_addr_t, phys_addr_t);
-
typedef struct {
unsigned long id;
unsigned long vdso_base;
Index: working-2.6/include/asm-powerpc/pgtable-ppc32.h
===================================================================
--- working-2.6.orig/include/asm-powerpc/pgtable-ppc32.h 2007-05-09 13:14:25.000000000 +1000
+++ working-2.6/include/asm-powerpc/pgtable-ppc32.h 2007-05-09 13:14:42.000000000 +1000
@@ -782,23 +782,8 @@ extern void kernel_set_cachemode (unsign
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
#define kern_addr_valid(addr) (1)
-#ifdef CONFIG_PHYS_64BIT
-extern int remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
- unsigned long paddr, unsigned long size, pgprot_t prot);
-
-static inline int io_remap_pfn_range(struct vm_area_struct *vma,
- unsigned long vaddr,
- unsigned long pfn,
- unsigned long size,
- pgprot_t prot)
-{
- phys_addr_t paddr64 = fixup_bigphys_addr(pfn << PAGE_SHIFT, size);
- return remap_pfn_range(vma, vaddr, paddr64 >> PAGE_SHIFT, size, prot);
-}
-#else
#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
remap_pfn_range(vma, vaddr, pfn, size, prot)
-#endif
/*
* No page table caches to initialise
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH 1/4 v4] powerpc: document phy-connection-type property
From: Matt Sealey @ 2007-05-14 1:20 UTC (permalink / raw)
To: Kim Phillips; +Cc: linuxppc-dev
In-Reply-To: <20070423160621.329d1a08.kim.phillips@freescale.com>
Hi guys,
Since I'm poking around on 52xx I had a query - firstly it doesn't
look like the 52xx fec driver uses phylib at all since it also tries
to support the 7-wire ethernet interface, which isn't ?? supported
by phylib.
Stumbling across this property I wondered, if the driver can check
the device tree for the phy type to set it up properly in this
manner, would it also be relevant to list the 7-wire style of
connection, so that drivers can provide the alternative code?
Side note, is phylib flexible enough to support the 7-wire
non-MII connection? It looks sorta so, but...
--
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations
Kim Phillips wrote:
> On Mon, 23 Apr 2007 22:59:43 +0200
> Segher Boessenkool <segher@kernel.crashing.org> wrote:
>
>>> phy-connection-type is now maintained one-to-one with definitions
>>> in include/linux/phy.h, albeit in the form of a string.
>> That's sort-of accidental though :-)
>>
> sure..
>
>>> --- a/Documentation/powerpc/booting-without-of.txt
>>> +++ b/Documentation/powerpc/booting-without-of.txt
>>> @@ -1562,6 +1562,9 @@ platforms are moved over to use the
>>> flattened-device-tree model.
>>> network device. This is used by the bootwrapper to interpret
>>> MAC addresses passed by the firmware when no information other
>>> than indices is available to associate an address with a device.
>>> + - phy-connection-type : a string naming the controller/PHY
>>> interface type,
>>> + i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id",
>>> "tbi",
>>> + or "rtbi".
>> Could you put this right after the "phy-handle" definition
>> please?
>
> phy-handle is a required property, whereas phy-connection-type is not
> (it's recommended). Are you suggesting phy-connection-type be a required
> property?
>
>>> @@ -1573,6 +1576,7 @@ platforms are moved over to use the
>>> flattened-device-tree model.
>>> interrupts = <a0 0>;
>>> interrupt-parent = <700>;
>>> mac-address = [ 00 04 9f 00 23 23 ];
>>> + phy-connection-type = "gmii";
>>> rx-clock = "none";
>>> tx-clock = "clk9";
>>> phy-handle = <212000>;
>> Same here. It's nice to keep things grouped, it
>> improves understanding ;-)
>
> That's understandable. Lemme know about the above though.
>
> Kim
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply
* Re: [DTC PATCH] Remove overreaching semantic tests.
From: David Gibson @ 2007-05-14 1:19 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev
In-Reply-To: <20070511175553.GA14692@ld0162-tx32.am.freescale.net>
On Fri, May 11, 2007 at 12:55:54PM -0500, Scott Wood wrote:
> Now that there are more usage models than "complete device tree in the
> DTS" and "minimally device-tree aware u-boot that still needs zeroed out
> properties to fill in", many of the checks that dtc performs are no
> longer appropriate, since the nodes and properties in question can be
> added at runtime.
>
> Note that -f is *not* an alternative, as that suppresses all checks. I
> still want it to check for things that are present but wrong; I just
> don't want it complaining about things that aren't there at all.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
> I wouldn't be opposed to keeping these tests around if there were a
> command line option that cleanly separates the errors/warnings into
> classes such as structural, semantic-missing, semantic-broken, etc.
Exactly - which is why I really don't want to simply tear out this
checking code. I've never gotten around to reworking the
error/warning system so it can sensibly divide things into such
classes, and keep detecting further warnings after picking up some
non-fatal ones and so forth.
I'd much prefer you just disable these tests for now, either by
commenting code out, or removing calls to checking functions. That
will make it easier to optionally reinstate later.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH] viopath: use completion
From: David Boutcher @ 2007-05-14 0:54 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linuxppc-dev
In-Reply-To: <20070513155027.GB9218@lst.de>
Christoph Hellwig <hch@lst.de> wrote on 05/13/2007 10:50:27 AM:
> Use a completion instead of abusing a semaphore for hypervisor event
> completion in viopath.
>
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Not that my ack is terribly relevant any more, but
Acked-by: Dave Boutcher <boutcher@us.ibm.com>
Dave B
^ permalink raw reply
* RE: [Fwd: [alsa-devel] embedded sound architecture question]
From: Leonid @ 2007-05-14 0:50 UTC (permalink / raw)
To: Joachim Förster, linuxppc-embedded
In-Reply-To: <1179069310.15907.11.camel@localhost>
ALSA middle layer is VERY sensitive to timing and it's extremely =
important how HW device behaves (I mean PCM part of driver, MIDI is =
quite simple). Recording ("capturing") poses even more problems than =
replaying.=20
Last but not least, different applications tend to deal differently with =
ALSA and one should have really good understanding of what's going on to =
configure everything properly.
I must admit that I'm not ALSA expert myself, but I was involved in =
writing ALSA Linux driver for some chip which didn't have one. During =
this process I realized that this is not a miracle nobody before =
bothered to write driver for that chip since it was rather laborious =
task. =20
You are in better situation - you kind of can create your HW yourself. =
If I were you, I would chose one of sound cards which have ALSA drivers =
implemented (the list can be found on ALSA site) and mimicked their =
behavior in your VHDL.
Thanks,
Leonid.
-----Original Message-----
From: linuxppc-embedded-bounces+leonid=3Da-k-a.net@ozlabs.org =
[mailto:linuxppc-embedded-bounces+leonid=3Da-k-a.net@ozlabs.org] On =
Behalf Of Joachim F=F6rster
Sent: Sunday, May 13, 2007 8:15 AM
To: linuxppc-embedded@ozlabs.org
Subject: [Fwd: [alsa-devel] embedded sound architecture question]
Hi,
I posted the following question/mail to the ALSA development mailing
list and somebody suggested posting it to the LKML, but I thought,
perhaps it is better to ask you, the Linux PPC embedded experts first,
since it is right about that topic.
It would be nice if somebody can say, if the described architecture
makes sense and will work or if it is a complete no-go.
-------- Forwarded Message --------
From: Joachim F=F6rster <mls.JOFT@gmx.de>
To: alsa-devel@alsa-project.org
Subject: [alsa-devel] embedded sound architecture question
Date: Wed, 09 May 2007 22:47:34 +0200
Hi ALSA devs,
I'm going to write an ALSA driver for a not yet existing AC97
controller, which is going to be "written" (VHDL), too (at the same
time). Platform/Board is a Xilinx ML403 with Virtex-4 FPGA, PowerPC 405
architecture, OPB/OCP bus, AC97 Codec LM4550.
Before presenting my question, I have to say, that I'm a beginner with
ALSA/Linux driver development.
My question is: Does the architecture described below make sense/is
reasonable with ALSA and Linux?
The problem is, that there is no DMA controller and implementing an OPB
master device which would be able to do DMA itself is not an option at
this time.
So our thoughts were: Integrate the "DMA ring buffer" (which is usually
somewhere in main memory/RAM) into the AC97 controller. Make ALSA access
this HW buffer as if it was in main memory. This way, the device (AC97
controller) has "direct access" to its buffer "memory" - this could be
called "fake DMA".
The AC97 controller would have tell us where it is while playing and
firing interrupts after one period, so that we don't write to values
which are in the current period, instead update the area where of the
past played periods etc. ... The buffer should be a "ring buffer",
right?
Mapping this "IO memory" into kernel space should be possible with
io_remap_page_range(), right?
I would have to implement the mmap() callback in my driver, to setup the
given VMA (with the above function), right?
So, ALSA library/applications will be able to use MMAP mode, which is
what we want to achieve?
[We don't want copy()/silence(). An intermediate buffer with
ack()/tasklet/workqueue + FIFO in HW would be an alternative.]
[snip]
Thanks for reading & your time,
Joachim
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply
* Re: [PATCH] viopath: use completion
From: Stephen Rothwell @ 2007-05-14 0:44 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: boutcher, linuxppc-dev
In-Reply-To: <20070513155027.GB9218@lst.de>
[-- Attachment #1: Type: text/plain, Size: 377 bytes --]
On Sun, 13 May 2007 17:50:27 +0200 Christoph Hellwig <hch@lst.de> wrote:
>
> Use a completion instead of abusing a semaphore for hypervisor event
> completion in viopath.
>
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [PATCH 10/13] powerpc: check cache coherency of kernel vs firmware
From: David Gibson @ 2007-05-14 0:40 UTC (permalink / raw)
To: Mark A. Greer; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070512005735.GJ3365@mag.az.mvista.com>
On Fri, May 11, 2007 at 05:57:35PM -0700, Mark A. Greer wrote:
>
> From: Dale Farnsworth <dale@farnsworth.org>
>
> check_cache_coherency() verifies that the cache coherency setting of
> the kernel (CONFIG_NOT_COHERENT_CACHE) matches that left by the firmware,
> as indicated by coherency-off device tree property.
This looks really bogus. If the firmware reports a coherency state,
then presumably there's some hardware switch to turn coherency on or
off. In which case, can't the kernel just toggle that switch to
whatever's appropriate for it?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH 1/13] powerpc: Add Makefile rules to wrap dts file in zImage
From: David Gibson @ 2007-05-14 0:33 UTC (permalink / raw)
To: Mark A. Greer; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070512005336.GA3365@mag.az.mvista.com>
On Fri, May 11, 2007 at 05:53:36PM -0700, Mark A. Greer wrote:
>
> Add 'zImage.dts' and 'zImage.dts_initrd' build rules that automatically
> compile and wrap a dts file from arch/powerpc/boot/dts into the zImage file.
> The resulting zImage will be arch/powerpc/boot/zImage.dts.<platform> and
> arch/powerpc/boot/zImage.dts_initrd.<platform>, respectively.
>
> Having separate rules allows the user to choose whether to include a device
> tree--and which device tree--at build time. This is useful when one Makefile
> target builds a zImage that runs on several platforms except for differing
> device trees. By just setting CONFIG_DEVICE_TREE and running "make zImage.dts"
> the exact zImage you want is built without Makefile bloat or manually running
> the wrapper script.
>
> The dts file is expected to be arch/powerpc/boot/dts/$(CONFIG_DEVICE_TREE)
>
> Signed-off-by: Mark A. Greer <mgreer@mvista.com>
> ---
>
> arch/powerpc/Makefile | 2 +-
> arch/powerpc/boot/Makefile | 25 ++++++++++++++++++++++++-
> 2 files changed, 25 insertions(+), 2 deletions(-)
>
> Index: powerpc/arch/powerpc/boot/Makefile
> ===================================================================
> --- powerpc.orig/arch/powerpc/boot/Makefile
> +++ powerpc/arch/powerpc/boot/Makefile
> @@ -154,9 +154,27 @@ targets += $(image-y) $(initrd-y)
>
> $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
>
> +dts- := $(patsubst zImage%, zImage.dts%, $(image-n) $(image-))
> +dts-y := $(patsubst zImage%, zImage.dts%, $(image-y))
> +dts-y := $(filter-out $(image-y), $(dts-y))
> +targets += $(image-y) $(dts-y)
> +
> +dts_initrd- := $(patsubst zImage%, zImage.dts_initrd%, $(image-n) $(image-))
> +dts_initrd-y := $(patsubst zImage%, zImage.dts_initrd%, $(image-y))
> +dts_initrd-y := $(filter-out $(image-y), $(dts_initrd-y))
> +targets += $(image-y) $(dts_initrd-y)
> +
> +$(addprefix $(obj)/, $(dts_initrd-y)): $(obj)/ramdisk.image.gz
> +
> # Don't put the ramdisk on the pattern rule; when its missing make will try
> # the pattern rule with less dependencies that also matches (even with the
> # hard dependency listed).
> +$(obj)/zImage.dts_initrd.%: vmlinux $(wrapperbits) $(dts) $(obj)/ramdisk.image.gz
> + $(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz)
> +
> +$(obj)/zImage.dts.%: vmlinux $(wrapperbits) $(dts)
> + $(call if_changed,wrap,$*,$(dts))
> +
> $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
> $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
>
> @@ -195,13 +213,18 @@ $(obj)/zImage: $(addprefix $(obj)/, $(i
> @rm -f $@; ln $< $@
> $(obj)/zImage.initrd: $(addprefix $(obj)/, $(initrd-y))
> @rm -f $@; ln $< $@
> +$(obj)/zImage.dts: $(addprefix $(obj)/, $(dts-y))
> + @rm -f $@; ln $< $@
> +$(obj)/zImage.dts_initrd: $(addprefix $(obj)/, $(dts_initrd-y))
> + @rm -f $@; ln $< $@
> +
I thought you said you were going to drop this bit?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH v2 6/7] Holly DTS
From: David Gibson @ 2007-05-14 0:24 UTC (permalink / raw)
To: Segher Boessenkool; +Cc: Olof Johansson, linuxppc-dev, Loeliger Jon-LOELIGER
In-Reply-To: <b5cd56b7081eaba062cf056545777989@kernel.crashing.org>
On Sat, May 12, 2007 at 02:02:42PM +0200, Segher Boessenkool wrote:
> >>> What exactly did this ?? syntax imply? I must have missed that
> >>> thread.
> >>
> >> A property in a DTS file can use that to say
> >> the property should have a value, but it will
> >> be filled in by the bootwrapper instead (memory
> >> address/size, or network MAC address, for
> >> instance). Presumably the kernel parser would
> >> complain when it sees the this-is-still-undefined
> >> marker.
> >>
> >> The original proposal specified the length of
> >> the property value IIRC, but that isn't necessary
> >> anymore.
> >
> > Well.. sort of. The first cut at the idea is that ? would be
> > equivalent to zeroes in terms of dtc output, but would act as internal
> > documentation that that property is supposed to be filled in by the
> > bootloader.
>
> Yes.
>
> > Refinements to try to enforce that would be nice:
>
> Exactly my point.
>
> > easiest is to
> > replace it with a configurable poison value. When using asm output,
> > or with a map file, it might be possible to generate out-of-band
> > information which we can use to check that the right things are filled
> > in.
> >
> > It's not a simply a matter of making the kernel parser recognize the
> > uninitialized info, because there's no way to encode that in the dtb
> > itself.
>
> There can be, with a new DTB version -- perhaps simply
> define proplen == -1 to mean "undefined" or similar.
That doesn't quite do it, because I'd prefer ? to cover cases where
the property's length is known, just not its value. In particular
that could be useful for device trees where *only* non-moving edits
are required by the bootloader, letting us use the asm output mode as
intended.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH] U-boot passes the initrd as start/end, not start/size.
From: David Gibson @ 2007-05-14 0:22 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev, paulus
In-Reply-To: <20070511175202.GA14644@ld0162-tx32.am.freescale.net>
On Fri, May 11, 2007 at 12:52:03PM -0500, Scott Wood wrote:
Patch description would be good.
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
> arch/powerpc/boot/cuboot-83xx.c | 2 +-
> arch/powerpc/boot/cuboot-85xx.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/boot/cuboot-83xx.c b/arch/powerpc/boot/cuboot-83xx.c
> index 6cbc20a..9af554e 100644
> --- a/arch/powerpc/boot/cuboot-83xx.c
> +++ b/arch/powerpc/boot/cuboot-83xx.c
> @@ -57,7 +57,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
>
> memcpy(&bd, (bd_t *)r3, sizeof(bd));
> loader_info.initrd_addr = r4;
> - loader_info.initrd_size = r4 ? r5 : 0;
> + loader_info.initrd_size = r4 ? r5 - r4 : 0;
> loader_info.cmdline = (char *)r6;
> loader_info.cmdline_len = r7 - r6;
>
> diff --git a/arch/powerpc/boot/cuboot-85xx.c b/arch/powerpc/boot/cuboot-85xx.c
> index f88ba00..e256031 100644
> --- a/arch/powerpc/boot/cuboot-85xx.c
> +++ b/arch/powerpc/boot/cuboot-85xx.c
> @@ -58,7 +58,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
>
> memcpy(&bd, (bd_t *)r3, sizeof(bd));
> loader_info.initrd_addr = r4;
> - loader_info.initrd_size = r4 ? r5 : 0;
> + loader_info.initrd_size = r4 ? r5 - r4 : 0;
> loader_info.cmdline = (char *)r6;
> loader_info.cmdline_len = r7 - r6;
Now that cuboot-ebony.c is merged, that should be fixed as well.
We should really think about some macro magic or something to avoid
this duplication of identical-save-for-bd_t's-definition cuboot
handling code.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH] Remove ft_ordered from flatdevtree.c
From: David Gibson @ 2007-05-14 0:18 UTC (permalink / raw)
To: Becky Bruce; +Cc: linuxppc-dev
In-Reply-To: <11789057794165-git-send-email-becky.bruce@freescale.com>
On Fri, May 11, 2007 at 12:49:39PM -0500, Becky Bruce wrote:
> AFAICT, nobody is using this function, and it causes a build warning
> to be generated. This patch cleans that up by removing the function
> and the commented-out code that calls it.
>
> Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox