diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-arm/arch-imx/mmc.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/sharpsl.h | 6 | ||||
-rw-r--r-- | include/asm-avr32/arch-at32ap/board.h | 8 | ||||
-rw-r--r-- | include/asm-avr32/arch-at32ap/portmux.h | 1 | ||||
-rw-r--r-- | include/asm-avr32/arch-at32ap/smc.h | 51 | ||||
-rw-r--r-- | include/asm-avr32/dma-mapping.h | 17 | ||||
-rw-r--r-- | include/asm-avr32/system.h | 13 | ||||
-rw-r--r-- | include/asm-avr32/unistd.h | 13 | ||||
-rw-r--r-- | include/asm-blackfin/bfin5xx_spi.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/blackfin.h | 112 | ||||
-rw-r--r-- | include/asm-blackfin/cacheflush.h | 14 | ||||
-rw-r--r-- | include/asm-blackfin/cplb.h | 99 | ||||
-rw-r--r-- | include/asm-blackfin/dma.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/early_printk.h | 28 | ||||
-rw-r--r-- | include/asm-blackfin/gpio.h | 31 | ||||
-rw-r--r-- | include/asm-blackfin/io.h | 24 | ||||
-rw-r--r-- | include/asm-blackfin/ioctls.h | 9 | ||||
-rw-r--r-- | include/asm-blackfin/irq_handler.h | 15 | ||||
-rw-r--r-- | include/asm-blackfin/kgdb.h | 1 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf527/anomaly.h | 41 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf527/defBF52x_base.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/anomaly.h | 468 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/bf533.h | 157 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | 11 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/blackfin.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/cdefBF532.h | 62 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/defBF532.h | 3 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/irq.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf533/mem_map.h | 56 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/anomaly.h | 249 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/bf537.h | 158 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | 23 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/blackfin.h | 280 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/cdefBF534.h | 4 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/defBF534.h | 4 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/irq.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/mem_map.h | 60 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf537/portmux.h | 37 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/anomaly.h | 145 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/bf548.h | 154 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | 39 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/blackfin.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/cdefBF54x_base.h | 4 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/defBF544.h | 1 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/defBF548.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/defBF549.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/defBF54x_base.h | 3 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/gpio.h | 5 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/irq.h | 591 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf548/mem_map.h | 24 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/anomaly.h | 410 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/bf561.h | 178 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | 11 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/blackfin.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/cdefBF561.h | 9 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/defBF561.h | 1 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/irq.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/mem_map.h | 24 | ||||
-rw-r--r-- | include/asm-blackfin/mach-bf561/portmux.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/mach-common/cdef_LPBlackfin.h | 4 | ||||
-rw-r--r-- | include/asm-blackfin/mach-common/clocks.h | 70 | ||||
-rw-r--r-- | include/asm-blackfin/mach-common/def_LPBlackfin.h | 135 | ||||
-rw-r--r-- | include/asm-blackfin/pgtable.h | 2 | ||||
-rw-r--r-- | include/asm-blackfin/portmux.h | 55 | ||||
-rw-r--r-- | include/asm-blackfin/reboot.h | 20 | ||||
-rw-r--r-- | include/asm-blackfin/system.h | 93 | ||||
-rw-r--r-- | include/asm-blackfin/termbits.h | 5 | ||||
-rw-r--r-- | include/asm-blackfin/termios.h | 10 | ||||
-rw-r--r-- | include/asm-blackfin/trace.h | 55 | ||||
-rw-r--r-- | include/asm-blackfin/unistd.h | 56 | ||||
-rw-r--r-- | include/asm-h8300/flat.h | 3 | ||||
-rw-r--r-- | include/asm-i386/Kbuild | 12 | ||||
-rw-r--r-- | include/asm-i386/k8.h | 1 | ||||
-rw-r--r-- | include/asm-i386/pci-direct.h | 1 | ||||
-rw-r--r-- | include/asm-i386/stacktrace.h | 1 | ||||
-rw-r--r-- | include/asm-m32r/flat.h | 3 | ||||
-rw-r--r-- | include/asm-m68knommu/flat.h | 3 | ||||
-rw-r--r-- | include/asm-mips/addrspace.h | 6 | ||||
-rw-r--r-- | include/asm-mips/asm.h | 66 | ||||
-rw-r--r-- | include/asm-mips/asmmacro.h | 12 | ||||
-rw-r--r-- | include/asm-mips/atomic.h | 28 | ||||
-rw-r--r-- | include/asm-mips/bitops.h | 12 | ||||
-rw-r--r-- | include/asm-mips/bootinfo.h | 41 | ||||
-rw-r--r-- | include/asm-mips/byteorder.h | 4 | ||||
-rw-r--r-- | include/asm-mips/cmpxchg.h | 107 | ||||
-rw-r--r-- | include/asm-mips/cpu-features.h | 8 | ||||
-rw-r--r-- | include/asm-mips/cpu-info.h | 21 | ||||
-rw-r--r-- | include/asm-mips/cpu.h | 160 | ||||
-rw-r--r-- | include/asm-mips/delay.h | 2 | ||||
-rw-r--r-- | include/asm-mips/elf.h | 2 | ||||
-rw-r--r-- | include/asm-mips/fixmap.h | 4 | ||||
-rw-r--r-- | include/asm-mips/floppy.h | 6 | ||||
-rw-r--r-- | include/asm-mips/futex.h | 2 | ||||
-rw-r--r-- | include/asm-mips/fw/arc/hinv.h (renamed from include/asm-mips/arc/hinv.h) | 5 | ||||
-rw-r--r-- | include/asm-mips/fw/arc/types.h (renamed from include/asm-mips/arc/types.h) | 0 | ||||
-rw-r--r-- | include/asm-mips/fw/cfe/cfe_api.h | 185 | ||||
-rw-r--r-- | include/asm-mips/fw/cfe/cfe_error.h | 85 | ||||
-rw-r--r-- | include/asm-mips/hazards.h | 56 | ||||
-rw-r--r-- | include/asm-mips/hw_irq.h | 7 | ||||
-rw-r--r-- | include/asm-mips/i8253.h | 30 | ||||
-rw-r--r-- | include/asm-mips/i8259.h | 5 | ||||
-rw-r--r-- | include/asm-mips/inventory.h | 4 | ||||
-rw-r--r-- | include/asm-mips/io.h | 18 | ||||
-rw-r--r-- | include/asm-mips/ioctl.h | 16 | ||||
-rw-r--r-- | include/asm-mips/ioctls.h | 12 | ||||
-rw-r--r-- | include/asm-mips/ip32/machine.h | 20 | ||||
-rw-r--r-- | include/asm-mips/irq.h | 67 | ||||
-rw-r--r-- | include/asm-mips/irq_gt641xx.h | 60 | ||||
-rw-r--r-- | include/asm-mips/irqflags.h | 10 | ||||
-rw-r--r-- | include/asm-mips/jazz.h | 40 | ||||
-rw-r--r-- | include/asm-mips/jazzdma.h | 1 | ||||
-rw-r--r-- | include/asm-mips/jmr3927/tx3927.h | 32 | ||||
-rw-r--r-- | include/asm-mips/lasat/ds1603.h | 18 | ||||
-rw-r--r-- | include/asm-mips/lasat/eeprom.h | 17 | ||||
-rw-r--r-- | include/asm-mips/lasat/head.h | 22 | ||||
-rw-r--r-- | include/asm-mips/lasat/lasat.h | 256 | ||||
-rw-r--r-- | include/asm-mips/lasat/lasatint.h | 12 | ||||
-rw-r--r-- | include/asm-mips/lasat/picvue.h | 15 | ||||
-rw-r--r-- | include/asm-mips/lasat/serial.h | 13 | ||||
-rw-r--r-- | include/asm-mips/linkage.h | 2 | ||||
-rw-r--r-- | include/asm-mips/local.h | 89 | ||||
-rw-r--r-- | include/asm-mips/mach-au1x00/au1000.h | 622 | ||||
-rw-r--r-- | include/asm-mips/mach-au1x00/au1xxx_dbdma.h | 14 | ||||
-rw-r--r-- | include/asm-mips/mach-au1x00/au1xxx_ide.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mach-au1x00/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-bcm47xx/bcm47xx.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-bcm47xx/gpio.h | 59 | ||||
-rw-r--r-- | include/asm-mips/mach-bcm47xx/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-cobalt/cobalt.h | 61 | ||||
-rw-r--r-- | include/asm-mips/mach-cobalt/cpu-feature-overrides.h | 1 | ||||
-rw-r--r-- | include/asm-mips/mach-cobalt/irq.h | 58 | ||||
-rw-r--r-- | include/asm-mips/mach-cobalt/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-dec/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-emma2rh/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-excite/cpu-feature-overrides.h | 5 | ||||
-rw-r--r-- | include/asm-mips/mach-excite/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/mangle-port.h | 32 | ||||
-rw-r--r-- | include/asm-mips/mach-ip22/war.h | 29 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/irq.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/mangle-port.h | 16 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/topology.h | 20 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-ip32/kmalloc.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mach-ip32/mangle-port.h | 16 | ||||
-rw-r--r-- | include/asm-mips/mach-ip32/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-jazz/mc146818rtc.h | 10 | ||||
-rw-r--r-- | include/asm-mips/mach-jazz/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-jmr3927/mangle-port.h | 16 | ||||
-rw-r--r-- | include/asm-mips/mach-jmr3927/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-lasat/mach-gt64120.h | 27 | ||||
-rw-r--r-- | include/asm-mips/mach-lasat/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-lemote/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-mips/mach-gt64120.h | 9 | ||||
-rw-r--r-- | include/asm-mips/mach-mips/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-mipssim/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-pb1x00/pb1000.h | 56 | ||||
-rw-r--r-- | include/asm-mips/mach-pb1x00/pb1100.h | 60 | ||||
-rw-r--r-- | include/asm-mips/mach-pnx8550/kernel-entry-init.h | 26 | ||||
-rw-r--r-- | include/asm-mips/mach-pnx8550/uart.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mach-pnx8550/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-qemu/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-rm/war.h | 29 | ||||
-rw-r--r-- | include/asm-mips/mach-sibyte/cpu-feature-overrides.h | 7 | ||||
-rw-r--r-- | include/asm-mips/mach-sibyte/war.h | 37 | ||||
-rw-r--r-- | include/asm-mips/mach-tx49xx/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-vr41xx/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-wrppmc/mach-gt64120.h | 1 | ||||
-rw-r--r-- | include/asm-mips/mach-wrppmc/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mach-yosemite/war.h | 25 | ||||
-rw-r--r-- | include/asm-mips/mc146818-time.h | 4 | ||||
-rw-r--r-- | include/asm-mips/mips-boards/bonito64.h | 20 | ||||
-rw-r--r-- | include/asm-mips/mips-boards/malta.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mipsmtregs.h | 60 | ||||
-rw-r--r-- | include/asm-mips/mipsregs.h | 4 | ||||
-rw-r--r-- | include/asm-mips/mmu_context.h | 8 | ||||
-rw-r--r-- | include/asm-mips/nile4.h | 310 | ||||
-rw-r--r-- | include/asm-mips/paccess.h | 8 | ||||
-rw-r--r-- | include/asm-mips/page.h | 2 | ||||
-rw-r--r-- | include/asm-mips/parport.h | 6 | ||||
-rw-r--r-- | include/asm-mips/pci.h | 4 | ||||
-rw-r--r-- | include/asm-mips/pci/bridge.h | 2 | ||||
-rw-r--r-- | include/asm-mips/pgalloc.h | 6 | ||||
-rw-r--r-- | include/asm-mips/pgtable-32.h | 2 | ||||
-rw-r--r-- | include/asm-mips/pgtable-64.h | 6 | ||||
-rw-r--r-- | include/asm-mips/pgtable.h | 4 | ||||
-rw-r--r-- | include/asm-mips/prctl.h | 2 | ||||
-rw-r--r-- | include/asm-mips/qemu.h | 2 | ||||
-rw-r--r-- | include/asm-mips/r4kcache.h | 6 | ||||
-rw-r--r-- | include/asm-mips/semaphore.h | 8 | ||||
-rw-r--r-- | include/asm-mips/sgiarcs.h | 36 | ||||
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_int.h | 22 | ||||
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_l2c.h | 102 | ||||
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_mc.h | 644 | ||||
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_regs.h | 18 | ||||
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_scd.h | 102 | ||||
-rw-r--r-- | include/asm-mips/sibyte/board.h | 4 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_defs.h | 14 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_dma.h | 246 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_genbus.h | 322 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_int.h | 22 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_l2c.h | 64 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_ldt.h | 194 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_mac.h | 284 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_mc.h | 306 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_regs.h | 32 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_scd.h | 306 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_smbus.h | 62 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_syncser.h | 16 | ||||
-rw-r--r-- | include/asm-mips/sibyte/sb1250_uart.h | 70 | ||||
-rw-r--r-- | include/asm-mips/siginfo.h | 4 | ||||
-rw-r--r-- | include/asm-mips/sim.h | 4 | ||||
-rw-r--r-- | include/asm-mips/smp.h | 9 | ||||
-rw-r--r-- | include/asm-mips/smtc_ipi.h | 1 | ||||
-rw-r--r-- | include/asm-mips/sn/addrs.h | 50 | ||||
-rw-r--r-- | include/asm-mips/sn/arch.h | 4 | ||||
-rw-r--r-- | include/asm-mips/sn/io.h | 2 | ||||
-rw-r--r-- | include/asm-mips/sn/klconfig.h | 6 | ||||
-rw-r--r-- | include/asm-mips/sn/kldir.h | 2 | ||||
-rw-r--r-- | include/asm-mips/sn/sn0/addrs.h | 8 | ||||
-rw-r--r-- | include/asm-mips/sni.h | 18 | ||||
-rw-r--r-- | include/asm-mips/stackframe.h | 20 | ||||
-rw-r--r-- | include/asm-mips/system.h | 271 | ||||
-rw-r--r-- | include/asm-mips/time.h | 41 | ||||
-rw-r--r-- | include/asm-mips/timex.h | 2 | ||||
-rw-r--r-- | include/asm-mips/tlbflush.h | 4 | ||||
-rw-r--r-- | include/asm-mips/tx4927/toshiba_rbtx4927.h | 8 | ||||
-rw-r--r-- | include/asm-mips/tx4927/tx4927.h | 439 | ||||
-rw-r--r-- | include/asm-mips/tx4927/tx4927_mips.h | 4177 | ||||
-rw-r--r-- | include/asm-mips/tx4938/rbtx4938.h | 2 | ||||
-rw-r--r-- | include/asm-mips/tx4938/tx4938.h | 44 | ||||
-rw-r--r-- | include/asm-mips/tx4938/tx4938_mips.h | 8 | ||||
-rw-r--r-- | include/asm-mips/uaccess.h | 58 | ||||
-rw-r--r-- | include/asm-mips/unaligned.h | 27 | ||||
-rw-r--r-- | include/asm-mips/vga.h | 4 | ||||
-rw-r--r-- | include/asm-mips/war.h | 127 | ||||
-rw-r--r-- | include/asm-mips/xtalk/xtalk.h | 2 | ||||
-rw-r--r-- | include/asm-sh/flat.h | 3 | ||||
-rw-r--r-- | include/asm-sh/mpc1211/mc146818rtc.h | 2 | ||||
-rw-r--r-- | include/asm-v850/flat.h | 4 | ||||
-rw-r--r-- | include/asm-x86/8253pit.h | 5 | ||||
-rw-r--r-- | include/asm-x86/8253pit_32.h (renamed from include/asm-i386/8253pit.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/8253pit_64.h (renamed from include/asm-x86_64/8253pit.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/Kbuild | 88 | ||||
-rw-r--r-- | include/asm-x86/a.out.h | 13 | ||||
-rw-r--r-- | include/asm-x86/a.out_32.h (renamed from include/asm-i386/a.out.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/a.out_64.h (renamed from include/asm-x86_64/a.out.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/acpi.h | 5 | ||||
-rw-r--r-- | include/asm-x86/acpi_32.h (renamed from include/asm-i386/acpi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/acpi_64.h (renamed from include/asm-x86_64/acpi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/agp.h | 5 | ||||
-rw-r--r-- | include/asm-x86/agp_32.h (renamed from include/asm-i386/agp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/agp_64.h (renamed from include/asm-x86_64/agp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/alternative-asm.i | 5 | ||||
-rw-r--r-- | include/asm-x86/alternative-asm_32.i (renamed from include/asm-i386/alternative-asm.i) | 0 | ||||
-rw-r--r-- | include/asm-x86/alternative-asm_64.i (renamed from include/asm-x86_64/alternative-asm.i) | 0 | ||||
-rw-r--r-- | include/asm-x86/alternative.h | 5 | ||||
-rw-r--r-- | include/asm-x86/alternative_32.h (renamed from include/asm-i386/alternative.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/alternative_64.h (renamed from include/asm-x86_64/alternative.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/apic.h | 5 | ||||
-rw-r--r-- | include/asm-x86/apic_32.h (renamed from include/asm-i386/apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/apic_64.h (renamed from include/asm-x86_64/apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/apicdef.h | 5 | ||||
-rw-r--r-- | include/asm-x86/apicdef_32.h (renamed from include/asm-i386/apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/apicdef_64.h (renamed from include/asm-x86_64/apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/arch_hooks.h (renamed from include/asm-i386/arch_hooks.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/atomic.h | 5 | ||||
-rw-r--r-- | include/asm-x86/atomic_32.h (renamed from include/asm-i386/atomic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/atomic_64.h (renamed from include/asm-x86_64/atomic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/auxvec.h | 13 | ||||
-rw-r--r-- | include/asm-x86/auxvec_32.h (renamed from include/asm-i386/auxvec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/auxvec_64.h (renamed from include/asm-x86_64/auxvec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bitops.h | 5 | ||||
-rw-r--r-- | include/asm-x86/bitops_32.h (renamed from include/asm-i386/bitops.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bitops_64.h (renamed from include/asm-x86_64/bitops.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/boot.h (renamed from include/asm-i386/boot.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bootparam.h (renamed from include/asm-i386/bootparam.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bootsetup.h (renamed from include/asm-x86_64/bootsetup.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bug.h | 5 | ||||
-rw-r--r-- | include/asm-x86/bug_32.h (renamed from include/asm-i386/bug.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bug_64.h (renamed from include/asm-x86_64/bug.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bugs.h | 5 | ||||
-rw-r--r-- | include/asm-x86/bugs_32.h (renamed from include/asm-i386/bugs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/bugs_64.h (renamed from include/asm-x86_64/bugs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/byteorder.h | 13 | ||||
-rw-r--r-- | include/asm-x86/byteorder_32.h (renamed from include/asm-i386/byteorder.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/byteorder_64.h (renamed from include/asm-x86_64/byteorder.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cache.h | 5 | ||||
-rw-r--r-- | include/asm-x86/cache_32.h (renamed from include/asm-i386/cache.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cache_64.h (renamed from include/asm-x86_64/cache.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cacheflush.h | 5 | ||||
-rw-r--r-- | include/asm-x86/cacheflush_32.h (renamed from include/asm-i386/cacheflush.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cacheflush_64.h (renamed from include/asm-x86_64/cacheflush.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/calgary.h (renamed from include/asm-x86_64/calgary.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/calling.h (renamed from include/asm-x86_64/calling.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/checksum.h | 5 | ||||
-rw-r--r-- | include/asm-x86/checksum_32.h (renamed from include/asm-i386/checksum.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/checksum_64.h (renamed from include/asm-x86_64/checksum.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cmpxchg.h | 5 | ||||
-rw-r--r-- | include/asm-x86/cmpxchg_32.h (renamed from include/asm-i386/cmpxchg.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cmpxchg_64.h (renamed from include/asm-x86_64/cmpxchg.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/compat.h (renamed from include/asm-x86_64/compat.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cpu.h (renamed from include/asm-i386/cpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cpufeature.h | 5 | ||||
-rw-r--r-- | include/asm-x86/cpufeature_32.h (renamed from include/asm-i386/cpufeature.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cpufeature_64.h (renamed from include/asm-x86_64/cpufeature.h) | 4 | ||||
-rw-r--r-- | include/asm-x86/cputime.h | 5 | ||||
-rw-r--r-- | include/asm-x86/cputime_32.h (renamed from include/asm-i386/cputime.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/cputime_64.h (renamed from include/asm-x86_64/cputime.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/current.h | 5 | ||||
-rw-r--r-- | include/asm-x86/current_32.h (renamed from include/asm-i386/current.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/current_64.h (renamed from include/asm-x86_64/current.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/debugreg.h | 13 | ||||
-rw-r--r-- | include/asm-x86/debugreg_32.h (renamed from include/asm-i386/debugreg.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/debugreg_64.h (renamed from include/asm-x86_64/debugreg.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/delay.h | 5 | ||||
-rw-r--r-- | include/asm-x86/delay_32.h (renamed from include/asm-i386/delay.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/delay_64.h (renamed from include/asm-x86_64/delay.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/desc.h | 5 | ||||
-rw-r--r-- | include/asm-x86/desc_32.h (renamed from include/asm-i386/desc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/desc_64.h (renamed from include/asm-x86_64/desc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/desc_defs.h (renamed from include/asm-x86_64/desc_defs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/device.h | 5 | ||||
-rw-r--r-- | include/asm-x86/device_32.h (renamed from include/asm-i386/device.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/device_64.h (renamed from include/asm-x86_64/device.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/div64.h | 5 | ||||
-rw-r--r-- | include/asm-x86/div64_32.h (renamed from include/asm-i386/div64.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/div64_64.h (renamed from include/asm-x86_64/div64.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dma-mapping.h | 5 | ||||
-rw-r--r-- | include/asm-x86/dma-mapping_32.h (renamed from include/asm-i386/dma-mapping.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dma-mapping_64.h (renamed from include/asm-x86_64/dma-mapping.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dma.h | 5 | ||||
-rw-r--r-- | include/asm-x86/dma_32.h (renamed from include/asm-i386/dma.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dma_64.h (renamed from include/asm-x86_64/dma.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dmi.h | 5 | ||||
-rw-r--r-- | include/asm-x86/dmi_32.h (renamed from include/asm-i386/dmi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dmi_64.h (renamed from include/asm-x86_64/dmi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dwarf2.h | 5 | ||||
-rw-r--r-- | include/asm-x86/dwarf2_32.h (renamed from include/asm-i386/dwarf2.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/dwarf2_64.h (renamed from include/asm-x86_64/dwarf2.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/e820.h | 5 | ||||
-rw-r--r-- | include/asm-x86/e820_32.h (renamed from include/asm-i386/e820.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/e820_64.h (renamed from include/asm-x86_64/e820.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/edac.h | 5 | ||||
-rw-r--r-- | include/asm-x86/edac_32.h (renamed from include/asm-i386/edac.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/edac_64.h (renamed from include/asm-x86_64/edac.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/elf.h | 13 | ||||
-rw-r--r-- | include/asm-x86/elf_32.h (renamed from include/asm-i386/elf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/elf_64.h (renamed from include/asm-x86_64/elf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/emergency-restart.h (renamed from include/asm-i386/emergency-restart.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/errno.h | 13 | ||||
-rw-r--r-- | include/asm-x86/errno_32.h (renamed from include/asm-i386/errno.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/errno_64.h (renamed from include/asm-x86_64/errno.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fb.h | 5 | ||||
-rw-r--r-- | include/asm-x86/fb_32.h (renamed from include/asm-i386/fb.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fb_64.h (renamed from include/asm-x86_64/fb.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fcntl.h (renamed from include/asm-i386/fcntl.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fixmap.h | 5 | ||||
-rw-r--r-- | include/asm-x86/fixmap_32.h (renamed from include/asm-i386/fixmap.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fixmap_64.h (renamed from include/asm-x86_64/fixmap.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/floppy.h | 5 | ||||
-rw-r--r-- | include/asm-x86/floppy_32.h (renamed from include/asm-i386/floppy.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/floppy_64.h (renamed from include/asm-x86_64/floppy.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/fpu32.h (renamed from include/asm-x86_64/fpu32.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/frame.i (renamed from include/asm-i386/frame.i) | 0 | ||||
-rw-r--r-- | include/asm-x86/futex.h | 5 | ||||
-rw-r--r-- | include/asm-x86/futex_32.h (renamed from include/asm-i386/futex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/futex_64.h (renamed from include/asm-x86_64/futex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/genapic.h | 5 | ||||
-rw-r--r-- | include/asm-x86/genapic_32.h (renamed from include/asm-i386/genapic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/genapic_64.h (renamed from include/asm-x86_64/genapic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/geode.h (renamed from include/asm-i386/geode.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hardirq.h | 5 | ||||
-rw-r--r-- | include/asm-x86/hardirq_32.h (renamed from include/asm-i386/hardirq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hardirq_64.h (renamed from include/asm-x86_64/hardirq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/highmem.h (renamed from include/asm-i386/highmem.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hpet.h | 5 | ||||
-rw-r--r-- | include/asm-x86/hpet_32.h (renamed from include/asm-i386/hpet.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hpet_64.h (renamed from include/asm-x86_64/hpet.h) | 2 | ||||
-rw-r--r-- | include/asm-x86/hw_irq.h | 5 | ||||
-rw-r--r-- | include/asm-x86/hw_irq_32.h (renamed from include/asm-i386/hw_irq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hw_irq_64.h (renamed from include/asm-x86_64/hw_irq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/hypertransport.h (renamed from include/asm-i386/hypertransport.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/i387.h | 5 | ||||
-rw-r--r-- | include/asm-x86/i387_32.h (renamed from include/asm-i386/i387.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/i387_64.h (renamed from include/asm-x86_64/i387.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/i8253.h | 5 | ||||
-rw-r--r-- | include/asm-x86/i8253_32.h (renamed from include/asm-i386/i8253.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/i8253_64.h (renamed from include/asm-x86_64/i8253.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/i8259.h (renamed from include/asm-i386/i8259.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ia32.h (renamed from include/asm-x86_64/ia32.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ia32_unistd.h (renamed from include/asm-x86_64/ia32_unistd.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ide.h (renamed from include/asm-i386/ide.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/idle.h (renamed from include/asm-x86_64/idle.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/intel_arch_perfmon.h | 5 | ||||
-rw-r--r-- | include/asm-x86/intel_arch_perfmon_32.h (renamed from include/asm-i386/intel_arch_perfmon.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/intel_arch_perfmon_64.h (renamed from include/asm-x86_64/intel_arch_perfmon.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/io.h | 5 | ||||
-rw-r--r-- | include/asm-x86/io_32.h (renamed from include/asm-i386/io.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/io_64.h (renamed from include/asm-x86_64/io.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/io_apic.h | 5 | ||||
-rw-r--r-- | include/asm-x86/io_apic_32.h (renamed from include/asm-i386/io_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/io_apic_64.h (renamed from include/asm-x86_64/io_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ioctl.h (renamed from include/asm-i386/ioctl.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ioctls.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ioctls_32.h (renamed from include/asm-i386/ioctls.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ioctls_64.h (renamed from include/asm-x86_64/ioctls.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/iommu.h (renamed from include/asm-x86_64/iommu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ipc.h (renamed from include/asm-i386/ipc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ipcbuf.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ipcbuf_32.h (renamed from include/asm-i386/ipcbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ipcbuf_64.h (renamed from include/asm-x86_64/ipcbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ipi.h (renamed from include/asm-x86_64/ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irq.h | 5 | ||||
-rw-r--r-- | include/asm-x86/irq_32.h (renamed from include/asm-i386/irq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irq_64.h (renamed from include/asm-x86_64/irq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irq_regs.h | 5 | ||||
-rw-r--r-- | include/asm-x86/irq_regs_32.h (renamed from include/asm-i386/irq_regs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irq_regs_64.h (renamed from include/asm-x86_64/irq_regs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irqflags.h | 5 | ||||
-rw-r--r-- | include/asm-x86/irqflags_32.h (renamed from include/asm-i386/irqflags.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/irqflags_64.h (renamed from include/asm-x86_64/irqflags.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ist.h (renamed from include/asm-i386/ist.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/k8.h (renamed from include/asm-x86_64/k8.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kdebug.h | 5 | ||||
-rw-r--r-- | include/asm-x86/kdebug_32.h (renamed from include/asm-i386/kdebug.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kdebug_64.h (renamed from include/asm-x86_64/kdebug.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kexec.h | 5 | ||||
-rw-r--r-- | include/asm-x86/kexec_32.h (renamed from include/asm-i386/kexec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kexec_64.h (renamed from include/asm-x86_64/kexec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kmap_types.h | 5 | ||||
-rw-r--r-- | include/asm-x86/kmap_types_32.h (renamed from include/asm-i386/kmap_types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kmap_types_64.h (renamed from include/asm-x86_64/kmap_types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kprobes.h | 5 | ||||
-rw-r--r-- | include/asm-x86/kprobes_32.h (renamed from include/asm-i386/kprobes.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/kprobes_64.h (renamed from include/asm-x86_64/kprobes.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ldt.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ldt_32.h (renamed from include/asm-i386/ldt.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ldt_64.h (renamed from include/asm-x86_64/ldt.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/linkage.h | 5 | ||||
-rw-r--r-- | include/asm-x86/linkage_32.h (renamed from include/asm-i386/linkage.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/linkage_64.h (renamed from include/asm-x86_64/linkage.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/local.h | 5 | ||||
-rw-r--r-- | include/asm-x86/local_32.h (renamed from include/asm-i386/local.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/local_64.h (renamed from include/asm-x86_64/local.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-bigsmp/mach_apic.h (renamed from include/asm-i386/mach-bigsmp/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-bigsmp/mach_apicdef.h (renamed from include/asm-i386/mach-bigsmp/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-bigsmp/mach_ipi.h (renamed from include/asm-i386/mach-bigsmp/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-bigsmp/mach_mpspec.h (renamed from include/asm-i386/mach-bigsmp/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/apm.h (renamed from include/asm-i386/mach-default/apm.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/bios_ebda.h (renamed from include/asm-i386/mach-default/bios_ebda.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/do_timer.h (renamed from include/asm-i386/mach-default/do_timer.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/entry_arch.h (renamed from include/asm-i386/mach-default/entry_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/io_ports.h (renamed from include/asm-i386/mach-default/io_ports.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/irq_vectors.h (renamed from include/asm-i386/mach-default/irq_vectors.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/irq_vectors_limits.h (renamed from include/asm-i386/mach-default/irq_vectors_limits.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_apic.h (renamed from include/asm-i386/mach-default/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_apicdef.h (renamed from include/asm-i386/mach-default/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_ipi.h (renamed from include/asm-i386/mach-default/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_mpparse.h (renamed from include/asm-i386/mach-default/mach_mpparse.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_mpspec.h (renamed from include/asm-i386/mach-default/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_reboot.h (renamed from include/asm-i386/mach-default/mach_reboot.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_time.h (renamed from include/asm-i386/mach-default/mach_time.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_timer.h (renamed from include/asm-i386/mach-default/mach_timer.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_traps.h (renamed from include/asm-i386/mach-default/mach_traps.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/mach_wakecpu.h (renamed from include/asm-i386/mach-default/mach_wakecpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/pci-functions.h (renamed from include/asm-i386/mach-default/pci-functions.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/setup_arch.h (renamed from include/asm-i386/mach-default/setup_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-default/smpboot_hooks.h (renamed from include/asm-i386/mach-default/smpboot_hooks.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_apic.h (renamed from include/asm-i386/mach-es7000/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_apicdef.h (renamed from include/asm-i386/mach-es7000/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_ipi.h (renamed from include/asm-i386/mach-es7000/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_mpparse.h (renamed from include/asm-i386/mach-es7000/mach_mpparse.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_mpspec.h (renamed from include/asm-i386/mach-es7000/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_wakecpu.h (renamed from include/asm-i386/mach-es7000/mach_wakecpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/irq_vectors_limits.h (renamed from include/asm-i386/mach-generic/irq_vectors_limits.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/mach_apic.h (renamed from include/asm-i386/mach-generic/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/mach_apicdef.h (renamed from include/asm-i386/mach-generic/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/mach_ipi.h (renamed from include/asm-i386/mach-generic/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/mach_mpparse.h (renamed from include/asm-i386/mach-generic/mach_mpparse.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-generic/mach_mpspec.h (renamed from include/asm-i386/mach-generic/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_apic.h (renamed from include/asm-i386/mach-numaq/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_apicdef.h (renamed from include/asm-i386/mach-numaq/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_ipi.h (renamed from include/asm-i386/mach-numaq/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_mpparse.h (renamed from include/asm-i386/mach-numaq/mach_mpparse.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_mpspec.h (renamed from include/asm-i386/mach-numaq/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-numaq/mach_wakecpu.h (renamed from include/asm-i386/mach-numaq/mach_wakecpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/irq_vectors_limits.h (renamed from include/asm-i386/mach-summit/irq_vectors_limits.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_apic.h (renamed from include/asm-i386/mach-summit/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_apicdef.h (renamed from include/asm-i386/mach-summit/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_ipi.h (renamed from include/asm-i386/mach-summit/mach_ipi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_mpparse.h (renamed from include/asm-i386/mach-summit/mach_mpparse.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_mpspec.h (renamed from include/asm-i386/mach-summit/mach_mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/cobalt.h (renamed from include/asm-i386/mach-visws/cobalt.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/entry_arch.h (renamed from include/asm-i386/mach-visws/entry_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/irq_vectors.h (renamed from include/asm-i386/mach-visws/irq_vectors.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/lithium.h (renamed from include/asm-i386/mach-visws/lithium.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/mach_apic.h (renamed from include/asm-i386/mach-visws/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/mach_apicdef.h (renamed from include/asm-i386/mach-visws/mach_apicdef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/piix4.h (renamed from include/asm-i386/mach-visws/piix4.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/setup_arch.h (renamed from include/asm-i386/mach-visws/setup_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-visws/smpboot_hooks.h (renamed from include/asm-i386/mach-visws/smpboot_hooks.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-voyager/do_timer.h (renamed from include/asm-i386/mach-voyager/do_timer.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-voyager/entry_arch.h (renamed from include/asm-i386/mach-voyager/entry_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-voyager/irq_vectors.h (renamed from include/asm-i386/mach-voyager/irq_vectors.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach-voyager/setup_arch.h (renamed from include/asm-i386/mach-voyager/setup_arch.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mach_apic.h (renamed from include/asm-x86_64/mach_apic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/math_emu.h (renamed from include/asm-i386/math_emu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mc146818rtc.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mc146818rtc_32.h (renamed from include/asm-i386/mc146818rtc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mc146818rtc_64.h (renamed from include/asm-x86_64/mc146818rtc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mca.h (renamed from include/asm-i386/mca.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mca_dma.h (renamed from include/asm-i386/mca_dma.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mce.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mce_32.h (renamed from include/asm-i386/mce.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mce_64.h (renamed from include/asm-x86_64/mce.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mman.h | 13 | ||||
-rw-r--r-- | include/asm-x86/mman_32.h (renamed from include/asm-i386/mman.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mman_64.h (renamed from include/asm-x86_64/mman.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmsegment.h (renamed from include/asm-x86_64/mmsegment.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmu.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mmu_32.h (renamed from include/asm-i386/mmu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmu_64.h (renamed from include/asm-x86_64/mmu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmu_context.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mmu_context_32.h (renamed from include/asm-i386/mmu_context.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmu_context_64.h (renamed from include/asm-x86_64/mmu_context.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmx.h (renamed from include/asm-i386/mmx.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmzone.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mmzone_32.h (renamed from include/asm-i386/mmzone.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mmzone_64.h (renamed from include/asm-x86_64/mmzone.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/module.h | 5 | ||||
-rw-r--r-- | include/asm-x86/module_32.h (renamed from include/asm-i386/module.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/module_64.h (renamed from include/asm-x86_64/module.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mpspec.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mpspec_32.h (renamed from include/asm-i386/mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mpspec_64.h (renamed from include/asm-x86_64/mpspec.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mpspec_def.h (renamed from include/asm-i386/mpspec_def.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msgbuf.h | 13 | ||||
-rw-r--r-- | include/asm-x86/msgbuf_32.h (renamed from include/asm-i386/msgbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msgbuf_64.h (renamed from include/asm-x86_64/msgbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msidef.h (renamed from include/asm-i386/msidef.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msr-index.h (renamed from include/asm-i386/msr-index.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msr.h | 13 | ||||
-rw-r--r-- | include/asm-x86/msr_32.h (renamed from include/asm-i386/msr.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/msr_64.h (renamed from include/asm-x86_64/msr.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mtrr.h | 13 | ||||
-rw-r--r-- | include/asm-x86/mtrr_32.h (renamed from include/asm-i386/mtrr.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mtrr_64.h (renamed from include/asm-x86_64/mtrr.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mutex.h | 5 | ||||
-rw-r--r-- | include/asm-x86/mutex_32.h (renamed from include/asm-i386/mutex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/mutex_64.h (renamed from include/asm-x86_64/mutex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/namei.h | 5 | ||||
-rw-r--r-- | include/asm-x86/namei_32.h (renamed from include/asm-i386/namei.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/namei_64.h (renamed from include/asm-x86_64/namei.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/nmi.h | 5 | ||||
-rw-r--r-- | include/asm-x86/nmi_32.h (renamed from include/asm-i386/nmi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/nmi_64.h (renamed from include/asm-x86_64/nmi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/numa.h | 5 | ||||
-rw-r--r-- | include/asm-x86/numa_32.h (renamed from include/asm-i386/numa.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/numa_64.h (renamed from include/asm-x86_64/numa.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/numaq.h (renamed from include/asm-i386/numaq.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/page.h | 13 | ||||
-rw-r--r-- | include/asm-x86/page_32.h (renamed from include/asm-i386/page.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/page_64.h (renamed from include/asm-x86_64/page.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/param.h | 13 | ||||
-rw-r--r-- | include/asm-x86/param_32.h (renamed from include/asm-i386/param.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/param_64.h (renamed from include/asm-x86_64/param.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/paravirt.h (renamed from include/asm-i386/paravirt.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/parport.h | 5 | ||||
-rw-r--r-- | include/asm-x86/parport_32.h (renamed from include/asm-i386/parport.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/parport_64.h (renamed from include/asm-x86_64/parport.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pci-direct.h (renamed from include/asm-x86_64/pci-direct.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pci.h | 5 | ||||
-rw-r--r-- | include/asm-x86/pci_32.h (renamed from include/asm-i386/pci.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pci_64.h (renamed from include/asm-x86_64/pci.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pda.h (renamed from include/asm-x86_64/pda.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/percpu.h | 5 | ||||
-rw-r--r-- | include/asm-x86/percpu_32.h (renamed from include/asm-i386/percpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/percpu_64.h (renamed from include/asm-x86_64/percpu.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgalloc.h | 5 | ||||
-rw-r--r-- | include/asm-x86/pgalloc_32.h (renamed from include/asm-i386/pgalloc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgalloc_64.h (renamed from include/asm-x86_64/pgalloc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable-2level-defs.h (renamed from include/asm-i386/pgtable-2level-defs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable-2level.h (renamed from include/asm-i386/pgtable-2level.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable-3level-defs.h (renamed from include/asm-i386/pgtable-3level-defs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable-3level.h (renamed from include/asm-i386/pgtable-3level.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable.h | 5 | ||||
-rw-r--r-- | include/asm-x86/pgtable_32.h (renamed from include/asm-i386/pgtable.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/pgtable_64.h (renamed from include/asm-x86_64/pgtable.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/poll.h (renamed from include/asm-i386/poll.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/posix_types.h | 13 | ||||
-rw-r--r-- | include/asm-x86/posix_types_32.h (renamed from include/asm-i386/posix_types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/posix_types_64.h (renamed from include/asm-x86_64/posix_types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/prctl.h (renamed from include/asm-x86_64/prctl.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/processor-cyrix.h (renamed from include/asm-i386/processor-cyrix.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/processor-flags.h (renamed from include/asm-i386/processor-flags.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/processor.h | 5 | ||||
-rw-r--r-- | include/asm-x86/processor_32.h (renamed from include/asm-i386/processor.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/processor_64.h (renamed from include/asm-x86_64/processor.h) | 2 | ||||
-rw-r--r-- | include/asm-x86/proto.h (renamed from include/asm-x86_64/proto.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ptrace-abi.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ptrace-abi_32.h (renamed from include/asm-i386/ptrace-abi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ptrace-abi_64.h (renamed from include/asm-x86_64/ptrace-abi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ptrace.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ptrace_32.h (renamed from include/asm-i386/ptrace.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ptrace_64.h (renamed from include/asm-x86_64/ptrace.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/reboot.h (renamed from include/asm-i386/reboot.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/reboot_fixups.h (renamed from include/asm-i386/reboot_fixups.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/required-features.h | 5 | ||||
-rw-r--r-- | include/asm-x86/required-features_32.h (renamed from include/asm-i386/required-features.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/required-features_64.h (renamed from include/asm-x86_64/required-features.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/resource.h | 13 | ||||
-rw-r--r-- | include/asm-x86/resource_32.h (renamed from include/asm-i386/resource.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/resource_64.h (renamed from include/asm-x86_64/resource.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/resume-trace.h | 5 | ||||
-rw-r--r-- | include/asm-x86/resume-trace_32.h (renamed from include/asm-i386/resume-trace.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/resume-trace_64.h (renamed from include/asm-x86_64/resume-trace.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rio.h (renamed from include/asm-x86_64/rio.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rtc.h | 5 | ||||
-rw-r--r-- | include/asm-x86/rtc_32.h (renamed from include/asm-i386/rtc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rtc_64.h (renamed from include/asm-x86_64/rtc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rwlock.h | 5 | ||||
-rw-r--r-- | include/asm-x86/rwlock_32.h (renamed from include/asm-i386/rwlock.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rwlock_64.h (renamed from include/asm-x86_64/rwlock.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/rwsem.h (renamed from include/asm-i386/rwsem.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/scatterlist.h | 5 | ||||
-rw-r--r-- | include/asm-x86/scatterlist_32.h (renamed from include/asm-i386/scatterlist.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/scatterlist_64.h (renamed from include/asm-x86_64/scatterlist.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/seccomp.h | 5 | ||||
-rw-r--r-- | include/asm-x86/seccomp_32.h (renamed from include/asm-i386/seccomp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/seccomp_64.h (renamed from include/asm-x86_64/seccomp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sections.h | 5 | ||||
-rw-r--r-- | include/asm-x86/sections_32.h (renamed from include/asm-i386/sections.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sections_64.h (renamed from include/asm-x86_64/sections.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/segment.h | 5 | ||||
-rw-r--r-- | include/asm-x86/segment_32.h (renamed from include/asm-i386/segment.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/segment_64.h (renamed from include/asm-x86_64/segment.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/semaphore.h | 5 | ||||
-rw-r--r-- | include/asm-x86/semaphore_32.h (renamed from include/asm-i386/semaphore.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/semaphore_64.h (renamed from include/asm-x86_64/semaphore.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sembuf.h | 13 | ||||
-rw-r--r-- | include/asm-x86/sembuf_32.h (renamed from include/asm-i386/sembuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sembuf_64.h (renamed from include/asm-x86_64/sembuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/serial.h | 5 | ||||
-rw-r--r-- | include/asm-x86/serial_32.h (renamed from include/asm-i386/serial.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/serial_64.h (renamed from include/asm-x86_64/serial.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/setup.h | 13 | ||||
-rw-r--r-- | include/asm-x86/setup_32.h (renamed from include/asm-i386/setup.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/setup_64.h (renamed from include/asm-x86_64/setup.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/shmbuf.h | 13 | ||||
-rw-r--r-- | include/asm-x86/shmbuf_32.h (renamed from include/asm-i386/shmbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/shmbuf_64.h (renamed from include/asm-x86_64/shmbuf.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/shmparam.h | 13 | ||||
-rw-r--r-- | include/asm-x86/shmparam_32.h (renamed from include/asm-i386/shmparam.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/shmparam_64.h (renamed from include/asm-x86_64/shmparam.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sigcontext.h | 13 | ||||
-rw-r--r-- | include/asm-x86/sigcontext32.h (renamed from include/asm-x86_64/sigcontext32.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sigcontext_32.h (renamed from include/asm-i386/sigcontext.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sigcontext_64.h (renamed from include/asm-x86_64/sigcontext.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/siginfo.h | 13 | ||||
-rw-r--r-- | include/asm-x86/siginfo_32.h (renamed from include/asm-i386/siginfo.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/siginfo_64.h (renamed from include/asm-x86_64/siginfo.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/signal.h | 13 | ||||
-rw-r--r-- | include/asm-x86/signal_32.h (renamed from include/asm-i386/signal.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/signal_64.h (renamed from include/asm-x86_64/signal.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/smp.h | 5 | ||||
-rw-r--r-- | include/asm-x86/smp_32.h (renamed from include/asm-i386/smp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/smp_64.h (renamed from include/asm-x86_64/smp.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/socket.h (renamed from include/asm-i386/socket.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sockios.h | 13 | ||||
-rw-r--r-- | include/asm-x86/sockios_32.h (renamed from include/asm-i386/sockios.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sockios_64.h (renamed from include/asm-x86_64/sockios.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sparsemem.h | 5 | ||||
-rw-r--r-- | include/asm-x86/sparsemem_32.h (renamed from include/asm-i386/sparsemem.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sparsemem_64.h (renamed from include/asm-x86_64/sparsemem.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/spinlock.h | 5 | ||||
-rw-r--r-- | include/asm-x86/spinlock_32.h (renamed from include/asm-i386/spinlock.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/spinlock_64.h (renamed from include/asm-x86_64/spinlock.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/spinlock_types.h (renamed from include/asm-i386/spinlock_types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/srat.h (renamed from include/asm-i386/srat.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/stacktrace.h (renamed from include/asm-x86_64/stacktrace.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/stat.h | 13 | ||||
-rw-r--r-- | include/asm-x86/stat_32.h (renamed from include/asm-i386/stat.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/stat_64.h (renamed from include/asm-x86_64/stat.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/statfs.h | 13 | ||||
-rw-r--r-- | include/asm-x86/statfs_32.h (renamed from include/asm-i386/statfs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/statfs_64.h (renamed from include/asm-x86_64/statfs.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/string.h | 5 | ||||
-rw-r--r-- | include/asm-x86/string_32.h (renamed from include/asm-i386/string.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/string_64.h (renamed from include/asm-x86_64/string.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/suspend.h | 5 | ||||
-rw-r--r-- | include/asm-x86/suspend_32.h (renamed from include/asm-i386/suspend.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/suspend_64.h (renamed from include/asm-x86_64/suspend.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/swiotlb.h (renamed from include/asm-x86_64/swiotlb.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/sync_bitops.h (renamed from include/asm-i386/sync_bitops.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/system.h | 5 | ||||
-rw-r--r-- | include/asm-x86/system_32.h (renamed from include/asm-i386/system.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/system_64.h (renamed from include/asm-x86_64/system.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tce.h (renamed from include/asm-x86_64/tce.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/termbits.h | 13 | ||||
-rw-r--r-- | include/asm-x86/termbits_32.h (renamed from include/asm-i386/termbits.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/termbits_64.h (renamed from include/asm-x86_64/termbits.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/termios.h | 13 | ||||
-rw-r--r-- | include/asm-x86/termios_32.h (renamed from include/asm-i386/termios.h) | 1 | ||||
-rw-r--r-- | include/asm-x86/termios_64.h (renamed from include/asm-x86_64/termios.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/therm_throt.h (renamed from include/asm-i386/therm_throt.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/thread_info.h | 5 | ||||
-rw-r--r-- | include/asm-x86/thread_info_32.h (renamed from include/asm-i386/thread_info.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/thread_info_64.h (renamed from include/asm-x86_64/thread_info.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/time.h (renamed from include/asm-i386/time.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/timer.h (renamed from include/asm-i386/timer.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/timex.h | 5 | ||||
-rw-r--r-- | include/asm-x86/timex_32.h (renamed from include/asm-i386/timex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/timex_64.h (renamed from include/asm-x86_64/timex.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tlb.h | 5 | ||||
-rw-r--r-- | include/asm-x86/tlb_32.h (renamed from include/asm-i386/tlb.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tlb_64.h (renamed from include/asm-x86_64/tlb.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tlbflush.h | 5 | ||||
-rw-r--r-- | include/asm-x86/tlbflush_32.h (renamed from include/asm-i386/tlbflush.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tlbflush_64.h (renamed from include/asm-x86_64/tlbflush.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/topology.h | 5 | ||||
-rw-r--r-- | include/asm-x86/topology_32.h (renamed from include/asm-i386/topology.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/topology_64.h (renamed from include/asm-x86_64/topology.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/tsc.h (renamed from include/asm-i386/tsc.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/types.h | 13 | ||||
-rw-r--r-- | include/asm-x86/types_32.h (renamed from include/asm-i386/types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/types_64.h (renamed from include/asm-x86_64/types.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/uaccess.h | 5 | ||||
-rw-r--r-- | include/asm-x86/uaccess_32.h (renamed from include/asm-i386/uaccess.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/uaccess_64.h (renamed from include/asm-x86_64/uaccess.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ucontext.h | 13 | ||||
-rw-r--r-- | include/asm-x86/ucontext_32.h (renamed from include/asm-i386/ucontext.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/ucontext_64.h (renamed from include/asm-x86_64/ucontext.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unaligned.h | 5 | ||||
-rw-r--r-- | include/asm-x86/unaligned_32.h (renamed from include/asm-i386/unaligned.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unaligned_64.h (renamed from include/asm-x86_64/unaligned.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unistd.h | 13 | ||||
-rw-r--r-- | include/asm-x86/unistd_32.h (renamed from include/asm-i386/unistd.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unistd_64.h (renamed from include/asm-x86_64/unistd.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unwind.h | 5 | ||||
-rw-r--r-- | include/asm-x86/unwind_32.h (renamed from include/asm-i386/unwind.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/unwind_64.h (renamed from include/asm-x86_64/unwind.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/user.h | 13 | ||||
-rw-r--r-- | include/asm-x86/user32.h (renamed from include/asm-x86_64/user32.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/user_32.h (renamed from include/asm-i386/user.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/user_64.h (renamed from include/asm-x86_64/user.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vga.h (renamed from include/asm-i386/vga.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vgtod.h (renamed from include/asm-x86_64/vgtod.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vic.h (renamed from include/asm-i386/vic.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vm86.h (renamed from include/asm-i386/vm86.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vmi.h (renamed from include/asm-i386/vmi.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vmi_time.h (renamed from include/asm-i386/vmi_time.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/voyager.h (renamed from include/asm-i386/voyager.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vsyscall.h (renamed from include/asm-x86_64/vsyscall.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/vsyscall32.h (renamed from include/asm-x86_64/vsyscall32.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/xen/hypercall.h (renamed from include/asm-i386/xen/hypercall.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/xen/hypervisor.h (renamed from include/asm-i386/xen/hypervisor.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/xen/interface.h (renamed from include/asm-i386/xen/interface.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/xor.h | 5 | ||||
-rw-r--r-- | include/asm-x86/xor_32.h (renamed from include/asm-i386/xor.h) | 0 | ||||
-rw-r--r-- | include/asm-x86/xor_64.h (renamed from include/asm-x86_64/xor.h) | 0 | ||||
-rw-r--r-- | include/asm-x86_64/Kbuild | 21 | ||||
-rw-r--r-- | include/asm-x86_64/boot.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/bootparam.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/cpu.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/emergency-restart.h | 6 | ||||
-rw-r--r-- | include/asm-x86_64/fcntl.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/hypertransport.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/ide.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/ioctl.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/ist.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/msidef.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/msr-index.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/node.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/poll.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/processor-flags.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/socket.h | 55 | ||||
-rw-r--r-- | include/asm-x86_64/spinlock_types.h | 20 | ||||
-rw-r--r-- | include/asm-x86_64/therm_throt.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/tsc.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/vga.h | 20 | ||||
-rw-r--r-- | include/crypto/algapi.h | 73 | ||||
-rw-r--r-- | include/crypto/gf128mul.h | 2 | ||||
-rw-r--r-- | include/crypto/sha.h | 53 | ||||
-rw-r--r-- | include/linux/arcdevice.h | 4 | ||||
-rw-r--r-- | include/linux/audit.h | 9 | ||||
-rw-r--r-- | include/linux/backlight.h | 9 | ||||
-rw-r--r-- | include/linux/bio.h | 6 | ||||
-rw-r--r-- | include/linux/blkdev.h | 25 | ||||
-rw-r--r-- | include/linux/blktrace_api.h | 12 | ||||
-rw-r--r-- | include/linux/connector.h | 2 | ||||
-rw-r--r-- | include/linux/crypto.h | 214 | ||||
-rw-r--r-- | include/linux/dccp.h | 22 | ||||
-rw-r--r-- | include/linux/dmi.h | 22 | ||||
-rw-r--r-- | include/linux/eeprom_93cx6.h | 3 | ||||
-rw-r--r-- | include/linux/etherdevice.h | 20 | ||||
-rw-r--r-- | include/linux/ethtool.h | 36 | ||||
-rw-r--r-- | include/linux/fs_enet_pd.h | 6 | ||||
-rw-r--r-- | include/linux/i2c-id.h | 2 | ||||
-rw-r--r-- | include/linux/ide.h | 34 | ||||
-rw-r--r-- | include/linux/ieee80211.h | 61 | ||||
-rw-r--r-- | include/linux/if_arcnet.h | 2 | ||||
-rw-r--r-- | include/linux/if_bridge.h | 2 | ||||
-rw-r--r-- | include/linux/if_eql.h | 1 | ||||
-rw-r--r-- | include/linux/if_ether.h | 10 | ||||
-rw-r--r-- | include/linux/if_link.h | 1 | ||||
-rw-r--r-- | include/linux/if_pppox.h | 14 | ||||
-rw-r--r-- | include/linux/if_shaper.h | 12 | ||||
-rw-r--r-- | include/linux/if_tun.h | 1 | ||||
-rw-r--r-- | include/linux/if_vlan.h | 2 | ||||
-rw-r--r-- | include/linux/inet_lro.h | 177 | ||||
-rw-r--r-- | include/linux/init.h | 1 | ||||
-rw-r--r-- | include/linux/init_task.h | 2 | ||||
-rw-r--r-- | include/linux/input.h | 1 | ||||
-rw-r--r-- | include/linux/ipv6.h | 21 | ||||
-rw-r--r-- | include/linux/isdn.h | 9 | ||||
-rw-r--r-- | include/linux/ivtv.h (renamed from include/media/ivtv.h) | 11 | ||||
-rw-r--r-- | include/linux/ivtvfb.h | 42 | ||||
-rw-r--r-- | include/linux/ktime.h | 21 | ||||
-rw-r--r-- | include/linux/list.h | 14 | ||||
-rw-r--r-- | include/linux/mdio-bitbang.h | 42 | ||||
-rw-r--r-- | include/linux/mlx4/device.h | 27 | ||||
-rw-r--r-- | include/linux/mmc/card.h | 32 | ||||
-rw-r--r-- | include/linux/mmc/core.h | 63 | ||||
-rw-r--r-- | include/linux/mmc/host.h | 39 | ||||
-rw-r--r-- | include/linux/mmc/mmc.h | 39 | ||||
-rw-r--r-- | include/linux/mmc/sdio.h | 159 | ||||
-rw-r--r-- | include/linux/mmc/sdio_func.h | 153 | ||||
-rw-r--r-- | include/linux/mmc/sdio_ids.h | 23 | ||||
-rw-r--r-- | include/linux/mod_devicetable.h | 26 | ||||
-rw-r--r-- | include/linux/net.h | 3 | ||||
-rw-r--r-- | include/linux/netdevice.h | 500 | ||||
-rw-r--r-- | include/linux/netfilter/Kbuild | 1 | ||||
-rw-r--r-- | include/linux/netfilter/nfnetlink.h | 98 | ||||
-rw-r--r-- | include/linux/netfilter/nfnetlink_compat.h | 61 | ||||
-rw-r--r-- | include/linux/netfilter/nfnetlink_conntrack.h | 1 | ||||
-rw-r--r-- | include/linux/netfilter/xt_time.h | 25 | ||||
-rw-r--r-- | include/linux/netlink.h | 24 | ||||
-rw-r--r-- | include/linux/netpoll.h | 56 | ||||
-rw-r--r-- | include/linux/nl80211.h | 97 | ||||
-rw-r--r-- | include/linux/nsproxy.h | 1 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 18 | ||||
-rw-r--r-- | include/linux/pci_regs.h | 13 | ||||
-rw-r--r-- | include/linux/phy.h | 3 | ||||
-rw-r--r-- | include/linux/phy_fixed.h | 38 | ||||
-rw-r--r-- | include/linux/pkt_sched.h | 4 | ||||
-rw-r--r-- | include/linux/proc_fs.h | 41 | ||||
-rw-r--r-- | include/linux/rfkill.h | 40 | ||||
-rw-r--r-- | include/linux/rtnetlink.h | 29 | ||||
-rw-r--r-- | include/linux/sched.h | 3 | ||||
-rw-r--r-- | include/linux/sctp.h | 109 | ||||
-rw-r--r-- | include/linux/seq_file.h | 2 | ||||
-rw-r--r-- | include/linux/snmp.h | 33 | ||||
-rw-r--r-- | include/linux/spi/mmc_spi.h | 33 | ||||
-rw-r--r-- | include/linux/ssb/ssb.h | 424 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_chipcommon.h | 396 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_extif.h | 204 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_mips.h | 46 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_pci.h | 106 | ||||
-rw-r--r-- | include/linux/ssb/ssb_regs.h | 292 | ||||
-rw-r--r-- | include/linux/swap.h | 2 | ||||
-rw-r--r-- | include/linux/tc_act/tc_nat.h | 29 | ||||
-rw-r--r-- | include/linux/tcp.h | 10 | ||||
-rw-r--r-- | include/linux/umem.h | 138 | ||||
-rw-r--r-- | include/linux/videodev2.h | 7 | ||||
-rw-r--r-- | include/linux/writeback.h | 3 | ||||
-rw-r--r-- | include/linux/zlib.h | 6 | ||||
-rw-r--r-- | include/media/cx2341x.h | 2 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 | ||||
-rw-r--r-- | include/media/saa7146.h | 1 | ||||
-rw-r--r-- | include/media/saa7146_vv.h | 2 | ||||
-rw-r--r-- | include/media/tuner-types.h | 4 | ||||
-rw-r--r-- | include/media/tuner.h | 1 | ||||
-rw-r--r-- | include/media/v4l2-chip-ident.h | 3 | ||||
-rw-r--r-- | include/media/v4l2-dev.h | 16 | ||||
-rw-r--r-- | include/media/v4l2-int-device.h | 278 | ||||
-rw-r--r-- | include/media/videobuf-core.h (renamed from include/media/video-buf.h) | 181 | ||||
-rw-r--r-- | include/media/videobuf-dma-sg.h | 122 | ||||
-rw-r--r-- | include/media/videobuf-dvb.h (renamed from include/media/video-buf-dvb.h) | 0 | ||||
-rw-r--r-- | include/media/videobuf-vmalloc.h | 41 | ||||
-rw-r--r-- | include/net/9p/9p.h | 12 | ||||
-rw-r--r-- | include/net/ah.h | 9 | ||||
-rw-r--r-- | include/net/ax25.h | 5 | ||||
-rw-r--r-- | include/net/ax88796.h | 1 | ||||
-rw-r--r-- | include/net/cfg80211.h | 11 | ||||
-rw-r--r-- | include/net/dn_route.h | 3 | ||||
-rw-r--r-- | include/net/esp.h | 14 | ||||
-rw-r--r-- | include/net/fib_rules.h | 2 | ||||
-rw-r--r-- | include/net/icmp.h | 8 | ||||
-rw-r--r-- | include/net/ieee80211.h | 5 | ||||
-rw-r--r-- | include/net/ieee80211_radiotap.h | 10 | ||||
-rw-r--r-- | include/net/ieee80211softmac.h | 2 | ||||
-rw-r--r-- | include/net/if_inet6.h | 1 | ||||
-rw-r--r-- | include/net/inet_hashtables.h | 2 | ||||
-rw-r--r-- | include/net/inet_timewait_sock.h | 1 | ||||
-rw-r--r-- | include/net/ip.h | 3 | ||||
-rw-r--r-- | include/net/ip6_fib.h | 4 | ||||
-rw-r--r-- | include/net/ipcomp.h | 11 | ||||
-rw-r--r-- | include/net/ipv6.h | 73 | ||||
-rw-r--r-- | include/net/iucv/af_iucv.h | 28 | ||||
-rw-r--r-- | include/net/iw_handler.h | 8 | ||||
-rw-r--r-- | include/net/llc_conn.h | 2 | ||||
-rw-r--r-- | include/net/mac80211.h | 1342 | ||||
-rw-r--r-- | include/net/ndisc.h | 1 | ||||
-rw-r--r-- | include/net/net_namespace.h | 123 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack.h | 3 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_expect.h | 3 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_helper.h | 2 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_l3proto.h | 9 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_l4proto.h | 17 | ||||
-rw-r--r-- | include/net/netfilter/nf_nat_protocol.h | 8 | ||||
-rw-r--r-- | include/net/netlink.h | 25 | ||||
-rw-r--r-- | include/net/pkt_cls.h | 3 | ||||
-rw-r--r-- | include/net/pkt_sched.h | 5 | ||||
-rw-r--r-- | include/net/rose.h | 2 | ||||
-rw-r--r-- | include/net/rtnetlink.h | 4 | ||||
-rw-r--r-- | include/net/sch_generic.h | 14 | ||||
-rw-r--r-- | include/net/sctp/auth.h | 128 | ||||
-rw-r--r-- | include/net/sctp/command.h | 1 | ||||
-rw-r--r-- | include/net/sctp/constants.h | 53 | ||||
-rw-r--r-- | include/net/sctp/sctp.h | 6 | ||||
-rw-r--r-- | include/net/sctp/sm.h | 2 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 87 | ||||
-rw-r--r-- | include/net/sctp/ulpevent.h | 4 | ||||
-rw-r--r-- | include/net/sctp/user.h | 90 | ||||
-rw-r--r-- | include/net/snmp.h | 11 | ||||
-rw-r--r-- | include/net/sock.h | 39 | ||||
-rw-r--r-- | include/net/tc_act/tc_nat.h | 21 | ||||
-rw-r--r-- | include/net/tcp.h | 90 | ||||
-rw-r--r-- | include/net/tcp_ecn.h | 130 | ||||
-rw-r--r-- | include/net/veth.h | 12 | ||||
-rw-r--r-- | include/net/wext.h | 15 | ||||
-rw-r--r-- | include/net/xfrm.h | 82 | ||||
-rw-r--r-- | include/rdma/ib_cm.h | 7 | ||||
-rw-r--r-- | include/rdma/ib_sa.h | 11 | ||||
-rw-r--r-- | include/rdma/ib_umem.h | 1 | ||||
-rw-r--r-- | include/rdma/ib_user_mad.h | 70 | ||||
-rw-r--r-- | include/rdma/rdma_cm.h | 14 | ||||
-rw-r--r-- | include/rdma/rdma_user_cm.h | 18 |
938 files changed, 13735 insertions, 11409 deletions
diff --git a/include/asm-arm/arch-imx/mmc.h b/include/asm-arm/arch-imx/mmc.h index 84c726934ace..4712f354dcca 100644 --- a/include/asm-arm/arch-imx/mmc.h +++ b/include/asm-arm/arch-imx/mmc.h | |||
@@ -3,8 +3,11 @@ | |||
3 | 3 | ||
4 | #include <linux/mmc/host.h> | 4 | #include <linux/mmc/host.h> |
5 | 5 | ||
6 | struct device; | ||
7 | |||
6 | struct imxmmc_platform_data { | 8 | struct imxmmc_platform_data { |
7 | int (*card_present)(void); | 9 | int (*card_present)(struct device *); |
10 | int (*get_ro)(struct device *); | ||
8 | }; | 11 | }; |
9 | 12 | ||
10 | extern void imx_set_mmc_info(struct imxmmc_platform_data *info); | 13 | extern void imx_set_mmc_info(struct imxmmc_platform_data *info); |
diff --git a/include/asm-arm/arch-pxa/sharpsl.h b/include/asm-arm/arch-pxa/sharpsl.h index 94cb4982af82..2b0fe773213a 100644 --- a/include/asm-arm/arch-pxa/sharpsl.h +++ b/include/asm-arm/arch-pxa/sharpsl.h | |||
@@ -25,12 +25,6 @@ struct corgits_machinfo { | |||
25 | /* | 25 | /* |
26 | * SharpSL Backlight | 26 | * SharpSL Backlight |
27 | */ | 27 | */ |
28 | struct corgibl_machinfo { | ||
29 | int max_intensity; | ||
30 | int default_intensity; | ||
31 | int limit_mask; | ||
32 | void (*set_bl_intensity)(int intensity); | ||
33 | }; | ||
34 | extern void corgibl_limit_intensity(int limit); | 28 | extern void corgibl_limit_intensity(int limit); |
35 | 29 | ||
36 | 30 | ||
diff --git a/include/asm-avr32/arch-at32ap/board.h b/include/asm-avr32/arch-at32ap/board.h index 0215965dc586..7dbd603c38cc 100644 --- a/include/asm-avr32/arch-at32ap/board.h +++ b/include/asm-avr32/arch-at32ap/board.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | #include <linux/types.h> | 7 | #include <linux/types.h> |
8 | 8 | ||
9 | #define GPIO_PIN_NONE (-1) | ||
10 | |||
9 | /* Add basic devices: system manager, interrupt controller, portmuxes, etc. */ | 11 | /* Add basic devices: system manager, interrupt controller, portmuxes, etc. */ |
10 | void at32_add_system_devices(void); | 12 | void at32_add_system_devices(void); |
11 | 13 | ||
@@ -36,6 +38,12 @@ struct platform_device * | |||
36 | at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data, | 38 | at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data, |
37 | unsigned long fbmem_start, unsigned long fbmem_len); | 39 | unsigned long fbmem_start, unsigned long fbmem_len); |
38 | 40 | ||
41 | struct usba_platform_data { | ||
42 | int vbus_pin; | ||
43 | }; | ||
44 | struct platform_device * | ||
45 | at32_add_device_usba(unsigned int id, struct usba_platform_data *data); | ||
46 | |||
39 | /* depending on what's hooked up, not all SSC pins will be used */ | 47 | /* depending on what's hooked up, not all SSC pins will be used */ |
40 | #define ATMEL_SSC_TK 0x01 | 48 | #define ATMEL_SSC_TK 0x01 |
41 | #define ATMEL_SSC_TF 0x02 | 49 | #define ATMEL_SSC_TF 0x02 |
diff --git a/include/asm-avr32/arch-at32ap/portmux.h b/include/asm-avr32/arch-at32ap/portmux.h index 9930871decde..b1abe6b4e4ef 100644 --- a/include/asm-avr32/arch-at32ap/portmux.h +++ b/include/asm-avr32/arch-at32ap/portmux.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #define AT32_GPIOF_OUTPUT 0x00000002 /* (OUT) Enable output driver */ | 19 | #define AT32_GPIOF_OUTPUT 0x00000002 /* (OUT) Enable output driver */ |
20 | #define AT32_GPIOF_HIGH 0x00000004 /* (OUT) Set output high */ | 20 | #define AT32_GPIOF_HIGH 0x00000004 /* (OUT) Set output high */ |
21 | #define AT32_GPIOF_DEGLITCH 0x00000008 /* (IN) Filter glitches */ | 21 | #define AT32_GPIOF_DEGLITCH 0x00000008 /* (IN) Filter glitches */ |
22 | #define AT32_GPIOF_MULTIDRV 0x00000010 /* Enable multidriver option */ | ||
22 | 23 | ||
23 | void at32_select_periph(unsigned int pin, unsigned int periph, | 24 | void at32_select_periph(unsigned int pin, unsigned int periph, |
24 | unsigned long flags); | 25 | unsigned long flags); |
diff --git a/include/asm-avr32/arch-at32ap/smc.h b/include/asm-avr32/arch-at32ap/smc.h index 07152b7fd9c9..c98eea44a70a 100644 --- a/include/asm-avr32/arch-at32ap/smc.h +++ b/include/asm-avr32/arch-at32ap/smc.h | |||
@@ -15,22 +15,50 @@ | |||
15 | /* | 15 | /* |
16 | * All timing parameters are in nanoseconds. | 16 | * All timing parameters are in nanoseconds. |
17 | */ | 17 | */ |
18 | struct smc_timing { | ||
19 | /* Delay from address valid to assertion of given strobe */ | ||
20 | int ncs_read_setup; | ||
21 | int nrd_setup; | ||
22 | int ncs_write_setup; | ||
23 | int nwe_setup; | ||
24 | |||
25 | /* Pulse length of given strobe */ | ||
26 | int ncs_read_pulse; | ||
27 | int nrd_pulse; | ||
28 | int ncs_write_pulse; | ||
29 | int nwe_pulse; | ||
30 | |||
31 | /* Total cycle length of given operation */ | ||
32 | int read_cycle; | ||
33 | int write_cycle; | ||
34 | |||
35 | /* Minimal recovery times, will extend cycle if needed */ | ||
36 | int ncs_read_recover; | ||
37 | int nrd_recover; | ||
38 | int ncs_write_recover; | ||
39 | int nwe_recover; | ||
40 | }; | ||
41 | |||
42 | /* | ||
43 | * All timing parameters are in clock cycles. | ||
44 | */ | ||
18 | struct smc_config { | 45 | struct smc_config { |
46 | |||
19 | /* Delay from address valid to assertion of given strobe */ | 47 | /* Delay from address valid to assertion of given strobe */ |
20 | u16 ncs_read_setup; | 48 | u8 ncs_read_setup; |
21 | u16 nrd_setup; | 49 | u8 nrd_setup; |
22 | u16 ncs_write_setup; | 50 | u8 ncs_write_setup; |
23 | u16 nwe_setup; | 51 | u8 nwe_setup; |
24 | 52 | ||
25 | /* Pulse length of given strobe */ | 53 | /* Pulse length of given strobe */ |
26 | u16 ncs_read_pulse; | 54 | u8 ncs_read_pulse; |
27 | u16 nrd_pulse; | 55 | u8 nrd_pulse; |
28 | u16 ncs_write_pulse; | 56 | u8 ncs_write_pulse; |
29 | u16 nwe_pulse; | 57 | u8 nwe_pulse; |
30 | 58 | ||
31 | /* Total cycle length of given operation */ | 59 | /* Total cycle length of given operation */ |
32 | u16 read_cycle; | 60 | u8 read_cycle; |
33 | u16 write_cycle; | 61 | u8 write_cycle; |
34 | 62 | ||
35 | /* Bus width in bytes */ | 63 | /* Bus width in bytes */ |
36 | u8 bus_width; | 64 | u8 bus_width; |
@@ -76,6 +104,9 @@ struct smc_config { | |||
76 | unsigned int tdf_mode:1; | 104 | unsigned int tdf_mode:1; |
77 | }; | 105 | }; |
78 | 106 | ||
107 | extern void smc_set_timing(struct smc_config *config, | ||
108 | const struct smc_timing *timing); | ||
109 | |||
79 | extern int smc_set_configuration(int cs, const struct smc_config *config); | 110 | extern int smc_set_configuration(int cs, const struct smc_config *config); |
80 | extern struct smc_config *smc_get_configuration(int cs); | 111 | extern struct smc_config *smc_get_configuration(int cs); |
81 | 112 | ||
diff --git a/include/asm-avr32/dma-mapping.h b/include/asm-avr32/dma-mapping.h index 21bb60bbb9a1..81e342636ac4 100644 --- a/include/asm-avr32/dma-mapping.h +++ b/include/asm-avr32/dma-mapping.h | |||
@@ -264,7 +264,11 @@ static inline void | |||
264 | dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, | 264 | dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, |
265 | size_t size, enum dma_data_direction direction) | 265 | size_t size, enum dma_data_direction direction) |
266 | { | 266 | { |
267 | dma_cache_sync(dev, bus_to_virt(dma_handle), size, direction); | 267 | /* |
268 | * No need to do anything since the CPU isn't supposed to | ||
269 | * touch this memory after we flushed it at mapping- or | ||
270 | * sync-for-device time. | ||
271 | */ | ||
268 | } | 272 | } |
269 | 273 | ||
270 | static inline void | 274 | static inline void |
@@ -309,12 +313,11 @@ static inline void | |||
309 | dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, | 313 | dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, |
310 | int nents, enum dma_data_direction direction) | 314 | int nents, enum dma_data_direction direction) |
311 | { | 315 | { |
312 | int i; | 316 | /* |
313 | 317 | * No need to do anything since the CPU isn't supposed to | |
314 | for (i = 0; i < nents; i++) { | 318 | * touch this memory after we flushed it at mapping- or |
315 | dma_cache_sync(dev, page_address(sg[i].page) + sg[i].offset, | 319 | * sync-for-device time. |
316 | sg[i].length, direction); | 320 | */ |
317 | } | ||
318 | } | 321 | } |
319 | 322 | ||
320 | static inline void | 323 | static inline void |
diff --git a/include/asm-avr32/system.h b/include/asm-avr32/system.h index a8236bacc878..dc2d527cef41 100644 --- a/include/asm-avr32/system.h +++ b/include/asm-avr32/system.h | |||
@@ -73,11 +73,16 @@ extern struct task_struct *__switch_to(struct task_struct *, | |||
73 | 73 | ||
74 | extern void __xchg_called_with_bad_pointer(void); | 74 | extern void __xchg_called_with_bad_pointer(void); |
75 | 75 | ||
76 | #ifdef __CHECKER__ | 76 | static inline unsigned long xchg_u32(u32 val, volatile u32 *m) |
77 | extern unsigned long __builtin_xchg(void *ptr, unsigned long x); | 77 | { |
78 | #endif | 78 | u32 ret; |
79 | 79 | ||
80 | #define xchg_u32(val, m) __builtin_xchg((void *)m, val) | 80 | asm volatile("xchg %[ret], %[m], %[val]" |
81 | : [ret] "=&r"(ret), "=m"(*m) | ||
82 | : "m"(*m), [m] "r"(m), [val] "r"(val) | ||
83 | : "memory"); | ||
84 | return ret; | ||
85 | } | ||
81 | 86 | ||
82 | static inline unsigned long __xchg(unsigned long x, | 87 | static inline unsigned long __xchg(unsigned long x, |
83 | volatile void *ptr, | 88 | volatile void *ptr, |
diff --git a/include/asm-avr32/unistd.h b/include/asm-avr32/unistd.h index 3b4e35b55c82..de09009593f8 100644 --- a/include/asm-avr32/unistd.h +++ b/include/asm-avr32/unistd.h | |||
@@ -303,6 +303,19 @@ | |||
303 | #ifdef __KERNEL__ | 303 | #ifdef __KERNEL__ |
304 | #define NR_syscalls 282 | 304 | #define NR_syscalls 282 |
305 | 305 | ||
306 | /* Old stuff */ | ||
307 | #define __IGNORE_uselib | ||
308 | #define __IGNORE_mmap | ||
309 | |||
310 | /* NUMA stuff */ | ||
311 | #define __IGNORE_mbind | ||
312 | #define __IGNORE_get_mempolicy | ||
313 | #define __IGNORE_set_mempolicy | ||
314 | #define __IGNORE_migrate_pages | ||
315 | #define __IGNORE_move_pages | ||
316 | |||
317 | /* SMP stuff */ | ||
318 | #define __IGNORE_getcpu | ||
306 | 319 | ||
307 | #define __ARCH_WANT_IPC_PARSE_VERSION | 320 | #define __ARCH_WANT_IPC_PARSE_VERSION |
308 | #define __ARCH_WANT_STAT64 | 321 | #define __ARCH_WANT_STAT64 |
diff --git a/include/asm-blackfin/bfin5xx_spi.h b/include/asm-blackfin/bfin5xx_spi.h index 95c1c952e7c1..f617d8765451 100644 --- a/include/asm-blackfin/bfin5xx_spi.h +++ b/include/asm-blackfin/bfin5xx_spi.h | |||
@@ -21,8 +21,6 @@ | |||
21 | #ifndef _SPI_CHANNEL_H_ | 21 | #ifndef _SPI_CHANNEL_H_ |
22 | #define _SPI_CHANNEL_H_ | 22 | #define _SPI_CHANNEL_H_ |
23 | 23 | ||
24 | #define SPI0_REGBASE 0xffc00500 | ||
25 | |||
26 | #define SPI_READ 0 | 24 | #define SPI_READ 0 |
27 | #define SPI_WRITE 1 | 25 | #define SPI_WRITE 1 |
28 | 26 | ||
diff --git a/include/asm-blackfin/blackfin.h b/include/asm-blackfin/blackfin.h index 25b934b7f829..984b74f0a2ec 100644 --- a/include/asm-blackfin/blackfin.h +++ b/include/asm-blackfin/blackfin.h | |||
@@ -11,78 +11,57 @@ | |||
11 | #define HI(con32) (((con32) >> 16) & 0xFFFF) | 11 | #define HI(con32) (((con32) >> 16) & 0xFFFF) |
12 | #define hi(con32) (((con32) >> 16) & 0xFFFF) | 12 | #define hi(con32) (((con32) >> 16) & 0xFFFF) |
13 | 13 | ||
14 | #include <asm/mach/blackfin.h> | 14 | #include <asm/mach/anomaly.h> |
15 | #include <asm/bfin-global.h> | ||
16 | 15 | ||
17 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
18 | 17 | ||
19 | /* SSYNC implementation for C file */ | 18 | /* SSYNC implementation for C file */ |
20 | #if defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | 19 | static inline void SSYNC(void) |
21 | static inline void SSYNC (void) | ||
22 | { | ||
23 | int _tmp; | ||
24 | __asm__ __volatile__ ("cli %0;\n\t" | ||
25 | "nop;nop;\n\t" | ||
26 | "ssync;\n\t" | ||
27 | "sti %0;\n\t" | ||
28 | :"=d"(_tmp):); | ||
29 | } | ||
30 | #elif defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | ||
31 | static inline void SSYNC (void) | ||
32 | { | 20 | { |
33 | int _tmp; | 21 | int _tmp; |
34 | __asm__ __volatile__ ("cli %0;\n\t" | 22 | if (ANOMALY_05000312) |
35 | "ssync;\n\t" | 23 | __asm__ __volatile__( |
36 | "sti %0;\n\t" | 24 | "cli %0;" |
37 | :"=d"(_tmp):); | 25 | "nop;" |
26 | "nop;" | ||
27 | "ssync;" | ||
28 | "sti %0;" | ||
29 | : "=d" (_tmp) | ||
30 | ); | ||
31 | else if (ANOMALY_05000244) | ||
32 | __asm__ __volatile__( | ||
33 | "nop;" | ||
34 | "nop;" | ||
35 | "nop;" | ||
36 | "ssync;" | ||
37 | ); | ||
38 | else | ||
39 | __asm__ __volatile__("ssync;"); | ||
38 | } | 40 | } |
39 | #elif !defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | ||
40 | static inline void SSYNC (void) | ||
41 | { | ||
42 | __asm__ __volatile__ ("nop; nop; nop;\n\t" | ||
43 | "ssync;\n\t" | ||
44 | ::); | ||
45 | } | ||
46 | #elif !defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | ||
47 | static inline void SSYNC (void) | ||
48 | { | ||
49 | __asm__ __volatile__ ("ssync;\n\t"); | ||
50 | } | ||
51 | #endif | ||
52 | 41 | ||
53 | /* CSYNC implementation for C file */ | 42 | /* CSYNC implementation for C file */ |
54 | #if defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | 43 | static inline void CSYNC(void) |
55 | static inline void CSYNC (void) | ||
56 | { | ||
57 | int _tmp; | ||
58 | __asm__ __volatile__ ("cli %0;\n\t" | ||
59 | "nop;nop;\n\t" | ||
60 | "csync;\n\t" | ||
61 | "sti %0;\n\t" | ||
62 | :"=d"(_tmp):); | ||
63 | } | ||
64 | #elif defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | ||
65 | static inline void CSYNC (void) | ||
66 | { | 44 | { |
67 | int _tmp; | 45 | int _tmp; |
68 | __asm__ __volatile__ ("cli %0;\n\t" | 46 | if (ANOMALY_05000312) |
69 | "csync;\n\t" | 47 | __asm__ __volatile__( |
70 | "sti %0;\n\t" | 48 | "cli %0;" |
71 | :"=d"(_tmp):); | 49 | "nop;" |
72 | } | 50 | "nop;" |
73 | #elif !defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | 51 | "csync;" |
74 | static inline void CSYNC (void) | 52 | "sti %0;" |
75 | { | 53 | : "=d" (_tmp) |
76 | __asm__ __volatile__ ("nop; nop; nop;\n\t" | 54 | ); |
77 | "ssync;\n\t" | 55 | else if (ANOMALY_05000244) |
78 | ::); | 56 | __asm__ __volatile__( |
57 | "nop;" | ||
58 | "nop;" | ||
59 | "nop;" | ||
60 | "csync;" | ||
61 | ); | ||
62 | else | ||
63 | __asm__ __volatile__("csync;"); | ||
79 | } | 64 | } |
80 | #elif !defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | ||
81 | static inline void CSYNC (void) | ||
82 | { | ||
83 | __asm__ __volatile__ ("csync;\n\t"); | ||
84 | } | ||
85 | #endif | ||
86 | 65 | ||
87 | #else /* __ASSEMBLY__ */ | 66 | #else /* __ASSEMBLY__ */ |
88 | 67 | ||
@@ -91,19 +70,15 @@ static inline void CSYNC (void) | |||
91 | #define ssync(x) SSYNC(x) | 70 | #define ssync(x) SSYNC(x) |
92 | #define csync(x) CSYNC(x) | 71 | #define csync(x) CSYNC(x) |
93 | 72 | ||
94 | #if defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | 73 | #if ANOMALY_05000312 |
95 | #define SSYNC(scratch) cli scratch; nop; nop; SSYNC; sti scratch; | 74 | #define SSYNC(scratch) cli scratch; nop; nop; SSYNC; sti scratch; |
96 | #define CSYNC(scratch) cli scratch; nop; nop; CSYNC; sti scratch; | 75 | #define CSYNC(scratch) cli scratch; nop; nop; CSYNC; sti scratch; |
97 | 76 | ||
98 | #elif defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | 77 | #elif ANOMALY_05000244 |
99 | #define SSYNC(scratch) cli scratch; nop; nop; SSYNC; sti scratch; | ||
100 | #define CSYNC(scratch) cli scratch; nop; nop; CSYNC; sti scratch; | ||
101 | |||
102 | #elif !defined(ANOMALY_05000312) && defined(ANOMALY_05000244) | ||
103 | #define SSYNC(scratch) nop; nop; nop; SSYNC; | 78 | #define SSYNC(scratch) nop; nop; nop; SSYNC; |
104 | #define CSYNC(scratch) nop; nop; nop; CSYNC; | 79 | #define CSYNC(scratch) nop; nop; nop; CSYNC; |
105 | 80 | ||
106 | #elif !defined(ANOMALY_05000312) && !defined(ANOMALY_05000244) | 81 | #else |
107 | #define SSYNC(scratch) SSYNC; | 82 | #define SSYNC(scratch) SSYNC; |
108 | #define CSYNC(scratch) CSYNC; | 83 | #define CSYNC(scratch) CSYNC; |
109 | 84 | ||
@@ -111,4 +86,7 @@ static inline void CSYNC (void) | |||
111 | 86 | ||
112 | #endif /* __ASSEMBLY__ */ | 87 | #endif /* __ASSEMBLY__ */ |
113 | 88 | ||
89 | #include <asm/mach/blackfin.h> | ||
90 | #include <asm/bfin-global.h> | ||
91 | |||
114 | #endif /* _BLACKFIN_H_ */ | 92 | #endif /* _BLACKFIN_H_ */ |
diff --git a/include/asm-blackfin/cacheflush.h b/include/asm-blackfin/cacheflush.h index e5e000de3c36..d81a77545a04 100644 --- a/include/asm-blackfin/cacheflush.h +++ b/include/asm-blackfin/cacheflush.h | |||
@@ -48,9 +48,9 @@ extern void blackfin_dflush_page(void *); | |||
48 | 48 | ||
49 | static inline void flush_icache_range(unsigned start, unsigned end) | 49 | static inline void flush_icache_range(unsigned start, unsigned end) |
50 | { | 50 | { |
51 | #if defined(CONFIG_BLKFIN_DCACHE) && defined(CONFIG_BLKFIN_CACHE) | 51 | #if defined(CONFIG_BFIN_DCACHE) && defined(CONFIG_BFIN_ICACHE) |
52 | 52 | ||
53 | # if defined(CONFIG_BLKFIN_WT) | 53 | # if defined(CONFIG_BFIN_WT) |
54 | blackfin_icache_flush_range((start), (end)); | 54 | blackfin_icache_flush_range((start), (end)); |
55 | # else | 55 | # else |
56 | blackfin_icache_dcache_flush_range((start), (end)); | 56 | blackfin_icache_dcache_flush_range((start), (end)); |
@@ -58,10 +58,10 @@ static inline void flush_icache_range(unsigned start, unsigned end) | |||
58 | 58 | ||
59 | #else | 59 | #else |
60 | 60 | ||
61 | # if defined(CONFIG_BLKFIN_CACHE) | 61 | # if defined(CONFIG_BFIN_ICACHE) |
62 | blackfin_icache_flush_range((start), (end)); | 62 | blackfin_icache_flush_range((start), (end)); |
63 | # endif | 63 | # endif |
64 | # if defined(CONFIG_BLKFIN_DCACHE) | 64 | # if defined(CONFIG_BFIN_DCACHE) |
65 | blackfin_dcache_flush_range((start), (end)); | 65 | blackfin_dcache_flush_range((start), (end)); |
66 | # endif | 66 | # endif |
67 | 67 | ||
@@ -74,12 +74,12 @@ do { memcpy(dst, src, len); \ | |||
74 | } while (0) | 74 | } while (0) |
75 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) memcpy(dst, src, len) | 75 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) memcpy(dst, src, len) |
76 | 76 | ||
77 | #if defined(CONFIG_BLKFIN_DCACHE) | 77 | #if defined(CONFIG_BFIN_DCACHE) |
78 | # define invalidate_dcache_range(start,end) blackfin_dcache_invalidate_range((start), (end)) | 78 | # define invalidate_dcache_range(start,end) blackfin_dcache_invalidate_range((start), (end)) |
79 | #else | 79 | #else |
80 | # define invalidate_dcache_range(start,end) do { } while (0) | 80 | # define invalidate_dcache_range(start,end) do { } while (0) |
81 | #endif | 81 | #endif |
82 | #if defined(CONFIG_BLKFIN_DCACHE) && defined(CONFIG_BLKFIN_WB) | 82 | #if defined(CONFIG_BFIN_DCACHE) && defined(CONFIG_BFIN_WB) |
83 | # define flush_dcache_range(start,end) blackfin_dcache_flush_range((start), (end)) | 83 | # define flush_dcache_range(start,end) blackfin_dcache_flush_range((start), (end)) |
84 | # define flush_dcache_page(page) blackfin_dflush_page(page_address(page)) | 84 | # define flush_dcache_page(page) blackfin_dflush_page(page_address(page)) |
85 | #else | 85 | #else |
@@ -87,4 +87,4 @@ do { memcpy(dst, src, len); \ | |||
87 | # define flush_dcache_page(page) do { } while (0) | 87 | # define flush_dcache_page(page) do { } while (0) |
88 | #endif | 88 | #endif |
89 | 89 | ||
90 | #endif /* _BLACKFIN_CACHEFLUSH_H */ | 90 | #endif /* _BLACKFIN_ICACHEFLUSH_H */ |
diff --git a/include/asm-blackfin/cplb.h b/include/asm-blackfin/cplb.h index e0dd56bfa4c7..06828d77a58f 100644 --- a/include/asm-blackfin/cplb.h +++ b/include/asm-blackfin/cplb.h | |||
@@ -1,17 +1,100 @@ | |||
1 | /************************************************************************ | 1 | /* |
2 | * File: include/asm-blackfin/cplb.h | ||
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org> | ||
2 | * | 5 | * |
3 | * cplb.h | 6 | * Created: 2000 |
7 | * Description: Common CPLB definitions for CPLB init | ||
4 | * | 8 | * |
5 | * (c) Copyright 2002-2003 Analog Devices, Inc. All rights reserved. | 9 | * Modified: |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
6 | * | 11 | * |
7 | ************************************************************************/ | 12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
8 | 13 | * | |
9 | /* Defines necessary for cplb initialisation routines. */ | 14 | * This program is free software; you can redistribute it and/or modify |
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
10 | 29 | ||
11 | #ifndef _CPLB_H | 30 | #ifndef _CPLB_H |
12 | #define _CPLB_H | 31 | #define _CPLB_H |
13 | 32 | ||
14 | # include <asm/blackfin.h> | 33 | #include <asm/blackfin.h> |
34 | #include <asm/mach/anomaly.h> | ||
35 | |||
36 | #define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) | ||
37 | #define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) | ||
38 | #define L1_IMEMORY ( CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) | ||
39 | #define SDRAM_INON_CHBL ( CPLB_USER_RD | CPLB_VALID) | ||
40 | |||
41 | /*Use the menuconfig cache policy here - CONFIG_BFIN_WT/CONFIG_BFIN_WB*/ | ||
42 | |||
43 | #if ANOMALY_05000158 | ||
44 | #define ANOMALY_05000158_WORKAROUND 0x200 | ||
45 | #else | ||
46 | #define ANOMALY_05000158_WORKAROUND 0x0 | ||
47 | #endif | ||
48 | |||
49 | #define CPLB_COMMON (CPLB_DIRTY | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
50 | |||
51 | #ifdef CONFIG_BFIN_WB /*Write Back Policy */ | ||
52 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_COMMON) | ||
53 | #else /*Write Through */ | ||
54 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_COMMON) | ||
55 | #endif | ||
56 | |||
57 | #define L1_DMEMORY (CPLB_LOCK | CPLB_COMMON) | ||
58 | #define L2_MEMORY (CPLB_COMMON) | ||
59 | #define SDRAM_DNON_CHBL (CPLB_COMMON) | ||
60 | #define SDRAM_EBIU (CPLB_COMMON) | ||
61 | #define SDRAM_OOPS (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) | ||
62 | |||
63 | #define SIZE_1K 0x00000400 /* 1K */ | ||
64 | #define SIZE_4K 0x00001000 /* 4K */ | ||
65 | #define SIZE_1M 0x00100000 /* 1M */ | ||
66 | #define SIZE_4M 0x00400000 /* 4M */ | ||
67 | |||
68 | #define MAX_CPLBS (16 * 2) | ||
69 | |||
70 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ | ||
71 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) | ||
72 | |||
73 | /* | ||
74 | * Number of required data CPLB switchtable entries | ||
75 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
76 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
77 | * 1 for L1 Data Memory | ||
78 | * possibly 1 for L2 Data Memory | ||
79 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
80 | * 1 for ASYNC Memory | ||
81 | */ | ||
82 | |||
83 | |||
84 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1 \ | ||
85 | + ASYNC_MEMORY_CPLB_COVERAGE) * 2) | ||
86 | |||
87 | /* | ||
88 | * Number of required instruction CPLB switchtable entries | ||
89 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
90 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
91 | * 1 for L1 Instruction Memory | ||
92 | * possibly 1 for L2 Instruction Memory | ||
93 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
94 | */ | ||
95 | |||
96 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1 + 1) * 2) | ||
97 | |||
15 | 98 | ||
16 | #define CPLB_ENABLE_ICACHE_P 0 | 99 | #define CPLB_ENABLE_ICACHE_P 0 |
17 | #define CPLB_ENABLE_DCACHE_P 1 | 100 | #define CPLB_ENABLE_DCACHE_P 1 |
@@ -39,8 +122,6 @@ | |||
39 | #define CPLB_DEF_CACHE CPLB_L1_CHBL | CPLB_WT | 122 | #define CPLB_DEF_CACHE CPLB_L1_CHBL | CPLB_WT |
40 | #define CPLB_CACHE_ENABLED CPLB_L1_CHBL | CPLB_DIRTY | 123 | #define CPLB_CACHE_ENABLED CPLB_L1_CHBL | CPLB_DIRTY |
41 | 124 | ||
42 | #define CPLB_ALL_ACCESS CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR | ||
43 | |||
44 | #define CPLB_I_PAGE_MGMT CPLB_LOCK | CPLB_VALID | 125 | #define CPLB_I_PAGE_MGMT CPLB_LOCK | CPLB_VALID |
45 | #define CPLB_D_PAGE_MGMT CPLB_LOCK | CPLB_ALL_ACCESS | CPLB_VALID | 126 | #define CPLB_D_PAGE_MGMT CPLB_LOCK | CPLB_ALL_ACCESS | CPLB_VALID |
46 | #define CPLB_DNOCACHE CPLB_ALL_ACCESS | CPLB_VALID | 127 | #define CPLB_DNOCACHE CPLB_ALL_ACCESS | CPLB_VALID |
diff --git a/include/asm-blackfin/dma.h b/include/asm-blackfin/dma.h index be0d913e5516..b42a531e7a1b 100644 --- a/include/asm-blackfin/dma.h +++ b/include/asm-blackfin/dma.h | |||
@@ -152,6 +152,7 @@ struct dma_channel { | |||
152 | /* functions to set register mode */ | 152 | /* functions to set register mode */ |
153 | void set_dma_start_addr(unsigned int channel, unsigned long addr); | 153 | void set_dma_start_addr(unsigned int channel, unsigned long addr); |
154 | void set_dma_next_desc_addr(unsigned int channel, unsigned long addr); | 154 | void set_dma_next_desc_addr(unsigned int channel, unsigned long addr); |
155 | void set_dma_curr_desc_addr(unsigned int channel, unsigned long addr); | ||
155 | void set_dma_x_count(unsigned int channel, unsigned short x_count); | 156 | void set_dma_x_count(unsigned int channel, unsigned short x_count); |
156 | void set_dma_x_modify(unsigned int channel, short x_modify); | 157 | void set_dma_x_modify(unsigned int channel, short x_modify); |
157 | void set_dma_y_count(unsigned int channel, unsigned short y_count); | 158 | void set_dma_y_count(unsigned int channel, unsigned short y_count); |
@@ -159,6 +160,7 @@ void set_dma_y_modify(unsigned int channel, short y_modify); | |||
159 | void set_dma_config(unsigned int channel, unsigned short config); | 160 | void set_dma_config(unsigned int channel, unsigned short config); |
160 | unsigned short set_bfin_dma_config(char direction, char flow_mode, | 161 | unsigned short set_bfin_dma_config(char direction, char flow_mode, |
161 | char intr_mode, char dma_mode, char width); | 162 | char intr_mode, char dma_mode, char width); |
163 | void set_dma_curr_addr(unsigned int channel, unsigned long addr); | ||
162 | 164 | ||
163 | /* get curr status for polling */ | 165 | /* get curr status for polling */ |
164 | unsigned short get_dma_curr_irqstat(unsigned int channel); | 166 | unsigned short get_dma_curr_irqstat(unsigned int channel); |
diff --git a/include/asm-blackfin/early_printk.h b/include/asm-blackfin/early_printk.h new file mode 100644 index 000000000000..110f1c1f845c --- /dev/null +++ b/include/asm-blackfin/early_printk.h | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * File: include/asm-blackfin/early_printk.h | ||
3 | * Author: Robin Getz <rgetz@blackfin.uclinux.org | ||
4 | * | ||
5 | * Created: 14Aug2007 | ||
6 | * Description: function prototpyes for early printk | ||
7 | * | ||
8 | * Modified: | ||
9 | * Copyright 2004-2007 Analog Devices Inc. | ||
10 | * | ||
11 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2 of the License, or | ||
16 | * (at your option) any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | */ | ||
23 | |||
24 | #ifdef CONFIG_EARLY_PRINTK | ||
25 | extern int setup_early_printk(char *); | ||
26 | #else | ||
27 | #define setup_early_printk(fmt) do { } while (0) | ||
28 | #endif /* CONFIG_EARLY_PRINTK */ | ||
diff --git a/include/asm-blackfin/gpio.h b/include/asm-blackfin/gpio.h index 7480cfa7e2d6..dd203cd93796 100644 --- a/include/asm-blackfin/gpio.h +++ b/include/asm-blackfin/gpio.h | |||
@@ -144,6 +144,24 @@ | |||
144 | 144 | ||
145 | #ifdef BF533_FAMILY | 145 | #ifdef BF533_FAMILY |
146 | #define MAX_BLACKFIN_GPIOS 16 | 146 | #define MAX_BLACKFIN_GPIOS 16 |
147 | |||
148 | #define GPIO_PF0 0 | ||
149 | #define GPIO_PF1 1 | ||
150 | #define GPIO_PF2 2 | ||
151 | #define GPIO_PF3 3 | ||
152 | #define GPIO_PF4 4 | ||
153 | #define GPIO_PF5 5 | ||
154 | #define GPIO_PF6 6 | ||
155 | #define GPIO_PF7 7 | ||
156 | #define GPIO_PF8 8 | ||
157 | #define GPIO_PF9 9 | ||
158 | #define GPIO_PF10 10 | ||
159 | #define GPIO_PF11 11 | ||
160 | #define GPIO_PF12 12 | ||
161 | #define GPIO_PF13 13 | ||
162 | #define GPIO_PF14 14 | ||
163 | #define GPIO_PF15 15 | ||
164 | |||
147 | #endif | 165 | #endif |
148 | 166 | ||
149 | #ifdef BF537_FAMILY | 167 | #ifdef BF537_FAMILY |
@@ -421,6 +439,19 @@ unsigned short gpio_get_value(unsigned short gpio); | |||
421 | void gpio_direction_input(unsigned short gpio); | 439 | void gpio_direction_input(unsigned short gpio); |
422 | void gpio_direction_output(unsigned short gpio); | 440 | void gpio_direction_output(unsigned short gpio); |
423 | 441 | ||
442 | #include <asm-generic/gpio.h> /* cansleep wrappers */ | ||
443 | #include <asm/irq.h> | ||
444 | |||
445 | static inline int gpio_to_irq(unsigned gpio) | ||
446 | { | ||
447 | return (gpio + GPIO_IRQ_BASE); | ||
448 | } | ||
449 | |||
450 | static inline int irq_to_gpio(unsigned irq) | ||
451 | { | ||
452 | return (irq - GPIO_IRQ_BASE); | ||
453 | } | ||
454 | |||
424 | #endif /* __ASSEMBLY__ */ | 455 | #endif /* __ASSEMBLY__ */ |
425 | 456 | ||
426 | #endif /* __ARCH_BLACKFIN_GPIO_H__ */ | 457 | #endif /* __ARCH_BLACKFIN_GPIO_H__ */ |
diff --git a/include/asm-blackfin/io.h b/include/asm-blackfin/io.h index 142cb333db29..525179bf43d7 100644 --- a/include/asm-blackfin/io.h +++ b/include/asm-blackfin/io.h | |||
@@ -115,21 +115,21 @@ static inline unsigned int readl(const volatile void __iomem *addr) | |||
115 | 115 | ||
116 | #ifndef __ASSEMBLY__ | 116 | #ifndef __ASSEMBLY__ |
117 | 117 | ||
118 | extern void outsb(void __iomem *port, const void *addr, unsigned short count); | 118 | extern void outsb(unsigned long port, const void *addr, unsigned long count); |
119 | extern void outsw(void __iomem *port, const void *addr, unsigned short count); | 119 | extern void outsw(unsigned long port, const void *addr, unsigned long count); |
120 | extern void outsl(void __iomem *port, const void *addr, unsigned short count); | 120 | extern void outsl(unsigned long port, const void *addr, unsigned long count); |
121 | 121 | ||
122 | extern void insb(const void __iomem *port, void *addr, unsigned short count); | 122 | extern void insb(unsigned long port, void *addr, unsigned long count); |
123 | extern void insw(const void __iomem *port, void *addr, unsigned short count); | 123 | extern void insw(unsigned long port, void *addr, unsigned long count); |
124 | extern void insl(const void __iomem *port, void *addr, unsigned short count); | 124 | extern void insl(unsigned long port, void *addr, unsigned long count); |
125 | 125 | ||
126 | extern void dma_outsb(void __iomem *port, const void *addr, unsigned short count); | 126 | extern void dma_outsb(unsigned long port, const void *addr, unsigned short count); |
127 | extern void dma_outsw(void __iomem *port, const void *addr, unsigned short count); | 127 | extern void dma_outsw(unsigned long port, const void *addr, unsigned short count); |
128 | extern void dma_outsl(void __iomem *port, const void *addr, unsigned short count); | 128 | extern void dma_outsl(unsigned long port, const void *addr, unsigned short count); |
129 | 129 | ||
130 | extern void dma_insb(const void __iomem *port, void *addr, unsigned short count); | 130 | extern void dma_insb(unsigned long port, void *addr, unsigned short count); |
131 | extern void dma_insw(const void __iomem *port, void *addr, unsigned short count); | 131 | extern void dma_insw(unsigned long port, void *addr, unsigned short count); |
132 | extern void dma_insl(const void __iomem *port, void *addr, unsigned short count); | 132 | extern void dma_insl(unsigned long port, void *addr, unsigned short count); |
133 | 133 | ||
134 | /* | 134 | /* |
135 | * Map some physical address range into the kernel address space. | 135 | * Map some physical address range into the kernel address space. |
diff --git a/include/asm-blackfin/ioctls.h b/include/asm-blackfin/ioctls.h index 8356204151db..895e3173165d 100644 --- a/include/asm-blackfin/ioctls.h +++ b/include/asm-blackfin/ioctls.h | |||
@@ -47,8 +47,13 @@ | |||
47 | #define TIOCSBRK 0x5427 /* BSD compatibility */ | 47 | #define TIOCSBRK 0x5427 /* BSD compatibility */ |
48 | #define TIOCCBRK 0x5428 /* BSD compatibility */ | 48 | #define TIOCCBRK 0x5428 /* BSD compatibility */ |
49 | #define TIOCGSID 0x5429 /* Return the session ID of FD */ | 49 | #define TIOCGSID 0x5429 /* Return the session ID of FD */ |
50 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ | 50 | #define TCGETS2 _IOR('T', 0x2A, struct termios2) |
51 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ | 51 | #define TCSETS2 _IOW('T', 0x2B, struct termios2) |
52 | #define TCSETSW2 _IOW('T', 0x2C, struct termios2) | ||
53 | #define TCSETSF2 _IOW('T', 0x2D, struct termios2) | ||
54 | /* Get Pty Number (of pty-mux device) */ | ||
55 | #define TIOCGPTN _IOR('T', 0x30, unsigned int) | ||
56 | #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ | ||
52 | 57 | ||
53 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ | 58 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ |
54 | #define FIOCLEX 0x5451 | 59 | #define FIOCLEX 0x5451 |
diff --git a/include/asm-blackfin/irq_handler.h b/include/asm-blackfin/irq_handler.h index d830f0a49a1c..139b5208f9d8 100644 --- a/include/asm-blackfin/irq_handler.h +++ b/include/asm-blackfin/irq_handler.h | |||
@@ -1,13 +1,15 @@ | |||
1 | #ifndef _IRQ_HANDLER_H | 1 | #ifndef _IRQ_HANDLER_H |
2 | #define _IRQ_HANDLER_H | 2 | #define _IRQ_HANDLER_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | #include <linux/linkage.h> | ||
6 | |||
4 | /* BASE LEVEL interrupt handler routines */ | 7 | /* BASE LEVEL interrupt handler routines */ |
5 | asmlinkage void evt_emulation(void); | ||
6 | asmlinkage void evt_exception(void); | 8 | asmlinkage void evt_exception(void); |
7 | asmlinkage void trap(void); | 9 | asmlinkage void trap(void); |
8 | asmlinkage void evt_ivhw(void); | 10 | asmlinkage void evt_ivhw(void); |
9 | asmlinkage void evt_timer(void); | 11 | asmlinkage void evt_timer(void); |
10 | asmlinkage void evt_evt2(void); | 12 | asmlinkage void evt_nmi(void); |
11 | asmlinkage void evt_evt7(void); | 13 | asmlinkage void evt_evt7(void); |
12 | asmlinkage void evt_evt8(void); | 14 | asmlinkage void evt_evt8(void); |
13 | asmlinkage void evt_evt9(void); | 15 | asmlinkage void evt_evt9(void); |
@@ -18,5 +20,14 @@ asmlinkage void evt_evt13(void); | |||
18 | asmlinkage void evt_soft_int1(void); | 20 | asmlinkage void evt_soft_int1(void); |
19 | asmlinkage void evt_system_call(void); | 21 | asmlinkage void evt_system_call(void); |
20 | asmlinkage void init_exception_buff(void); | 22 | asmlinkage void init_exception_buff(void); |
23 | asmlinkage void trap_c(struct pt_regs *fp); | ||
24 | asmlinkage void ex_replaceable(void); | ||
25 | asmlinkage void early_trap(void); | ||
26 | |||
27 | extern void *ex_table[]; | ||
28 | extern void return_from_exception(void); | ||
29 | |||
30 | extern int bfin_request_exception(unsigned int exception, void (*handler)(void)); | ||
31 | extern int bfin_free_exception(unsigned int exception, void (*handler)(void)); | ||
21 | 32 | ||
22 | #endif | 33 | #endif |
diff --git a/include/asm-blackfin/kgdb.h b/include/asm-blackfin/kgdb.h index 532bd9052004..0f73847fd6bc 100644 --- a/include/asm-blackfin/kgdb.h +++ b/include/asm-blackfin/kgdb.h | |||
@@ -179,5 +179,6 @@ enum regnames { | |||
179 | #define STATDA1 0x80 | 179 | #define STATDA1 0x80 |
180 | 180 | ||
181 | extern void kgdb_print(const char *fmt, ...); | 181 | extern void kgdb_print(const char *fmt, ...); |
182 | extern void init_kgdb_uart(void); | ||
182 | 183 | ||
183 | #endif | 184 | #endif |
diff --git a/include/asm-blackfin/mach-bf527/anomaly.h b/include/asm-blackfin/mach-bf527/anomaly.h new file mode 100644 index 000000000000..991db986cd4b --- /dev/null +++ b/include/asm-blackfin/mach-bf527/anomaly.h | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | * File: include/asm-blackfin/mach-bf527/anomaly.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2004-2007 Analog Devices Inc. | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | /* This file shoule be up to date with: | ||
10 | * - Revision A, May 30, 2007; ADSP-BF527 Blackfin Processor Anomaly List | ||
11 | */ | ||
12 | |||
13 | #ifndef _MACH_ANOMALY_H_ | ||
14 | #define _MACH_ANOMALY_H_ | ||
15 | |||
16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */ | ||
17 | #define ANOMALY_05000074 (1) | ||
18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | ||
19 | #define ANOMALY_05000119 (1) | ||
20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | ||
21 | #define ANOMALY_05000122 (1) | ||
22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | ||
23 | #define ANOMALY_05000245 (1) | ||
24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | ||
25 | #define ANOMALY_05000265 (1) | ||
26 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | ||
27 | #define ANOMALY_05000301 (1) | ||
28 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
29 | #define ANOMALY_05000312 (1) | ||
30 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ | ||
31 | #define ANOMALY_05000328 (1) | ||
32 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ | ||
33 | #define ANOMALY_05000337 (1) | ||
34 | /* TWI Does Not Operate Correctly Under Certain Signal Termination Conditions */ | ||
35 | #define ANOMALY_05000342 (1) | ||
36 | /* Boot ROM Kernel Incorrectly Alters Reset Value of USB Register */ | ||
37 | #define ANOMALY_05000347 (1) | ||
38 | |||
39 | /* Anomalies that don't exist on this proc */ | ||
40 | #define ANOMALY_05000323 (0) | ||
41 | #endif | ||
diff --git a/include/asm-blackfin/mach-bf527/defBF52x_base.h b/include/asm-blackfin/mach-bf527/defBF52x_base.h index 0b2fb5036ed0..b1ff67db01f8 100644 --- a/include/asm-blackfin/mach-bf527/defBF52x_base.h +++ b/include/asm-blackfin/mach-bf527/defBF52x_base.h | |||
@@ -102,6 +102,7 @@ | |||
102 | 102 | ||
103 | 103 | ||
104 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 104 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
105 | #define SPI0_REGBASE 0xFFC00500 | ||
105 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ | 106 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ |
106 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ | 107 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ |
107 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ | 108 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ |
@@ -480,6 +481,7 @@ | |||
480 | 481 | ||
481 | 482 | ||
482 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 483 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
484 | #define TWI0_REGBASE 0xFFC01400 | ||
483 | #define TWI_CLKDIV 0xFFC01400 /* Serial Clock Divider Register */ | 485 | #define TWI_CLKDIV 0xFFC01400 /* Serial Clock Divider Register */ |
484 | #define TWI_CONTROL 0xFFC01404 /* TWI Control Register */ | 486 | #define TWI_CONTROL 0xFFC01404 /* TWI Control Register */ |
485 | #define TWI_SLAVE_CTL 0xFFC01408 /* Slave Mode Control Register */ | 487 | #define TWI_SLAVE_CTL 0xFFC01408 /* Slave Mode Control Register */ |
diff --git a/include/asm-blackfin/mach-bf533/anomaly.h b/include/asm-blackfin/mach-bf533/anomaly.h index 7302f290b93d..f36ff5af1b91 100644 --- a/include/asm-blackfin/mach-bf533/anomaly.h +++ b/include/asm-blackfin/mach-bf533/anomaly.h | |||
@@ -1,247 +1,259 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf533/anomaly.h |
3 | * Based on: | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
4 | * Author: | ||
5 | * | 4 | * |
6 | * Created: | 5 | * Copyright (C) 2004-2007 Analog Devices Inc. |
7 | * Description: | 6 | * Licensed under the GPL-2 or later. |
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
32 | * - Revision U, May 17, 2006; ADSP-BF533 Blackfin Processor Anomaly List | 10 | * - Revision X, March 23, 2007; ADSP-BF533 Blackfin Processor Anomaly List |
33 | * - Revision Y, May 17, 2006; ADSP-BF532 Blackfin Processor Anomaly List | 11 | * - Revision AB, March 23, 2007; ADSP-BF532 Blackfin Processor Anomaly List |
34 | * - Revision T, May 17, 2006; ADSP-BF531 Blackfin Processor Anomaly List | 12 | * - Revision W, March 23, 2007; ADSP-BF531 Blackfin Processor Anomaly List |
35 | */ | 13 | */ |
36 | 14 | ||
37 | #ifndef _MACH_ANOMALY_H_ | 15 | #ifndef _MACH_ANOMALY_H_ |
38 | #define _MACH_ANOMALY_H_ | 16 | #define _MACH_ANOMALY_H_ |
39 | 17 | ||
40 | /* We do not support 0.1 or 0.2 silicon - sorry */ | 18 | /* We do not support 0.1 or 0.2 silicon - sorry */ |
41 | #if (defined(CONFIG_BF_REV_0_1) || defined(CONFIG_BF_REV_0_2)) | 19 | #if __SILICON_REVISION__ < 3 |
42 | #error Kernel will not work on BF533 Version 0.1 or 0.2 | 20 | # error Kernel will not work on BF533 silicon version 0.0, 0.1, or 0.2 |
43 | #endif | 21 | #endif |
44 | 22 | ||
45 | /* Issues that are common to 0.5, 0.4, and 0.3 silicon */ | 23 | #if defined(__ADSPBF531__) |
46 | #if (defined(CONFIG_BF_REV_0_5) || defined(CONFIG_BF_REV_0_4) \ | 24 | # define ANOMALY_BF531 1 |
47 | || defined(CONFIG_BF_REV_0_3)) | 25 | #else |
48 | #define ANOMALY_05000074 /* A multi issue instruction with dsp32shiftimm in | 26 | # define ANOMALY_BF531 0 |
49 | slot1 and store of a P register in slot 2 is not | 27 | #endif |
50 | supported */ | 28 | #if defined(__ADSPBF532__) |
51 | #define ANOMALY_05000105 /* Watchpoint Status Register (WPSTAT) bits are set on | 29 | # define ANOMALY_BF532 1 |
52 | every corresponding match */ | 30 | #else |
53 | #define ANOMALY_05000119 /* DMA_RUN bit is not valid after a Peripheral Receive | 31 | # define ANOMALY_BF532 0 |
54 | Channel DMA stops */ | 32 | #endif |
55 | #define ANOMALY_05000122 /* Rx.H can not be used to access 16-bit System MMR | 33 | #if defined(__ADSPBF533__) |
56 | registers. */ | 34 | # define ANOMALY_BF533 1 |
57 | #define ANOMALY_05000166 /* PPI Data Lengths Between 8 and 16 do not zero out | 35 | #else |
58 | upper bits*/ | 36 | # define ANOMALY_BF533 0 |
59 | #define ANOMALY_05000167 /* Turning Serial Ports on With External Frame Syncs */ | 37 | #endif |
60 | #define ANOMALY_05000180 /* PPI_DELAY not functional in PPI modes with 0 frame | ||
61 | syncs */ | ||
62 | #define ANOMALY_05000208 /* VSTAT status bit in PLL_STAT register is not | ||
63 | functional */ | ||
64 | #define ANOMALY_05000219 /* NMI event at boot time results in unpredictable | ||
65 | state */ | ||
66 | #define ANOMALY_05000229 /* SPI Slave Boot Mode modifies registers */ | ||
67 | #define ANOMALY_05000272 /* Certain data cache write through modes fail for | ||
68 | VDDint <=0.9V */ | ||
69 | #define ANOMALY_05000273 /* Writes to Synchronous SDRAM memory may be lost */ | ||
70 | #define ANOMALY_05000277 /* Writes to a flag data register one SCLK cycle after | ||
71 | an edge is detected may clear interrupt */ | ||
72 | #define ANOMALY_05000278 /* Disabling Peripherals with DMA running may cause | ||
73 | DMA system instability */ | ||
74 | #define ANOMALY_05000281 /* False Hardware Error Exception when ISR context is | ||
75 | not restored */ | ||
76 | #define ANOMALY_05000282 /* Memory DMA corruption with 32-bit data and traffic | ||
77 | control */ | ||
78 | #define ANOMALY_05000283 /* A system MMR write is stalled indefinitely when | ||
79 | killed in a particular stage*/ | ||
80 | #define ANOMALY_05000311 /* Erroneous flag pin operations under specific | ||
81 | sequences */ | ||
82 | #define ANOMALY_05000312 /* Errors when SSYNC, CSYNC, or loads to LT, LB and LC | ||
83 | registers are interrupted */ | ||
84 | #define ANOMALY_05000313 /* PPI Is Level-Sensitive on First Transfer */ | ||
85 | #define ANOMALY_05000315 /* Killed System MMR Write Completes Erroneously On | ||
86 | * Next System MMR Access */ | ||
87 | #define ANOMALY_05000319 /* Internal Voltage Regulator Values of 1.05V, 1.10V | ||
88 | * and 1.15V Not Allowed for LQFP Packages */ | ||
89 | #endif /* Issues that are common to 0.5, 0.4, and 0.3 silicon */ | ||
90 | 38 | ||
91 | /* These issues only occur on 0.3 or 0.4 BF533 */ | 39 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot 2 Not Supported */ |
92 | #if (defined(CONFIG_BF_REV_0_4) || defined(CONFIG_BF_REV_0_3)) | 40 | #define ANOMALY_05000074 (1) |
93 | #define ANOMALY_05000099 /* UART Line Status Register (UART_LSR) bits are not | 41 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ |
94 | updated at the same time. */ | 42 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) |
95 | #define ANOMALY_05000158 /* Boot fails when data cache enabled: Data from a Data | 43 | /* Watchpoint Status Register (WPSTAT) Bits Are Set on Every Corresponding Match */ |
96 | Cache Fill can be corrupted after or during | 44 | #define ANOMALY_05000105 (1) |
97 | Instruction DMA if certain core stalls exist */ | 45 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ |
98 | #define ANOMALY_05000179 /* PPI_COUNT cannot be programmed to 0 in General | 46 | #define ANOMALY_05000119 (1) |
99 | Purpose TX or RX modes */ | 47 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
100 | #define ANOMALY_05000198 /* Failing SYSTEM MMR accesses when stalled by | 48 | #define ANOMALY_05000122 (1) |
101 | preceding memory read */ | 49 | /* Instruction DMA Can Cause Data Cache Fills to Fail (Boot Implications) */ |
102 | #define ANOMALY_05000200 /* SPORT TFS and DT are incorrectly driven during | 50 | #define ANOMALY_05000158 (__SILICON_REVISION__ < 5) |
103 | inactive channels in certain conditions */ | 51 | /* PPI Data Lengths Between 8 and 16 Do Not Zero Out Upper Bits */ |
104 | #define ANOMALY_05000202 /* Possible infinite stall with specific dual dag | 52 | #define ANOMALY_05000166 (1) |
105 | situation */ | 53 | /* Turning Serial Ports on with External Frame Syncs */ |
106 | #define ANOMALY_05000215 /* UART TX Interrupt masked erroneously */ | 54 | #define ANOMALY_05000167 (1) |
107 | #define ANOMALY_05000225 /* Incorrect pulse-width of UART start-bit */ | 55 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ |
108 | #define ANOMALY_05000227 /* Scratchpad memory bank reads may return incorrect | 56 | #define ANOMALY_05000179 (__SILICON_REVISION__ < 5) |
109 | data*/ | 57 | /* PPI_DELAY Not Functional in PPI Modes with 0 Frame Syncs */ |
110 | #define ANOMALY_05000230 /* UART Receiver is less robust against Baudrate | 58 | #define ANOMALY_05000180 (1) |
111 | Differences in certain Conditions */ | 59 | /* Timer Pin Limitations for PPI TX Modes with External Frame Syncs */ |
112 | #define ANOMALY_05000231 /* UART STB bit incorrectly affects receiver setting */ | 60 | #define ANOMALY_05000183 (__SILICON_REVISION__ < 4) |
113 | #define ANOMALY_05000242 /* DF bit in PLL_CTL register does not respond to | 61 | /* False Protection Exceptions */ |
114 | hardware reset */ | 62 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 4) |
115 | #define ANOMALY_05000244 /* With instruction cache enabled, a CSYNC or SSYNC or | 63 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ |
116 | IDLE around a Change of Control causes | 64 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 4) |
117 | unpredictable results */ | 65 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ |
118 | #define ANOMALY_05000245 /* Spurious Hardware Error from an access in the | 66 | #define ANOMALY_05000194 (__SILICON_REVISION__ < 4) |
119 | shadow of a conditional branch */ | 67 | /* Failing MMR Accesses When Stalled by Preceding Memory Read */ |
120 | #define ANOMALY_05000246 /* Data CPLB's should prevent spurious hardware | 68 | #define ANOMALY_05000198 (__SILICON_REVISION__ < 5) |
121 | errors */ | 69 | /* Current DMA Address Shows Wrong Value During Carry Fix */ |
122 | #define ANOMALY_05000253 /* Maximum external clock speed for Timers */ | 70 | #define ANOMALY_05000199 (__SILICON_REVISION__ < 4) |
123 | #define ANOMALY_05000255 /* Entering Hibernate Mode with RTC Seconds event | 71 | /* SPORT TFS and DT Are Incorrectly Driven During Inactive Channels in Certain Conditions */ |
124 | interrupt not functional */ | 72 | #define ANOMALY_05000200 (__SILICON_REVISION__ < 5) |
125 | #define ANOMALY_05000257 /* An interrupt or exception during short Hardware | 73 | /* Receive Frame Sync Not Ignored During Active Frames in SPORT Multi-Channel Mode */ |
126 | loops may cause the instruction fetch unit to | 74 | #define ANOMALY_05000201 (__SILICON_REVISION__ < 4) |
127 | malfunction */ | 75 | /* Possible Infinite Stall with Specific Dual-DAG Situation */ |
128 | #define ANOMALY_05000258 /* Instruction Cache is corrupted when bit 9 and 12 of | 76 | #define ANOMALY_05000202 (__SILICON_REVISION__ < 5) |
129 | the ICPLB Data registers differ */ | 77 | /* Specific Sequence That Can Cause DMA Error or DMA Stopping */ |
130 | #define ANOMALY_05000260 /* ICPLB_STATUS MMR register may be corrupted */ | 78 | #define ANOMALY_05000203 (__SILICON_REVISION__ < 4) |
131 | #define ANOMALY_05000261 /* DCPLB_FAULT_ADDR MMR register may be corrupted */ | 79 | /* Incorrect data read with write-through cache and allocate cache lines on reads only mode */ |
132 | #define ANOMALY_05000262 /* Stores to data cache may be lost */ | 80 | #define ANOMALY_05000204 (__SILICON_REVISION__ < 4 && ANOMALY_BF533) |
133 | #define ANOMALY_05000263 /* Hardware loop corrupted when taking an ICPLB exception */ | 81 | /* Recovery from "Brown-Out" Condition */ |
134 | #define ANOMALY_05000264 /* A Sync instruction (CSYNC, SSYNC) or an IDLE | 82 | #define ANOMALY_05000207 (__SILICON_REVISION__ < 4) |
135 | instruction will cause an infinite stall in the | 83 | /* VSTAT Status Bit in PLL_STAT Register Is Not Functional */ |
136 | second to last instruction in a hardware loop */ | 84 | #define ANOMALY_05000208 (1) |
137 | #define ANOMALY_05000265 /* Sensitivity to noise with slow input edge rates on | 85 | /* Speed Path in Computational Unit Affects Certain Instructions */ |
138 | SPORT external receive and transmit clocks. */ | 86 | #define ANOMALY_05000209 (__SILICON_REVISION__ < 4) |
139 | #define ANOMALY_05000269 /* High I/O activity causes the output voltage of the | 87 | /* UART TX Interrupt Masked Erroneously */ |
140 | internal voltage regulator (VDDint) to increase. */ | 88 | #define ANOMALY_05000215 (__SILICON_REVISION__ < 5) |
141 | #define ANOMALY_05000270 /* High I/O activity causes the output voltage of the | 89 | /* NMI Event at Boot Time Results in Unpredictable State */ |
142 | internal voltage regulator (VDDint) to decrease */ | 90 | #define ANOMALY_05000219 (1) |
143 | #endif /* issues only occur on 0.3 or 0.4 BF533 */ | 91 | /* Incorrect Pulse-Width of UART Start Bit */ |
92 | #define ANOMALY_05000225 (__SILICON_REVISION__ < 5) | ||
93 | /* Scratchpad Memory Bank Reads May Return Incorrect Data */ | ||
94 | #define ANOMALY_05000227 (__SILICON_REVISION__ < 5) | ||
95 | /* SPI Slave Boot Mode Modifies Registers from Reset Value */ | ||
96 | #define ANOMALY_05000229 (1) | ||
97 | /* UART Receiver is Less Robust Against Baudrate Differences in Certain Conditions */ | ||
98 | #define ANOMALY_05000230 (__SILICON_REVISION__ < 5) | ||
99 | /* UART STB Bit Incorrectly Affects Receiver Setting */ | ||
100 | #define ANOMALY_05000231 (__SILICON_REVISION__ < 5) | ||
101 | /* PPI_FS3 Is Not Driven in 2 or 3 Internal Frame Sync Transmit Modes */ | ||
102 | #define ANOMALY_05000233 (__SILICON_REVISION__ < 4) | ||
103 | /* Incorrect Revision Number in DSPID Register */ | ||
104 | #define ANOMALY_05000234 (__SILICON_REVISION__ == 4) | ||
105 | /* DF Bit in PLL_CTL Register Does Not Respond to Hardware Reset */ | ||
106 | #define ANOMALY_05000242 (__SILICON_REVISION__ < 4) | ||
107 | /* If I-Cache Is On, CSYNC/SSYNC/IDLE Around Change of Control Causes Failures */ | ||
108 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) | ||
109 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | ||
110 | #define ANOMALY_05000245 (1) | ||
111 | /* Data CPLBs Should Prevent Spurious Hardware Errors */ | ||
112 | #define ANOMALY_05000246 (__SILICON_REVISION__ < 5) | ||
113 | /* Incorrect Bit Shift of Data Word in Multichannel (TDM) Mode in Certain Conditions */ | ||
114 | #define ANOMALY_05000250 (__SILICON_REVISION__ == 4) | ||
115 | /* Maximum External Clock Speed for Timers */ | ||
116 | #define ANOMALY_05000253 (__SILICON_REVISION__ < 5) | ||
117 | /* Incorrect Timer Pulse Width in Single-Shot PWM_OUT Mode with External Clock */ | ||
118 | #define ANOMALY_05000254 (__SILICON_REVISION__ > 4) | ||
119 | /* Entering Hibernate State with RTC Seconds Interrupt Not Functional */ | ||
120 | #define ANOMALY_05000255 (__SILICON_REVISION__ < 5) | ||
121 | /* Interrupt/Exception During Short Hardware Loop May Cause Bad Instruction Fetches */ | ||
122 | #define ANOMALY_05000257 (__SILICON_REVISION__ < 5) | ||
123 | /* Instruction Cache Is Corrupted When Bits 9 and 12 of the ICPLB Data Registers Differ */ | ||
124 | #define ANOMALY_05000258 (__SILICON_REVISION__ < 5) | ||
125 | /* ICPLB_STATUS MMR Register May Be Corrupted */ | ||
126 | #define ANOMALY_05000260 (__SILICON_REVISION__ < 5) | ||
127 | /* DCPLB_FAULT_ADDR MMR Register May Be Corrupted */ | ||
128 | #define ANOMALY_05000261 (__SILICON_REVISION__ < 5) | ||
129 | /* Stores To Data Cache May Be Lost */ | ||
130 | #define ANOMALY_05000262 (__SILICON_REVISION__ < 5) | ||
131 | /* Hardware Loop Corrupted When Taking an ICPLB Exception */ | ||
132 | #define ANOMALY_05000263 (__SILICON_REVISION__ < 5) | ||
133 | /* CSYNC/SSYNC/IDLE Causes Infinite Stall in Penultimate Instruction in Hardware Loop */ | ||
134 | #define ANOMALY_05000264 (__SILICON_REVISION__ < 5) | ||
135 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | ||
136 | #define ANOMALY_05000265 (__SILICON_REVISION__ < 5) | ||
137 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Increase */ | ||
138 | #define ANOMALY_05000269 (__SILICON_REVISION__ < 5) | ||
139 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ | ||
140 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 5) | ||
141 | /* Spontaneous Reset of Internal Voltage Regulator */ | ||
142 | #define ANOMALY_05000271 (__SILICON_REVISION__ < 4) | ||
143 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | ||
144 | #define ANOMALY_05000272 (1) | ||
145 | /* Writes to Synchronous SDRAM Memory May Be Lost */ | ||
146 | #define ANOMALY_05000273 (1) | ||
147 | /* Timing Requirements Change for External Frame Sync PPI Modes with Non-Zero PPI_DELAY */ | ||
148 | #define ANOMALY_05000276 (1) | ||
149 | /* Writes to an I/O Data Register One SCLK Cycle after an Edge Is Detected May Clear Interrupt */ | ||
150 | #define ANOMALY_05000277 (1) | ||
151 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ | ||
152 | #define ANOMALY_05000278 (1) | ||
153 | /* False Hardware Error Exception When ISR Context Is Not Restored */ | ||
154 | #define ANOMALY_05000281 (1) | ||
155 | /* Memory DMA Corruption with 32-Bit Data and Traffic Control */ | ||
156 | #define ANOMALY_05000282 (1) | ||
157 | /* System MMR Write Is Stalled Indefinitely When Killed in a Particular Stage */ | ||
158 | #define ANOMALY_05000283 (1) | ||
159 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ | ||
160 | #define ANOMALY_05000288 (1) | ||
161 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | ||
162 | #define ANOMALY_05000301 (1) | ||
163 | /* SSYNCs After Writes To DMA MMR Registers May Not Be Handled Correctly */ | ||
164 | #define ANOMALY_05000302 (__SILICON_REVISION__ < 5) | ||
165 | /* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ | ||
166 | #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) | ||
167 | /* New Feature: Additional PPI Frame Sync Sampling Options (Not Available On Older Silicon) */ | ||
168 | #define ANOMALY_05000306 (__SILICON_REVISION__ < 5) | ||
169 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | ||
170 | #define ANOMALY_05000310 (1) | ||
171 | /* Erroneous Flag (GPIO) Pin Operations under Specific Sequences */ | ||
172 | #define ANOMALY_05000311 (1) | ||
173 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
174 | #define ANOMALY_05000312 (1) | ||
175 | /* PPI Is Level-Sensitive on First Transfer */ | ||
176 | #define ANOMALY_05000313 (1) | ||
177 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ | ||
178 | #define ANOMALY_05000315 (1) | ||
179 | /* Internal Voltage Regulator Values of 1.05V, 1.10V and 1.15V Not Allowed for LQFP Packages */ | ||
180 | #define ANOMALY_05000319 (ANOMALY_BF531 || ANOMALY_BF532) | ||
144 | 181 | ||
145 | /* These issues are only on 0.4 silicon */ | 182 | /* These anomalies have been "phased" out of analog.com anomaly sheets and are |
146 | #if (defined(CONFIG_BF_REV_0_4)) | 183 | * here to show running on older silicon just isn't feasible. |
147 | #define ANOMALY_05000234 /* Incorrect Revision Number in DSPID Register */ | 184 | */ |
148 | #define ANOMALY_05000250 /* Incorrect Bit-Shift of Data Word in Multichannel | ||
149 | (TDM) */ | ||
150 | #endif /* issues are only on 0.4 silicon */ | ||
151 | 185 | ||
152 | /* These issues are only on 0.3 silicon */ | 186 | /* Watchpoints (Hardware Breakpoints) are not supported */ |
153 | #if defined(CONFIG_BF_REV_0_3) | 187 | #define ANOMALY_05000067 (__SILICON_REVISION__ < 3) |
154 | #define ANOMALY_05000183 /* Timer Pin limitations for PPI TX Modes with | 188 | /* Reserved bits in SYSCFG register not set at power on */ |
155 | External Frame Syncs */ | 189 | #define ANOMALY_05000109 (__SILICON_REVISION__ < 3) |
156 | #define ANOMALY_05000189 /* False Protection Exceptions caused by Speculative | 190 | /* Trace Buffers may record discontinuities into emulation mode and/or exception, NMI, reset handlers */ |
157 | Instruction or Data Fetches, or by Fetches at the | 191 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) |
158 | boundary of reserved memory space */ | 192 | /* DTEST_COMMAND initiated memory access may be incorrect if data cache or DMA is active */ |
159 | #define ANOMALY_05000193 /* False Flag Pin Interrupts on Edge Sensitive Inputs | 193 | #define ANOMALY_05000123 (__SILICON_REVISION__ < 3) |
160 | when polarity setting is changed */ | 194 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ |
161 | #define ANOMALY_05000194 /* Sport Restarting in specific modes may cause data | 195 | #define ANOMALY_05000124 (__SILICON_REVISION__ < 3) |
162 | corruption */ | 196 | /* Erroneous exception when enabling cache */ |
163 | #define ANOMALY_05000199 /* DMA current address shows wrong value during carry | 197 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) |
164 | fix */ | 198 | /* SPI clock polarity and phase bits incorrect during booting */ |
165 | #define ANOMALY_05000201 /* Receive frame sync not ignored during active | 199 | #define ANOMALY_05000126 (__SILICON_REVISION__ < 3) |
166 | frames in sport MCM */ | 200 | /* DMEM_CONTROL is not set on Reset */ |
167 | #define ANOMALY_05000203 /* Specific sequence that can cause DMA error or DMA | 201 | #define ANOMALY_05000137 (__SILICON_REVISION__ < 3) |
168 | stopping */ | 202 | /* SPI boot will not complete if there is a zero fill block in the loader file */ |
169 | #if defined(CONFIG_BF533) | 203 | #define ANOMALY_05000138 (__SILICON_REVISION__ < 3) |
170 | #define ANOMALY_05000204 /* Incorrect data read with write-through cache and | 204 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ |
171 | allocate cache lines on reads only mode */ | 205 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) |
172 | #endif /* CONFIG_BF533 */ | 206 | /* An Infinite Stall occurs with a particular sequence of consecutive dual dag events */ |
173 | #define ANOMALY_05000207 /* Recovery from "brown-out" condition */ | 207 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) |
174 | #define ANOMALY_05000209 /* Speed-Path in computational unit affects certain | 208 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ |
175 | instructions */ | 209 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) |
176 | #define ANOMALY_05000233 /* PPI_FS3 is not driven in 2 or 3 internal Frame | 210 | /* A read from external memory may return a wrong value with data cache enabled */ |
177 | Sync Transmit Mode */ | 211 | #define ANOMALY_05000143 (__SILICON_REVISION__ < 3) |
178 | #define ANOMALY_05000271 /* Spontaneous reset of Internal Voltage Regulator */ | 212 | /* DMA and TESTSET conflict when both are accessing external memory */ |
179 | #endif /* only on 0.3 silicon */ | 213 | #define ANOMALY_05000144 (__SILICON_REVISION__ < 3) |
214 | /* In PWM_OUT mode, you must enable the PPI block to generate a waveform from PPI_CLK */ | ||
215 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) | ||
216 | /* MDMA may lose the first few words of a descriptor chain */ | ||
217 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) | ||
218 | /* The source MDMA descriptor may stop with a DMA Error */ | ||
219 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) | ||
220 | /* When booting from a 16-bit asynchronous memory device, the upper 8-bits of each word must be 0x00 */ | ||
221 | #define ANOMALY_05000148 (__SILICON_REVISION__ < 3) | ||
222 | /* Frame Delay in SPORT Multichannel Mode */ | ||
223 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | ||
224 | /* SPORT TFS signal is active in Multi-channel mode outside of valid channels */ | ||
225 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | ||
226 | /* Timer1 can not be used for PWMOUT mode when a certain PPI mode is in use */ | ||
227 | #define ANOMALY_05000155 (__SILICON_REVISION__ < 3) | ||
228 | /* A killed 32-bit System MMR write will lead to the next system MMR access thinking it should be 32-bit. */ | ||
229 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | ||
230 | /* SPORT transmit data is not gated by external frame sync in certain conditions */ | ||
231 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | ||
232 | /* SDRAM auto-refresh and subsequent Power Ups */ | ||
233 | #define ANOMALY_05000168 (__SILICON_REVISION__ < 3) | ||
234 | /* DATA CPLB page miss can result in lost write-through cache data writes */ | ||
235 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 3) | ||
236 | /* DMA vs Core accesses to external memory */ | ||
237 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) | ||
238 | /* Cache Fill Buffer Data lost */ | ||
239 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 3) | ||
240 | /* Overlapping Sequencer and Memory Stalls */ | ||
241 | #define ANOMALY_05000175 (__SILICON_REVISION__ < 3) | ||
242 | /* Multiplication of (-1) by (-1) followed by an accumulator saturation */ | ||
243 | #define ANOMALY_05000176 (__SILICON_REVISION__ < 3) | ||
244 | /* Disabling the PPI resets the PPI configuration registers */ | ||
245 | #define ANOMALY_05000181 (__SILICON_REVISION__ < 3) | ||
246 | /* PPI TX Mode with 2 External Frame Syncs */ | ||
247 | #define ANOMALY_05000185 (__SILICON_REVISION__ < 3) | ||
248 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ | ||
249 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) | ||
250 | /* In PPI Transmit Modes with External Frame Syncs POLC */ | ||
251 | #define ANOMALY_05000192 (__SILICON_REVISION__ < 3) | ||
252 | /* Internal Voltage Regulator may not start up */ | ||
253 | #define ANOMALY_05000206 (__SILICON_REVISION__ < 3) | ||
180 | 254 | ||
181 | #if defined(CONFIG_BF_REV_0_2) | 255 | /* Anomalies that don't exist on this proc */ |
182 | #define ANOMALY_05000067 /* Watchpoints (Hardware Breakpoints) are not | 256 | #define ANOMALY_05000266 (0) |
183 | * supported */ | 257 | #define ANOMALY_05000323 (0) |
184 | #define ANOMALY_05000109 /* Reserved bits in SYSCFG register not set at | ||
185 | * power on */ | ||
186 | #define ANOMALY_05000116 /* Trace Buffers may record discontinuities into | ||
187 | * emulation mode and/or exception, NMI, reset | ||
188 | * handlers */ | ||
189 | #define ANOMALY_05000123 /* DTEST_COMMAND initiated memory access may be | ||
190 | * incorrect if data cache or DMA is active */ | ||
191 | #define ANOMALY_05000124 /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, | ||
192 | * or 1:1 */ | ||
193 | #define ANOMALY_05000125 /* Erroneous exception when enabling cache */ | ||
194 | #define ANOMALY_05000126 /* SPI clock polarity and phase bits incorrect | ||
195 | * during booting */ | ||
196 | #define ANOMALY_05000137 /* DMEM_CONTROL is not set on Reset */ | ||
197 | #define ANOMALY_05000138 /* SPI boot will not complete if there is a zero fill | ||
198 | * block in the loader file */ | ||
199 | #define ANOMALY_05000140 /* Allowing the SPORT RX FIFO to fill will cause an | ||
200 | * overflow */ | ||
201 | #define ANOMALY_05000141 /* An Infinite Stall occurs with a particular sequence | ||
202 | * of consecutive dual dag events */ | ||
203 | #define ANOMALY_05000142 /* Interrupts may be lost when a programmable input | ||
204 | * flag is configured to be edge sensitive */ | ||
205 | #define ANOMALY_05000143 /* A read from external memory may return a wrong | ||
206 | * value with data cache enabled */ | ||
207 | #define ANOMALY_05000144 /* DMA and TESTSET conflict when both are accessing | ||
208 | * external memory */ | ||
209 | #define ANOMALY_05000145 /* In PWM_OUT mode, you must enable the PPI block to | ||
210 | * generate a waveform from PPI_CLK */ | ||
211 | #define ANOMALY_05000146 /* MDMA may lose the first few words of a descriptor | ||
212 | * chain */ | ||
213 | #define ANOMALY_05000147 /* The source MDMA descriptor may stop with a DMA | ||
214 | * Error */ | ||
215 | #define ANOMALY_05000148 /* When booting from a 16-bit asynchronous memory | ||
216 | * device, the upper 8-bits of each word must be | ||
217 | * 0x00 */ | ||
218 | #define ANOMALY_05000153 /* Frame Delay in SPORT Multichannel Mode */ | ||
219 | #define ANOMALY_05000154 /* SPORT TFS signal is active in Multi-channel mode | ||
220 | * outside of valid channels */ | ||
221 | #define ANOMALY_05000155 /* Timer1 can not be used for PWMOUT mode when a | ||
222 | * certain PPI mode is in use */ | ||
223 | #define ANOMALY_05000157 /* A killed 32-bit System MMR write will lead to | ||
224 | * the next system MMR access thinking it should be | ||
225 | * 32-bit. */ | ||
226 | #define ANOMALY_05000163 /* SPORT transmit data is not gated by external frame | ||
227 | * sync in certain conditions */ | ||
228 | #define ANOMALY_05000168 /* SDRAM auto-refresh and subsequent Power Ups */ | ||
229 | #define ANOMALY_05000169 /* DATA CPLB page miss can result in lost | ||
230 | * write-through cache data writes */ | ||
231 | #define ANOMALY_05000173 /* DMA vs Core accesses to external memory */ | ||
232 | #define ANOMALY_05000174 /* Cache Fill Buffer Data lost */ | ||
233 | #define ANOMALY_05000175 /* Overlapping Sequencer and Memory Stalls */ | ||
234 | #define ANOMALY_05000176 /* Multiplication of (-1) by (-1) followed by an | ||
235 | * accumulator saturation */ | ||
236 | #define ANOMALY_05000181 /* Disabling the PPI resets the PPI configuration | ||
237 | * registers */ | ||
238 | #define ANOMALY_05000185 /* PPI TX Mode with 2 External Frame Syncs */ | ||
239 | #define ANOMALY_05000191 /* PPI does not invert the Driving PPICLK edge in | ||
240 | * Transmit Modes */ | ||
241 | #define ANOMALY_05000192 /* In PPI Transmit Modes with External Frame Syncs | ||
242 | * POLC */ | ||
243 | #define ANOMALY_05000206 /* Internal Voltage Regulator may not start up */ | ||
244 | 258 | ||
245 | #endif | 259 | #endif |
246 | |||
247 | #endif /* _MACH_ANOMALY_H_ */ | ||
diff --git a/include/asm-blackfin/mach-bf533/bf533.h b/include/asm-blackfin/mach-bf533/bf533.h index 185fc1284858..12a416931991 100644 --- a/include/asm-blackfin/mach-bf533/bf533.h +++ b/include/asm-blackfin/mach-bf533/bf533.h | |||
@@ -52,12 +52,12 @@ | |||
52 | /***************************/ | 52 | /***************************/ |
53 | 53 | ||
54 | 54 | ||
55 | #define BLKFIN_DSUBBANKS 4 | 55 | #define BFIN_DSUBBANKS 4 |
56 | #define BLKFIN_DWAYS 2 | 56 | #define BFIN_DWAYS 2 |
57 | #define BLKFIN_DLINES 64 | 57 | #define BFIN_DLINES 64 |
58 | #define BLKFIN_ISUBBANKS 4 | 58 | #define BFIN_ISUBBANKS 4 |
59 | #define BLKFIN_IWAYS 4 | 59 | #define BFIN_IWAYS 4 |
60 | #define BLKFIN_ILINES 32 | 60 | #define BFIN_ILINES 32 |
61 | 61 | ||
62 | #define WAY0_L 0x1 | 62 | #define WAY0_L 0x1 |
63 | #define WAY1_L 0x2 | 63 | #define WAY1_L 0x2 |
@@ -141,97 +141,6 @@ | |||
141 | 141 | ||
142 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO) | 142 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO) |
143 | 143 | ||
144 | #define MAX_VC 650000000 | ||
145 | #define MIN_VC 50000000 | ||
146 | |||
147 | #ifdef CONFIG_BFIN_KERNEL_CLOCK | ||
148 | /********************************PLL Settings **************************************/ | ||
149 | #if (CONFIG_VCO_MULT < 0) | ||
150 | #error "VCO Multiplier is less than 0. Please select a different value" | ||
151 | #endif | ||
152 | |||
153 | #if (CONFIG_VCO_MULT == 0) | ||
154 | #error "VCO Multiplier should be greater than 0. Please select a different value" | ||
155 | #endif | ||
156 | |||
157 | #if (CONFIG_VCO_MULT > 64) | ||
158 | #error "VCO Multiplier is more than 64. Please select a different value" | ||
159 | #endif | ||
160 | |||
161 | #ifndef CONFIG_CLKIN_HALF | ||
162 | #define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | ||
163 | #else | ||
164 | #define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) | ||
165 | #endif | ||
166 | |||
167 | #ifndef CONFIG_PLL_BYPASS | ||
168 | #define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) | ||
169 | #define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) | ||
170 | #else | ||
171 | #define CONFIG_CCLK_HZ CONFIG_CLKIN_HZ | ||
172 | #define CONFIG_SCLK_HZ CONFIG_CLKIN_HZ | ||
173 | #endif | ||
174 | |||
175 | #if (CONFIG_SCLK_DIV < 1) | ||
176 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
177 | #endif | ||
178 | |||
179 | #if (CONFIG_SCLK_DIV > 15) | ||
180 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
181 | #endif | ||
182 | |||
183 | #if (CONFIG_CCLK_DIV != 1) | ||
184 | #if (CONFIG_CCLK_DIV != 2) | ||
185 | #if (CONFIG_CCLK_DIV != 4) | ||
186 | #if (CONFIG_CCLK_DIV != 8) | ||
187 | #error "CCLK DIV can be 1,2,4 or 8 only. Please select a proper value" | ||
188 | #endif | ||
189 | #endif | ||
190 | #endif | ||
191 | #endif | ||
192 | |||
193 | #if (CONFIG_VCO_HZ > MAX_VC) | ||
194 | #error "VCO selected is more than maximum value. Please change the VCO multipler" | ||
195 | #endif | ||
196 | |||
197 | #if (CONFIG_SCLK_HZ > 133000000) | ||
198 | #error "Sclk value selected is more than maximum. Please select a proper value for SCLK multiplier" | ||
199 | #endif | ||
200 | |||
201 | #if (CONFIG_SCLK_HZ < 27000000) | ||
202 | #error "Sclk value selected is less than minimum. Please select a proper value for SCLK multiplier" | ||
203 | #endif | ||
204 | |||
205 | #if (CONFIG_SCLK_HZ > CONFIG_CCLK_HZ) | ||
206 | #if (CONFIG_SCLK_HZ != CONFIG_CLKIN_HZ) | ||
207 | #if (CONFIG_CCLK_HZ != CONFIG_CLKIN_HZ) | ||
208 | #error "Please select sclk less than cclk" | ||
209 | #endif | ||
210 | #endif | ||
211 | #endif | ||
212 | |||
213 | #if (CONFIG_CCLK_DIV == 1) | ||
214 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV1 | ||
215 | #endif | ||
216 | #if (CONFIG_CCLK_DIV == 2) | ||
217 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV2 | ||
218 | #endif | ||
219 | #if (CONFIG_CCLK_DIV == 4) | ||
220 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV4 | ||
221 | #endif | ||
222 | #if (CONFIG_CCLK_DIV == 8) | ||
223 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV8 | ||
224 | #endif | ||
225 | #ifndef CONFIG_CCLK_ACT_DIV | ||
226 | #define CONFIG_CCLK_ACT_DIV CONFIG_CCLK_DIV_not_defined_properly | ||
227 | #endif | ||
228 | |||
229 | #if defined(ANOMALY_05000273) && (CONFIG_CCLK_DIV == 1) | ||
230 | #error ANOMALY 05000273, please make sure CCLK is at least 2x SCLK | ||
231 | #endif | ||
232 | |||
233 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | ||
234 | |||
235 | #ifdef CONFIG_BF533 | 144 | #ifdef CONFIG_BF533 |
236 | #define CPU "BF533" | 145 | #define CPU "BF533" |
237 | #define CPUID 0x027a5000 | 146 | #define CPUID 0x027a5000 |
@@ -249,58 +158,4 @@ | |||
249 | #define CPUID 0x0 | 158 | #define CPUID 0x0 |
250 | #endif | 159 | #endif |
251 | 160 | ||
252 | #if (CONFIG_MEM_SIZE % 4) | ||
253 | #error "SDRAM mem size must be multible of 4MB" | ||
254 | #endif | ||
255 | |||
256 | #define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) | ||
257 | #define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) | ||
258 | #define L1_IMEMORY ( CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) | ||
259 | #define SDRAM_INON_CHBL ( CPLB_USER_RD | CPLB_VALID) | ||
260 | |||
261 | /*Use the menuconfig cache policy here - CONFIG_BLKFIN_WT/CONFIG_BLKFIN_WB*/ | ||
262 | |||
263 | #define ANOMALY_05000158_WORKAROUND 0x200 | ||
264 | #ifdef CONFIG_BLKFIN_WB /*Write Back Policy */ | ||
265 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_DIRTY \ | ||
266 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
267 | #else /*Write Through */ | ||
268 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_DIRTY \ | ||
269 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
270 | #endif | ||
271 | |||
272 | #define L1_DMEMORY (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) | ||
273 | #define SDRAM_DNON_CHBL (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY) | ||
274 | #define SDRAM_EBIU (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY) | ||
275 | #define SDRAM_OOPS (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) | ||
276 | |||
277 | #define SIZE_1K 0x00000400 /* 1K */ | ||
278 | #define SIZE_4K 0x00001000 /* 4K */ | ||
279 | #define SIZE_1M 0x00100000 /* 1M */ | ||
280 | #define SIZE_4M 0x00400000 /* 4M */ | ||
281 | |||
282 | #define MAX_CPLBS (16 * 2) | ||
283 | |||
284 | /* | ||
285 | * Number of required data CPLB switchtable entries | ||
286 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
287 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
288 | * 1 for L1 Data Memory | ||
289 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
290 | * 1 for ASYNC Memory | ||
291 | */ | ||
292 | |||
293 | |||
294 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1) * 2) | ||
295 | |||
296 | /* | ||
297 | * Number of required instruction CPLB switchtable entries | ||
298 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
299 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
300 | * 1 for L1 Instruction Memory | ||
301 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
302 | */ | ||
303 | |||
304 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1) * 2) | ||
305 | |||
306 | #endif /* __MACH_BF533_H__ */ | 161 | #endif /* __MACH_BF533_H__ */ |
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h index e043cafa3c42..69b9f8e120e9 100644 --- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/serial.h> | 1 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 2 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | ||
3 | 4 | ||
4 | #define NR_PORTS 1 | 5 | #define NR_PORTS 1 |
5 | 6 | ||
@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
92 | } | 93 | } |
93 | }; | 94 | }; |
94 | 95 | ||
96 | #define DRIVER_NAME "bfin-uart" | ||
95 | 97 | ||
96 | int nr_ports = NR_PORTS; | 98 | int nr_ports = NR_PORTS; |
97 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 99 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
98 | { | 100 | { |
99 | 101 | ||
102 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
103 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
104 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
105 | #endif | ||
106 | |||
100 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS | 107 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS |
101 | if (uart->cts_pin >= 0) { | 108 | if (uart->cts_pin >= 0) { |
102 | gpio_request(uart->cts_pin, NULL); | 109 | gpio_request(uart->cts_pin, DRIVER_NAME); |
103 | gpio_direction_input(uart->cts_pin); | 110 | gpio_direction_input(uart->cts_pin); |
104 | } | 111 | } |
105 | if (uart->rts_pin >= 0) { | 112 | if (uart->rts_pin >= 0) { |
106 | gpio_request(uart->rts_pin, NULL); | 113 | gpio_request(uart->rts_pin, DRIVER_NAME); |
107 | gpio_direction_input(uart->rts_pin); | 114 | gpio_direction_input(uart->rts_pin); |
108 | } | 115 | } |
109 | #endif | 116 | #endif |
diff --git a/include/asm-blackfin/mach-bf533/blackfin.h b/include/asm-blackfin/mach-bf533/blackfin.h index e4384491e972..f3b240abf170 100644 --- a/include/asm-blackfin/mach-bf533/blackfin.h +++ b/include/asm-blackfin/mach-bf533/blackfin.h | |||
@@ -38,7 +38,7 @@ | |||
38 | #include "defBF532.h" | 38 | #include "defBF532.h" |
39 | #include "anomaly.h" | 39 | #include "anomaly.h" |
40 | 40 | ||
41 | #if !(defined(__ASSEMBLY__) || defined(ASSEMBLY)) | 41 | #if !defined(__ASSEMBLY__) |
42 | #include "cdefBF532.h" | 42 | #include "cdefBF532.h" |
43 | #endif | 43 | #endif |
44 | 44 | ||
diff --git a/include/asm-blackfin/mach-bf533/cdefBF532.h b/include/asm-blackfin/mach-bf533/cdefBF532.h index 74f967b235e2..c803e14b529c 100644 --- a/include/asm-blackfin/mach-bf533/cdefBF532.h +++ b/include/asm-blackfin/mach-bf533/cdefBF532.h | |||
@@ -30,11 +30,9 @@ | |||
30 | 30 | ||
31 | #ifndef _CDEF_BF532_H | 31 | #ifndef _CDEF_BF532_H |
32 | #define _CDEF_BF532_H | 32 | #define _CDEF_BF532_H |
33 | /* | 33 | |
34 | #if !defined(__ADSPLPBLACKFIN__) | 34 | #include <asm/blackfin.h> |
35 | #warning cdefBF532.h should only be included for 532 compatible chips. | 35 | |
36 | #endif | ||
37 | */ | ||
38 | /*include all Core registers and bit definitions*/ | 36 | /*include all Core registers and bit definitions*/ |
39 | #include "defBF532.h" | 37 | #include "defBF532.h" |
40 | 38 | ||
@@ -65,7 +63,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
65 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | 63 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); |
66 | 64 | ||
67 | bfin_write16(VR_CTL, val); | 65 | bfin_write16(VR_CTL, val); |
68 | __builtin_bfin_ssync(); | 66 | SSYNC(); |
69 | 67 | ||
70 | local_irq_save(flags); | 68 | local_irq_save(flags); |
71 | asm("IDLE;"); | 69 | asm("IDLE;"); |
@@ -132,10 +130,6 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
132 | /* General Purpose IO (0xFFC0 2400-0xFFC0 27FF) */ | 130 | /* General Purpose IO (0xFFC0 2400-0xFFC0 27FF) */ |
133 | #define bfin_read_FIO_DIR() bfin_read16(FIO_DIR) | 131 | #define bfin_read_FIO_DIR() bfin_read16(FIO_DIR) |
134 | #define bfin_write_FIO_DIR(val) bfin_write16(FIO_DIR,val) | 132 | #define bfin_write_FIO_DIR(val) bfin_write16(FIO_DIR,val) |
135 | #define bfin_read_FIO_FLAG_C() bfin_read16(FIO_FLAG_C) | ||
136 | #define bfin_write_FIO_FLAG_C(val) bfin_write16(FIO_FLAG_C,val) | ||
137 | #define bfin_read_FIO_FLAG_S() bfin_read16(FIO_FLAG_S) | ||
138 | #define bfin_write_FIO_FLAG_S(val) bfin_write16(FIO_FLAG_S,val) | ||
139 | #define bfin_read_FIO_MASKA_C() bfin_read16(FIO_MASKA_C) | 133 | #define bfin_read_FIO_MASKA_C() bfin_read16(FIO_MASKA_C) |
140 | #define bfin_write_FIO_MASKA_C(val) bfin_write16(FIO_MASKA_C,val) | 134 | #define bfin_write_FIO_MASKA_C(val) bfin_write16(FIO_MASKA_C,val) |
141 | #define bfin_read_FIO_MASKA_S() bfin_read16(FIO_MASKA_S) | 135 | #define bfin_read_FIO_MASKA_S() bfin_read16(FIO_MASKA_S) |
@@ -152,10 +146,6 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
152 | #define bfin_write_FIO_BOTH(val) bfin_write16(FIO_BOTH,val) | 146 | #define bfin_write_FIO_BOTH(val) bfin_write16(FIO_BOTH,val) |
153 | #define bfin_read_FIO_INEN() bfin_read16(FIO_INEN) | 147 | #define bfin_read_FIO_INEN() bfin_read16(FIO_INEN) |
154 | #define bfin_write_FIO_INEN(val) bfin_write16(FIO_INEN,val) | 148 | #define bfin_write_FIO_INEN(val) bfin_write16(FIO_INEN,val) |
155 | #define bfin_read_FIO_FLAG_D() bfin_read16(FIO_FLAG_D) | ||
156 | #define bfin_write_FIO_FLAG_D(val) bfin_write16(FIO_FLAG_D,val) | ||
157 | #define bfin_read_FIO_FLAG_T() bfin_read16(FIO_FLAG_T) | ||
158 | #define bfin_write_FIO_FLAG_T(val) bfin_write16(FIO_FLAG_T,val) | ||
159 | #define bfin_read_FIO_MASKA_D() bfin_read16(FIO_MASKA_D) | 149 | #define bfin_read_FIO_MASKA_D() bfin_read16(FIO_MASKA_D) |
160 | #define bfin_write_FIO_MASKA_D(val) bfin_write16(FIO_MASKA_D,val) | 150 | #define bfin_write_FIO_MASKA_D(val) bfin_write16(FIO_MASKA_D,val) |
161 | #define bfin_read_FIO_MASKA_T() bfin_read16(FIO_MASKA_T) | 151 | #define bfin_read_FIO_MASKA_T() bfin_read16(FIO_MASKA_T) |
@@ -165,6 +155,50 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
165 | #define bfin_read_FIO_MASKB_T() bfin_read16(FIO_MASKB_T) | 155 | #define bfin_read_FIO_MASKB_T() bfin_read16(FIO_MASKB_T) |
166 | #define bfin_write_FIO_MASKB_T(val) bfin_write16(FIO_MASKB_T,val) | 156 | #define bfin_write_FIO_MASKB_T(val) bfin_write16(FIO_MASKB_T,val) |
167 | 157 | ||
158 | |||
159 | #if ANOMALY_05000311 | ||
160 | #define BFIN_WRITE_FIO_FLAG(name) \ | ||
161 | static __inline__ void bfin_write_FIO_FLAG_ ## name (unsigned short val)\ | ||
162 | {\ | ||
163 | unsigned long flags;\ | ||
164 | local_irq_save(flags);\ | ||
165 | bfin_write16(FIO_FLAG_ ## name,val);\ | ||
166 | bfin_read_CHIPID();\ | ||
167 | local_irq_restore(flags);\ | ||
168 | } | ||
169 | BFIN_WRITE_FIO_FLAG(D) | ||
170 | BFIN_WRITE_FIO_FLAG(C) | ||
171 | BFIN_WRITE_FIO_FLAG(S) | ||
172 | BFIN_WRITE_FIO_FLAG(T) | ||
173 | |||
174 | #define BFIN_READ_FIO_FLAG(name) \ | ||
175 | static __inline__ unsigned short bfin_read_FIO_FLAG_ ## name (void)\ | ||
176 | {\ | ||
177 | unsigned long flags;\ | ||
178 | unsigned short ret;\ | ||
179 | local_irq_save(flags);\ | ||
180 | ret = bfin_read16(FIO_FLAG_ ## name);\ | ||
181 | bfin_read_CHIPID();\ | ||
182 | local_irq_restore(flags);\ | ||
183 | return ret;\ | ||
184 | } | ||
185 | BFIN_READ_FIO_FLAG(D) | ||
186 | BFIN_READ_FIO_FLAG(C) | ||
187 | BFIN_READ_FIO_FLAG(S) | ||
188 | BFIN_READ_FIO_FLAG(T) | ||
189 | |||
190 | #else | ||
191 | #define bfin_write_FIO_FLAG_D(val) bfin_write16(FIO_FLAG_D,val) | ||
192 | #define bfin_write_FIO_FLAG_C(val) bfin_write16(FIO_FLAG_C,val) | ||
193 | #define bfin_write_FIO_FLAG_S(val) bfin_write16(FIO_FLAG_S,val) | ||
194 | #define bfin_write_FIO_FLAG_T(val) bfin_write16(FIO_FLAG_T,val) | ||
195 | #define bfin_read_FIO_FLAG_T() bfin_read16(FIO_FLAG_T) | ||
196 | #define bfin_read_FIO_FLAG_C() bfin_read16(FIO_FLAG_C) | ||
197 | #define bfin_read_FIO_FLAG_S() bfin_read16(FIO_FLAG_S) | ||
198 | #define bfin_read_FIO_FLAG_D() bfin_read16(FIO_FLAG_D) | ||
199 | #endif | ||
200 | |||
201 | |||
168 | /* DMA Controller */ | 202 | /* DMA Controller */ |
169 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) | 203 | #define bfin_read_DMA0_CONFIG() bfin_read16(DMA0_CONFIG) |
170 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG,val) | 204 | #define bfin_write_DMA0_CONFIG(val) bfin_write16(DMA0_CONFIG,val) |
diff --git a/include/asm-blackfin/mach-bf533/defBF532.h b/include/asm-blackfin/mach-bf533/defBF532.h index 6a3cf93f8b57..37134aaf9954 100644 --- a/include/asm-blackfin/mach-bf533/defBF532.h +++ b/include/asm-blackfin/mach-bf533/defBF532.h | |||
@@ -104,6 +104,7 @@ | |||
104 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 104 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ |
105 | 105 | ||
106 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 106 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
107 | #define SPI0_REGBASE 0xFFC00500 | ||
107 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ | 108 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ |
108 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ | 109 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ |
109 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ | 110 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ |
@@ -928,7 +929,7 @@ | |||
928 | #define GM 0x00000008 /* When RDBR full, get more (=1) data or discard (=0) incoming Data */ | 929 | #define GM 0x00000008 /* When RDBR full, get more (=1) data or discard (=0) incoming Data */ |
929 | #define PSSE 0x00000010 /* Enable (=1) Slave-Select input for Master. */ | 930 | #define PSSE 0x00000010 /* Enable (=1) Slave-Select input for Master. */ |
930 | #define EMISO 0x00000020 /* Enable (=1) MISO pin as an output. */ | 931 | #define EMISO 0x00000020 /* Enable (=1) MISO pin as an output. */ |
931 | #define SPI_LEN 0x00000100 /* Word length (0 => 8 bits, 1 => 16 bits) */ | 932 | #define SIZE 0x00000100 /* Word length (0 => 8 bits, 1 => 16 bits) */ |
932 | #define LSBF 0x00000200 /* Data format (0 => MSB sent/received first 1 => LSB sent/received first) */ | 933 | #define LSBF 0x00000200 /* Data format (0 => MSB sent/received first 1 => LSB sent/received first) */ |
933 | #define CPHA 0x00000400 /* Clock phase (0 => SPICLK starts toggling in middle of xfer, 1 => SPICLK toggles at the beginning of xfer. */ | 934 | #define CPHA 0x00000400 /* Clock phase (0 => SPICLK starts toggling in middle of xfer, 1 => SPICLK toggles at the beginning of xfer. */ |
934 | #define CPOL 0x00000800 /* Clock polarity (0 => active-high, 1 => active-low) */ | 935 | #define CPOL 0x00000800 /* Clock polarity (0 => active-high, 1 => active-low) */ |
diff --git a/include/asm-blackfin/mach-bf533/irq.h b/include/asm-blackfin/mach-bf533/irq.h index 9879e68e315c..452fb825d891 100644 --- a/include/asm-blackfin/mach-bf533/irq.h +++ b/include/asm-blackfin/mach-bf533/irq.h | |||
@@ -128,6 +128,8 @@ Core Emulation ** | |||
128 | #define IRQ_PF14 47 | 128 | #define IRQ_PF14 47 |
129 | #define IRQ_PF15 48 | 129 | #define IRQ_PF15 48 |
130 | 130 | ||
131 | #define GPIO_IRQ_BASE IRQ_PF0 | ||
132 | |||
131 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO | 133 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO |
132 | #define NR_IRQS (IRQ_PF15+1) | 134 | #define NR_IRQS (IRQ_PF15+1) |
133 | #else | 135 | #else |
diff --git a/include/asm-blackfin/mach-bf533/mem_map.h b/include/asm-blackfin/mach-bf533/mem_map.h index e84baa3e939d..94d8c4062eb7 100644 --- a/include/asm-blackfin/mach-bf533/mem_map.h +++ b/include/asm-blackfin/mach-bf533/mem_map.h | |||
@@ -51,10 +51,10 @@ | |||
51 | 51 | ||
52 | /* Level 1 Memory */ | 52 | /* Level 1 Memory */ |
53 | 53 | ||
54 | #ifdef CONFIG_BLKFIN_CACHE | 54 | #ifdef CONFIG_BFIN_ICACHE |
55 | #define BLKFIN_ICACHESIZE (16*1024) | 55 | #define BFIN_ICACHESIZE (16*1024) |
56 | #else | 56 | #else |
57 | #define BLKFIN_ICACHESIZE (0*1024) | 57 | #define BFIN_ICACHESIZE (0*1024) |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | /* Memory Map for ADSP-BF533 processors */ | 60 | /* Memory Map for ADSP-BF533 processors */ |
@@ -64,35 +64,35 @@ | |||
64 | #define L1_DATA_A_START 0xFF800000 | 64 | #define L1_DATA_A_START 0xFF800000 |
65 | #define L1_DATA_B_START 0xFF900000 | 65 | #define L1_DATA_B_START 0xFF900000 |
66 | 66 | ||
67 | #ifdef CONFIG_BLKFIN_CACHE | 67 | #ifdef CONFIG_BFIN_ICACHE |
68 | #define L1_CODE_LENGTH (0x14000 - 0x4000) | 68 | #define L1_CODE_LENGTH (0x14000 - 0x4000) |
69 | #else | 69 | #else |
70 | #define L1_CODE_LENGTH 0x14000 | 70 | #define L1_CODE_LENGTH 0x14000 |
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | #ifdef CONFIG_BLKFIN_DCACHE | 73 | #ifdef CONFIG_BFIN_DCACHE |
74 | 74 | ||
75 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 75 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
76 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 76 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
77 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 77 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
78 | #define L1_DATA_B_LENGTH 0x8000 | 78 | #define L1_DATA_B_LENGTH 0x8000 |
79 | #define BLKFIN_DCACHESIZE (16*1024) | 79 | #define BFIN_DCACHESIZE (16*1024) |
80 | #define BLKFIN_DSUPBANKS 1 | 80 | #define BFIN_DSUPBANKS 1 |
81 | #else | 81 | #else |
82 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 82 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
83 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 83 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
84 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) | 84 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) |
85 | #define BLKFIN_DCACHESIZE (32*1024) | 85 | #define BFIN_DCACHESIZE (32*1024) |
86 | #define BLKFIN_DSUPBANKS 2 | 86 | #define BFIN_DSUPBANKS 2 |
87 | #endif | 87 | #endif |
88 | 88 | ||
89 | #else | 89 | #else |
90 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 90 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
91 | #define L1_DATA_A_LENGTH 0x8000 | 91 | #define L1_DATA_A_LENGTH 0x8000 |
92 | #define L1_DATA_B_LENGTH 0x8000 | 92 | #define L1_DATA_B_LENGTH 0x8000 |
93 | #define BLKFIN_DCACHESIZE (0*1024) | 93 | #define BFIN_DCACHESIZE (0*1024) |
94 | #define BLKFIN_DSUPBANKS 0 | 94 | #define BFIN_DSUPBANKS 0 |
95 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 95 | #endif /*CONFIG_BFIN_DCACHE*/ |
96 | #endif | 96 | #endif |
97 | 97 | ||
98 | /* Memory Map for ADSP-BF532 processors */ | 98 | /* Memory Map for ADSP-BF532 processors */ |
@@ -102,36 +102,36 @@ | |||
102 | #define L1_DATA_A_START 0xFF804000 | 102 | #define L1_DATA_A_START 0xFF804000 |
103 | #define L1_DATA_B_START 0xFF904000 | 103 | #define L1_DATA_B_START 0xFF904000 |
104 | 104 | ||
105 | #ifdef CONFIG_BLKFIN_CACHE | 105 | #ifdef CONFIG_BFIN_ICACHE |
106 | #define L1_CODE_LENGTH (0xC000 - 0x4000) | 106 | #define L1_CODE_LENGTH (0xC000 - 0x4000) |
107 | #else | 107 | #else |
108 | #define L1_CODE_LENGTH 0xC000 | 108 | #define L1_CODE_LENGTH 0xC000 |
109 | #endif | 109 | #endif |
110 | 110 | ||
111 | #ifdef CONFIG_BLKFIN_DCACHE | 111 | #ifdef CONFIG_BFIN_DCACHE |
112 | 112 | ||
113 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 113 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
114 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 114 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
115 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) | 115 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) |
116 | #define L1_DATA_B_LENGTH 0x4000 | 116 | #define L1_DATA_B_LENGTH 0x4000 |
117 | #define BLKFIN_DCACHESIZE (16*1024) | 117 | #define BFIN_DCACHESIZE (16*1024) |
118 | #define BLKFIN_DSUPBANKS 1 | 118 | #define BFIN_DSUPBANKS 1 |
119 | 119 | ||
120 | #else | 120 | #else |
121 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 121 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
122 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) | 122 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) |
123 | #define L1_DATA_B_LENGTH (0x4000 - 0x4000) | 123 | #define L1_DATA_B_LENGTH (0x4000 - 0x4000) |
124 | #define BLKFIN_DCACHESIZE (32*1024) | 124 | #define BFIN_DCACHESIZE (32*1024) |
125 | #define BLKFIN_DSUPBANKS 2 | 125 | #define BFIN_DSUPBANKS 2 |
126 | #endif | 126 | #endif |
127 | 127 | ||
128 | #else | 128 | #else |
129 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 129 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
130 | #define L1_DATA_A_LENGTH 0x4000 | 130 | #define L1_DATA_A_LENGTH 0x4000 |
131 | #define L1_DATA_B_LENGTH 0x4000 | 131 | #define L1_DATA_B_LENGTH 0x4000 |
132 | #define BLKFIN_DCACHESIZE (0*1024) | 132 | #define BFIN_DCACHESIZE (0*1024) |
133 | #define BLKFIN_DSUPBANKS 0 | 133 | #define BFIN_DSUPBANKS 0 |
134 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 134 | #endif /*CONFIG_BFIN_DCACHE*/ |
135 | #endif | 135 | #endif |
136 | 136 | ||
137 | /* Memory Map for ADSP-BF531 processors */ | 137 | /* Memory Map for ADSP-BF531 processors */ |
@@ -144,16 +144,16 @@ | |||
144 | #define L1_DATA_B_LENGTH 0x0000 | 144 | #define L1_DATA_B_LENGTH 0x0000 |
145 | 145 | ||
146 | 146 | ||
147 | #ifdef CONFIG_BLKFIN_DCACHE | 147 | #ifdef CONFIG_BFIN_DCACHE |
148 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 148 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
149 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) | 149 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) |
150 | #define BLKFIN_DCACHESIZE (16*1024) | 150 | #define BFIN_DCACHESIZE (16*1024) |
151 | #define BLKFIN_DSUPBANKS 1 | 151 | #define BFIN_DSUPBANKS 1 |
152 | #else | 152 | #else |
153 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 153 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
154 | #define L1_DATA_A_LENGTH 0x4000 | 154 | #define L1_DATA_A_LENGTH 0x4000 |
155 | #define BLKFIN_DCACHESIZE (0*1024) | 155 | #define BFIN_DCACHESIZE (0*1024) |
156 | #define BLKFIN_DSUPBANKS 0 | 156 | #define BFIN_DSUPBANKS 0 |
157 | #endif | 157 | #endif |
158 | 158 | ||
159 | #endif | 159 | #endif |
diff --git a/include/asm-blackfin/mach-bf537/anomaly.h b/include/asm-blackfin/mach-bf537/anomaly.h index 4453e614c3b1..2b66ecf489f7 100644 --- a/include/asm-blackfin/mach-bf537/anomaly.h +++ b/include/asm-blackfin/mach-bf537/anomaly.h | |||
@@ -1,139 +1,144 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * File: include/asm-blackfin/mach-bf537/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf537/anomaly.h |
4 | * Based on: | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
5 | * Author: | ||
6 | * | ||
7 | * Created: | ||
8 | * Description: | ||
9 | * | ||
10 | * Rev: | ||
11 | * | ||
12 | * Modified: | ||
13 | * | ||
14 | * | ||
15 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | ||
18 | * it under the terms of the GNU General Public License as published by | ||
19 | * the Free Software Foundation; either version 2, or (at your option) | ||
20 | * any later version. | ||
21 | * | 4 | * |
22 | * This program is distributed in the hope that it will be useful, | 5 | * Copyright (C) 2004-2007 Analog Devices Inc. |
23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 6 | * Licensed under the GPL-2 or later. |
24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
25 | * GNU General Public License for more details. | ||
26 | * | ||
27 | * You should have received a copy of the GNU General Public License | ||
28 | * along with this program; see the file COPYING. | ||
29 | * If not, write to the Free Software Foundation, | ||
30 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
31 | */ | 7 | */ |
32 | 8 | ||
33 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
34 | * - Revision J, June 1, 2006; ADSP-BF537 Blackfin Processor Anomaly List | 10 | * - Revision M, March 13, 2007; ADSP-BF537 Blackfin Processor Anomaly List |
35 | * - Revision I, June 1, 2006; ADSP-BF536 Blackfin Processor Anomaly List | 11 | * - Revision L, March 13, 2007; ADSP-BF536 Blackfin Processor Anomaly List |
36 | * - Revision J, June 1, 2006; ADSP-BF534 Blackfin Processor Anomaly List | 12 | * - Revision M, March 13, 2007; ADSP-BF534 Blackfin Processor Anomaly List |
37 | */ | 13 | */ |
38 | 14 | ||
39 | #ifndef _MACH_ANOMALY_H_ | 15 | #ifndef _MACH_ANOMALY_H_ |
40 | #define _MACH_ANOMALY_H_ | 16 | #define _MACH_ANOMALY_H_ |
41 | 17 | ||
42 | /* We do not support 0.1 silicon - sorry */ | 18 | /* We do not support 0.1 silicon - sorry */ |
43 | #if (defined(CONFIG_BF_REV_0_1)) | 19 | #if __SILICON_REVISION__ < 2 |
44 | #error Kernel will not work on BF537/6/4 Version 0.1 | 20 | # error Kernel will not work on BF537 silicon version 0.0 or 0.1 |
45 | #endif | 21 | #endif |
46 | 22 | ||
47 | #if (defined(CONFIG_BF_REV_0_3) || defined(CONFIG_BF_REV_0_2)) | 23 | #if defined(__ADSPBF534__) |
48 | #define ANOMALY_05000074 /* A multi issue instruction with dsp32shiftimm in | 24 | # define ANOMALY_BF534 1 |
49 | slot1 and store of a P register in slot 2 is not | 25 | #else |
50 | supported */ | 26 | # define ANOMALY_BF534 0 |
51 | #define ANOMALY_05000119 /* DMA_RUN bit is not valid after a Peripheral Receive | ||
52 | Channel DMA stops */ | ||
53 | #define ANOMALY_05000122 /* Rx.H can not be used to access 16-bit System MMR | ||
54 | registers. */ | ||
55 | #define ANOMALY_05000166 /* PPI Data Lengths Between 8 and 16 do not zero out | ||
56 | upper bits*/ | ||
57 | #define ANOMALY_05000180 /* PPI_DELAY not functional in PPI modes with 0 frame | ||
58 | syncs */ | ||
59 | #if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) | ||
60 | #define ANOMALY_05000247 /* CLKIN Buffer Output Enable Reset Behavior Is | ||
61 | Changed */ | ||
62 | #endif | ||
63 | #define ANOMALY_05000265 /* Sensitivity to noise with slow input edge rates on | ||
64 | SPORT external receive and transmit clocks. */ | ||
65 | #define ANOMALY_05000272 /* Certain data cache write through modes fail for | ||
66 | VDDint <=0.9V */ | ||
67 | #define ANOMALY_05000273 /* Writes to Synchronous SDRAM memory may be lost */ | ||
68 | #define ANOMALY_05000277 /* Writes to a flag data register one SCLK cycle after | ||
69 | an edge is detected may clear interrupt */ | ||
70 | #define ANOMALY_05000281 /* False Hardware Error Exception when ISR context is | ||
71 | not restored */ | ||
72 | #define ANOMALY_05000282 /* Memory DMA corruption with 32-bit data and traffic | ||
73 | control */ | ||
74 | #define ANOMALY_05000283 /* A system MMR write is stalled indefinitely when | ||
75 | killed in a particular stage*/ | ||
76 | #define ANOMALY_05000310 /* False hardware errors caused by fetches at the | ||
77 | * boundary of reserved memory */ | ||
78 | #define ANOMALY_05000312 /* Errors when SSYNC, CSYNC, or loads to LT, LB and LC | ||
79 | registers are interrupted */ | ||
80 | #define ANOMALY_05000313 /* PPI is level sensitive on first transfer */ | ||
81 | #define ANOMALY_05000322 /* EMAC RMII mode at 10-Base-T speed: RX frames not | ||
82 | * received properly */ | ||
83 | #endif | 27 | #endif |
84 | 28 | #if defined(__ADSPBF536__) | |
85 | #if defined(CONFIG_BF_REV_0_2) | 29 | # define ANOMALY_BF536 1 |
86 | #define ANOMALY_05000244 /* With instruction cache enabled, a CSYNC or SSYNC or | 30 | #else |
87 | IDLE around a Change of Control causes | 31 | # define ANOMALY_BF536 0 |
88 | unpredictable results */ | ||
89 | #define ANOMALY_05000250 /* Incorrect Bit-Shift of Data Word in Multichannel | ||
90 | (TDM) */ | ||
91 | #if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) | ||
92 | #define ANOMALY_05000252 /* EMAC Tx DMA error after an early frame abort */ | ||
93 | #endif | 32 | #endif |
94 | #define ANOMALY_05000253 /* Maximum external clock speed for Timers */ | 33 | #if defined(__ADSPBF537__) |
95 | #define ANOMALY_05000255 /* Entering Hibernate Mode with RTC Seconds event | 34 | # define ANOMALY_BF537 1 |
96 | interrupt not functional */ | 35 | #else |
97 | #if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) | 36 | # define ANOMALY_BF537 0 |
98 | #define ANOMALY_05000256 /* EMAC MDIO input latched on wrong MDC edge */ | ||
99 | #endif | 37 | #endif |
100 | #define ANOMALY_05000257 /* An interrupt or exception during short Hardware | ||
101 | loops may cause the instruction fetch unit to | ||
102 | malfunction */ | ||
103 | #define ANOMALY_05000258 /* Instruction Cache is corrupted when bit 9 and 12 of | ||
104 | the ICPLB Data registers differ */ | ||
105 | #define ANOMALY_05000260 /* ICPLB_STATUS MMR register may be corrupted */ | ||
106 | #define ANOMALY_05000261 /* DCPLB_FAULT_ADDR MMR register may be corrupted */ | ||
107 | #define ANOMALY_05000262 /* Stores to data cache may be lost */ | ||
108 | #define ANOMALY_05000263 /* Hardware loop corrupted when taking an ICPLB exception */ | ||
109 | #define ANOMALY_05000264 /* A Sync instruction (CSYNC, SSYNC) or an IDLE | ||
110 | instruction will cause an infinite stall in the | ||
111 | second to last instruction in a hardware loop */ | ||
112 | #define ANOMALY_05000268 /* Memory DMA error when peripheral DMA is running | ||
113 | and non-zero DEB_TRAFFIC_PERIOD value */ | ||
114 | #define ANOMALY_05000270 /* High I/O activity causes the output voltage of the | ||
115 | internal voltage regulator (VDDint) to decrease */ | ||
116 | #define ANOMALY_05000277 /* Writes to a flag data register one SCLK cycle after | ||
117 | an edge is detected may clear interrupt */ | ||
118 | #define ANOMALY_05000278 /* Disabling Peripherals with DMA running may cause | ||
119 | DMA system instability */ | ||
120 | #define ANOMALY_05000280 /* SPI Master boot mode does not work well with | ||
121 | Atmel Dataflash devices */ | ||
122 | #define ANOMALY_05000281 /* False Hardware Error Exception when ISR context | ||
123 | * is not restored */ | ||
124 | #define ANOMALY_05000282 /* Memory DMA corruption with 32-bit data and traffic | ||
125 | * control */ | ||
126 | #define ANOMALY_05000283 /* System MMR Write Is Stalled Indefinitely When | ||
127 | * Killed in a Particular Stage */ | ||
128 | #define ANOMALY_05000285 /* New Feature: EMAC TX DMA Word Alignment | ||
129 | * (Not Available On Older Silicon) */ | ||
130 | #define ANOMALY_05000288 /* SPORTs may receive bad data if FIFOs fill up */ | ||
131 | #define ANOMALY_05000315 /* Killed System MMR Write Completes Erroneously | ||
132 | * On Next System MMR Access */ | ||
133 | #define ANOMALY_05000316 /* EMAC RMII mode: collisions occur in Full Duplex | ||
134 | * mode */ | ||
135 | #define ANOMALY_05000321 /* EMAC RMII mode: TX frames in half duplex fail with | ||
136 | * status No Carrier */ | ||
137 | #endif /* CONFIG_BF_REV_0_2 */ | ||
138 | 38 | ||
139 | #endif /* _MACH_ANOMALY_H_ */ | 39 | /* Multi-issue instruction with dsp32shiftimm in slot1 and P-reg store in slot 2 not supported */ |
40 | #define ANOMALY_05000074 (1) | ||
41 | /* DMA_RUN bit is not valid after a Peripheral Receive Channel DMA stops */ | ||
42 | #define ANOMALY_05000119 (1) | ||
43 | /* Rx.H cannot be used to access 16-bit System MMR registers */ | ||
44 | #define ANOMALY_05000122 (1) | ||
45 | /* Killed 32-bit MMR write leads to next system MMR access thinking it should be 32-bit */ | ||
46 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 2) | ||
47 | /* PPI_DELAY not functional in PPI modes with 0 frame syncs */ | ||
48 | #define ANOMALY_05000180 (1) | ||
49 | /* Instruction Cache Is Not Functional */ | ||
50 | #define ANOMALY_05000237 (__SILICON_REVISION__ < 2) | ||
51 | /* If i-cache is on, CSYNC/SSYNC/IDLE around Change of Control causes failures */ | ||
52 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 3) | ||
53 | /* Spurious Hardware Error from an access in the shadow of a conditional branch */ | ||
54 | #define ANOMALY_05000245 (1) | ||
55 | /* CLKIN Buffer Output Enable Reset Behavior Is Changed */ | ||
56 | #define ANOMALY_05000247 (1) | ||
57 | /* Incorrect Bit-Shift of Data Word in Multichannel (TDM) mode in certain conditions */ | ||
58 | #define ANOMALY_05000250 (__SILICON_REVISION__ < 3) | ||
59 | /* EMAC Tx DMA error after an early frame abort */ | ||
60 | #define ANOMALY_05000252 (__SILICON_REVISION__ < 3) | ||
61 | /* Maximum external clock speed for Timers */ | ||
62 | #define ANOMALY_05000253 (__SILICON_REVISION__ < 3) | ||
63 | /* Incorrect Timer Pulse Width in Single-Shot PWM_OUT mode with external clock */ | ||
64 | #define ANOMALY_05000254 (__SILICON_REVISION__ > 2) | ||
65 | /* Entering Hibernate Mode with RTC Seconds event interrupt not functional */ | ||
66 | #define ANOMALY_05000255 (__SILICON_REVISION__ < 3) | ||
67 | /* EMAC MDIO input latched on wrong MDC edge */ | ||
68 | #define ANOMALY_05000256 (__SILICON_REVISION__ < 3) | ||
69 | /* Interrupt/Exception during short hardware loop may cause bad instruction fetches */ | ||
70 | #define ANOMALY_05000257 (__SILICON_REVISION__ < 3) | ||
71 | /* Instruction Cache is corrupted when bits 9 and 12 of the ICPLB Data registers differ */ | ||
72 | #define ANOMALY_05000258 (((ANOMALY_BF536 || ANOMALY_BF537) && __SILICON_REVISION__ == 1) || __SILICON_REVISION__ == 2) | ||
73 | /* ICPLB_STATUS MMR register may be corrupted */ | ||
74 | #define ANOMALY_05000260 (__SILICON_REVISION__ == 2) | ||
75 | /* DCPLB_FAULT_ADDR MMR register may be corrupted */ | ||
76 | #define ANOMALY_05000261 (__SILICON_REVISION__ < 3) | ||
77 | /* Stores to data cache may be lost */ | ||
78 | #define ANOMALY_05000262 (__SILICON_REVISION__ < 3) | ||
79 | /* Hardware loop corrupted when taking an ICPLB exception */ | ||
80 | #define ANOMALY_05000263 (__SILICON_REVISION__ == 2) | ||
81 | /* CSYNC/SSYNC/IDLE causes infinite stall in second to last instruction in hardware loop */ | ||
82 | #define ANOMALY_05000264 (__SILICON_REVISION__ < 3) | ||
83 | /* Sensitivity to noise with slow input edge rates on external SPORT TX and RX clocks */ | ||
84 | #define ANOMALY_05000265 (1) | ||
85 | /* Memory DMA error when peripheral DMA is running with non-zero DEB_TRAFFIC_PERIOD */ | ||
86 | #define ANOMALY_05000268 (__SILICON_REVISION__ < 3) | ||
87 | /* High I/O activity causes output voltage of internal voltage regulator (VDDint) to decrease */ | ||
88 | #define ANOMALY_05000270 (__SILICON_REVISION__ < 3) | ||
89 | /* Certain data cache write through modes fail for VDDint <=0.9V */ | ||
90 | #define ANOMALY_05000272 (1) | ||
91 | /* Writes to Synchronous SDRAM memory may be lost */ | ||
92 | #define ANOMALY_05000273 (__SILICON_REVISION__ < 3) | ||
93 | /* Writes to an I/O data register one SCLK cycle after an edge is detected may clear interrupt */ | ||
94 | #define ANOMALY_05000277 (__SILICON_REVISION__ < 3) | ||
95 | /* Disabling Peripherals with DMA running may cause DMA system instability */ | ||
96 | #define ANOMALY_05000278 (((ANOMALY_BF536 || ANOMALY_BF537) && __SILICON_REVISION__ < 3) || (ANOMALY_BF534 && __SILICON_REVISION__ < 2)) | ||
97 | /* SPI Master boot mode does not work well with Atmel Data flash devices */ | ||
98 | #define ANOMALY_05000280 (1) | ||
99 | /* False Hardware Error Exception when ISR context is not restored */ | ||
100 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 3) | ||
101 | /* Memory DMA corruption with 32-bit data and traffic control */ | ||
102 | #define ANOMALY_05000282 (__SILICON_REVISION__ < 3) | ||
103 | /* System MMR Write Is Stalled Indefinitely When Killed in a Particular Stage */ | ||
104 | #define ANOMALY_05000283 (__SILICON_REVISION__ < 3) | ||
105 | /* New Feature: EMAC TX DMA Word Alignment (Not Available On Older Silicon) */ | ||
106 | #define ANOMALY_05000285 (__SILICON_REVISION__ < 3) | ||
107 | /* SPORTs may receive bad data if FIFOs fill up */ | ||
108 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 3) | ||
109 | /* Memory to memory DMA source/destination descriptors must be in same memory space */ | ||
110 | #define ANOMALY_05000301 (1) | ||
111 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ | ||
112 | #define ANOMALY_05000304 (__SILICON_REVISION__ < 3) | ||
113 | /* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ | ||
114 | #define ANOMALY_05000305 (__SILICON_REVISION__ < 3) | ||
115 | /* SCKELOW Bit Does Not Maintain State Through Hibernate */ | ||
116 | #define ANOMALY_05000307 (__SILICON_REVISION__ < 3) | ||
117 | /* Writing UART_THR while UART clock is disabled sends erroneous start bit */ | ||
118 | #define ANOMALY_05000309 (__SILICON_REVISION__ < 3) | ||
119 | /* False hardware errors caused by fetches at the boundary of reserved memory */ | ||
120 | #define ANOMALY_05000310 (1) | ||
121 | /* Errors when SSYNC, CSYNC, or loads to LT, LB and LC registers are interrupted */ | ||
122 | #define ANOMALY_05000312 (1) | ||
123 | /* PPI is level sensitive on first transfer */ | ||
124 | #define ANOMALY_05000313 (1) | ||
125 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ | ||
126 | #define ANOMALY_05000315 (__SILICON_REVISION__ < 3) | ||
127 | /* EMAC RMII mode: collisions occur in Full Duplex mode */ | ||
128 | #define ANOMALY_05000316 (__SILICON_REVISION__ < 3) | ||
129 | /* EMAC RMII mode: TX frames in half duplex fail with status No Carrier */ | ||
130 | #define ANOMALY_05000321 (__SILICON_REVISION__ < 3) | ||
131 | /* EMAC RMII mode at 10-Base-T speed: RX frames not received properly */ | ||
132 | #define ANOMALY_05000322 (1) | ||
133 | |||
134 | /* Anomalies that don't exist on this proc */ | ||
135 | #define ANOMALY_05000125 (0) | ||
136 | #define ANOMALY_05000158 (0) | ||
137 | #define ANOMALY_05000183 (0) | ||
138 | #define ANOMALY_05000198 (0) | ||
139 | #define ANOMALY_05000230 (0) | ||
140 | #define ANOMALY_05000266 (0) | ||
141 | #define ANOMALY_05000311 (0) | ||
142 | #define ANOMALY_05000323 (0) | ||
143 | |||
144 | #endif | ||
diff --git a/include/asm-blackfin/mach-bf537/bf537.h b/include/asm-blackfin/mach-bf537/bf537.h index b8924cd7730c..cfe2a221112e 100644 --- a/include/asm-blackfin/mach-bf537/bf537.h +++ b/include/asm-blackfin/mach-bf537/bf537.h | |||
@@ -62,12 +62,12 @@ | |||
62 | /***************************/ | 62 | /***************************/ |
63 | 63 | ||
64 | 64 | ||
65 | #define BLKFIN_DSUBBANKS 4 | 65 | #define BFIN_DSUBBANKS 4 |
66 | #define BLKFIN_DWAYS 2 | 66 | #define BFIN_DWAYS 2 |
67 | #define BLKFIN_DLINES 64 | 67 | #define BFIN_DLINES 64 |
68 | #define BLKFIN_ISUBBANKS 4 | 68 | #define BFIN_ISUBBANKS 4 |
69 | #define BLKFIN_IWAYS 4 | 69 | #define BFIN_IWAYS 4 |
70 | #define BLKFIN_ILINES 32 | 70 | #define BFIN_ILINES 32 |
71 | 71 | ||
72 | #define WAY0_L 0x1 | 72 | #define WAY0_L 0x1 |
73 | #define WAY1_L 0x2 | 73 | #define WAY1_L 0x2 |
@@ -121,97 +121,6 @@ | |||
121 | 121 | ||
122 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO) | 122 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO) |
123 | 123 | ||
124 | #define MAX_VC 650000000 | ||
125 | #define MIN_VC 50000000 | ||
126 | |||
127 | /********************************PLL Settings **************************************/ | ||
128 | #ifdef CONFIG_BFIN_KERNEL_CLOCK | ||
129 | #if (CONFIG_VCO_MULT < 0) | ||
130 | #error "VCO Multiplier is less than 0. Please select a different value" | ||
131 | #endif | ||
132 | |||
133 | #if (CONFIG_VCO_MULT == 0) | ||
134 | #error "VCO Multiplier should be greater than 0. Please select a different value" | ||
135 | #endif | ||
136 | |||
137 | #if (CONFIG_VCO_MULT > 64) | ||
138 | #error "VCO Multiplier is more than 64. Please select a different value" | ||
139 | #endif | ||
140 | |||
141 | #ifndef CONFIG_CLKIN_HALF | ||
142 | #define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | ||
143 | #else | ||
144 | #define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) | ||
145 | #endif | ||
146 | |||
147 | #ifndef CONFIG_PLL_BYPASS | ||
148 | #define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) | ||
149 | #define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) | ||
150 | #else | ||
151 | #define CONFIG_CCLK_HZ CONFIG_CLKIN_HZ | ||
152 | #define CONFIG_SCLK_HZ CONFIG_CLKIN_HZ | ||
153 | #endif | ||
154 | |||
155 | #if (CONFIG_SCLK_DIV < 1) | ||
156 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
157 | #endif | ||
158 | |||
159 | #if (CONFIG_SCLK_DIV > 15) | ||
160 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
161 | #endif | ||
162 | |||
163 | #if (CONFIG_CCLK_DIV != 1) | ||
164 | #if (CONFIG_CCLK_DIV != 2) | ||
165 | #if (CONFIG_CCLK_DIV != 4) | ||
166 | #if (CONFIG_CCLK_DIV != 8) | ||
167 | #error "CCLK DIV can be 1,2,4 or 8 only. Please select a proper value" | ||
168 | #endif | ||
169 | #endif | ||
170 | #endif | ||
171 | #endif | ||
172 | |||
173 | #if (CONFIG_VCO_HZ > MAX_VC) | ||
174 | #error "VCO selected is more than maximum value. Please change the VCO multipler" | ||
175 | #endif | ||
176 | |||
177 | #if (CONFIG_SCLK_HZ > 133000000) | ||
178 | #error "Sclk value selected is more than maximum. Please select a proper value for SCLK multiplier" | ||
179 | #endif | ||
180 | |||
181 | #if (CONFIG_SCLK_HZ < 27000000) | ||
182 | #error "Sclk value selected is less than minimum. Please select a proper value for SCLK multiplier" | ||
183 | #endif | ||
184 | |||
185 | #if (CONFIG_SCLK_HZ >= CONFIG_CCLK_HZ) | ||
186 | #if (CONFIG_SCLK_HZ != CONFIG_CLKIN_HZ) | ||
187 | #if (CONFIG_CCLK_HZ != CONFIG_CLKIN_HZ) | ||
188 | #error "Please select sclk less than cclk" | ||
189 | #endif | ||
190 | #endif | ||
191 | #endif | ||
192 | |||
193 | #if (CONFIG_CCLK_DIV == 1) | ||
194 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV1 | ||
195 | #endif | ||
196 | #if (CONFIG_CCLK_DIV == 2) | ||
197 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV2 | ||
198 | #endif | ||
199 | #if (CONFIG_CCLK_DIV == 4) | ||
200 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV4 | ||
201 | #endif | ||
202 | #if (CONFIG_CCLK_DIV == 8) | ||
203 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV8 | ||
204 | #endif | ||
205 | #ifndef CONFIG_CCLK_ACT_DIV | ||
206 | #define CONFIG_CCLK_ACT_DIV CONFIG_CCLK_DIV_not_defined_properly | ||
207 | #endif | ||
208 | |||
209 | #if defined(ANOMALY_05000273) && (CONFIG_CCLK_DIV == 1) | ||
210 | #error ANOMALY 05000273, please make sure CCLK is at least 2x SCLK | ||
211 | #endif | ||
212 | |||
213 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | ||
214 | |||
215 | #ifdef CONFIG_BF537 | 124 | #ifdef CONFIG_BF537 |
216 | #define CPU "BF537" | 125 | #define CPU "BF537" |
217 | #define CPUID 0x027c8000 | 126 | #define CPUID 0x027c8000 |
@@ -229,59 +138,4 @@ | |||
229 | #define CPUID 0x0 | 138 | #define CPUID 0x0 |
230 | #endif | 139 | #endif |
231 | 140 | ||
232 | #if (CONFIG_MEM_SIZE % 4) | ||
233 | #error "SDRAM mem size must be multible of 4MB" | ||
234 | #endif | ||
235 | |||
236 | #define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) | ||
237 | #define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) | ||
238 | #define L1_IMEMORY ( CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) | ||
239 | #define SDRAM_INON_CHBL ( CPLB_USER_RD | CPLB_VALID) | ||
240 | |||
241 | /*Use the menuconfig cache policy here - CONFIG_BLKFIN_WT/CONFIG_BLKFIN_WB*/ | ||
242 | |||
243 | #define ANOMALY_05000158_WORKAROUND 0x200 | ||
244 | #ifdef CONFIG_BLKFIN_WB /*Write Back Policy */ | ||
245 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_DIRTY \ | ||
246 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
247 | #else /*Write Through */ | ||
248 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW \ | ||
249 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
250 | #endif | ||
251 | |||
252 | |||
253 | #define L1_DMEMORY (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY ) | ||
254 | #define SDRAM_DNON_CHBL (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
255 | #define SDRAM_EBIU (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
256 | #define SDRAM_OOPS (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY ) | ||
257 | |||
258 | #define SIZE_1K 0x00000400 /* 1K */ | ||
259 | #define SIZE_4K 0x00001000 /* 4K */ | ||
260 | #define SIZE_1M 0x00100000 /* 1M */ | ||
261 | #define SIZE_4M 0x00400000 /* 4M */ | ||
262 | |||
263 | #define MAX_CPLBS (16 * 2) | ||
264 | |||
265 | /* | ||
266 | * Number of required data CPLB switchtable entries | ||
267 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
268 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
269 | * 1 for L1 Data Memory | ||
270 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
271 | * 1 for ASYNC Memory | ||
272 | */ | ||
273 | |||
274 | |||
275 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1) * 2) | ||
276 | |||
277 | /* | ||
278 | * Number of required instruction CPLB switchtable entries | ||
279 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
280 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
281 | * 1 for L1 Instruction Memory | ||
282 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
283 | */ | ||
284 | |||
285 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1) * 2) | ||
286 | |||
287 | #endif /* __MACH_BF537_H__ */ | 141 | #endif /* __MACH_BF537_H__ */ |
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h index 8f5d9c4d8d5b..6fb328f5186a 100644 --- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/serial.h> | 1 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 2 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | ||
3 | 4 | ||
4 | #define NR_PORTS 2 | 5 | #define NR_PORTS 2 |
5 | 6 | ||
@@ -122,25 +123,29 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
122 | 123 | ||
123 | int nr_ports = ARRAY_SIZE(bfin_serial_resource); | 124 | int nr_ports = ARRAY_SIZE(bfin_serial_resource); |
124 | 125 | ||
126 | #define DRIVER_NAME "bfin-uart" | ||
127 | |||
125 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 128 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
126 | { | 129 | { |
127 | unsigned short val; | ||
128 | val = bfin_read16(BFIN_PORT_MUX); | ||
129 | val &= ~(PFDE | PFTE); | ||
130 | bfin_write16(BFIN_PORT_MUX, val); | ||
131 | 130 | ||
132 | val = bfin_read16(PORTF_FER); | 131 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
133 | val |= 0xF; | 132 | peripheral_request(P_UART0_TX, DRIVER_NAME); |
134 | bfin_write16(PORTF_FER, val); | 133 | peripheral_request(P_UART0_RX, DRIVER_NAME); |
134 | #endif | ||
135 | |||
136 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
137 | peripheral_request(P_UART1_TX, DRIVER_NAME); | ||
138 | peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
139 | #endif | ||
135 | 140 | ||
136 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS | 141 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS |
137 | if (uart->cts_pin >= 0) { | 142 | if (uart->cts_pin >= 0) { |
138 | gpio_request(uart->cts_pin, NULL); | 143 | gpio_request(uart->cts_pin, DRIVER_NAME); |
139 | gpio_direction_input(uart->cts_pin); | 144 | gpio_direction_input(uart->cts_pin); |
140 | } | 145 | } |
141 | 146 | ||
142 | if (uart->rts_pin >= 0) { | 147 | if (uart->rts_pin >= 0) { |
143 | gpio_request(uart->rts_pin, NULL); | 148 | gpio_request(uart->rts_pin, DRIVER_NAME); |
144 | gpio_direction_output(uart->rts_pin); | 149 | gpio_direction_output(uart->rts_pin); |
145 | } | 150 | } |
146 | #endif | 151 | #endif |
diff --git a/include/asm-blackfin/mach-bf537/blackfin.h b/include/asm-blackfin/mach-bf537/blackfin.h index bbd97051ec9c..53fcfa3408d0 100644 --- a/include/asm-blackfin/mach-bf537/blackfin.h +++ b/include/asm-blackfin/mach-bf537/blackfin.h | |||
@@ -43,7 +43,7 @@ | |||
43 | #include "defBF537.h" | 43 | #include "defBF537.h" |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | #if !(defined(__ASSEMBLY__) || defined(ASSEMBLY)) | 46 | #if !defined(__ASSEMBLY__) |
47 | #include "cdefBF534.h" | 47 | #include "cdefBF534.h" |
48 | 48 | ||
49 | /* UART 0*/ | 49 | /* UART 0*/ |
@@ -143,284 +143,6 @@ | |||
143 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) | 143 | #define bfin_write_STOPCK_OFF(val) bfin_write_STOPCK(val) |
144 | #define STOPCK_OFF STOPCK | 144 | #define STOPCK_OFF STOPCK |
145 | 145 | ||
146 | /* FIO USE PORT F*/ | ||
147 | #ifdef CONFIG_BF537_PORT_F | ||
148 | #define bfin_read_PORT_FER() bfin_read_PORTF_FER() | ||
149 | #define bfin_write_PORT_FER(val) bfin_write_PORTF_FER(val) | ||
150 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTFIO() | ||
151 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTFIO(val) | ||
152 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTFIO_CLEAR() | ||
153 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTFIO_CLEAR(val) | ||
154 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTFIO_SET() | ||
155 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTFIO_SET(val) | ||
156 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTFIO_TOGGLE() | ||
157 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTFIO_TOGGLE(val) | ||
158 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTFIO_MASKA() | ||
159 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTFIO_MASKA(val) | ||
160 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTFIO_MASKA_CLEAR() | ||
161 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTFIO_MASKA_CLEAR(val) | ||
162 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTFIO_MASKA_SET() | ||
163 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTFIO_MASKA_SET(val) | ||
164 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTFIO_MASKA_TOGGLE() | ||
165 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTFIO_MASKA_TOGGLE(val) | ||
166 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTFIO_MASKB() | ||
167 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTFIO_MASKB(val) | ||
168 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTFIO_MASKB_CLEAR() | ||
169 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTFIO_MASKB_CLEAR(val) | ||
170 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTFIO_MASKB_SET() | ||
171 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTFIO_MASKB_SET(val) | ||
172 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTFIO_MASKB_TOGGLE() | ||
173 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTFIO_MASKB_TOGGLE(val) | ||
174 | #define bfin_read_FIO_DIR() bfin_read_PORTFIO_DIR() | ||
175 | #define bfin_write_FIO_DIR(val) bfin_write_PORTFIO_DIR(val) | ||
176 | #define bfin_read_FIO_POLAR() bfin_read_PORTFIO_POLAR() | ||
177 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTFIO_POLAR(val) | ||
178 | #define bfin_read_FIO_EDGE() bfin_read_PORTFIO_EDGE() | ||
179 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTFIO_EDGE(val) | ||
180 | #define bfin_read_FIO_BOTH() bfin_read_PORTFIO_BOTH() | ||
181 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTFIO_BOTH(val) | ||
182 | #define bfin_read_FIO_INEN() bfin_read_PORTFIO_INEN() | ||
183 | #define bfin_write_FIO_INEN(val) bfin_write_PORTFIO_INEN(val) | ||
184 | |||
185 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTFIO() | ||
186 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTFIO(val) | ||
187 | #define FIO_FLAG_D PORTFIO | ||
188 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTFIO_CLEAR() | ||
189 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTFIO_CLEAR(val) | ||
190 | #define FIO_FLAG_C PORTFIO_CLEAR | ||
191 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTFIO_SET() | ||
192 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTFIO_SET(val) | ||
193 | #define FIO_FLAG_S PORTFIO_SET | ||
194 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTFIO_TOGGLE() | ||
195 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTFIO_TOGGLE(val) | ||
196 | #define FIO_FLAG_T PORTFIO_TOGGLE | ||
197 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTFIO_MASKA() | ||
198 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTFIO_MASKA(val) | ||
199 | #define FIO_MASKA_D PORTFIO_MASKA | ||
200 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTFIO_MASKA_CLEAR() | ||
201 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTFIO_MASKA_CLEAR(val) | ||
202 | #define FIO_MASKA_C PORTFIO_MASKA_CLEAR | ||
203 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTFIO_MASKA_SET() | ||
204 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTFIO_MASKA_SET(val) | ||
205 | #define FIO_MASKA_S PORTFIO_MASKA_SET | ||
206 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTFIO_MASKA_TOGGLE() | ||
207 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTFIO_MASKA_TOGGLE(val) | ||
208 | #define FIO_MASKA_T PORTFIO_MASKA_TOGGLE | ||
209 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTFIO_MASKB() | ||
210 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTFIO_MASKB(val) | ||
211 | #define FIO_MASKB_D PORTFIO_MASKB | ||
212 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTFIO_MASKB_CLEAR() | ||
213 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTFIO_MASKB_CLEAR(val) | ||
214 | #define FIO_MASKB_C PORTFIO_MASKB_CLEAR | ||
215 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTFIO_MASKB_SET() | ||
216 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTFIO_MASKB_SET(val) | ||
217 | #define FIO_MASKB_S PORTFIO_MASKB_SET | ||
218 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTFIO_MASKB_TOGGLE() | ||
219 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTFIO_MASKB_TOGGLE(val) | ||
220 | #define FIO_MASKB_T PORTFIO_MASKB_TOGGLE | ||
221 | #define bfin_read_FIO_DIR() bfin_read_PORTFIO_DIR() | ||
222 | #define bfin_write_FIO_DIR(val) bfin_write_PORTFIO_DIR(val) | ||
223 | #define FIO_DIR PORTFIO_DIR | ||
224 | #define bfin_read_FIO_POLAR() bfin_read_PORTFIO_POLAR() | ||
225 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTFIO_POLAR(val) | ||
226 | #define FIO_POLAR PORTFIO_POLAR | ||
227 | #define bfin_read_FIO_EDGE() bfin_read_PORTFIO_EDGE() | ||
228 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTFIO_EDGE(val) | ||
229 | #define FIO_EDGE PORTFIO_EDGE | ||
230 | #define bfin_read_FIO_BOTH() bfin_read_PORTFIO_BOTH() | ||
231 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTFIO_BOTH(val) | ||
232 | #define FIO_BOTH PORTFIO_BOTH | ||
233 | #define bfin_read_FIO_INEN() bfin_read_PORTFIO_INEN() | ||
234 | #define bfin_write_FIO_INEN(val) bfin_write_PORTFIO_INEN(val) | ||
235 | #define FIO_INEN PORTFIO_INEN | ||
236 | #endif | ||
237 | |||
238 | /* FIO USE PORT G*/ | ||
239 | #ifdef CONFIG_BF537_PORT_G | ||
240 | #define bfin_read_PORT_FER() bfin_read_PORTG_FER() | ||
241 | #define bfin_write_PORT_FER(val) bfin_write_PORTG_FER(val) | ||
242 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTGIO() | ||
243 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTGIO(val) | ||
244 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTGIO_CLEAR() | ||
245 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTGIO_CLEAR(val) | ||
246 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTGIO_SET() | ||
247 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTGIO_SET(val) | ||
248 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTGIO_TOGGLE() | ||
249 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTGIO_TOGGLE(val) | ||
250 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTGIO_MASKA() | ||
251 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTGIO_MASKA(val) | ||
252 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTGIO_MASKA_CLEAR() | ||
253 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTGIO_MASKA_CLEAR(val) | ||
254 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTGIO_MASKA_SET() | ||
255 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTGIO_MASKA_SET(val) | ||
256 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTGIO_MASKA_TOGGLE() | ||
257 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTGIO_MASKA_TOGGLE(val) | ||
258 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTGIO_MASKB() | ||
259 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTGIO_MASKB(val) | ||
260 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTGIO_MASKB_CLEAR() | ||
261 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTGIO_MASKB_CLEAR(val) | ||
262 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTGIO_MASKB_SET() | ||
263 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTGIO_MASKB_SET(val) | ||
264 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTGIO_MASKB_TOGGLE() | ||
265 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTGIO_MASKB_TOGGLE(val) | ||
266 | #define bfin_read_FIO_DIR() bfin_read_PORTGIO_DIR() | ||
267 | #define bfin_write_FIO_DIR(val) bfin_write_PORTGIO_DIR(val) | ||
268 | #define bfin_read_FIO_POLAR() bfin_read_PORTGIO_POLAR() | ||
269 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTGIO_POLAR(val) | ||
270 | #define bfin_read_FIO_EDGE() bfin_read_PORTGIO_EDGE() | ||
271 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTGIO_EDGE(val) | ||
272 | #define bfin_read_FIO_BOTH() bfin_read_PORTGIO_BOTH() | ||
273 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTGIO_BOTH(val) | ||
274 | #define bfin_read_FIO_INEN() bfin_read_PORTGIO_INEN() | ||
275 | #define bfin_write_FIO_INEN(val) bfin_write_PORTGIO_INEN(val) | ||
276 | |||
277 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTGIO() | ||
278 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTGIO(val) | ||
279 | #define FIO_FLAG_D PORTGIO | ||
280 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTGIO_CLEAR() | ||
281 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTGIO_CLEAR(val) | ||
282 | #define FIO_FLAG_C PORTGIO_CLEAR | ||
283 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTGIO_SET() | ||
284 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTGIO_SET(val) | ||
285 | #define FIO_FLAG_S PORTGIO_SET | ||
286 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTGIO_TOGGLE() | ||
287 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTGIO_TOGGLE(val) | ||
288 | #define FIO_FLAG_T PORTGIO_TOGGLE | ||
289 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTGIO_MASKA() | ||
290 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTGIO_MASKA(val) | ||
291 | #define FIO_MASKA_D PORTGIO_MASKA | ||
292 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTGIO_MASKA_CLEAR() | ||
293 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTGIO_MASKA_CLEAR(val) | ||
294 | #define FIO_MASKA_C PORTGIO_MASKA_CLEAR | ||
295 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTGIO_MASKA_SET() | ||
296 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTGIO_MASKA_SET(val) | ||
297 | #define FIO_MASKA_S PORTGIO_MASKA_SET | ||
298 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTGIO_MASKA_TOGGLE() | ||
299 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTGIO_MASKA_TOGGLE(val) | ||
300 | #define FIO_MASKA_T PORTGIO_MASKA_TOGGLE | ||
301 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTGIO_MASKB() | ||
302 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTGIO_MASKB(val) | ||
303 | #define FIO_MASKB_D PORTGIO_MASKB | ||
304 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTGIO_MASKB_CLEAR() | ||
305 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTGIO_MASKB_CLEAR(val) | ||
306 | #define FIO_MASKB_C PORTGIO_MASKB_CLEAR | ||
307 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTGIO_MASKB_SET() | ||
308 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTGIO_MASKB_SET(val) | ||
309 | #define FIO_MASKB_S PORTGIO_MASKB_SET | ||
310 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTGIO_MASKB_TOGGLE() | ||
311 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTGIO_MASKB_TOGGLE(val) | ||
312 | #define FIO_MASKB_T PORTGIO_MASKB_TOGGLE | ||
313 | #define bfin_read_FIO_DIR() bfin_read_PORTGIO_DIR() | ||
314 | #define bfin_write_FIO_DIR(val) bfin_write_PORTGIO_DIR(val) | ||
315 | #define FIO_DIR PORTGIO_DIR | ||
316 | #define bfin_read_FIO_POLAR() bfin_read_PORTGIO_POLAR() | ||
317 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTGIO_POLAR(val) | ||
318 | #define FIO_POLAR PORTGIO_POLAR | ||
319 | #define bfin_read_FIO_EDGE() bfin_read_PORTGIO_EDGE() | ||
320 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTGIO_EDGE(val) | ||
321 | #define FIO_EDGE PORTGIO_EDGE | ||
322 | #define bfin_read_FIO_BOTH() bfin_read_PORTGIO_BOTH() | ||
323 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTGIO_BOTH(val) | ||
324 | #define FIO_BOTH PORTGIO_BOTH | ||
325 | #define bfin_read_FIO_INEN() bfin_read_PORTGIO_INEN() | ||
326 | #define bfin_write_FIO_INEN(val) bfin_write_PORTGIO_INEN(val) | ||
327 | #define FIO_INEN PORTGIO_INEN | ||
328 | |||
329 | #endif | ||
330 | |||
331 | /* FIO USE PORT H*/ | ||
332 | #ifdef CONFIG_BF537_PORT_H | ||
333 | #define bfin_read_PORT_FER() bfin_read_PORTH_FER() | ||
334 | #define bfin_write_PORT_FER(val) bfin_write_PORTH_FER(val) | ||
335 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTHIO() | ||
336 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTHIO(val) | ||
337 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTHIO_CLEAR() | ||
338 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTHIO_CLEAR(val) | ||
339 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTHIO_SET() | ||
340 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTHIO_SET(val) | ||
341 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTHIO_TOGGLE() | ||
342 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTHIO_TOGGLE(val) | ||
343 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTHIO_MASKA() | ||
344 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTHIO_MASKA(val) | ||
345 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTHIO_MASKA_CLEAR() | ||
346 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTHIO_MASKA_CLEAR(val) | ||
347 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTHIO_MASKA_SET() | ||
348 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTHIO_MASKA_SET(val) | ||
349 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTHIO_MASKA_TOGGLE() | ||
350 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTHIO_MASKA_TOGGLE(val) | ||
351 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTHIO_MASKB() | ||
352 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTHIO_MASKB(val) | ||
353 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTHIO_MASKB_CLEAR() | ||
354 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTHIO_MASKB_CLEAR(val) | ||
355 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTHIO_MASKB_SET() | ||
356 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTHIO_MASKB_SET(val) | ||
357 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTHIO_MASKB_TOGGLE() | ||
358 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTHIO_MASKB_TOGGLE(val) | ||
359 | #define bfin_read_FIO_DIR() bfin_read_PORTHIO_DIR() | ||
360 | #define bfin_write_FIO_DIR(val) bfin_write_PORTHIO_DIR(val) | ||
361 | #define bfin_read_FIO_POLAR() bfin_read_PORTHIO_POLAR() | ||
362 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTHIO_POLAR(val) | ||
363 | #define bfin_read_FIO_EDGE() bfin_read_PORTHIO_EDGE() | ||
364 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTHIO_EDGE(val) | ||
365 | #define bfin_read_FIO_BOTH() bfin_read_PORTHIO_BOTH() | ||
366 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTHIO_BOTH(val) | ||
367 | #define bfin_read_FIO_INEN() bfin_read_PORTHIO_INEN() | ||
368 | #define bfin_write_FIO_INEN(val) bfin_write_PORTHIO_INEN(val) | ||
369 | |||
370 | #define bfin_read_FIO_FLAG_D() bfin_read_PORTHIO() | ||
371 | #define bfin_write_FIO_FLAG_D(val) bfin_write_PORTHIO(val) | ||
372 | #define FIO_FLAG_D PORTHIO | ||
373 | #define bfin_read_FIO_FLAG_C() bfin_read_PORTHIO_CLEAR() | ||
374 | #define bfin_write_FIO_FLAG_C(val) bfin_write_PORTHIO_CLEAR(val) | ||
375 | #define FIO_FLAG_C PORTHIO_CLEAR | ||
376 | #define bfin_read_FIO_FLAG_S() bfin_read_PORTHIO_SET() | ||
377 | #define bfin_write_FIO_FLAG_S(val) bfin_write_PORTHIO_SET(val) | ||
378 | #define FIO_FLAG_S PORTHIO_SET | ||
379 | #define bfin_read_FIO_FLAG_T() bfin_read_PORTHIO_TOGGLE() | ||
380 | #define bfin_write_FIO_FLAG_T(val) bfin_write_PORTHIO_TOGGLE(val) | ||
381 | #define FIO_FLAG_T PORTHIO_TOGGLE | ||
382 | #define bfin_read_FIO_MASKA_D() bfin_read_PORTHIO_MASKA() | ||
383 | #define bfin_write_FIO_MASKA_D(val) bfin_write_PORTHIO_MASKA(val) | ||
384 | #define FIO_MASKA_D PORTHIO_MASKA | ||
385 | #define bfin_read_FIO_MASKA_C() bfin_read_PORTHIO_MASKA_CLEAR() | ||
386 | #define bfin_write_FIO_MASKA_C(val) bfin_write_PORTHIO_MASKA_CLEAR(val) | ||
387 | #define FIO_MASKA_C PORTHIO_MASKA_CLEAR | ||
388 | #define bfin_read_FIO_MASKA_S() bfin_read_PORTHIO_MASKA_SET() | ||
389 | #define bfin_write_FIO_MASKA_S(val) bfin_write_PORTHIO_MASKA_SET(val) | ||
390 | #define FIO_MASKA_S PORTHIO_MASKA_SET | ||
391 | #define bfin_read_FIO_MASKA_T() bfin_read_PORTHIO_MASKA_TOGGLE() | ||
392 | #define bfin_write_FIO_MASKA_T(val) bfin_write_PORTHIO_MASKA_TOGGLE(val) | ||
393 | #define FIO_MASKA_T PORTHIO_MASKA_TOGGLE | ||
394 | #define bfin_read_FIO_MASKB_D() bfin_read_PORTHIO_MASKB() | ||
395 | #define bfin_write_FIO_MASKB_D(val) bfin_write_PORTHIO_MASKB(val) | ||
396 | #define FIO_MASKB_D PORTHIO_MASKB | ||
397 | #define bfin_read_FIO_MASKB_C() bfin_read_PORTHIO_MASKB_CLEAR() | ||
398 | #define bfin_write_FIO_MASKB_C(val) bfin_write_PORTHIO_MASKB_CLEAR(val) | ||
399 | #define FIO_MASKB_C PORTHIO_MASKB_CLEAR | ||
400 | #define bfin_read_FIO_MASKB_S() bfin_read_PORTHIO_MASKB_SET() | ||
401 | #define bfin_write_FIO_MASKB_S(val) bfin_write_PORTHIO_MASKB_SET(val) | ||
402 | #define FIO_MASKB_S PORTHIO_MASKB_SET | ||
403 | #define bfin_read_FIO_MASKB_T() bfin_read_PORTHIO_MASKB_TOGGLE() | ||
404 | #define bfin_write_FIO_MASKB_T(val) bfin_write_PORTHIO_MASKB_TOGGLE(val) | ||
405 | #define FIO_MASKB_T PORTHIO_MASKB_TOGGLE | ||
406 | #define bfin_read_FIO_DIR() bfin_read_PORTHIO_DIR() | ||
407 | #define bfin_write_FIO_DIR(val) bfin_write_PORTHIO_DIR(val) | ||
408 | #define FIO_DIR PORTHIO_DIR | ||
409 | #define bfin_read_FIO_POLAR() bfin_read_PORTHIO_POLAR() | ||
410 | #define bfin_write_FIO_POLAR(val) bfin_write_PORTHIO_POLAR(val) | ||
411 | #define FIO_POLAR PORTHIO_POLAR | ||
412 | #define bfin_read_FIO_EDGE() bfin_read_PORTHIO_EDGE() | ||
413 | #define bfin_write_FIO_EDGE(val) bfin_write_PORTHIO_EDGE(val) | ||
414 | #define FIO_EDGE PORTHIO_EDGE | ||
415 | #define bfin_read_FIO_BOTH() bfin_read_PORTHIO_BOTH() | ||
416 | #define bfin_write_FIO_BOTH(val) bfin_write_PORTHIO_BOTH(val) | ||
417 | #define FIO_BOTH PORTHIO_BOTH | ||
418 | #define bfin_read_FIO_INEN() bfin_read_PORTHIO_INEN() | ||
419 | #define bfin_write_FIO_INEN(val) bfin_write_PORTHIO_INEN(val) | ||
420 | #define FIO_INEN PORTHIO_INEN | ||
421 | |||
422 | #endif | ||
423 | |||
424 | /* PLL_DIV Masks */ | 146 | /* PLL_DIV Masks */ |
425 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ | 147 | #define CCLK_DIV1 CSEL_DIV1 /* CCLK = VCO / 1 */ |
426 | #define CCLK_DIV2 CSEL_DIV2 /* CCLK = VCO / 2 */ | 148 | #define CCLK_DIV2 CSEL_DIV2 /* CCLK = VCO / 2 */ |
diff --git a/include/asm-blackfin/mach-bf537/cdefBF534.h b/include/asm-blackfin/mach-bf537/cdefBF534.h index 84e58fa73dce..78227bc855df 100644 --- a/include/asm-blackfin/mach-bf537/cdefBF534.h +++ b/include/asm-blackfin/mach-bf537/cdefBF534.h | |||
@@ -32,6 +32,8 @@ | |||
32 | #ifndef _CDEF_BF534_H | 32 | #ifndef _CDEF_BF534_H |
33 | #define _CDEF_BF534_H | 33 | #define _CDEF_BF534_H |
34 | 34 | ||
35 | #include <asm/blackfin.h> | ||
36 | |||
35 | /* Include all Core registers and bit definitions */ | 37 | /* Include all Core registers and bit definitions */ |
36 | #include "defBF534.h" | 38 | #include "defBF534.h" |
37 | 39 | ||
@@ -57,7 +59,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
57 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); | 59 | bfin_write32(SIC_IWR, IWR_ENABLE(0)); |
58 | 60 | ||
59 | bfin_write16(VR_CTL, val); | 61 | bfin_write16(VR_CTL, val); |
60 | __builtin_bfin_ssync(); | 62 | SSYNC(); |
61 | 63 | ||
62 | local_irq_save(flags); | 64 | local_irq_save(flags); |
63 | asm("IDLE;"); | 65 | asm("IDLE;"); |
diff --git a/include/asm-blackfin/mach-bf537/defBF534.h b/include/asm-blackfin/mach-bf537/defBF534.h index 1859f2fee5a7..d0d80d3152ba 100644 --- a/include/asm-blackfin/mach-bf537/defBF534.h +++ b/include/asm-blackfin/mach-bf537/defBF534.h | |||
@@ -86,6 +86,7 @@ | |||
86 | #define UART0_GCTL 0xFFC00424 /* Global Control Register */ | 86 | #define UART0_GCTL 0xFFC00424 /* Global Control Register */ |
87 | 87 | ||
88 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 88 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
89 | #define SPI0_REGBASE 0xFFC00500 | ||
89 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ | 90 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ |
90 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ | 91 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ |
91 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ | 92 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ |
@@ -456,6 +457,7 @@ | |||
456 | #define PPI_FRAME 0xFFC01010 /* PPI Frame Length Register */ | 457 | #define PPI_FRAME 0xFFC01010 /* PPI Frame Length Register */ |
457 | 458 | ||
458 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ | 459 | /* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */ |
460 | #define TWI0_REGBASE 0xFFC01400 | ||
459 | #define TWI_CLKDIV 0xFFC01400 /* Serial Clock Divider Register */ | 461 | #define TWI_CLKDIV 0xFFC01400 /* Serial Clock Divider Register */ |
460 | #define TWI_CONTROL 0xFFC01404 /* TWI Control Register */ | 462 | #define TWI_CONTROL 0xFFC01404 /* TWI Control Register */ |
461 | #define TWI_SLAVE_CTL 0xFFC01408 /* Slave Mode Control Register */ | 463 | #define TWI_SLAVE_CTL 0xFFC01408 /* Slave Mode Control Register */ |
@@ -1165,7 +1167,7 @@ | |||
1165 | #define GM 0x0008 /* Get More (When RDBR Full, Overwrite/Discard*) */ | 1167 | #define GM 0x0008 /* Get More (When RDBR Full, Overwrite/Discard*) */ |
1166 | #define PSSE 0x0010 /* Slave-Select Input Enable */ | 1168 | #define PSSE 0x0010 /* Slave-Select Input Enable */ |
1167 | #define EMISO 0x0020 /* Enable MISO As Output */ | 1169 | #define EMISO 0x0020 /* Enable MISO As Output */ |
1168 | #define SPI_SIZE 0x0100 /* Size of Words (16/8* Bits) */ | 1170 | #define SIZE 0x0100 /* Size of Words (16/8* Bits) */ |
1169 | #define LSBF 0x0200 /* LSB First */ | 1171 | #define LSBF 0x0200 /* LSB First */ |
1170 | #define CPHA 0x0400 /* Clock Phase */ | 1172 | #define CPHA 0x0400 /* Clock Phase */ |
1171 | #define CPOL 0x0800 /* Clock Polarity */ | 1173 | #define CPOL 0x0800 /* Clock Polarity */ |
diff --git a/include/asm-blackfin/mach-bf537/irq.h b/include/asm-blackfin/mach-bf537/irq.h index 8af2a832ef6b..36c44bc1a917 100644 --- a/include/asm-blackfin/mach-bf537/irq.h +++ b/include/asm-blackfin/mach-bf537/irq.h | |||
@@ -160,6 +160,8 @@ Core Emulation ** | |||
160 | #define IRQ_PH14 96 | 160 | #define IRQ_PH14 96 |
161 | #define IRQ_PH15 97 | 161 | #define IRQ_PH15 97 |
162 | 162 | ||
163 | #define GPIO_IRQ_BASE IRQ_PF0 | ||
164 | |||
163 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO | 165 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO |
164 | #define NR_IRQS (IRQ_PH15+1) | 166 | #define NR_IRQS (IRQ_PH15+1) |
165 | #else | 167 | #else |
diff --git a/include/asm-blackfin/mach-bf537/mem_map.h b/include/asm-blackfin/mach-bf537/mem_map.h index 2a808c1202bf..18759e38eaae 100644 --- a/include/asm-blackfin/mach-bf537/mem_map.h +++ b/include/asm-blackfin/mach-bf537/mem_map.h | |||
@@ -52,10 +52,10 @@ | |||
52 | 52 | ||
53 | /* Memory Map for ADSP-BF537 processors */ | 53 | /* Memory Map for ADSP-BF537 processors */ |
54 | 54 | ||
55 | #ifdef CONFIG_BLKFIN_CACHE | 55 | #ifdef CONFIG_BFIN_ICACHE |
56 | #define BLKFIN_ICACHESIZE (16*1024) | 56 | #define BFIN_ICACHESIZE (16*1024) |
57 | #else | 57 | #else |
58 | #define BLKFIN_ICACHESIZE (0*1024) | 58 | #define BFIN_ICACHESIZE (0*1024) |
59 | #endif | 59 | #endif |
60 | 60 | ||
61 | 61 | ||
@@ -66,29 +66,29 @@ | |||
66 | 66 | ||
67 | #define L1_CODE_LENGTH 0xC000 | 67 | #define L1_CODE_LENGTH 0xC000 |
68 | 68 | ||
69 | #ifdef CONFIG_BLKFIN_DCACHE | 69 | #ifdef CONFIG_BFIN_DCACHE |
70 | 70 | ||
71 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 71 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
72 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 72 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
73 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 73 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
74 | #define L1_DATA_B_LENGTH 0x8000 | 74 | #define L1_DATA_B_LENGTH 0x8000 |
75 | #define BLKFIN_DCACHESIZE (16*1024) | 75 | #define BFIN_DCACHESIZE (16*1024) |
76 | #define BLKFIN_DSUPBANKS 1 | 76 | #define BFIN_DSUPBANKS 1 |
77 | #else | 77 | #else |
78 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 78 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
79 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 79 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
80 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) | 80 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) |
81 | #define BLKFIN_DCACHESIZE (32*1024) | 81 | #define BFIN_DCACHESIZE (32*1024) |
82 | #define BLKFIN_DSUPBANKS 2 | 82 | #define BFIN_DSUPBANKS 2 |
83 | #endif | 83 | #endif |
84 | 84 | ||
85 | #else | 85 | #else |
86 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 86 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
87 | #define L1_DATA_A_LENGTH 0x8000 | 87 | #define L1_DATA_A_LENGTH 0x8000 |
88 | #define L1_DATA_B_LENGTH 0x8000 | 88 | #define L1_DATA_B_LENGTH 0x8000 |
89 | #define BLKFIN_DCACHESIZE (0*1024) | 89 | #define BFIN_DCACHESIZE (0*1024) |
90 | #define BLKFIN_DSUPBANKS 0 | 90 | #define BFIN_DSUPBANKS 0 |
91 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 91 | #endif /*CONFIG_BFIN_DCACHE*/ |
92 | 92 | ||
93 | #endif /*CONFIG_BF537*/ | 93 | #endif /*CONFIG_BF537*/ |
94 | 94 | ||
@@ -102,30 +102,30 @@ | |||
102 | #define L1_CODE_LENGTH 0xC000 | 102 | #define L1_CODE_LENGTH 0xC000 |
103 | 103 | ||
104 | 104 | ||
105 | #ifdef CONFIG_BLKFIN_DCACHE | 105 | #ifdef CONFIG_BFIN_DCACHE |
106 | 106 | ||
107 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 107 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
108 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 108 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
109 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) | 109 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) |
110 | #define L1_DATA_B_LENGTH 0x4000 | 110 | #define L1_DATA_B_LENGTH 0x4000 |
111 | #define BLKFIN_DCACHESIZE (16*1024) | 111 | #define BFIN_DCACHESIZE (16*1024) |
112 | #define BLKFIN_DSUPBANKS 1 | 112 | #define BFIN_DSUPBANKS 1 |
113 | 113 | ||
114 | #else | 114 | #else |
115 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 115 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
116 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) | 116 | #define L1_DATA_A_LENGTH (0x4000 - 0x4000) |
117 | #define L1_DATA_B_LENGTH (0x4000 - 0x4000) | 117 | #define L1_DATA_B_LENGTH (0x4000 - 0x4000) |
118 | #define BLKFIN_DCACHESIZE (32*1024) | 118 | #define BFIN_DCACHESIZE (32*1024) |
119 | #define BLKFIN_DSUPBANKS 2 | 119 | #define BFIN_DSUPBANKS 2 |
120 | #endif | 120 | #endif |
121 | 121 | ||
122 | #else | 122 | #else |
123 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 123 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
124 | #define L1_DATA_A_LENGTH 0x4000 | 124 | #define L1_DATA_A_LENGTH 0x4000 |
125 | #define L1_DATA_B_LENGTH 0x4000 | 125 | #define L1_DATA_B_LENGTH 0x4000 |
126 | #define BLKFIN_DCACHESIZE (0*1024) | 126 | #define BFIN_DCACHESIZE (0*1024) |
127 | #define BLKFIN_DSUPBANKS 0 | 127 | #define BFIN_DSUPBANKS 0 |
128 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 128 | #endif /*CONFIG_BFIN_DCACHE*/ |
129 | 129 | ||
130 | #endif | 130 | #endif |
131 | 131 | ||
@@ -138,30 +138,30 @@ | |||
138 | 138 | ||
139 | #define L1_CODE_LENGTH 0xC000 | 139 | #define L1_CODE_LENGTH 0xC000 |
140 | 140 | ||
141 | #ifdef CONFIG_BLKFIN_DCACHE | 141 | #ifdef CONFIG_BFIN_DCACHE |
142 | 142 | ||
143 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 143 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
144 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 144 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
145 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 145 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
146 | #define L1_DATA_B_LENGTH 0x8000 | 146 | #define L1_DATA_B_LENGTH 0x8000 |
147 | #define BLKFIN_DCACHESIZE (16*1024) | 147 | #define BFIN_DCACHESIZE (16*1024) |
148 | #define BLKFIN_DSUPBANKS 1 | 148 | #define BFIN_DSUPBANKS 1 |
149 | 149 | ||
150 | #else | 150 | #else |
151 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 151 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
152 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 152 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
153 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) | 153 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) |
154 | #define BLKFIN_DCACHESIZE (32*1024) | 154 | #define BFIN_DCACHESIZE (32*1024) |
155 | #define BLKFIN_DSUPBANKS 2 | 155 | #define BFIN_DSUPBANKS 2 |
156 | #endif | 156 | #endif |
157 | 157 | ||
158 | #else | 158 | #else |
159 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 159 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
160 | #define L1_DATA_A_LENGTH 0x8000 | 160 | #define L1_DATA_A_LENGTH 0x8000 |
161 | #define L1_DATA_B_LENGTH 0x8000 | 161 | #define L1_DATA_B_LENGTH 0x8000 |
162 | #define BLKFIN_DCACHESIZE (0*1024) | 162 | #define BFIN_DCACHESIZE (0*1024) |
163 | #define BLKFIN_DSUPBANKS 0 | 163 | #define BFIN_DSUPBANKS 0 |
164 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 164 | #endif /*CONFIG_BFIN_DCACHE*/ |
165 | 165 | ||
166 | #endif | 166 | #endif |
167 | 167 | ||
diff --git a/include/asm-blackfin/mach-bf537/portmux.h b/include/asm-blackfin/mach-bf537/portmux.h index 23e13c5abc4d..5a3f7d3bf73d 100644 --- a/include/asm-blackfin/mach-bf537/portmux.h +++ b/include/asm-blackfin/mach-bf537/portmux.h | |||
@@ -99,11 +99,44 @@ | |||
99 | #define P_SPORT0_DRPRI (P_DEFINED | P_IDENT(PORT_PJ8) | P_FUNCT(0)) | 99 | #define P_SPORT0_DRPRI (P_DEFINED | P_IDENT(PORT_PJ8) | P_FUNCT(0)) |
100 | #define P_SPORT0_TSCLK (P_DEFINED | P_IDENT(PORT_PJ9) | P_FUNCT(0)) | 100 | #define P_SPORT0_TSCLK (P_DEFINED | P_IDENT(PORT_PJ9) | P_FUNCT(0)) |
101 | #define P_SPORT0_TFS (P_DEFINED | P_IDENT(PORT_PJ10) | P_FUNCT(0)) | 101 | #define P_SPORT0_TFS (P_DEFINED | P_IDENT(PORT_PJ10) | P_FUNCT(0)) |
102 | #define P_SPORT0_DTPRI (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(1)) | 102 | #define P_SPORT0_DTPRI (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(0)) |
103 | #define P_CAN0_RX (P_DEFINED | P_IDENT(PORT_PJ4) | P_FUNCT(1)) | 103 | #define P_CAN0_RX (P_DEFINED | P_IDENT(PORT_PJ4) | P_FUNCT(1)) |
104 | #define P_CAN0_TX (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(1)) | 104 | #define P_CAN0_TX (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(1)) |
105 | #define P_SPI0_SSEL3 (P_DEFINED | P_IDENT(PORT_PJ10) | P_FUNCT(1)) | 105 | #define P_SPI0_SSEL3 (P_DEFINED | P_IDENT(PORT_PJ10) | P_FUNCT(1)) |
106 | #define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(1)) | 106 | #define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(1)) |
107 | #define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(2)) | 107 | #define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(2)) |
108 | 108 | ||
109 | #endif /* _MACH_PORTMUX_H_ */ | 109 | #define P_MII0 {\ |
110 | P_MII0_ETxD0, \ | ||
111 | P_MII0_ETxD1, \ | ||
112 | P_MII0_ETxD2, \ | ||
113 | P_MII0_ETxD3, \ | ||
114 | P_MII0_ETxEN, \ | ||
115 | P_MII0_TxCLK, \ | ||
116 | P_MII0_PHYINT, \ | ||
117 | P_MII0_COL, \ | ||
118 | P_MII0_ERxD0, \ | ||
119 | P_MII0_ERxD1, \ | ||
120 | P_MII0_ERxD2, \ | ||
121 | P_MII0_ERxD3, \ | ||
122 | P_MII0_ERxDV, \ | ||
123 | P_MII0_ERxCLK, \ | ||
124 | P_MII0_ERxER, \ | ||
125 | P_MII0_CRS, \ | ||
126 | P_MDC, \ | ||
127 | P_MDIO, 0} | ||
128 | |||
129 | |||
130 | #define P_RMII0 {\ | ||
131 | P_MII0_ETxD0, \ | ||
132 | P_MII0_ETxD1, \ | ||
133 | P_MII0_ETxEN, \ | ||
134 | P_MII0_ERxD0, \ | ||
135 | P_MII0_ERxD1, \ | ||
136 | P_MII0_ERxER, \ | ||
137 | P_RMII0_REF_CLK, \ | ||
138 | P_RMII0_MDINT, \ | ||
139 | P_RMII0_CRS_DV, \ | ||
140 | P_MDC, \ | ||
141 | P_MDIO, 0} | ||
142 | #endif /* _MACH_PORTMUX_H_ */ | ||
diff --git a/include/asm-blackfin/mach-bf548/anomaly.h b/include/asm-blackfin/mach-bf548/anomaly.h index aca1d4ba145c..c5b63759cdee 100644 --- a/include/asm-blackfin/mach-bf548/anomaly.h +++ b/include/asm-blackfin/mach-bf548/anomaly.h | |||
@@ -1,74 +1,85 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * File: include/asm-blackfin/mach-bf548/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf548/anomaly.h |
4 | * Based on: | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
5 | * Author: | ||
6 | * | ||
7 | * Created: | ||
8 | * Description: | ||
9 | * | ||
10 | * Rev: | ||
11 | * | ||
12 | * Modified: | ||
13 | * | ||
14 | * | ||
15 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
16 | * | 4 | * |
17 | * This program is free software; you can redistribute it and/or modify | 5 | * Copyright (C) 2004-2007 Analog Devices Inc. |
18 | * it under the terms of the GNU General Public License as published by | 6 | * Licensed under the GPL-2 or later. |
19 | * the Free Software Foundation; either version 2, or (at your option) | 7 | */ |
20 | * any later version. | 8 | |
21 | * | 9 | /* This file shoule be up to date with: |
22 | * This program is distributed in the hope that it will be useful, | 10 | * - Revision C, July 16, 2007; ADSP-BF549 Silicon Anomaly List |
23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
25 | * GNU General Public License for more details. | ||
26 | * | ||
27 | * You should have received a copy of the GNU General Public License | ||
28 | * along with this program; see the file COPYING. | ||
29 | * If not, write to the Free Software Foundation, | ||
30 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
31 | */ | 11 | */ |
32 | 12 | ||
33 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
34 | #define _MACH_ANOMALY_H_ | 14 | #define _MACH_ANOMALY_H_ |
35 | #define ANOMALY_05000074 /* A multi issue instruction with dsp32shiftimm in | ||
36 | slot1 and store of a P register in slot 2 is not | ||
37 | supported */ | ||
38 | #define ANOMALY_05000119 /* DMA_RUN bit is not valid after a Peripheral Receive | ||
39 | Channel DMA stops */ | ||
40 | #define ANOMALY_05000122 /* Rx.H can not be used to access 16-bit System MMR | ||
41 | registers. */ | ||
42 | #define ANOMALY_05000245 /* Spurious Hardware Error from an Access in the | ||
43 | Shadow of a Conditional Branch */ | ||
44 | #define ANOMALY_05000255 /* Entering Hibernate Mode with RTC Seconds event | ||
45 | interrupt not functional */ | ||
46 | #define ANOMALY_05000265 /* Sensitivity to noise with slow input edge rates on | ||
47 | SPORT external receive and transmit clocks. */ | ||
48 | #define ANOMALY_05000272 /* Certain data cache write through modes fail for | ||
49 | VDDint <=0.9V */ | ||
50 | #define ANOMALY_05000281 /* False Hardware Error Exception when ISR context is | ||
51 | not restored */ | ||
52 | #define ANOMALY_05000310 /* False Hardware Errors Caused by Fetches at the | ||
53 | Boundary of Reserved Memory */ | ||
54 | #define ANOMALY_05000312 /* Errors When SSYNC, CSYNC, or Loads to LT, LB and | ||
55 | LC Registers Are Interrupted */ | ||
56 | #define ANOMALY_05000324 /* TWI Slave Boot Mode Is Not Functional */ | ||
57 | #define ANOMALY_05000325 /* External FIFO Boot Mode Is Not Functional */ | ||
58 | #define ANOMALY_05000327 /* Data Lost When Core and DMA Accesses Are Made to | ||
59 | the USB FIFO Simultaneously */ | ||
60 | #define ANOMALY_05000328 /* Incorrect Access of OTP_STATUS During otp_write() | ||
61 | function */ | ||
62 | #define ANOMALY_05000329 /* Synchronous Burst Flash Boot Mode Is Not Functional | ||
63 | */ | ||
64 | #define ANOMALY_05000330 /* Host DMA Boot Mode Is Not Functional */ | ||
65 | #define ANOMALY_05000334 /* Inadequate Timing Margins on DDR DQS to DQ and DQM | ||
66 | Skew */ | ||
67 | #define ANOMALY_05000335 /* Inadequate Rotary Debounce Logic Duration */ | ||
68 | #define ANOMALY_05000336 /* Phantom Interrupt Occurs After First Configuration | ||
69 | of Host DMA Port */ | ||
70 | #define ANOMALY_05000337 /* Disallowed Configuration Prevents Subsequent | ||
71 | Allowed Configuration on Host DMA Port */ | ||
72 | #define ANOMALY_05000338 /* Slave-Mode SPI0 MISO Failure With CPHA = 0 */ | ||
73 | 15 | ||
74 | #endif /* _MACH_ANOMALY_H_ */ | 16 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot 2 Not Supported */ |
17 | #define ANOMALY_05000074 (1) | ||
18 | /* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */ | ||
19 | #define ANOMALY_05000119 (1) | ||
20 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ | ||
21 | #define ANOMALY_05000122 (1) | ||
22 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | ||
23 | #define ANOMALY_05000245 (1) | ||
24 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | ||
25 | #define ANOMALY_05000265 (1) | ||
26 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | ||
27 | #define ANOMALY_05000272 (1) | ||
28 | /* False Hardware Error Exception when ISR context is not restored */ | ||
29 | #define ANOMALY_05000281 (1) | ||
30 | /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ | ||
31 | #define ANOMALY_05000304 (1) | ||
32 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | ||
33 | #define ANOMALY_05000310 (1) | ||
34 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
35 | #define ANOMALY_05000312 (1) | ||
36 | /* TWI Slave Boot Mode Is Not Functional */ | ||
37 | #define ANOMALY_05000324 (1) | ||
38 | /* External FIFO Boot Mode Is Not Functional */ | ||
39 | #define ANOMALY_05000325 (1) | ||
40 | /* Data Lost When Core and DMA Accesses Are Made to the USB FIFO Simultaneously */ | ||
41 | #define ANOMALY_05000327 (1) | ||
42 | /* Incorrect Access of OTP_STATUS During otp_write() Function */ | ||
43 | #define ANOMALY_05000328 (1) | ||
44 | /* Synchronous Burst Flash Boot Mode Is Not Functional */ | ||
45 | #define ANOMALY_05000329 (1) | ||
46 | /* Host DMA Boot Mode Is Not Functional */ | ||
47 | #define ANOMALY_05000330 (1) | ||
48 | /* Inadequate Timing Margins on DDR DQS to DQ and DQM Skew */ | ||
49 | #define ANOMALY_05000334 (1) | ||
50 | /* Inadequate Rotary Debounce Logic Duration */ | ||
51 | #define ANOMALY_05000335 (1) | ||
52 | /* Phantom Interrupt Occurs After First Configuration of Host DMA Port */ | ||
53 | #define ANOMALY_05000336 (1) | ||
54 | /* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */ | ||
55 | #define ANOMALY_05000337 (1) | ||
56 | /* Slave-Mode SPI0 MISO Failure With CPHA = 0 */ | ||
57 | #define ANOMALY_05000338 (1) | ||
58 | /* If Memory Reads Are Enabled on SDH or HOSTDP, Other DMAC1 Peripherals Cannot Read */ | ||
59 | #define ANOMALY_05000340 (1) | ||
60 | /* Boot Host Wait (HWAIT) and Boot Host Wait Alternate (HWAITA) Signals Are Swapped */ | ||
61 | #define ANOMALY_05000344 (1) | ||
62 | /* USB Calibration Value Is Not Intialized */ | ||
63 | #define ANOMALY_05000346 (1) | ||
64 | /* Boot ROM Kernel Incorrectly Alters Reset Value of USB Register */ | ||
65 | #define ANOMALY_05000347 (1) | ||
66 | /* Data Lost when Core Reads SDH Data FIFO */ | ||
67 | #define ANOMALY_05000349 (1) | ||
68 | /* PLL Status Register Is Inaccurate */ | ||
69 | #define ANOMALY_05000351 (1) | ||
70 | |||
71 | /* Anomalies that don't exist on this proc */ | ||
72 | #define ANOMALY_05000125 (0) | ||
73 | #define ANOMALY_05000158 (0) | ||
74 | #define ANOMALY_05000183 (0) | ||
75 | #define ANOMALY_05000198 (0) | ||
76 | #define ANOMALY_05000230 (0) | ||
77 | #define ANOMALY_05000244 (0) | ||
78 | #define ANOMALY_05000261 (0) | ||
79 | #define ANOMALY_05000263 (0) | ||
80 | #define ANOMALY_05000266 (0) | ||
81 | #define ANOMALY_05000273 (0) | ||
82 | #define ANOMALY_05000311 (0) | ||
83 | #define ANOMALY_05000323 (0) | ||
84 | |||
85 | #endif | ||
diff --git a/include/asm-blackfin/mach-bf548/bf548.h b/include/asm-blackfin/mach-bf548/bf548.h index 9498313a2cb7..7e6d349beb08 100644 --- a/include/asm-blackfin/mach-bf548/bf548.h +++ b/include/asm-blackfin/mach-bf548/bf548.h | |||
@@ -52,12 +52,12 @@ | |||
52 | /***************************/ | 52 | /***************************/ |
53 | 53 | ||
54 | 54 | ||
55 | #define BLKFIN_DSUBBANKS 4 | 55 | #define BFIN_DSUBBANKS 4 |
56 | #define BLKFIN_DWAYS 2 | 56 | #define BFIN_DWAYS 2 |
57 | #define BLKFIN_DLINES 64 | 57 | #define BFIN_DLINES 64 |
58 | #define BLKFIN_ISUBBANKS 4 | 58 | #define BFIN_ISUBBANKS 4 |
59 | #define BLKFIN_IWAYS 4 | 59 | #define BFIN_IWAYS 4 |
60 | #define BLKFIN_ILINES 32 | 60 | #define BFIN_ILINES 32 |
61 | 61 | ||
62 | #define WAY0_L 0x1 | 62 | #define WAY0_L 0x1 |
63 | #define WAY1_L 0x2 | 63 | #define WAY1_L 0x2 |
@@ -106,93 +106,6 @@ | |||
106 | 106 | ||
107 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN) | 107 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN) |
108 | 108 | ||
109 | #define MAX_VC 650000000 | ||
110 | #define MIN_VC 50000000 | ||
111 | |||
112 | /********************************PLL Settings **************************************/ | ||
113 | #ifdef CONFIG_BFIN_KERNEL_CLOCK | ||
114 | #if (CONFIG_VCO_MULT < 0) | ||
115 | #error "VCO Multiplier is less than 0. Please select a different value" | ||
116 | #endif | ||
117 | |||
118 | #if (CONFIG_VCO_MULT == 0) | ||
119 | #error "VCO Multiplier should be greater than 0. Please select a different value" | ||
120 | #endif | ||
121 | |||
122 | #if (CONFIG_VCO_MULT > 64) | ||
123 | #error "VCO Multiplier is more than 64. Please select a different value" | ||
124 | #endif | ||
125 | |||
126 | #ifndef CONFIG_CLKIN_HALF | ||
127 | #define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | ||
128 | #else | ||
129 | #define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) | ||
130 | #endif | ||
131 | |||
132 | #ifndef CONFIG_PLL_BYPASS | ||
133 | #define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) | ||
134 | #define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) | ||
135 | #else | ||
136 | #define CONFIG_CCLK_HZ CONFIG_CLKIN_HZ | ||
137 | #define CONFIG_SCLK_HZ CONFIG_CLKIN_HZ | ||
138 | #endif | ||
139 | |||
140 | #if (CONFIG_SCLK_DIV < 1) | ||
141 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
142 | #endif | ||
143 | |||
144 | #if (CONFIG_SCLK_DIV > 15) | ||
145 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
146 | #endif | ||
147 | |||
148 | #if (CONFIG_CCLK_DIV != 1) | ||
149 | #if (CONFIG_CCLK_DIV != 2) | ||
150 | #if (CONFIG_CCLK_DIV != 4) | ||
151 | #if (CONFIG_CCLK_DIV != 8) | ||
152 | #error "CCLK DIV can be 1,2,4 or 8 only. Please select a proper value" | ||
153 | #endif | ||
154 | #endif | ||
155 | #endif | ||
156 | #endif | ||
157 | |||
158 | #if (CONFIG_VCO_HZ > MAX_VC) | ||
159 | #error "VCO selected is more than maximum value. Please change the VCO multipler" | ||
160 | #endif | ||
161 | |||
162 | #if (CONFIG_SCLK_HZ > 133000000) | ||
163 | #error "Sclk value selected is more than maximum. Please select a proper value for SCLK multiplier" | ||
164 | #endif | ||
165 | |||
166 | #if (CONFIG_SCLK_HZ < 27000000) | ||
167 | #error "Sclk value selected is less than minimum. Please select a proper value for SCLK multiplier" | ||
168 | #endif | ||
169 | |||
170 | #if (CONFIG_SCLK_HZ >= CONFIG_CCLK_HZ) | ||
171 | #if (CONFIG_SCLK_HZ != CONFIG_CLKIN_HZ) | ||
172 | #if (CONFIG_CCLK_HZ != CONFIG_CLKIN_HZ) | ||
173 | #error "Please select sclk less than cclk" | ||
174 | #endif | ||
175 | #endif | ||
176 | #endif | ||
177 | |||
178 | #if (CONFIG_CCLK_DIV == 1) | ||
179 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV1 | ||
180 | #endif | ||
181 | #if (CONFIG_CCLK_DIV == 2) | ||
182 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV2 | ||
183 | #endif | ||
184 | #if (CONFIG_CCLK_DIV == 4) | ||
185 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV4 | ||
186 | #endif | ||
187 | #if (CONFIG_CCLK_DIV == 8) | ||
188 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV8 | ||
189 | #endif | ||
190 | #ifndef CONFIG_CCLK_ACT_DIV | ||
191 | #define CONFIG_CCLK_ACT_DIV CONFIG_CCLK_DIV_not_defined_properly | ||
192 | #endif | ||
193 | |||
194 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | ||
195 | |||
196 | #ifdef CONFIG_BF542 | 109 | #ifdef CONFIG_BF542 |
197 | #define CPU "BF542" | 110 | #define CPU "BF542" |
198 | #define CPUID 0x027c8000 | 111 | #define CPUID 0x027c8000 |
@@ -213,59 +126,4 @@ | |||
213 | #define CPUID 0x0 | 126 | #define CPUID 0x0 |
214 | #endif | 127 | #endif |
215 | 128 | ||
216 | #if (CONFIG_MEM_SIZE % 4) | ||
217 | #error "SDRAM mem size must be multible of 4MB" | ||
218 | #endif | ||
219 | |||
220 | #define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) | ||
221 | #define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) | ||
222 | #define L1_IMEMORY ( CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) | ||
223 | #define SDRAM_INON_CHBL ( CPLB_USER_RD | CPLB_VALID) | ||
224 | |||
225 | /*Use the menuconfig cache policy here - CONFIG_BLKFIN_WT/CONFIG_BLKFIN_WB*/ | ||
226 | |||
227 | #define ANOMALY_05000158_WORKAROUND 0x200 | ||
228 | #ifdef CONFIG_BLKFIN_WB /*Write Back Policy */ | ||
229 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_DIRTY \ | ||
230 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
231 | #else /*Write Through */ | ||
232 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW \ | ||
233 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
234 | #endif | ||
235 | |||
236 | |||
237 | #define L1_DMEMORY (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY ) | ||
238 | #define SDRAM_DNON_CHBL (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
239 | #define SDRAM_EBIU (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY ) | ||
240 | #define SDRAM_OOPS (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY ) | ||
241 | |||
242 | #define SIZE_1K 0x00000400 /* 1K */ | ||
243 | #define SIZE_4K 0x00001000 /* 4K */ | ||
244 | #define SIZE_1M 0x00100000 /* 1M */ | ||
245 | #define SIZE_4M 0x00400000 /* 4M */ | ||
246 | |||
247 | #define MAX_CPLBS (16 * 2) | ||
248 | |||
249 | /* | ||
250 | * Number of required data CPLB switchtable entries | ||
251 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
252 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
253 | * 1 for L1 Data Memory | ||
254 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
255 | * 1 for ASYNC Memory | ||
256 | */ | ||
257 | |||
258 | |||
259 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1) * 2) | ||
260 | |||
261 | /* | ||
262 | * Number of required instruction CPLB switchtable entries | ||
263 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
264 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
265 | * 1 for L1 Instruction Memory | ||
266 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
267 | */ | ||
268 | |||
269 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1) * 2) | ||
270 | |||
271 | #endif /* __MACH_BF48_H__ */ | 129 | #endif /* __MACH_BF48_H__ */ |
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h index 2f4afc90db11..f21a1620e6bd 100644 --- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/serial.h> | 1 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 2 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | ||
3 | 4 | ||
4 | #define NR_PORTS 4 | 5 | #define NR_PORTS 4 |
5 | 6 | ||
@@ -143,50 +144,48 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
143 | 144 | ||
144 | int nr_ports = ARRAY_SIZE(bfin_serial_resource); | 145 | int nr_ports = ARRAY_SIZE(bfin_serial_resource); |
145 | 146 | ||
147 | #define DRIVER_NAME "bfin-uart" | ||
148 | |||
146 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 149 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
147 | { | 150 | { |
148 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 151 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
149 | /* Enable UART0 RX and TX on pin 7 & 8 of PORT E */ | 152 | peripheral_request(P_UART0_TX, DRIVER_NAME); |
150 | bfin_write_PORTE_FER(0x180 | bfin_read_PORTE_FER()); | 153 | peripheral_request(P_UART0_RX, DRIVER_NAME); |
151 | bfin_write_PORTE_MUX(0x3C000 | bfin_read_PORTE_MUX()); | ||
152 | #endif | 154 | #endif |
153 | 155 | ||
154 | #ifdef CONFIG_SERIAL_BFIN_UART1 | 156 | #ifdef CONFIG_SERIAL_BFIN_UART1 |
155 | /* Enable UART1 RX and TX on pin 0 & 1 of PORT H */ | 157 | peripheral_request(P_UART1_TX, DRIVER_NAME); |
156 | bfin_write_PORTH_FER(0x3 | bfin_read_PORTH_FER()); | 158 | peripheral_request(P_UART1_RX, DRIVER_NAME); |
157 | bfin_write_PORTH_MUX(~0xF & bfin_read_PORTH_MUX()); | 159 | |
158 | #ifdef CONFIG_BFIN_UART1_CTSRTS | 160 | #ifdef CONFIG_BFIN_UART1_CTSRTS |
159 | /* Enable UART1 RTS and CTS on pin 9 & 10 of PORT E */ | 161 | peripheral_request(P_UART1_RTS, DRIVER_NAME); |
160 | bfin_write_PORTE_FER(0x600 | bfin_read_PORTE_FER()); | 162 | peripheral_request(P_UART1_CTS DRIVER_NAME); |
161 | bfin_write_PORTE_MUX(~0x3C0000 & bfin_read_PORTE_MUX()); | ||
162 | #endif | 163 | #endif |
163 | #endif | 164 | #endif |
164 | 165 | ||
165 | #ifdef CONFIG_SERIAL_BFIN_UART2 | 166 | #ifdef CONFIG_SERIAL_BFIN_UART2 |
166 | /* Enable UART2 RX and TX on pin 4 & 5 of PORT B */ | 167 | peripheral_request(P_UART2_TX, DRIVER_NAME); |
167 | bfin_write_PORTB_FER(0x30 | bfin_read_PORTB_FER()); | 168 | peripheral_request(P_UART2_RX, DRIVER_NAME); |
168 | bfin_write_PORTB_MUX(~0xF00 & bfin_read_PORTB_MUX()); | ||
169 | #endif | 169 | #endif |
170 | 170 | ||
171 | #ifdef CONFIG_SERIAL_BFIN_UART3 | 171 | #ifdef CONFIG_SERIAL_BFIN_UART3 |
172 | /* Enable UART3 RX and TX on pin 6 & 7 of PORT B */ | 172 | peripheral_request(P_UART3_TX, DRIVER_NAME); |
173 | bfin_write_PORTB_FER(0xC0 | bfin_read_PORTB_FER()); | 173 | peripheral_request(P_UART3_RX, DRIVER_NAME); |
174 | bfin_write_PORTB_MUX(~0xF000 | bfin_read_PORTB_MUX()); | 174 | |
175 | #ifdef CONFIG_BFIN_UART3_CTSRTS | 175 | #ifdef CONFIG_BFIN_UART3_CTSRTS |
176 | /* Enable UART3 RTS and CTS on pin 2 & 3 of PORT B */ | 176 | peripheral_request(P_UART3_RTS, DRIVER_NAME); |
177 | bfin_write_PORTB_FER(0xC | bfin_read_PORTB_FER()); | 177 | peripheral_request(P_UART3_CTS DRIVER_NAME); |
178 | bfin_write_PORTB_MUX(~0xF0 | bfin_read_PORTB_MUX()); | ||
179 | #endif | 178 | #endif |
180 | #endif | 179 | #endif |
181 | SSYNC(); | 180 | SSYNC(); |
182 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS | 181 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS |
183 | if (uart->cts_pin >= 0) { | 182 | if (uart->cts_pin >= 0) { |
184 | gpio_request(uart->cts_pin, NULL); | 183 | gpio_request(uart->cts_pin, DRIVER_NAME); |
185 | gpio_direction_input(uart->cts_pin); | 184 | gpio_direction_input(uart->cts_pin); |
186 | } | 185 | } |
187 | 186 | ||
188 | if (uart->rts_pin >= 0) { | 187 | if (uart->rts_pin >= 0) { |
189 | gpio_request(uart->rts_pin, NULL); | 188 | gpio_request(uart->rts_pin, DRIVER_NAME); |
190 | gpio_direction_output(uart->rts_pin); | 189 | gpio_direction_output(uart->rts_pin); |
191 | } | 190 | } |
192 | #endif | 191 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/blackfin.h b/include/asm-blackfin/mach-bf548/blackfin.h index 791218fe7d94..19e84dd4c99c 100644 --- a/include/asm-blackfin/mach-bf548/blackfin.h +++ b/include/asm-blackfin/mach-bf548/blackfin.h | |||
@@ -54,7 +54,7 @@ | |||
54 | #include "defBF549.h" | 54 | #include "defBF549.h" |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | #if !(defined(__ASSEMBLY__) || defined(ASSEMBLY)) | 57 | #if !defined(__ASSEMBLY__) |
58 | #ifdef CONFIG_BF542 | 58 | #ifdef CONFIG_BF542 |
59 | #include "cdefBF542.h" | 59 | #include "cdefBF542.h" |
60 | #endif | 60 | #endif |
diff --git a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h index cdf29e75ea59..aefab3f618c1 100644 --- a/include/asm-blackfin/mach-bf548/cdefBF54x_base.h +++ b/include/asm-blackfin/mach-bf548/cdefBF54x_base.h | |||
@@ -31,6 +31,8 @@ | |||
31 | #ifndef _CDEF_BF54X_H | 31 | #ifndef _CDEF_BF54X_H |
32 | #define _CDEF_BF54X_H | 32 | #define _CDEF_BF54X_H |
33 | 33 | ||
34 | #include <asm/blackfin.h> | ||
35 | |||
34 | #include "defBF54x_base.h" | 36 | #include "defBF54x_base.h" |
35 | #include <asm/system.h> | 37 | #include <asm/system.h> |
36 | 38 | ||
@@ -60,7 +62,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
60 | bfin_write32(SIC_IWR2, 0); | 62 | bfin_write32(SIC_IWR2, 0); |
61 | 63 | ||
62 | bfin_write16(VR_CTL, val); | 64 | bfin_write16(VR_CTL, val); |
63 | __builtin_bfin_ssync(); | 65 | SSYNC(); |
64 | 66 | ||
65 | local_irq_save(flags); | 67 | local_irq_save(flags); |
66 | asm("IDLE;"); | 68 | asm("IDLE;"); |
diff --git a/include/asm-blackfin/mach-bf548/defBF544.h b/include/asm-blackfin/mach-bf548/defBF544.h index dd955dcd39b8..760307e34b9e 100644 --- a/include/asm-blackfin/mach-bf548/defBF544.h +++ b/include/asm-blackfin/mach-bf548/defBF544.h | |||
@@ -81,6 +81,7 @@ | |||
81 | 81 | ||
82 | /* Two Wire Interface Registers (TWI1) */ | 82 | /* Two Wire Interface Registers (TWI1) */ |
83 | 83 | ||
84 | #define TWI1_REGBASE 0xffc02200 | ||
84 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ | 85 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ |
85 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ | 86 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ |
86 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ | 87 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ |
diff --git a/include/asm-blackfin/mach-bf548/defBF548.h b/include/asm-blackfin/mach-bf548/defBF548.h index 8d4214e0807c..70af33c963b0 100644 --- a/include/asm-blackfin/mach-bf548/defBF548.h +++ b/include/asm-blackfin/mach-bf548/defBF548.h | |||
@@ -120,6 +120,7 @@ | |||
120 | 120 | ||
121 | /* Two Wire Interface Registers (TWI1) */ | 121 | /* Two Wire Interface Registers (TWI1) */ |
122 | 122 | ||
123 | #define TWI1_REGBASE 0xffc02200 | ||
123 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ | 124 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ |
124 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ | 125 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ |
125 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ | 126 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ |
@@ -139,6 +140,7 @@ | |||
139 | 140 | ||
140 | /* SPI2 Registers */ | 141 | /* SPI2 Registers */ |
141 | 142 | ||
143 | #define SPI2_REGBASE 0xffc02400 | ||
142 | #define SPI2_CTL 0xffc02400 /* SPI2 Control Register */ | 144 | #define SPI2_CTL 0xffc02400 /* SPI2 Control Register */ |
143 | #define SPI2_FLG 0xffc02404 /* SPI2 Flag Register */ | 145 | #define SPI2_FLG 0xffc02404 /* SPI2 Flag Register */ |
144 | #define SPI2_STAT 0xffc02408 /* SPI2 Status Register */ | 146 | #define SPI2_STAT 0xffc02408 /* SPI2 Status Register */ |
diff --git a/include/asm-blackfin/mach-bf548/defBF549.h b/include/asm-blackfin/mach-bf548/defBF549.h index c2f4734da48d..50b3fe55ef0c 100644 --- a/include/asm-blackfin/mach-bf548/defBF549.h +++ b/include/asm-blackfin/mach-bf548/defBF549.h | |||
@@ -121,6 +121,7 @@ | |||
121 | 121 | ||
122 | /* Two Wire Interface Registers (TWI1) */ | 122 | /* Two Wire Interface Registers (TWI1) */ |
123 | 123 | ||
124 | #define TWI1_REGBASE 0xffc02200 | ||
124 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ | 125 | #define TWI1_CLKDIV 0xffc02200 /* Clock Divider Register */ |
125 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ | 126 | #define TWI1_CONTROL 0xffc02204 /* TWI Control Register */ |
126 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ | 127 | #define TWI1_SLAVE_CTRL 0xffc02208 /* TWI Slave Mode Control Register */ |
@@ -140,6 +141,7 @@ | |||
140 | 141 | ||
141 | /* SPI2 Registers */ | 142 | /* SPI2 Registers */ |
142 | 143 | ||
144 | #define SPI2_REGBASE 0xffc02400 | ||
143 | #define SPI2_CTL 0xffc02400 /* SPI2 Control Register */ | 145 | #define SPI2_CTL 0xffc02400 /* SPI2 Control Register */ |
144 | #define SPI2_FLG 0xffc02404 /* SPI2 Flag Register */ | 146 | #define SPI2_FLG 0xffc02404 /* SPI2 Flag Register */ |
145 | #define SPI2_STAT 0xffc02408 /* SPI2 Status Register */ | 147 | #define SPI2_STAT 0xffc02408 /* SPI2 Status Register */ |
diff --git a/include/asm-blackfin/mach-bf548/defBF54x_base.h b/include/asm-blackfin/mach-bf548/defBF54x_base.h index 895ddd40a838..e2632db74baa 100644 --- a/include/asm-blackfin/mach-bf548/defBF54x_base.h +++ b/include/asm-blackfin/mach-bf548/defBF54x_base.h | |||
@@ -109,6 +109,7 @@ | |||
109 | 109 | ||
110 | /* SPI0 Registers */ | 110 | /* SPI0 Registers */ |
111 | 111 | ||
112 | #define SPI0_REGBASE 0xffc00500 | ||
112 | #define SPI0_CTL 0xffc00500 /* SPI0 Control Register */ | 113 | #define SPI0_CTL 0xffc00500 /* SPI0 Control Register */ |
113 | #define SPI0_FLG 0xffc00504 /* SPI0 Flag Register */ | 114 | #define SPI0_FLG 0xffc00504 /* SPI0 Flag Register */ |
114 | #define SPI0_STAT 0xffc00508 /* SPI0 Status Register */ | 115 | #define SPI0_STAT 0xffc00508 /* SPI0 Status Register */ |
@@ -121,6 +122,7 @@ | |||
121 | 122 | ||
122 | /* Two Wire Interface Registers (TWI0) */ | 123 | /* Two Wire Interface Registers (TWI0) */ |
123 | 124 | ||
125 | #define TWI0_REGBASE 0xffc00700 | ||
124 | #define TWI0_CLKDIV 0xffc00700 /* Clock Divider Register */ | 126 | #define TWI0_CLKDIV 0xffc00700 /* Clock Divider Register */ |
125 | #define TWI0_CONTROL 0xffc00704 /* TWI Control Register */ | 127 | #define TWI0_CONTROL 0xffc00704 /* TWI Control Register */ |
126 | #define TWI0_SLAVE_CTRL 0xffc00708 /* TWI Slave Mode Control Register */ | 128 | #define TWI0_SLAVE_CTRL 0xffc00708 /* TWI Slave Mode Control Register */ |
@@ -978,6 +980,7 @@ | |||
978 | 980 | ||
979 | /* SPI1 Registers */ | 981 | /* SPI1 Registers */ |
980 | 982 | ||
983 | #define SPI1_REGBASE 0xffc02300 | ||
981 | #define SPI1_CTL 0xffc02300 /* SPI1 Control Register */ | 984 | #define SPI1_CTL 0xffc02300 /* SPI1 Control Register */ |
982 | #define SPI1_FLG 0xffc02304 /* SPI1 Flag Register */ | 985 | #define SPI1_FLG 0xffc02304 /* SPI1 Flag Register */ |
983 | #define SPI1_STAT 0xffc02308 /* SPI1 Status Register */ | 986 | #define SPI1_STAT 0xffc02308 /* SPI1 Status Register */ |
diff --git a/include/asm-blackfin/mach-bf548/gpio.h b/include/asm-blackfin/mach-bf548/gpio.h index dbf66bcabe35..cb8b0f15c9a6 100644 --- a/include/asm-blackfin/mach-bf548/gpio.h +++ b/include/asm-blackfin/mach-bf548/gpio.h | |||
@@ -209,8 +209,3 @@ struct gpio_port_t { | |||
209 | unsigned short dummy7; | 209 | unsigned short dummy7; |
210 | unsigned int port_mux; | 210 | unsigned int port_mux; |
211 | }; | 211 | }; |
212 | |||
213 | int gpio_request(unsigned short gpio, const char *label); | ||
214 | void peripheral_free(unsigned short per); | ||
215 | int peripheral_request_list(unsigned short per[], const char *label); | ||
216 | void peripheral_free_list(unsigned short per[]); | ||
diff --git a/include/asm-blackfin/mach-bf548/irq.h b/include/asm-blackfin/mach-bf548/irq.h index e548d3cd81e3..3b08cf9bd6f3 100644 --- a/include/asm-blackfin/mach-bf548/irq.h +++ b/include/asm-blackfin/mach-bf548/irq.h | |||
@@ -55,287 +55,288 @@ Events (highest priority) EMU 0 | |||
55 | 55 | ||
56 | /* The ABSTRACT IRQ definitions */ | 56 | /* The ABSTRACT IRQ definitions */ |
57 | /** the first seven of the following are fixed, the rest you change if you need to **/ | 57 | /** the first seven of the following are fixed, the rest you change if you need to **/ |
58 | #define IRQ_EMU 0 /* Emulation */ | 58 | #define IRQ_EMU 0 /* Emulation */ |
59 | #define IRQ_RST 1 /* reset */ | 59 | #define IRQ_RST 1 /* reset */ |
60 | #define IRQ_NMI 2 /* Non Maskable */ | 60 | #define IRQ_NMI 2 /* Non Maskable */ |
61 | #define IRQ_EVX 3 /* Exception */ | 61 | #define IRQ_EVX 3 /* Exception */ |
62 | #define IRQ_UNUSED 4 /* - unused interrupt*/ | 62 | #define IRQ_UNUSED 4 /* - unused interrupt*/ |
63 | #define IRQ_HWERR 5 /* Hardware Error */ | 63 | #define IRQ_HWERR 5 /* Hardware Error */ |
64 | #define IRQ_CORETMR 6 /* Core timer */ | 64 | #define IRQ_CORETMR 6 /* Core timer */ |
65 | 65 | ||
66 | #define BFIN_IRQ(x) ((x) + 7) | 66 | #define BFIN_IRQ(x) ((x) + 7) |
67 | 67 | ||
68 | #define IRQ_PLL_WAKEUP BFIN_IRQ(0) /* PLL Wakeup Interrupt */ | 68 | #define IRQ_PLL_WAKEUP BFIN_IRQ(0) /* PLL Wakeup Interrupt */ |
69 | #define IRQ_DMAC0_ERR BFIN_IRQ(1) /* DMAC0 Status Interrupt */ | 69 | #define IRQ_DMAC0_ERROR BFIN_IRQ(1) /* DMAC0 Status Interrupt */ |
70 | #define IRQ_EPPI0_ERR BFIN_IRQ(2) /* EPPI0 Error Interrupt */ | 70 | #define IRQ_EPPI0_ERROR BFIN_IRQ(2) /* EPPI0 Error Interrupt */ |
71 | #define IRQ_SPORT0_ERR BFIN_IRQ(3) /* SPORT0 Error Interrupt */ | 71 | #define IRQ_SPORT0_ERROR BFIN_IRQ(3) /* SPORT0 Error Interrupt */ |
72 | #define IRQ_SPORT1_ERR BFIN_IRQ(4) /* SPORT1 Error Interrupt */ | 72 | #define IRQ_SPORT1_ERROR BFIN_IRQ(4) /* SPORT1 Error Interrupt */ |
73 | #define IRQ_SPI0_ERR BFIN_IRQ(5) /* SPI0 Status(Error) Interrupt */ | 73 | #define IRQ_SPI0_ERROR BFIN_IRQ(5) /* SPI0 Status(Error) Interrupt */ |
74 | #define IRQ_UART0_ERR BFIN_IRQ(6) /* UART0 Status(Error) Interrupt */ | 74 | #define IRQ_UART0_ERROR BFIN_IRQ(6) /* UART0 Status(Error) Interrupt */ |
75 | #define IRQ_RTC BFIN_IRQ(7) /* RTC Interrupt */ | 75 | #define IRQ_RTC BFIN_IRQ(7) /* RTC Interrupt */ |
76 | #define IRQ_EPPI0 BFIN_IRQ(8) /* EPPI0 Interrupt (DMA12) */ | 76 | #define IRQ_EPPI0 BFIN_IRQ(8) /* EPPI0 Interrupt (DMA12) */ |
77 | #define IRQ_SPORT0_RX BFIN_IRQ(9) /* SPORT0 RX Interrupt (DMA0) */ | 77 | #define IRQ_SPORT0_RX BFIN_IRQ(9) /* SPORT0 RX Interrupt (DMA0) */ |
78 | #define IRQ_SPORT0_TX BFIN_IRQ(10) /* SPORT0 TX Interrupt (DMA1) */ | 78 | #define IRQ_SPORT0_TX BFIN_IRQ(10) /* SPORT0 TX Interrupt (DMA1) */ |
79 | #define IRQ_SPORT1_RX BFIN_IRQ(11) /* SPORT1 RX Interrupt (DMA2) */ | 79 | #define IRQ_SPORT1_RX BFIN_IRQ(11) /* SPORT1 RX Interrupt (DMA2) */ |
80 | #define IRQ_SPORT1_TX BFIN_IRQ(12) /* SPORT1 TX Interrupt (DMA3) */ | 80 | #define IRQ_SPORT1_TX BFIN_IRQ(12) /* SPORT1 TX Interrupt (DMA3) */ |
81 | #define IRQ_SPI0 BFIN_IRQ(13) /* SPI0 Interrupt (DMA4) */ | 81 | #define IRQ_SPI0 BFIN_IRQ(13) /* SPI0 Interrupt (DMA4) */ |
82 | #define IRQ_UART0_RX BFIN_IRQ(14) /* UART0 RX Interrupt (DMA6) */ | 82 | #define IRQ_UART0_RX BFIN_IRQ(14) /* UART0 RX Interrupt (DMA6) */ |
83 | #define IRQ_UART0_TX BFIN_IRQ(15) /* UART0 TX Interrupt (DMA7) */ | 83 | #define IRQ_UART0_TX BFIN_IRQ(15) /* UART0 TX Interrupt (DMA7) */ |
84 | #define IRQ_TIMER8 BFIN_IRQ(16) /* TIMER 8 Interrupt */ | 84 | #define IRQ_TIMER8 BFIN_IRQ(16) /* TIMER 8 Interrupt */ |
85 | #define IRQ_TIMER9 BFIN_IRQ(17) /* TIMER 9 Interrupt */ | 85 | #define IRQ_TIMER9 BFIN_IRQ(17) /* TIMER 9 Interrupt */ |
86 | #define IRQ_TIMER10 BFIN_IRQ(18) /* TIMER 10 Interrupt */ | 86 | #define IRQ_TIMER10 BFIN_IRQ(18) /* TIMER 10 Interrupt */ |
87 | #define IRQ_PINT0 BFIN_IRQ(19) /* PINT0 Interrupt */ | 87 | #define IRQ_PINT0 BFIN_IRQ(19) /* PINT0 Interrupt */ |
88 | #define IRQ_PINT1 BFIN_IRQ(20) /* PINT1 Interrupt */ | 88 | #define IRQ_PINT1 BFIN_IRQ(20) /* PINT1 Interrupt */ |
89 | #define IRQ_MDMAS0 BFIN_IRQ(21) /* MDMA Stream 0 Interrupt */ | 89 | #define IRQ_MDMAS0 BFIN_IRQ(21) /* MDMA Stream 0 Interrupt */ |
90 | #define IRQ_MDMAS1 BFIN_IRQ(22) /* MDMA Stream 1 Interrupt */ | 90 | #define IRQ_MDMAS1 BFIN_IRQ(22) /* MDMA Stream 1 Interrupt */ |
91 | #define IRQ_WATCHDOG BFIN_IRQ(23) /* Watchdog Interrupt */ | 91 | #define IRQ_WATCHDOG BFIN_IRQ(23) /* Watchdog Interrupt */ |
92 | #define IRQ_DMAC1_ERR BFIN_IRQ(24) /* DMAC1 Status (Error) Interrupt */ | 92 | #define IRQ_DMAC1_ERROR BFIN_IRQ(24) /* DMAC1 Status (Error) Interrupt */ |
93 | #define IRQ_SPORT2_ERR BFIN_IRQ(25) /* SPORT2 Error Interrupt */ | 93 | #define IRQ_SPORT2_ERROR BFIN_IRQ(25) /* SPORT2 Error Interrupt */ |
94 | #define IRQ_SPORT3_ERR BFIN_IRQ(26) /* SPORT3 Error Interrupt */ | 94 | #define IRQ_SPORT3_ERROR BFIN_IRQ(26) /* SPORT3 Error Interrupt */ |
95 | #define IRQ_MXVR_DATA BFIN_IRQ(27) /* MXVR Data Interrupt */ | 95 | #define IRQ_MXVR_DATA BFIN_IRQ(27) /* MXVR Data Interrupt */ |
96 | #define IRQ_SPI1_ERR BFIN_IRQ(28) /* SPI1 Status (Error) Interrupt */ | 96 | #define IRQ_SPI1_ERROR BFIN_IRQ(28) /* SPI1 Status (Error) Interrupt */ |
97 | #define IRQ_SPI2_ERR BFIN_IRQ(29) /* SPI2 Status (Error) Interrupt */ | 97 | #define IRQ_SPI2_ERROR BFIN_IRQ(29) /* SPI2 Status (Error) Interrupt */ |
98 | #define IRQ_UART1_ERR BFIN_IRQ(30) /* UART1 Status (Error) Interrupt */ | 98 | #define IRQ_UART1_ERROR BFIN_IRQ(30) /* UART1 Status (Error) Interrupt */ |
99 | #define IRQ_UART2_ERR BFIN_IRQ(31) /* UART2 Status (Error) Interrupt */ | 99 | #define IRQ_UART2_ERROR BFIN_IRQ(31) /* UART2 Status (Error) Interrupt */ |
100 | #define IRQ_CAN0_ERR BFIN_IRQ(32) /* CAN0 Status (Error) Interrupt */ | 100 | #define IRQ_CAN0_ERROR BFIN_IRQ(32) /* CAN0 Status (Error) Interrupt */ |
101 | #define IRQ_SPORT2_RX BFIN_IRQ(33) /* SPORT2 RX (DMA18) Interrupt */ | 101 | #define IRQ_SPORT2_RX BFIN_IRQ(33) /* SPORT2 RX (DMA18) Interrupt */ |
102 | #define IRQ_SPORT2_TX BFIN_IRQ(34) /* SPORT2 TX (DMA19) Interrupt */ | 102 | #define IRQ_SPORT2_TX BFIN_IRQ(34) /* SPORT2 TX (DMA19) Interrupt */ |
103 | #define IRQ_SPORT3_RX BFIN_IRQ(35) /* SPORT3 RX (DMA20) Interrupt */ | 103 | #define IRQ_SPORT3_RX BFIN_IRQ(35) /* SPORT3 RX (DMA20) Interrupt */ |
104 | #define IRQ_SPORT3_TX BFIN_IRQ(36) /* SPORT3 TX (DMA21) Interrupt */ | 104 | #define IRQ_SPORT3_TX BFIN_IRQ(36) /* SPORT3 TX (DMA21) Interrupt */ |
105 | #define IRQ_EPPI1 BFIN_IRQ(37) /* EPP1 (DMA13) Interrupt */ | 105 | #define IRQ_EPPI1 BFIN_IRQ(37) /* EPP1 (DMA13) Interrupt */ |
106 | #define IRQ_EPPI2 BFIN_IRQ(38) /* EPP2 (DMA14) Interrupt */ | 106 | #define IRQ_EPPI2 BFIN_IRQ(38) /* EPP2 (DMA14) Interrupt */ |
107 | #define IRQ_SPI1 BFIN_IRQ(39) /* SPI1 (DMA5) Interrupt */ | 107 | #define IRQ_SPI1 BFIN_IRQ(39) /* SPI1 (DMA5) Interrupt */ |
108 | #define IRQ_SPI2 BFIN_IRQ(40) /* SPI2 (DMA23) Interrupt */ | 108 | #define IRQ_SPI2 BFIN_IRQ(40) /* SPI2 (DMA23) Interrupt */ |
109 | #define IRQ_UART1_RX BFIN_IRQ(41) /* UART1 RX (DMA8) Interrupt */ | 109 | #define IRQ_UART1_RX BFIN_IRQ(41) /* UART1 RX (DMA8) Interrupt */ |
110 | #define IRQ_UART1_TX BFIN_IRQ(42) /* UART1 TX (DMA9) Interrupt */ | 110 | #define IRQ_UART1_TX BFIN_IRQ(42) /* UART1 TX (DMA9) Interrupt */ |
111 | #define IRQ_ATAPI_RX BFIN_IRQ(43) /* ATAPI RX (DMA10) Interrupt */ | 111 | #define IRQ_ATAPI_RX BFIN_IRQ(43) /* ATAPI RX (DMA10) Interrupt */ |
112 | #define IRQ_ATAPI_TX BFIN_IRQ(44) /* ATAPI TX (DMA11) Interrupt */ | 112 | #define IRQ_ATAPI_TX BFIN_IRQ(44) /* ATAPI TX (DMA11) Interrupt */ |
113 | #define IRQ_TWI0 BFIN_IRQ(45) /* TWI0 Interrupt */ | 113 | #define IRQ_TWI0 BFIN_IRQ(45) /* TWI0 Interrupt */ |
114 | #define IRQ_TWI1 BFIN_IRQ(46) /* TWI1 Interrupt */ | 114 | #define IRQ_TWI1 BFIN_IRQ(46) /* TWI1 Interrupt */ |
115 | #define IRQ_TWI IRQ_TWI0 /* TWI Interrupt */ | 115 | #define IRQ_CAN0_RX BFIN_IRQ(47) /* CAN0 Receive Interrupt */ |
116 | #define IRQ_CAN0_RX BFIN_IRQ(47) /* CAN0 Receive Interrupt */ | 116 | #define IRQ_CAN0_TX BFIN_IRQ(48) /* CAN0 Transmit Interrupt */ |
117 | #define IRQ_CAN0_TX BFIN_IRQ(48) /* CAN0 Transmit Interrupt */ | 117 | #define IRQ_MDMAS2 BFIN_IRQ(49) /* MDMA Stream 2 Interrupt */ |
118 | #define IRQ_MDMAS2 BFIN_IRQ(49) /* MDMA Stream 2 Interrupt */ | 118 | #define IRQ_MDMAS3 BFIN_IRQ(50) /* MDMA Stream 3 Interrupt */ |
119 | #define IRQ_MDMAS3 BFIN_IRQ(50) /* MDMA Stream 3 Interrupt */ | 119 | #define IRQ_MXVR_ERROR BFIN_IRQ(51) /* MXVR Status (Error) Interrupt */ |
120 | #define IRQ_MXVR_ERR BFIN_IRQ(51) /* MXVR Status (Error) Interrupt */ | 120 | #define IRQ_MXVR_MSG BFIN_IRQ(52) /* MXVR Message Interrupt */ |
121 | #define IRQ_MXVR_MSG BFIN_IRQ(52) /* MXVR Message Interrupt */ | 121 | #define IRQ_MXVR_PKT BFIN_IRQ(53) /* MXVR Packet Interrupt */ |
122 | #define IRQ_MXVR_PKT BFIN_IRQ(53) /* MXVR Packet Interrupt */ | 122 | #define IRQ_EPP1_ERROR BFIN_IRQ(54) /* EPPI1 Error Interrupt */ |
123 | #define IRQ_EPP1_ERR BFIN_IRQ(54) /* EPPI1 Error Interrupt */ | 123 | #define IRQ_EPP2_ERROR BFIN_IRQ(55) /* EPPI2 Error Interrupt */ |
124 | #define IRQ_EPP2_ERR BFIN_IRQ(55) /* EPPI2 Error Interrupt */ | 124 | #define IRQ_UART3_ERROR BFIN_IRQ(56) /* UART3 Status (Error) Interrupt */ |
125 | #define IRQ_UART3_ERR BFIN_IRQ(56) /* UART3 Status (Error) Interrupt */ | 125 | #define IRQ_HOST_ERROR BFIN_IRQ(57) /* HOST Status (Error) Interrupt */ |
126 | #define IRQ_HOST_ERR BFIN_IRQ(57) /* HOST Status (Error) Interrupt */ | 126 | #define IRQ_PIXC_ERROR BFIN_IRQ(59) /* PIXC Status (Error) Interrupt */ |
127 | #define IRQ_PIXC_ERR BFIN_IRQ(59) /* PIXC Status (Error) Interrupt */ | 127 | #define IRQ_NFC_ERROR BFIN_IRQ(60) /* NFC Error Interrupt */ |
128 | #define IRQ_NFC_ERR BFIN_IRQ(60) /* NFC Error Interrupt */ | 128 | #define IRQ_ATAPI_ERROR BFIN_IRQ(61) /* ATAPI Error Interrupt */ |
129 | #define IRQ_ATAPI_ERR BFIN_IRQ(61) /* ATAPI Error Interrupt */ | 129 | #define IRQ_CAN1_ERROR BFIN_IRQ(62) /* CAN1 Status (Error) Interrupt */ |
130 | #define IRQ_CAN1_ERR BFIN_IRQ(62) /* CAN1 Status (Error) Interrupt */ | 130 | #define IRQ_HS_DMA_ERROR BFIN_IRQ(63) /* Handshake DMA Status Interrupt */ |
131 | #define IRQ_HS_DMA_ERR BFIN_IRQ(63) /* Handshake DMA Status Interrupt */ | 131 | #define IRQ_PIXC_IN0 BFIN_IRQ(64) /* PIXC IN0 (DMA15) Interrupt */ |
132 | #define IRQ_PIXC_IN0 BFIN_IRQ(64) /* PIXC IN0 (DMA15) Interrupt */ | 132 | #define IRQ_PIXC_IN1 BFIN_IRQ(65) /* PIXC IN1 (DMA16) Interrupt */ |
133 | #define IRQ_PIXC_IN1 BFIN_IRQ(65) /* PIXC IN1 (DMA16) Interrupt */ | 133 | #define IRQ_PIXC_OUT BFIN_IRQ(66) /* PIXC OUT (DMA17) Interrupt */ |
134 | #define IRQ_PIXC_OUT BFIN_IRQ(66) /* PIXC OUT (DMA17) Interrupt */ | 134 | #define IRQ_SDH BFIN_IRQ(67) /* SDH/NFC (DMA22) Interrupt */ |
135 | #define IRQ_SDH BFIN_IRQ(67) /* SDH/NFC (DMA22) Interrupt */ | 135 | #define IRQ_CNT BFIN_IRQ(68) /* CNT Interrupt */ |
136 | #define IRQ_CNT BFIN_IRQ(68) /* CNT Interrupt */ | 136 | #define IRQ_KEY BFIN_IRQ(69) /* KEY Interrupt */ |
137 | #define IRQ_KEY BFIN_IRQ(69) /* KEY Interrupt */ | 137 | #define IRQ_CAN1_RX BFIN_IRQ(70) /* CAN1 RX Interrupt */ |
138 | #define IRQ_CAN1_RX BFIN_IRQ(70) /* CAN1 RX Interrupt */ | 138 | #define IRQ_CAN1_TX BFIN_IRQ(71) /* CAN1 TX Interrupt */ |
139 | #define IRQ_CAN1_TX BFIN_IRQ(71) /* CAN1 TX Interrupt */ | 139 | #define IRQ_SDH_MASK0 BFIN_IRQ(72) /* SDH Mask 0 Interrupt */ |
140 | #define IRQ_SDH_MASK0 BFIN_IRQ(72) /* SDH Mask 0 Interrupt */ | 140 | #define IRQ_SDH_MASK1 BFIN_IRQ(73) /* SDH Mask 1 Interrupt */ |
141 | #define IRQ_SDH_MASK1 BFIN_IRQ(73) /* SDH Mask 1 Interrupt */ | 141 | #define IRQ_USB_INT0 BFIN_IRQ(75) /* USB INT0 Interrupt */ |
142 | #define IRQ_USB_INT0 BFIN_IRQ(75) /* USB INT0 Interrupt */ | 142 | #define IRQ_USB_INT1 BFIN_IRQ(76) /* USB INT1 Interrupt */ |
143 | #define IRQ_USB_INT1 BFIN_IRQ(76) /* USB INT1 Interrupt */ | 143 | #define IRQ_USB_INT2 BFIN_IRQ(77) /* USB INT2 Interrupt */ |
144 | #define IRQ_USB_INT2 BFIN_IRQ(77) /* USB INT2 Interrupt */ | 144 | #define IRQ_USB_DMA BFIN_IRQ(78) /* USB DMA Interrupt */ |
145 | #define IRQ_USB_DMA BFIN_IRQ(78) /* USB DMA Interrupt */ | 145 | #define IRQ_OPTSEC BFIN_IRQ(79) /* OTPSEC Interrupt */ |
146 | #define IRQ_OPTSEC BFIN_IRQ(79) /* OTPSEC Interrupt */ | 146 | #define IRQ_TIMER0 BFIN_IRQ(86) /* Timer 0 Interrupt */ |
147 | #define IRQ_TIMER0 BFIN_IRQ(86) /* Timer 0 Interrupt */ | 147 | #define IRQ_TIMER1 BFIN_IRQ(87) /* Timer 1 Interrupt */ |
148 | #define IRQ_TIMER1 BFIN_IRQ(87) /* Timer 1 Interrupt */ | 148 | #define IRQ_TIMER2 BFIN_IRQ(88) /* Timer 2 Interrupt */ |
149 | #define IRQ_TIMER2 BFIN_IRQ(88) /* Timer 2 Interrupt */ | 149 | #define IRQ_TIMER3 BFIN_IRQ(89) /* Timer 3 Interrupt */ |
150 | #define IRQ_TIMER3 BFIN_IRQ(89) /* Timer 3 Interrupt */ | 150 | #define IRQ_TIMER4 BFIN_IRQ(90) /* Timer 4 Interrupt */ |
151 | #define IRQ_TIMER4 BFIN_IRQ(90) /* Timer 4 Interrupt */ | 151 | #define IRQ_TIMER5 BFIN_IRQ(91) /* Timer 5 Interrupt */ |
152 | #define IRQ_TIMER5 BFIN_IRQ(91) /* Timer 5 Interrupt */ | 152 | #define IRQ_TIMER6 BFIN_IRQ(92) /* Timer 6 Interrupt */ |
153 | #define IRQ_TIMER6 BFIN_IRQ(92) /* Timer 6 Interrupt */ | 153 | #define IRQ_TIMER7 BFIN_IRQ(93) /* Timer 7 Interrupt */ |
154 | #define IRQ_TIMER7 BFIN_IRQ(93) /* Timer 7 Interrupt */ | 154 | #define IRQ_PINT2 BFIN_IRQ(94) /* PINT2 Interrupt */ |
155 | #define IRQ_PINT2 BFIN_IRQ(94) /* PINT2 Interrupt */ | 155 | #define IRQ_PINT3 BFIN_IRQ(95) /* PINT3 Interrupt */ |
156 | #define IRQ_PINT3 BFIN_IRQ(95) /* PINT3 Interrupt */ | 156 | |
157 | 157 | #define SYS_IRQS IRQ_PINT3 | |
158 | #define SYS_IRQS IRQ_PINT3 | 158 | |
159 | 159 | #define BFIN_PA_IRQ(x) ((x) + SYS_IRQS + 1) | |
160 | #define BFIN_PA_IRQ(x) ((x) + SYS_IRQS + 1) | 160 | #define IRQ_PA0 BFIN_PA_IRQ(0) |
161 | #define IRQ_PA0 BFIN_PA_IRQ(0) | 161 | #define IRQ_PA1 BFIN_PA_IRQ(1) |
162 | #define IRQ_PA1 BFIN_PA_IRQ(1) | 162 | #define IRQ_PA2 BFIN_PA_IRQ(2) |
163 | #define IRQ_PA2 BFIN_PA_IRQ(2) | 163 | #define IRQ_PA3 BFIN_PA_IRQ(3) |
164 | #define IRQ_PA3 BFIN_PA_IRQ(3) | 164 | #define IRQ_PA4 BFIN_PA_IRQ(4) |
165 | #define IRQ_PA4 BFIN_PA_IRQ(4) | 165 | #define IRQ_PA5 BFIN_PA_IRQ(5) |
166 | #define IRQ_PA5 BFIN_PA_IRQ(5) | 166 | #define IRQ_PA6 BFIN_PA_IRQ(6) |
167 | #define IRQ_PA6 BFIN_PA_IRQ(6) | 167 | #define IRQ_PA7 BFIN_PA_IRQ(7) |
168 | #define IRQ_PA7 BFIN_PA_IRQ(7) | 168 | #define IRQ_PA8 BFIN_PA_IRQ(8) |
169 | #define IRQ_PA8 BFIN_PA_IRQ(8) | 169 | #define IRQ_PA9 BFIN_PA_IRQ(9) |
170 | #define IRQ_PA9 BFIN_PA_IRQ(9) | 170 | #define IRQ_PA10 BFIN_PA_IRQ(10) |
171 | #define IRQ_PA10 BFIN_PA_IRQ(10) | 171 | #define IRQ_PA11 BFIN_PA_IRQ(11) |
172 | #define IRQ_PA11 BFIN_PA_IRQ(11) | 172 | #define IRQ_PA12 BFIN_PA_IRQ(12) |
173 | #define IRQ_PA12 BFIN_PA_IRQ(12) | 173 | #define IRQ_PA13 BFIN_PA_IRQ(13) |
174 | #define IRQ_PA13 BFIN_PA_IRQ(13) | 174 | #define IRQ_PA14 BFIN_PA_IRQ(14) |
175 | #define IRQ_PA14 BFIN_PA_IRQ(14) | 175 | #define IRQ_PA15 BFIN_PA_IRQ(15) |
176 | #define IRQ_PA15 BFIN_PA_IRQ(15) | 176 | |
177 | 177 | #define BFIN_PB_IRQ(x) ((x) + IRQ_PA15 + 1) | |
178 | #define BFIN_PB_IRQ(x) ((x) + IRQ_PA15 + 1) | 178 | #define IRQ_PB0 BFIN_PB_IRQ(0) |
179 | #define IRQ_PB0 BFIN_PB_IRQ(0) | 179 | #define IRQ_PB1 BFIN_PB_IRQ(1) |
180 | #define IRQ_PB1 BFIN_PB_IRQ(1) | 180 | #define IRQ_PB2 BFIN_PB_IRQ(2) |
181 | #define IRQ_PB2 BFIN_PB_IRQ(2) | 181 | #define IRQ_PB3 BFIN_PB_IRQ(3) |
182 | #define IRQ_PB3 BFIN_PB_IRQ(3) | 182 | #define IRQ_PB4 BFIN_PB_IRQ(4) |
183 | #define IRQ_PB4 BFIN_PB_IRQ(4) | 183 | #define IRQ_PB5 BFIN_PB_IRQ(5) |
184 | #define IRQ_PB5 BFIN_PB_IRQ(5) | 184 | #define IRQ_PB6 BFIN_PB_IRQ(6) |
185 | #define IRQ_PB6 BFIN_PB_IRQ(6) | 185 | #define IRQ_PB7 BFIN_PB_IRQ(7) |
186 | #define IRQ_PB7 BFIN_PB_IRQ(7) | 186 | #define IRQ_PB8 BFIN_PB_IRQ(8) |
187 | #define IRQ_PB8 BFIN_PB_IRQ(8) | 187 | #define IRQ_PB9 BFIN_PB_IRQ(9) |
188 | #define IRQ_PB9 BFIN_PB_IRQ(9) | 188 | #define IRQ_PB10 BFIN_PB_IRQ(10) |
189 | #define IRQ_PB10 BFIN_PB_IRQ(10) | 189 | #define IRQ_PB11 BFIN_PB_IRQ(11) |
190 | #define IRQ_PB11 BFIN_PB_IRQ(11) | 190 | #define IRQ_PB12 BFIN_PB_IRQ(12) |
191 | #define IRQ_PB12 BFIN_PB_IRQ(12) | 191 | #define IRQ_PB13 BFIN_PB_IRQ(13) |
192 | #define IRQ_PB13 BFIN_PB_IRQ(13) | 192 | #define IRQ_PB14 BFIN_PB_IRQ(14) |
193 | #define IRQ_PB14 BFIN_PB_IRQ(14) | 193 | #define IRQ_PB15 BFIN_PB_IRQ(15) /* N/A */ |
194 | #define IRQ_PB15 BFIN_PB_IRQ(15) /* N/A */ | 194 | |
195 | 195 | #define BFIN_PC_IRQ(x) ((x) + IRQ_PB15 + 1) | |
196 | #define BFIN_PC_IRQ(x) ((x) + IRQ_PB15 + 1) | 196 | #define IRQ_PC0 BFIN_PC_IRQ(0) |
197 | #define IRQ_PC0 BFIN_PC_IRQ(0) | 197 | #define IRQ_PC1 BFIN_PC_IRQ(1) |
198 | #define IRQ_PC1 BFIN_PC_IRQ(1) | 198 | #define IRQ_PC2 BFIN_PC_IRQ(2) |
199 | #define IRQ_PC2 BFIN_PC_IRQ(2) | 199 | #define IRQ_PC3 BFIN_PC_IRQ(3) |
200 | #define IRQ_PC3 BFIN_PC_IRQ(3) | 200 | #define IRQ_PC4 BFIN_PC_IRQ(4) |
201 | #define IRQ_PC4 BFIN_PC_IRQ(4) | 201 | #define IRQ_PC5 BFIN_PC_IRQ(5) |
202 | #define IRQ_PC5 BFIN_PC_IRQ(5) | 202 | #define IRQ_PC6 BFIN_PC_IRQ(6) |
203 | #define IRQ_PC6 BFIN_PC_IRQ(6) | 203 | #define IRQ_PC7 BFIN_PC_IRQ(7) |
204 | #define IRQ_PC7 BFIN_PC_IRQ(7) | 204 | #define IRQ_PC8 BFIN_PC_IRQ(8) |
205 | #define IRQ_PC8 BFIN_PC_IRQ(8) | 205 | #define IRQ_PC9 BFIN_PC_IRQ(9) |
206 | #define IRQ_PC9 BFIN_PC_IRQ(9) | 206 | #define IRQ_PC10 BFIN_PC_IRQ(10) |
207 | #define IRQ_PC10 BFIN_PC_IRQ(10) | 207 | #define IRQ_PC11 BFIN_PC_IRQ(11) |
208 | #define IRQ_PC11 BFIN_PC_IRQ(11) | 208 | #define IRQ_PC12 BFIN_PC_IRQ(12) |
209 | #define IRQ_PC12 BFIN_PC_IRQ(12) | 209 | #define IRQ_PC13 BFIN_PC_IRQ(13) |
210 | #define IRQ_PC13 BFIN_PC_IRQ(13) | 210 | #define IRQ_PC14 BFIN_PC_IRQ(14) /* N/A */ |
211 | #define IRQ_PC14 BFIN_PC_IRQ(14) /* N/A */ | 211 | #define IRQ_PC15 BFIN_PC_IRQ(15) /* N/A */ |
212 | #define IRQ_PC15 BFIN_PC_IRQ(15) /* N/A */ | 212 | |
213 | 213 | #define BFIN_PD_IRQ(x) ((x) + IRQ_PC15 + 1) | |
214 | #define BFIN_PD_IRQ(x) ((x) + IRQ_PC15 + 1) | 214 | #define IRQ_PD0 BFIN_PD_IRQ(0) |
215 | #define IRQ_PD0 BFIN_PD_IRQ(0) | 215 | #define IRQ_PD1 BFIN_PD_IRQ(1) |
216 | #define IRQ_PD1 BFIN_PD_IRQ(1) | 216 | #define IRQ_PD2 BFIN_PD_IRQ(2) |
217 | #define IRQ_PD2 BFIN_PD_IRQ(2) | 217 | #define IRQ_PD3 BFIN_PD_IRQ(3) |
218 | #define IRQ_PD3 BFIN_PD_IRQ(3) | 218 | #define IRQ_PD4 BFIN_PD_IRQ(4) |
219 | #define IRQ_PD4 BFIN_PD_IRQ(4) | 219 | #define IRQ_PD5 BFIN_PD_IRQ(5) |
220 | #define IRQ_PD5 BFIN_PD_IRQ(5) | 220 | #define IRQ_PD6 BFIN_PD_IRQ(6) |
221 | #define IRQ_PD6 BFIN_PD_IRQ(6) | 221 | #define IRQ_PD7 BFIN_PD_IRQ(7) |
222 | #define IRQ_PD7 BFIN_PD_IRQ(7) | 222 | #define IRQ_PD8 BFIN_PD_IRQ(8) |
223 | #define IRQ_PD8 BFIN_PD_IRQ(8) | 223 | #define IRQ_PD9 BFIN_PD_IRQ(9) |
224 | #define IRQ_PD9 BFIN_PD_IRQ(9) | 224 | #define IRQ_PD10 BFIN_PD_IRQ(10) |
225 | #define IRQ_PD10 BFIN_PD_IRQ(10) | 225 | #define IRQ_PD11 BFIN_PD_IRQ(11) |
226 | #define IRQ_PD11 BFIN_PD_IRQ(11) | 226 | #define IRQ_PD12 BFIN_PD_IRQ(12) |
227 | #define IRQ_PD12 BFIN_PD_IRQ(12) | 227 | #define IRQ_PD13 BFIN_PD_IRQ(13) |
228 | #define IRQ_PD13 BFIN_PD_IRQ(13) | 228 | #define IRQ_PD14 BFIN_PD_IRQ(14) |
229 | #define IRQ_PD14 BFIN_PD_IRQ(14) | 229 | #define IRQ_PD15 BFIN_PD_IRQ(15) |
230 | #define IRQ_PD15 BFIN_PD_IRQ(15) | 230 | |
231 | 231 | #define BFIN_PE_IRQ(x) ((x) + IRQ_PD15 + 1) | |
232 | #define BFIN_PE_IRQ(x) ((x) + IRQ_PD15 + 1) | 232 | #define IRQ_PE0 BFIN_PE_IRQ(0) |
233 | #define IRQ_PE0 BFIN_PE_IRQ(0) | 233 | #define IRQ_PE1 BFIN_PE_IRQ(1) |
234 | #define IRQ_PE1 BFIN_PE_IRQ(1) | 234 | #define IRQ_PE2 BFIN_PE_IRQ(2) |
235 | #define IRQ_PE2 BFIN_PE_IRQ(2) | 235 | #define IRQ_PE3 BFIN_PE_IRQ(3) |
236 | #define IRQ_PE3 BFIN_PE_IRQ(3) | 236 | #define IRQ_PE4 BFIN_PE_IRQ(4) |
237 | #define IRQ_PE4 BFIN_PE_IRQ(4) | 237 | #define IRQ_PE5 BFIN_PE_IRQ(5) |
238 | #define IRQ_PE5 BFIN_PE_IRQ(5) | 238 | #define IRQ_PE6 BFIN_PE_IRQ(6) |
239 | #define IRQ_PE6 BFIN_PE_IRQ(6) | 239 | #define IRQ_PE7 BFIN_PE_IRQ(7) |
240 | #define IRQ_PE7 BFIN_PE_IRQ(7) | 240 | #define IRQ_PE8 BFIN_PE_IRQ(8) |
241 | #define IRQ_PE8 BFIN_PE_IRQ(8) | 241 | #define IRQ_PE9 BFIN_PE_IRQ(9) |
242 | #define IRQ_PE9 BFIN_PE_IRQ(9) | 242 | #define IRQ_PE10 BFIN_PE_IRQ(10) |
243 | #define IRQ_PE10 BFIN_PE_IRQ(10) | 243 | #define IRQ_PE11 BFIN_PE_IRQ(11) |
244 | #define IRQ_PE11 BFIN_PE_IRQ(11) | 244 | #define IRQ_PE12 BFIN_PE_IRQ(12) |
245 | #define IRQ_PE12 BFIN_PE_IRQ(12) | 245 | #define IRQ_PE13 BFIN_PE_IRQ(13) |
246 | #define IRQ_PE13 BFIN_PE_IRQ(13) | 246 | #define IRQ_PE14 BFIN_PE_IRQ(14) |
247 | #define IRQ_PE14 BFIN_PE_IRQ(14) | 247 | #define IRQ_PE15 BFIN_PE_IRQ(15) |
248 | #define IRQ_PE15 BFIN_PE_IRQ(15) | 248 | |
249 | 249 | #define BFIN_PF_IRQ(x) ((x) + IRQ_PE15 + 1) | |
250 | #define BFIN_PF_IRQ(x) ((x) + IRQ_PE15 + 1) | 250 | #define IRQ_PF0 BFIN_PF_IRQ(0) |
251 | #define IRQ_PF0 BFIN_PF_IRQ(0) | 251 | #define IRQ_PF1 BFIN_PF_IRQ(1) |
252 | #define IRQ_PF1 BFIN_PF_IRQ(1) | 252 | #define IRQ_PF2 BFIN_PF_IRQ(2) |
253 | #define IRQ_PF2 BFIN_PF_IRQ(2) | 253 | #define IRQ_PF3 BFIN_PF_IRQ(3) |
254 | #define IRQ_PF3 BFIN_PF_IRQ(3) | 254 | #define IRQ_PF4 BFIN_PF_IRQ(4) |
255 | #define IRQ_PF4 BFIN_PF_IRQ(4) | 255 | #define IRQ_PF5 BFIN_PF_IRQ(5) |
256 | #define IRQ_PF5 BFIN_PF_IRQ(5) | 256 | #define IRQ_PF6 BFIN_PF_IRQ(6) |
257 | #define IRQ_PF6 BFIN_PF_IRQ(6) | 257 | #define IRQ_PF7 BFIN_PF_IRQ(7) |
258 | #define IRQ_PF7 BFIN_PF_IRQ(7) | 258 | #define IRQ_PF8 BFIN_PF_IRQ(8) |
259 | #define IRQ_PF8 BFIN_PF_IRQ(8) | 259 | #define IRQ_PF9 BFIN_PF_IRQ(9) |
260 | #define IRQ_PF9 BFIN_PF_IRQ(9) | 260 | #define IRQ_PF10 BFIN_PF_IRQ(10) |
261 | #define IRQ_PF10 BFIN_PF_IRQ(10) | 261 | #define IRQ_PF11 BFIN_PF_IRQ(11) |
262 | #define IRQ_PF11 BFIN_PF_IRQ(11) | 262 | #define IRQ_PF12 BFIN_PF_IRQ(12) |
263 | #define IRQ_PF12 BFIN_PF_IRQ(12) | 263 | #define IRQ_PF13 BFIN_PF_IRQ(13) |
264 | #define IRQ_PF13 BFIN_PF_IRQ(13) | 264 | #define IRQ_PF14 BFIN_PF_IRQ(14) |
265 | #define IRQ_PF14 BFIN_PF_IRQ(14) | 265 | #define IRQ_PF15 BFIN_PF_IRQ(15) |
266 | #define IRQ_PF15 BFIN_PF_IRQ(15) | 266 | |
267 | 267 | #define BFIN_PG_IRQ(x) ((x) + IRQ_PF15 + 1) | |
268 | #define BFIN_PG_IRQ(x) ((x) + IRQ_PF15 + 1) | 268 | #define IRQ_PG0 BFIN_PG_IRQ(0) |
269 | #define IRQ_PG0 BFIN_PG_IRQ(0) | 269 | #define IRQ_PG1 BFIN_PG_IRQ(1) |
270 | #define IRQ_PG1 BFIN_PG_IRQ(1) | 270 | #define IRQ_PG2 BFIN_PG_IRQ(2) |
271 | #define IRQ_PG2 BFIN_PG_IRQ(2) | 271 | #define IRQ_PG3 BFIN_PG_IRQ(3) |
272 | #define IRQ_PG3 BFIN_PG_IRQ(3) | 272 | #define IRQ_PG4 BFIN_PG_IRQ(4) |
273 | #define IRQ_PG4 BFIN_PG_IRQ(4) | 273 | #define IRQ_PG5 BFIN_PG_IRQ(5) |
274 | #define IRQ_PG5 BFIN_PG_IRQ(5) | 274 | #define IRQ_PG6 BFIN_PG_IRQ(6) |
275 | #define IRQ_PG6 BFIN_PG_IRQ(6) | 275 | #define IRQ_PG7 BFIN_PG_IRQ(7) |
276 | #define IRQ_PG7 BFIN_PG_IRQ(7) | 276 | #define IRQ_PG8 BFIN_PG_IRQ(8) |
277 | #define IRQ_PG8 BFIN_PG_IRQ(8) | 277 | #define IRQ_PG9 BFIN_PG_IRQ(9) |
278 | #define IRQ_PG9 BFIN_PG_IRQ(9) | 278 | #define IRQ_PG10 BFIN_PG_IRQ(10) |
279 | #define IRQ_PG10 BFIN_PG_IRQ(10) | 279 | #define IRQ_PG11 BFIN_PG_IRQ(11) |
280 | #define IRQ_PG11 BFIN_PG_IRQ(11) | 280 | #define IRQ_PG12 BFIN_PG_IRQ(12) |
281 | #define IRQ_PG12 BFIN_PG_IRQ(12) | 281 | #define IRQ_PG13 BFIN_PG_IRQ(13) |
282 | #define IRQ_PG13 BFIN_PG_IRQ(13) | 282 | #define IRQ_PG14 BFIN_PG_IRQ(14) |
283 | #define IRQ_PG14 BFIN_PG_IRQ(14) | 283 | #define IRQ_PG15 BFIN_PG_IRQ(15) |
284 | #define IRQ_PG15 BFIN_PG_IRQ(15) | 284 | |
285 | 285 | #define BFIN_PH_IRQ(x) ((x) + IRQ_PG15 + 1) | |
286 | #define BFIN_PH_IRQ(x) ((x) + IRQ_PG15 + 1) | 286 | #define IRQ_PH0 BFIN_PH_IRQ(0) |
287 | #define IRQ_PH0 BFIN_PH_IRQ(0) | 287 | #define IRQ_PH1 BFIN_PH_IRQ(1) |
288 | #define IRQ_PH1 BFIN_PH_IRQ(1) | 288 | #define IRQ_PH2 BFIN_PH_IRQ(2) |
289 | #define IRQ_PH2 BFIN_PH_IRQ(2) | 289 | #define IRQ_PH3 BFIN_PH_IRQ(3) |
290 | #define IRQ_PH3 BFIN_PH_IRQ(3) | 290 | #define IRQ_PH4 BFIN_PH_IRQ(4) |
291 | #define IRQ_PH4 BFIN_PH_IRQ(4) | 291 | #define IRQ_PH5 BFIN_PH_IRQ(5) |
292 | #define IRQ_PH5 BFIN_PH_IRQ(5) | 292 | #define IRQ_PH6 BFIN_PH_IRQ(6) |
293 | #define IRQ_PH6 BFIN_PH_IRQ(6) | 293 | #define IRQ_PH7 BFIN_PH_IRQ(7) |
294 | #define IRQ_PH7 BFIN_PH_IRQ(7) | 294 | #define IRQ_PH8 BFIN_PH_IRQ(8) |
295 | #define IRQ_PH8 BFIN_PH_IRQ(8) | 295 | #define IRQ_PH9 BFIN_PH_IRQ(9) |
296 | #define IRQ_PH9 BFIN_PH_IRQ(9) | 296 | #define IRQ_PH10 BFIN_PH_IRQ(10) |
297 | #define IRQ_PH10 BFIN_PH_IRQ(10) | 297 | #define IRQ_PH11 BFIN_PH_IRQ(11) |
298 | #define IRQ_PH11 BFIN_PH_IRQ(11) | 298 | #define IRQ_PH12 BFIN_PH_IRQ(12) |
299 | #define IRQ_PH12 BFIN_PH_IRQ(12) | 299 | #define IRQ_PH13 BFIN_PH_IRQ(13) |
300 | #define IRQ_PH13 BFIN_PH_IRQ(13) | 300 | #define IRQ_PH14 BFIN_PH_IRQ(14) /* N/A */ |
301 | #define IRQ_PH14 BFIN_PH_IRQ(14) /* N/A */ | 301 | #define IRQ_PH15 BFIN_PH_IRQ(15) /* N/A */ |
302 | #define IRQ_PH15 BFIN_PH_IRQ(15) /* N/A */ | 302 | |
303 | 303 | #define BFIN_PI_IRQ(x) ((x) + IRQ_PH15 + 1) | |
304 | #define BFIN_PI_IRQ(x) ((x) + IRQ_PH15 + 1) | 304 | #define IRQ_PI0 BFIN_PI_IRQ(0) |
305 | #define IRQ_PI0 BFIN_PI_IRQ(0) | 305 | #define IRQ_PI1 BFIN_PI_IRQ(1) |
306 | #define IRQ_PI1 BFIN_PI_IRQ(1) | 306 | #define IRQ_PI2 BFIN_PI_IRQ(2) |
307 | #define IRQ_PI2 BFIN_PI_IRQ(2) | 307 | #define IRQ_PI3 BFIN_PI_IRQ(3) |
308 | #define IRQ_PI3 BFIN_PI_IRQ(3) | 308 | #define IRQ_PI4 BFIN_PI_IRQ(4) |
309 | #define IRQ_PI4 BFIN_PI_IRQ(4) | 309 | #define IRQ_PI5 BFIN_PI_IRQ(5) |
310 | #define IRQ_PI5 BFIN_PI_IRQ(5) | 310 | #define IRQ_PI6 BFIN_PI_IRQ(6) |
311 | #define IRQ_PI6 BFIN_PI_IRQ(6) | 311 | #define IRQ_PI7 BFIN_PI_IRQ(7) |
312 | #define IRQ_PI7 BFIN_PI_IRQ(7) | 312 | #define IRQ_PI8 BFIN_PI_IRQ(8) |
313 | #define IRQ_PI8 BFIN_PI_IRQ(8) | 313 | #define IRQ_PI9 BFIN_PI_IRQ(9) |
314 | #define IRQ_PI9 BFIN_PI_IRQ(9) | 314 | #define IRQ_PI10 BFIN_PI_IRQ(10) |
315 | #define IRQ_PI10 BFIN_PI_IRQ(10) | 315 | #define IRQ_PI11 BFIN_PI_IRQ(11) |
316 | #define IRQ_PI11 BFIN_PI_IRQ(11) | 316 | #define IRQ_PI12 BFIN_PI_IRQ(12) |
317 | #define IRQ_PI12 BFIN_PI_IRQ(12) | 317 | #define IRQ_PI13 BFIN_PI_IRQ(13) |
318 | #define IRQ_PI13 BFIN_PI_IRQ(13) | 318 | #define IRQ_PI14 BFIN_PI_IRQ(14) |
319 | #define IRQ_PI14 BFIN_PI_IRQ(14) | 319 | #define IRQ_PI15 BFIN_PI_IRQ(15) |
320 | #define IRQ_PI15 BFIN_PI_IRQ(15) | 320 | |
321 | 321 | #define BFIN_PJ_IRQ(x) ((x) + IRQ_PI15 + 1) | |
322 | #define BFIN_PJ_IRQ(x) ((x) + IRQ_PI15 + 1) | 322 | #define IRQ_PJ0 BFIN_PJ_IRQ(0) |
323 | #define IRQ_PJ0 BFIN_PJ_IRQ(0) | 323 | #define IRQ_PJ1 BFIN_PJ_IRQ(1) |
324 | #define IRQ_PJ1 BFIN_PJ_IRQ(1) | 324 | #define IRQ_PJ2 BFIN_PJ_IRQ(2) |
325 | #define IRQ_PJ2 BFIN_PJ_IRQ(2) | 325 | #define IRQ_PJ3 BFIN_PJ_IRQ(3) |
326 | #define IRQ_PJ3 BFIN_PJ_IRQ(3) | 326 | #define IRQ_PJ4 BFIN_PJ_IRQ(4) |
327 | #define IRQ_PJ4 BFIN_PJ_IRQ(4) | 327 | #define IRQ_PJ5 BFIN_PJ_IRQ(5) |
328 | #define IRQ_PJ5 BFIN_PJ_IRQ(5) | 328 | #define IRQ_PJ6 BFIN_PJ_IRQ(6) |
329 | #define IRQ_PJ6 BFIN_PJ_IRQ(6) | 329 | #define IRQ_PJ7 BFIN_PJ_IRQ(7) |
330 | #define IRQ_PJ7 BFIN_PJ_IRQ(7) | 330 | #define IRQ_PJ8 BFIN_PJ_IRQ(8) |
331 | #define IRQ_PJ8 BFIN_PJ_IRQ(8) | 331 | #define IRQ_PJ9 BFIN_PJ_IRQ(9) |
332 | #define IRQ_PJ9 BFIN_PJ_IRQ(9) | 332 | #define IRQ_PJ10 BFIN_PJ_IRQ(10) |
333 | #define IRQ_PJ10 BFIN_PJ_IRQ(10) | 333 | #define IRQ_PJ11 BFIN_PJ_IRQ(11) |
334 | #define IRQ_PJ11 BFIN_PJ_IRQ(11) | 334 | #define IRQ_PJ12 BFIN_PJ_IRQ(12) |
335 | #define IRQ_PJ12 BFIN_PJ_IRQ(12) | 335 | #define IRQ_PJ13 BFIN_PJ_IRQ(13) |
336 | #define IRQ_PJ13 BFIN_PJ_IRQ(13) | 336 | #define IRQ_PJ14 BFIN_PJ_IRQ(14) /* N/A */ |
337 | #define IRQ_PJ14 BFIN_PJ_IRQ(14) /* N/A */ | 337 | #define IRQ_PJ15 BFIN_PJ_IRQ(15) /* N/A */ |
338 | #define IRQ_PJ15 BFIN_PJ_IRQ(15) /* N/A */ | 338 | |
339 | #define GPIO_IRQ_BASE IRQ_PA0 | ||
339 | 340 | ||
340 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO | 341 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO |
341 | #define NR_IRQS (IRQ_PJ15+1) | 342 | #define NR_IRQS (IRQ_PJ15+1) |
@@ -343,6 +344,34 @@ Events (highest priority) EMU 0 | |||
343 | #define NR_IRQS (SYS_IRQS+1) | 344 | #define NR_IRQS (SYS_IRQS+1) |
344 | #endif | 345 | #endif |
345 | 346 | ||
347 | /* For compatibility reasons with existing code */ | ||
348 | |||
349 | #define IRQ_DMAC0_ERR IRQ_DMAC0_ERROR | ||
350 | #define IRQ_EPPI0_ERR IRQ_EPPI0_ERROR | ||
351 | #define IRQ_SPORT0_ERR IRQ_SPORT0_ERROR | ||
352 | #define IRQ_SPORT1_ERR IRQ_SPORT1_ERROR | ||
353 | #define IRQ_SPI0_ERR IRQ_SPI0_ERROR | ||
354 | #define IRQ_UART0_ERR IRQ_UART0_ERROR | ||
355 | #define IRQ_DMAC1_ERR IRQ_DMAC1_ERROR | ||
356 | #define IRQ_SPORT2_ERR IRQ_SPORT2_ERROR | ||
357 | #define IRQ_SPORT3_ERR IRQ_SPORT3_ERROR | ||
358 | #define IRQ_SPI1_ERR IRQ_SPI1_ERROR | ||
359 | #define IRQ_SPI2_ERR IRQ_SPI2_ERROR | ||
360 | #define IRQ_UART1_ERR IRQ_UART1_ERROR | ||
361 | #define IRQ_UART2_ERR IRQ_UART2_ERROR | ||
362 | #define IRQ_CAN0_ERR IRQ_CAN0_ERROR | ||
363 | #define IRQ_MXVR_ERR IRQ_MXVR_ERROR | ||
364 | #define IRQ_EPP1_ERR IRQ_EPP1_ERROR | ||
365 | #define IRQ_EPP2_ERR IRQ_EPP2_ERROR | ||
366 | #define IRQ_UART3_ERR IRQ_UART3_ERROR | ||
367 | #define IRQ_HOST_ERR IRQ_HOST_ERROR | ||
368 | #define IRQ_PIXC_ERR IRQ_PIXC_ERROR | ||
369 | #define IRQ_NFC_ERR IRQ_NFC_ERROR | ||
370 | #define IRQ_ATAPI_ERR IRQ_ATAPI_ERROR | ||
371 | #define IRQ_CAN1_ERR IRQ_CAN1_ERROR | ||
372 | #define IRQ_HS_DMA_ERR IRQ_HS_DMA_ERROR | ||
373 | |||
374 | |||
346 | #define IVG7 7 | 375 | #define IVG7 7 |
347 | #define IVG8 8 | 376 | #define IVG8 8 |
348 | #define IVG9 9 | 377 | #define IVG9 9 |
diff --git a/include/asm-blackfin/mach-bf548/mem_map.h b/include/asm-blackfin/mach-bf548/mem_map.h index 72d80e8a6e81..ec1597e31831 100644 --- a/include/asm-blackfin/mach-bf548/mem_map.h +++ b/include/asm-blackfin/mach-bf548/mem_map.h | |||
@@ -51,10 +51,10 @@ | |||
51 | /* Level 1 Memory */ | 51 | /* Level 1 Memory */ |
52 | 52 | ||
53 | /* Memory Map for ADSP-BF548 processors */ | 53 | /* Memory Map for ADSP-BF548 processors */ |
54 | #ifdef CONFIG_BLKFIN_ICACHE | 54 | #ifdef CONFIG_BFIN_ICACHE |
55 | #define BLKFIN_ICACHESIZE (16*1024) | 55 | #define BFIN_ICACHESIZE (16*1024) |
56 | #else | 56 | #else |
57 | #define BLKFIN_ICACHESIZE (0*1024) | 57 | #define BFIN_ICACHESIZE (0*1024) |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | #define L1_CODE_START 0xFFA00000 | 60 | #define L1_CODE_START 0xFFA00000 |
@@ -63,29 +63,29 @@ | |||
63 | 63 | ||
64 | #define L1_CODE_LENGTH 0xC000 | 64 | #define L1_CODE_LENGTH 0xC000 |
65 | 65 | ||
66 | #ifdef CONFIG_BLKFIN_DCACHE | 66 | #ifdef CONFIG_BFIN_DCACHE |
67 | 67 | ||
68 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 68 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
69 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 69 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
70 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 70 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
71 | #define L1_DATA_B_LENGTH 0x8000 | 71 | #define L1_DATA_B_LENGTH 0x8000 |
72 | #define BLKFIN_DCACHESIZE (16*1024) | 72 | #define BFIN_DCACHESIZE (16*1024) |
73 | #define BLKFIN_DSUPBANKS 1 | 73 | #define BFIN_DSUPBANKS 1 |
74 | #else | 74 | #else |
75 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 75 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
76 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 76 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
77 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) | 77 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) |
78 | #define BLKFIN_DCACHESIZE (32*1024) | 78 | #define BFIN_DCACHESIZE (32*1024) |
79 | #define BLKFIN_DSUPBANKS 2 | 79 | #define BFIN_DSUPBANKS 2 |
80 | #endif | 80 | #endif |
81 | 81 | ||
82 | #else | 82 | #else |
83 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 83 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
84 | #define L1_DATA_A_LENGTH 0x8000 | 84 | #define L1_DATA_A_LENGTH 0x8000 |
85 | #define L1_DATA_B_LENGTH 0x8000 | 85 | #define L1_DATA_B_LENGTH 0x8000 |
86 | #define BLKFIN_DCACHESIZE (0*1024) | 86 | #define BFIN_DCACHESIZE (0*1024) |
87 | #define BLKFIN_DSUPBANKS 0 | 87 | #define BFIN_DSUPBANKS 0 |
88 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 88 | #endif /*CONFIG_BFIN_DCACHE*/ |
89 | 89 | ||
90 | /* Scratch Pad Memory */ | 90 | /* Scratch Pad Memory */ |
91 | 91 | ||
diff --git a/include/asm-blackfin/mach-bf561/anomaly.h b/include/asm-blackfin/mach-bf561/anomaly.h index f5b32d66517d..bed956456884 100644 --- a/include/asm-blackfin/mach-bf561/anomaly.h +++ b/include/asm-blackfin/mach-bf561/anomaly.h | |||
@@ -1,184 +1,256 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * File: include/asm-blackfin/mach-bf561/anomaly.h | 2 | * File: include/asm-blackfin/mach-bf561/anomaly.h |
4 | * Based on: | 3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
5 | * Author: | ||
6 | * | ||
7 | * Created: | ||
8 | * Description: | ||
9 | * | ||
10 | * Rev: | ||
11 | * | ||
12 | * Modified: | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | 4 | * |
16 | * This program is free software; you can redistribute it and/or modify | 5 | * Copyright (C) 2004-2007 Analog Devices Inc. |
17 | * it under the terms of the GNU General Public License as published by | 6 | * Licensed under the GPL-2 or later. |
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 7 | */ |
31 | 8 | ||
32 | /* This file shoule be up to date with: | 9 | /* This file shoule be up to date with: |
33 | * - Revision L, 10Aug2006; ADSP-BF561 Silicon Anomaly List | 10 | * - Revision N, March 28, 2007; ADSP-BF561 Silicon Anomaly List |
34 | */ | 11 | */ |
35 | 12 | ||
36 | #ifndef _MACH_ANOMALY_H_ | 13 | #ifndef _MACH_ANOMALY_H_ |
37 | #define _MACH_ANOMALY_H_ | 14 | #define _MACH_ANOMALY_H_ |
38 | 15 | ||
39 | /* We do not support 0.1 or 0.4 silicon - sorry */ | 16 | /* We do not support 0.1, 0.2, or 0.4 silicon - sorry */ |
40 | #if (defined(CONFIG_BF_REV_0_1) || defined(CONFIG_BF_REV_0_2) || defined(CONFIG_BF_REV_0_4)) | 17 | #if __SILICON_REVISION__ < 3 || __SILICON_REVISION__ == 4 |
41 | #error Kernel will not work on BF561 Version 0.1, 0.2, or 0.4 | 18 | # error Kernel will not work on BF561 silicon version 0.0, 0.1, 0.2, or 0.4 |
42 | #endif | 19 | #endif |
43 | 20 | ||
44 | /* Issues that are common to 0.5 and 0.3 silicon */ | 21 | /* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot 2 Not Supported */ |
45 | #if (defined(CONFIG_BF_REV_0_5) || defined(CONFIG_BF_REV_0_3)) | 22 | #define ANOMALY_05000074 (1) |
46 | #define ANOMALY_05000074 /* A multi issue instruction with dsp32shiftimm in | 23 | /* UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time */ |
47 | slot1 and store of a P register in slot 2 is not | 24 | #define ANOMALY_05000099 (__SILICON_REVISION__ < 5) |
48 | supported */ | 25 | /* Trace Buffers may contain errors in emulation mode and/or exception, NMI, reset handlers */ |
49 | #define ANOMALY_05000099 /* UART Line Status Register (UART_LSR) bits are not | 26 | #define ANOMALY_05000116 (__SILICON_REVISION__ < 3) |
50 | updated at the same time. */ | 27 | /* Testset instructions restricted to 32-bit aligned memory locations */ |
51 | #define ANOMALY_05000120 /* Testset instructions restricted to 32-bit aligned | 28 | #define ANOMALY_05000120 (1) |
52 | memory locations */ | 29 | /* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */ |
53 | #define ANOMALY_05000122 /* Rx.H cannot be used to access 16-bit System MMR | 30 | #define ANOMALY_05000122 (1) |
54 | registers */ | 31 | /* Erroneous exception when enabling cache */ |
55 | #define ANOMALY_05000127 /* Signbits instruction not functional under certain | 32 | #define ANOMALY_05000125 (__SILICON_REVISION__ < 3) |
56 | conditions */ | 33 | /* Signbits instruction not functional under certain conditions */ |
57 | #define ANOMALY_05000149 /* IMDMA S1/D1 channel may stall */ | 34 | #define ANOMALY_05000127 (1) |
58 | #define ANOMALY_05000166 /* PPI Data Lengths Between 8 and 16 do not zero out | 35 | /* Two bits in the Watchpoint Status Register (WPSTAT) are swapped */ |
59 | upper bits */ | 36 | #define ANOMALY_05000134 (__SILICON_REVISION__ < 3) |
60 | #define ANOMALY_05000167 /* Turning Serial Ports on With External Frame Syncs */ | 37 | /* Enable wires from the Data Watchpoint Address Control Register (WPDACTL) are swapped */ |
61 | #define ANOMALY_05000180 /* PPI_DELAY not functional in PPI modes with 0 frame | 38 | #define ANOMALY_05000135 (__SILICON_REVISION__ < 3) |
62 | syncs */ | 39 | /* Stall in multi-unit DMA operations */ |
63 | #define ANOMALY_05000182 /* IMDMA does not operate to full speed for 600MHz | 40 | #define ANOMALY_05000136 (__SILICON_REVISION__ < 3) |
64 | and higher devices */ | 41 | /* Allowing the SPORT RX FIFO to fill will cause an overflow */ |
65 | #define ANOMALY_05000187 /* IMDMA Corrupted Data after a Halt */ | 42 | #define ANOMALY_05000140 (__SILICON_REVISION__ < 3) |
66 | #define ANOMALY_05000190 /* PPI not functional at core voltage < 1Volt */ | 43 | /* Infinite Stall may occur with a particular sequence of consecutive dual dag events */ |
67 | #define ANOMALY_05000208 /* VSTAT status bit in PLL_STAT register is not | 44 | #define ANOMALY_05000141 (__SILICON_REVISION__ < 3) |
68 | functional */ | 45 | /* Interrupts may be lost when a programmable input flag is configured to be edge sensitive */ |
69 | #define ANOMALY_05000245 /* Spurious Hardware Error from an access in the | 46 | #define ANOMALY_05000142 (__SILICON_REVISION__ < 3) |
70 | shadow of a conditional branch */ | 47 | /* DMA and TESTSET conflict when both are accessing external memory */ |
71 | #define ANOMALY_05000257 /* Interrupt/Exception during short hardware loop | 48 | #define ANOMALY_05000144 (__SILICON_REVISION__ < 3) |
72 | may cause bad instruction fetches */ | 49 | /* In PWM_OUT mode, you must enable the PPI block to generate a waveform from PPI_CLK */ |
73 | #define ANOMALY_05000265 /* Sensitivity to noise with slow input edge rates on | 50 | #define ANOMALY_05000145 (__SILICON_REVISION__ < 3) |
74 | external SPORT TX and RX clocks */ | 51 | /* MDMA may lose the first few words of a descriptor chain */ |
75 | #define ANOMALY_05000267 /* IMDMA may corrupt data under certain conditions */ | 52 | #define ANOMALY_05000146 (__SILICON_REVISION__ < 3) |
76 | #define ANOMALY_05000269 /* High I/O activity causes output voltage of internal | 53 | /* Source MDMA descriptor may stop with a DMA Error near beginning of descriptor fetch */ |
77 | voltage regulator (VDDint) to increase */ | 54 | #define ANOMALY_05000147 (__SILICON_REVISION__ < 3) |
78 | #define ANOMALY_05000270 /* High I/O activity causes output voltage of internal | 55 | /* IMDMA S1/D1 channel may stall */ |
79 | voltage regulator (VDDint) to decrease */ | 56 | #define ANOMALY_05000149 (1) |
80 | #define ANOMALY_05000272 /* Certain data cache write through modes fail for | 57 | /* DMA engine may lose data due to incorrect handshaking */ |
81 | VDDint <=0.9V */ | 58 | #define ANOMALY_05000150 (__SILICON_REVISION__ < 3) |
82 | #define ANOMALY_05000274 /* Data cache write back to external synchronous memory | 59 | /* DMA stalls when all three controllers read data from the same source */ |
83 | may be lost */ | 60 | #define ANOMALY_05000151 (__SILICON_REVISION__ < 3) |
84 | #define ANOMALY_05000275 /* PPI Timing and sampling informaton updates */ | 61 | /* Execution stall when executing in L2 and doing external accesses */ |
85 | #define ANOMALY_05000312 /* Errors when SSYNC, CSYNC, or loads to LT, LB and LC | 62 | #define ANOMALY_05000152 (__SILICON_REVISION__ < 3) |
86 | registers are interrupted */ | 63 | /* Frame Delay in SPORT Multichannel Mode */ |
64 | #define ANOMALY_05000153 (__SILICON_REVISION__ < 3) | ||
65 | /* SPORT TFS signal stays active in multichannel mode outside of valid channels */ | ||
66 | #define ANOMALY_05000154 (__SILICON_REVISION__ < 3) | ||
67 | /* Timers in PWM-Out Mode with PPI GP Receive (Input) Mode with 0 Frame Syncs */ | ||
68 | #define ANOMALY_05000156 (__SILICON_REVISION__ < 4) | ||
69 | /* Killed 32-bit MMR write leads to next system MMR access thinking it should be 32-bit */ | ||
70 | #define ANOMALY_05000157 (__SILICON_REVISION__ < 3) | ||
71 | /* DMA Lock-up at CCLK to SCLK ratios of 4:1, 2:1, or 1:1 */ | ||
72 | #define ANOMALY_05000159 (__SILICON_REVISION__ < 3) | ||
73 | /* A read from external memory may return a wrong value with data cache enabled */ | ||
74 | #define ANOMALY_05000160 (__SILICON_REVISION__ < 3) | ||
75 | /* Data Cache Fill data can be corrupted after/during Instruction DMA if certain core stalls exist */ | ||
76 | #define ANOMALY_05000161 (__SILICON_REVISION__ < 3) | ||
77 | /* DMEM_CONTROL<12> is not set on Reset */ | ||
78 | #define ANOMALY_05000162 (__SILICON_REVISION__ < 3) | ||
79 | /* SPORT transmit data is not gated by external frame sync in certain conditions */ | ||
80 | #define ANOMALY_05000163 (__SILICON_REVISION__ < 3) | ||
81 | /* PPI Data Lengths Between 8 and 16 Do Not Zero Out Upper Bits */ | ||
82 | #define ANOMALY_05000166 (1) | ||
83 | /* Turning Serial Ports on with External Frame Syncs */ | ||
84 | #define ANOMALY_05000167 (1) | ||
85 | /* SDRAM auto-refresh and subsequent Power Ups */ | ||
86 | #define ANOMALY_05000168 (__SILICON_REVISION__ < 5) | ||
87 | /* DATA CPLB page miss can result in lost write-through cache data writes */ | ||
88 | #define ANOMALY_05000169 (__SILICON_REVISION__ < 5) | ||
89 | /* Boot-ROM code modifies SICA_IWRx wakeup registers */ | ||
90 | #define ANOMALY_05000171 (__SILICON_REVISION__ < 5) | ||
91 | /* DSPID register values incorrect */ | ||
92 | #define ANOMALY_05000172 (__SILICON_REVISION__ < 3) | ||
93 | /* DMA vs Core accesses to external memory */ | ||
94 | #define ANOMALY_05000173 (__SILICON_REVISION__ < 3) | ||
95 | /* Cache Fill Buffer Data lost */ | ||
96 | #define ANOMALY_05000174 (__SILICON_REVISION__ < 5) | ||
97 | /* Overlapping Sequencer and Memory Stalls */ | ||
98 | #define ANOMALY_05000175 (__SILICON_REVISION__ < 5) | ||
99 | /* Multiplication of (-1) by (-1) followed by an accumulator saturation */ | ||
100 | #define ANOMALY_05000176 (__SILICON_REVISION__ < 5) | ||
101 | /* PPI_COUNT Cannot Be Programmed to 0 in General Purpose TX or RX Modes */ | ||
102 | #define ANOMALY_05000179 (__SILICON_REVISION__ < 5) | ||
103 | /* PPI_DELAY Not Functional in PPI Modes with 0 Frame Syncs */ | ||
104 | #define ANOMALY_05000180 (1) | ||
105 | /* Disabling the PPI resets the PPI configuration registers */ | ||
106 | #define ANOMALY_05000181 (__SILICON_REVISION__ < 5) | ||
107 | /* IMDMA does not operate to full speed for 600MHz and higher devices */ | ||
108 | #define ANOMALY_05000182 (1) | ||
109 | /* Timer Pin limitations for PPI TX Modes with External Frame Syncs */ | ||
110 | #define ANOMALY_05000184 (__SILICON_REVISION__ < 5) | ||
111 | /* PPI TX Mode with 2 External Frame Syncs */ | ||
112 | #define ANOMALY_05000185 (__SILICON_REVISION__ < 5) | ||
113 | /* PPI packing with Data Length greater than 8 bits (not a meaningful mode) */ | ||
114 | #define ANOMALY_05000186 (__SILICON_REVISION__ < 5) | ||
115 | /* IMDMA Corrupted Data after a Halt */ | ||
116 | #define ANOMALY_05000187 (1) | ||
117 | /* IMDMA Restrictions on Descriptor and Buffer Placement in Memory */ | ||
118 | #define ANOMALY_05000188 (__SILICON_REVISION__ < 5) | ||
119 | /* False Protection Exceptions */ | ||
120 | #define ANOMALY_05000189 (__SILICON_REVISION__ < 5) | ||
121 | /* PPI not functional at core voltage < 1Volt */ | ||
122 | #define ANOMALY_05000190 (1) | ||
123 | /* PPI does not invert the Driving PPICLK edge in Transmit Modes */ | ||
124 | #define ANOMALY_05000191 (__SILICON_REVISION__ < 3) | ||
125 | /* False I/O Pin Interrupts on Edge-Sensitive Inputs When Polarity Setting Is Changed */ | ||
126 | #define ANOMALY_05000193 (__SILICON_REVISION__ < 5) | ||
127 | /* Restarting SPORT in Specific Modes May Cause Data Corruption */ | ||
128 | #define ANOMALY_05000194 (__SILICON_REVISION__ < 5) | ||
129 | /* Failing MMR Accesses When Stalled by Preceding Memory Read */ | ||
130 | #define ANOMALY_05000198 (__SILICON_REVISION__ < 5) | ||
131 | /* Current DMA Address Shows Wrong Value During Carry Fix */ | ||
132 | #define ANOMALY_05000199 (__SILICON_REVISION__ < 5) | ||
133 | /* SPORT TFS and DT Are Incorrectly Driven During Inactive Channels in Certain Conditions */ | ||
134 | #define ANOMALY_05000200 (__SILICON_REVISION__ < 5) | ||
135 | /* Possible Infinite Stall with Specific Dual-DAG Situation */ | ||
136 | #define ANOMALY_05000202 (__SILICON_REVISION__ < 5) | ||
137 | /* Incorrect data read with write-through cache and allocate cache lines on reads only mode */ | ||
138 | #define ANOMALY_05000204 (__SILICON_REVISION__ < 5) | ||
139 | /* Specific sequence that can cause DMA error or DMA stopping */ | ||
140 | #define ANOMALY_05000205 (__SILICON_REVISION__ < 5) | ||
141 | /* Recovery from "Brown-Out" Condition */ | ||
142 | #define ANOMALY_05000207 (__SILICON_REVISION__ < 5) | ||
143 | /* VSTAT Status Bit in PLL_STAT Register Is Not Functional */ | ||
144 | #define ANOMALY_05000208 (1) | ||
145 | /* Speed Path in Computational Unit Affects Certain Instructions */ | ||
146 | #define ANOMALY_05000209 (__SILICON_REVISION__ < 5) | ||
147 | /* UART TX Interrupt Masked Erroneously */ | ||
148 | #define ANOMALY_05000215 (__SILICON_REVISION__ < 5) | ||
149 | /* NMI Event at Boot Time Results in Unpredictable State */ | ||
150 | #define ANOMALY_05000219 (__SILICON_REVISION__ < 5) | ||
151 | /* Data Corruption with Cached External Memory and Non-Cached On-Chip L2 Memory */ | ||
152 | #define ANOMALY_05000220 (__SILICON_REVISION__ < 5) | ||
153 | /* Incorrect Pulse-Width of UART Start Bit */ | ||
154 | #define ANOMALY_05000225 (__SILICON_REVISION__ < 5) | ||
155 | /* Scratchpad Memory Bank Reads May Return Incorrect Data */ | ||
156 | #define ANOMALY_05000227 (__SILICON_REVISION__ < 5) | ||
157 | /* UART Receiver is Less Robust Against Baudrate Differences in Certain Conditions */ | ||
158 | #define ANOMALY_05000230 (__SILICON_REVISION__ < 5) | ||
159 | /* UART STB Bit Incorrectly Affects Receiver Setting */ | ||
160 | #define ANOMALY_05000231 (__SILICON_REVISION__ < 5) | ||
161 | /* SPORT data transmit lines are incorrectly driven in multichannel mode */ | ||
162 | #define ANOMALY_05000232 (__SILICON_REVISION__ < 5) | ||
163 | /* DF Bit in PLL_CTL Register Does Not Respond to Hardware Reset */ | ||
164 | #define ANOMALY_05000242 (__SILICON_REVISION__ < 5) | ||
165 | /* If I-Cache Is On, CSYNC/SSYNC/IDLE Around Change of Control Causes Failures */ | ||
166 | #define ANOMALY_05000244 (__SILICON_REVISION__ < 5) | ||
167 | /* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */ | ||
168 | #define ANOMALY_05000245 (__SILICON_REVISION__ < 5) | ||
169 | /* TESTSET operation forces stall on the other core */ | ||
170 | #define ANOMALY_05000248 (__SILICON_REVISION__ < 5) | ||
171 | /* Incorrect Bit Shift of Data Word in Multichannel (TDM) Mode in Certain Conditions */ | ||
172 | #define ANOMALY_05000250 (__SILICON_REVISION__ > 2 && __SILICON_REVISION__ < 5) | ||
173 | /* Exception Not Generated for MMR Accesses in Reserved Region */ | ||
174 | #define ANOMALY_05000251 (__SILICON_REVISION__ < 5) | ||
175 | /* Maximum External Clock Speed for Timers */ | ||
176 | #define ANOMALY_05000253 (__SILICON_REVISION__ < 5) | ||
177 | /* Incorrect Timer Pulse Width in Single-Shot PWM_OUT Mode with External Clock */ | ||
178 | #define ANOMALY_05000254 (__SILICON_REVISION__ > 3) | ||
179 | /* Interrupt/Exception During Short Hardware Loop May Cause Bad Instruction Fetches */ | ||
180 | #define ANOMALY_05000257 (__SILICON_REVISION__ < 5) | ||
181 | /* Instruction Cache Is Corrupted When Bits 9 and 12 of the ICPLB Data Registers Differ */ | ||
182 | #define ANOMALY_05000258 (__SILICON_REVISION__ < 5) | ||
183 | /* ICPLB_STATUS MMR Register May Be Corrupted */ | ||
184 | #define ANOMALY_05000260 (__SILICON_REVISION__ < 5) | ||
185 | /* DCPLB_FAULT_ADDR MMR Register May Be Corrupted */ | ||
186 | #define ANOMALY_05000261 (__SILICON_REVISION__ < 5) | ||
187 | /* Stores To Data Cache May Be Lost */ | ||
188 | #define ANOMALY_05000262 (__SILICON_REVISION__ < 5) | ||
189 | /* Hardware Loop Corrupted When Taking an ICPLB Exception */ | ||
190 | #define ANOMALY_05000263 (__SILICON_REVISION__ < 5) | ||
191 | /* CSYNC/SSYNC/IDLE Causes Infinite Stall in Penultimate Instruction in Hardware Loop */ | ||
192 | #define ANOMALY_05000264 (__SILICON_REVISION__ < 5) | ||
193 | /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ | ||
194 | #define ANOMALY_05000265 (__SILICON_REVISION__ < 5) | ||
195 | /* IMDMA destination IRQ status must be read prior to using IMDMA */ | ||
196 | #define ANOMALY_05000266 (__SILICON_REVISION__ > 3) | ||
197 | /* IMDMA may corrupt data under certain conditions */ | ||
198 | #define ANOMALY_05000267 (1) | ||
199 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Increase */ | ||
200 | #define ANOMALY_05000269 (1) | ||
201 | /* High I/O Activity Causes Output Voltage of Internal Voltage Regulator (Vddint) to Decrease */ | ||
202 | #define ANOMALY_05000270 (1) | ||
203 | /* Certain Data Cache Writethrough Modes Fail for Vddint <= 0.9V */ | ||
204 | #define ANOMALY_05000272 (1) | ||
205 | /* Data cache write back to external synchronous memory may be lost */ | ||
206 | #define ANOMALY_05000274 (1) | ||
207 | /* PPI Timing and Sampling Information Updates */ | ||
208 | #define ANOMALY_05000275 (__SILICON_REVISION__ > 2) | ||
209 | /* Timing Requirements Change for External Frame Sync PPI Modes with Non-Zero PPI_DELAY */ | ||
210 | #define ANOMALY_05000276 (__SILICON_REVISION__ < 5) | ||
211 | /* Disabling Peripherals with DMA Running May Cause DMA System Instability */ | ||
212 | #define ANOMALY_05000278 (__SILICON_REVISION__ < 5) | ||
213 | /* False Hardware Error Exception When ISR Context Is Not Restored */ | ||
214 | #define ANOMALY_05000281 (__SILICON_REVISION__ < 5) | ||
215 | /* System MMR Write Is Stalled Indefinitely When Killed in a Particular Stage */ | ||
216 | #define ANOMALY_05000283 (1) | ||
217 | /* A read will receive incorrect data under certain conditions */ | ||
218 | #define ANOMALY_05000287 (__SILICON_REVISION__ < 5) | ||
219 | /* SPORTs May Receive Bad Data If FIFOs Fill Up */ | ||
220 | #define ANOMALY_05000288 (__SILICON_REVISION__ < 5) | ||
221 | /* Memory-To-Memory DMA Source/Destination Descriptors Must Be in Same Memory Space */ | ||
222 | #define ANOMALY_05000301 (1) | ||
223 | /* SSYNCs After Writes To DMA MMR Registers May Not Be Handled Correctly */ | ||
224 | #define ANOMALY_05000302 (1) | ||
225 | /* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ | ||
226 | #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) | ||
227 | /* SCKELOW Bit Does Not Maintain State Through Hibernate */ | ||
228 | #define ANOMALY_05000307 (__SILICON_REVISION__ < 5) | ||
229 | /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ | ||
230 | #define ANOMALY_05000310 (1) | ||
231 | /* Errors When SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */ | ||
232 | #define ANOMALY_05000312 (1) | ||
233 | /* PPI Is Level-Sensitive on First Transfer */ | ||
234 | #define ANOMALY_05000313 (1) | ||
235 | /* Killed System MMR Write Completes Erroneously On Next System MMR Access */ | ||
236 | #define ANOMALY_05000315 (1) | ||
237 | /* PF2 Output Remains Asserted After SPI Master Boot */ | ||
238 | #define ANOMALY_05000320 (__SILICON_REVISION__ > 3) | ||
239 | /* Erroneous GPIO Flag Pin Operations Under Specific Sequences */ | ||
240 | #define ANOMALY_05000323 (1) | ||
241 | /* SPORT Secondary Receive Channel Not Functional When Word Length Exceeds 16 Bits */ | ||
242 | #define ANOMALY_05000326 (__SILICON_REVISION__ > 3) | ||
243 | /* New Feature: 24-Bit SPI Boot Mode Support (Not Available On Older Silicon) */ | ||
244 | #define ANOMALY_05000331 (__SILICON_REVISION__ < 5) | ||
245 | /* New Feature: Slave SPI Boot Mode Supported (Not Available On Older Silicon) */ | ||
246 | #define ANOMALY_05000332 (__SILICON_REVISION__ < 5) | ||
247 | /* Flag Data Register Writes One SCLK Cycle After Edge Is Detected May Clear Interrupt Status */ | ||
248 | #define ANOMALY_05000333 (__SILICON_REVISION__ < 5) | ||
87 | 249 | ||
88 | #endif /* (defined(CONFIG_BF_REV_0_5) || defined(CONFIG_BF_REV_0_3)) */ | 250 | /* Anomalies that don't exist on this proc */ |
251 | #define ANOMALY_05000158 (0) | ||
252 | #define ANOMALY_05000183 (0) | ||
253 | #define ANOMALY_05000273 (0) | ||
254 | #define ANOMALY_05000311 (0) | ||
89 | 255 | ||
90 | #if (defined(CONFIG_BF_REV_0_5)) | ||
91 | #define ANOMALY_05000254 /* Incorrect Timer Pulse Width in Single-Shot PWM_OUT | ||
92 | mode with external clock */ | ||
93 | #define ANOMALY_05000266 /* IMDMA destination IRQ status must be read prior to | ||
94 | using IMDMA */ | ||
95 | #endif | 256 | #endif |
96 | |||
97 | #if (defined(CONFIG_BF_REV_0_3)) | ||
98 | #define ANOMALY_05000156 /* Timers in PWM-Out Mode with PPI GP Receive (Input) | ||
99 | Mode with 0 Frame Syncs */ | ||
100 | #define ANOMALY_05000168 /* SDRAM auto-refresh and subsequent Power Ups */ | ||
101 | #define ANOMALY_05000169 /* DATA CPLB page miss can result in lost write-through | ||
102 | cache data writes */ | ||
103 | #define ANOMALY_05000171 /* Boot-ROM code modifies SICA_IWRx wakeup registers */ | ||
104 | #define ANOMALY_05000174 /* Cache Fill Buffer Data lost */ | ||
105 | #define ANOMALY_05000175 /* Overlapping Sequencer and Memory Stalls */ | ||
106 | #define ANOMALY_05000176 /* Multiplication of (-1) by (-1) followed by an | ||
107 | accumulator saturation */ | ||
108 | #define ANOMALY_05000179 /* PPI_COUNT cannot be programmed to 0 in General | ||
109 | Purpose TX or RX modes */ | ||
110 | #define ANOMALY_05000181 /* Disabling the PPI resets the PPI configuration | ||
111 | registers */ | ||
112 | #define ANOMALY_05000184 /* Timer Pin limitations for PPI TX Modes with | ||
113 | External Frame Syncs */ | ||
114 | #define ANOMALY_05000185 /* PPI TX Mode with 2 External Frame Syncs */ | ||
115 | #define ANOMALY_05000186 /* PPI packing with Data Length greater than 8 bits | ||
116 | (not a meaningful mode) */ | ||
117 | #define ANOMALY_05000188 /* IMDMA Restrictions on Descriptor and Buffer | ||
118 | Placement in Memory */ | ||
119 | #define ANOMALY_05000189 /* False Protection Exception */ | ||
120 | #define ANOMALY_05000193 /* False Flag Pin Interrupts on Edge Sensitive Inputs | ||
121 | when polarity setting is changed */ | ||
122 | #define ANOMALY_05000194 /* Restarting SPORT in specific modes may cause data | ||
123 | corruption */ | ||
124 | #define ANOMALY_05000198 /* Failing MMR accesses when stalled by preceding | ||
125 | memory read */ | ||
126 | #define ANOMALY_05000199 /* DMA current address shows wrong value during carry | ||
127 | fix */ | ||
128 | #define ANOMALY_05000200 /* SPORT TFS and DT are incorrectly driven during | ||
129 | inactive channels in certain conditions */ | ||
130 | #define ANOMALY_05000202 /* Possible infinite stall with specific dual-DAG | ||
131 | situation */ | ||
132 | #define ANOMALY_05000204 /* Incorrect data read with write-through cache and | ||
133 | allocate cache lines on reads only mode */ | ||
134 | #define ANOMALY_05000205 /* Specific sequence that can cause DMA error or DMA | ||
135 | stopping */ | ||
136 | #define ANOMALY_05000207 /* Recovery from "brown-out" condition */ | ||
137 | #define ANOMALY_05000209 /* Speed-Path in computational unit affects certain | ||
138 | instructions */ | ||
139 | #define ANOMALY_05000215 /* UART TX Interrupt masked erroneously */ | ||
140 | #define ANOMALY_05000219 /* NMI event at boot time results in unpredictable | ||
141 | state */ | ||
142 | #define ANOMALY_05000220 /* Data Corruption with Cached External Memory and | ||
143 | Non-Cached On-Chip L2 Memory */ | ||
144 | #define ANOMALY_05000225 /* Incorrect pulse-width of UART start-bit */ | ||
145 | #define ANOMALY_05000227 /* Scratchpad memory bank reads may return incorrect | ||
146 | data */ | ||
147 | #define ANOMALY_05000230 /* UART Receiver is less robust against Baudrate | ||
148 | Differences in certain Conditions */ | ||
149 | #define ANOMALY_05000231 /* UART STB bit incorrectly affects receiver setting */ | ||
150 | #define ANOMALY_05000232 /* SPORT data transmit lines are incorrectly driven in | ||
151 | multichannel mode */ | ||
152 | #define ANOMALY_05000242 /* DF bit in PLL_CTL register does not respond to | ||
153 | hardware reset */ | ||
154 | #define ANOMALY_05000244 /* If i-cache is on, CSYNC/SSYNC/IDLE around Change of | ||
155 | Control causes failures */ | ||
156 | #define ANOMALY_05000248 /* TESTSET operation forces stall on the other core */ | ||
157 | #define ANOMALY_05000250 /* Incorrect Bit-Shift of Data Word in Multichannel | ||
158 | (TDM) mode in certain conditions */ | ||
159 | #define ANOMALY_05000251 /* Exception not generated for MMR accesses in | ||
160 | reserved region */ | ||
161 | #define ANOMALY_05000253 /* Maximum external clock speed for Timers */ | ||
162 | #define ANOMALY_05000258 /* Instruction Cache is corrupted when bits 9 and 12 | ||
163 | of the ICPLB Data registers differ */ | ||
164 | #define ANOMALY_05000260 /* ICPLB_STATUS MMR register may be corrupted */ | ||
165 | #define ANOMALY_05000261 /* DCPLB_FAULT_ADDR MMR register may be corrupted */ | ||
166 | #define ANOMALY_05000262 /* Stores to data cache may be lost */ | ||
167 | #define ANOMALY_05000263 /* Hardware loop corrupted when taking an ICPLB | ||
168 | exception */ | ||
169 | #define ANOMALY_05000264 /* CSYNC/SSYNC/IDLE causes infinite stall in second | ||
170 | to last instruction in hardware loop */ | ||
171 | #define ANOMALY_05000276 /* Timing requirements change for External Frame | ||
172 | Sync PPI Modes with non-zero PPI_DELAY */ | ||
173 | #define ANOMALY_05000278 /* Disabling Peripherals with DMA running may cause | ||
174 | DMA system instability */ | ||
175 | #define ANOMALY_05000281 /* False Hardware Error Exception when ISR context is | ||
176 | not restored */ | ||
177 | #define ANOMALY_05000283 /* An MMR write is stalled indefinitely when killed | ||
178 | in a particular stage */ | ||
179 | #define ANOMALY_05000287 /* A read will receive incorrect data under certain | ||
180 | conditions */ | ||
181 | #define ANOMALY_05000288 /* SPORTs may receive bad data if FIFOs fill up */ | ||
182 | #endif | ||
183 | |||
184 | #endif /* _MACH_ANOMALY_H_ */ | ||
diff --git a/include/asm-blackfin/mach-bf561/bf561.h b/include/asm-blackfin/mach-bf561/bf561.h index 96a5d3a47e45..17e1d5dcef02 100644 --- a/include/asm-blackfin/mach-bf561/bf561.h +++ b/include/asm-blackfin/mach-bf561/bf561.h | |||
@@ -73,13 +73,13 @@ | |||
73 | */ | 73 | */ |
74 | 74 | ||
75 | 75 | ||
76 | #define BLKFIN_ISUBBANKS 4 | 76 | #define BFIN_ISUBBANKS 4 |
77 | #define BLKFIN_IWAYS 4 | 77 | #define BFIN_IWAYS 4 |
78 | #define BLKFIN_ILINES 32 | 78 | #define BFIN_ILINES 32 |
79 | 79 | ||
80 | #define BLKFIN_DSUBBANKS 4 | 80 | #define BFIN_DSUBBANKS 4 |
81 | #define BLKFIN_DWAYS 2 | 81 | #define BFIN_DWAYS 2 |
82 | #define BLKFIN_DLINES 64 | 82 | #define BFIN_DLINES 64 |
83 | 83 | ||
84 | #define WAY0_L 0x1 | 84 | #define WAY0_L 0x1 |
85 | #define WAY1_L 0x2 | 85 | #define WAY1_L 0x2 |
@@ -230,93 +230,6 @@ | |||
230 | 230 | ||
231 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO | V_B0PEN | V_B1PEN | V_B2PEN | V_B3PEN | 0x0002) | 231 | #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO | V_B0PEN | V_B1PEN | V_B2PEN | V_B3PEN | 0x0002) |
232 | 232 | ||
233 | #define MAX_VC 600000000 | ||
234 | #define MIN_VC 50000000 | ||
235 | |||
236 | /******************************* PLL Settings ********************************/ | ||
237 | #ifdef CONFIG_BFIN_KERNEL_CLOCK | ||
238 | #if (CONFIG_VCO_MULT < 0) | ||
239 | #error "VCO Multiplier is less than 0. Please select a different value" | ||
240 | #endif | ||
241 | |||
242 | #if (CONFIG_VCO_MULT == 0) | ||
243 | #error "VCO Multiplier should be greater than 0. Please select a different value" | ||
244 | #endif | ||
245 | |||
246 | #ifndef CONFIG_CLKIN_HALF | ||
247 | #define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | ||
248 | #else | ||
249 | #define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) | ||
250 | #endif | ||
251 | |||
252 | #ifndef CONFIG_PLL_BYPASS | ||
253 | #define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) | ||
254 | #define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) | ||
255 | #else | ||
256 | #define CONFIG_CCLK_HZ CONFIG_CLKIN_HZ | ||
257 | #define CONFIG_SCLK_HZ CONFIG_CLKIN_HZ | ||
258 | #endif | ||
259 | |||
260 | #if (CONFIG_SCLK_DIV < 1) | ||
261 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
262 | #endif | ||
263 | |||
264 | #if (CONFIG_SCLK_DIV > 15) | ||
265 | #error "SCLK DIV cannot be less than 1 or more than 15. Please select a proper value" | ||
266 | #endif | ||
267 | |||
268 | #if (CONFIG_CCLK_DIV != 1) | ||
269 | #if (CONFIG_CCLK_DIV != 2) | ||
270 | #if (CONFIG_CCLK_DIV != 4) | ||
271 | #if (CONFIG_CCLK_DIV != 8) | ||
272 | #error "CCLK DIV can be 1,2,4 or 8 only. Please select a proper value" | ||
273 | #endif | ||
274 | #endif | ||
275 | #endif | ||
276 | #endif | ||
277 | |||
278 | #if (CONFIG_VCO_HZ > MAX_VC) | ||
279 | #error "VCO selected is more than maximum value. Please change the VCO multipler" | ||
280 | #endif | ||
281 | |||
282 | #if (CONFIG_SCLK_HZ > 133000000) | ||
283 | #error "Sclk value selected is more than maximum. Please select a proper value for SCLK multiplier" | ||
284 | #endif | ||
285 | |||
286 | #if (CONFIG_SCLK_HZ < 27000000) | ||
287 | #error "Sclk value selected is less than minimum. Please select a proper value for SCLK multiplier" | ||
288 | #endif | ||
289 | |||
290 | #if (CONFIG_SCLK_HZ >= CONFIG_CCLK_HZ) | ||
291 | #if (CONFIG_SCLK_HZ != CONFIG_CLKIN_HZ) | ||
292 | #if (CONFIG_CCLK_HZ != CONFIG_CLKIN_HZ) | ||
293 | #error "Please select sclk less than cclk" | ||
294 | #endif | ||
295 | #endif | ||
296 | #endif | ||
297 | |||
298 | #if (CONFIG_CCLK_DIV == 1) | ||
299 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV1 | ||
300 | #endif | ||
301 | #if (CONFIG_CCLK_DIV == 2) | ||
302 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV2 | ||
303 | #endif | ||
304 | #if (CONFIG_CCLK_DIV == 4) | ||
305 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV4 | ||
306 | #endif | ||
307 | #if (CONFIG_CCLK_DIV == 8) | ||
308 | #define CONFIG_CCLK_ACT_DIV CCLK_DIV8 | ||
309 | #endif | ||
310 | #ifndef CONFIG_CCLK_ACT_DIV | ||
311 | #define CONFIG_CCLK_ACT_DIV CONFIG_CCLK_DIV_not_defined_properly | ||
312 | #endif | ||
313 | |||
314 | #if defined(ANOMALY_05000273) && (CONFIG_CCLK_DIV == 1) | ||
315 | #error ANOMALY 05000273, please make sure CCLK is at least 2x SCLK | ||
316 | #endif | ||
317 | |||
318 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | ||
319 | |||
320 | #ifdef CONFIG_BF561 | 233 | #ifdef CONFIG_BF561 |
321 | #define CPU "BF561" | 234 | #define CPU "BF561" |
322 | #define CPUID 0x027bb000 | 235 | #define CPUID 0x027bb000 |
@@ -326,83 +239,4 @@ | |||
326 | #define CPUID 0x0 | 239 | #define CPUID 0x0 |
327 | #endif | 240 | #endif |
328 | 241 | ||
329 | #if (CONFIG_MEM_SIZE % 4) | ||
330 | #error "SDRAM memory size must be a multiple of 4MB!" | ||
331 | #endif | ||
332 | #define SDRAM_IGENERIC (CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_PORTPRIO) | ||
333 | #define SDRAM_IKERNEL (SDRAM_IGENERIC | CPLB_LOCK) | ||
334 | #define L1_IMEMORY ( CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) | ||
335 | #define SDRAM_INON_CHBL ( CPLB_USER_RD | CPLB_VALID) | ||
336 | |||
337 | /*Use the menuconfig cache policy here - CONFIG_BLKFIN_WT/CONFIG_BLKFIN_WB*/ | ||
338 | |||
339 | #define ANOMALY_05000158_WORKAROUND 0x200 | ||
340 | #ifdef CONFIG_BLKFIN_WB /*Write Back Policy */ | ||
341 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_DIRTY \ | ||
342 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
343 | #else /*Write Through */ | ||
344 | #define SDRAM_DGENERIC (CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_DIRTY \ | ||
345 | | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) | ||
346 | #endif | ||
347 | |||
348 | |||
349 | #define L1_DMEMORY (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) | ||
350 | #define SDRAM_DNON_CHBL (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY) | ||
351 | #define SDRAM_EBIU (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY) | ||
352 | #define SDRAM_OOPS (CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_LOCK | CPLB_DIRTY) | ||
353 | |||
354 | #define L2_MEMORY (CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND | CPLB_DIRTY) | ||
355 | |||
356 | #define SIZE_1K 0x00000400 /* 1K */ | ||
357 | #define SIZE_4K 0x00001000 /* 4K */ | ||
358 | #define SIZE_1M 0x00100000 /* 1M */ | ||
359 | #define SIZE_4M 0x00400000 /* 4M */ | ||
360 | |||
361 | #define MAX_CPLBS (16 * 2) | ||
362 | |||
363 | /* | ||
364 | * Number of required data CPLB switchtable entries | ||
365 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
366 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | ||
367 | * 1 for L1 Data Memory | ||
368 | * 1 for L2 Data Memory | ||
369 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
370 | * 64 for ASYNC Memory | ||
371 | */ | ||
372 | |||
373 | |||
374 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1 + 64) * 2) | ||
375 | |||
376 | /* | ||
377 | * Number of required instruction CPLB switchtable entries | ||
378 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | ||
379 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | ||
380 | * 1 for L1 Instruction Memory | ||
381 | * 1 for L2 Instruction Memory | ||
382 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | ||
383 | */ | ||
384 | |||
385 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1 + 1) * 2) | ||
386 | |||
387 | #if 0 /* comment by mhfan */ | ||
388 | /* Event Vector Table Address */ | ||
389 | #define EVT_EMULATION_ADDR 0xffe02000 | ||
390 | #define EVT_RESET_ADDR 0xffe02004 | ||
391 | #define EVT_NMI_ADDR 0xffe02008 | ||
392 | #define EVT_EXCEPTION_ADDR 0xffe0200c | ||
393 | #define EVT_GLOBAL_INT_ENB_ADDR 0xffe02010 | ||
394 | #define EVT_HARDWARE_ERROR_ADDR 0xffe02014 | ||
395 | #define EVT_TIMER_ADDR 0xffe02018 | ||
396 | #define EVT_IVG7_ADDR 0xffe0201c | ||
397 | #define EVT_IVG8_ADDR 0xffe02020 | ||
398 | #define EVT_IVG9_ADDR 0xffe02024 | ||
399 | #define EVT_IVG10_ADDR 0xffe02028 | ||
400 | #define EVT_IVG11_ADDR 0xffe0202c | ||
401 | #define EVT_IVG12_ADDR 0xffe02030 | ||
402 | #define EVT_IVG13_ADDR 0xffe02034 | ||
403 | #define EVT_IVG14_ADDR 0xffe02038 | ||
404 | #define EVT_IVG15_ADDR 0xffe0203c | ||
405 | #define EVT_OVERRIDE_ADDR 0xffe02100 | ||
406 | #endif /* comment by mhfan */ | ||
407 | |||
408 | #endif /* __MACH_BF561_H__ */ | 242 | #endif /* __MACH_BF561_H__ */ |
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h index e043cafa3c42..69b9f8e120e9 100644 --- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/serial.h> | 1 | #include <linux/serial.h> |
2 | #include <asm/dma.h> | 2 | #include <asm/dma.h> |
3 | #include <asm/portmux.h> | ||
3 | 4 | ||
4 | #define NR_PORTS 1 | 5 | #define NR_PORTS 1 |
5 | 6 | ||
@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = { | |||
92 | } | 93 | } |
93 | }; | 94 | }; |
94 | 95 | ||
96 | #define DRIVER_NAME "bfin-uart" | ||
95 | 97 | ||
96 | int nr_ports = NR_PORTS; | 98 | int nr_ports = NR_PORTS; |
97 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) | 99 | static void bfin_serial_hw_init(struct bfin_serial_port *uart) |
98 | { | 100 | { |
99 | 101 | ||
102 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
103 | peripheral_request(P_UART0_TX, DRIVER_NAME); | ||
104 | peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
105 | #endif | ||
106 | |||
100 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS | 107 | #ifdef CONFIG_SERIAL_BFIN_CTSRTS |
101 | if (uart->cts_pin >= 0) { | 108 | if (uart->cts_pin >= 0) { |
102 | gpio_request(uart->cts_pin, NULL); | 109 | gpio_request(uart->cts_pin, DRIVER_NAME); |
103 | gpio_direction_input(uart->cts_pin); | 110 | gpio_direction_input(uart->cts_pin); |
104 | } | 111 | } |
105 | if (uart->rts_pin >= 0) { | 112 | if (uart->rts_pin >= 0) { |
106 | gpio_request(uart->rts_pin, NULL); | 113 | gpio_request(uart->rts_pin, DRIVER_NAME); |
107 | gpio_direction_input(uart->rts_pin); | 114 | gpio_direction_input(uart->rts_pin); |
108 | } | 115 | } |
109 | #endif | 116 | #endif |
diff --git a/include/asm-blackfin/mach-bf561/blackfin.h b/include/asm-blackfin/mach-bf561/blackfin.h index 2537c845e8b0..562aee39895c 100644 --- a/include/asm-blackfin/mach-bf561/blackfin.h +++ b/include/asm-blackfin/mach-bf561/blackfin.h | |||
@@ -38,7 +38,7 @@ | |||
38 | #include "defBF561.h" | 38 | #include "defBF561.h" |
39 | #include "anomaly.h" | 39 | #include "anomaly.h" |
40 | 40 | ||
41 | #if !(defined(__ASSEMBLY__) || defined(ASSEMBLY)) | 41 | #if !defined(__ASSEMBLY__) |
42 | #include "cdefBF561.h" | 42 | #include "cdefBF561.h" |
43 | #endif | 43 | #endif |
44 | 44 | ||
diff --git a/include/asm-blackfin/mach-bf561/cdefBF561.h b/include/asm-blackfin/mach-bf561/cdefBF561.h index 73d4d65249cd..d667816486c0 100644 --- a/include/asm-blackfin/mach-bf561/cdefBF561.h +++ b/include/asm-blackfin/mach-bf561/cdefBF561.h | |||
@@ -31,11 +31,8 @@ | |||
31 | #ifndef _CDEF_BF561_H | 31 | #ifndef _CDEF_BF561_H |
32 | #define _CDEF_BF561_H | 32 | #define _CDEF_BF561_H |
33 | 33 | ||
34 | /* | 34 | #include <asm/blackfin.h> |
35 | #if !defined(__ADSPBF561__) | 35 | |
36 | #warning cdefBF561.h should only be included for BF561 chip. | ||
37 | #endif | ||
38 | */ | ||
39 | /* include all Core registers and bit definitions */ | 36 | /* include all Core registers and bit definitions */ |
40 | #include "defBF561.h" | 37 | #include "defBF561.h" |
41 | 38 | ||
@@ -67,7 +64,7 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val) | |||
67 | bfin_write32(SICA_IWR1, 0); | 64 | bfin_write32(SICA_IWR1, 0); |
68 | 65 | ||
69 | bfin_write16(VR_CTL, val); | 66 | bfin_write16(VR_CTL, val); |
70 | __builtin_bfin_ssync(); | 67 | SSYNC(); |
71 | 68 | ||
72 | local_irq_save(flags); | 69 | local_irq_save(flags); |
73 | asm("IDLE;"); | 70 | asm("IDLE;"); |
diff --git a/include/asm-blackfin/mach-bf561/defBF561.h b/include/asm-blackfin/mach-bf561/defBF561.h index 0f2dc6e6335b..bf7dc4e00065 100644 --- a/include/asm-blackfin/mach-bf561/defBF561.h +++ b/include/asm-blackfin/mach-bf561/defBF561.h | |||
@@ -120,6 +120,7 @@ | |||
120 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ | 120 | #define UART_GCTL 0xFFC00424 /* Global Control Register */ |
121 | 121 | ||
122 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ | 122 | /* SPI Controller (0xFFC00500 - 0xFFC005FF) */ |
123 | #define SPI0_REGBASE 0xFFC00500 | ||
123 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ | 124 | #define SPI_CTL 0xFFC00500 /* SPI Control Register */ |
124 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ | 125 | #define SPI_FLG 0xFFC00504 /* SPI Flag register */ |
125 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ | 126 | #define SPI_STAT 0xFFC00508 /* SPI Status register */ |
diff --git a/include/asm-blackfin/mach-bf561/irq.h b/include/asm-blackfin/mach-bf561/irq.h index a753ce720d74..12789927db3d 100644 --- a/include/asm-blackfin/mach-bf561/irq.h +++ b/include/asm-blackfin/mach-bf561/irq.h | |||
@@ -289,6 +289,8 @@ | |||
289 | #define IRQ_PF46 119 | 289 | #define IRQ_PF46 119 |
290 | #define IRQ_PF47 120 | 290 | #define IRQ_PF47 120 |
291 | 291 | ||
292 | #define GPIO_IRQ_BASE IRQ_PF0 | ||
293 | |||
292 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO | 294 | #ifdef CONFIG_IRQCHIP_DEMUX_GPIO |
293 | #define NR_IRQS (IRQ_PF47 + 1) | 295 | #define NR_IRQS (IRQ_PF47 + 1) |
294 | #else | 296 | #else |
diff --git a/include/asm-blackfin/mach-bf561/mem_map.h b/include/asm-blackfin/mach-bf561/mem_map.h index ebac9a8d838d..f7ac09cf2c3d 100644 --- a/include/asm-blackfin/mach-bf561/mem_map.h +++ b/include/asm-blackfin/mach-bf561/mem_map.h | |||
@@ -21,10 +21,10 @@ | |||
21 | 21 | ||
22 | /* Level 1 Memory */ | 22 | /* Level 1 Memory */ |
23 | 23 | ||
24 | #ifdef CONFIG_BLKFIN_CACHE | 24 | #ifdef CONFIG_BFIN_ICACHE |
25 | #define BLKFIN_ICACHESIZE (16*1024) | 25 | #define BFIN_ICACHESIZE (16*1024) |
26 | #else | 26 | #else |
27 | #define BLKFIN_ICACHESIZE (0*1024) | 27 | #define BFIN_ICACHESIZE (0*1024) |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | /* Memory Map for ADSP-BF561 processors */ | 30 | /* Memory Map for ADSP-BF561 processors */ |
@@ -36,29 +36,29 @@ | |||
36 | 36 | ||
37 | #define L1_CODE_LENGTH 0x4000 | 37 | #define L1_CODE_LENGTH 0x4000 |
38 | 38 | ||
39 | #ifdef CONFIG_BLKFIN_DCACHE | 39 | #ifdef CONFIG_BFIN_DCACHE |
40 | 40 | ||
41 | #ifdef CONFIG_BLKFIN_DCACHE_BANKA | 41 | #ifdef CONFIG_BFIN_DCACHE_BANKA |
42 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) | 42 | #define DMEM_CNTR (ACACHE_BSRAM | ENDCPLB | PORT_PREF0) |
43 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 43 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
44 | #define L1_DATA_B_LENGTH 0x8000 | 44 | #define L1_DATA_B_LENGTH 0x8000 |
45 | #define BLKFIN_DCACHESIZE (16*1024) | 45 | #define BFIN_DCACHESIZE (16*1024) |
46 | #define BLKFIN_DSUPBANKS 1 | 46 | #define BFIN_DSUPBANKS 1 |
47 | #else | 47 | #else |
48 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) | 48 | #define DMEM_CNTR (ACACHE_BCACHE | ENDCPLB | PORT_PREF0) |
49 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) | 49 | #define L1_DATA_A_LENGTH (0x8000 - 0x4000) |
50 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) | 50 | #define L1_DATA_B_LENGTH (0x8000 - 0x4000) |
51 | #define BLKFIN_DCACHESIZE (32*1024) | 51 | #define BFIN_DCACHESIZE (32*1024) |
52 | #define BLKFIN_DSUPBANKS 2 | 52 | #define BFIN_DSUPBANKS 2 |
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | #else | 55 | #else |
56 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) | 56 | #define DMEM_CNTR (ASRAM_BSRAM | ENDCPLB | PORT_PREF0) |
57 | #define L1_DATA_A_LENGTH 0x8000 | 57 | #define L1_DATA_A_LENGTH 0x8000 |
58 | #define L1_DATA_B_LENGTH 0x8000 | 58 | #define L1_DATA_B_LENGTH 0x8000 |
59 | #define BLKFIN_DCACHESIZE (0*1024) | 59 | #define BFIN_DCACHESIZE (0*1024) |
60 | #define BLKFIN_DSUPBANKS 0 | 60 | #define BFIN_DSUPBANKS 0 |
61 | #endif /*CONFIG_BLKFIN_DCACHE*/ | 61 | #endif /*CONFIG_BFIN_DCACHE*/ |
62 | #endif | 62 | #endif |
63 | 63 | ||
64 | /* Level 2 Memory */ | 64 | /* Level 2 Memory */ |
diff --git a/include/asm-blackfin/mach-bf561/portmux.h b/include/asm-blackfin/mach-bf561/portmux.h index 10d11d5ffe23..132ad31665e3 100644 --- a/include/asm-blackfin/mach-bf561/portmux.h +++ b/include/asm-blackfin/mach-bf561/portmux.h | |||
@@ -81,7 +81,7 @@ | |||
81 | #define P_TMR1 (P_DEFINED | P_IDENT(GPIO_PF1)) | 81 | #define P_TMR1 (P_DEFINED | P_IDENT(GPIO_PF1)) |
82 | #define P_TMR0 (P_DEFINED | P_IDENT(GPIO_PF0)) | 82 | #define P_TMR0 (P_DEFINED | P_IDENT(GPIO_PF0)) |
83 | #define P_SPI0_MOSI (P_DONTCARE) | 83 | #define P_SPI0_MOSI (P_DONTCARE) |
84 | #define P_SPI0_MIS0 (P_DONTCARE) | 84 | #define P_SPI0_MISO (P_DONTCARE) |
85 | #define P_SPI0_SCK (P_DONTCARE) | 85 | #define P_SPI0_SCK (P_DONTCARE) |
86 | 86 | ||
87 | #endif /* _MACH_PORTMUX_H_ */ | 87 | #endif /* _MACH_PORTMUX_H_ */ |
diff --git a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h b/include/asm-blackfin/mach-common/cdef_LPBlackfin.h index 94ed381e5606..ede210eca4ec 100644 --- a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h +++ b/include/asm-blackfin/mach-common/cdef_LPBlackfin.h | |||
@@ -39,7 +39,7 @@ | |||
39 | #define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS) | 39 | #define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS) |
40 | #define bfin_write_SRAM_BASE_ADDRESS(val) bfin_write32(SRAM_BASE_ADDRESS,val) | 40 | #define bfin_write_SRAM_BASE_ADDRESS(val) bfin_write32(SRAM_BASE_ADDRESS,val) |
41 | #define bfin_read_DMEM_CONTROL() bfin_read32(DMEM_CONTROL) | 41 | #define bfin_read_DMEM_CONTROL() bfin_read32(DMEM_CONTROL) |
42 | #ifdef ANOMALY_05000125 | 42 | #if ANOMALY_05000125 |
43 | extern void bfin_write_DMEM_CONTROL(unsigned int val); | 43 | extern void bfin_write_DMEM_CONTROL(unsigned int val); |
44 | #else | 44 | #else |
45 | #define bfin_write_DMEM_CONTROL(val) bfin_write32(DMEM_CONTROL,val) | 45 | #define bfin_write_DMEM_CONTROL(val) bfin_write32(DMEM_CONTROL,val) |
@@ -129,7 +129,7 @@ extern void bfin_write_DMEM_CONTROL(unsigned int val); | |||
129 | #define DTEST_DATA3 0xFFE0040C | 129 | #define DTEST_DATA3 0xFFE0040C |
130 | */ | 130 | */ |
131 | #define bfin_read_IMEM_CONTROL() bfin_read32(IMEM_CONTROL) | 131 | #define bfin_read_IMEM_CONTROL() bfin_read32(IMEM_CONTROL) |
132 | #ifdef ANOMALY_05000125 | 132 | #if ANOMALY_05000125 |
133 | extern void bfin_write_IMEM_CONTROL(unsigned int val); | 133 | extern void bfin_write_IMEM_CONTROL(unsigned int val); |
134 | #else | 134 | #else |
135 | #define bfin_write_IMEM_CONTROL(val) bfin_write32(IMEM_CONTROL,val) | 135 | #define bfin_write_IMEM_CONTROL(val) bfin_write32(IMEM_CONTROL,val) |
diff --git a/include/asm-blackfin/mach-common/clocks.h b/include/asm-blackfin/mach-common/clocks.h new file mode 100644 index 000000000000..033bba92d61c --- /dev/null +++ b/include/asm-blackfin/mach-common/clocks.h | |||
@@ -0,0 +1,70 @@ | |||
1 | /* | ||
2 | * File: include/asm-blackfin/mach-common/clocks.h | ||
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org> | ||
5 | * | ||
6 | * Created: 25Jul07 | ||
7 | * Description: Common Clock definitions for various kernel files | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #ifndef _BFIN_CLOCKS_H | ||
31 | #define _BFIN_CLOCKS_H | ||
32 | |||
33 | #ifdef CONFIG_CCLK_DIV_1 | ||
34 | # define CONFIG_CCLK_ACT_DIV CCLK_DIV1 | ||
35 | # define CONFIG_CCLK_DIV 1 | ||
36 | #endif | ||
37 | |||
38 | #ifdef CONFIG_CCLK_DIV_2 | ||
39 | # define CONFIG_CCLK_ACT_DIV CCLK_DIV2 | ||
40 | # define CONFIG_CCLK_DIV 2 | ||
41 | #endif | ||
42 | |||
43 | #ifdef CONFIG_CCLK_DIV_4 | ||
44 | # define CONFIG_CCLK_ACT_DIV CCLK_DIV4 | ||
45 | # define CONFIG_CCLK_DIV 4 | ||
46 | #endif | ||
47 | |||
48 | #ifdef CONFIG_CCLK_DIV_8 | ||
49 | # define CONFIG_CCLK_ACT_DIV CCLK_DIV8 | ||
50 | # define CONFIG_CCLK_DIV 8 | ||
51 | #endif | ||
52 | |||
53 | #ifndef CONFIG_PLL_BYPASS | ||
54 | # ifndef CONFIG_CLKIN_HALF | ||
55 | # define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | ||
56 | # else | ||
57 | # define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2) | ||
58 | # endif | ||
59 | |||
60 | # define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV) | ||
61 | # define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV) | ||
62 | |||
63 | #else | ||
64 | # define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ) | ||
65 | # define CONFIG_CCLK_HZ (CONFIG_CLKIN_HZ) | ||
66 | # define CONFIG_SCLK_HZ (CONFIG_CLKIN_HZ) | ||
67 | # define CONFIG_VCO_MULT 0 | ||
68 | #endif | ||
69 | |||
70 | #endif | ||
diff --git a/include/asm-blackfin/mach-common/def_LPBlackfin.h b/include/asm-blackfin/mach-common/def_LPBlackfin.h index be1ece8c0c27..c1d8c4a78fcf 100644 --- a/include/asm-blackfin/mach-common/def_LPBlackfin.h +++ b/include/asm-blackfin/mach-common/def_LPBlackfin.h | |||
@@ -33,81 +33,77 @@ | |||
33 | 33 | ||
34 | #include <asm/mach/anomaly.h> | 34 | #include <asm/mach/anomaly.h> |
35 | 35 | ||
36 | /*#if !defined(__ADSPLPBLACKFIN__) | ||
37 | #warning def_LPBlackfin.h should only be included for 532 compatible chips. | ||
38 | #endif | ||
39 | */ | ||
40 | |||
41 | #define MK_BMSK_(x) (1<<x) | 36 | #define MK_BMSK_(x) (1<<x) |
42 | 37 | ||
43 | #if defined(ANOMALY_05000198) | 38 | #ifndef __ASSEMBLY__ |
44 | |||
45 | #define bfin_read8(addr) ({ unsigned char __v; \ | ||
46 | __asm__ __volatile__ ("NOP;\n\t" \ | ||
47 | "%0 = b[%1] (z);\n\t" \ | ||
48 | : "=d"(__v) : "a"(addr)); \ | ||
49 | __v; }) | ||
50 | |||
51 | #define bfin_read16(addr) ({ unsigned __v; \ | ||
52 | __asm__ __volatile__ ("NOP;\n\t"\ | ||
53 | "%0 = w[%1] (z);\n\t"\ | ||
54 | : "=d"(__v) : "a"(addr)); (unsigned short)__v; }) | ||
55 | |||
56 | #define bfin_read32(addr) ({ unsigned __v; \ | ||
57 | __asm__ __volatile__ ("NOP;\n\t"\ | ||
58 | "%0 = [%1];\n\t"\ | ||
59 | : "=d"(__v) : "a"(addr)); __v; }) | ||
60 | |||
61 | #define bfin_write8(addr, val) ({ \ | ||
62 | __asm__ __volatile__ ("NOP;\n\t" \ | ||
63 | "b[%0] = %1;\n\t" \ | ||
64 | : : "a"(addr), "d"(val) : "memory");}) | ||
65 | 39 | ||
66 | #define bfin_write16(addr,val) ({\ | 40 | #include <linux/types.h> |
67 | __asm__ __volatile__ ("NOP;\n\t"\ | ||
68 | "w[%0] = %1;\n\t"\ | ||
69 | : : "a"(addr) , "d"(val) : "memory");}) | ||
70 | |||
71 | #define bfin_write32(addr,val) ({\ | ||
72 | __asm__ __volatile__ ("NOP;\n\t"\ | ||
73 | "[%0] = %1;\n\t"\ | ||
74 | : : "a"(addr) , "d"(val) : "memory");}) | ||
75 | 41 | ||
42 | #if ANOMALY_05000198 | ||
43 | # define NOP_PAD_ANOMALY_05000198 "nop;" | ||
76 | #else | 44 | #else |
77 | 45 | # define NOP_PAD_ANOMALY_05000198 | |
78 | #define bfin_read8(addr) ({ unsigned char __v; \ | ||
79 | __asm__ __volatile__ ( \ | ||
80 | "%0 = b[%1] (z);\n\t" \ | ||
81 | :"=d"(__v) : "a"(addr)); \ | ||
82 | __v; }) | ||
83 | |||
84 | #define bfin_read16(addr) ({ unsigned __v; \ | ||
85 | __asm__ __volatile__ (\ | ||
86 | "%0 = w[%1] (z);\n\t"\ | ||
87 | : "=d"(__v) : "a"(addr)); (unsigned short)__v; }) | ||
88 | |||
89 | #define bfin_read32(addr) ({ unsigned __v; \ | ||
90 | __asm__ __volatile__ (\ | ||
91 | "%0 = [%1];\n\t"\ | ||
92 | : "=d"(__v) : "a"(addr)); __v; }) | ||
93 | |||
94 | #define bfin_write8(addr, val) ({ \ | ||
95 | __asm__ __volatile__ ( \ | ||
96 | "b[%0] = %1; \n\t" \ | ||
97 | ::"a"(addr), "d"(val) : "memory");}) | ||
98 | |||
99 | #define bfin_write16(addr,val) ({\ | ||
100 | __asm__ __volatile__ (\ | ||
101 | "w[%0] = %1;\n\t"\ | ||
102 | : : "a"(addr) , "d"(val) : "memory");}) | ||
103 | |||
104 | #define bfin_write32(addr,val) ({\ | ||
105 | __asm__ __volatile__ (\ | ||
106 | "[%0] = %1;\n\t"\ | ||
107 | : : "a"(addr) , "d"(val) : "memory");}) | ||
108 | |||
109 | #endif | 46 | #endif |
110 | 47 | ||
48 | #define bfin_read8(addr) ({ \ | ||
49 | uint8_t __v; \ | ||
50 | __asm__ __volatile__( \ | ||
51 | NOP_PAD_ANOMALY_05000198 \ | ||
52 | "%0 = b[%1] (z);" \ | ||
53 | : "=d" (__v) \ | ||
54 | : "a" (addr) \ | ||
55 | ); \ | ||
56 | __v; }) | ||
57 | |||
58 | #define bfin_read16(addr) ({ \ | ||
59 | uint16_t __v; \ | ||
60 | __asm__ __volatile__( \ | ||
61 | NOP_PAD_ANOMALY_05000198 \ | ||
62 | "%0 = w[%1] (z);" \ | ||
63 | : "=d" (__v) \ | ||
64 | : "a" (addr) \ | ||
65 | ); \ | ||
66 | __v; }) | ||
67 | |||
68 | #define bfin_read32(addr) ({ \ | ||
69 | uint32_t __v; \ | ||
70 | __asm__ __volatile__( \ | ||
71 | NOP_PAD_ANOMALY_05000198 \ | ||
72 | "%0 = [%1];" \ | ||
73 | : "=d" (__v) \ | ||
74 | : "a" (addr) \ | ||
75 | ); \ | ||
76 | __v; }) | ||
77 | |||
78 | #define bfin_write8(addr, val) \ | ||
79 | __asm__ __volatile__( \ | ||
80 | NOP_PAD_ANOMALY_05000198 \ | ||
81 | "b[%0] = %1;" \ | ||
82 | : \ | ||
83 | : "a" (addr), "d" (val) \ | ||
84 | : "memory" \ | ||
85 | ) | ||
86 | |||
87 | #define bfin_write16(addr, val) \ | ||
88 | __asm__ __volatile__( \ | ||
89 | NOP_PAD_ANOMALY_05000198 \ | ||
90 | "w[%0] = %1;" \ | ||
91 | : \ | ||
92 | : "a" (addr), "d" (val) \ | ||
93 | : "memory" \ | ||
94 | ) | ||
95 | |||
96 | #define bfin_write32(addr, val) \ | ||
97 | __asm__ __volatile__( \ | ||
98 | NOP_PAD_ANOMALY_05000198 \ | ||
99 | "[%0] = %1;" \ | ||
100 | : \ | ||
101 | : "a" (addr), "d" (val) \ | ||
102 | : "memory" \ | ||
103 | ) | ||
104 | |||
105 | #endif /* __ASSEMBLY__ */ | ||
106 | |||
111 | /************************************************** | 107 | /************************************************** |
112 | * System Register Bits | 108 | * System Register Bits |
113 | **************************************************/ | 109 | **************************************************/ |
@@ -643,6 +639,7 @@ | |||
643 | #define CPLB_USER_RD 0x00000004 /* 0=no read access, 1=read access | 639 | #define CPLB_USER_RD 0x00000004 /* 0=no read access, 1=read access |
644 | * allowed (user mode) | 640 | * allowed (user mode) |
645 | */ | 641 | */ |
642 | |||
646 | #define PAGE_SIZE_1KB 0x00000000 /* 1 KB page size */ | 643 | #define PAGE_SIZE_1KB 0x00000000 /* 1 KB page size */ |
647 | #define PAGE_SIZE_4KB 0x00010000 /* 4 KB page size */ | 644 | #define PAGE_SIZE_4KB 0x00010000 /* 4 KB page size */ |
648 | #define PAGE_SIZE_1MB 0x00020000 /* 1 MB page size */ | 645 | #define PAGE_SIZE_1MB 0x00020000 /* 1 MB page size */ |
@@ -675,6 +672,8 @@ | |||
675 | */ | 672 | */ |
676 | #define CPLB_WT 0x00004000 /* 0=write-back, 1=write-through */ | 673 | #define CPLB_WT 0x00004000 /* 0=write-back, 1=write-through */ |
677 | 674 | ||
675 | #define CPLB_ALL_ACCESS CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR | ||
676 | |||
678 | /* TBUFCTL Masks */ | 677 | /* TBUFCTL Masks */ |
679 | #define TBUFPWR 0x0001 | 678 | #define TBUFPWR 0x0001 |
680 | #define TBUFEN 0x0002 | 679 | #define TBUFEN 0x0002 |
diff --git a/include/asm-blackfin/pgtable.h b/include/asm-blackfin/pgtable.h index 5a8f9e431c40..b11b114689c0 100644 --- a/include/asm-blackfin/pgtable.h +++ b/include/asm-blackfin/pgtable.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <asm-generic/4level-fixup.h> | 4 | #include <asm-generic/4level-fixup.h> |
5 | 5 | ||
6 | #include <asm/page.h> | 6 | #include <asm/page.h> |
7 | #include <asm/cplb.h> | 7 | #include <asm/mach-common/def_LPBlackfin.h> |
8 | 8 | ||
9 | typedef pte_t *pte_addr_t; | 9 | typedef pte_t *pte_addr_t; |
10 | /* | 10 | /* |
diff --git a/include/asm-blackfin/portmux.h b/include/asm-blackfin/portmux.h index 9d3681e42111..0d3f650d2d99 100644 --- a/include/asm-blackfin/portmux.h +++ b/include/asm-blackfin/portmux.h | |||
@@ -14,6 +14,12 @@ | |||
14 | #define P_MAYSHARE 0x2000 | 14 | #define P_MAYSHARE 0x2000 |
15 | #define P_DONTCARE 0x1000 | 15 | #define P_DONTCARE 0x1000 |
16 | 16 | ||
17 | |||
18 | int peripheral_request(unsigned short per, const char *label); | ||
19 | void peripheral_free(unsigned short per); | ||
20 | int peripheral_request_list(unsigned short per[], const char *label); | ||
21 | void peripheral_free_list(unsigned short per[]); | ||
22 | |||
17 | #include <asm/gpio.h> | 23 | #include <asm/gpio.h> |
18 | #include <asm/mach/portmux.h> | 24 | #include <asm/mach/portmux.h> |
19 | 25 | ||
@@ -145,6 +151,22 @@ | |||
145 | #define P_SPI2_SSEL3 P_UNDEF | 151 | #define P_SPI2_SSEL3 P_UNDEF |
146 | #endif | 152 | #endif |
147 | 153 | ||
154 | #ifndef P_SPI2_SSEL4 | ||
155 | #define P_SPI2_SSEL4 P_UNDEF | ||
156 | #endif | ||
157 | |||
158 | #ifndef P_SPI2_SSEL5 | ||
159 | #define P_SPI2_SSEL5 P_UNDEF | ||
160 | #endif | ||
161 | |||
162 | #ifndef P_SPI2_SSEL6 | ||
163 | #define P_SPI2_SSEL6 P_UNDEF | ||
164 | #endif | ||
165 | |||
166 | #ifndef P_SPI2_SSEL7 | ||
167 | #define P_SPI2_SSEL7 P_UNDEF | ||
168 | #endif | ||
169 | |||
148 | #ifndef P_SPI2_SCK | 170 | #ifndef P_SPI2_SCK |
149 | #define P_SPI2_SCK P_UNDEF | 171 | #define P_SPI2_SCK P_UNDEF |
150 | #endif | 172 | #endif |
@@ -513,6 +535,22 @@ | |||
513 | #define P_SPI0_SSEL3 P_UNDEF | 535 | #define P_SPI0_SSEL3 P_UNDEF |
514 | #endif | 536 | #endif |
515 | 537 | ||
538 | #ifndef P_SPI0_SSEL4 | ||
539 | #define P_SPI0_SSEL4 P_UNDEF | ||
540 | #endif | ||
541 | |||
542 | #ifndef P_SPI0_SSEL5 | ||
543 | #define P_SPI0_SSEL5 P_UNDEF | ||
544 | #endif | ||
545 | |||
546 | #ifndef P_SPI0_SSEL6 | ||
547 | #define P_SPI0_SSEL6 P_UNDEF | ||
548 | #endif | ||
549 | |||
550 | #ifndef P_SPI0_SSEL7 | ||
551 | #define P_SPI0_SSEL7 P_UNDEF | ||
552 | #endif | ||
553 | |||
516 | #ifndef P_UART0_TX | 554 | #ifndef P_UART0_TX |
517 | #define P_UART0_TX P_UNDEF | 555 | #define P_UART0_TX P_UNDEF |
518 | #endif | 556 | #endif |
@@ -741,6 +779,23 @@ | |||
741 | #define P_SPI1_SSEL3 P_UNDEF | 779 | #define P_SPI1_SSEL3 P_UNDEF |
742 | #endif | 780 | #endif |
743 | 781 | ||
782 | |||
783 | #ifndef P_SPI1_SSEL4 | ||
784 | #define P_SPI1_SSEL4 P_UNDEF | ||
785 | #endif | ||
786 | |||
787 | #ifndef P_SPI1_SSEL5 | ||
788 | #define P_SPI1_SSEL5 P_UNDEF | ||
789 | #endif | ||
790 | |||
791 | #ifndef P_SPI1_SSEL6 | ||
792 | #define P_SPI1_SSEL6 P_UNDEF | ||
793 | #endif | ||
794 | |||
795 | #ifndef P_SPI1_SSEL7 | ||
796 | #define P_SPI1_SSEL7 P_UNDEF | ||
797 | #endif | ||
798 | |||
744 | #ifndef P_SPI1_SCK | 799 | #ifndef P_SPI1_SCK |
745 | #define P_SPI1_SCK P_UNDEF | 800 | #define P_SPI1_SCK P_UNDEF |
746 | #endif | 801 | #endif |
diff --git a/include/asm-blackfin/reboot.h b/include/asm-blackfin/reboot.h new file mode 100644 index 000000000000..6d448b5f5985 --- /dev/null +++ b/include/asm-blackfin/reboot.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * include/asm-blackfin/reboot.h - shutdown/reboot header | ||
3 | * | ||
4 | * Copyright 2004-2007 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_REBOOT_H__ | ||
10 | #define __ASM_REBOOT_H__ | ||
11 | |||
12 | /* optional board specific hooks */ | ||
13 | extern void native_machine_restart(char *cmd); | ||
14 | extern void native_machine_halt(void); | ||
15 | extern void native_machine_power_off(void); | ||
16 | |||
17 | /* common reboot workarounds */ | ||
18 | extern void bfin_gpio_reset_spi0_ssel1(void); | ||
19 | |||
20 | #endif | ||
diff --git a/include/asm-blackfin/system.h b/include/asm-blackfin/system.h index 5e5f1a0566c0..2b3d47d0bbb6 100644 --- a/include/asm-blackfin/system.h +++ b/include/asm-blackfin/system.h | |||
@@ -36,6 +36,7 @@ | |||
36 | 36 | ||
37 | #include <linux/linkage.h> | 37 | #include <linux/linkage.h> |
38 | #include <linux/compiler.h> | 38 | #include <linux/compiler.h> |
39 | #include <asm/mach/anomaly.h> | ||
39 | 40 | ||
40 | /* | 41 | /* |
41 | * Interrupt configuring macros. | 42 | * Interrupt configuring macros. |
@@ -43,53 +44,60 @@ | |||
43 | 44 | ||
44 | extern unsigned long irq_flags; | 45 | extern unsigned long irq_flags; |
45 | 46 | ||
46 | #define local_irq_enable() do { \ | 47 | #define local_irq_enable() \ |
47 | __asm__ __volatile__ ( \ | 48 | __asm__ __volatile__( \ |
48 | "sti %0;" \ | 49 | "sti %0;" \ |
49 | ::"d"(irq_flags)); \ | 50 | : \ |
50 | } while (0) | 51 | : "d" (irq_flags) \ |
52 | ) | ||
51 | 53 | ||
52 | #define local_irq_disable() do { \ | 54 | #define local_irq_disable() \ |
53 | int _tmp_dummy; \ | 55 | do { \ |
54 | __asm__ __volatile__ ( \ | 56 | int __tmp_dummy; \ |
55 | "cli %0;" \ | 57 | __asm__ __volatile__( \ |
56 | :"=d" (_tmp_dummy):); \ | 58 | "cli %0;" \ |
57 | } while (0) | 59 | : "=d" (__tmp_dummy) \ |
60 | ); \ | ||
61 | } while (0) | ||
58 | 62 | ||
59 | #if defined(ANOMALY_05000244) && defined (CONFIG_BLKFIN_CACHE) | 63 | #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE) |
60 | #define idle_with_irq_disabled() do { \ | 64 | # define NOP_PAD_ANOMALY_05000244 "nop; nop;" |
61 | __asm__ __volatile__ ( \ | ||
62 | "nop; nop;\n" \ | ||
63 | ".align 8;\n" \ | ||
64 | "sti %0; idle;\n" \ | ||
65 | ::"d" (irq_flags)); \ | ||
66 | } while (0) | ||
67 | #else | 65 | #else |
68 | #define idle_with_irq_disabled() do { \ | 66 | # define NOP_PAD_ANOMALY_05000244 |
69 | __asm__ __volatile__ ( \ | ||
70 | ".align 8;\n" \ | ||
71 | "sti %0; idle;\n" \ | ||
72 | ::"d" (irq_flags)); \ | ||
73 | } while (0) | ||
74 | #endif | 67 | #endif |
75 | 68 | ||
69 | #define idle_with_irq_disabled() \ | ||
70 | __asm__ __volatile__( \ | ||
71 | NOP_PAD_ANOMALY_05000244 \ | ||
72 | ".align 8;" \ | ||
73 | "sti %0;" \ | ||
74 | "idle;" \ | ||
75 | : \ | ||
76 | : "d" (irq_flags) \ | ||
77 | ) | ||
78 | |||
76 | #ifdef CONFIG_DEBUG_HWERR | 79 | #ifdef CONFIG_DEBUG_HWERR |
77 | #define __save_and_cli(x) do { \ | 80 | # define __save_and_cli(x) \ |
78 | __asm__ __volatile__ ( \ | 81 | __asm__ __volatile__( \ |
79 | "cli %0;\n\tsti %1;" \ | 82 | "cli %0;" \ |
80 | :"=&d"(x): "d" (0x3F)); \ | 83 | "sti %1;" \ |
81 | } while (0) | 84 | : "=&d" (x) \ |
85 | : "d" (0x3F) \ | ||
86 | ) | ||
82 | #else | 87 | #else |
83 | #define __save_and_cli(x) do { \ | 88 | # define __save_and_cli(x) \ |
84 | __asm__ __volatile__ ( \ | 89 | __asm__ __volatile__( \ |
85 | "cli %0;" \ | 90 | "cli %0;" \ |
86 | :"=&d"(x):); \ | 91 | : "=&d" (x) \ |
87 | } while (0) | 92 | ) |
88 | #endif | 93 | #endif |
89 | 94 | ||
90 | #define local_save_flags(x) asm volatile ("cli %0;" \ | 95 | #define local_save_flags(x) \ |
91 | "sti %0;" \ | 96 | __asm__ __volatile__( \ |
92 | :"=d"(x):); | 97 | "cli %0;" \ |
98 | "sti %0;" \ | ||
99 | : "=d" (x) \ | ||
100 | ) | ||
93 | 101 | ||
94 | #ifdef CONFIG_DEBUG_HWERR | 102 | #ifdef CONFIG_DEBUG_HWERR |
95 | #define irqs_enabled_from_flags(x) (((x) & ~0x3f) != 0) | 103 | #define irqs_enabled_from_flags(x) (((x) & ~0x3f) != 0) |
@@ -97,10 +105,11 @@ extern unsigned long irq_flags; | |||
97 | #define irqs_enabled_from_flags(x) ((x) != 0x1f) | 105 | #define irqs_enabled_from_flags(x) ((x) != 0x1f) |
98 | #endif | 106 | #endif |
99 | 107 | ||
100 | #define local_irq_restore(x) do { \ | 108 | #define local_irq_restore(x) \ |
101 | if (irqs_enabled_from_flags(x)) \ | 109 | do { \ |
102 | local_irq_enable (); \ | 110 | if (irqs_enabled_from_flags(x)) \ |
103 | } while (0) | 111 | local_irq_enable(); \ |
112 | } while (0) | ||
104 | 113 | ||
105 | /* For spinlocks etc */ | 114 | /* For spinlocks etc */ |
106 | #define local_irq_save(x) __save_and_cli(x) | 115 | #define local_irq_save(x) __save_and_cli(x) |
diff --git a/include/asm-blackfin/termbits.h b/include/asm-blackfin/termbits.h index 4eac38de8ce1..f37feb7cf895 100644 --- a/include/asm-blackfin/termbits.h +++ b/include/asm-blackfin/termbits.h | |||
@@ -140,6 +140,7 @@ struct ktermios { | |||
140 | #define HUPCL 0002000 | 140 | #define HUPCL 0002000 |
141 | #define CLOCAL 0004000 | 141 | #define CLOCAL 0004000 |
142 | #define CBAUDEX 0010000 | 142 | #define CBAUDEX 0010000 |
143 | #define BOTHER 0010000 | ||
143 | #define B57600 0010001 | 144 | #define B57600 0010001 |
144 | #define B115200 0010002 | 145 | #define B115200 0010002 |
145 | #define B230400 0010003 | 146 | #define B230400 0010003 |
@@ -155,10 +156,12 @@ struct ktermios { | |||
155 | #define B3000000 0010015 | 156 | #define B3000000 0010015 |
156 | #define B3500000 0010016 | 157 | #define B3500000 0010016 |
157 | #define B4000000 0010017 | 158 | #define B4000000 0010017 |
158 | #define CIBAUD 002003600000 /* input baud rate (not used) */ | 159 | #define CIBAUD 002003600000 /* input baud rate */ |
159 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ | 160 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ |
160 | #define CRTSCTS 020000000000 /* flow control */ | 161 | #define CRTSCTS 020000000000 /* flow control */ |
161 | 162 | ||
163 | #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ | ||
164 | |||
162 | /* c_lflag bits */ | 165 | /* c_lflag bits */ |
163 | #define ISIG 0000001 | 166 | #define ISIG 0000001 |
164 | #define ICANON 0000002 | 167 | #define ICANON 0000002 |
diff --git a/include/asm-blackfin/termios.h b/include/asm-blackfin/termios.h index 5c41478a51c6..e31fe859650b 100644 --- a/include/asm-blackfin/termios.h +++ b/include/asm-blackfin/termios.h | |||
@@ -98,8 +98,14 @@ struct termio { | |||
98 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ | 98 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ |
99 | }) | 99 | }) |
100 | 100 | ||
101 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios)) | 101 | #define user_termios_to_kernel_termios(k, u) \ |
102 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios)) | 102 | copy_from_user(k, u, sizeof(struct termios2)) |
103 | #define kernel_termios_to_user_termios(u, k) \ | ||
104 | copy_to_user(u, k, sizeof(struct termios2)) | ||
105 | #define user_termios_to_kernel_termios_1(k, u) \ | ||
106 | copy_from_user(k, u, sizeof(struct termios)) | ||
107 | #define kernel_termios_to_user_termios_1(u, k) \ | ||
108 | copy_to_user(u, k, sizeof(struct termios)) | ||
103 | 109 | ||
104 | #endif /* __KERNEL__ */ | 110 | #endif /* __KERNEL__ */ |
105 | 111 | ||
diff --git a/include/asm-blackfin/trace.h b/include/asm-blackfin/trace.h index 9c2474c9a589..6313aace9d59 100644 --- a/include/asm-blackfin/trace.h +++ b/include/asm-blackfin/trace.h | |||
@@ -6,23 +6,46 @@ | |||
6 | #ifndef _BLACKFIN_TRACE_ | 6 | #ifndef _BLACKFIN_TRACE_ |
7 | #define _BLACKFIN_TRACE_ | 7 | #define _BLACKFIN_TRACE_ |
8 | 8 | ||
9 | /* Normally, we use ON, but you can't turn on software expansion until | ||
10 | * interrupts subsystem is ready | ||
11 | */ | ||
12 | |||
13 | #define BFIN_TRACE_INIT ((CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION << 4) | 0x03) | ||
14 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_EXPAND | ||
15 | #define BFIN_TRACE_ON (BFIN_TRACE_INIT | (CONFIG_DEBUG_BFIN_HWTRACE_EXPAND << 2)) | ||
16 | #else | ||
17 | #define BFIN_TRACE_ON (BFIN_TRACE_INIT) | ||
18 | #endif | ||
19 | |||
9 | #ifndef __ASSEMBLY__ | 20 | #ifndef __ASSEMBLY__ |
21 | extern unsigned long trace_buff_offset; | ||
22 | extern unsigned long software_trace_buff[]; | ||
23 | |||
10 | /* Trace Macros for C files */ | 24 | /* Trace Macros for C files */ |
11 | 25 | ||
26 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON | ||
27 | |||
12 | #define trace_buffer_save(x) \ | 28 | #define trace_buffer_save(x) \ |
13 | do { \ | 29 | do { \ |
14 | (x) = bfin_read_TBUFCTL(); \ | 30 | (x) = bfin_read_TBUFCTL(); \ |
15 | bfin_write_TBUFCTL((x) & ~TBUFEN); \ | 31 | bfin_write_TBUFCTL((x) & ~TBUFEN); \ |
16 | } while (0) | 32 | } while (0) |
17 | 33 | ||
18 | #define trace_buffer_restore(x) \ | 34 | #define trace_buffer_restore(x) \ |
19 | do { \ | 35 | do { \ |
20 | bfin_write_TBUFCTL((x)); \ | 36 | bfin_write_TBUFCTL((x)); \ |
21 | } while (0) | 37 | } while (0) |
38 | #else /* DEBUG_BFIN_HWTRACE_ON */ | ||
39 | |||
40 | #define trace_buffer_save(x) | ||
41 | #define trace_buffer_restore(x) | ||
42 | #endif /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ | ||
22 | 43 | ||
23 | #else | 44 | #else |
24 | /* Trace Macros for Assembly files */ | 45 | /* Trace Macros for Assembly files */ |
25 | 46 | ||
47 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON | ||
48 | |||
26 | #define TRACE_BUFFER_START(preg, dreg) trace_buffer_start(preg, dreg) | 49 | #define TRACE_BUFFER_START(preg, dreg) trace_buffer_start(preg, dreg) |
27 | #define TRACE_BUFFER_STOP(preg, dreg) trace_buffer_stop(preg, dreg) | 50 | #define TRACE_BUFFER_STOP(preg, dreg) trace_buffer_stop(preg, dreg) |
28 | 51 | ||
@@ -32,12 +55,26 @@ | |||
32 | dreg = 0x1; \ | 55 | dreg = 0x1; \ |
33 | [preg] = dreg; | 56 | [preg] = dreg; |
34 | 57 | ||
35 | #define trace_buffer_start(preg, dreg) \ | 58 | #define trace_buffer_start(preg, dreg) \ |
36 | preg.L = LO(TBUFCTL); \ | 59 | preg.L = LO(TBUFCTL); \ |
37 | preg.H = HI(TBUFCTL); \ | 60 | preg.H = HI(TBUFCTL); \ |
38 | dreg = 0x13; \ | 61 | dreg = BFIN_TRACE_ON; \ |
62 | [preg] = dreg; | ||
63 | |||
64 | #define trace_buffer_init(preg, dreg) \ | ||
65 | preg.L = LO(TBUFCTL); \ | ||
66 | preg.H = HI(TBUFCTL); \ | ||
67 | dreg = BFIN_TRACE_INIT; \ | ||
39 | [preg] = dreg; | 68 | [preg] = dreg; |
40 | 69 | ||
70 | #else /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ | ||
71 | |||
72 | #define trace_buffer_stop(preg, dreg) | ||
73 | #define trace_buffer_start(preg, dreg) | ||
74 | #define trace_buffer_init(preg, dreg) | ||
75 | |||
76 | #endif /* CONFIG_DEBUG_BFIN_HWTRACE_ON */ | ||
77 | |||
41 | #ifdef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE | 78 | #ifdef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE |
42 | # define DEBUG_START_HWTRACE(preg, dreg) trace_buffer_start(preg, dreg) | 79 | # define DEBUG_START_HWTRACE(preg, dreg) trace_buffer_start(preg, dreg) |
43 | # define DEBUG_STOP_HWTRACE(preg, dreg) trace_buffer_stop(preg, dreg) | 80 | # define DEBUG_STOP_HWTRACE(preg, dreg) trace_buffer_stop(preg, dreg) |
diff --git a/include/asm-blackfin/unistd.h b/include/asm-blackfin/unistd.h index 0df9f2d322a3..07ffe8b718c5 100644 --- a/include/asm-blackfin/unistd.h +++ b/include/asm-blackfin/unistd.h | |||
@@ -3,6 +3,7 @@ | |||
3 | /* | 3 | /* |
4 | * This file contains the system call numbers. | 4 | * This file contains the system call numbers. |
5 | */ | 5 | */ |
6 | #define __NR_restart_syscall 0 | ||
6 | #define __NR_exit 1 | 7 | #define __NR_exit 1 |
7 | #define __NR_fork 2 | 8 | #define __NR_fork 2 |
8 | #define __NR_read 3 | 9 | #define __NR_read 3 |
@@ -165,13 +166,13 @@ | |||
165 | #define __NR_sched_get_priority_min 160 | 166 | #define __NR_sched_get_priority_min 160 |
166 | #define __NR_sched_rr_get_interval 161 | 167 | #define __NR_sched_rr_get_interval 161 |
167 | #define __NR_nanosleep 162 | 168 | #define __NR_nanosleep 162 |
168 | /* 163 __NR_mremap */ | 169 | #define __NR_mremap 163 |
169 | #define __NR_setresuid 164 | 170 | #define __NR_setresuid 164 |
170 | #define __NR_getresuid 165 | 171 | #define __NR_getresuid 165 |
171 | /* 166 __NR_vm86 */ | 172 | /* 166 __NR_vm86 */ |
172 | /* 167 __NR_query_module */ | 173 | /* 167 __NR_query_module */ |
173 | /* 168 __NR_poll */ | 174 | /* 168 __NR_poll */ |
174 | /* 169 __NR_nfsservctl */ | 175 | #define __NR_nfsservctl 169 |
175 | #define __NR_setresgid 170 | 176 | #define __NR_setresgid 170 |
176 | #define __NR_getresgid 171 | 177 | #define __NR_getresgid 171 |
177 | #define __NR_prctl 172 | 178 | #define __NR_prctl 172 |
@@ -227,7 +228,7 @@ | |||
227 | /* 222 reserved for TUX */ | 228 | /* 222 reserved for TUX */ |
228 | /* 223 reserved for TUX */ | 229 | /* 223 reserved for TUX */ |
229 | #define __NR_gettid 224 | 230 | #define __NR_gettid 224 |
230 | /* 225 __NR_readahead */ | 231 | #define __NR_readahead 225 |
231 | #define __NR_setxattr 226 | 232 | #define __NR_setxattr 226 |
232 | #define __NR_lsetxattr 227 | 233 | #define __NR_lsetxattr 227 |
233 | #define __NR_fsetxattr 228 | 234 | #define __NR_fsetxattr 228 |
@@ -287,7 +288,7 @@ | |||
287 | #define __NR_mq_timedreceive (__NR_mq_open+3) | 288 | #define __NR_mq_timedreceive (__NR_mq_open+3) |
288 | #define __NR_mq_notify (__NR_mq_open+4) | 289 | #define __NR_mq_notify (__NR_mq_open+4) |
289 | #define __NR_mq_getsetattr (__NR_mq_open+5) | 290 | #define __NR_mq_getsetattr (__NR_mq_open+5) |
290 | /* 284 __NR_sys_kexec_load */ | 291 | #define __NR_kexec_load 284 |
291 | #define __NR_waitid 285 | 292 | #define __NR_waitid 285 |
292 | #define __NR_add_key 286 | 293 | #define __NR_add_key 286 |
293 | #define __NR_request_key 287 | 294 | #define __NR_request_key 287 |
@@ -352,9 +353,54 @@ | |||
352 | #define __NR_shmdt 340 | 353 | #define __NR_shmdt 340 |
353 | #define __NR_shmget 341 | 354 | #define __NR_shmget 341 |
354 | 355 | ||
355 | #define __NR_syscall 342 | 356 | #define __NR_splice 342 |
357 | #define __NR_sync_file_range 343 | ||
358 | #define __NR_tee 344 | ||
359 | #define __NR_vmsplice 345 | ||
360 | |||
361 | #define __NR_epoll_pwait 346 | ||
362 | #define __NR_utimensat 347 | ||
363 | #define __NR_signalfd 348 | ||
364 | #define __NR_timerfd 349 | ||
365 | #define __NR_eventfd 350 | ||
366 | #define __NR_pread64 351 | ||
367 | #define __NR_pwrite64 352 | ||
368 | #define __NR_fadvise64 353 | ||
369 | #define __NR_set_robust_list 354 | ||
370 | #define __NR_get_robust_list 355 | ||
371 | #define __NR_fallocate 356 | ||
372 | |||
373 | #define __NR_syscall 357 | ||
356 | #define NR_syscalls __NR_syscall | 374 | #define NR_syscalls __NR_syscall |
357 | 375 | ||
376 | /* Old optional stuff no one actually uses */ | ||
377 | #define __IGNORE_sysfs | ||
378 | #define __IGNORE_uselib | ||
379 | |||
380 | /* Implement the newer interfaces */ | ||
381 | #define __IGNORE_mmap | ||
382 | #define __IGNORE_poll | ||
383 | #define __IGNORE_select | ||
384 | #define __IGNORE_utime | ||
385 | |||
386 | /* Not relevant on no-mmu */ | ||
387 | #define __IGNORE_swapon | ||
388 | #define __IGNORE_swapoff | ||
389 | #define __IGNORE_msync | ||
390 | #define __IGNORE_mlock | ||
391 | #define __IGNORE_munlock | ||
392 | #define __IGNORE_mlockall | ||
393 | #define __IGNORE_munlockall | ||
394 | #define __IGNORE_mincore | ||
395 | #define __IGNORE_madvise | ||
396 | #define __IGNORE_remap_file_pages | ||
397 | #define __IGNORE_mbind | ||
398 | #define __IGNORE_get_mempolicy | ||
399 | #define __IGNORE_set_mempolicy | ||
400 | #define __IGNORE_migrate_pages | ||
401 | #define __IGNORE_move_pages | ||
402 | #define __IGNORE_getcpu | ||
403 | |||
358 | #ifdef __KERNEL__ | 404 | #ifdef __KERNEL__ |
359 | #define __ARCH_WANT_IPC_PARSE_VERSION | 405 | #define __ARCH_WANT_IPC_PARSE_VERSION |
360 | #define __ARCH_WANT_STAT64 | 406 | #define __ARCH_WANT_STAT64 |
diff --git a/include/asm-h8300/flat.h b/include/asm-h8300/flat.h index c20eee767d6f..2a873508a9a1 100644 --- a/include/asm-h8300/flat.h +++ b/include/asm-h8300/flat.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #define flat_argvp_envp_on_stack() 1 | 9 | #define flat_argvp_envp_on_stack() 1 |
10 | #define flat_old_ram_flag(flags) 1 | 10 | #define flat_old_ram_flag(flags) 1 |
11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
12 | #define flat_set_persistent(relval, p) 0 | ||
12 | 13 | ||
13 | /* | 14 | /* |
14 | * on the H8 a couple of the relocations have an instruction in the | 15 | * on the H8 a couple of the relocations have an instruction in the |
@@ -18,7 +19,7 @@ | |||
18 | */ | 19 | */ |
19 | 20 | ||
20 | #define flat_get_relocate_addr(rel) (rel) | 21 | #define flat_get_relocate_addr(rel) (rel) |
21 | #define flat_get_addr_from_rp(rp, relval, flags) \ | 22 | #define flat_get_addr_from_rp(rp, relval, flags, persistent) \ |
22 | (get_unaligned(rp) & ((flags & FLAT_FLAG_GOTPIC) ? 0xffffffff: 0x00ffffff)) | 23 | (get_unaligned(rp) & ((flags & FLAT_FLAG_GOTPIC) ? 0xffffffff: 0x00ffffff)) |
23 | #define flat_put_addr_at_rp(rp, addr, rel) \ | 24 | #define flat_put_addr_at_rp(rp, addr, rel) \ |
24 | put_unaligned (((*(char *)(rp)) << 24) | ((addr) & 0x00ffffff), rp) | 25 | put_unaligned (((*(char *)(rp)) << 24) | ((addr) & 0x00ffffff), rp) |
diff --git a/include/asm-i386/Kbuild b/include/asm-i386/Kbuild deleted file mode 100644 index cbf6e8f1087b..000000000000 --- a/include/asm-i386/Kbuild +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | include include/asm-generic/Kbuild.asm | ||
2 | |||
3 | header-y += boot.h | ||
4 | header-y += debugreg.h | ||
5 | header-y += ldt.h | ||
6 | header-y += msr-index.h | ||
7 | header-y += ptrace-abi.h | ||
8 | header-y += ucontext.h | ||
9 | |||
10 | unifdef-y += msr.h | ||
11 | unifdef-y += mtrr.h | ||
12 | unifdef-y += vm86.h | ||
diff --git a/include/asm-i386/k8.h b/include/asm-i386/k8.h deleted file mode 100644 index dfd88a6e6040..000000000000 --- a/include/asm-i386/k8.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-x86_64/k8.h> | ||
diff --git a/include/asm-i386/pci-direct.h b/include/asm-i386/pci-direct.h deleted file mode 100644 index 4f6738b08206..000000000000 --- a/include/asm-i386/pci-direct.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include "asm-x86_64/pci-direct.h" | ||
diff --git a/include/asm-i386/stacktrace.h b/include/asm-i386/stacktrace.h deleted file mode 100644 index 7d1f6a5cbfca..000000000000 --- a/include/asm-i386/stacktrace.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-x86_64/stacktrace.h> | ||
diff --git a/include/asm-m32r/flat.h b/include/asm-m32r/flat.h index 1b285f65cab6..d851cf0c4aa5 100644 --- a/include/asm-m32r/flat.h +++ b/include/asm-m32r/flat.h | |||
@@ -15,9 +15,10 @@ | |||
15 | #define flat_stack_align(sp) (*sp += (*sp & 3 ? (4 - (*sp & 3)): 0)) | 15 | #define flat_stack_align(sp) (*sp += (*sp & 3 ? (4 - (*sp & 3)): 0)) |
16 | #define flat_argvp_envp_on_stack() 0 | 16 | #define flat_argvp_envp_on_stack() 0 |
17 | #define flat_old_ram_flag(flags) (flags) | 17 | #define flat_old_ram_flag(flags) (flags) |
18 | #define flat_set_persistent(relval, p) 0 | ||
18 | #define flat_reloc_valid(reloc, size) \ | 19 | #define flat_reloc_valid(reloc, size) \ |
19 | (((reloc) - textlen_for_m32r_lo16_data) <= (size)) | 20 | (((reloc) - textlen_for_m32r_lo16_data) <= (size)) |
20 | #define flat_get_addr_from_rp(rp, relval, flags) \ | 21 | #define flat_get_addr_from_rp(rp, relval, flags, persistent) \ |
21 | m32r_flat_get_addr_from_rp(rp, relval, (text_len) ) | 22 | m32r_flat_get_addr_from_rp(rp, relval, (text_len) ) |
22 | 23 | ||
23 | #define flat_put_addr_at_rp(rp, addr, relval) \ | 24 | #define flat_put_addr_at_rp(rp, addr, relval) \ |
diff --git a/include/asm-m68knommu/flat.h b/include/asm-m68knommu/flat.h index 2d836edc4344..814b5174a8e0 100644 --- a/include/asm-m68knommu/flat.h +++ b/include/asm-m68knommu/flat.h | |||
@@ -9,8 +9,9 @@ | |||
9 | #define flat_argvp_envp_on_stack() 1 | 9 | #define flat_argvp_envp_on_stack() 1 |
10 | #define flat_old_ram_flag(flags) (flags) | 10 | #define flat_old_ram_flag(flags) (flags) |
11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 11 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
12 | #define flat_get_addr_from_rp(rp, relval, flags) get_unaligned(rp) | 12 | #define flat_get_addr_from_rp(rp, relval, flags, p) get_unaligned(rp) |
13 | #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) | 13 | #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) |
14 | #define flat_get_relocate_addr(rel) (rel) | 14 | #define flat_get_relocate_addr(rel) (rel) |
15 | #define flat_set_persistent(relval, p) 0 | ||
15 | 16 | ||
16 | #endif /* __M68KNOMMU_FLAT_H__ */ | 17 | #endif /* __M68KNOMMU_FLAT_H__ */ |
diff --git a/include/asm-mips/addrspace.h b/include/asm-mips/addrspace.h index 0b3ff9c48409..0bb7a93b7a5e 100644 --- a/include/asm-mips/addrspace.h +++ b/include/asm-mips/addrspace.h | |||
@@ -123,10 +123,10 @@ | |||
123 | /* | 123 | /* |
124 | * 64-bit address conversions | 124 | * 64-bit address conversions |
125 | */ | 125 | */ |
126 | #define PHYS_TO_XKSEG_UNCACHED(p) PHYS_TO_XKPHYS(K_CALG_UNCACHED,(p)) | 126 | #define PHYS_TO_XKSEG_UNCACHED(p) PHYS_TO_XKPHYS(K_CALG_UNCACHED, (p)) |
127 | #define PHYS_TO_XKSEG_CACHED(p) PHYS_TO_XKPHYS(K_CALG_COH_SHAREABLE,(p)) | 127 | #define PHYS_TO_XKSEG_CACHED(p) PHYS_TO_XKPHYS(K_CALG_COH_SHAREABLE, (p)) |
128 | #define XKPHYS_TO_PHYS(p) ((p) & TO_PHYS_MASK) | 128 | #define XKPHYS_TO_PHYS(p) ((p) & TO_PHYS_MASK) |
129 | #define PHYS_TO_XKPHYS(cm,a) (_CONST64_(0x8000000000000000) | \ | 129 | #define PHYS_TO_XKPHYS(cm, a) (_CONST64_(0x8000000000000000) | \ |
130 | ((cm)<<59) | (a)) | 130 | ((cm)<<59) | (a)) |
131 | 131 | ||
132 | /* | 132 | /* |
diff --git a/include/asm-mips/asm.h b/include/asm-mips/asm.h index 838eb3144d81..12e17581b823 100644 --- a/include/asm-mips/asm.h +++ b/include/asm-mips/asm.h | |||
@@ -21,11 +21,11 @@ | |||
21 | 21 | ||
22 | #ifndef CAT | 22 | #ifndef CAT |
23 | #ifdef __STDC__ | 23 | #ifdef __STDC__ |
24 | #define __CAT(str1,str2) str1##str2 | 24 | #define __CAT(str1, str2) str1##str2 |
25 | #else | 25 | #else |
26 | #define __CAT(str1,str2) str1/**/str2 | 26 | #define __CAT(str1, str2) str1/**/str2 |
27 | #endif | 27 | #endif |
28 | #define CAT(str1,str2) __CAT(str1,str2) | 28 | #define CAT(str1, str2) __CAT(str1, str2) |
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | /* | 31 | /* |
@@ -51,9 +51,9 @@ | |||
51 | #define LEAF(symbol) \ | 51 | #define LEAF(symbol) \ |
52 | .globl symbol; \ | 52 | .globl symbol; \ |
53 | .align 2; \ | 53 | .align 2; \ |
54 | .type symbol,@function; \ | 54 | .type symbol, @function; \ |
55 | .ent symbol,0; \ | 55 | .ent symbol, 0; \ |
56 | symbol: .frame sp,0,ra | 56 | symbol: .frame sp, 0, ra |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * NESTED - declare nested routine entry point | 59 | * NESTED - declare nested routine entry point |
@@ -61,8 +61,8 @@ symbol: .frame sp,0,ra | |||
61 | #define NESTED(symbol, framesize, rpc) \ | 61 | #define NESTED(symbol, framesize, rpc) \ |
62 | .globl symbol; \ | 62 | .globl symbol; \ |
63 | .align 2; \ | 63 | .align 2; \ |
64 | .type symbol,@function; \ | 64 | .type symbol, @function; \ |
65 | .ent symbol,0; \ | 65 | .ent symbol, 0; \ |
66 | symbol: .frame sp, framesize, rpc | 66 | symbol: .frame sp, framesize, rpc |
67 | 67 | ||
68 | /* | 68 | /* |
@@ -70,7 +70,7 @@ symbol: .frame sp, framesize, rpc | |||
70 | */ | 70 | */ |
71 | #define END(function) \ | 71 | #define END(function) \ |
72 | .end function; \ | 72 | .end function; \ |
73 | .size function,.-function | 73 | .size function, .-function |
74 | 74 | ||
75 | /* | 75 | /* |
76 | * EXPORT - export definition of symbol | 76 | * EXPORT - export definition of symbol |
@@ -84,7 +84,7 @@ symbol: | |||
84 | */ | 84 | */ |
85 | #define FEXPORT(symbol) \ | 85 | #define FEXPORT(symbol) \ |
86 | .globl symbol; \ | 86 | .globl symbol; \ |
87 | .type symbol,@function; \ | 87 | .type symbol, @function; \ |
88 | symbol: | 88 | symbol: |
89 | 89 | ||
90 | /* | 90 | /* |
@@ -97,7 +97,7 @@ symbol = value | |||
97 | #define PANIC(msg) \ | 97 | #define PANIC(msg) \ |
98 | .set push; \ | 98 | .set push; \ |
99 | .set reorder; \ | 99 | .set reorder; \ |
100 | PTR_LA a0,8f; \ | 100 | PTR_LA a0, 8f; \ |
101 | jal panic; \ | 101 | jal panic; \ |
102 | 9: b 9b; \ | 102 | 9: b 9b; \ |
103 | .set pop; \ | 103 | .set pop; \ |
@@ -110,7 +110,7 @@ symbol = value | |||
110 | #define PRINT(string) \ | 110 | #define PRINT(string) \ |
111 | .set push; \ | 111 | .set push; \ |
112 | .set reorder; \ | 112 | .set reorder; \ |
113 | PTR_LA a0,8f; \ | 113 | PTR_LA a0, 8f; \ |
114 | jal printk; \ | 114 | jal printk; \ |
115 | .set pop; \ | 115 | .set pop; \ |
116 | TEXT(string) | 116 | TEXT(string) |
@@ -146,19 +146,19 @@ symbol = value | |||
146 | #define PREF(hint,addr) \ | 146 | #define PREF(hint,addr) \ |
147 | .set push; \ | 147 | .set push; \ |
148 | .set mips4; \ | 148 | .set mips4; \ |
149 | pref hint,addr; \ | 149 | pref hint, addr; \ |
150 | .set pop | 150 | .set pop |
151 | 151 | ||
152 | #define PREFX(hint,addr) \ | 152 | #define PREFX(hint,addr) \ |
153 | .set push; \ | 153 | .set push; \ |
154 | .set mips4; \ | 154 | .set mips4; \ |
155 | prefx hint,addr; \ | 155 | prefx hint, addr; \ |
156 | .set pop | 156 | .set pop |
157 | 157 | ||
158 | #else /* !CONFIG_CPU_HAS_PREFETCH */ | 158 | #else /* !CONFIG_CPU_HAS_PREFETCH */ |
159 | 159 | ||
160 | #define PREF(hint,addr) | 160 | #define PREF(hint, addr) |
161 | #define PREFX(hint,addr) | 161 | #define PREFX(hint, addr) |
162 | 162 | ||
163 | #endif /* !CONFIG_CPU_HAS_PREFETCH */ | 163 | #endif /* !CONFIG_CPU_HAS_PREFETCH */ |
164 | 164 | ||
@@ -166,43 +166,43 @@ symbol = value | |||
166 | * MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs. | 166 | * MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs. |
167 | */ | 167 | */ |
168 | #if (_MIPS_ISA == _MIPS_ISA_MIPS1) | 168 | #if (_MIPS_ISA == _MIPS_ISA_MIPS1) |
169 | #define MOVN(rd,rs,rt) \ | 169 | #define MOVN(rd, rs, rt) \ |
170 | .set push; \ | 170 | .set push; \ |
171 | .set reorder; \ | 171 | .set reorder; \ |
172 | beqz rt,9f; \ | 172 | beqz rt, 9f; \ |
173 | move rd,rs; \ | 173 | move rd, rs; \ |
174 | .set pop; \ | 174 | .set pop; \ |
175 | 9: | 175 | 9: |
176 | #define MOVZ(rd,rs,rt) \ | 176 | #define MOVZ(rd, rs, rt) \ |
177 | .set push; \ | 177 | .set push; \ |
178 | .set reorder; \ | 178 | .set reorder; \ |
179 | bnez rt,9f; \ | 179 | bnez rt, 9f; \ |
180 | move rd,rs; \ | 180 | move rd, rs; \ |
181 | .set pop; \ | 181 | .set pop; \ |
182 | 9: | 182 | 9: |
183 | #endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */ | 183 | #endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */ |
184 | #if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) | 184 | #if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) |
185 | #define MOVN(rd,rs,rt) \ | 185 | #define MOVN(rd, rs, rt) \ |
186 | .set push; \ | 186 | .set push; \ |
187 | .set noreorder; \ | 187 | .set noreorder; \ |
188 | bnezl rt,9f; \ | 188 | bnezl rt, 9f; \ |
189 | move rd,rs; \ | 189 | move rd, rs; \ |
190 | .set pop; \ | 190 | .set pop; \ |
191 | 9: | 191 | 9: |
192 | #define MOVZ(rd,rs,rt) \ | 192 | #define MOVZ(rd, rs, rt) \ |
193 | .set push; \ | 193 | .set push; \ |
194 | .set noreorder; \ | 194 | .set noreorder; \ |
195 | beqzl rt,9f; \ | 195 | beqzl rt, 9f; \ |
196 | move rd,rs; \ | 196 | move rd, rs; \ |
197 | .set pop; \ | 197 | .set pop; \ |
198 | 9: | 198 | 9: |
199 | #endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */ | 199 | #endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */ |
200 | #if (_MIPS_ISA == _MIPS_ISA_MIPS4 ) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \ | 200 | #if (_MIPS_ISA == _MIPS_ISA_MIPS4 ) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \ |
201 | (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64) | 201 | (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64) |
202 | #define MOVN(rd,rs,rt) \ | 202 | #define MOVN(rd, rs, rt) \ |
203 | movn rd,rs,rt | 203 | movn rd, rs, rt |
204 | #define MOVZ(rd,rs,rt) \ | 204 | #define MOVZ(rd, rs, rt) \ |
205 | movz rd,rs,rt | 205 | movz rd, rs, rt |
206 | #endif /* MIPS IV, MIPS V, MIPS32 or MIPS64 */ | 206 | #endif /* MIPS IV, MIPS V, MIPS32 or MIPS64 */ |
207 | 207 | ||
208 | /* | 208 | /* |
@@ -396,6 +396,6 @@ symbol = value | |||
396 | #define MTC0 dmtc0 | 396 | #define MTC0 dmtc0 |
397 | #endif | 397 | #endif |
398 | 398 | ||
399 | #define SSNOP sll zero,zero,1 | 399 | #define SSNOP sll zero, zero, 1 |
400 | 400 | ||
401 | #endif /* __ASM_ASM_H */ | 401 | #endif /* __ASM_ASM_H */ |
diff --git a/include/asm-mips/asmmacro.h b/include/asm-mips/asmmacro.h index c5f20df780e9..7a881755800f 100644 --- a/include/asm-mips/asmmacro.h +++ b/include/asm-mips/asmmacro.h | |||
@@ -56,27 +56,27 @@ | |||
56 | * Temporary until all gas have MT ASE support | 56 | * Temporary until all gas have MT ASE support |
57 | */ | 57 | */ |
58 | .macro DMT reg=0 | 58 | .macro DMT reg=0 |
59 | .word (0x41600bc1 | (\reg << 16)) | 59 | .word 0x41600bc1 | (\reg << 16) |
60 | .endm | 60 | .endm |
61 | 61 | ||
62 | .macro EMT reg=0 | 62 | .macro EMT reg=0 |
63 | .word (0x41600be1 | (\reg << 16)) | 63 | .word 0x41600be1 | (\reg << 16) |
64 | .endm | 64 | .endm |
65 | 65 | ||
66 | .macro DVPE reg=0 | 66 | .macro DVPE reg=0 |
67 | .word (0x41600001 | (\reg << 16)) | 67 | .word 0x41600001 | (\reg << 16) |
68 | .endm | 68 | .endm |
69 | 69 | ||
70 | .macro EVPE reg=0 | 70 | .macro EVPE reg=0 |
71 | .word (0x41600021 | (\reg << 16)) | 71 | .word 0x41600021 | (\reg << 16) |
72 | .endm | 72 | .endm |
73 | 73 | ||
74 | .macro MFTR rt=0, rd=0, u=0, sel=0 | 74 | .macro MFTR rt=0, rd=0, u=0, sel=0 |
75 | .word (0x41000000 | (\rt << 16) | (\rd << 11) | (\u << 5) | (\sel)) | 75 | .word 0x41000000 | (\rt << 16) | (\rd << 11) | (\u << 5) | (\sel) |
76 | .endm | 76 | .endm |
77 | 77 | ||
78 | .macro MTTR rt=0, rd=0, u=0, sel=0 | 78 | .macro MTTR rt=0, rd=0, u=0, sel=0 |
79 | .word (0x41800000 | (\rt << 16) | (\rd << 11) | (\u << 5) | (\sel)) | 79 | .word 0x41800000 | (\rt << 16) | (\rd << 11) | (\u << 5) | (\sel) |
80 | .endm | 80 | .endm |
81 | 81 | ||
82 | #endif /* _ASM_ASMMACRO_H */ | 82 | #endif /* _ASM_ASMMACRO_H */ |
diff --git a/include/asm-mips/atomic.h b/include/asm-mips/atomic.h index 7d8003769a44..a798d6299a79 100644 --- a/include/asm-mips/atomic.h +++ b/include/asm-mips/atomic.h | |||
@@ -39,7 +39,7 @@ typedef struct { volatile int counter; } atomic_t; | |||
39 | * | 39 | * |
40 | * Atomically sets the value of @v to @i. | 40 | * Atomically sets the value of @v to @i. |
41 | */ | 41 | */ |
42 | #define atomic_set(v,i) ((v)->counter = (i)) | 42 | #define atomic_set(v, i) ((v)->counter = (i)) |
43 | 43 | ||
44 | /* | 44 | /* |
45 | * atomic_add - add integer to atomic variable | 45 | * atomic_add - add integer to atomic variable |
@@ -335,8 +335,8 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
335 | } | 335 | } |
336 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) | 336 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) |
337 | 337 | ||
338 | #define atomic_dec_return(v) atomic_sub_return(1,(v)) | 338 | #define atomic_dec_return(v) atomic_sub_return(1, (v)) |
339 | #define atomic_inc_return(v) atomic_add_return(1,(v)) | 339 | #define atomic_inc_return(v) atomic_add_return(1, (v)) |
340 | 340 | ||
341 | /* | 341 | /* |
342 | * atomic_sub_and_test - subtract value from variable and test result | 342 | * atomic_sub_and_test - subtract value from variable and test result |
@@ -347,7 +347,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
347 | * true if the result is zero, or false for all | 347 | * true if the result is zero, or false for all |
348 | * other cases. | 348 | * other cases. |
349 | */ | 349 | */ |
350 | #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0) | 350 | #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) |
351 | 351 | ||
352 | /* | 352 | /* |
353 | * atomic_inc_and_test - increment and test | 353 | * atomic_inc_and_test - increment and test |
@@ -381,7 +381,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
381 | * | 381 | * |
382 | * Atomically increments @v by 1. | 382 | * Atomically increments @v by 1. |
383 | */ | 383 | */ |
384 | #define atomic_inc(v) atomic_add(1,(v)) | 384 | #define atomic_inc(v) atomic_add(1, (v)) |
385 | 385 | ||
386 | /* | 386 | /* |
387 | * atomic_dec - decrement and test | 387 | * atomic_dec - decrement and test |
@@ -389,7 +389,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
389 | * | 389 | * |
390 | * Atomically decrements @v by 1. | 390 | * Atomically decrements @v by 1. |
391 | */ | 391 | */ |
392 | #define atomic_dec(v) atomic_sub(1,(v)) | 392 | #define atomic_dec(v) atomic_sub(1, (v)) |
393 | 393 | ||
394 | /* | 394 | /* |
395 | * atomic_add_negative - add and test if negative | 395 | * atomic_add_negative - add and test if negative |
@@ -400,7 +400,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
400 | * if the result is negative, or false when | 400 | * if the result is negative, or false when |
401 | * result is greater than or equal to zero. | 401 | * result is greater than or equal to zero. |
402 | */ | 402 | */ |
403 | #define atomic_add_negative(i,v) (atomic_add_return(i, (v)) < 0) | 403 | #define atomic_add_negative(i, v) (atomic_add_return(i, (v)) < 0) |
404 | 404 | ||
405 | #ifdef CONFIG_64BIT | 405 | #ifdef CONFIG_64BIT |
406 | 406 | ||
@@ -420,7 +420,7 @@ typedef struct { volatile long counter; } atomic64_t; | |||
420 | * @v: pointer of type atomic64_t | 420 | * @v: pointer of type atomic64_t |
421 | * @i: required value | 421 | * @i: required value |
422 | */ | 422 | */ |
423 | #define atomic64_set(v,i) ((v)->counter = (i)) | 423 | #define atomic64_set(v, i) ((v)->counter = (i)) |
424 | 424 | ||
425 | /* | 425 | /* |
426 | * atomic64_add - add integer to atomic variable | 426 | * atomic64_add - add integer to atomic variable |
@@ -718,8 +718,8 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
718 | 718 | ||
719 | #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) | 719 | #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) |
720 | 720 | ||
721 | #define atomic64_dec_return(v) atomic64_sub_return(1,(v)) | 721 | #define atomic64_dec_return(v) atomic64_sub_return(1, (v)) |
722 | #define atomic64_inc_return(v) atomic64_add_return(1,(v)) | 722 | #define atomic64_inc_return(v) atomic64_add_return(1, (v)) |
723 | 723 | ||
724 | /* | 724 | /* |
725 | * atomic64_sub_and_test - subtract value from variable and test result | 725 | * atomic64_sub_and_test - subtract value from variable and test result |
@@ -730,7 +730,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
730 | * true if the result is zero, or false for all | 730 | * true if the result is zero, or false for all |
731 | * other cases. | 731 | * other cases. |
732 | */ | 732 | */ |
733 | #define atomic64_sub_and_test(i,v) (atomic64_sub_return((i), (v)) == 0) | 733 | #define atomic64_sub_and_test(i, v) (atomic64_sub_return((i), (v)) == 0) |
734 | 734 | ||
735 | /* | 735 | /* |
736 | * atomic64_inc_and_test - increment and test | 736 | * atomic64_inc_and_test - increment and test |
@@ -764,7 +764,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
764 | * | 764 | * |
765 | * Atomically increments @v by 1. | 765 | * Atomically increments @v by 1. |
766 | */ | 766 | */ |
767 | #define atomic64_inc(v) atomic64_add(1,(v)) | 767 | #define atomic64_inc(v) atomic64_add(1, (v)) |
768 | 768 | ||
769 | /* | 769 | /* |
770 | * atomic64_dec - decrement and test | 770 | * atomic64_dec - decrement and test |
@@ -772,7 +772,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
772 | * | 772 | * |
773 | * Atomically decrements @v by 1. | 773 | * Atomically decrements @v by 1. |
774 | */ | 774 | */ |
775 | #define atomic64_dec(v) atomic64_sub(1,(v)) | 775 | #define atomic64_dec(v) atomic64_sub(1, (v)) |
776 | 776 | ||
777 | /* | 777 | /* |
778 | * atomic64_add_negative - add and test if negative | 778 | * atomic64_add_negative - add and test if negative |
@@ -783,7 +783,7 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
783 | * if the result is negative, or false when | 783 | * if the result is negative, or false when |
784 | * result is greater than or equal to zero. | 784 | * result is greater than or equal to zero. |
785 | */ | 785 | */ |
786 | #define atomic64_add_negative(i,v) (atomic64_add_return(i, (v)) < 0) | 786 | #define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0) |
787 | 787 | ||
788 | #endif /* CONFIG_64BIT */ | 788 | #endif /* CONFIG_64BIT */ |
789 | 789 | ||
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index 148bc79557f1..899357a72ac4 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h | |||
@@ -19,14 +19,14 @@ | |||
19 | #include <asm/sgidefs.h> | 19 | #include <asm/sgidefs.h> |
20 | #include <asm/war.h> | 20 | #include <asm/war.h> |
21 | 21 | ||
22 | #if (_MIPS_SZLONG == 32) | 22 | #if _MIPS_SZLONG == 32 |
23 | #define SZLONG_LOG 5 | 23 | #define SZLONG_LOG 5 |
24 | #define SZLONG_MASK 31UL | 24 | #define SZLONG_MASK 31UL |
25 | #define __LL "ll " | 25 | #define __LL "ll " |
26 | #define __SC "sc " | 26 | #define __SC "sc " |
27 | #define __INS "ins " | 27 | #define __INS "ins " |
28 | #define __EXT "ext " | 28 | #define __EXT "ext " |
29 | #elif (_MIPS_SZLONG == 64) | 29 | #elif _MIPS_SZLONG == 64 |
30 | #define SZLONG_LOG 6 | 30 | #define SZLONG_LOG 6 |
31 | #define SZLONG_MASK 63UL | 31 | #define SZLONG_MASK 63UL |
32 | #define __LL "lld " | 32 | #define __LL "lld " |
@@ -461,7 +461,7 @@ static inline int __ilog2(unsigned long x) | |||
461 | int lz; | 461 | int lz; |
462 | 462 | ||
463 | if (sizeof(x) == 4) { | 463 | if (sizeof(x) == 4) { |
464 | __asm__ ( | 464 | __asm__( |
465 | " .set push \n" | 465 | " .set push \n" |
466 | " .set mips32 \n" | 466 | " .set mips32 \n" |
467 | " clz %0, %1 \n" | 467 | " clz %0, %1 \n" |
@@ -474,7 +474,7 @@ static inline int __ilog2(unsigned long x) | |||
474 | 474 | ||
475 | BUG_ON(sizeof(x) != 8); | 475 | BUG_ON(sizeof(x) != 8); |
476 | 476 | ||
477 | __asm__ ( | 477 | __asm__( |
478 | " .set push \n" | 478 | " .set push \n" |
479 | " .set mips64 \n" | 479 | " .set mips64 \n" |
480 | " dclz %0, %1 \n" | 480 | " dclz %0, %1 \n" |
@@ -508,7 +508,7 @@ static inline unsigned long __ffs(unsigned long word) | |||
508 | */ | 508 | */ |
509 | static inline int fls(int word) | 509 | static inline int fls(int word) |
510 | { | 510 | { |
511 | __asm__ ("clz %0, %1" : "=r" (word) : "r" (word)); | 511 | __asm__("clz %0, %1" : "=r" (word) : "r" (word)); |
512 | 512 | ||
513 | return 32 - word; | 513 | return 32 - word; |
514 | } | 514 | } |
@@ -516,7 +516,7 @@ static inline int fls(int word) | |||
516 | #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPS64) | 516 | #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPS64) |
517 | static inline int fls64(__u64 word) | 517 | static inline int fls64(__u64 word) |
518 | { | 518 | { |
519 | __asm__ ("dclz %0, %1" : "=r" (word) : "r" (word)); | 519 | __asm__("dclz %0, %1" : "=r" (word) : "r" (word)); |
520 | 520 | ||
521 | return 64 - word; | 521 | return 64 - word; |
522 | } | 522 | } |
diff --git a/include/asm-mips/bootinfo.h b/include/asm-mips/bootinfo.h index c0f052b37b9e..b2dd9b33de8f 100644 --- a/include/asm-mips/bootinfo.h +++ b/include/asm-mips/bootinfo.h | |||
@@ -15,21 +15,19 @@ | |||
15 | #include <asm/setup.h> | 15 | #include <asm/setup.h> |
16 | 16 | ||
17 | /* | 17 | /* |
18 | * The MACH_GROUP_ IDs are the equivalent to PCI vendor IDs; the remaining | 18 | * The MACH_ IDs are sort of equivalent to PCI product IDs. As such the |
19 | * MACH_ values equivalent to product IDs. As such the numbers do not | 19 | * numbers do not necessarily reflect technical relations or similarities |
20 | * necessarily reflect technical relations or similarities between systems. | 20 | * between systems. |
21 | */ | 21 | */ |
22 | 22 | ||
23 | /* | 23 | /* |
24 | * Valid machtype values for group unknown | 24 | * Valid machtype values for group unknown |
25 | */ | 25 | */ |
26 | #define MACH_GROUP_UNKNOWN 0 /* whatever... */ | ||
27 | #define MACH_UNKNOWN 0 /* whatever... */ | 26 | #define MACH_UNKNOWN 0 /* whatever... */ |
28 | 27 | ||
29 | /* | 28 | /* |
30 | * Valid machtype values for group JAZZ | 29 | * Valid machtype values for group JAZZ |
31 | */ | 30 | */ |
32 | #define MACH_GROUP_JAZZ 1 /* Jazz */ | ||
33 | #define MACH_ACER_PICA_61 0 /* Acer PICA-61 (PICA1) */ | 31 | #define MACH_ACER_PICA_61 0 /* Acer PICA-61 (PICA1) */ |
34 | #define MACH_MIPS_MAGNUM_4000 1 /* Mips Magnum 4000 "RC4030" */ | 32 | #define MACH_MIPS_MAGNUM_4000 1 /* Mips Magnum 4000 "RC4030" */ |
35 | #define MACH_OLIVETTI_M700 2 /* Olivetti M700-10 (-15 ??) */ | 33 | #define MACH_OLIVETTI_M700 2 /* Olivetti M700-10 (-15 ??) */ |
@@ -37,7 +35,6 @@ | |||
37 | /* | 35 | /* |
38 | * Valid machtype for group DEC | 36 | * Valid machtype for group DEC |
39 | */ | 37 | */ |
40 | #define MACH_GROUP_DEC 2 /* Digital Equipment */ | ||
41 | #define MACH_DSUNKNOWN 0 | 38 | #define MACH_DSUNKNOWN 0 |
42 | #define MACH_DS23100 1 /* DECstation 2100 or 3100 */ | 39 | #define MACH_DS23100 1 /* DECstation 2100 or 3100 */ |
43 | #define MACH_DS5100 2 /* DECsystem 5100 */ | 40 | #define MACH_DS5100 2 /* DECsystem 5100 */ |
@@ -53,26 +50,22 @@ | |||
53 | /* | 50 | /* |
54 | * Valid machtype for group ARC | 51 | * Valid machtype for group ARC |
55 | */ | 52 | */ |
56 | #define MACH_GROUP_ARC 3 /* Deskstation */ | ||
57 | #define MACH_DESKSTATION_RPC44 0 /* Deskstation rPC44 */ | 53 | #define MACH_DESKSTATION_RPC44 0 /* Deskstation rPC44 */ |
58 | #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */ | 54 | #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */ |
59 | 55 | ||
60 | /* | 56 | /* |
61 | * Valid machtype for group SNI_RM | 57 | * Valid machtype for group SNI_RM |
62 | */ | 58 | */ |
63 | #define MACH_GROUP_SNI_RM 4 /* Siemens Nixdorf RM series */ | ||
64 | #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */ | 59 | #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */ |
65 | 60 | ||
66 | /* | 61 | /* |
67 | * Valid machtype for group ACN | 62 | * Valid machtype for group ACN |
68 | */ | 63 | */ |
69 | #define MACH_GROUP_ACN 5 | ||
70 | #define MACH_ACN_MIPS_BOARD 0 /* ACN MIPS single board */ | 64 | #define MACH_ACN_MIPS_BOARD 0 /* ACN MIPS single board */ |
71 | 65 | ||
72 | /* | 66 | /* |
73 | * Valid machtype for group SGI | 67 | * Valid machtype for group SGI |
74 | */ | 68 | */ |
75 | #define MACH_GROUP_SGI 6 /* Silicon Graphics */ | ||
76 | #define MACH_SGI_IP22 0 /* Indy, Indigo2, Challenge S */ | 69 | #define MACH_SGI_IP22 0 /* Indy, Indigo2, Challenge S */ |
77 | #define MACH_SGI_IP27 1 /* Origin 200, Origin 2000, Onyx 2 */ | 70 | #define MACH_SGI_IP27 1 /* Origin 200, Origin 2000, Onyx 2 */ |
78 | #define MACH_SGI_IP28 2 /* Indigo2 Impact */ | 71 | #define MACH_SGI_IP28 2 /* Indigo2 Impact */ |
@@ -82,26 +75,22 @@ | |||
82 | /* | 75 | /* |
83 | * Valid machtype for group COBALT | 76 | * Valid machtype for group COBALT |
84 | */ | 77 | */ |
85 | #define MACH_GROUP_COBALT 7 /* Cobalt servers */ | ||
86 | #define MACH_COBALT_27 0 /* Proto "27" hardware */ | 78 | #define MACH_COBALT_27 0 /* Proto "27" hardware */ |
87 | 79 | ||
88 | /* | 80 | /* |
89 | * Valid machtype for group BAGET | 81 | * Valid machtype for group BAGET |
90 | */ | 82 | */ |
91 | #define MACH_GROUP_BAGET 9 /* Baget */ | ||
92 | #define MACH_BAGET201 0 /* BT23-201 */ | 83 | #define MACH_BAGET201 0 /* BT23-201 */ |
93 | #define MACH_BAGET202 1 /* BT23-202 */ | 84 | #define MACH_BAGET202 1 /* BT23-202 */ |
94 | 85 | ||
95 | /* | 86 | /* |
96 | * Cosine boards. | 87 | * Cosine boards. |
97 | */ | 88 | */ |
98 | #define MACH_GROUP_COSINE 10 /* CoSine Orion */ | ||
99 | #define MACH_COSINE_ORION 0 | 89 | #define MACH_COSINE_ORION 0 |
100 | 90 | ||
101 | /* | 91 | /* |
102 | * Valid machtype for group MOMENCO | 92 | * Valid machtype for group MOMENCO |
103 | */ | 93 | */ |
104 | #define MACH_GROUP_MOMENCO 12 /* Momentum Boards */ | ||
105 | #define MACH_MOMENCO_OCELOT 0 | 94 | #define MACH_MOMENCO_OCELOT 0 |
106 | #define MACH_MOMENCO_OCELOT_G 1 /* no more supported (may 2007) */ | 95 | #define MACH_MOMENCO_OCELOT_G 1 /* no more supported (may 2007) */ |
107 | #define MACH_MOMENCO_OCELOT_C 2 /* no more supported (jun 2007) */ | 96 | #define MACH_MOMENCO_OCELOT_C 2 /* no more supported (jun 2007) */ |
@@ -111,7 +100,6 @@ | |||
111 | /* | 100 | /* |
112 | * Valid machtype for group PHILIPS | 101 | * Valid machtype for group PHILIPS |
113 | */ | 102 | */ |
114 | #define MACH_GROUP_PHILIPS 14 | ||
115 | #define MACH_PHILIPS_NINO 0 /* Nino */ | 103 | #define MACH_PHILIPS_NINO 0 /* Nino */ |
116 | #define MACH_PHILIPS_VELO 1 /* Velo */ | 104 | #define MACH_PHILIPS_VELO 1 /* Velo */ |
117 | #define MACH_PHILIPS_JBS 2 /* JBS */ | 105 | #define MACH_PHILIPS_JBS 2 /* JBS */ |
@@ -120,13 +108,11 @@ | |||
120 | /* | 108 | /* |
121 | * Valid machtype for group SIBYTE | 109 | * Valid machtype for group SIBYTE |
122 | */ | 110 | */ |
123 | #define MACH_GROUP_SIBYTE 16 /* Sibyte / Broadcom */ | ||
124 | #define MACH_SWARM 0 | 111 | #define MACH_SWARM 0 |
125 | 112 | ||
126 | /* | 113 | /* |
127 | * Valid machtypes for group Toshiba | 114 | * Valid machtypes for group Toshiba |
128 | */ | 115 | */ |
129 | #define MACH_GROUP_TOSHIBA 17 /* Toshiba Reference Systems TSBREF */ | ||
130 | #define MACH_PALLAS 0 | 116 | #define MACH_PALLAS 0 |
131 | #define MACH_TOPAS 1 | 117 | #define MACH_TOPAS 1 |
132 | #define MACH_JMR 2 | 118 | #define MACH_JMR 2 |
@@ -138,7 +124,6 @@ | |||
138 | /* | 124 | /* |
139 | * Valid machtype for group Alchemy | 125 | * Valid machtype for group Alchemy |
140 | */ | 126 | */ |
141 | #define MACH_GROUP_ALCHEMY 18 /* AMD Alchemy */ | ||
142 | #define MACH_PB1000 0 /* Au1000-based eval board */ | 127 | #define MACH_PB1000 0 /* Au1000-based eval board */ |
143 | #define MACH_PB1100 1 /* Au1100-based eval board */ | 128 | #define MACH_PB1100 1 /* Au1100-based eval board */ |
144 | #define MACH_PB1500 2 /* Au1500-based eval board */ | 129 | #define MACH_PB1500 2 /* Au1500-based eval board */ |
@@ -160,7 +145,6 @@ | |||
160 | * FIXME: MACH_GROUPs should be by _MANUFACTURER_ of * the device, not by | 145 | * FIXME: MACH_GROUPs should be by _MANUFACTURER_ of * the device, not by |
161 | * technical properties, so no new additions to this group. | 146 | * technical properties, so no new additions to this group. |
162 | */ | 147 | */ |
163 | #define MACH_GROUP_NEC_VR41XX 19 | ||
164 | #define MACH_NEC_OSPREY 0 /* Osprey eval board */ | 148 | #define MACH_NEC_OSPREY 0 /* Osprey eval board */ |
165 | #define MACH_NEC_EAGLE 1 /* NEC Eagle/Hawk board */ | 149 | #define MACH_NEC_EAGLE 1 /* NEC Eagle/Hawk board */ |
166 | #define MACH_ZAO_CAPCELLA 2 /* ZAO Networks Capcella */ | 150 | #define MACH_ZAO_CAPCELLA 2 /* ZAO Networks Capcella */ |
@@ -171,32 +155,33 @@ | |||
171 | #define MACH_TANBAC_TB0229 7 /* TANBAC TB0229 (VR4131DIMM) */ | 155 | #define MACH_TANBAC_TB0229 7 /* TANBAC TB0229 (VR4131DIMM) */ |
172 | #define MACH_NEC_CMBVR4133 8 /* CMB VR4133 Board */ | 156 | #define MACH_NEC_CMBVR4133 8 /* CMB VR4133 Board */ |
173 | 157 | ||
174 | #define MACH_GROUP_HP_LJ 20 /* Hewlett Packard LaserJet */ | ||
175 | #define MACH_HP_LASERJET 1 | 158 | #define MACH_HP_LASERJET 1 |
176 | 159 | ||
177 | /* | 160 | /* |
161 | * Valid machtype for group LASAT | ||
162 | */ | ||
163 | #define MACH_LASAT_100 0 /* Masquerade II/SP100/SP50/SP25 */ | ||
164 | #define MACH_LASAT_200 1 /* Masquerade PRO/SP200 */ | ||
165 | |||
166 | /* | ||
178 | * Valid machtype for group TITAN | 167 | * Valid machtype for group TITAN |
179 | */ | 168 | */ |
180 | #define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */ | ||
181 | #define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */ | 169 | #define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */ |
182 | #define MACH_TITAN_EXCITE 2 /* Basler eXcite */ | 170 | #define MACH_TITAN_EXCITE 2 /* Basler eXcite */ |
183 | 171 | ||
184 | /* | 172 | /* |
185 | * Valid machtype for group NEC EMMA2RH | 173 | * Valid machtype for group NEC EMMA2RH |
186 | */ | 174 | */ |
187 | #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */ | ||
188 | #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ | 175 | #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ |
189 | 176 | ||
190 | /* | 177 | /* |
191 | * Valid machtype for group LEMOTE | 178 | * Valid machtype for group LEMOTE |
192 | */ | 179 | */ |
193 | #define MACH_GROUP_LEMOTE 27 | ||
194 | #define MACH_LEMOTE_FULONG 0 | 180 | #define MACH_LEMOTE_FULONG 0 |
195 | 181 | ||
196 | /* | 182 | /* |
197 | * Valid machtype for group PMC-MSP | 183 | * Valid machtype for group PMC-MSP |
198 | */ | 184 | */ |
199 | #define MACH_GROUP_MSP 26 /* PMC-Sierra MSP boards/CPUs */ | ||
200 | #define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */ | 185 | #define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */ |
201 | #define MACH_MSP4200_GW 1 /* PMC-Sierra MSP4200 Gateway demo */ | 186 | #define MACH_MSP4200_GW 1 /* PMC-Sierra MSP4200 Gateway demo */ |
202 | #define MACH_MSP4200_FPGA 2 /* PMC-Sierra MSP4200 Emulation */ | 187 | #define MACH_MSP4200_FPGA 2 /* PMC-Sierra MSP4200 Emulation */ |
@@ -205,15 +190,19 @@ | |||
205 | #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */ | 190 | #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */ |
206 | #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */ | 191 | #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */ |
207 | 192 | ||
208 | #define MACH_GROUP_WINDRIVER 28 /* Windriver boards */ | ||
209 | #define MACH_WRPPMC 1 | 193 | #define MACH_WRPPMC 1 |
210 | 194 | ||
195 | /* | ||
196 | * Valid machtype for group Broadcom | ||
197 | */ | ||
198 | #define MACH_GROUP_BRCM 23 /* Broadcom */ | ||
199 | #define MACH_BCM47XX 1 /* Broadcom BCM47XX */ | ||
200 | |||
211 | #define CL_SIZE COMMAND_LINE_SIZE | 201 | #define CL_SIZE COMMAND_LINE_SIZE |
212 | 202 | ||
213 | const char *get_system_type(void); | 203 | const char *get_system_type(void); |
214 | 204 | ||
215 | extern unsigned long mips_machtype; | 205 | extern unsigned long mips_machtype; |
216 | extern unsigned long mips_machgroup; | ||
217 | 206 | ||
218 | #define BOOT_MEM_MAP_MAX 32 | 207 | #define BOOT_MEM_MAP_MAX 32 |
219 | #define BOOT_MEM_RAM 1 | 208 | #define BOOT_MEM_RAM 1 |
diff --git a/include/asm-mips/byteorder.h b/include/asm-mips/byteorder.h index eee83cbdf2b0..fe7dc2d59b69 100644 --- a/include/asm-mips/byteorder.h +++ b/include/asm-mips/byteorder.h | |||
@@ -65,9 +65,9 @@ static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x) | |||
65 | 65 | ||
66 | #endif /* __GNUC__ */ | 66 | #endif /* __GNUC__ */ |
67 | 67 | ||
68 | #if defined (__MIPSEB__) | 68 | #if defined(__MIPSEB__) |
69 | # include <linux/byteorder/big_endian.h> | 69 | # include <linux/byteorder/big_endian.h> |
70 | #elif defined (__MIPSEL__) | 70 | #elif defined(__MIPSEL__) |
71 | # include <linux/byteorder/little_endian.h> | 71 | # include <linux/byteorder/little_endian.h> |
72 | #else | 72 | #else |
73 | # error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" | 73 | # error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" |
diff --git a/include/asm-mips/cmpxchg.h b/include/asm-mips/cmpxchg.h new file mode 100644 index 000000000000..a5ec0e5dc5b8 --- /dev/null +++ b/include/asm-mips/cmpxchg.h | |||
@@ -0,0 +1,107 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003, 06, 07 by Ralf Baechle (ralf@linux-mips.org) | ||
7 | */ | ||
8 | #ifndef __ASM_CMPXCHG_H | ||
9 | #define __ASM_CMPXCHG_H | ||
10 | |||
11 | #include <linux/irqflags.h> | ||
12 | |||
13 | #define __HAVE_ARCH_CMPXCHG 1 | ||
14 | |||
15 | #define __cmpxchg_asm(ld, st, m, old, new) \ | ||
16 | ({ \ | ||
17 | __typeof(*(m)) __ret; \ | ||
18 | \ | ||
19 | if (cpu_has_llsc && R10000_LLSC_WAR) { \ | ||
20 | __asm__ __volatile__( \ | ||
21 | " .set push \n" \ | ||
22 | " .set noat \n" \ | ||
23 | " .set mips3 \n" \ | ||
24 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ | ||
25 | " bne %0, %z3, 2f \n" \ | ||
26 | " .set mips0 \n" \ | ||
27 | " move $1, %z4 \n" \ | ||
28 | " .set mips3 \n" \ | ||
29 | " " st " $1, %1 \n" \ | ||
30 | " beqzl $1, 1b \n" \ | ||
31 | "2: \n" \ | ||
32 | " .set pop \n" \ | ||
33 | : "=&r" (__ret), "=R" (*m) \ | ||
34 | : "R" (*m), "Jr" (old), "Jr" (new) \ | ||
35 | : "memory"); \ | ||
36 | } else if (cpu_has_llsc) { \ | ||
37 | __asm__ __volatile__( \ | ||
38 | " .set push \n" \ | ||
39 | " .set noat \n" \ | ||
40 | " .set mips3 \n" \ | ||
41 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ | ||
42 | " bne %0, %z3, 2f \n" \ | ||
43 | " .set mips0 \n" \ | ||
44 | " move $1, %z4 \n" \ | ||
45 | " .set mips3 \n" \ | ||
46 | " " st " $1, %1 \n" \ | ||
47 | " beqz $1, 3f \n" \ | ||
48 | "2: \n" \ | ||
49 | " .subsection 2 \n" \ | ||
50 | "3: b 1b \n" \ | ||
51 | " .previous \n" \ | ||
52 | " .set pop \n" \ | ||
53 | : "=&r" (__ret), "=R" (*m) \ | ||
54 | : "R" (*m), "Jr" (old), "Jr" (new) \ | ||
55 | : "memory"); \ | ||
56 | } else { \ | ||
57 | unsigned long __flags; \ | ||
58 | \ | ||
59 | raw_local_irq_save(__flags); \ | ||
60 | __ret = *m; \ | ||
61 | if (__ret == old) \ | ||
62 | *m = new; \ | ||
63 | raw_local_irq_restore(__flags); \ | ||
64 | } \ | ||
65 | \ | ||
66 | __ret; \ | ||
67 | }) | ||
68 | |||
69 | /* | ||
70 | * This function doesn't exist, so you'll get a linker error | ||
71 | * if something tries to do an invalid cmpxchg(). | ||
72 | */ | ||
73 | extern void __cmpxchg_called_with_bad_pointer(void); | ||
74 | |||
75 | #define __cmpxchg(ptr, old, new, barrier) \ | ||
76 | ({ \ | ||
77 | __typeof__(ptr) __ptr = (ptr); \ | ||
78 | __typeof__(*(ptr)) __old = (old); \ | ||
79 | __typeof__(*(ptr)) __new = (new); \ | ||
80 | __typeof__(*(ptr)) __res = 0; \ | ||
81 | \ | ||
82 | barrier; \ | ||
83 | \ | ||
84 | switch (sizeof(*(__ptr))) { \ | ||
85 | case 4: \ | ||
86 | __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \ | ||
87 | break; \ | ||
88 | case 8: \ | ||
89 | if (sizeof(long) == 8) { \ | ||
90 | __res = __cmpxchg_asm("lld", "scd", __ptr, \ | ||
91 | __old, __new); \ | ||
92 | break; \ | ||
93 | } \ | ||
94 | default: \ | ||
95 | __cmpxchg_called_with_bad_pointer(); \ | ||
96 | break; \ | ||
97 | } \ | ||
98 | \ | ||
99 | barrier; \ | ||
100 | \ | ||
101 | __res; \ | ||
102 | }) | ||
103 | |||
104 | #define cmpxchg(ptr, old, new) __cmpxchg(ptr, old, new, smp_llsc_mb()) | ||
105 | #define cmpxchg_local(ptr, old, new) __cmpxchg(ptr, old, new, ) | ||
106 | |||
107 | #endif /* __ASM_CMPXCHG_H */ | ||
diff --git a/include/asm-mips/cpu-features.h b/include/asm-mips/cpu-features.h index d95a83e3e1d7..f6bd308f047f 100644 --- a/include/asm-mips/cpu-features.h +++ b/include/asm-mips/cpu-features.h | |||
@@ -9,11 +9,14 @@ | |||
9 | #ifndef __ASM_CPU_FEATURES_H | 9 | #ifndef __ASM_CPU_FEATURES_H |
10 | #define __ASM_CPU_FEATURES_H | 10 | #define __ASM_CPU_FEATURES_H |
11 | 11 | ||
12 | |||
13 | #include <asm/cpu.h> | 12 | #include <asm/cpu.h> |
14 | #include <asm/cpu-info.h> | 13 | #include <asm/cpu-info.h> |
15 | #include <cpu-feature-overrides.h> | 14 | #include <cpu-feature-overrides.h> |
16 | 15 | ||
16 | #ifndef current_cpu_type | ||
17 | #define current_cpu_type() current_cpu_data.cputype | ||
18 | #endif | ||
19 | |||
17 | /* | 20 | /* |
18 | * SMP assumption: Options of CPU 0 are a superset of all processors. | 21 | * SMP assumption: Options of CPU 0 are a superset of all processors. |
19 | * This is true for all known MIPS systems. | 22 | * This is true for all known MIPS systems. |
@@ -35,9 +38,6 @@ | |||
35 | #ifndef cpu_has_tx39_cache | 38 | #ifndef cpu_has_tx39_cache |
36 | #define cpu_has_tx39_cache (cpu_data[0].options & MIPS_CPU_TX39_CACHE) | 39 | #define cpu_has_tx39_cache (cpu_data[0].options & MIPS_CPU_TX39_CACHE) |
37 | #endif | 40 | #endif |
38 | #ifndef cpu_has_sb1_cache | ||
39 | #define cpu_has_sb1_cache (cpu_data[0].options & MIPS_CPU_SB1_CACHE) | ||
40 | #endif | ||
41 | #ifndef cpu_has_fpu | 41 | #ifndef cpu_has_fpu |
42 | #define cpu_has_fpu (current_cpu_data.options & MIPS_CPU_FPU) | 42 | #define cpu_has_fpu (current_cpu_data.options & MIPS_CPU_FPU) |
43 | #define raw_cpu_has_fpu (raw_current_cpu_data.options & MIPS_CPU_FPU) | 43 | #define raw_cpu_has_fpu (raw_current_cpu_data.options & MIPS_CPU_FPU) |
diff --git a/include/asm-mips/cpu-info.h b/include/asm-mips/cpu-info.h index 22fe8453fcc7..94f1c8172360 100644 --- a/include/asm-mips/cpu-info.h +++ b/include/asm-mips/cpu-info.h | |||
@@ -14,10 +14,6 @@ | |||
14 | 14 | ||
15 | #include <asm/cache.h> | 15 | #include <asm/cache.h> |
16 | 16 | ||
17 | #ifdef CONFIG_SGI_IP27 | ||
18 | #include <asm/sn/types.h> | ||
19 | #endif | ||
20 | |||
21 | /* | 17 | /* |
22 | * Descriptor for a cache | 18 | * Descriptor for a cache |
23 | */ | 19 | */ |
@@ -43,20 +39,6 @@ struct cache_desc { | |||
43 | struct cpuinfo_mips { | 39 | struct cpuinfo_mips { |
44 | unsigned long udelay_val; | 40 | unsigned long udelay_val; |
45 | unsigned long asid_cache; | 41 | unsigned long asid_cache; |
46 | #if defined(CONFIG_SGI_IP27) | ||
47 | // cpuid_t p_cpuid; /* PROM assigned cpuid */ | ||
48 | cnodeid_t p_nodeid; /* my node ID in compact-id-space */ | ||
49 | nasid_t p_nasid; /* my node ID in numa-as-id-space */ | ||
50 | unsigned char p_slice; /* Physical position on node board */ | ||
51 | #endif | ||
52 | #if 0 | ||
53 | unsigned long loops_per_sec; | ||
54 | unsigned long ipi_count; | ||
55 | unsigned long irq_attempt[NR_IRQS]; | ||
56 | unsigned long smp_local_irq_count; | ||
57 | unsigned long prof_multiplier; | ||
58 | unsigned long prof_counter; | ||
59 | #endif | ||
60 | 42 | ||
61 | /* | 43 | /* |
62 | * Capability and feature descriptor structure for MIPS CPU | 44 | * Capability and feature descriptor structure for MIPS CPU |
@@ -92,4 +74,7 @@ extern struct cpuinfo_mips cpu_data[]; | |||
92 | extern void cpu_probe(void); | 74 | extern void cpu_probe(void); |
93 | extern void cpu_report(void); | 75 | extern void cpu_report(void); |
94 | 76 | ||
77 | extern const char *__cpu_name[]; | ||
78 | #define cpu_name_string() __cpu_name[smp_processor_id()] | ||
79 | |||
95 | #endif /* __ASM_CPU_INFO_H */ | 80 | #endif /* __ASM_CPU_INFO_H */ |
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h index 3857358fb6de..54fc18a4e5a8 100644 --- a/include/asm-mips/cpu.h +++ b/include/asm-mips/cpu.h | |||
@@ -106,6 +106,13 @@ | |||
106 | #define PRID_IMP_SR71000 0x0400 | 106 | #define PRID_IMP_SR71000 0x0400 |
107 | 107 | ||
108 | /* | 108 | /* |
109 | * These are the PRID's for when 23:16 == PRID_COMP_BROADCOM | ||
110 | */ | ||
111 | |||
112 | #define PRID_IMP_BCM4710 0x4000 | ||
113 | #define PRID_IMP_BCM3302 0x9000 | ||
114 | |||
115 | /* | ||
109 | * Definitions for 7:0 on legacy processors | 116 | * Definitions for 7:0 on legacy processors |
110 | */ | 117 | */ |
111 | 118 | ||
@@ -150,75 +157,55 @@ | |||
150 | 157 | ||
151 | #define FPIR_IMP_NONE 0x0000 | 158 | #define FPIR_IMP_NONE 0x0000 |
152 | 159 | ||
153 | #define CPU_UNKNOWN 0 | 160 | enum cpu_type_enum { |
154 | #define CPU_R2000 1 | 161 | CPU_UNKNOWN, |
155 | #define CPU_R3000 2 | 162 | |
156 | #define CPU_R3000A 3 | 163 | /* |
157 | #define CPU_R3041 4 | 164 | * R2000 class processors |
158 | #define CPU_R3051 5 | 165 | */ |
159 | #define CPU_R3052 6 | 166 | CPU_R2000, CPU_R3000, CPU_R3000A, CPU_R3041, CPU_R3051, CPU_R3052, |
160 | #define CPU_R3081 7 | 167 | CPU_R3081, CPU_R3081E, |
161 | #define CPU_R3081E 8 | 168 | |
162 | #define CPU_R4000PC 9 | 169 | /* |
163 | #define CPU_R4000SC 10 | 170 | * R6000 class processors |
164 | #define CPU_R4000MC 11 | 171 | */ |
165 | #define CPU_R4200 12 | 172 | CPU_R6000, CPU_R6000A, |
166 | #define CPU_R4400PC 13 | 173 | |
167 | #define CPU_R4400SC 14 | 174 | /* |
168 | #define CPU_R4400MC 15 | 175 | * R4000 class processors |
169 | #define CPU_R4600 16 | 176 | */ |
170 | #define CPU_R6000 17 | 177 | CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, CPU_R4300, CPU_R4310, |
171 | #define CPU_R6000A 18 | 178 | CPU_R4400PC, CPU_R4400SC, CPU_R4400MC, CPU_R4600, CPU_R4640, CPU_R4650, |
172 | #define CPU_R8000 19 | 179 | CPU_R4700, CPU_R5000, CPU_R5000A, CPU_R5500, CPU_NEVADA, CPU_R5432, |
173 | #define CPU_R10000 20 | 180 | CPU_R10000, CPU_R12000, CPU_R14000, CPU_VR41XX, CPU_VR4111, CPU_VR4121, |
174 | #define CPU_R12000 21 | 181 | CPU_VR4122, CPU_VR4131, CPU_VR4133, CPU_VR4181, CPU_VR4181A, CPU_RM7000, |
175 | #define CPU_R4300 22 | 182 | CPU_SR71000, CPU_RM9000, CPU_TX49XX, |
176 | #define CPU_R4650 23 | 183 | |
177 | #define CPU_R4700 24 | 184 | /* |
178 | #define CPU_R5000 25 | 185 | * R8000 class processors |
179 | #define CPU_R5000A 26 | 186 | */ |
180 | #define CPU_R4640 27 | 187 | CPU_R8000, |
181 | #define CPU_NEVADA 28 | 188 | |
182 | #define CPU_RM7000 29 | 189 | /* |
183 | #define CPU_R5432 30 | 190 | * TX3900 class processors |
184 | #define CPU_4KC 31 | 191 | */ |
185 | #define CPU_5KC 32 | 192 | CPU_TX3912, CPU_TX3922, CPU_TX3927, |
186 | #define CPU_R4310 33 | 193 | |
187 | #define CPU_SB1 34 | 194 | /* |
188 | #define CPU_TX3912 35 | 195 | * MIPS32 class processors |
189 | #define CPU_TX3922 36 | 196 | */ |
190 | #define CPU_TX3927 37 | 197 | CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_74K, CPU_AU1000, |
191 | #define CPU_AU1000 38 | 198 | CPU_AU1100, CPU_AU1200, CPU_AU1500, CPU_AU1550, CPU_PR4450, |
192 | #define CPU_4KEC 39 | 199 | CPU_BCM3302, CPU_BCM4710, |
193 | #define CPU_4KSC 40 | 200 | |
194 | #define CPU_VR41XX 41 | 201 | /* |
195 | #define CPU_R5500 42 | 202 | * MIPS64 class processors |
196 | #define CPU_TX49XX 43 | 203 | */ |
197 | #define CPU_AU1500 44 | 204 | CPU_5KC, CPU_20KC, CPU_25KF, CPU_SB1, CPU_SB1A, CPU_LOONGSON2, |
198 | #define CPU_20KC 45 | 205 | |
199 | #define CPU_VR4111 46 | 206 | CPU_LAST |
200 | #define CPU_VR4121 47 | 207 | }; |
201 | #define CPU_VR4122 48 | 208 | |
202 | #define CPU_VR4131 49 | ||
203 | #define CPU_VR4181 50 | ||
204 | #define CPU_VR4181A 51 | ||
205 | #define CPU_AU1100 52 | ||
206 | #define CPU_SR71000 53 | ||
207 | #define CPU_RM9000 54 | ||
208 | #define CPU_25KF 55 | ||
209 | #define CPU_VR4133 56 | ||
210 | #define CPU_AU1550 57 | ||
211 | #define CPU_24K 58 | ||
212 | #define CPU_AU1200 59 | ||
213 | #define CPU_34K 60 | ||
214 | #define CPU_PR4450 61 | ||
215 | #define CPU_SB1A 62 | ||
216 | #define CPU_74K 63 | ||
217 | #define CPU_R14000 64 | ||
218 | #define CPU_LOONGSON1 65 | ||
219 | #define CPU_LOONGSON2 66 | ||
220 | |||
221 | #define CPU_LAST 66 | ||
222 | 209 | ||
223 | /* | 210 | /* |
224 | * ISA Level encodings | 211 | * ISA Level encodings |
@@ -247,24 +234,23 @@ | |||
247 | #define MIPS_CPU_3K_CACHE 0x00000004 /* R3000-style caches */ | 234 | #define MIPS_CPU_3K_CACHE 0x00000004 /* R3000-style caches */ |
248 | #define MIPS_CPU_4K_CACHE 0x00000008 /* R4000-style caches */ | 235 | #define MIPS_CPU_4K_CACHE 0x00000008 /* R4000-style caches */ |
249 | #define MIPS_CPU_TX39_CACHE 0x00000010 /* TX3900-style caches */ | 236 | #define MIPS_CPU_TX39_CACHE 0x00000010 /* TX3900-style caches */ |
250 | #define MIPS_CPU_SB1_CACHE 0x00000020 /* SB1-style caches */ | 237 | #define MIPS_CPU_FPU 0x00000020 /* CPU has FPU */ |
251 | #define MIPS_CPU_FPU 0x00000040 /* CPU has FPU */ | 238 | #define MIPS_CPU_32FPR 0x00000040 /* 32 dbl. prec. FP registers */ |
252 | #define MIPS_CPU_32FPR 0x00000080 /* 32 dbl. prec. FP registers */ | 239 | #define MIPS_CPU_COUNTER 0x00000080 /* Cycle count/compare */ |
253 | #define MIPS_CPU_COUNTER 0x00000100 /* Cycle count/compare */ | 240 | #define MIPS_CPU_WATCH 0x00000100 /* watchpoint registers */ |
254 | #define MIPS_CPU_WATCH 0x00000200 /* watchpoint registers */ | 241 | #define MIPS_CPU_DIVEC 0x00000200 /* dedicated interrupt vector */ |
255 | #define MIPS_CPU_DIVEC 0x00000400 /* dedicated interrupt vector */ | 242 | #define MIPS_CPU_VCE 0x00000400 /* virt. coherence conflict possible */ |
256 | #define MIPS_CPU_VCE 0x00000800 /* virt. coherence conflict possible */ | 243 | #define MIPS_CPU_CACHE_CDEX_P 0x00000800 /* Create_Dirty_Exclusive CACHE op */ |
257 | #define MIPS_CPU_CACHE_CDEX_P 0x00001000 /* Create_Dirty_Exclusive CACHE op */ | 244 | #define MIPS_CPU_CACHE_CDEX_S 0x00001000 /* ... same for seconary cache ... */ |
258 | #define MIPS_CPU_CACHE_CDEX_S 0x00002000 /* ... same for seconary cache ... */ | 245 | #define MIPS_CPU_MCHECK 0x00002000 /* Machine check exception */ |
259 | #define MIPS_CPU_MCHECK 0x00004000 /* Machine check exception */ | 246 | #define MIPS_CPU_EJTAG 0x00004000 /* EJTAG exception */ |
260 | #define MIPS_CPU_EJTAG 0x00008000 /* EJTAG exception */ | 247 | #define MIPS_CPU_NOFPUEX 0x00008000 /* no FPU exception */ |
261 | #define MIPS_CPU_NOFPUEX 0x00010000 /* no FPU exception */ | 248 | #define MIPS_CPU_LLSC 0x00010000 /* CPU has ll/sc instructions */ |
262 | #define MIPS_CPU_LLSC 0x00020000 /* CPU has ll/sc instructions */ | 249 | #define MIPS_CPU_INCLUSIVE_CACHES 0x00020000 /* P-cache subset enforced */ |
263 | #define MIPS_CPU_INCLUSIVE_CACHES 0x00040000 /* P-cache subset enforced */ | 250 | #define MIPS_CPU_PREFETCH 0x00040000 /* CPU has usable prefetch */ |
264 | #define MIPS_CPU_PREFETCH 0x00080000 /* CPU has usable prefetch */ | 251 | #define MIPS_CPU_VINT 0x00080000 /* CPU supports MIPSR2 vectored interrupts */ |
265 | #define MIPS_CPU_VINT 0x00100000 /* CPU supports MIPSR2 vectored interrupts */ | 252 | #define MIPS_CPU_VEIC 0x00100000 /* CPU supports MIPSR2 external interrupt controller mode */ |
266 | #define MIPS_CPU_VEIC 0x00200000 /* CPU supports MIPSR2 external interrupt controller mode */ | 253 | #define MIPS_CPU_ULRI 0x00200000 /* CPU has ULRI feature */ |
267 | #define MIPS_CPU_ULRI 0x00400000 /* CPU has ULRI feature */ | ||
268 | 254 | ||
269 | /* | 255 | /* |
270 | * CPU ASE encodings | 256 | * CPU ASE encodings |
diff --git a/include/asm-mips/delay.h b/include/asm-mips/delay.h index 223d156efb9f..fab32131e9b4 100644 --- a/include/asm-mips/delay.h +++ b/include/asm-mips/delay.h | |||
@@ -81,7 +81,7 @@ static inline void __udelay(unsigned long usecs, unsigned long lpj) | |||
81 | 81 | ||
82 | #define __udelay_val cpu_data[raw_smp_processor_id()].udelay_val | 82 | #define __udelay_val cpu_data[raw_smp_processor_id()].udelay_val |
83 | 83 | ||
84 | #define udelay(usecs) __udelay((usecs),__udelay_val) | 84 | #define udelay(usecs) __udelay((usecs), __udelay_val) |
85 | 85 | ||
86 | /* make sure "usecs *= ..." in udelay do not overflow. */ | 86 | /* make sure "usecs *= ..." in udelay do not overflow. */ |
87 | #if HZ >= 1000 | 87 | #if HZ >= 1000 |
diff --git a/include/asm-mips/elf.h b/include/asm-mips/elf.h index e7d95d48177d..766f91ad5cd3 100644 --- a/include/asm-mips/elf.h +++ b/include/asm-mips/elf.h | |||
@@ -319,7 +319,7 @@ do { \ | |||
319 | struct task_struct; | 319 | struct task_struct; |
320 | 320 | ||
321 | extern void elf_dump_regs(elf_greg_t *, struct pt_regs *regs); | 321 | extern void elf_dump_regs(elf_greg_t *, struct pt_regs *regs); |
322 | extern int dump_task_regs (struct task_struct *, elf_gregset_t *); | 322 | extern int dump_task_regs(struct task_struct *, elf_gregset_t *); |
323 | extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *); | 323 | extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *); |
324 | 324 | ||
325 | #define ELF_CORE_COPY_REGS(elf_regs, regs) \ | 325 | #define ELF_CORE_COPY_REGS(elf_regs, regs) \ |
diff --git a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h index 02c8a13fc894..f27b96cfac2e 100644 --- a/include/asm-mips/fixmap.h +++ b/include/asm-mips/fixmap.h | |||
@@ -60,8 +60,8 @@ enum fixed_addresses { | |||
60 | __end_of_fixed_addresses | 60 | __end_of_fixed_addresses |
61 | }; | 61 | }; |
62 | 62 | ||
63 | extern void __set_fixmap (enum fixed_addresses idx, | 63 | extern void __set_fixmap(enum fixed_addresses idx, |
64 | unsigned long phys, pgprot_t flags); | 64 | unsigned long phys, pgprot_t flags); |
65 | 65 | ||
66 | #define set_fixmap(idx, phys) \ | 66 | #define set_fixmap(idx, phys) \ |
67 | __set_fixmap(idx, phys, PAGE_KERNEL) | 67 | __set_fixmap(idx, phys, PAGE_KERNEL) |
diff --git a/include/asm-mips/floppy.h b/include/asm-mips/floppy.h index aa1ef8b352cc..a62d0990c8ae 100644 --- a/include/asm-mips/floppy.h +++ b/include/asm-mips/floppy.h | |||
@@ -10,9 +10,11 @@ | |||
10 | #ifndef _ASM_FLOPPY_H | 10 | #ifndef _ASM_FLOPPY_H |
11 | #define _ASM_FLOPPY_H | 11 | #define _ASM_FLOPPY_H |
12 | 12 | ||
13 | #include <linux/dma-mapping.h> | ||
14 | |||
13 | static inline void fd_cacheflush(char * addr, long size) | 15 | static inline void fd_cacheflush(char * addr, long size) |
14 | { | 16 | { |
15 | dma_cache_wback_inv((unsigned long)addr,size); | 17 | dma_cache_sync(NULL, addr, size, DMA_BIDIRECTIONAL); |
16 | } | 18 | } |
17 | 19 | ||
18 | #define MAX_BUFFER_SECTORS 24 | 20 | #define MAX_BUFFER_SECTORS 24 |
@@ -47,7 +49,7 @@ static inline void fd_cacheflush(char * addr, long size) | |||
47 | * Actually this needs to be a bit more complicated since the so much different | 49 | * Actually this needs to be a bit more complicated since the so much different |
48 | * hardware available with MIPS CPUs ... | 50 | * hardware available with MIPS CPUs ... |
49 | */ | 51 | */ |
50 | #define CROSS_64KB(a,s) ((unsigned long)(a)/K_64 != ((unsigned long)(a) + (s) - 1) / K_64) | 52 | #define CROSS_64KB(a, s) ((unsigned long)(a)/K_64 != ((unsigned long)(a) + (s) - 1) / K_64) |
51 | 53 | ||
52 | #define EXTRA_FLOPPY_PARAMS | 54 | #define EXTRA_FLOPPY_PARAMS |
53 | 55 | ||
diff --git a/include/asm-mips/futex.h b/include/asm-mips/futex.h index b623882bce19..3e7e30d4f418 100644 --- a/include/asm-mips/futex.h +++ b/include/asm-mips/futex.h | |||
@@ -75,7 +75,7 @@ | |||
75 | } | 75 | } |
76 | 76 | ||
77 | static inline int | 77 | static inline int |
78 | futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | 78 | futex_atomic_op_inuser(int encoded_op, int __user *uaddr) |
79 | { | 79 | { |
80 | int op = (encoded_op >> 28) & 7; | 80 | int op = (encoded_op >> 28) & 7; |
81 | int cmp = (encoded_op >> 24) & 15; | 81 | int cmp = (encoded_op >> 24) & 15; |
diff --git a/include/asm-mips/arc/hinv.h b/include/asm-mips/fw/arc/hinv.h index ee792bf04002..e6ff4add04e2 100644 --- a/include/asm-mips/arc/hinv.h +++ b/include/asm-mips/fw/arc/hinv.h | |||
@@ -4,7 +4,8 @@ | |||
4 | #ifndef _ASM_ARC_HINV_H | 4 | #ifndef _ASM_ARC_HINV_H |
5 | #define _ASM_ARC_HINV_H | 5 | #define _ASM_ARC_HINV_H |
6 | 6 | ||
7 | #include <asm/arc/types.h> | 7 | #include <asm/sgidefs.h> |
8 | #include <asm/fw/arc/types.h> | ||
8 | 9 | ||
9 | /* configuration query defines */ | 10 | /* configuration query defines */ |
10 | typedef enum configclass { | 11 | typedef enum configclass { |
@@ -110,7 +111,7 @@ union key_u { | |||
110 | ULONG FullKey; | 111 | ULONG FullKey; |
111 | }; | 112 | }; |
112 | 113 | ||
113 | #if _MIPS_SIM == _ABI64 | 114 | #if _MIPS_SIM == _MIPS_SIM_ABI64 |
114 | #define SGI_ARCS_VERS 64 /* sgi 64-bit version */ | 115 | #define SGI_ARCS_VERS 64 /* sgi 64-bit version */ |
115 | #define SGI_ARCS_REV 0 /* rev .00 */ | 116 | #define SGI_ARCS_REV 0 /* rev .00 */ |
116 | #else | 117 | #else |
diff --git a/include/asm-mips/arc/types.h b/include/asm-mips/fw/arc/types.h index b9adcd6f0860..b9adcd6f0860 100644 --- a/include/asm-mips/arc/types.h +++ b/include/asm-mips/fw/arc/types.h | |||
diff --git a/include/asm-mips/fw/cfe/cfe_api.h b/include/asm-mips/fw/cfe/cfe_api.h new file mode 100644 index 000000000000..41cf050b6810 --- /dev/null +++ b/include/asm-mips/fw/cfe/cfe_api.h | |||
@@ -0,0 +1,185 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2000, 2001, 2002 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | /* ********************************************************************* | ||
20 | * | ||
21 | * Broadcom Common Firmware Environment (CFE) | ||
22 | * | ||
23 | * Device function prototypes File: cfe_api.h | ||
24 | * | ||
25 | * This file contains declarations for doing callbacks to | ||
26 | * cfe from an application. It should be the only header | ||
27 | * needed by the application to use this library | ||
28 | * | ||
29 | * Authors: Mitch Lichtenberg, Chris Demetriou | ||
30 | * | ||
31 | ********************************************************************* */ | ||
32 | |||
33 | #ifndef CFE_API_H | ||
34 | #define CFE_API_H | ||
35 | |||
36 | /* | ||
37 | * Apply customizations here for different OSes. These need to: | ||
38 | * * typedef uint64_t, int64_t, intptr_t, uintptr_t. | ||
39 | * * define cfe_strlen() if use of an existing function is desired. | ||
40 | * * define CFE_API_IMPL_NAMESPACE if API functions are to use | ||
41 | * names in the implementation namespace. | ||
42 | * Also, optionally, if the build environment does not do so automatically, | ||
43 | * CFE_API_* can be defined here as desired. | ||
44 | */ | ||
45 | /* Begin customization. */ | ||
46 | #include <linux/types.h> | ||
47 | #include <linux/string.h> | ||
48 | |||
49 | typedef long intptr_t; | ||
50 | |||
51 | #define cfe_strlen strlen | ||
52 | |||
53 | #define CFE_API_ALL | ||
54 | #define CFE_API_STRLEN_CUSTOM | ||
55 | /* End customization. */ | ||
56 | |||
57 | |||
58 | /* ********************************************************************* | ||
59 | * Constants | ||
60 | ********************************************************************* */ | ||
61 | |||
62 | /* Seal indicating CFE's presence, passed to user program. */ | ||
63 | #define CFE_EPTSEAL 0x43464531 | ||
64 | |||
65 | #define CFE_MI_RESERVED 0 /* memory is reserved, do not use */ | ||
66 | #define CFE_MI_AVAILABLE 1 /* memory is available */ | ||
67 | |||
68 | #define CFE_FLG_WARMSTART 0x00000001 | ||
69 | #define CFE_FLG_FULL_ARENA 0x00000001 | ||
70 | #define CFE_FLG_ENV_PERMANENT 0x00000001 | ||
71 | |||
72 | #define CFE_CPU_CMD_START 1 | ||
73 | #define CFE_CPU_CMD_STOP 0 | ||
74 | |||
75 | #define CFE_STDHANDLE_CONSOLE 0 | ||
76 | |||
77 | #define CFE_DEV_NETWORK 1 | ||
78 | #define CFE_DEV_DISK 2 | ||
79 | #define CFE_DEV_FLASH 3 | ||
80 | #define CFE_DEV_SERIAL 4 | ||
81 | #define CFE_DEV_CPU 5 | ||
82 | #define CFE_DEV_NVRAM 6 | ||
83 | #define CFE_DEV_CLOCK 7 | ||
84 | #define CFE_DEV_OTHER 8 | ||
85 | #define CFE_DEV_MASK 0x0F | ||
86 | |||
87 | #define CFE_CACHE_FLUSH_D 1 | ||
88 | #define CFE_CACHE_INVAL_I 2 | ||
89 | #define CFE_CACHE_INVAL_D 4 | ||
90 | #define CFE_CACHE_INVAL_L2 8 | ||
91 | |||
92 | #define CFE_FWI_64BIT 0x00000001 | ||
93 | #define CFE_FWI_32BIT 0x00000002 | ||
94 | #define CFE_FWI_RELOC 0x00000004 | ||
95 | #define CFE_FWI_UNCACHED 0x00000008 | ||
96 | #define CFE_FWI_MULTICPU 0x00000010 | ||
97 | #define CFE_FWI_FUNCSIM 0x00000020 | ||
98 | #define CFE_FWI_RTLSIM 0x00000040 | ||
99 | |||
100 | typedef struct { | ||
101 | int64_t fwi_version; /* major, minor, eco version */ | ||
102 | int64_t fwi_totalmem; /* total installed mem */ | ||
103 | int64_t fwi_flags; /* various flags */ | ||
104 | int64_t fwi_boardid; /* board ID */ | ||
105 | int64_t fwi_bootarea_va; /* VA of boot area */ | ||
106 | int64_t fwi_bootarea_pa; /* PA of boot area */ | ||
107 | int64_t fwi_bootarea_size; /* size of boot area */ | ||
108 | } cfe_fwinfo_t; | ||
109 | |||
110 | |||
111 | /* | ||
112 | * cfe_strlen is handled specially: If already defined, it has been | ||
113 | * overridden in this environment with a standard strlen-like function. | ||
114 | */ | ||
115 | #ifdef cfe_strlen | ||
116 | # define CFE_API_STRLEN_CUSTOM | ||
117 | #else | ||
118 | # ifdef CFE_API_IMPL_NAMESPACE | ||
119 | # define cfe_strlen(a) __cfe_strlen(a) | ||
120 | # endif | ||
121 | int cfe_strlen(char *name); | ||
122 | #endif | ||
123 | |||
124 | /* | ||
125 | * Defines and prototypes for functions which take no arguments. | ||
126 | */ | ||
127 | #ifdef CFE_API_IMPL_NAMESPACE | ||
128 | int64_t __cfe_getticks(void); | ||
129 | #define cfe_getticks() __cfe_getticks() | ||
130 | #else | ||
131 | int64_t cfe_getticks(void); | ||
132 | #endif | ||
133 | |||
134 | /* | ||
135 | * Defines and prototypes for the rest of the functions. | ||
136 | */ | ||
137 | #ifdef CFE_API_IMPL_NAMESPACE | ||
138 | #define cfe_close(a) __cfe_close(a) | ||
139 | #define cfe_cpu_start(a, b, c, d, e) __cfe_cpu_start(a, b, c, d, e) | ||
140 | #define cfe_cpu_stop(a) __cfe_cpu_stop(a) | ||
141 | #define cfe_enumenv(a, b, d, e, f) __cfe_enumenv(a, b, d, e, f) | ||
142 | #define cfe_enummem(a, b, c, d, e) __cfe_enummem(a, b, c, d, e) | ||
143 | #define cfe_exit(a, b) __cfe_exit(a, b) | ||
144 | #define cfe_flushcache(a) __cfe_cacheflush(a) | ||
145 | #define cfe_getdevinfo(a) __cfe_getdevinfo(a) | ||
146 | #define cfe_getenv(a, b, c) __cfe_getenv(a, b, c) | ||
147 | #define cfe_getfwinfo(a) __cfe_getfwinfo(a) | ||
148 | #define cfe_getstdhandle(a) __cfe_getstdhandle(a) | ||
149 | #define cfe_init(a, b) __cfe_init(a, b) | ||
150 | #define cfe_inpstat(a) __cfe_inpstat(a) | ||
151 | #define cfe_ioctl(a, b, c, d, e, f) __cfe_ioctl(a, b, c, d, e, f) | ||
152 | #define cfe_open(a) __cfe_open(a) | ||
153 | #define cfe_read(a, b, c) __cfe_read(a, b, c) | ||
154 | #define cfe_readblk(a, b, c, d) __cfe_readblk(a, b, c, d) | ||
155 | #define cfe_setenv(a, b) __cfe_setenv(a, b) | ||
156 | #define cfe_write(a, b, c) __cfe_write(a, b, c) | ||
157 | #define cfe_writeblk(a, b, c, d __cfe_writeblk(a, b, c, d) | ||
158 | #endif /* CFE_API_IMPL_NAMESPACE */ | ||
159 | |||
160 | int cfe_close(int handle); | ||
161 | int cfe_cpu_start(int cpu, void (*fn) (void), long sp, long gp, long a1); | ||
162 | int cfe_cpu_stop(int cpu); | ||
163 | int cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen); | ||
164 | int cfe_enummem(int idx, int flags, uint64_t * start, uint64_t * length, | ||
165 | uint64_t * type); | ||
166 | int cfe_exit(int warm, int status); | ||
167 | int cfe_flushcache(int flg); | ||
168 | int cfe_getdevinfo(char *name); | ||
169 | int cfe_getenv(char *name, char *dest, int destlen); | ||
170 | int cfe_getfwinfo(cfe_fwinfo_t * info); | ||
171 | int cfe_getstdhandle(int flg); | ||
172 | int cfe_init(uint64_t handle, uint64_t ept); | ||
173 | int cfe_inpstat(int handle); | ||
174 | int cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer, | ||
175 | int length, int *retlen, uint64_t offset); | ||
176 | int cfe_open(char *name); | ||
177 | int cfe_read(int handle, unsigned char *buffer, int length); | ||
178 | int cfe_readblk(int handle, int64_t offset, unsigned char *buffer, | ||
179 | int length); | ||
180 | int cfe_setenv(char *name, char *val); | ||
181 | int cfe_write(int handle, unsigned char *buffer, int length); | ||
182 | int cfe_writeblk(int handle, int64_t offset, unsigned char *buffer, | ||
183 | int length); | ||
184 | |||
185 | #endif /* CFE_API_H */ | ||
diff --git a/include/asm-mips/fw/cfe/cfe_error.h b/include/asm-mips/fw/cfe/cfe_error.h new file mode 100644 index 000000000000..975f00002cbe --- /dev/null +++ b/include/asm-mips/fw/cfe/cfe_error.h | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2000, 2001, 2002 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | /* ********************************************************************* | ||
20 | * | ||
21 | * Broadcom Common Firmware Environment (CFE) | ||
22 | * | ||
23 | * Error codes File: cfe_error.h | ||
24 | * | ||
25 | * CFE's global error code list is here. | ||
26 | * | ||
27 | * Author: Mitch Lichtenberg | ||
28 | * | ||
29 | ********************************************************************* */ | ||
30 | |||
31 | |||
32 | #define CFE_OK 0 | ||
33 | #define CFE_ERR -1 /* generic error */ | ||
34 | #define CFE_ERR_INV_COMMAND -2 | ||
35 | #define CFE_ERR_EOF -3 | ||
36 | #define CFE_ERR_IOERR -4 | ||
37 | #define CFE_ERR_NOMEM -5 | ||
38 | #define CFE_ERR_DEVNOTFOUND -6 | ||
39 | #define CFE_ERR_DEVOPEN -7 | ||
40 | #define CFE_ERR_INV_PARAM -8 | ||
41 | #define CFE_ERR_ENVNOTFOUND -9 | ||
42 | #define CFE_ERR_ENVREADONLY -10 | ||
43 | |||
44 | #define CFE_ERR_NOTELF -11 | ||
45 | #define CFE_ERR_NOT32BIT -12 | ||
46 | #define CFE_ERR_WRONGENDIAN -13 | ||
47 | #define CFE_ERR_BADELFVERS -14 | ||
48 | #define CFE_ERR_NOTMIPS -15 | ||
49 | #define CFE_ERR_BADELFFMT -16 | ||
50 | #define CFE_ERR_BADADDR -17 | ||
51 | |||
52 | #define CFE_ERR_FILENOTFOUND -18 | ||
53 | #define CFE_ERR_UNSUPPORTED -19 | ||
54 | |||
55 | #define CFE_ERR_HOSTUNKNOWN -20 | ||
56 | |||
57 | #define CFE_ERR_TIMEOUT -21 | ||
58 | |||
59 | #define CFE_ERR_PROTOCOLERR -22 | ||
60 | |||
61 | #define CFE_ERR_NETDOWN -23 | ||
62 | #define CFE_ERR_NONAMESERVER -24 | ||
63 | |||
64 | #define CFE_ERR_NOHANDLES -25 | ||
65 | #define CFE_ERR_ALREADYBOUND -26 | ||
66 | |||
67 | #define CFE_ERR_CANNOTSET -27 | ||
68 | #define CFE_ERR_NOMORE -28 | ||
69 | #define CFE_ERR_BADFILESYS -29 | ||
70 | #define CFE_ERR_FSNOTAVAIL -30 | ||
71 | |||
72 | #define CFE_ERR_INVBOOTBLOCK -31 | ||
73 | #define CFE_ERR_WRONGDEVTYPE -32 | ||
74 | #define CFE_ERR_BBCHECKSUM -33 | ||
75 | #define CFE_ERR_BOOTPROGCHKSUM -34 | ||
76 | |||
77 | #define CFE_ERR_LDRNOTAVAIL -35 | ||
78 | |||
79 | #define CFE_ERR_NOTREADY -36 | ||
80 | |||
81 | #define CFE_ERR_GETMEM -37 | ||
82 | #define CFE_ERR_SETMEM -38 | ||
83 | |||
84 | #define CFE_ERR_NOTCONN -39 | ||
85 | #define CFE_ERR_ADDRINUSE -40 | ||
diff --git a/include/asm-mips/hazards.h b/include/asm-mips/hazards.h index 6a5fa32f615b..2de638f84c86 100644 --- a/include/asm-mips/hazards.h +++ b/include/asm-mips/hazards.h | |||
@@ -10,11 +10,12 @@ | |||
10 | #ifndef _ASM_HAZARDS_H | 10 | #ifndef _ASM_HAZARDS_H |
11 | #define _ASM_HAZARDS_H | 11 | #define _ASM_HAZARDS_H |
12 | 12 | ||
13 | |||
14 | #ifdef __ASSEMBLY__ | 13 | #ifdef __ASSEMBLY__ |
15 | #define ASMMACRO(name, code...) .macro name; code; .endm | 14 | #define ASMMACRO(name, code...) .macro name; code; .endm |
16 | #else | 15 | #else |
17 | 16 | ||
17 | #include <asm/cpu-features.h> | ||
18 | |||
18 | #define ASMMACRO(name, code...) \ | 19 | #define ASMMACRO(name, code...) \ |
19 | __asm__(".macro " #name "; " #code "; .endm"); \ | 20 | __asm__(".macro " #name "; " #code "; .endm"); \ |
20 | \ | 21 | \ |
@@ -86,6 +87,57 @@ do { \ | |||
86 | : "=r" (tmp)); \ | 87 | : "=r" (tmp)); \ |
87 | } while (0) | 88 | } while (0) |
88 | 89 | ||
90 | #elif defined(CONFIG_CPU_MIPSR1) | ||
91 | |||
92 | /* | ||
93 | * These are slightly complicated by the fact that we guarantee R1 kernels to | ||
94 | * run fine on R2 processors. | ||
95 | */ | ||
96 | ASMMACRO(mtc0_tlbw_hazard, | ||
97 | _ssnop; _ssnop; _ehb | ||
98 | ) | ||
99 | ASMMACRO(tlbw_use_hazard, | ||
100 | _ssnop; _ssnop; _ssnop; _ehb | ||
101 | ) | ||
102 | ASMMACRO(tlb_probe_hazard, | ||
103 | _ssnop; _ssnop; _ssnop; _ehb | ||
104 | ) | ||
105 | ASMMACRO(irq_enable_hazard, | ||
106 | _ssnop; _ssnop; _ssnop; _ehb | ||
107 | ) | ||
108 | ASMMACRO(irq_disable_hazard, | ||
109 | _ssnop; _ssnop; _ssnop; _ehb | ||
110 | ) | ||
111 | ASMMACRO(back_to_back_c0_hazard, | ||
112 | _ssnop; _ssnop; _ssnop; _ehb | ||
113 | ) | ||
114 | /* | ||
115 | * gcc has a tradition of misscompiling the previous construct using the | ||
116 | * address of a label as argument to inline assembler. Gas otoh has the | ||
117 | * annoying difference between la and dla which are only usable for 32-bit | ||
118 | * rsp. 64-bit code, so can't be used without conditional compilation. | ||
119 | * The alterantive is switching the assembler to 64-bit code which happens | ||
120 | * to work right even for 32-bit code ... | ||
121 | */ | ||
122 | #define __instruction_hazard() \ | ||
123 | do { \ | ||
124 | unsigned long tmp; \ | ||
125 | \ | ||
126 | __asm__ __volatile__( \ | ||
127 | " .set mips64r2 \n" \ | ||
128 | " dla %0, 1f \n" \ | ||
129 | " jr.hb %0 \n" \ | ||
130 | " .set mips0 \n" \ | ||
131 | "1: \n" \ | ||
132 | : "=r" (tmp)); \ | ||
133 | } while (0) | ||
134 | |||
135 | #define instruction_hazard() \ | ||
136 | do { \ | ||
137 | if (cpu_has_mips_r2) \ | ||
138 | __instruction_hazard(); \ | ||
139 | } while (0) | ||
140 | |||
89 | #elif defined(CONFIG_CPU_R10000) | 141 | #elif defined(CONFIG_CPU_R10000) |
90 | 142 | ||
91 | /* | 143 | /* |
@@ -193,7 +245,7 @@ ASMMACRO(enable_fpu_hazard, | |||
193 | .set mips64; | 245 | .set mips64; |
194 | .set noreorder; | 246 | .set noreorder; |
195 | _ssnop; | 247 | _ssnop; |
196 | bnezl $0,.+4; | 248 | bnezl $0, .+4; |
197 | _ssnop; | 249 | _ssnop; |
198 | .set pop | 250 | .set pop |
199 | ) | 251 | ) |
diff --git a/include/asm-mips/hw_irq.h b/include/asm-mips/hw_irq.h index 458d9fdc76bf..aca05a43a97b 100644 --- a/include/asm-mips/hw_irq.h +++ b/include/asm-mips/hw_irq.h | |||
@@ -8,15 +8,8 @@ | |||
8 | #ifndef __ASM_HW_IRQ_H | 8 | #ifndef __ASM_HW_IRQ_H |
9 | #define __ASM_HW_IRQ_H | 9 | #define __ASM_HW_IRQ_H |
10 | 10 | ||
11 | #include <linux/profile.h> | ||
12 | #include <asm/atomic.h> | 11 | #include <asm/atomic.h> |
13 | 12 | ||
14 | extern void disable_8259A_irq(unsigned int irq); | ||
15 | extern void enable_8259A_irq(unsigned int irq); | ||
16 | extern int i8259A_irq_pending(unsigned int irq); | ||
17 | extern void make_8259A_irq(unsigned int irq); | ||
18 | extern void init_8259A(int aeoi); | ||
19 | |||
20 | extern atomic_t irq_err_count; | 13 | extern atomic_t irq_err_count; |
21 | 14 | ||
22 | /* | 15 | /* |
diff --git a/include/asm-mips/i8253.h b/include/asm-mips/i8253.h new file mode 100644 index 000000000000..8f689d7df6b1 --- /dev/null +++ b/include/asm-mips/i8253.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Machine specific IO port address definition for generic. | ||
3 | * Written by Osamu Tomita <tomita@cinet.co.jp> | ||
4 | */ | ||
5 | #ifndef _MACH_IO_PORTS_H | ||
6 | #define _MACH_IO_PORTS_H | ||
7 | |||
8 | /* i8253A PIT registers */ | ||
9 | #define PIT_MODE 0x43 | ||
10 | #define PIT_CH0 0x40 | ||
11 | #define PIT_CH2 0x42 | ||
12 | |||
13 | /* i8259A PIC registers */ | ||
14 | #define PIC_MASTER_CMD 0x20 | ||
15 | #define PIC_MASTER_IMR 0x21 | ||
16 | #define PIC_MASTER_ISR PIC_MASTER_CMD | ||
17 | #define PIC_MASTER_POLL PIC_MASTER_ISR | ||
18 | #define PIC_MASTER_OCW3 PIC_MASTER_ISR | ||
19 | #define PIC_SLAVE_CMD 0xa0 | ||
20 | #define PIC_SLAVE_IMR 0xa1 | ||
21 | |||
22 | /* i8259A PIC related value */ | ||
23 | #define PIC_CASCADE_IR 2 | ||
24 | #define MASTER_ICW4_DEFAULT 0x01 | ||
25 | #define SLAVE_ICW4_DEFAULT 0x01 | ||
26 | #define PIC_ICW4_AEOI 2 | ||
27 | |||
28 | extern void setup_pit_timer(void); | ||
29 | |||
30 | #endif /* !_MACH_IO_PORTS_H */ | ||
diff --git a/include/asm-mips/i8259.h b/include/asm-mips/i8259.h index e88a01607fea..8572a2d90484 100644 --- a/include/asm-mips/i8259.h +++ b/include/asm-mips/i8259.h | |||
@@ -37,9 +37,8 @@ | |||
37 | 37 | ||
38 | extern spinlock_t i8259A_lock; | 38 | extern spinlock_t i8259A_lock; |
39 | 39 | ||
40 | extern void init_8259A(int auto_eoi); | 40 | extern int i8259A_irq_pending(unsigned int irq); |
41 | extern void enable_8259A_irq(unsigned int irq); | 41 | extern void make_8259A_irq(unsigned int irq); |
42 | extern void disable_8259A_irq(unsigned int irq); | ||
43 | 42 | ||
44 | extern void init_i8259_irqs(void); | 43 | extern void init_i8259_irqs(void); |
45 | 44 | ||
diff --git a/include/asm-mips/inventory.h b/include/asm-mips/inventory.h index 92d90f75a636..cc88aed23f0f 100644 --- a/include/asm-mips/inventory.h +++ b/include/asm-mips/inventory.h | |||
@@ -17,8 +17,8 @@ typedef struct inventory_s { | |||
17 | 17 | ||
18 | extern int inventory_items; | 18 | extern int inventory_items; |
19 | 19 | ||
20 | extern void add_to_inventory (int class, int type, int controller, int unit, int state); | 20 | extern void add_to_inventory(int class, int type, int controller, int unit, int state); |
21 | extern int dump_inventory_to_user (void __user *userbuf, int size); | 21 | extern int dump_inventory_to_user(void __user *userbuf, int size); |
22 | extern int __init init_inventory(void); | 22 | extern int __init init_inventory(void); |
23 | 23 | ||
24 | #endif /* __ASM_INVENTORY_H */ | 24 | #endif /* __ASM_INVENTORY_H */ |
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h index 7ba92890ea13..2cd8323c8586 100644 --- a/include/asm-mips/io.h +++ b/include/asm-mips/io.h | |||
@@ -40,11 +40,11 @@ | |||
40 | * hardware. An example use would be for flash memory that's used for | 40 | * hardware. An example use would be for flash memory that's used for |
41 | * execute in place. | 41 | * execute in place. |
42 | */ | 42 | */ |
43 | # define __raw_ioswabb(a,x) (x) | 43 | # define __raw_ioswabb(a, x) (x) |
44 | # define __raw_ioswabw(a,x) (x) | 44 | # define __raw_ioswabw(a, x) (x) |
45 | # define __raw_ioswabl(a,x) (x) | 45 | # define __raw_ioswabl(a, x) (x) |
46 | # define __raw_ioswabq(a,x) (x) | 46 | # define __raw_ioswabq(a, x) (x) |
47 | # define ____raw_ioswabq(a,x) (x) | 47 | # define ____raw_ioswabq(a, x) (x) |
48 | 48 | ||
49 | /* ioswab[bwlq], __mem_ioswab[bwlq] are defined in mangle-port.h */ | 49 | /* ioswab[bwlq], __mem_ioswab[bwlq] are defined in mangle-port.h */ |
50 | 50 | ||
@@ -561,9 +561,9 @@ extern void (*_dma_cache_wback_inv)(unsigned long start, unsigned long size); | |||
561 | extern void (*_dma_cache_wback)(unsigned long start, unsigned long size); | 561 | extern void (*_dma_cache_wback)(unsigned long start, unsigned long size); |
562 | extern void (*_dma_cache_inv)(unsigned long start, unsigned long size); | 562 | extern void (*_dma_cache_inv)(unsigned long start, unsigned long size); |
563 | 563 | ||
564 | #define dma_cache_wback_inv(start, size) _dma_cache_wback_inv(start,size) | 564 | #define dma_cache_wback_inv(start, size) _dma_cache_wback_inv(start, size) |
565 | #define dma_cache_wback(start, size) _dma_cache_wback(start,size) | 565 | #define dma_cache_wback(start, size) _dma_cache_wback(start, size) |
566 | #define dma_cache_inv(start, size) _dma_cache_inv(start,size) | 566 | #define dma_cache_inv(start, size) _dma_cache_inv(start, size) |
567 | 567 | ||
568 | #else /* Sane hardware */ | 568 | #else /* Sane hardware */ |
569 | 569 | ||
@@ -587,7 +587,7 @@ extern void (*_dma_cache_inv)(unsigned long start, unsigned long size); | |||
587 | #define __CSR_32_ADJUST 0 | 587 | #define __CSR_32_ADJUST 0 |
588 | #endif | 588 | #endif |
589 | 589 | ||
590 | #define csr_out32(v,a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v)) | 590 | #define csr_out32(v, a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST) = (v)) |
591 | #define csr_in32(a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST)) | 591 | #define csr_in32(a) (*(volatile u32 *)((unsigned long)(a) + __CSR_32_ADJUST)) |
592 | 592 | ||
593 | /* | 593 | /* |
diff --git a/include/asm-mips/ioctl.h b/include/asm-mips/ioctl.h index 2036fcb9f117..85067e248a83 100644 --- a/include/asm-mips/ioctl.h +++ b/include/asm-mips/ioctl.h | |||
@@ -54,7 +54,7 @@ | |||
54 | #define _IOC_IN 0x80000000 | 54 | #define _IOC_IN 0x80000000 |
55 | #define _IOC_INOUT (IOC_IN|IOC_OUT) | 55 | #define _IOC_INOUT (IOC_IN|IOC_OUT) |
56 | 56 | ||
57 | #define _IOC(dir,type,nr,size) \ | 57 | #define _IOC(dir, type, nr, size) \ |
58 | (((dir) << _IOC_DIRSHIFT) | \ | 58 | (((dir) << _IOC_DIRSHIFT) | \ |
59 | ((type) << _IOC_TYPESHIFT) | \ | 59 | ((type) << _IOC_TYPESHIFT) | \ |
60 | ((nr) << _IOC_NRSHIFT) | \ | 60 | ((nr) << _IOC_NRSHIFT) | \ |
@@ -68,13 +68,13 @@ extern unsigned int __invalid_size_argument_for_IOC; | |||
68 | sizeof(t) : __invalid_size_argument_for_IOC) | 68 | sizeof(t) : __invalid_size_argument_for_IOC) |
69 | 69 | ||
70 | /* used to create numbers */ | 70 | /* used to create numbers */ |
71 | #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) | 71 | #define _IO(type, nr) _IOC(_IOC_NONE, (type), (nr), 0) |
72 | #define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size))) | 72 | #define _IOR(type, nr, size) _IOC(_IOC_READ, (type), (nr), (_IOC_TYPECHECK(size))) |
73 | #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) | 73 | #define _IOW(type, nr, size) _IOC(_IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size))) |
74 | #define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) | 74 | #define _IOWR(type, nr, size) _IOC(_IOC_READ|_IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size))) |
75 | #define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) | 75 | #define _IOR_BAD(type, nr, size) _IOC(_IOC_READ, (type), (nr), sizeof(size)) |
76 | #define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) | 76 | #define _IOW_BAD(type, nr, size) _IOC(_IOC_WRITE, (type), (nr), sizeof(size)) |
77 | #define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) | 77 | #define _IOWR_BAD(type, nr, size) _IOC(_IOC_READ|_IOC_WRITE, (type), (nr), sizeof(size)) |
78 | 78 | ||
79 | 79 | ||
80 | /* used to decode them.. */ | 80 | /* used to decode them.. */ |
diff --git a/include/asm-mips/ioctls.h b/include/asm-mips/ioctls.h index 5097cbf183a9..3f04a995ec54 100644 --- a/include/asm-mips/ioctls.h +++ b/include/asm-mips/ioctls.h | |||
@@ -77,12 +77,12 @@ | |||
77 | #define TIOCSBRK 0x5427 /* BSD compatibility */ | 77 | #define TIOCSBRK 0x5427 /* BSD compatibility */ |
78 | #define TIOCCBRK 0x5428 /* BSD compatibility */ | 78 | #define TIOCCBRK 0x5428 /* BSD compatibility */ |
79 | #define TIOCGSID 0x7416 /* Return the session ID of FD */ | 79 | #define TIOCGSID 0x7416 /* Return the session ID of FD */ |
80 | #define TCGETS2 _IOR('T',0x2A, struct termios2) | 80 | #define TCGETS2 _IOR('T', 0x2A, struct termios2) |
81 | #define TCSETS2 _IOW('T',0x2B, struct termios2) | 81 | #define TCSETS2 _IOW('T', 0x2B, struct termios2) |
82 | #define TCSETSW2 _IOW('T',0x2C, struct termios2) | 82 | #define TCSETSW2 _IOW('T', 0x2C, struct termios2) |
83 | #define TCSETSF2 _IOW('T',0x2D, struct termios2) | 83 | #define TCSETSF2 _IOW('T', 0x2D, struct termios2) |
84 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ | 84 | #define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
85 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ | 85 | #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ |
86 | 86 | ||
87 | /* I hope the range from 0x5480 on is free ... */ | 87 | /* I hope the range from 0x5480 on is free ... */ |
88 | #define TIOCSCTTY 0x5480 /* become controlling tty */ | 88 | #define TIOCSCTTY 0x5480 /* become controlling tty */ |
diff --git a/include/asm-mips/ip32/machine.h b/include/asm-mips/ip32/machine.h deleted file mode 100644 index 1b631b8da6f8..000000000000 --- a/include/asm-mips/ip32/machine.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * machine.h -- Machine/group probing for ip32 | ||
3 | * | ||
4 | * Copyright (C) 2001 Keith M Wesolowski | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file COPYING in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #ifndef _ASM_IP32_MACHINE_H | ||
11 | #define _ASM_IP32_MACHINE_H | ||
12 | |||
13 | |||
14 | #ifdef CONFIG_SGI_IP32 | ||
15 | |||
16 | #define SGI_MACH_O2 0x3201 | ||
17 | |||
18 | #endif /* CONFIG_SGI_IP32 */ | ||
19 | |||
20 | #endif /* _ASM_SGI_MACHINE_H */ | ||
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h index 2cb52cf8bd4e..a58f0eecc68f 100644 --- a/include/asm-mips/irq.h +++ b/include/asm-mips/irq.h | |||
@@ -46,6 +46,38 @@ static inline void smtc_im_ack_irq(unsigned int irq) | |||
46 | 46 | ||
47 | #endif /* CONFIG_MIPS_MT_SMTC */ | 47 | #endif /* CONFIG_MIPS_MT_SMTC */ |
48 | 48 | ||
49 | #ifdef CONFIG_MIPS_MT_SMTC_IRQAFF | ||
50 | #include <linux/cpumask.h> | ||
51 | |||
52 | extern void plat_set_irq_affinity(unsigned int irq, cpumask_t affinity); | ||
53 | extern void smtc_forward_irq(unsigned int irq); | ||
54 | |||
55 | /* | ||
56 | * IRQ affinity hook invoked at the beginning of interrupt dispatch | ||
57 | * if option is enabled. | ||
58 | * | ||
59 | * Up through Linux 2.6.22 (at least) cpumask operations are very | ||
60 | * inefficient on MIPS. Initial prototypes of SMTC IRQ affinity | ||
61 | * used a "fast path" per-IRQ-descriptor cache of affinity information | ||
62 | * to reduce latency. As there is a project afoot to optimize the | ||
63 | * cpumask implementations, this version is optimistically assuming | ||
64 | * that cpumask.h macro overhead is reasonable during interrupt dispatch. | ||
65 | */ | ||
66 | #define IRQ_AFFINITY_HOOK(irq) \ | ||
67 | do { \ | ||
68 | if (!cpu_isset(smp_processor_id(), irq_desc[irq].affinity)) { \ | ||
69 | smtc_forward_irq(irq); \ | ||
70 | irq_exit(); \ | ||
71 | return; \ | ||
72 | } \ | ||
73 | } while (0) | ||
74 | |||
75 | #else /* Not doing SMTC affinity */ | ||
76 | |||
77 | #define IRQ_AFFINITY_HOOK(irq) do { } while (0) | ||
78 | |||
79 | #endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */ | ||
80 | |||
49 | #ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP | 81 | #ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP |
50 | 82 | ||
51 | /* | 83 | /* |
@@ -56,13 +88,27 @@ static inline void smtc_im_ack_irq(unsigned int irq) | |||
56 | */ | 88 | */ |
57 | #define __DO_IRQ_SMTC_HOOK(irq) \ | 89 | #define __DO_IRQ_SMTC_HOOK(irq) \ |
58 | do { \ | 90 | do { \ |
91 | IRQ_AFFINITY_HOOK(irq); \ | ||
59 | if (irq_hwmask[irq] & 0x0000ff00) \ | 92 | if (irq_hwmask[irq] & 0x0000ff00) \ |
60 | write_c0_tccontext(read_c0_tccontext() & \ | 93 | write_c0_tccontext(read_c0_tccontext() & \ |
61 | ~(irq_hwmask[irq] & 0x0000ff00)); \ | 94 | ~(irq_hwmask[irq] & 0x0000ff00)); \ |
95 | } while (0) | ||
96 | |||
97 | #define __NO_AFFINITY_IRQ_SMTC_HOOK(irq) \ | ||
98 | do { \ | ||
99 | if (irq_hwmask[irq] & 0x0000ff00) \ | ||
100 | write_c0_tccontext(read_c0_tccontext() & \ | ||
101 | ~(irq_hwmask[irq] & 0x0000ff00)); \ | ||
62 | } while (0) | 102 | } while (0) |
103 | |||
63 | #else | 104 | #else |
64 | 105 | ||
65 | #define __DO_IRQ_SMTC_HOOK(irq) do { } while (0) | 106 | #define __DO_IRQ_SMTC_HOOK(irq) \ |
107 | do { \ | ||
108 | IRQ_AFFINITY_HOOK(irq); \ | ||
109 | } while (0) | ||
110 | #define __NO_AFFINITY_IRQ_SMTC_HOOK(irq) do { } while (0) | ||
111 | |||
66 | #endif | 112 | #endif |
67 | 113 | ||
68 | /* | 114 | /* |
@@ -81,6 +127,23 @@ do { \ | |||
81 | irq_exit(); \ | 127 | irq_exit(); \ |
82 | } while (0) | 128 | } while (0) |
83 | 129 | ||
130 | #ifdef CONFIG_MIPS_MT_SMTC_IRQAFF | ||
131 | /* | ||
132 | * To avoid inefficient and in some cases pathological re-checking of | ||
133 | * IRQ affinity, we have this variant that skips the affinity check. | ||
134 | */ | ||
135 | |||
136 | |||
137 | #define do_IRQ_no_affinity(irq) \ | ||
138 | do { \ | ||
139 | irq_enter(); \ | ||
140 | __NO_AFFINITY_IRQ_SMTC_HOOK(irq); \ | ||
141 | generic_handle_irq(irq); \ | ||
142 | irq_exit(); \ | ||
143 | } while (0) | ||
144 | |||
145 | #endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */ | ||
146 | |||
84 | extern void arch_init_irq(void); | 147 | extern void arch_init_irq(void); |
85 | extern void spurious_interrupt(void); | 148 | extern void spurious_interrupt(void); |
86 | 149 | ||
diff --git a/include/asm-mips/irq_gt641xx.h b/include/asm-mips/irq_gt641xx.h new file mode 100644 index 000000000000..f9a7c3ac2e66 --- /dev/null +++ b/include/asm-mips/irq_gt641xx.h | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * Galileo/Marvell GT641xx IRQ definitions. | ||
3 | * | ||
4 | * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | #ifndef _ASM_IRQ_GT641XX_H | ||
21 | #define _ASM_IRQ_GT641XX_H | ||
22 | |||
23 | #ifndef GT641XX_IRQ_BASE | ||
24 | #define GT641XX_IRQ_BASE 8 | ||
25 | #endif | ||
26 | |||
27 | #define GT641XX_MEMORY_OUT_OF_RANGE_IRQ (GT641XX_IRQ_BASE + 1) | ||
28 | #define GT641XX_DMA_OUT_OF_RANGE_IRQ (GT641XX_IRQ_BASE + 2) | ||
29 | #define GT641XX_CPU_ACCESS_OUT_OF_RANGE_IRQ (GT641XX_IRQ_BASE + 3) | ||
30 | #define GT641XX_DMA0_IRQ (GT641XX_IRQ_BASE + 4) | ||
31 | #define GT641XX_DMA1_IRQ (GT641XX_IRQ_BASE + 5) | ||
32 | #define GT641XX_DMA2_IRQ (GT641XX_IRQ_BASE + 6) | ||
33 | #define GT641XX_DMA3_IRQ (GT641XX_IRQ_BASE + 7) | ||
34 | #define GT641XX_TIMER0_IRQ (GT641XX_IRQ_BASE + 8) | ||
35 | #define GT641XX_TIMER1_IRQ (GT641XX_IRQ_BASE + 9) | ||
36 | #define GT641XX_TIMER2_IRQ (GT641XX_IRQ_BASE + 10) | ||
37 | #define GT641XX_TIMER3_IRQ (GT641XX_IRQ_BASE + 11) | ||
38 | #define GT641XX_PCI_0_MASTER_READ_ERROR_IRQ (GT641XX_IRQ_BASE + 12) | ||
39 | #define GT641XX_PCI_0_SLAVE_WRITE_ERROR_IRQ (GT641XX_IRQ_BASE + 13) | ||
40 | #define GT641XX_PCI_0_MASTER_WRITE_ERROR_IRQ (GT641XX_IRQ_BASE + 14) | ||
41 | #define GT641XX_PCI_0_SLAVE_READ_ERROR_IRQ (GT641XX_IRQ_BASE + 15) | ||
42 | #define GT641XX_PCI_0_ADDRESS_ERROR_IRQ (GT641XX_IRQ_BASE + 16) | ||
43 | #define GT641XX_MEMORY_ERROR_IRQ (GT641XX_IRQ_BASE + 17) | ||
44 | #define GT641XX_PCI_0_MASTER_ABORT_IRQ (GT641XX_IRQ_BASE + 18) | ||
45 | #define GT641XX_PCI_0_TARGET_ABORT_IRQ (GT641XX_IRQ_BASE + 19) | ||
46 | #define GT641XX_PCI_0_RETRY_TIMEOUT_IRQ (GT641XX_IRQ_BASE + 20) | ||
47 | #define GT641XX_CPU_INT0_IRQ (GT641XX_IRQ_BASE + 21) | ||
48 | #define GT641XX_CPU_INT1_IRQ (GT641XX_IRQ_BASE + 22) | ||
49 | #define GT641XX_CPU_INT2_IRQ (GT641XX_IRQ_BASE + 23) | ||
50 | #define GT641XX_CPU_INT3_IRQ (GT641XX_IRQ_BASE + 24) | ||
51 | #define GT641XX_CPU_INT4_IRQ (GT641XX_IRQ_BASE + 25) | ||
52 | #define GT641XX_PCI_INT0_IRQ (GT641XX_IRQ_BASE + 26) | ||
53 | #define GT641XX_PCI_INT1_IRQ (GT641XX_IRQ_BASE + 27) | ||
54 | #define GT641XX_PCI_INT2_IRQ (GT641XX_IRQ_BASE + 28) | ||
55 | #define GT641XX_PCI_INT3_IRQ (GT641XX_IRQ_BASE + 29) | ||
56 | |||
57 | extern void gt641xx_irq_dispatch(void); | ||
58 | extern void gt641xx_irq_init(void); | ||
59 | |||
60 | #endif /* _ASM_IRQ_GT641XX_H */ | ||
diff --git a/include/asm-mips/irqflags.h b/include/asm-mips/irqflags.h index e459fa05db83..881e8866501d 100644 --- a/include/asm-mips/irqflags.h +++ b/include/asm-mips/irqflags.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/compiler.h> | 16 | #include <linux/compiler.h> |
17 | #include <asm/hazards.h> | 17 | #include <asm/hazards.h> |
18 | 18 | ||
19 | __asm__ ( | 19 | __asm__( |
20 | " .macro raw_local_irq_enable \n" | 20 | " .macro raw_local_irq_enable \n" |
21 | " .set push \n" | 21 | " .set push \n" |
22 | " .set reorder \n" | 22 | " .set reorder \n" |
@@ -65,7 +65,7 @@ static inline void raw_local_irq_enable(void) | |||
65 | * | 65 | * |
66 | * Workaround: mask EXL bit of the result or place a nop before mfc0. | 66 | * Workaround: mask EXL bit of the result or place a nop before mfc0. |
67 | */ | 67 | */ |
68 | __asm__ ( | 68 | __asm__( |
69 | " .macro raw_local_irq_disable\n" | 69 | " .macro raw_local_irq_disable\n" |
70 | " .set push \n" | 70 | " .set push \n" |
71 | " .set noat \n" | 71 | " .set noat \n" |
@@ -96,7 +96,7 @@ static inline void raw_local_irq_disable(void) | |||
96 | : "memory"); | 96 | : "memory"); |
97 | } | 97 | } |
98 | 98 | ||
99 | __asm__ ( | 99 | __asm__( |
100 | " .macro raw_local_save_flags flags \n" | 100 | " .macro raw_local_save_flags flags \n" |
101 | " .set push \n" | 101 | " .set push \n" |
102 | " .set reorder \n" | 102 | " .set reorder \n" |
@@ -113,7 +113,7 @@ __asm__ __volatile__( \ | |||
113 | "raw_local_save_flags %0" \ | 113 | "raw_local_save_flags %0" \ |
114 | : "=r" (x)) | 114 | : "=r" (x)) |
115 | 115 | ||
116 | __asm__ ( | 116 | __asm__( |
117 | " .macro raw_local_irq_save result \n" | 117 | " .macro raw_local_irq_save result \n" |
118 | " .set push \n" | 118 | " .set push \n" |
119 | " .set reorder \n" | 119 | " .set reorder \n" |
@@ -145,7 +145,7 @@ __asm__ __volatile__( \ | |||
145 | : /* no inputs */ \ | 145 | : /* no inputs */ \ |
146 | : "memory") | 146 | : "memory") |
147 | 147 | ||
148 | __asm__ ( | 148 | __asm__( |
149 | " .macro raw_local_irq_restore flags \n" | 149 | " .macro raw_local_irq_restore flags \n" |
150 | " .set push \n" | 150 | " .set push \n" |
151 | " .set noreorder \n" | 151 | " .set noreorder \n" |
diff --git a/include/asm-mips/jazz.h b/include/asm-mips/jazz.h index 81cbf004fd13..83f449dec95e 100644 --- a/include/asm-mips/jazz.h +++ b/include/asm-mips/jazz.h | |||
@@ -185,37 +185,25 @@ typedef struct { | |||
185 | #define JAZZ_IO_IRQ_ENABLE 0xe0010002 | 185 | #define JAZZ_IO_IRQ_ENABLE 0xe0010002 |
186 | 186 | ||
187 | /* | 187 | /* |
188 | * JAZZ interrupt enable bits | ||
189 | */ | ||
190 | #define JAZZ_IE_PARALLEL (1 << 0) | ||
191 | #define JAZZ_IE_FLOPPY (1 << 1) | ||
192 | #define JAZZ_IE_SOUND (1 << 2) | ||
193 | #define JAZZ_IE_VIDEO (1 << 3) | ||
194 | #define JAZZ_IE_ETHERNET (1 << 4) | ||
195 | #define JAZZ_IE_SCSI (1 << 5) | ||
196 | #define JAZZ_IE_KEYBOARD (1 << 6) | ||
197 | #define JAZZ_IE_MOUSE (1 << 7) | ||
198 | #define JAZZ_IE_SERIAL1 (1 << 8) | ||
199 | #define JAZZ_IE_SERIAL2 (1 << 9) | ||
200 | |||
201 | /* | ||
202 | * JAZZ Interrupt Level definitions | 188 | * JAZZ Interrupt Level definitions |
203 | * | 189 | * |
204 | * This is somewhat broken. For reasons which nobody can remember anymore | 190 | * This is somewhat broken. For reasons which nobody can remember anymore |
205 | * we remap the Jazz interrupts to the usual ISA style interrupt numbers. | 191 | * we remap the Jazz interrupts to the usual ISA style interrupt numbers. |
206 | */ | 192 | */ |
207 | #define JAZZ_PARALLEL_IRQ 16 | 193 | #define JAZZ_IRQ_START 24 |
208 | #define JAZZ_FLOPPY_IRQ 17 | 194 | #define JAZZ_IRQ_END (24 + 9) |
209 | #define JAZZ_SOUND_IRQ 18 | 195 | #define JAZZ_PARALLEL_IRQ (JAZZ_IRQ_START + 0) |
210 | #define JAZZ_VIDEO_IRQ 19 | 196 | #define JAZZ_FLOPPY_IRQ (JAZZ_IRQ_START + 1) |
211 | #define JAZZ_ETHERNET_IRQ 20 | 197 | #define JAZZ_SOUND_IRQ (JAZZ_IRQ_START + 2) |
212 | #define JAZZ_SCSI_IRQ 21 | 198 | #define JAZZ_VIDEO_IRQ (JAZZ_IRQ_START + 3) |
213 | #define JAZZ_KEYBOARD_IRQ 22 | 199 | #define JAZZ_ETHERNET_IRQ (JAZZ_IRQ_START + 4) |
214 | #define JAZZ_MOUSE_IRQ 23 | 200 | #define JAZZ_SCSI_IRQ (JAZZ_IRQ_START + 5) |
215 | #define JAZZ_SERIAL1_IRQ 24 | 201 | #define JAZZ_KEYBOARD_IRQ (JAZZ_IRQ_START + 6) |
216 | #define JAZZ_SERIAL2_IRQ 25 | 202 | #define JAZZ_MOUSE_IRQ (JAZZ_IRQ_START + 7) |
217 | 203 | #define JAZZ_SERIAL1_IRQ (JAZZ_IRQ_START + 8) | |
218 | #define JAZZ_TIMER_IRQ 31 | 204 | #define JAZZ_SERIAL2_IRQ (JAZZ_IRQ_START + 9) |
205 | |||
206 | #define JAZZ_TIMER_IRQ (MIPS_CPU_IRQ_BASE+6) | ||
219 | 207 | ||
220 | 208 | ||
221 | /* | 209 | /* |
diff --git a/include/asm-mips/jazzdma.h b/include/asm-mips/jazzdma.h index 0a205b77e505..8bb37bba68f0 100644 --- a/include/asm-mips/jazzdma.h +++ b/include/asm-mips/jazzdma.h | |||
@@ -7,7 +7,6 @@ | |||
7 | /* | 7 | /* |
8 | * Prototypes and macros | 8 | * Prototypes and macros |
9 | */ | 9 | */ |
10 | extern void vdma_init(void); | ||
11 | extern unsigned long vdma_alloc(unsigned long paddr, unsigned long size); | 10 | extern unsigned long vdma_alloc(unsigned long paddr, unsigned long size); |
12 | extern int vdma_free(unsigned long laddr); | 11 | extern int vdma_free(unsigned long laddr); |
13 | extern int vdma_remap(unsigned long laddr, unsigned long paddr, | 12 | extern int vdma_remap(unsigned long laddr, unsigned long paddr, |
diff --git a/include/asm-mips/jmr3927/tx3927.h b/include/asm-mips/jmr3927/tx3927.h index 4be2f25f70dd..211bcf47fffb 100644 --- a/include/asm-mips/jmr3927/tx3927.h +++ b/include/asm-mips/jmr3927/tx3927.h | |||
@@ -53,23 +53,23 @@ struct tx3927_dma_reg { | |||
53 | #include <asm/byteorder.h> | 53 | #include <asm/byteorder.h> |
54 | 54 | ||
55 | #ifdef __BIG_ENDIAN | 55 | #ifdef __BIG_ENDIAN |
56 | #define endian_def_s2(e1,e2) \ | 56 | #define endian_def_s2(e1, e2) \ |
57 | volatile unsigned short e1,e2 | 57 | volatile unsigned short e1, e2 |
58 | #define endian_def_sb2(e1,e2,e3) \ | 58 | #define endian_def_sb2(e1, e2, e3) \ |
59 | volatile unsigned short e1;volatile unsigned char e2,e3 | 59 | volatile unsigned short e1;volatile unsigned char e2, e3 |
60 | #define endian_def_b2s(e1,e2,e3) \ | 60 | #define endian_def_b2s(e1, e2, e3) \ |
61 | volatile unsigned char e1,e2;volatile unsigned short e3 | 61 | volatile unsigned char e1, e2;volatile unsigned short e3 |
62 | #define endian_def_b4(e1,e2,e3,e4) \ | 62 | #define endian_def_b4(e1, e2, e3, e4) \ |
63 | volatile unsigned char e1,e2,e3,e4 | 63 | volatile unsigned char e1, e2, e3, e4 |
64 | #else | 64 | #else |
65 | #define endian_def_s2(e1,e2) \ | 65 | #define endian_def_s2(e1, e2) \ |
66 | volatile unsigned short e2,e1 | 66 | volatile unsigned short e2, e1 |
67 | #define endian_def_sb2(e1,e2,e3) \ | 67 | #define endian_def_sb2(e1, e2, e3) \ |
68 | volatile unsigned char e3,e2;volatile unsigned short e1 | 68 | volatile unsigned char e3, e2;volatile unsigned short e1 |
69 | #define endian_def_b2s(e1,e2,e3) \ | 69 | #define endian_def_b2s(e1, e2, e3) \ |
70 | volatile unsigned short e3;volatile unsigned char e2,e1 | 70 | volatile unsigned short e3;volatile unsigned char e2, e1 |
71 | #define endian_def_b4(e1,e2,e3,e4) \ | 71 | #define endian_def_b4(e1, e2, e3, e4) \ |
72 | volatile unsigned char e4,e3,e2,e1 | 72 | volatile unsigned char e4, e3, e2, e1 |
73 | #endif | 73 | #endif |
74 | 74 | ||
75 | struct tx3927_pcic_reg { | 75 | struct tx3927_pcic_reg { |
diff --git a/include/asm-mips/lasat/ds1603.h b/include/asm-mips/lasat/ds1603.h new file mode 100644 index 000000000000..edcd7544b358 --- /dev/null +++ b/include/asm-mips/lasat/ds1603.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #include <asm/addrspace.h> | ||
2 | |||
3 | /* Lasat 100 */ | ||
4 | #define DS1603_REG_100 (KSEG1ADDR(0x1c810000)) | ||
5 | #define DS1603_RST_100 (1 << 2) | ||
6 | #define DS1603_CLK_100 (1 << 0) | ||
7 | #define DS1603_DATA_SHIFT_100 1 | ||
8 | #define DS1603_DATA_100 (1 << DS1603_DATA_SHIFT_100) | ||
9 | |||
10 | /* Lasat 200 */ | ||
11 | #define DS1603_REG_200 (KSEG1ADDR(0x11000000)) | ||
12 | #define DS1603_RST_200 (1 << 3) | ||
13 | #define DS1603_CLK_200 (1 << 4) | ||
14 | #define DS1603_DATA_200 (1 << 5) | ||
15 | |||
16 | #define DS1603_DATA_REG_200 (DS1603_REG_200 + 0x10000) | ||
17 | #define DS1603_DATA_READ_SHIFT_200 9 | ||
18 | #define DS1603_DATA_READ_200 (1 << DS1603_DATA_READ_SHIFT_200) | ||
diff --git a/include/asm-mips/lasat/eeprom.h b/include/asm-mips/lasat/eeprom.h new file mode 100644 index 000000000000..3dac203697fa --- /dev/null +++ b/include/asm-mips/lasat/eeprom.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #include <asm/addrspace.h> | ||
2 | |||
3 | /* lasat 100 */ | ||
4 | #define AT93C_REG_100 KSEG1ADDR(0x1c810000) | ||
5 | #define AT93C_RDATA_REG_100 AT93C_REG_100 | ||
6 | #define AT93C_RDATA_SHIFT_100 4 | ||
7 | #define AT93C_WDATA_SHIFT_100 4 | ||
8 | #define AT93C_CS_M_100 (1 << 5) | ||
9 | #define AT93C_CLK_M_100 (1 << 3) | ||
10 | |||
11 | /* lasat 200 */ | ||
12 | #define AT93C_REG_200 KSEG1ADDR(0x11000000) | ||
13 | #define AT93C_RDATA_REG_200 (AT93C_REG_200+0x10000) | ||
14 | #define AT93C_RDATA_SHIFT_200 8 | ||
15 | #define AT93C_WDATA_SHIFT_200 2 | ||
16 | #define AT93C_CS_M_200 (1 << 0) | ||
17 | #define AT93C_CLK_M_200 (1 << 1) | ||
diff --git a/include/asm-mips/lasat/head.h b/include/asm-mips/lasat/head.h new file mode 100644 index 000000000000..f5589f31a197 --- /dev/null +++ b/include/asm-mips/lasat/head.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Image header stuff | ||
3 | */ | ||
4 | #ifndef _HEAD_H | ||
5 | #define _HEAD_H | ||
6 | |||
7 | #define LASAT_K_MAGIC0_VAL 0xfedeabba | ||
8 | #define LASAT_K_MAGIC1_VAL 0x00bedead | ||
9 | |||
10 | #ifndef _LANGUAGE_ASSEMBLY | ||
11 | #include <linux/types.h> | ||
12 | struct bootloader_header { | ||
13 | u32 magic[2]; | ||
14 | u32 version; | ||
15 | u32 image_start; | ||
16 | u32 image_size; | ||
17 | u32 kernel_start; | ||
18 | u32 kernel_entry; | ||
19 | }; | ||
20 | #endif | ||
21 | |||
22 | #endif /* _HEAD_H */ | ||
diff --git a/include/asm-mips/lasat/lasat.h b/include/asm-mips/lasat/lasat.h new file mode 100644 index 000000000000..ea04d9262edc --- /dev/null +++ b/include/asm-mips/lasat/lasat.h | |||
@@ -0,0 +1,256 @@ | |||
1 | /* | ||
2 | * lasat.h | ||
3 | * | ||
4 | * Thomas Horsten <thh@lasat.com> | ||
5 | * Copyright (C) 2000 LASAT Networks A/S. | ||
6 | * | ||
7 | * This program is free software; you can distribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License (Version 2) as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
14 | * for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
19 | * | ||
20 | * Configuration for LASAT boards, loads the appropriate include files. | ||
21 | */ | ||
22 | #ifndef _LASAT_H | ||
23 | #define _LASAT_H | ||
24 | |||
25 | #ifndef _LANGUAGE_ASSEMBLY | ||
26 | |||
27 | extern struct lasat_misc { | ||
28 | volatile u32 *reset_reg; | ||
29 | volatile u32 *flash_wp_reg; | ||
30 | u32 flash_wp_bit; | ||
31 | } *lasat_misc; | ||
32 | |||
33 | enum lasat_mtdparts { | ||
34 | LASAT_MTD_BOOTLOADER, | ||
35 | LASAT_MTD_SERVICE, | ||
36 | LASAT_MTD_NORMAL, | ||
37 | LASAT_MTD_CONFIG, | ||
38 | LASAT_MTD_FS, | ||
39 | LASAT_MTD_LAST | ||
40 | }; | ||
41 | |||
42 | /* | ||
43 | * The format of the data record in the EEPROM. | ||
44 | * See Documentation/LASAT/eeprom.txt for a detailed description | ||
45 | * of the fields in this struct, and the LASAT Hardware Configuration | ||
46 | * field specification for a detailed description of the config | ||
47 | * field. | ||
48 | */ | ||
49 | #include <linux/types.h> | ||
50 | |||
51 | #define LASAT_EEPROM_VERSION 7 | ||
52 | struct lasat_eeprom_struct { | ||
53 | unsigned int version; | ||
54 | unsigned int cfg[3]; | ||
55 | unsigned char hwaddr[6]; | ||
56 | unsigned char print_partno[12]; | ||
57 | unsigned char term0; | ||
58 | unsigned char print_serial[14]; | ||
59 | unsigned char term1; | ||
60 | unsigned char prod_partno[12]; | ||
61 | unsigned char term2; | ||
62 | unsigned char prod_serial[14]; | ||
63 | unsigned char term3; | ||
64 | unsigned char passwd_hash[16]; | ||
65 | unsigned char pwdnull; | ||
66 | unsigned char vendid; | ||
67 | unsigned char ts_ref; | ||
68 | unsigned char ts_signoff; | ||
69 | unsigned char reserved[11]; | ||
70 | unsigned char debugaccess; | ||
71 | unsigned short prid; | ||
72 | unsigned int serviceflag; | ||
73 | unsigned int ipaddr; | ||
74 | unsigned int netmask; | ||
75 | unsigned int crc32; | ||
76 | }; | ||
77 | |||
78 | struct lasat_eeprom_struct_pre7 { | ||
79 | unsigned int version; | ||
80 | unsigned int flags[3]; | ||
81 | unsigned char hwaddr0[6]; | ||
82 | unsigned char hwaddr1[6]; | ||
83 | unsigned char print_partno[9]; | ||
84 | unsigned char term0; | ||
85 | unsigned char print_serial[14]; | ||
86 | unsigned char term1; | ||
87 | unsigned char prod_partno[9]; | ||
88 | unsigned char term2; | ||
89 | unsigned char prod_serial[14]; | ||
90 | unsigned char term3; | ||
91 | unsigned char passwd_hash[24]; | ||
92 | unsigned char pwdnull; | ||
93 | unsigned char vendor; | ||
94 | unsigned char ts_ref; | ||
95 | unsigned char ts_signoff; | ||
96 | unsigned char reserved[6]; | ||
97 | unsigned int writecount; | ||
98 | unsigned int ipaddr; | ||
99 | unsigned int netmask; | ||
100 | unsigned int crc32; | ||
101 | }; | ||
102 | |||
103 | /* Configuration descriptor encoding - see the doc for details */ | ||
104 | |||
105 | #define LASAT_W0_DSCTYPE(v) (((v)) & 0xf) | ||
106 | #define LASAT_W0_BMID(v) (((v) >> 0x04) & 0xf) | ||
107 | #define LASAT_W0_CPUTYPE(v) (((v) >> 0x08) & 0xf) | ||
108 | #define LASAT_W0_BUSSPEED(v) (((v) >> 0x0c) & 0xf) | ||
109 | #define LASAT_W0_CPUCLK(v) (((v) >> 0x10) & 0xf) | ||
110 | #define LASAT_W0_SDRAMBANKSZ(v) (((v) >> 0x14) & 0xf) | ||
111 | #define LASAT_W0_SDRAMBANKS(v) (((v) >> 0x18) & 0xf) | ||
112 | #define LASAT_W0_L2CACHE(v) (((v) >> 0x1c) & 0xf) | ||
113 | |||
114 | #define LASAT_W1_EDHAC(v) (((v)) & 0xf) | ||
115 | #define LASAT_W1_HIFN(v) (((v) >> 0x04) & 0x1) | ||
116 | #define LASAT_W1_ISDN(v) (((v) >> 0x05) & 0x1) | ||
117 | #define LASAT_W1_IDE(v) (((v) >> 0x06) & 0x1) | ||
118 | #define LASAT_W1_HDLC(v) (((v) >> 0x07) & 0x1) | ||
119 | #define LASAT_W1_USVERSION(v) (((v) >> 0x08) & 0x1) | ||
120 | #define LASAT_W1_4MACS(v) (((v) >> 0x09) & 0x1) | ||
121 | #define LASAT_W1_EXTSERIAL(v) (((v) >> 0x0a) & 0x1) | ||
122 | #define LASAT_W1_FLASHSIZE(v) (((v) >> 0x0c) & 0xf) | ||
123 | #define LASAT_W1_PCISLOTS(v) (((v) >> 0x10) & 0xf) | ||
124 | #define LASAT_W1_PCI1OPT(v) (((v) >> 0x14) & 0xf) | ||
125 | #define LASAT_W1_PCI2OPT(v) (((v) >> 0x18) & 0xf) | ||
126 | #define LASAT_W1_PCI3OPT(v) (((v) >> 0x1c) & 0xf) | ||
127 | |||
128 | /* Routines specific to LASAT boards */ | ||
129 | |||
130 | #define LASAT_BMID_MASQUERADE2 0 | ||
131 | #define LASAT_BMID_MASQUERADEPRO 1 | ||
132 | #define LASAT_BMID_SAFEPIPE25 2 | ||
133 | #define LASAT_BMID_SAFEPIPE50 3 | ||
134 | #define LASAT_BMID_SAFEPIPE100 4 | ||
135 | #define LASAT_BMID_SAFEPIPE5000 5 | ||
136 | #define LASAT_BMID_SAFEPIPE7000 6 | ||
137 | #define LASAT_BMID_SAFEPIPE1000 7 | ||
138 | #if 0 | ||
139 | #define LASAT_BMID_SAFEPIPE30 7 | ||
140 | #define LASAT_BMID_SAFEPIPE5100 8 | ||
141 | #define LASAT_BMID_SAFEPIPE7100 9 | ||
142 | #endif | ||
143 | #define LASAT_BMID_UNKNOWN 0xf | ||
144 | #define LASAT_MAX_BMID_NAMES 9 /* no larger than 15! */ | ||
145 | |||
146 | #define LASAT_HAS_EDHAC (1 << 0) | ||
147 | #define LASAT_EDHAC_FAST (1 << 1) | ||
148 | #define LASAT_HAS_EADI (1 << 2) | ||
149 | #define LASAT_HAS_HIFN (1 << 3) | ||
150 | #define LASAT_HAS_ISDN (1 << 4) | ||
151 | #define LASAT_HAS_LEASEDLINE_IF (1 << 5) | ||
152 | #define LASAT_HAS_HDC (1 << 6) | ||
153 | |||
154 | #define LASAT_PRID_MASQUERADE2 0 | ||
155 | #define LASAT_PRID_MASQUERADEPRO 1 | ||
156 | #define LASAT_PRID_SAFEPIPE25 2 | ||
157 | #define LASAT_PRID_SAFEPIPE50 3 | ||
158 | #define LASAT_PRID_SAFEPIPE100 4 | ||
159 | #define LASAT_PRID_SAFEPIPE5000 5 | ||
160 | #define LASAT_PRID_SAFEPIPE7000 6 | ||
161 | #define LASAT_PRID_SAFEPIPE30 7 | ||
162 | #define LASAT_PRID_SAFEPIPE5100 8 | ||
163 | #define LASAT_PRID_SAFEPIPE7100 9 | ||
164 | |||
165 | #define LASAT_PRID_SAFEPIPE1110 10 | ||
166 | #define LASAT_PRID_SAFEPIPE3020 11 | ||
167 | #define LASAT_PRID_SAFEPIPE3030 12 | ||
168 | #define LASAT_PRID_SAFEPIPE5020 13 | ||
169 | #define LASAT_PRID_SAFEPIPE5030 14 | ||
170 | #define LASAT_PRID_SAFEPIPE1120 15 | ||
171 | #define LASAT_PRID_SAFEPIPE1130 16 | ||
172 | #define LASAT_PRID_SAFEPIPE6010 17 | ||
173 | #define LASAT_PRID_SAFEPIPE6110 18 | ||
174 | #define LASAT_PRID_SAFEPIPE6210 19 | ||
175 | #define LASAT_PRID_SAFEPIPE1020 20 | ||
176 | #define LASAT_PRID_SAFEPIPE1040 21 | ||
177 | #define LASAT_PRID_SAFEPIPE1060 22 | ||
178 | |||
179 | struct lasat_info { | ||
180 | unsigned int li_cpu_hz; | ||
181 | unsigned int li_bus_hz; | ||
182 | unsigned int li_bmid; | ||
183 | unsigned int li_memsize; | ||
184 | unsigned int li_flash_size; | ||
185 | unsigned int li_prid; | ||
186 | unsigned char li_bmstr[16]; | ||
187 | unsigned char li_namestr[32]; | ||
188 | unsigned char li_typestr[16]; | ||
189 | /* Info on the Flash layout */ | ||
190 | unsigned int li_flash_base; | ||
191 | unsigned long li_flashpart_base[LASAT_MTD_LAST]; | ||
192 | unsigned long li_flashpart_size[LASAT_MTD_LAST]; | ||
193 | struct lasat_eeprom_struct li_eeprom_info; | ||
194 | unsigned int li_eeprom_upgrade_version; | ||
195 | unsigned int li_debugaccess; | ||
196 | }; | ||
197 | |||
198 | extern struct lasat_info lasat_board_info; | ||
199 | |||
200 | static inline unsigned long lasat_flash_partition_start(int partno) | ||
201 | { | ||
202 | if (partno < 0 || partno >= LASAT_MTD_LAST) | ||
203 | return 0; | ||
204 | |||
205 | return lasat_board_info.li_flashpart_base[partno]; | ||
206 | } | ||
207 | |||
208 | static inline unsigned long lasat_flash_partition_size(int partno) | ||
209 | { | ||
210 | if (partno < 0 || partno >= LASAT_MTD_LAST) | ||
211 | return 0; | ||
212 | |||
213 | return lasat_board_info.li_flashpart_size[partno]; | ||
214 | } | ||
215 | |||
216 | /* Called from setup() to initialize the global board_info struct */ | ||
217 | extern int lasat_init_board_info(void); | ||
218 | |||
219 | /* Write the modified EEPROM info struct */ | ||
220 | extern void lasat_write_eeprom_info(void); | ||
221 | |||
222 | #define N_MACHTYPES 2 | ||
223 | /* for calibration of delays */ | ||
224 | |||
225 | /* the lasat_ndelay function is necessary because it is used at an | ||
226 | * early stage of the boot process where ndelay is not calibrated. | ||
227 | * It is used for the bit-banging rtc and eeprom drivers */ | ||
228 | |||
229 | #include <linux/delay.h> | ||
230 | |||
231 | /* calculating with the slowest board with 100 MHz clock */ | ||
232 | #define LASAT_100_DIVIDER 20 | ||
233 | /* All 200's run at 250 MHz clock */ | ||
234 | #define LASAT_200_DIVIDER 8 | ||
235 | |||
236 | extern unsigned int lasat_ndelay_divider; | ||
237 | |||
238 | static inline void lasat_ndelay(unsigned int ns) | ||
239 | { | ||
240 | __delay(ns / lasat_ndelay_divider); | ||
241 | } | ||
242 | |||
243 | #endif /* !defined (_LANGUAGE_ASSEMBLY) */ | ||
244 | |||
245 | #define LASAT_SERVICEMODE_MAGIC_1 0xdeadbeef | ||
246 | #define LASAT_SERVICEMODE_MAGIC_2 0xfedeabba | ||
247 | |||
248 | /* Lasat 100 boards */ | ||
249 | #define LASAT_GT_BASE (KSEG1ADDR(0x14000000)) | ||
250 | |||
251 | /* Lasat 200 boards */ | ||
252 | #define Vrc5074_PHYS_BASE 0x1fa00000 | ||
253 | #define Vrc5074_BASE (KSEG1ADDR(Vrc5074_PHYS_BASE)) | ||
254 | #define PCI_WINDOW1 0x1a000000 | ||
255 | |||
256 | #endif /* _LASAT_H */ | ||
diff --git a/include/asm-mips/lasat/lasatint.h b/include/asm-mips/lasat/lasatint.h new file mode 100644 index 000000000000..065474feeccc --- /dev/null +++ b/include/asm-mips/lasat/lasatint.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #define LASATINT_END 16 | ||
2 | |||
3 | /* lasat 100 */ | ||
4 | #define LASAT_INT_STATUS_REG_100 (KSEG1ADDR(0x1c880000)) | ||
5 | #define LASAT_INT_MASK_REG_100 (KSEG1ADDR(0x1c890000)) | ||
6 | #define LASATINT_MASK_SHIFT_100 0 | ||
7 | |||
8 | /* lasat 200 */ | ||
9 | #define LASAT_INT_STATUS_REG_200 (KSEG1ADDR(0x1104003c)) | ||
10 | #define LASAT_INT_MASK_REG_200 (KSEG1ADDR(0x1104003c)) | ||
11 | #define LASATINT_MASK_SHIFT_200 16 | ||
12 | |||
diff --git a/include/asm-mips/lasat/picvue.h b/include/asm-mips/lasat/picvue.h new file mode 100644 index 000000000000..42a492edc40e --- /dev/null +++ b/include/asm-mips/lasat/picvue.h | |||
@@ -0,0 +1,15 @@ | |||
1 | /* Lasat 100 */ | ||
2 | #define PVC_REG_100 KSEG1ADDR(0x1c820000) | ||
3 | #define PVC_DATA_SHIFT_100 0 | ||
4 | #define PVC_DATA_M_100 0xFF | ||
5 | #define PVC_E_100 (1 << 8) | ||
6 | #define PVC_RW_100 (1 << 9) | ||
7 | #define PVC_RS_100 (1 << 10) | ||
8 | |||
9 | /* Lasat 200 */ | ||
10 | #define PVC_REG_200 KSEG1ADDR(0x11000000) | ||
11 | #define PVC_DATA_SHIFT_200 24 | ||
12 | #define PVC_DATA_M_200 (0xFF << PVC_DATA_SHIFT_200) | ||
13 | #define PVC_E_200 (1 << 16) | ||
14 | #define PVC_RW_200 (1 << 17) | ||
15 | #define PVC_RS_200 (1 << 18) | ||
diff --git a/include/asm-mips/lasat/serial.h b/include/asm-mips/lasat/serial.h new file mode 100644 index 000000000000..bafe68b10614 --- /dev/null +++ b/include/asm-mips/lasat/serial.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #include <asm/lasat/lasat.h> | ||
2 | |||
3 | /* Lasat 100 boards serial configuration */ | ||
4 | #define LASAT_BASE_BAUD_100 (7372800 / 16) | ||
5 | #define LASAT_UART_REGS_BASE_100 0x1c8b0000 | ||
6 | #define LASAT_UART_REGS_SHIFT_100 2 | ||
7 | #define LASATINT_UART_100 8 | ||
8 | |||
9 | /* * LASAT 200 boards serial configuration */ | ||
10 | #define LASAT_BASE_BAUD_200 (100000000 / 16 / 12) | ||
11 | #define LASAT_UART_REGS_BASE_200 (Vrc5074_PHYS_BASE + 0x0300) | ||
12 | #define LASAT_UART_REGS_SHIFT_200 3 | ||
13 | #define LASATINT_UART_200 13 | ||
diff --git a/include/asm-mips/linkage.h b/include/asm-mips/linkage.h index b6185d3cfe68..e9a940d1b0c6 100644 --- a/include/asm-mips/linkage.h +++ b/include/asm-mips/linkage.h | |||
@@ -5,4 +5,6 @@ | |||
5 | #include <asm/asm.h> | 5 | #include <asm/asm.h> |
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | #define __weak __attribute__((weak)) | ||
9 | |||
8 | #endif | 10 | #endif |
diff --git a/include/asm-mips/local.h b/include/asm-mips/local.h index ed882c88e0ca..f96fd59e0845 100644 --- a/include/asm-mips/local.h +++ b/include/asm-mips/local.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/percpu.h> | 4 | #include <linux/percpu.h> |
5 | #include <linux/bitops.h> | 5 | #include <linux/bitops.h> |
6 | #include <asm/atomic.h> | 6 | #include <asm/atomic.h> |
7 | #include <asm/cmpxchg.h> | ||
7 | #include <asm/war.h> | 8 | #include <asm/war.h> |
8 | 9 | ||
9 | typedef struct | 10 | typedef struct |
@@ -14,10 +15,10 @@ typedef struct | |||
14 | #define LOCAL_INIT(i) { ATOMIC_LONG_INIT(i) } | 15 | #define LOCAL_INIT(i) { ATOMIC_LONG_INIT(i) } |
15 | 16 | ||
16 | #define local_read(l) atomic_long_read(&(l)->a) | 17 | #define local_read(l) atomic_long_read(&(l)->a) |
17 | #define local_set(l,i) atomic_long_set(&(l)->a, (i)) | 18 | #define local_set(l, i) atomic_long_set(&(l)->a, (i)) |
18 | 19 | ||
19 | #define local_add(i,l) atomic_long_add((i),(&(l)->a)) | 20 | #define local_add(i, l) atomic_long_add((i), (&(l)->a)) |
20 | #define local_sub(i,l) atomic_long_sub((i),(&(l)->a)) | 21 | #define local_sub(i, l) atomic_long_sub((i), (&(l)->a)) |
21 | #define local_inc(l) atomic_long_inc(&(l)->a) | 22 | #define local_inc(l) atomic_long_inc(&(l)->a) |
22 | #define local_dec(l) atomic_long_dec(&(l)->a) | 23 | #define local_dec(l) atomic_long_dec(&(l)->a) |
23 | 24 | ||
@@ -114,71 +115,9 @@ static __inline__ long local_sub_return(long i, local_t * l) | |||
114 | return result; | 115 | return result; |
115 | } | 116 | } |
116 | 117 | ||
117 | /* | ||
118 | * local_sub_if_positive - conditionally subtract integer from atomic variable | ||
119 | * @i: integer value to subtract | ||
120 | * @l: pointer of type local_t | ||
121 | * | ||
122 | * Atomically test @l and subtract @i if @l is greater or equal than @i. | ||
123 | * The function returns the old value of @l minus @i. | ||
124 | */ | ||
125 | static __inline__ long local_sub_if_positive(long i, local_t * l) | ||
126 | { | ||
127 | unsigned long result; | ||
128 | |||
129 | if (cpu_has_llsc && R10000_LLSC_WAR) { | ||
130 | unsigned long temp; | ||
131 | |||
132 | __asm__ __volatile__( | ||
133 | " .set mips3 \n" | ||
134 | "1:" __LL "%1, %2 # local_sub_if_positive\n" | ||
135 | " dsubu %0, %1, %3 \n" | ||
136 | " bltz %0, 1f \n" | ||
137 | __SC "%0, %2 \n" | ||
138 | " .set noreorder \n" | ||
139 | " beqzl %0, 1b \n" | ||
140 | " dsubu %0, %1, %3 \n" | ||
141 | " .set reorder \n" | ||
142 | "1: \n" | ||
143 | " .set mips0 \n" | ||
144 | : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) | ||
145 | : "Ir" (i), "m" (l->a.counter) | ||
146 | : "memory"); | ||
147 | } else if (cpu_has_llsc) { | ||
148 | unsigned long temp; | ||
149 | |||
150 | __asm__ __volatile__( | ||
151 | " .set mips3 \n" | ||
152 | "1:" __LL "%1, %2 # local_sub_if_positive\n" | ||
153 | " dsubu %0, %1, %3 \n" | ||
154 | " bltz %0, 1f \n" | ||
155 | __SC "%0, %2 \n" | ||
156 | " .set noreorder \n" | ||
157 | " beqz %0, 1b \n" | ||
158 | " dsubu %0, %1, %3 \n" | ||
159 | " .set reorder \n" | ||
160 | "1: \n" | ||
161 | " .set mips0 \n" | ||
162 | : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) | ||
163 | : "Ir" (i), "m" (l->a.counter) | ||
164 | : "memory"); | ||
165 | } else { | ||
166 | unsigned long flags; | ||
167 | |||
168 | local_irq_save(flags); | ||
169 | result = l->a.counter; | ||
170 | result -= i; | ||
171 | if (result >= 0) | ||
172 | l->a.counter = result; | ||
173 | local_irq_restore(flags); | ||
174 | } | ||
175 | |||
176 | return result; | ||
177 | } | ||
178 | |||
179 | #define local_cmpxchg(l, o, n) \ | 118 | #define local_cmpxchg(l, o, n) \ |
180 | ((long)cmpxchg_local(&((l)->a.counter), (o), (n))) | 119 | ((long)cmpxchg_local(&((l)->a.counter), (o), (n))) |
181 | #define local_xchg(l, n) (xchg_local(&((l)->a.counter),(n))) | 120 | #define local_xchg(l, n) (xchg_local(&((l)->a.counter), (n))) |
182 | 121 | ||
183 | /** | 122 | /** |
184 | * local_add_unless - add unless the number is a given value | 123 | * local_add_unless - add unless the number is a given value |
@@ -199,8 +138,8 @@ static __inline__ long local_sub_if_positive(long i, local_t * l) | |||
199 | }) | 138 | }) |
200 | #define local_inc_not_zero(l) local_add_unless((l), 1, 0) | 139 | #define local_inc_not_zero(l) local_add_unless((l), 1, 0) |
201 | 140 | ||
202 | #define local_dec_return(l) local_sub_return(1,(l)) | 141 | #define local_dec_return(l) local_sub_return(1, (l)) |
203 | #define local_inc_return(l) local_add_return(1,(l)) | 142 | #define local_inc_return(l) local_add_return(1, (l)) |
204 | 143 | ||
205 | /* | 144 | /* |
206 | * local_sub_and_test - subtract value from variable and test result | 145 | * local_sub_and_test - subtract value from variable and test result |
@@ -211,7 +150,7 @@ static __inline__ long local_sub_if_positive(long i, local_t * l) | |||
211 | * true if the result is zero, or false for all | 150 | * true if the result is zero, or false for all |
212 | * other cases. | 151 | * other cases. |
213 | */ | 152 | */ |
214 | #define local_sub_and_test(i,l) (local_sub_return((i), (l)) == 0) | 153 | #define local_sub_and_test(i, l) (local_sub_return((i), (l)) == 0) |
215 | 154 | ||
216 | /* | 155 | /* |
217 | * local_inc_and_test - increment and test | 156 | * local_inc_and_test - increment and test |
@@ -234,12 +173,6 @@ static __inline__ long local_sub_if_positive(long i, local_t * l) | |||
234 | #define local_dec_and_test(l) (local_sub_return(1, (l)) == 0) | 173 | #define local_dec_and_test(l) (local_sub_return(1, (l)) == 0) |
235 | 174 | ||
236 | /* | 175 | /* |
237 | * local_dec_if_positive - decrement by 1 if old value positive | ||
238 | * @l: pointer of type local_t | ||
239 | */ | ||
240 | #define local_dec_if_positive(l) local_sub_if_positive(1, l) | ||
241 | |||
242 | /* | ||
243 | * local_add_negative - add and test if negative | 176 | * local_add_negative - add and test if negative |
244 | * @l: pointer of type local_t | 177 | * @l: pointer of type local_t |
245 | * @i: integer value to add | 178 | * @i: integer value to add |
@@ -248,7 +181,7 @@ static __inline__ long local_sub_if_positive(long i, local_t * l) | |||
248 | * if the result is negative, or false when | 181 | * if the result is negative, or false when |
249 | * result is greater than or equal to zero. | 182 | * result is greater than or equal to zero. |
250 | */ | 183 | */ |
251 | #define local_add_negative(i,l) (local_add_return(i, (l)) < 0) | 184 | #define local_add_negative(i, l) (local_add_return(i, (l)) < 0) |
252 | 185 | ||
253 | /* Use these for per-cpu local_t variables: on some archs they are | 186 | /* Use these for per-cpu local_t variables: on some archs they are |
254 | * much more efficient than these naive implementations. Note they take | 187 | * much more efficient than these naive implementations. Note they take |
@@ -257,8 +190,8 @@ static __inline__ long local_sub_if_positive(long i, local_t * l) | |||
257 | 190 | ||
258 | #define __local_inc(l) ((l)->a.counter++) | 191 | #define __local_inc(l) ((l)->a.counter++) |
259 | #define __local_dec(l) ((l)->a.counter++) | 192 | #define __local_dec(l) ((l)->a.counter++) |
260 | #define __local_add(i,l) ((l)->a.counter+=(i)) | 193 | #define __local_add(i, l) ((l)->a.counter+=(i)) |
261 | #define __local_sub(i,l) ((l)->a.counter-=(i)) | 194 | #define __local_sub(i, l) ((l)->a.counter-=(i)) |
262 | 195 | ||
263 | /* Need to disable preemption for the cpu local counters otherwise we could | 196 | /* Need to disable preemption for the cpu local counters otherwise we could |
264 | still access a variable of a previous CPU in a non atomic way. */ | 197 | still access a variable of a previous CPU in a non atomic way. */ |
diff --git a/include/asm-mips/mach-au1x00/au1000.h b/include/asm-mips/mach-au1x00/au1000.h index 58fca8a5a9a6..10f613f23c33 100644 --- a/include/asm-mips/mach-au1x00/au1000.h +++ b/include/asm-mips/mach-au1x00/au1000.h | |||
@@ -951,25 +951,25 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
951 | /* Programmable Counters 0 and 1 */ | 951 | /* Programmable Counters 0 and 1 */ |
952 | #define SYS_BASE 0xB1900000 | 952 | #define SYS_BASE 0xB1900000 |
953 | #define SYS_COUNTER_CNTRL (SYS_BASE + 0x14) | 953 | #define SYS_COUNTER_CNTRL (SYS_BASE + 0x14) |
954 | #define SYS_CNTRL_E1S (1<<23) | 954 | # define SYS_CNTRL_E1S (1<<23) |
955 | #define SYS_CNTRL_T1S (1<<20) | 955 | # define SYS_CNTRL_T1S (1<<20) |
956 | #define SYS_CNTRL_M21 (1<<19) | 956 | # define SYS_CNTRL_M21 (1<<19) |
957 | #define SYS_CNTRL_M11 (1<<18) | 957 | # define SYS_CNTRL_M11 (1<<18) |
958 | #define SYS_CNTRL_M01 (1<<17) | 958 | # define SYS_CNTRL_M01 (1<<17) |
959 | #define SYS_CNTRL_C1S (1<<16) | 959 | # define SYS_CNTRL_C1S (1<<16) |
960 | #define SYS_CNTRL_BP (1<<14) | 960 | # define SYS_CNTRL_BP (1<<14) |
961 | #define SYS_CNTRL_EN1 (1<<13) | 961 | # define SYS_CNTRL_EN1 (1<<13) |
962 | #define SYS_CNTRL_BT1 (1<<12) | 962 | # define SYS_CNTRL_BT1 (1<<12) |
963 | #define SYS_CNTRL_EN0 (1<<11) | 963 | # define SYS_CNTRL_EN0 (1<<11) |
964 | #define SYS_CNTRL_BT0 (1<<10) | 964 | # define SYS_CNTRL_BT0 (1<<10) |
965 | #define SYS_CNTRL_E0 (1<<8) | 965 | # define SYS_CNTRL_E0 (1<<8) |
966 | #define SYS_CNTRL_E0S (1<<7) | 966 | # define SYS_CNTRL_E0S (1<<7) |
967 | #define SYS_CNTRL_32S (1<<5) | 967 | # define SYS_CNTRL_32S (1<<5) |
968 | #define SYS_CNTRL_T0S (1<<4) | 968 | # define SYS_CNTRL_T0S (1<<4) |
969 | #define SYS_CNTRL_M20 (1<<3) | 969 | # define SYS_CNTRL_M20 (1<<3) |
970 | #define SYS_CNTRL_M10 (1<<2) | 970 | # define SYS_CNTRL_M10 (1<<2) |
971 | #define SYS_CNTRL_M00 (1<<1) | 971 | # define SYS_CNTRL_M00 (1<<1) |
972 | #define SYS_CNTRL_C0S (1<<0) | 972 | # define SYS_CNTRL_C0S (1<<0) |
973 | 973 | ||
974 | /* Programmable Counter 0 Registers */ | 974 | /* Programmable Counter 0 Registers */ |
975 | #define SYS_TOYTRIM (SYS_BASE + 0) | 975 | #define SYS_TOYTRIM (SYS_BASE + 0) |
@@ -989,34 +989,34 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
989 | 989 | ||
990 | /* I2S Controller */ | 990 | /* I2S Controller */ |
991 | #define I2S_DATA 0xB1000000 | 991 | #define I2S_DATA 0xB1000000 |
992 | #define I2S_DATA_MASK (0xffffff) | 992 | # define I2S_DATA_MASK (0xffffff) |
993 | #define I2S_CONFIG 0xB1000004 | 993 | #define I2S_CONFIG 0xB1000004 |
994 | #define I2S_CONFIG_XU (1<<25) | 994 | # define I2S_CONFIG_XU (1<<25) |
995 | #define I2S_CONFIG_XO (1<<24) | 995 | # define I2S_CONFIG_XO (1<<24) |
996 | #define I2S_CONFIG_RU (1<<23) | 996 | # define I2S_CONFIG_RU (1<<23) |
997 | #define I2S_CONFIG_RO (1<<22) | 997 | # define I2S_CONFIG_RO (1<<22) |
998 | #define I2S_CONFIG_TR (1<<21) | 998 | # define I2S_CONFIG_TR (1<<21) |
999 | #define I2S_CONFIG_TE (1<<20) | 999 | # define I2S_CONFIG_TE (1<<20) |
1000 | #define I2S_CONFIG_TF (1<<19) | 1000 | # define I2S_CONFIG_TF (1<<19) |
1001 | #define I2S_CONFIG_RR (1<<18) | 1001 | # define I2S_CONFIG_RR (1<<18) |
1002 | #define I2S_CONFIG_RE (1<<17) | 1002 | # define I2S_CONFIG_RE (1<<17) |
1003 | #define I2S_CONFIG_RF (1<<16) | 1003 | # define I2S_CONFIG_RF (1<<16) |
1004 | #define I2S_CONFIG_PD (1<<11) | 1004 | # define I2S_CONFIG_PD (1<<11) |
1005 | #define I2S_CONFIG_LB (1<<10) | 1005 | # define I2S_CONFIG_LB (1<<10) |
1006 | #define I2S_CONFIG_IC (1<<9) | 1006 | # define I2S_CONFIG_IC (1<<9) |
1007 | #define I2S_CONFIG_FM_BIT 7 | 1007 | # define I2S_CONFIG_FM_BIT 7 |
1008 | #define I2S_CONFIG_FM_MASK (0x3 << I2S_CONFIG_FM_BIT) | 1008 | # define I2S_CONFIG_FM_MASK (0x3 << I2S_CONFIG_FM_BIT) |
1009 | #define I2S_CONFIG_FM_I2S (0x0 << I2S_CONFIG_FM_BIT) | 1009 | # define I2S_CONFIG_FM_I2S (0x0 << I2S_CONFIG_FM_BIT) |
1010 | #define I2S_CONFIG_FM_LJ (0x1 << I2S_CONFIG_FM_BIT) | 1010 | # define I2S_CONFIG_FM_LJ (0x1 << I2S_CONFIG_FM_BIT) |
1011 | #define I2S_CONFIG_FM_RJ (0x2 << I2S_CONFIG_FM_BIT) | 1011 | # define I2S_CONFIG_FM_RJ (0x2 << I2S_CONFIG_FM_BIT) |
1012 | #define I2S_CONFIG_TN (1<<6) | 1012 | # define I2S_CONFIG_TN (1<<6) |
1013 | #define I2S_CONFIG_RN (1<<5) | 1013 | # define I2S_CONFIG_RN (1<<5) |
1014 | #define I2S_CONFIG_SZ_BIT 0 | 1014 | # define I2S_CONFIG_SZ_BIT 0 |
1015 | #define I2S_CONFIG_SZ_MASK (0x1F << I2S_CONFIG_SZ_BIT) | 1015 | # define I2S_CONFIG_SZ_MASK (0x1F << I2S_CONFIG_SZ_BIT) |
1016 | 1016 | ||
1017 | #define I2S_CONTROL 0xB1000008 | 1017 | #define I2S_CONTROL 0xB1000008 |
1018 | #define I2S_CONTROL_D (1<<1) | 1018 | # define I2S_CONTROL_D (1<<1) |
1019 | #define I2S_CONTROL_CE (1<<0) | 1019 | # define I2S_CONTROL_CE (1<<0) |
1020 | 1020 | ||
1021 | /* USB Host Controller */ | 1021 | /* USB Host Controller */ |
1022 | #ifndef USB_OHCI_LEN | 1022 | #ifndef USB_OHCI_LEN |
@@ -1034,38 +1034,38 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1034 | #define USBD_EP5RD 0xB0200014 | 1034 | #define USBD_EP5RD 0xB0200014 |
1035 | #define USBD_INTEN 0xB0200018 | 1035 | #define USBD_INTEN 0xB0200018 |
1036 | #define USBD_INTSTAT 0xB020001C | 1036 | #define USBD_INTSTAT 0xB020001C |
1037 | #define USBDEV_INT_SOF (1<<12) | 1037 | # define USBDEV_INT_SOF (1<<12) |
1038 | #define USBDEV_INT_HF_BIT 6 | 1038 | # define USBDEV_INT_HF_BIT 6 |
1039 | #define USBDEV_INT_HF_MASK (0x3f << USBDEV_INT_HF_BIT) | 1039 | # define USBDEV_INT_HF_MASK (0x3f << USBDEV_INT_HF_BIT) |
1040 | #define USBDEV_INT_CMPLT_BIT 0 | 1040 | # define USBDEV_INT_CMPLT_BIT 0 |
1041 | #define USBDEV_INT_CMPLT_MASK (0x3f << USBDEV_INT_CMPLT_BIT) | 1041 | # define USBDEV_INT_CMPLT_MASK (0x3f << USBDEV_INT_CMPLT_BIT) |
1042 | #define USBD_CONFIG 0xB0200020 | 1042 | #define USBD_CONFIG 0xB0200020 |
1043 | #define USBD_EP0CS 0xB0200024 | 1043 | #define USBD_EP0CS 0xB0200024 |
1044 | #define USBD_EP2CS 0xB0200028 | 1044 | #define USBD_EP2CS 0xB0200028 |
1045 | #define USBD_EP3CS 0xB020002C | 1045 | #define USBD_EP3CS 0xB020002C |
1046 | #define USBD_EP4CS 0xB0200030 | 1046 | #define USBD_EP4CS 0xB0200030 |
1047 | #define USBD_EP5CS 0xB0200034 | 1047 | #define USBD_EP5CS 0xB0200034 |
1048 | #define USBDEV_CS_SU (1<<14) | 1048 | # define USBDEV_CS_SU (1<<14) |
1049 | #define USBDEV_CS_NAK (1<<13) | 1049 | # define USBDEV_CS_NAK (1<<13) |
1050 | #define USBDEV_CS_ACK (1<<12) | 1050 | # define USBDEV_CS_ACK (1<<12) |
1051 | #define USBDEV_CS_BUSY (1<<11) | 1051 | # define USBDEV_CS_BUSY (1<<11) |
1052 | #define USBDEV_CS_TSIZE_BIT 1 | 1052 | # define USBDEV_CS_TSIZE_BIT 1 |
1053 | #define USBDEV_CS_TSIZE_MASK (0x3ff << USBDEV_CS_TSIZE_BIT) | 1053 | # define USBDEV_CS_TSIZE_MASK (0x3ff << USBDEV_CS_TSIZE_BIT) |
1054 | #define USBDEV_CS_STALL (1<<0) | 1054 | # define USBDEV_CS_STALL (1<<0) |
1055 | #define USBD_EP0RDSTAT 0xB0200040 | 1055 | #define USBD_EP0RDSTAT 0xB0200040 |
1056 | #define USBD_EP0WRSTAT 0xB0200044 | 1056 | #define USBD_EP0WRSTAT 0xB0200044 |
1057 | #define USBD_EP2WRSTAT 0xB0200048 | 1057 | #define USBD_EP2WRSTAT 0xB0200048 |
1058 | #define USBD_EP3WRSTAT 0xB020004C | 1058 | #define USBD_EP3WRSTAT 0xB020004C |
1059 | #define USBD_EP4RDSTAT 0xB0200050 | 1059 | #define USBD_EP4RDSTAT 0xB0200050 |
1060 | #define USBD_EP5RDSTAT 0xB0200054 | 1060 | #define USBD_EP5RDSTAT 0xB0200054 |
1061 | #define USBDEV_FSTAT_FLUSH (1<<6) | 1061 | # define USBDEV_FSTAT_FLUSH (1<<6) |
1062 | #define USBDEV_FSTAT_UF (1<<5) | 1062 | # define USBDEV_FSTAT_UF (1<<5) |
1063 | #define USBDEV_FSTAT_OF (1<<4) | 1063 | # define USBDEV_FSTAT_OF (1<<4) |
1064 | #define USBDEV_FSTAT_FCNT_BIT 0 | 1064 | # define USBDEV_FSTAT_FCNT_BIT 0 |
1065 | #define USBDEV_FSTAT_FCNT_MASK (0x0f << USBDEV_FSTAT_FCNT_BIT) | 1065 | # define USBDEV_FSTAT_FCNT_MASK (0x0f << USBDEV_FSTAT_FCNT_BIT) |
1066 | #define USBD_ENABLE 0xB0200058 | 1066 | #define USBD_ENABLE 0xB0200058 |
1067 | #define USBDEV_ENABLE (1<<1) | 1067 | # define USBDEV_ENABLE (1<<1) |
1068 | #define USBDEV_CE (1<<0) | 1068 | # define USBDEV_CE (1<<0) |
1069 | 1069 | ||
1070 | #endif /* !CONFIG_SOC_AU1200 */ | 1070 | #endif /* !CONFIG_SOC_AU1200 */ |
1071 | 1071 | ||
@@ -1073,55 +1073,55 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1073 | 1073 | ||
1074 | /* 4 byte offsets from AU1000_ETH_BASE */ | 1074 | /* 4 byte offsets from AU1000_ETH_BASE */ |
1075 | #define MAC_CONTROL 0x0 | 1075 | #define MAC_CONTROL 0x0 |
1076 | #define MAC_RX_ENABLE (1<<2) | 1076 | # define MAC_RX_ENABLE (1<<2) |
1077 | #define MAC_TX_ENABLE (1<<3) | 1077 | # define MAC_TX_ENABLE (1<<3) |
1078 | #define MAC_DEF_CHECK (1<<5) | 1078 | # define MAC_DEF_CHECK (1<<5) |
1079 | #define MAC_SET_BL(X) (((X)&0x3)<<6) | 1079 | # define MAC_SET_BL(X) (((X)&0x3)<<6) |
1080 | #define MAC_AUTO_PAD (1<<8) | 1080 | # define MAC_AUTO_PAD (1<<8) |
1081 | #define MAC_DISABLE_RETRY (1<<10) | 1081 | # define MAC_DISABLE_RETRY (1<<10) |
1082 | #define MAC_DISABLE_BCAST (1<<11) | 1082 | # define MAC_DISABLE_BCAST (1<<11) |
1083 | #define MAC_LATE_COL (1<<12) | 1083 | # define MAC_LATE_COL (1<<12) |
1084 | #define MAC_HASH_MODE (1<<13) | 1084 | # define MAC_HASH_MODE (1<<13) |
1085 | #define MAC_HASH_ONLY (1<<15) | 1085 | # define MAC_HASH_ONLY (1<<15) |
1086 | #define MAC_PASS_ALL (1<<16) | 1086 | # define MAC_PASS_ALL (1<<16) |
1087 | #define MAC_INVERSE_FILTER (1<<17) | 1087 | # define MAC_INVERSE_FILTER (1<<17) |
1088 | #define MAC_PROMISCUOUS (1<<18) | 1088 | # define MAC_PROMISCUOUS (1<<18) |
1089 | #define MAC_PASS_ALL_MULTI (1<<19) | 1089 | # define MAC_PASS_ALL_MULTI (1<<19) |
1090 | #define MAC_FULL_DUPLEX (1<<20) | 1090 | # define MAC_FULL_DUPLEX (1<<20) |
1091 | #define MAC_NORMAL_MODE 0 | 1091 | # define MAC_NORMAL_MODE 0 |
1092 | #define MAC_INT_LOOPBACK (1<<21) | 1092 | # define MAC_INT_LOOPBACK (1<<21) |
1093 | #define MAC_EXT_LOOPBACK (1<<22) | 1093 | # define MAC_EXT_LOOPBACK (1<<22) |
1094 | #define MAC_DISABLE_RX_OWN (1<<23) | 1094 | # define MAC_DISABLE_RX_OWN (1<<23) |
1095 | #define MAC_BIG_ENDIAN (1<<30) | 1095 | # define MAC_BIG_ENDIAN (1<<30) |
1096 | #define MAC_RX_ALL (1<<31) | 1096 | # define MAC_RX_ALL (1<<31) |
1097 | #define MAC_ADDRESS_HIGH 0x4 | 1097 | #define MAC_ADDRESS_HIGH 0x4 |
1098 | #define MAC_ADDRESS_LOW 0x8 | 1098 | #define MAC_ADDRESS_LOW 0x8 |
1099 | #define MAC_MCAST_HIGH 0xC | 1099 | #define MAC_MCAST_HIGH 0xC |
1100 | #define MAC_MCAST_LOW 0x10 | 1100 | #define MAC_MCAST_LOW 0x10 |
1101 | #define MAC_MII_CNTRL 0x14 | 1101 | #define MAC_MII_CNTRL 0x14 |
1102 | #define MAC_MII_BUSY (1<<0) | 1102 | # define MAC_MII_BUSY (1<<0) |
1103 | #define MAC_MII_READ 0 | 1103 | # define MAC_MII_READ 0 |
1104 | #define MAC_MII_WRITE (1<<1) | 1104 | # define MAC_MII_WRITE (1<<1) |
1105 | #define MAC_SET_MII_SELECT_REG(X) (((X)&0x1f)<<6) | 1105 | # define MAC_SET_MII_SELECT_REG(X) (((X)&0x1f)<<6) |
1106 | #define MAC_SET_MII_SELECT_PHY(X) (((X)&0x1f)<<11) | 1106 | # define MAC_SET_MII_SELECT_PHY(X) (((X)&0x1f)<<11) |
1107 | #define MAC_MII_DATA 0x18 | 1107 | #define MAC_MII_DATA 0x18 |
1108 | #define MAC_FLOW_CNTRL 0x1C | 1108 | #define MAC_FLOW_CNTRL 0x1C |
1109 | #define MAC_FLOW_CNTRL_BUSY (1<<0) | 1109 | # define MAC_FLOW_CNTRL_BUSY (1<<0) |
1110 | #define MAC_FLOW_CNTRL_ENABLE (1<<1) | 1110 | # define MAC_FLOW_CNTRL_ENABLE (1<<1) |
1111 | #define MAC_PASS_CONTROL (1<<2) | 1111 | # define MAC_PASS_CONTROL (1<<2) |
1112 | #define MAC_SET_PAUSE(X) (((X)&0xffff)<<16) | 1112 | # define MAC_SET_PAUSE(X) (((X)&0xffff)<<16) |
1113 | #define MAC_VLAN1_TAG 0x20 | 1113 | #define MAC_VLAN1_TAG 0x20 |
1114 | #define MAC_VLAN2_TAG 0x24 | 1114 | #define MAC_VLAN2_TAG 0x24 |
1115 | 1115 | ||
1116 | /* Ethernet Controller Enable */ | 1116 | /* Ethernet Controller Enable */ |
1117 | 1117 | ||
1118 | #define MAC_EN_CLOCK_ENABLE (1<<0) | 1118 | # define MAC_EN_CLOCK_ENABLE (1<<0) |
1119 | #define MAC_EN_RESET0 (1<<1) | 1119 | # define MAC_EN_RESET0 (1<<1) |
1120 | #define MAC_EN_TOSS (0<<2) | 1120 | # define MAC_EN_TOSS (0<<2) |
1121 | #define MAC_EN_CACHEABLE (1<<3) | 1121 | # define MAC_EN_CACHEABLE (1<<3) |
1122 | #define MAC_EN_RESET1 (1<<4) | 1122 | # define MAC_EN_RESET1 (1<<4) |
1123 | #define MAC_EN_RESET2 (1<<5) | 1123 | # define MAC_EN_RESET2 (1<<5) |
1124 | #define MAC_DMA_RESET (1<<6) | 1124 | # define MAC_DMA_RESET (1<<6) |
1125 | 1125 | ||
1126 | /* Ethernet Controller DMA Channels */ | 1126 | /* Ethernet Controller DMA Channels */ |
1127 | 1127 | ||
@@ -1129,22 +1129,22 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1129 | #define MAC1_TX_DMA_ADDR 0xB4004200 | 1129 | #define MAC1_TX_DMA_ADDR 0xB4004200 |
1130 | /* offsets from MAC_TX_RING_ADDR address */ | 1130 | /* offsets from MAC_TX_RING_ADDR address */ |
1131 | #define MAC_TX_BUFF0_STATUS 0x0 | 1131 | #define MAC_TX_BUFF0_STATUS 0x0 |
1132 | #define TX_FRAME_ABORTED (1<<0) | 1132 | # define TX_FRAME_ABORTED (1<<0) |
1133 | #define TX_JAB_TIMEOUT (1<<1) | 1133 | # define TX_JAB_TIMEOUT (1<<1) |
1134 | #define TX_NO_CARRIER (1<<2) | 1134 | # define TX_NO_CARRIER (1<<2) |
1135 | #define TX_LOSS_CARRIER (1<<3) | 1135 | # define TX_LOSS_CARRIER (1<<3) |
1136 | #define TX_EXC_DEF (1<<4) | 1136 | # define TX_EXC_DEF (1<<4) |
1137 | #define TX_LATE_COLL_ABORT (1<<5) | 1137 | # define TX_LATE_COLL_ABORT (1<<5) |
1138 | #define TX_EXC_COLL (1<<6) | 1138 | # define TX_EXC_COLL (1<<6) |
1139 | #define TX_UNDERRUN (1<<7) | 1139 | # define TX_UNDERRUN (1<<7) |
1140 | #define TX_DEFERRED (1<<8) | 1140 | # define TX_DEFERRED (1<<8) |
1141 | #define TX_LATE_COLL (1<<9) | 1141 | # define TX_LATE_COLL (1<<9) |
1142 | #define TX_COLL_CNT_MASK (0xF<<10) | 1142 | # define TX_COLL_CNT_MASK (0xF<<10) |
1143 | #define TX_PKT_RETRY (1<<31) | 1143 | # define TX_PKT_RETRY (1<<31) |
1144 | #define MAC_TX_BUFF0_ADDR 0x4 | 1144 | #define MAC_TX_BUFF0_ADDR 0x4 |
1145 | #define TX_DMA_ENABLE (1<<0) | 1145 | # define TX_DMA_ENABLE (1<<0) |
1146 | #define TX_T_DONE (1<<1) | 1146 | # define TX_T_DONE (1<<1) |
1147 | #define TX_GET_DMA_BUFFER(X) (((X)>>2)&0x3) | 1147 | # define TX_GET_DMA_BUFFER(X) (((X)>>2)&0x3) |
1148 | #define MAC_TX_BUFF0_LEN 0x8 | 1148 | #define MAC_TX_BUFF0_LEN 0x8 |
1149 | #define MAC_TX_BUFF1_STATUS 0x10 | 1149 | #define MAC_TX_BUFF1_STATUS 0x10 |
1150 | #define MAC_TX_BUFF1_ADDR 0x14 | 1150 | #define MAC_TX_BUFF1_ADDR 0x14 |
@@ -1160,34 +1160,34 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1160 | #define MAC1_RX_DMA_ADDR 0xB4004300 | 1160 | #define MAC1_RX_DMA_ADDR 0xB4004300 |
1161 | /* offsets from MAC_RX_RING_ADDR */ | 1161 | /* offsets from MAC_RX_RING_ADDR */ |
1162 | #define MAC_RX_BUFF0_STATUS 0x0 | 1162 | #define MAC_RX_BUFF0_STATUS 0x0 |
1163 | #define RX_FRAME_LEN_MASK 0x3fff | 1163 | # define RX_FRAME_LEN_MASK 0x3fff |
1164 | #define RX_WDOG_TIMER (1<<14) | 1164 | # define RX_WDOG_TIMER (1<<14) |
1165 | #define RX_RUNT (1<<15) | 1165 | # define RX_RUNT (1<<15) |
1166 | #define RX_OVERLEN (1<<16) | 1166 | # define RX_OVERLEN (1<<16) |
1167 | #define RX_COLL (1<<17) | 1167 | # define RX_COLL (1<<17) |
1168 | #define RX_ETHER (1<<18) | 1168 | # define RX_ETHER (1<<18) |
1169 | #define RX_MII_ERROR (1<<19) | 1169 | # define RX_MII_ERROR (1<<19) |
1170 | #define RX_DRIBBLING (1<<20) | 1170 | # define RX_DRIBBLING (1<<20) |
1171 | #define RX_CRC_ERROR (1<<21) | 1171 | # define RX_CRC_ERROR (1<<21) |
1172 | #define RX_VLAN1 (1<<22) | 1172 | # define RX_VLAN1 (1<<22) |
1173 | #define RX_VLAN2 (1<<23) | 1173 | # define RX_VLAN2 (1<<23) |
1174 | #define RX_LEN_ERROR (1<<24) | 1174 | # define RX_LEN_ERROR (1<<24) |
1175 | #define RX_CNTRL_FRAME (1<<25) | 1175 | # define RX_CNTRL_FRAME (1<<25) |
1176 | #define RX_U_CNTRL_FRAME (1<<26) | 1176 | # define RX_U_CNTRL_FRAME (1<<26) |
1177 | #define RX_MCAST_FRAME (1<<27) | 1177 | # define RX_MCAST_FRAME (1<<27) |
1178 | #define RX_BCAST_FRAME (1<<28) | 1178 | # define RX_BCAST_FRAME (1<<28) |
1179 | #define RX_FILTER_FAIL (1<<29) | 1179 | # define RX_FILTER_FAIL (1<<29) |
1180 | #define RX_PACKET_FILTER (1<<30) | 1180 | # define RX_PACKET_FILTER (1<<30) |
1181 | #define RX_MISSED_FRAME (1<<31) | 1181 | # define RX_MISSED_FRAME (1<<31) |
1182 | 1182 | ||
1183 | #define RX_ERROR (RX_WDOG_TIMER | RX_RUNT | RX_OVERLEN | \ | 1183 | # define RX_ERROR (RX_WDOG_TIMER | RX_RUNT | RX_OVERLEN | \ |
1184 | RX_COLL | RX_MII_ERROR | RX_CRC_ERROR | \ | 1184 | RX_COLL | RX_MII_ERROR | RX_CRC_ERROR | \ |
1185 | RX_LEN_ERROR | RX_U_CNTRL_FRAME | RX_MISSED_FRAME) | 1185 | RX_LEN_ERROR | RX_U_CNTRL_FRAME | RX_MISSED_FRAME) |
1186 | #define MAC_RX_BUFF0_ADDR 0x4 | 1186 | #define MAC_RX_BUFF0_ADDR 0x4 |
1187 | #define RX_DMA_ENABLE (1<<0) | 1187 | # define RX_DMA_ENABLE (1<<0) |
1188 | #define RX_T_DONE (1<<1) | 1188 | # define RX_T_DONE (1<<1) |
1189 | #define RX_GET_DMA_BUFFER(X) (((X)>>2)&0x3) | 1189 | # define RX_GET_DMA_BUFFER(X) (((X)>>2)&0x3) |
1190 | #define RX_SET_BUFF_ADDR(X) ((X)&0xffffffc0) | 1190 | # define RX_SET_BUFF_ADDR(X) ((X)&0xffffffc0) |
1191 | #define MAC_RX_BUFF1_STATUS 0x10 | 1191 | #define MAC_RX_BUFF1_STATUS 0x10 |
1192 | #define MAC_RX_BUFF1_ADDR 0x14 | 1192 | #define MAC_RX_BUFF1_ADDR 0x14 |
1193 | #define MAC_RX_BUFF2_STATUS 0x20 | 1193 | #define MAC_RX_BUFF2_STATUS 0x20 |
@@ -1298,44 +1298,44 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1298 | 1298 | ||
1299 | /* SSIO */ | 1299 | /* SSIO */ |
1300 | #define SSI0_STATUS 0xB1600000 | 1300 | #define SSI0_STATUS 0xB1600000 |
1301 | #define SSI_STATUS_BF (1<<4) | 1301 | # define SSI_STATUS_BF (1<<4) |
1302 | #define SSI_STATUS_OF (1<<3) | 1302 | # define SSI_STATUS_OF (1<<3) |
1303 | #define SSI_STATUS_UF (1<<2) | 1303 | # define SSI_STATUS_UF (1<<2) |
1304 | #define SSI_STATUS_D (1<<1) | 1304 | # define SSI_STATUS_D (1<<1) |
1305 | #define SSI_STATUS_B (1<<0) | 1305 | # define SSI_STATUS_B (1<<0) |
1306 | #define SSI0_INT 0xB1600004 | 1306 | #define SSI0_INT 0xB1600004 |
1307 | #define SSI_INT_OI (1<<3) | 1307 | # define SSI_INT_OI (1<<3) |
1308 | #define SSI_INT_UI (1<<2) | 1308 | # define SSI_INT_UI (1<<2) |
1309 | #define SSI_INT_DI (1<<1) | 1309 | # define SSI_INT_DI (1<<1) |
1310 | #define SSI0_INT_ENABLE 0xB1600008 | 1310 | #define SSI0_INT_ENABLE 0xB1600008 |
1311 | #define SSI_INTE_OIE (1<<3) | 1311 | # define SSI_INTE_OIE (1<<3) |
1312 | #define SSI_INTE_UIE (1<<2) | 1312 | # define SSI_INTE_UIE (1<<2) |
1313 | #define SSI_INTE_DIE (1<<1) | 1313 | # define SSI_INTE_DIE (1<<1) |
1314 | #define SSI0_CONFIG 0xB1600020 | 1314 | #define SSI0_CONFIG 0xB1600020 |
1315 | #define SSI_CONFIG_AO (1<<24) | 1315 | # define SSI_CONFIG_AO (1<<24) |
1316 | #define SSI_CONFIG_DO (1<<23) | 1316 | # define SSI_CONFIG_DO (1<<23) |
1317 | #define SSI_CONFIG_ALEN_BIT 20 | 1317 | # define SSI_CONFIG_ALEN_BIT 20 |
1318 | #define SSI_CONFIG_ALEN_MASK (0x7<<20) | 1318 | # define SSI_CONFIG_ALEN_MASK (0x7<<20) |
1319 | #define SSI_CONFIG_DLEN_BIT 16 | 1319 | # define SSI_CONFIG_DLEN_BIT 16 |
1320 | #define SSI_CONFIG_DLEN_MASK (0x7<<16) | 1320 | # define SSI_CONFIG_DLEN_MASK (0x7<<16) |
1321 | #define SSI_CONFIG_DD (1<<11) | 1321 | # define SSI_CONFIG_DD (1<<11) |
1322 | #define SSI_CONFIG_AD (1<<10) | 1322 | # define SSI_CONFIG_AD (1<<10) |
1323 | #define SSI_CONFIG_BM_BIT 8 | 1323 | # define SSI_CONFIG_BM_BIT 8 |
1324 | #define SSI_CONFIG_BM_MASK (0x3<<8) | 1324 | # define SSI_CONFIG_BM_MASK (0x3<<8) |
1325 | #define SSI_CONFIG_CE (1<<7) | 1325 | # define SSI_CONFIG_CE (1<<7) |
1326 | #define SSI_CONFIG_DP (1<<6) | 1326 | # define SSI_CONFIG_DP (1<<6) |
1327 | #define SSI_CONFIG_DL (1<<5) | 1327 | # define SSI_CONFIG_DL (1<<5) |
1328 | #define SSI_CONFIG_EP (1<<4) | 1328 | # define SSI_CONFIG_EP (1<<4) |
1329 | #define SSI0_ADATA 0xB1600024 | 1329 | #define SSI0_ADATA 0xB1600024 |
1330 | #define SSI_AD_D (1<<24) | 1330 | # define SSI_AD_D (1<<24) |
1331 | #define SSI_AD_ADDR_BIT 16 | 1331 | # define SSI_AD_ADDR_BIT 16 |
1332 | #define SSI_AD_ADDR_MASK (0xff<<16) | 1332 | # define SSI_AD_ADDR_MASK (0xff<<16) |
1333 | #define SSI_AD_DATA_BIT 0 | 1333 | # define SSI_AD_DATA_BIT 0 |
1334 | #define SSI_AD_DATA_MASK (0xfff<<0) | 1334 | # define SSI_AD_DATA_MASK (0xfff<<0) |
1335 | #define SSI0_CLKDIV 0xB1600028 | 1335 | #define SSI0_CLKDIV 0xB1600028 |
1336 | #define SSI0_CONTROL 0xB1600100 | 1336 | #define SSI0_CONTROL 0xB1600100 |
1337 | #define SSI_CONTROL_CD (1<<1) | 1337 | # define SSI_CONTROL_CD (1<<1) |
1338 | #define SSI_CONTROL_E (1<<0) | 1338 | # define SSI_CONTROL_E (1<<0) |
1339 | 1339 | ||
1340 | /* SSI1 */ | 1340 | /* SSI1 */ |
1341 | #define SSI1_STATUS 0xB1680000 | 1341 | #define SSI1_STATUS 0xB1680000 |
@@ -1401,75 +1401,75 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1401 | #define IR_RING_ADDR_CMPR (IRDA_BASE+0x14) | 1401 | #define IR_RING_ADDR_CMPR (IRDA_BASE+0x14) |
1402 | #define IR_INT_CLEAR (IRDA_BASE+0x18) | 1402 | #define IR_INT_CLEAR (IRDA_BASE+0x18) |
1403 | #define IR_CONFIG_1 (IRDA_BASE+0x20) | 1403 | #define IR_CONFIG_1 (IRDA_BASE+0x20) |
1404 | #define IR_RX_INVERT_LED (1<<0) | 1404 | # define IR_RX_INVERT_LED (1<<0) |
1405 | #define IR_TX_INVERT_LED (1<<1) | 1405 | # define IR_TX_INVERT_LED (1<<1) |
1406 | #define IR_ST (1<<2) | 1406 | # define IR_ST (1<<2) |
1407 | #define IR_SF (1<<3) | 1407 | # define IR_SF (1<<3) |
1408 | #define IR_SIR (1<<4) | 1408 | # define IR_SIR (1<<4) |
1409 | #define IR_MIR (1<<5) | 1409 | # define IR_MIR (1<<5) |
1410 | #define IR_FIR (1<<6) | 1410 | # define IR_FIR (1<<6) |
1411 | #define IR_16CRC (1<<7) | 1411 | # define IR_16CRC (1<<7) |
1412 | #define IR_TD (1<<8) | 1412 | # define IR_TD (1<<8) |
1413 | #define IR_RX_ALL (1<<9) | 1413 | # define IR_RX_ALL (1<<9) |
1414 | #define IR_DMA_ENABLE (1<<10) | 1414 | # define IR_DMA_ENABLE (1<<10) |
1415 | #define IR_RX_ENABLE (1<<11) | 1415 | # define IR_RX_ENABLE (1<<11) |
1416 | #define IR_TX_ENABLE (1<<12) | 1416 | # define IR_TX_ENABLE (1<<12) |
1417 | #define IR_LOOPBACK (1<<14) | 1417 | # define IR_LOOPBACK (1<<14) |
1418 | #define IR_SIR_MODE (IR_SIR | IR_DMA_ENABLE | \ | 1418 | # define IR_SIR_MODE (IR_SIR | IR_DMA_ENABLE | \ |
1419 | IR_RX_ALL | IR_RX_ENABLE | IR_SF | IR_16CRC) | 1419 | IR_RX_ALL | IR_RX_ENABLE | IR_SF | IR_16CRC) |
1420 | #define IR_SIR_FLAGS (IRDA_BASE+0x24) | 1420 | #define IR_SIR_FLAGS (IRDA_BASE+0x24) |
1421 | #define IR_ENABLE (IRDA_BASE+0x28) | 1421 | #define IR_ENABLE (IRDA_BASE+0x28) |
1422 | #define IR_RX_STATUS (1<<9) | 1422 | # define IR_RX_STATUS (1<<9) |
1423 | #define IR_TX_STATUS (1<<10) | 1423 | # define IR_TX_STATUS (1<<10) |
1424 | #define IR_READ_PHY_CONFIG (IRDA_BASE+0x2C) | 1424 | #define IR_READ_PHY_CONFIG (IRDA_BASE+0x2C) |
1425 | #define IR_WRITE_PHY_CONFIG (IRDA_BASE+0x30) | 1425 | #define IR_WRITE_PHY_CONFIG (IRDA_BASE+0x30) |
1426 | #define IR_MAX_PKT_LEN (IRDA_BASE+0x34) | 1426 | #define IR_MAX_PKT_LEN (IRDA_BASE+0x34) |
1427 | #define IR_RX_BYTE_CNT (IRDA_BASE+0x38) | 1427 | #define IR_RX_BYTE_CNT (IRDA_BASE+0x38) |
1428 | #define IR_CONFIG_2 (IRDA_BASE+0x3C) | 1428 | #define IR_CONFIG_2 (IRDA_BASE+0x3C) |
1429 | #define IR_MODE_INV (1<<0) | 1429 | # define IR_MODE_INV (1<<0) |
1430 | #define IR_ONE_PIN (1<<1) | 1430 | # define IR_ONE_PIN (1<<1) |
1431 | #define IR_INTERFACE_CONFIG (IRDA_BASE+0x40) | 1431 | #define IR_INTERFACE_CONFIG (IRDA_BASE+0x40) |
1432 | 1432 | ||
1433 | /* GPIO */ | 1433 | /* GPIO */ |
1434 | #define SYS_PINFUNC 0xB190002C | 1434 | #define SYS_PINFUNC 0xB190002C |
1435 | #define SYS_PF_USB (1<<15) /* 2nd USB device/host */ | 1435 | # define SYS_PF_USB (1<<15) /* 2nd USB device/host */ |
1436 | #define SYS_PF_U3 (1<<14) /* GPIO23/U3TXD */ | 1436 | # define SYS_PF_U3 (1<<14) /* GPIO23/U3TXD */ |
1437 | #define SYS_PF_U2 (1<<13) /* GPIO22/U2TXD */ | 1437 | # define SYS_PF_U2 (1<<13) /* GPIO22/U2TXD */ |
1438 | #define SYS_PF_U1 (1<<12) /* GPIO21/U1TXD */ | 1438 | # define SYS_PF_U1 (1<<12) /* GPIO21/U1TXD */ |
1439 | #define SYS_PF_SRC (1<<11) /* GPIO6/SROMCKE */ | 1439 | # define SYS_PF_SRC (1<<11) /* GPIO6/SROMCKE */ |
1440 | #define SYS_PF_CK5 (1<<10) /* GPIO3/CLK5 */ | 1440 | # define SYS_PF_CK5 (1<<10) /* GPIO3/CLK5 */ |
1441 | #define SYS_PF_CK4 (1<<9) /* GPIO2/CLK4 */ | 1441 | # define SYS_PF_CK4 (1<<9) /* GPIO2/CLK4 */ |
1442 | #define SYS_PF_IRF (1<<8) /* GPIO15/IRFIRSEL */ | 1442 | # define SYS_PF_IRF (1<<8) /* GPIO15/IRFIRSEL */ |
1443 | #define SYS_PF_UR3 (1<<7) /* GPIO[14:9]/UART3 */ | 1443 | # define SYS_PF_UR3 (1<<7) /* GPIO[14:9]/UART3 */ |
1444 | #define SYS_PF_I2D (1<<6) /* GPIO8/I2SDI */ | 1444 | # define SYS_PF_I2D (1<<6) /* GPIO8/I2SDI */ |
1445 | #define SYS_PF_I2S (1<<5) /* I2S/GPIO[29:31] */ | 1445 | # define SYS_PF_I2S (1<<5) /* I2S/GPIO[29:31] */ |
1446 | #define SYS_PF_NI2 (1<<4) /* NI2/GPIO[24:28] */ | 1446 | # define SYS_PF_NI2 (1<<4) /* NI2/GPIO[24:28] */ |
1447 | #define SYS_PF_U0 (1<<3) /* U0TXD/GPIO20 */ | 1447 | # define SYS_PF_U0 (1<<3) /* U0TXD/GPIO20 */ |
1448 | #define SYS_PF_RD (1<<2) /* IRTXD/GPIO19 */ | 1448 | # define SYS_PF_RD (1<<2) /* IRTXD/GPIO19 */ |
1449 | #define SYS_PF_A97 (1<<1) /* AC97/SSL1 */ | 1449 | # define SYS_PF_A97 (1<<1) /* AC97/SSL1 */ |
1450 | #define SYS_PF_S0 (1<<0) /* SSI_0/GPIO[16:18] */ | 1450 | # define SYS_PF_S0 (1<<0) /* SSI_0/GPIO[16:18] */ |
1451 | 1451 | ||
1452 | /* Au1100 Only */ | 1452 | /* Au1100 Only */ |
1453 | #define SYS_PF_PC (1<<18) /* PCMCIA/GPIO[207:204] */ | 1453 | # define SYS_PF_PC (1<<18) /* PCMCIA/GPIO[207:204] */ |
1454 | #define SYS_PF_LCD (1<<17) /* extern lcd/GPIO[203:200] */ | 1454 | # define SYS_PF_LCD (1<<17) /* extern lcd/GPIO[203:200] */ |
1455 | #define SYS_PF_CS (1<<16) /* EXTCLK0/32khz to gpio2 */ | 1455 | # define SYS_PF_CS (1<<16) /* EXTCLK0/32khz to gpio2 */ |
1456 | #define SYS_PF_EX0 (1<<9) /* gpio2/clock */ | 1456 | # define SYS_PF_EX0 (1<<9) /* gpio2/clock */ |
1457 | 1457 | ||
1458 | /* Au1550 Only. Redefines lots of pins */ | 1458 | /* Au1550 Only. Redefines lots of pins */ |
1459 | #define SYS_PF_PSC2_MASK (7 << 17) | 1459 | # define SYS_PF_PSC2_MASK (7 << 17) |
1460 | #define SYS_PF_PSC2_AC97 (0) | 1460 | # define SYS_PF_PSC2_AC97 (0) |
1461 | #define SYS_PF_PSC2_SPI (0) | 1461 | # define SYS_PF_PSC2_SPI (0) |
1462 | #define SYS_PF_PSC2_I2S (1 << 17) | 1462 | # define SYS_PF_PSC2_I2S (1 << 17) |
1463 | #define SYS_PF_PSC2_SMBUS (3 << 17) | 1463 | # define SYS_PF_PSC2_SMBUS (3 << 17) |
1464 | #define SYS_PF_PSC2_GPIO (7 << 17) | 1464 | # define SYS_PF_PSC2_GPIO (7 << 17) |
1465 | #define SYS_PF_PSC3_MASK (7 << 20) | 1465 | # define SYS_PF_PSC3_MASK (7 << 20) |
1466 | #define SYS_PF_PSC3_AC97 (0) | 1466 | # define SYS_PF_PSC3_AC97 (0) |
1467 | #define SYS_PF_PSC3_SPI (0) | 1467 | # define SYS_PF_PSC3_SPI (0) |
1468 | #define SYS_PF_PSC3_I2S (1 << 20) | 1468 | # define SYS_PF_PSC3_I2S (1 << 20) |
1469 | #define SYS_PF_PSC3_SMBUS (3 << 20) | 1469 | # define SYS_PF_PSC3_SMBUS (3 << 20) |
1470 | #define SYS_PF_PSC3_GPIO (7 << 20) | 1470 | # define SYS_PF_PSC3_GPIO (7 << 20) |
1471 | #define SYS_PF_PSC1_S1 (1 << 1) | 1471 | # define SYS_PF_PSC1_S1 (1 << 1) |
1472 | #define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2)) | 1472 | # define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2)) |
1473 | 1473 | ||
1474 | /* Au1200 Only */ | 1474 | /* Au1200 Only */ |
1475 | #ifdef CONFIG_SOC_AU1200 | 1475 | #ifdef CONFIG_SOC_AU1200 |
@@ -1530,104 +1530,104 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1530 | 1530 | ||
1531 | /* Clock Controller */ | 1531 | /* Clock Controller */ |
1532 | #define SYS_FREQCTRL0 0xB1900020 | 1532 | #define SYS_FREQCTRL0 0xB1900020 |
1533 | #define SYS_FC_FRDIV2_BIT 22 | 1533 | # define SYS_FC_FRDIV2_BIT 22 |
1534 | #define SYS_FC_FRDIV2_MASK (0xff << SYS_FC_FRDIV2_BIT) | 1534 | # define SYS_FC_FRDIV2_MASK (0xff << SYS_FC_FRDIV2_BIT) |
1535 | #define SYS_FC_FE2 (1<<21) | 1535 | # define SYS_FC_FE2 (1<<21) |
1536 | #define SYS_FC_FS2 (1<<20) | 1536 | # define SYS_FC_FS2 (1<<20) |
1537 | #define SYS_FC_FRDIV1_BIT 12 | 1537 | # define SYS_FC_FRDIV1_BIT 12 |
1538 | #define SYS_FC_FRDIV1_MASK (0xff << SYS_FC_FRDIV1_BIT) | 1538 | # define SYS_FC_FRDIV1_MASK (0xff << SYS_FC_FRDIV1_BIT) |
1539 | #define SYS_FC_FE1 (1<<11) | 1539 | # define SYS_FC_FE1 (1<<11) |
1540 | #define SYS_FC_FS1 (1<<10) | 1540 | # define SYS_FC_FS1 (1<<10) |
1541 | #define SYS_FC_FRDIV0_BIT 2 | 1541 | # define SYS_FC_FRDIV0_BIT 2 |
1542 | #define SYS_FC_FRDIV0_MASK (0xff << SYS_FC_FRDIV0_BIT) | 1542 | # define SYS_FC_FRDIV0_MASK (0xff << SYS_FC_FRDIV0_BIT) |
1543 | #define SYS_FC_FE0 (1<<1) | 1543 | # define SYS_FC_FE0 (1<<1) |
1544 | #define SYS_FC_FS0 (1<<0) | 1544 | # define SYS_FC_FS0 (1<<0) |
1545 | #define SYS_FREQCTRL1 0xB1900024 | 1545 | #define SYS_FREQCTRL1 0xB1900024 |
1546 | #define SYS_FC_FRDIV5_BIT 22 | 1546 | # define SYS_FC_FRDIV5_BIT 22 |
1547 | #define SYS_FC_FRDIV5_MASK (0xff << SYS_FC_FRDIV5_BIT) | 1547 | # define SYS_FC_FRDIV5_MASK (0xff << SYS_FC_FRDIV5_BIT) |
1548 | #define SYS_FC_FE5 (1<<21) | 1548 | # define SYS_FC_FE5 (1<<21) |
1549 | #define SYS_FC_FS5 (1<<20) | 1549 | # define SYS_FC_FS5 (1<<20) |
1550 | #define SYS_FC_FRDIV4_BIT 12 | 1550 | # define SYS_FC_FRDIV4_BIT 12 |
1551 | #define SYS_FC_FRDIV4_MASK (0xff << SYS_FC_FRDIV4_BIT) | 1551 | # define SYS_FC_FRDIV4_MASK (0xff << SYS_FC_FRDIV4_BIT) |
1552 | #define SYS_FC_FE4 (1<<11) | 1552 | # define SYS_FC_FE4 (1<<11) |
1553 | #define SYS_FC_FS4 (1<<10) | 1553 | # define SYS_FC_FS4 (1<<10) |
1554 | #define SYS_FC_FRDIV3_BIT 2 | 1554 | # define SYS_FC_FRDIV3_BIT 2 |
1555 | #define SYS_FC_FRDIV3_MASK (0xff << SYS_FC_FRDIV3_BIT) | 1555 | # define SYS_FC_FRDIV3_MASK (0xff << SYS_FC_FRDIV3_BIT) |
1556 | #define SYS_FC_FE3 (1<<1) | 1556 | # define SYS_FC_FE3 (1<<1) |
1557 | #define SYS_FC_FS3 (1<<0) | 1557 | # define SYS_FC_FS3 (1<<0) |
1558 | #define SYS_CLKSRC 0xB1900028 | 1558 | #define SYS_CLKSRC 0xB1900028 |
1559 | #define SYS_CS_ME1_BIT 27 | 1559 | # define SYS_CS_ME1_BIT 27 |
1560 | #define SYS_CS_ME1_MASK (0x7<<SYS_CS_ME1_BIT) | 1560 | # define SYS_CS_ME1_MASK (0x7<<SYS_CS_ME1_BIT) |
1561 | #define SYS_CS_DE1 (1<<26) | 1561 | # define SYS_CS_DE1 (1<<26) |
1562 | #define SYS_CS_CE1 (1<<25) | 1562 | # define SYS_CS_CE1 (1<<25) |
1563 | #define SYS_CS_ME0_BIT 22 | 1563 | # define SYS_CS_ME0_BIT 22 |
1564 | #define SYS_CS_ME0_MASK (0x7<<SYS_CS_ME0_BIT) | 1564 | # define SYS_CS_ME0_MASK (0x7<<SYS_CS_ME0_BIT) |
1565 | #define SYS_CS_DE0 (1<<21) | 1565 | # define SYS_CS_DE0 (1<<21) |
1566 | #define SYS_CS_CE0 (1<<20) | 1566 | # define SYS_CS_CE0 (1<<20) |
1567 | #define SYS_CS_MI2_BIT 17 | 1567 | # define SYS_CS_MI2_BIT 17 |
1568 | #define SYS_CS_MI2_MASK (0x7<<SYS_CS_MI2_BIT) | 1568 | # define SYS_CS_MI2_MASK (0x7<<SYS_CS_MI2_BIT) |
1569 | #define SYS_CS_DI2 (1<<16) | 1569 | # define SYS_CS_DI2 (1<<16) |
1570 | #define SYS_CS_CI2 (1<<15) | 1570 | # define SYS_CS_CI2 (1<<15) |
1571 | #ifdef CONFIG_SOC_AU1100 | 1571 | #ifdef CONFIG_SOC_AU1100 |
1572 | #define SYS_CS_ML_BIT 7 | 1572 | # define SYS_CS_ML_BIT 7 |
1573 | #define SYS_CS_ML_MASK (0x7<<SYS_CS_ML_BIT) | 1573 | # define SYS_CS_ML_MASK (0x7<<SYS_CS_ML_BIT) |
1574 | #define SYS_CS_DL (1<<6) | 1574 | # define SYS_CS_DL (1<<6) |
1575 | #define SYS_CS_CL (1<<5) | 1575 | # define SYS_CS_CL (1<<5) |
1576 | #else | 1576 | #else |
1577 | #define SYS_CS_MUH_BIT 12 | 1577 | # define SYS_CS_MUH_BIT 12 |
1578 | #define SYS_CS_MUH_MASK (0x7<<SYS_CS_MUH_BIT) | 1578 | # define SYS_CS_MUH_MASK (0x7<<SYS_CS_MUH_BIT) |
1579 | #define SYS_CS_DUH (1<<11) | 1579 | # define SYS_CS_DUH (1<<11) |
1580 | #define SYS_CS_CUH (1<<10) | 1580 | # define SYS_CS_CUH (1<<10) |
1581 | #define SYS_CS_MUD_BIT 7 | 1581 | # define SYS_CS_MUD_BIT 7 |
1582 | #define SYS_CS_MUD_MASK (0x7<<SYS_CS_MUD_BIT) | 1582 | # define SYS_CS_MUD_MASK (0x7<<SYS_CS_MUD_BIT) |
1583 | #define SYS_CS_DUD (1<<6) | 1583 | # define SYS_CS_DUD (1<<6) |
1584 | #define SYS_CS_CUD (1<<5) | 1584 | # define SYS_CS_CUD (1<<5) |
1585 | #endif | 1585 | #endif |
1586 | #define SYS_CS_MIR_BIT 2 | 1586 | # define SYS_CS_MIR_BIT 2 |
1587 | #define SYS_CS_MIR_MASK (0x7<<SYS_CS_MIR_BIT) | 1587 | # define SYS_CS_MIR_MASK (0x7<<SYS_CS_MIR_BIT) |
1588 | #define SYS_CS_DIR (1<<1) | 1588 | # define SYS_CS_DIR (1<<1) |
1589 | #define SYS_CS_CIR (1<<0) | 1589 | # define SYS_CS_CIR (1<<0) |
1590 | 1590 | ||
1591 | #define SYS_CS_MUX_AUX 0x1 | 1591 | # define SYS_CS_MUX_AUX 0x1 |
1592 | #define SYS_CS_MUX_FQ0 0x2 | 1592 | # define SYS_CS_MUX_FQ0 0x2 |
1593 | #define SYS_CS_MUX_FQ1 0x3 | 1593 | # define SYS_CS_MUX_FQ1 0x3 |
1594 | #define SYS_CS_MUX_FQ2 0x4 | 1594 | # define SYS_CS_MUX_FQ2 0x4 |
1595 | #define SYS_CS_MUX_FQ3 0x5 | 1595 | # define SYS_CS_MUX_FQ3 0x5 |
1596 | #define SYS_CS_MUX_FQ4 0x6 | 1596 | # define SYS_CS_MUX_FQ4 0x6 |
1597 | #define SYS_CS_MUX_FQ5 0x7 | 1597 | # define SYS_CS_MUX_FQ5 0x7 |
1598 | #define SYS_CPUPLL 0xB1900060 | 1598 | #define SYS_CPUPLL 0xB1900060 |
1599 | #define SYS_AUXPLL 0xB1900064 | 1599 | #define SYS_AUXPLL 0xB1900064 |
1600 | 1600 | ||
1601 | /* AC97 Controller */ | 1601 | /* AC97 Controller */ |
1602 | #define AC97C_CONFIG 0xB0000000 | 1602 | #define AC97C_CONFIG 0xB0000000 |
1603 | #define AC97C_RECV_SLOTS_BIT 13 | 1603 | # define AC97C_RECV_SLOTS_BIT 13 |
1604 | #define AC97C_RECV_SLOTS_MASK (0x3ff << AC97C_RECV_SLOTS_BIT) | 1604 | # define AC97C_RECV_SLOTS_MASK (0x3ff << AC97C_RECV_SLOTS_BIT) |
1605 | #define AC97C_XMIT_SLOTS_BIT 3 | 1605 | # define AC97C_XMIT_SLOTS_BIT 3 |
1606 | #define AC97C_XMIT_SLOTS_MASK (0x3ff << AC97C_XMIT_SLOTS_BIT) | 1606 | # define AC97C_XMIT_SLOTS_MASK (0x3ff << AC97C_XMIT_SLOTS_BIT) |
1607 | #define AC97C_SG (1<<2) | 1607 | # define AC97C_SG (1<<2) |
1608 | #define AC97C_SYNC (1<<1) | 1608 | # define AC97C_SYNC (1<<1) |
1609 | #define AC97C_RESET (1<<0) | 1609 | # define AC97C_RESET (1<<0) |
1610 | #define AC97C_STATUS 0xB0000004 | 1610 | #define AC97C_STATUS 0xB0000004 |
1611 | #define AC97C_XU (1<<11) | 1611 | # define AC97C_XU (1<<11) |
1612 | #define AC97C_XO (1<<10) | 1612 | # define AC97C_XO (1<<10) |
1613 | #define AC97C_RU (1<<9) | 1613 | # define AC97C_RU (1<<9) |
1614 | #define AC97C_RO (1<<8) | 1614 | # define AC97C_RO (1<<8) |
1615 | #define AC97C_READY (1<<7) | 1615 | # define AC97C_READY (1<<7) |
1616 | #define AC97C_CP (1<<6) | 1616 | # define AC97C_CP (1<<6) |
1617 | #define AC97C_TR (1<<5) | 1617 | # define AC97C_TR (1<<5) |
1618 | #define AC97C_TE (1<<4) | 1618 | # define AC97C_TE (1<<4) |
1619 | #define AC97C_TF (1<<3) | 1619 | # define AC97C_TF (1<<3) |
1620 | #define AC97C_RR (1<<2) | 1620 | # define AC97C_RR (1<<2) |
1621 | #define AC97C_RE (1<<1) | 1621 | # define AC97C_RE (1<<1) |
1622 | #define AC97C_RF (1<<0) | 1622 | # define AC97C_RF (1<<0) |
1623 | #define AC97C_DATA 0xB0000008 | 1623 | #define AC97C_DATA 0xB0000008 |
1624 | #define AC97C_CMD 0xB000000C | 1624 | #define AC97C_CMD 0xB000000C |
1625 | #define AC97C_WD_BIT 16 | 1625 | # define AC97C_WD_BIT 16 |
1626 | #define AC97C_READ (1<<7) | 1626 | # define AC97C_READ (1<<7) |
1627 | #define AC97C_INDEX_MASK 0x7f | 1627 | # define AC97C_INDEX_MASK 0x7f |
1628 | #define AC97C_CNTRL 0xB0000010 | 1628 | #define AC97C_CNTRL 0xB0000010 |
1629 | #define AC97C_RS (1<<1) | 1629 | # define AC97C_RS (1<<1) |
1630 | #define AC97C_CE (1<<0) | 1630 | # define AC97C_CE (1<<0) |
1631 | 1631 | ||
1632 | 1632 | ||
1633 | /* Secure Digital (SD) Controller */ | 1633 | /* Secure Digital (SD) Controller */ |
@@ -1636,12 +1636,12 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]; | |||
1636 | #define SD1_XMIT_FIFO 0xB0680000 | 1636 | #define SD1_XMIT_FIFO 0xB0680000 |
1637 | #define SD1_RECV_FIFO 0xB0680004 | 1637 | #define SD1_RECV_FIFO 0xB0680004 |
1638 | 1638 | ||
1639 | #if defined (CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550) | 1639 | #if defined(CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550) |
1640 | /* Au1500 PCI Controller */ | 1640 | /* Au1500 PCI Controller */ |
1641 | #define Au1500_CFG_BASE 0xB4005000 // virtual, kseg0 addr | 1641 | #define Au1500_CFG_BASE 0xB4005000 // virtual, kseg0 addr |
1642 | #define Au1500_PCI_CMEM (Au1500_CFG_BASE + 0) | 1642 | #define Au1500_PCI_CMEM (Au1500_CFG_BASE + 0) |
1643 | #define Au1500_PCI_CFG (Au1500_CFG_BASE + 4) | 1643 | #define Au1500_PCI_CFG (Au1500_CFG_BASE + 4) |
1644 | #define PCI_ERROR ((1<<22) | (1<<23) | (1<<24) | (1<<25) | (1<<26) | (1<<27)) | 1644 | # define PCI_ERROR ((1<<22) | (1<<23) | (1<<24) | (1<<25) | (1<<26) | (1<<27)) |
1645 | #define Au1500_PCI_B2BMASK_CCH (Au1500_CFG_BASE + 8) | 1645 | #define Au1500_PCI_B2BMASK_CCH (Au1500_CFG_BASE + 8) |
1646 | #define Au1500_PCI_B2B0_VID (Au1500_CFG_BASE + 0xC) | 1646 | #define Au1500_PCI_B2B0_VID (Au1500_CFG_BASE + 0xC) |
1647 | #define Au1500_PCI_B2B1_ID (Au1500_CFG_BASE + 0x10) | 1647 | #define Au1500_PCI_B2B1_ID (Au1500_CFG_BASE + 0x10) |
diff --git a/include/asm-mips/mach-au1x00/au1xxx_dbdma.h b/include/asm-mips/mach-au1x00/au1xxx_dbdma.h index eeb0c3115b6a..93d507cea518 100644 --- a/include/asm-mips/mach-au1x00/au1xxx_dbdma.h +++ b/include/asm-mips/mach-au1x00/au1xxx_dbdma.h | |||
@@ -199,7 +199,7 @@ typedef volatile struct au1xxx_ddma_desc { | |||
199 | #define DSCR_CMD0_ALWAYS 31 | 199 | #define DSCR_CMD0_ALWAYS 31 |
200 | #define DSCR_NDEV_IDS 32 | 200 | #define DSCR_NDEV_IDS 32 |
201 | /* THis macro is used to find/create custom device types */ | 201 | /* THis macro is used to find/create custom device types */ |
202 | #define DSCR_DEV2CUSTOM_ID(x,d) (((((x)&0xFFFF)<<8)|0x32000000)|((d)&0xFF)) | 202 | #define DSCR_DEV2CUSTOM_ID(x, d) (((((x)&0xFFFF)<<8)|0x32000000)|((d)&0xFF)) |
203 | #define DSCR_CUSTOM2DEV_ID(x) ((x)&0xFF) | 203 | #define DSCR_CUSTOM2DEV_ID(x) ((x)&0xFF) |
204 | 204 | ||
205 | 205 | ||
@@ -373,14 +373,14 @@ void * au1xxx_ddma_get_nextptr_virt(au1x_ddma_desc_t *dp); | |||
373 | Some compatibilty macros -- | 373 | Some compatibilty macros -- |
374 | Needed to make changes to API without breaking existing drivers | 374 | Needed to make changes to API without breaking existing drivers |
375 | */ | 375 | */ |
376 | #define au1xxx_dbdma_put_source(chanid,buf,nbytes)_au1xxx_dbdma_put_source(chanid, buf, nbytes, DDMA_FLAGS_IE) | 376 | #define au1xxx_dbdma_put_source(chanid, buf, nbytes)_au1xxx_dbdma_put_source(chanid, buf, nbytes, DDMA_FLAGS_IE) |
377 | #define au1xxx_dbdma_put_source_flags(chanid,buf,nbytes,flags) _au1xxx_dbdma_put_source(chanid, buf, nbytes, flags) | 377 | #define au1xxx_dbdma_put_source_flags(chanid, buf, nbytes, flags) _au1xxx_dbdma_put_source(chanid, buf, nbytes, flags) |
378 | #define put_source_flags(chanid,buf,nbytes,flags) au1xxx_dbdma_put_source_flags(chanid,buf,nbytes,flags) | 378 | #define put_source_flags(chanid, buf, nbytes, flags) au1xxx_dbdma_put_source_flags(chanid, buf, nbytes, flags) |
379 | 379 | ||
380 | 380 | ||
381 | #define au1xxx_dbdma_put_dest(chanid,buf,nbytes) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, DDMA_FLAGS_IE) | 381 | #define au1xxx_dbdma_put_dest(chanid, buf, nbytes) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, DDMA_FLAGS_IE) |
382 | #define au1xxx_dbdma_put_dest_flags(chanid,buf,nbytes,flags) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, flags) | 382 | #define au1xxx_dbdma_put_dest_flags(chanid, buf, nbytes, flags) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, flags) |
383 | #define put_dest_flags(chanid,buf,nbytes,flags) au1xxx_dbdma_put_dest_flags(chanid,buf,nbytes,flags) | 383 | #define put_dest_flags(chanid, buf, nbytes, flags) au1xxx_dbdma_put_dest_flags(chanid, buf, nbytes, flags) |
384 | 384 | ||
385 | /* | 385 | /* |
386 | * Flags for the put_source/put_dest functions. | 386 | * Flags for the put_source/put_dest functions. |
diff --git a/include/asm-mips/mach-au1x00/au1xxx_ide.h b/include/asm-mips/mach-au1x00/au1xxx_ide.h index 4663e8b415c9..aef0edbfe4c6 100644 --- a/include/asm-mips/mach-au1x00/au1xxx_ide.h +++ b/include/asm-mips/mach-au1x00/au1xxx_ide.h | |||
@@ -136,7 +136,7 @@ void auide_outl(u32 addr, unsigned long port); | |||
136 | void auide_outsw(unsigned long port, void *addr, u32 count); | 136 | void auide_outsw(unsigned long port, void *addr, u32 count); |
137 | void auide_outsl(unsigned long port, void *addr, u32 count); | 137 | void auide_outsl(unsigned long port, void *addr, u32 count); |
138 | static void auide_tune_drive(ide_drive_t *drive, byte pio); | 138 | static void auide_tune_drive(ide_drive_t *drive, byte pio); |
139 | static int auide_tune_chipset (ide_drive_t *drive, u8 speed); | 139 | static int auide_tune_chipset(ide_drive_t *drive, u8 speed); |
140 | static int auide_ddma_init( _auide_hwif *auide ); | 140 | static int auide_ddma_init( _auide_hwif *auide ); |
141 | static void auide_setup_ports(hw_regs_t *hw, _auide_hwif *ahwif); | 141 | static void auide_setup_ports(hw_regs_t *hw, _auide_hwif *ahwif); |
142 | int __init auide_probe(void); | 142 | int __init auide_probe(void); |
diff --git a/include/asm-mips/mach-au1x00/war.h b/include/asm-mips/mach-au1x00/war.h new file mode 100644 index 000000000000..dd57d03d68ba --- /dev/null +++ b/include/asm-mips/mach-au1x00/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_AU1X00_WAR_H | ||
9 | #define __ASM_MIPS_MACH_AU1X00_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_AU1X00_WAR_H */ | ||
diff --git a/include/asm-mips/mach-bcm47xx/bcm47xx.h b/include/asm-mips/mach-bcm47xx/bcm47xx.h new file mode 100644 index 000000000000..d008f47a28bd --- /dev/null +++ b/include/asm-mips/mach-bcm47xx/bcm47xx.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ASM_BCM47XX_H | ||
20 | #define __ASM_BCM47XX_H | ||
21 | |||
22 | /* SSB bus */ | ||
23 | extern struct ssb_bus ssb_bcm47xx; | ||
24 | |||
25 | #endif /* __ASM_BCM47XX_H */ | ||
diff --git a/include/asm-mips/mach-bcm47xx/gpio.h b/include/asm-mips/mach-bcm47xx/gpio.h new file mode 100644 index 000000000000..cfc8f4d618ce --- /dev/null +++ b/include/asm-mips/mach-bcm47xx/gpio.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net> | ||
7 | */ | ||
8 | |||
9 | #ifndef __BCM47XX_GPIO_H | ||
10 | #define __BCM47XX_GPIO_H | ||
11 | |||
12 | #define BCM47XX_EXTIF_GPIO_LINES 5 | ||
13 | #define BCM47XX_CHIPCO_GPIO_LINES 16 | ||
14 | |||
15 | extern int bcm47xx_gpio_to_irq(unsigned gpio); | ||
16 | extern int bcm47xx_gpio_get_value(unsigned gpio); | ||
17 | extern void bcm47xx_gpio_set_value(unsigned gpio, int value); | ||
18 | extern int bcm47xx_gpio_direction_input(unsigned gpio); | ||
19 | extern int bcm47xx_gpio_direction_output(unsigned gpio, int value); | ||
20 | |||
21 | static inline int gpio_request(unsigned gpio, const char *label) | ||
22 | { | ||
23 | return 0; | ||
24 | } | ||
25 | |||
26 | static inline void gpio_free(unsigned gpio) | ||
27 | { | ||
28 | } | ||
29 | |||
30 | static inline int gpio_to_irq(unsigned gpio) | ||
31 | { | ||
32 | return bcm47xx_gpio_to_irq(gpio); | ||
33 | } | ||
34 | |||
35 | static inline int gpio_get_value(unsigned gpio) | ||
36 | { | ||
37 | return bcm47xx_gpio_get_value(gpio); | ||
38 | } | ||
39 | |||
40 | static inline void gpio_set_value(unsigned gpio, int value) | ||
41 | { | ||
42 | bcm47xx_gpio_set_value(gpio, value); | ||
43 | } | ||
44 | |||
45 | static inline int gpio_direction_input(unsigned gpio) | ||
46 | { | ||
47 | return bcm47xx_gpio_direction_input(gpio); | ||
48 | } | ||
49 | |||
50 | static inline int gpio_direction_output(unsigned gpio, int value) | ||
51 | { | ||
52 | return bcm47xx_gpio_direction_output(gpio, value); | ||
53 | } | ||
54 | |||
55 | |||
56 | /* cansleep wrappers */ | ||
57 | #include <asm-generic/gpio.h> | ||
58 | |||
59 | #endif /* __BCM47XX_GPIO_H */ | ||
diff --git a/include/asm-mips/mach-bcm47xx/war.h b/include/asm-mips/mach-bcm47xx/war.h new file mode 100644 index 000000000000..4a2b7986b582 --- /dev/null +++ b/include/asm-mips/mach-bcm47xx/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_BCM947XX_WAR_H | ||
9 | #define __ASM_MIPS_MACH_BCM947XX_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_BCM947XX_WAR_H */ | ||
diff --git a/include/asm-mips/mach-cobalt/cobalt.h b/include/asm-mips/mach-cobalt/cobalt.h index 9c9d2b998ca4..a79e7caf3a86 100644 --- a/include/asm-mips/mach-cobalt/cobalt.h +++ b/include/asm-mips/mach-cobalt/cobalt.h | |||
@@ -12,71 +12,16 @@ | |||
12 | #ifndef __ASM_COBALT_H | 12 | #ifndef __ASM_COBALT_H |
13 | #define __ASM_COBALT_H | 13 | #define __ASM_COBALT_H |
14 | 14 | ||
15 | #include <irq.h> | ||
16 | |||
17 | /* | ||
18 | * i8259 legacy interrupts used on Cobalt: | ||
19 | * | ||
20 | * 8 - RTC | ||
21 | * 9 - PCI | ||
22 | * 14 - IDE0 | ||
23 | * 15 - IDE1 | ||
24 | */ | ||
25 | #define COBALT_QUBE_SLOT_IRQ 9 | ||
26 | |||
27 | /* | ||
28 | * CPU IRQs are 16 ... 23 | ||
29 | */ | ||
30 | #define COBALT_CPU_IRQ MIPS_CPU_IRQ_BASE | ||
31 | |||
32 | #define COBALT_GALILEO_IRQ (COBALT_CPU_IRQ + 2) | ||
33 | #define COBALT_RAQ_SCSI_IRQ (COBALT_CPU_IRQ + 3) | ||
34 | #define COBALT_ETH0_IRQ (COBALT_CPU_IRQ + 3) | ||
35 | #define COBALT_QUBE1_ETH0_IRQ (COBALT_CPU_IRQ + 4) | ||
36 | #define COBALT_ETH1_IRQ (COBALT_CPU_IRQ + 4) | ||
37 | #define COBALT_SERIAL_IRQ (COBALT_CPU_IRQ + 5) | ||
38 | #define COBALT_SCSI_IRQ (COBALT_CPU_IRQ + 5) | ||
39 | #define COBALT_VIA_IRQ (COBALT_CPU_IRQ + 6) /* Chained to VIA ISA bridge */ | ||
40 | |||
41 | /* | 15 | /* |
42 | * PCI configuration space manifest constants. These are wired into | 16 | * The Cobalt board ID information. |
43 | * the board layout according to the PCI spec to enable the software | ||
44 | * to probe the hardware configuration space in a well defined manner. | ||
45 | * | ||
46 | * The PCI_DEVSHFT() macro transforms these values into numbers | ||
47 | * suitable for passing as the dev parameter to the various | ||
48 | * pcibios_read/write_config routines. | ||
49 | */ | 17 | */ |
50 | #define COBALT_PCICONF_CPU 0x06 | 18 | extern int cobalt_board_id; |
51 | #define COBALT_PCICONF_ETH0 0x07 | ||
52 | #define COBALT_PCICONF_RAQSCSI 0x08 | ||
53 | #define COBALT_PCICONF_VIA 0x09 | ||
54 | #define COBALT_PCICONF_PCISLOT 0x0A | ||
55 | #define COBALT_PCICONF_ETH1 0x0C | ||
56 | |||
57 | 19 | ||
58 | /* | ||
59 | * The Cobalt board id information. The boards have an ID number wired | ||
60 | * into the VIA that is available in the high nibble of register 94. | ||
61 | * This register is available in the VIA configuration space through the | ||
62 | * interface routines qube_pcibios_read/write_config. See cobalt/pci.c | ||
63 | */ | ||
64 | #define VIA_COBALT_BRD_ID_REG 0x94 | ||
65 | #define VIA_COBALT_BRD_REG_to_ID(reg) ((unsigned char) (reg) >> 4) | ||
66 | #define COBALT_BRD_ID_QUBE1 0x3 | 20 | #define COBALT_BRD_ID_QUBE1 0x3 |
67 | #define COBALT_BRD_ID_RAQ1 0x4 | 21 | #define COBALT_BRD_ID_RAQ1 0x4 |
68 | #define COBALT_BRD_ID_QUBE2 0x5 | 22 | #define COBALT_BRD_ID_QUBE2 0x5 |
69 | #define COBALT_BRD_ID_RAQ2 0x6 | 23 | #define COBALT_BRD_ID_RAQ2 0x6 |
70 | 24 | ||
71 | extern int cobalt_board_id; | ||
72 | |||
73 | #define COBALT_LED_PORT (*(volatile unsigned char *) CKSEG1ADDR(0x1c000000)) | ||
74 | # define COBALT_LED_BAR_LEFT (1 << 0) /* Qube */ | ||
75 | # define COBALT_LED_BAR_RIGHT (1 << 1) /* Qube */ | ||
76 | # define COBALT_LED_WEB (1 << 2) /* RaQ */ | ||
77 | # define COBALT_LED_POWER_OFF (1 << 3) /* RaQ */ | ||
78 | # define COBALT_LED_RESET 0x0f | ||
79 | |||
80 | #define COBALT_KEY_PORT ((~*(volatile unsigned int *) CKSEG1ADDR(0x1d000000) >> 24) & COBALT_KEY_MASK) | 25 | #define COBALT_KEY_PORT ((~*(volatile unsigned int *) CKSEG1ADDR(0x1d000000) >> 24) & COBALT_KEY_MASK) |
81 | # define COBALT_KEY_CLEAR (1 << 1) | 26 | # define COBALT_KEY_CLEAR (1 << 1) |
82 | # define COBALT_KEY_LEFT (1 << 2) | 27 | # define COBALT_KEY_LEFT (1 << 2) |
@@ -87,6 +32,4 @@ extern int cobalt_board_id; | |||
87 | # define COBALT_KEY_SELECT (1 << 7) | 32 | # define COBALT_KEY_SELECT (1 << 7) |
88 | # define COBALT_KEY_MASK 0xfe | 33 | # define COBALT_KEY_MASK 0xfe |
89 | 34 | ||
90 | #define COBALT_UART ((volatile unsigned char *) CKSEG1ADDR(0x1c800000)) | ||
91 | |||
92 | #endif /* __ASM_COBALT_H */ | 35 | #endif /* __ASM_COBALT_H */ |
diff --git a/include/asm-mips/mach-cobalt/cpu-feature-overrides.h b/include/asm-mips/mach-cobalt/cpu-feature-overrides.h index d38f069d9e95..b3314cf53194 100644 --- a/include/asm-mips/mach-cobalt/cpu-feature-overrides.h +++ b/include/asm-mips/mach-cobalt/cpu-feature-overrides.h | |||
@@ -14,7 +14,6 @@ | |||
14 | #define cpu_has_3k_cache 0 | 14 | #define cpu_has_3k_cache 0 |
15 | #define cpu_has_4k_cache 1 | 15 | #define cpu_has_4k_cache 1 |
16 | #define cpu_has_tx39_cache 0 | 16 | #define cpu_has_tx39_cache 0 |
17 | #define cpu_has_sb1_cache 0 | ||
18 | #define cpu_has_fpu 1 | 17 | #define cpu_has_fpu 1 |
19 | #define cpu_has_32fpr 1 | 18 | #define cpu_has_32fpr 1 |
20 | #define cpu_has_counter 1 | 19 | #define cpu_has_counter 1 |
diff --git a/include/asm-mips/mach-cobalt/irq.h b/include/asm-mips/mach-cobalt/irq.h new file mode 100644 index 000000000000..179d0e850b59 --- /dev/null +++ b/include/asm-mips/mach-cobalt/irq.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * Cobalt IRQ definitions. | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file "COPYING" in the main directory of this archive | ||
6 | * for more details. | ||
7 | * | ||
8 | * Copyright (C) 1997 Cobalt Microserver | ||
9 | * Copyright (C) 1997, 2003 Ralf Baechle | ||
10 | * Copyright (C) 2001-2003 Liam Davies (ldavies@agile.tv) | ||
11 | * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
12 | */ | ||
13 | #ifndef _ASM_COBALT_IRQ_H | ||
14 | #define _ASM_COBALT_IRQ_H | ||
15 | |||
16 | /* | ||
17 | * i8259 interrupts used on Cobalt: | ||
18 | * | ||
19 | * 8 - RTC | ||
20 | * 9 - PCI slot | ||
21 | * 14 - IDE0 | ||
22 | * 15 - IDE1(no connector on board) | ||
23 | */ | ||
24 | #define I8259A_IRQ_BASE 0 | ||
25 | |||
26 | #define PCISLOT_IRQ (I8259A_IRQ_BASE + 9) | ||
27 | |||
28 | /* | ||
29 | * CPU interrupts used on Cobalt: | ||
30 | * | ||
31 | * 0 - Software interrupt 0 (unused) | ||
32 | * 1 - Software interrupt 0 (unused) | ||
33 | * 2 - cascade GT64111 | ||
34 | * 3 - ethernet or SCSI host controller | ||
35 | * 4 - ethernet | ||
36 | * 5 - 16550 UART | ||
37 | * 6 - cascade i8259 | ||
38 | * 7 - CP0 counter (unused) | ||
39 | */ | ||
40 | #define MIPS_CPU_IRQ_BASE 16 | ||
41 | |||
42 | #define GT641XX_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 2) | ||
43 | #define RAQ2_SCSI_IRQ (MIPS_CPU_IRQ_BASE + 3) | ||
44 | #define ETH0_IRQ (MIPS_CPU_IRQ_BASE + 3) | ||
45 | #define QUBE1_ETH0_IRQ (MIPS_CPU_IRQ_BASE + 4) | ||
46 | #define ETH1_IRQ (MIPS_CPU_IRQ_BASE + 4) | ||
47 | #define SERIAL_IRQ (MIPS_CPU_IRQ_BASE + 5) | ||
48 | #define SCSI_IRQ (MIPS_CPU_IRQ_BASE + 5) | ||
49 | #define I8259_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 6) | ||
50 | |||
51 | |||
52 | #define GT641XX_IRQ_BASE 24 | ||
53 | |||
54 | #include <asm/irq_gt641xx.h> | ||
55 | |||
56 | #define NR_IRQS (GT641XX_PCI_INT3_IRQ + 1) | ||
57 | |||
58 | #endif /* _ASM_COBALT_IRQ_H */ | ||
diff --git a/include/asm-mips/mach-cobalt/war.h b/include/asm-mips/mach-cobalt/war.h new file mode 100644 index 000000000000..97884fd18ac0 --- /dev/null +++ b/include/asm-mips/mach-cobalt/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_COBALT_WAR_H | ||
9 | #define __ASM_MIPS_MACH_COBALT_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_COBALT_WAR_H */ | ||
diff --git a/include/asm-mips/mach-dec/war.h b/include/asm-mips/mach-dec/war.h new file mode 100644 index 000000000000..ca5e2ef909ad --- /dev/null +++ b/include/asm-mips/mach-dec/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_DEC_WAR_H | ||
9 | #define __ASM_MIPS_MACH_DEC_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_DEC_WAR_H */ | ||
diff --git a/include/asm-mips/mach-emma2rh/war.h b/include/asm-mips/mach-emma2rh/war.h new file mode 100644 index 000000000000..b660a4c30e6a --- /dev/null +++ b/include/asm-mips/mach-emma2rh/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_EMMA2RH_WAR_H | ||
9 | #define __ASM_MIPS_MACH_EMMA2RH_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_EMMA2RH_WAR_H */ | ||
diff --git a/include/asm-mips/mach-excite/cpu-feature-overrides.h b/include/asm-mips/mach-excite/cpu-feature-overrides.h index 07f4322c235d..107104c3cd12 100644 --- a/include/asm-mips/mach-excite/cpu-feature-overrides.h +++ b/include/asm-mips/mach-excite/cpu-feature-overrides.h | |||
@@ -34,6 +34,11 @@ | |||
34 | #define cpu_has_nofpuex 0 | 34 | #define cpu_has_nofpuex 0 |
35 | #define cpu_has_64bits 1 | 35 | #define cpu_has_64bits 1 |
36 | 36 | ||
37 | #define cpu_has_mips32r1 0 | ||
38 | #define cpu_has_mips32r2 0 | ||
39 | #define cpu_has_mips64r1 0 | ||
40 | #define cpu_has_mips64r2 0 | ||
41 | |||
37 | #define cpu_has_inclusive_pcaches 0 | 42 | #define cpu_has_inclusive_pcaches 0 |
38 | 43 | ||
39 | #define cpu_dcache_line_size() 32 | 44 | #define cpu_dcache_line_size() 32 |
diff --git a/include/asm-mips/mach-excite/war.h b/include/asm-mips/mach-excite/war.h new file mode 100644 index 000000000000..1f82180c1598 --- /dev/null +++ b/include/asm-mips/mach-excite/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_EXCITE_WAR_H | ||
9 | #define __ASM_MIPS_MACH_EXCITE_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 1 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_EXCITE_WAR_H */ | ||
diff --git a/include/asm-mips/mach-generic/mangle-port.h b/include/asm-mips/mach-generic/mangle-port.h index 6e1b0c075de7..f49dc990214b 100644 --- a/include/asm-mips/mach-generic/mangle-port.h +++ b/include/asm-mips/mach-generic/mangle-port.h | |||
@@ -27,25 +27,25 @@ | |||
27 | */ | 27 | */ |
28 | #if defined(CONFIG_SWAP_IO_SPACE) | 28 | #if defined(CONFIG_SWAP_IO_SPACE) |
29 | 29 | ||
30 | # define ioswabb(a,x) (x) | 30 | # define ioswabb(a, x) (x) |
31 | # define __mem_ioswabb(a,x) (x) | 31 | # define __mem_ioswabb(a, x) (x) |
32 | # define ioswabw(a,x) le16_to_cpu(x) | 32 | # define ioswabw(a, x) le16_to_cpu(x) |
33 | # define __mem_ioswabw(a,x) (x) | 33 | # define __mem_ioswabw(a, x) (x) |
34 | # define ioswabl(a,x) le32_to_cpu(x) | 34 | # define ioswabl(a, x) le32_to_cpu(x) |
35 | # define __mem_ioswabl(a,x) (x) | 35 | # define __mem_ioswabl(a, x) (x) |
36 | # define ioswabq(a,x) le64_to_cpu(x) | 36 | # define ioswabq(a, x) le64_to_cpu(x) |
37 | # define __mem_ioswabq(a,x) (x) | 37 | # define __mem_ioswabq(a, x) (x) |
38 | 38 | ||
39 | #else | 39 | #else |
40 | 40 | ||
41 | # define ioswabb(a,x) (x) | 41 | # define ioswabb(a, x) (x) |
42 | # define __mem_ioswabb(a,x) (x) | 42 | # define __mem_ioswabb(a, x) (x) |
43 | # define ioswabw(a,x) (x) | 43 | # define ioswabw(a, x) (x) |
44 | # define __mem_ioswabw(a,x) cpu_to_le16(x) | 44 | # define __mem_ioswabw(a, x) cpu_to_le16(x) |
45 | # define ioswabl(a,x) (x) | 45 | # define ioswabl(a, x) (x) |
46 | # define __mem_ioswabl(a,x) cpu_to_le32(x) | 46 | # define __mem_ioswabl(a, x) cpu_to_le32(x) |
47 | # define ioswabq(a,x) (x) | 47 | # define ioswabq(a, x) (x) |
48 | # define __mem_ioswabq(a,x) cpu_to_le32(x) | 48 | # define __mem_ioswabq(a, x) cpu_to_le32(x) |
49 | 49 | ||
50 | #endif | 50 | #endif |
51 | 51 | ||
diff --git a/include/asm-mips/mach-ip22/war.h b/include/asm-mips/mach-ip22/war.h new file mode 100644 index 000000000000..a44fa9656a82 --- /dev/null +++ b/include/asm-mips/mach-ip22/war.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_IP22_WAR_H | ||
9 | #define __ASM_MIPS_MACH_IP22_WAR_H | ||
10 | |||
11 | /* | ||
12 | * R4600 CPU modules for the Indy come with both V1.7 and V2.0 processors. | ||
13 | */ | ||
14 | |||
15 | #define R4600_V1_INDEX_ICACHEOP_WAR 1 | ||
16 | #define R4600_V1_HIT_CACHEOP_WAR 1 | ||
17 | #define R4600_V2_HIT_CACHEOP_WAR 1 | ||
18 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
19 | #define BCM1250_M3_WAR 0 | ||
20 | #define SIBYTE_1956_WAR 0 | ||
21 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
22 | #define MIPS_CACHE_SYNC_WAR 0 | ||
23 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
24 | #define RM9000_CDEX_SMP_WAR 0 | ||
25 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
26 | #define R10000_LLSC_WAR 0 | ||
27 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
28 | |||
29 | #endif /* __ASM_MIPS_MACH_IP22_WAR_H */ | ||
diff --git a/include/asm-mips/mach-ip27/irq.h b/include/asm-mips/mach-ip27/irq.h index 25f0c3f39adf..cf4384bfa846 100644 --- a/include/asm-mips/mach-ip27/irq.h +++ b/include/asm-mips/mach-ip27/irq.h | |||
@@ -17,4 +17,6 @@ | |||
17 | */ | 17 | */ |
18 | #define NR_IRQS 256 | 18 | #define NR_IRQS 256 |
19 | 19 | ||
20 | #include_next <irq.h> | ||
21 | |||
20 | #endif /* __ASM_MACH_IP27_IRQ_H */ | 22 | #endif /* __ASM_MACH_IP27_IRQ_H */ |
diff --git a/include/asm-mips/mach-ip27/mangle-port.h b/include/asm-mips/mach-ip27/mangle-port.h index d615312a451a..f6e4912ea062 100644 --- a/include/asm-mips/mach-ip27/mangle-port.h +++ b/include/asm-mips/mach-ip27/mangle-port.h | |||
@@ -13,13 +13,13 @@ | |||
13 | #define __swizzle_addr_l(port) (port) | 13 | #define __swizzle_addr_l(port) (port) |
14 | #define __swizzle_addr_q(port) (port) | 14 | #define __swizzle_addr_q(port) (port) |
15 | 15 | ||
16 | # define ioswabb(a,x) (x) | 16 | # define ioswabb(a, x) (x) |
17 | # define __mem_ioswabb(a,x) (x) | 17 | # define __mem_ioswabb(a, x) (x) |
18 | # define ioswabw(a,x) (x) | 18 | # define ioswabw(a, x) (x) |
19 | # define __mem_ioswabw(a,x) cpu_to_le16(x) | 19 | # define __mem_ioswabw(a, x) cpu_to_le16(x) |
20 | # define ioswabl(a,x) (x) | 20 | # define ioswabl(a, x) (x) |
21 | # define __mem_ioswabl(a,x) cpu_to_le32(x) | 21 | # define __mem_ioswabl(a, x) cpu_to_le32(x) |
22 | # define ioswabq(a,x) (x) | 22 | # define ioswabq(a, x) (x) |
23 | # define __mem_ioswabq(a,x) cpu_to_le32(x) | 23 | # define __mem_ioswabq(a, x) cpu_to_le32(x) |
24 | 24 | ||
25 | #endif /* __ASM_MACH_IP27_MANGLE_PORT_H */ | 25 | #endif /* __ASM_MACH_IP27_MANGLE_PORT_H */ |
diff --git a/include/asm-mips/mach-ip27/topology.h b/include/asm-mips/mach-ip27/topology.h index 61d9be3f3175..372291f53fb9 100644 --- a/include/asm-mips/mach-ip27/topology.h +++ b/include/asm-mips/mach-ip27/topology.h | |||
@@ -2,9 +2,27 @@ | |||
2 | #define _ASM_MACH_TOPOLOGY_H 1 | 2 | #define _ASM_MACH_TOPOLOGY_H 1 |
3 | 3 | ||
4 | #include <asm/sn/hub.h> | 4 | #include <asm/sn/hub.h> |
5 | #include <asm/sn/types.h> | ||
5 | #include <asm/mmzone.h> | 6 | #include <asm/mmzone.h> |
6 | 7 | ||
7 | #define cpu_to_node(cpu) (cpu_data[(cpu)].p_nodeid) | 8 | struct cpuinfo_ip27 { |
9 | // cpuid_t p_cpuid; /* PROM assigned cpuid */ | ||
10 | cnodeid_t p_nodeid; /* my node ID in compact-id-space */ | ||
11 | nasid_t p_nasid; /* my node ID in numa-as-id-space */ | ||
12 | unsigned char p_slice; /* Physical position on node board */ | ||
13 | #if 0 | ||
14 | unsigned long loops_per_sec; | ||
15 | unsigned long ipi_count; | ||
16 | unsigned long irq_attempt[NR_IRQS]; | ||
17 | unsigned long smp_local_irq_count; | ||
18 | unsigned long prof_multiplier; | ||
19 | unsigned long prof_counter; | ||
20 | #endif | ||
21 | }; | ||
22 | |||
23 | extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS]; | ||
24 | |||
25 | #define cpu_to_node(cpu) (sn_cpu_info[(cpu)].p_nodeid) | ||
8 | #define parent_node(node) (node) | 26 | #define parent_node(node) (node) |
9 | #define node_to_cpumask(node) (hub_data(node)->h_cpus) | 27 | #define node_to_cpumask(node) (hub_data(node)->h_cpus) |
10 | #define node_to_first_cpu(node) (first_cpu(node_to_cpumask(node))) | 28 | #define node_to_first_cpu(node) (first_cpu(node_to_cpumask(node))) |
diff --git a/include/asm-mips/mach-ip27/war.h b/include/asm-mips/mach-ip27/war.h new file mode 100644 index 000000000000..e2ddcc9b1fff --- /dev/null +++ b/include/asm-mips/mach-ip27/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_IP27_WAR_H | ||
9 | #define __ASM_MIPS_MACH_IP27_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 1 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_IP27_WAR_H */ | ||
diff --git a/include/asm-mips/mach-ip32/kmalloc.h b/include/asm-mips/mach-ip32/kmalloc.h index f6198a21fba1..b1e0be60f720 100644 --- a/include/asm-mips/mach-ip32/kmalloc.h +++ b/include/asm-mips/mach-ip32/kmalloc.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __ASM_MACH_IP32_KMALLOC_H | 2 | #define __ASM_MACH_IP32_KMALLOC_H |
3 | 3 | ||
4 | 4 | ||
5 | #if defined(CONFIG_CPU_R5000) || defined (CONFIG_CPU_RM7000) | 5 | #if defined(CONFIG_CPU_R5000) || defined(CONFIG_CPU_RM7000) |
6 | #define ARCH_KMALLOC_MINALIGN 32 | 6 | #define ARCH_KMALLOC_MINALIGN 32 |
7 | #else | 7 | #else |
8 | #define ARCH_KMALLOC_MINALIGN 128 | 8 | #define ARCH_KMALLOC_MINALIGN 128 |
diff --git a/include/asm-mips/mach-ip32/mangle-port.h b/include/asm-mips/mach-ip32/mangle-port.h index 81320eb55324..f1d0f1756a9f 100644 --- a/include/asm-mips/mach-ip32/mangle-port.h +++ b/include/asm-mips/mach-ip32/mangle-port.h | |||
@@ -14,13 +14,13 @@ | |||
14 | #define __swizzle_addr_l(port) (port) | 14 | #define __swizzle_addr_l(port) (port) |
15 | #define __swizzle_addr_q(port) (port) | 15 | #define __swizzle_addr_q(port) (port) |
16 | 16 | ||
17 | # define ioswabb(a,x) (x) | 17 | # define ioswabb(a, x) (x) |
18 | # define __mem_ioswabb(a,x) (x) | 18 | # define __mem_ioswabb(a, x) (x) |
19 | # define ioswabw(a,x) (x) | 19 | # define ioswabw(a, x) (x) |
20 | # define __mem_ioswabw(a,x) cpu_to_le16(x) | 20 | # define __mem_ioswabw(a, x) cpu_to_le16(x) |
21 | # define ioswabl(a,x) (x) | 21 | # define ioswabl(a, x) (x) |
22 | # define __mem_ioswabl(a,x) cpu_to_le32(x) | 22 | # define __mem_ioswabl(a, x) cpu_to_le32(x) |
23 | # define ioswabq(a,x) (x) | 23 | # define ioswabq(a, x) (x) |
24 | # define __mem_ioswabq(a,x) cpu_to_le32(x) | 24 | # define __mem_ioswabq(a, x) cpu_to_le32(x) |
25 | 25 | ||
26 | #endif /* __ASM_MACH_IP32_MANGLE_PORT_H */ | 26 | #endif /* __ASM_MACH_IP32_MANGLE_PORT_H */ |
diff --git a/include/asm-mips/mach-ip32/war.h b/include/asm-mips/mach-ip32/war.h new file mode 100644 index 000000000000..d194056dcd7a --- /dev/null +++ b/include/asm-mips/mach-ip32/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_IP32_WAR_H | ||
9 | #define __ASM_MIPS_MACH_IP32_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_IP32_WAR_H */ | ||
diff --git a/include/asm-mips/mach-jazz/mc146818rtc.h b/include/asm-mips/mach-jazz/mc146818rtc.h index f44fdba1998b..987f727afe25 100644 --- a/include/asm-mips/mach-jazz/mc146818rtc.h +++ b/include/asm-mips/mach-jazz/mc146818rtc.h | |||
@@ -4,12 +4,15 @@ | |||
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 1998, 2001, 03 by Ralf Baechle | 6 | * Copyright (C) 1998, 2001, 03 by Ralf Baechle |
7 | * Copyright (C) 2007 Thomas Bogendoerfer | ||
7 | * | 8 | * |
8 | * RTC routines for Jazz style attached Dallas chip. | 9 | * RTC routines for Jazz style attached Dallas chip. |
9 | */ | 10 | */ |
10 | #ifndef __ASM_MACH_JAZZ_MC146818RTC_H | 11 | #ifndef __ASM_MACH_JAZZ_MC146818RTC_H |
11 | #define __ASM_MACH_JAZZ_MC146818RTC_H | 12 | #define __ASM_MACH_JAZZ_MC146818RTC_H |
12 | 13 | ||
14 | #include <linux/delay.h> | ||
15 | |||
13 | #include <asm/io.h> | 16 | #include <asm/io.h> |
14 | #include <asm/jazz.h> | 17 | #include <asm/jazz.h> |
15 | 18 | ||
@@ -19,16 +22,17 @@ | |||
19 | static inline unsigned char CMOS_READ(unsigned long addr) | 22 | static inline unsigned char CMOS_READ(unsigned long addr) |
20 | { | 23 | { |
21 | outb_p(addr, RTC_PORT(0)); | 24 | outb_p(addr, RTC_PORT(0)); |
22 | 25 | return *(volatile char *)JAZZ_RTC_BASE; | |
23 | return *(char *)JAZZ_RTC_BASE; | ||
24 | } | 26 | } |
25 | 27 | ||
26 | static inline void CMOS_WRITE(unsigned char data, unsigned long addr) | 28 | static inline void CMOS_WRITE(unsigned char data, unsigned long addr) |
27 | { | 29 | { |
28 | outb_p(addr, RTC_PORT(0)); | 30 | outb_p(addr, RTC_PORT(0)); |
29 | *(char *)JAZZ_RTC_BASE = data; | 31 | *(volatile char *)JAZZ_RTC_BASE = data; |
30 | } | 32 | } |
31 | 33 | ||
32 | #define RTC_ALWAYS_BCD 0 | 34 | #define RTC_ALWAYS_BCD 0 |
33 | 35 | ||
36 | #define mc146818_decode_year(year) ((year) + 1980) | ||
37 | |||
34 | #endif /* __ASM_MACH_JAZZ_MC146818RTC_H */ | 38 | #endif /* __ASM_MACH_JAZZ_MC146818RTC_H */ |
diff --git a/include/asm-mips/mach-jazz/war.h b/include/asm-mips/mach-jazz/war.h new file mode 100644 index 000000000000..6158ee861bfd --- /dev/null +++ b/include/asm-mips/mach-jazz/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_JAZZ_WAR_H | ||
9 | #define __ASM_MIPS_MACH_JAZZ_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_JAZZ_WAR_H */ | ||
diff --git a/include/asm-mips/mach-jmr3927/mangle-port.h b/include/asm-mips/mach-jmr3927/mangle-port.h index 501a202631b5..11bffcd1043b 100644 --- a/include/asm-mips/mach-jmr3927/mangle-port.h +++ b/include/asm-mips/mach-jmr3927/mangle-port.h | |||
@@ -6,13 +6,13 @@ extern unsigned long __swizzle_addr_b(unsigned long port); | |||
6 | #define __swizzle_addr_l(port) (port) | 6 | #define __swizzle_addr_l(port) (port) |
7 | #define __swizzle_addr_q(port) (port) | 7 | #define __swizzle_addr_q(port) (port) |
8 | 8 | ||
9 | #define ioswabb(a,x) (x) | 9 | #define ioswabb(a, x) (x) |
10 | #define __mem_ioswabb(a,x) (x) | 10 | #define __mem_ioswabb(a, x) (x) |
11 | #define ioswabw(a,x) le16_to_cpu(x) | 11 | #define ioswabw(a, x) le16_to_cpu(x) |
12 | #define __mem_ioswabw(a,x) (x) | 12 | #define __mem_ioswabw(a, x) (x) |
13 | #define ioswabl(a,x) le32_to_cpu(x) | 13 | #define ioswabl(a, x) le32_to_cpu(x) |
14 | #define __mem_ioswabl(a,x) (x) | 14 | #define __mem_ioswabl(a, x) (x) |
15 | #define ioswabq(a,x) le64_to_cpu(x) | 15 | #define ioswabq(a, x) le64_to_cpu(x) |
16 | #define __mem_ioswabq(a,x) (x) | 16 | #define __mem_ioswabq(a, x) (x) |
17 | 17 | ||
18 | #endif /* __ASM_MACH_JMR3927_MANGLE_PORT_H */ | 18 | #endif /* __ASM_MACH_JMR3927_MANGLE_PORT_H */ |
diff --git a/include/asm-mips/mach-jmr3927/war.h b/include/asm-mips/mach-jmr3927/war.h new file mode 100644 index 000000000000..1ff55fb3fbcb --- /dev/null +++ b/include/asm-mips/mach-jmr3927/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_JMR3927_WAR_H | ||
9 | #define __ASM_MIPS_MACH_JMR3927_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_JMR3927_WAR_H */ | ||
diff --git a/include/asm-mips/mach-lasat/mach-gt64120.h b/include/asm-mips/mach-lasat/mach-gt64120.h new file mode 100644 index 000000000000..1a9ad45cc135 --- /dev/null +++ b/include/asm-mips/mach-lasat/mach-gt64120.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * This is a direct copy of the ev96100.h file, with a global | ||
3 | * search and replace. The numbers are the same. | ||
4 | * | ||
5 | * The reason I'm duplicating this is so that the 64120/96100 | ||
6 | * defines won't be confusing in the source code. | ||
7 | */ | ||
8 | #ifndef _ASM_GT64120_LASAT_GT64120_DEP_H | ||
9 | #define _ASM_GT64120_LASAT_GT64120_DEP_H | ||
10 | |||
11 | /* | ||
12 | * GT64120 config space base address on Lasat 100 | ||
13 | */ | ||
14 | #define GT64120_BASE (KSEG1ADDR(0x14000000)) | ||
15 | |||
16 | /* | ||
17 | * PCI Bus allocation | ||
18 | * | ||
19 | * (Guessing ...) | ||
20 | */ | ||
21 | #define GT_PCI_MEM_BASE 0x12000000UL | ||
22 | #define GT_PCI_MEM_SIZE 0x02000000UL | ||
23 | #define GT_PCI_IO_BASE 0x10000000UL | ||
24 | #define GT_PCI_IO_SIZE 0x02000000UL | ||
25 | #define GT_ISA_IO_BASE PCI_IO_BASE | ||
26 | |||
27 | #endif /* _ASM_GT64120_LASAT_GT64120_DEP_H */ | ||
diff --git a/include/asm-mips/mach-lasat/war.h b/include/asm-mips/mach-lasat/war.h new file mode 100644 index 000000000000..bb1e0325c9be --- /dev/null +++ b/include/asm-mips/mach-lasat/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_LASAT_WAR_H | ||
9 | #define __ASM_MIPS_MACH_LASAT_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_LASAT_WAR_H */ | ||
diff --git a/include/asm-mips/mach-lemote/war.h b/include/asm-mips/mach-lemote/war.h new file mode 100644 index 000000000000..05f89e0f2a11 --- /dev/null +++ b/include/asm-mips/mach-lemote/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_LEMOTE_WAR_H | ||
9 | #define __ASM_MIPS_MACH_LEMOTE_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_LEMOTE_WAR_H */ | ||
diff --git a/include/asm-mips/mach-mips/mach-gt64120.h b/include/asm-mips/mach-mips/mach-gt64120.h index 511f7cf3a6be..0f863148f3b6 100644 --- a/include/asm-mips/mach-mips/mach-gt64120.h +++ b/include/asm-mips/mach-mips/mach-gt64120.h | |||
@@ -16,13 +16,4 @@ extern unsigned long _pcictrl_gt64120; | |||
16 | */ | 16 | */ |
17 | #define GT64120_BASE _pcictrl_gt64120 | 17 | #define GT64120_BASE _pcictrl_gt64120 |
18 | 18 | ||
19 | /* | ||
20 | * PCI Bus allocation | ||
21 | */ | ||
22 | #define GT_PCI_MEM_BASE 0x12000000UL | ||
23 | #define GT_PCI_MEM_SIZE 0x02000000UL | ||
24 | #define GT_PCI_IO_BASE 0x10000000UL | ||
25 | #define GT_PCI_IO_SIZE 0x02000000UL | ||
26 | #define GT_ISA_IO_BASE PCI_IO_BASE | ||
27 | |||
28 | #endif /* _ASM_MACH_MIPS_MACH_GT64120_DEP_H */ | 19 | #endif /* _ASM_MACH_MIPS_MACH_GT64120_DEP_H */ |
diff --git a/include/asm-mips/mach-mips/war.h b/include/asm-mips/mach-mips/war.h new file mode 100644 index 000000000000..7c6931d5f45f --- /dev/null +++ b/include/asm-mips/mach-mips/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_MIPS_WAR_H | ||
9 | #define __ASM_MIPS_MACH_MIPS_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 1 | ||
18 | #define MIPS_CACHE_SYNC_WAR 1 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_MIPS_WAR_H */ | ||
diff --git a/include/asm-mips/mach-mipssim/war.h b/include/asm-mips/mach-mipssim/war.h new file mode 100644 index 000000000000..c8a74a3515e0 --- /dev/null +++ b/include/asm-mips/mach-mipssim/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_MIPSSIM_WAR_H | ||
9 | #define __ASM_MIPS_MACH_MIPSSIM_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_MIPSSIM_WAR_H */ | ||
diff --git a/include/asm-mips/mach-pb1x00/pb1000.h b/include/asm-mips/mach-pb1x00/pb1000.h index 50c1e413a688..b52e0e7ee3fb 100644 --- a/include/asm-mips/mach-pb1x00/pb1000.h +++ b/include/asm-mips/mach-pb1x00/pb1000.h | |||
@@ -32,38 +32,38 @@ | |||
32 | #define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK+1) | 32 | #define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK+1) |
33 | 33 | ||
34 | #define PB1000_PCR 0xBE000000 | 34 | #define PB1000_PCR 0xBE000000 |
35 | #define PCR_SLOT_0_VPP0 (1<<0) | 35 | # define PCR_SLOT_0_VPP0 (1<<0) |
36 | #define PCR_SLOT_0_VPP1 (1<<1) | 36 | # define PCR_SLOT_0_VPP1 (1<<1) |
37 | #define PCR_SLOT_0_VCC0 (1<<2) | 37 | # define PCR_SLOT_0_VCC0 (1<<2) |
38 | #define PCR_SLOT_0_VCC1 (1<<3) | 38 | # define PCR_SLOT_0_VCC1 (1<<3) |
39 | #define PCR_SLOT_0_RST (1<<4) | 39 | # define PCR_SLOT_0_RST (1<<4) |
40 | 40 | ||
41 | #define PCR_SLOT_1_VPP0 (1<<8) | 41 | # define PCR_SLOT_1_VPP0 (1<<8) |
42 | #define PCR_SLOT_1_VPP1 (1<<9) | 42 | # define PCR_SLOT_1_VPP1 (1<<9) |
43 | #define PCR_SLOT_1_VCC0 (1<<10) | 43 | # define PCR_SLOT_1_VCC0 (1<<10) |
44 | #define PCR_SLOT_1_VCC1 (1<<11) | 44 | # define PCR_SLOT_1_VCC1 (1<<11) |
45 | #define PCR_SLOT_1_RST (1<<12) | 45 | # define PCR_SLOT_1_RST (1<<12) |
46 | 46 | ||
47 | #define PB1000_MDR 0xBE000004 | 47 | #define PB1000_MDR 0xBE000004 |
48 | #define MDR_PI (1<<5) /* pcmcia int latch */ | 48 | # define MDR_PI (1<<5) /* pcmcia int latch */ |
49 | #define MDR_EPI (1<<14) /* enable pcmcia int */ | 49 | # define MDR_EPI (1<<14) /* enable pcmcia int */ |
50 | #define MDR_CPI (1<<15) /* clear pcmcia int */ | 50 | # define MDR_CPI (1<<15) /* clear pcmcia int */ |
51 | 51 | ||
52 | #define PB1000_ACR1 0xBE000008 | 52 | #define PB1000_ACR1 0xBE000008 |
53 | #define ACR1_SLOT_0_CD1 (1<<0) /* card detect 1 */ | 53 | # define ACR1_SLOT_0_CD1 (1<<0) /* card detect 1 */ |
54 | #define ACR1_SLOT_0_CD2 (1<<1) /* card detect 2 */ | 54 | # define ACR1_SLOT_0_CD2 (1<<1) /* card detect 2 */ |
55 | #define ACR1_SLOT_0_READY (1<<2) /* ready */ | 55 | # define ACR1_SLOT_0_READY (1<<2) /* ready */ |
56 | #define ACR1_SLOT_0_STATUS (1<<3) /* status change */ | 56 | # define ACR1_SLOT_0_STATUS (1<<3) /* status change */ |
57 | #define ACR1_SLOT_0_VS1 (1<<4) /* voltage sense 1 */ | 57 | # define ACR1_SLOT_0_VS1 (1<<4) /* voltage sense 1 */ |
58 | #define ACR1_SLOT_0_VS2 (1<<5) /* voltage sense 2 */ | 58 | # define ACR1_SLOT_0_VS2 (1<<5) /* voltage sense 2 */ |
59 | #define ACR1_SLOT_0_INPACK (1<<6) /* inpack pin status */ | 59 | # define ACR1_SLOT_0_INPACK (1<<6) /* inpack pin status */ |
60 | #define ACR1_SLOT_1_CD1 (1<<8) /* card detect 1 */ | 60 | # define ACR1_SLOT_1_CD1 (1<<8) /* card detect 1 */ |
61 | #define ACR1_SLOT_1_CD2 (1<<9) /* card detect 2 */ | 61 | # define ACR1_SLOT_1_CD2 (1<<9) /* card detect 2 */ |
62 | #define ACR1_SLOT_1_READY (1<<10) /* ready */ | 62 | # define ACR1_SLOT_1_READY (1<<10) /* ready */ |
63 | #define ACR1_SLOT_1_STATUS (1<<11) /* status change */ | 63 | # define ACR1_SLOT_1_STATUS (1<<11) /* status change */ |
64 | #define ACR1_SLOT_1_VS1 (1<<12) /* voltage sense 1 */ | 64 | # define ACR1_SLOT_1_VS1 (1<<12) /* voltage sense 1 */ |
65 | #define ACR1_SLOT_1_VS2 (1<<13) /* voltage sense 2 */ | 65 | # define ACR1_SLOT_1_VS2 (1<<13) /* voltage sense 2 */ |
66 | #define ACR1_SLOT_1_INPACK (1<<14) /* inpack pin status */ | 66 | # define ACR1_SLOT_1_INPACK (1<<14) /* inpack pin status */ |
67 | 67 | ||
68 | #define CPLD_AUX0 0xBE00000C | 68 | #define CPLD_AUX0 0xBE00000C |
69 | #define CPLD_AUX1 0xBE000010 | 69 | #define CPLD_AUX1 0xBE000010 |
diff --git a/include/asm-mips/mach-pb1x00/pb1100.h b/include/asm-mips/mach-pb1x00/pb1100.h index 4c5a1cd01841..63aa3926b297 100644 --- a/include/asm-mips/mach-pb1x00/pb1100.h +++ b/include/asm-mips/mach-pb1x00/pb1100.h | |||
@@ -29,44 +29,44 @@ | |||
29 | 29 | ||
30 | #define PB1100_IDENT 0xAE000000 | 30 | #define PB1100_IDENT 0xAE000000 |
31 | #define BOARD_STATUS_REG 0xAE000004 | 31 | #define BOARD_STATUS_REG 0xAE000004 |
32 | #define PB1100_ROM_SEL (1<<15) | 32 | # define PB1100_ROM_SEL (1<<15) |
33 | #define PB1100_ROM_SIZ (1<<14) | 33 | # define PB1100_ROM_SIZ (1<<14) |
34 | #define PB1100_SWAP_BOOT (1<<13) | 34 | # define PB1100_SWAP_BOOT (1<<13) |
35 | #define PB1100_FLASH_WP (1<<12) | 35 | # define PB1100_FLASH_WP (1<<12) |
36 | #define PB1100_ROM_H_STS (1<<11) | 36 | # define PB1100_ROM_H_STS (1<<11) |
37 | #define PB1100_ROM_L_STS (1<<10) | 37 | # define PB1100_ROM_L_STS (1<<10) |
38 | #define PB1100_FLASH_H_STS (1<<9) | 38 | # define PB1100_FLASH_H_STS (1<<9) |
39 | #define PB1100_FLASH_L_STS (1<<8) | 39 | # define PB1100_FLASH_L_STS (1<<8) |
40 | #define PB1100_SRAM_SIZ (1<<7) | 40 | # define PB1100_SRAM_SIZ (1<<7) |
41 | #define PB1100_TSC_BUSY (1<<6) | 41 | # define PB1100_TSC_BUSY (1<<6) |
42 | #define PB1100_PCMCIA_VS_MASK (3<<4) | 42 | # define PB1100_PCMCIA_VS_MASK (3<<4) |
43 | #define PB1100_RS232_CD (1<<3) | 43 | # define PB1100_RS232_CD (1<<3) |
44 | #define PB1100_RS232_CTS (1<<2) | 44 | # define PB1100_RS232_CTS (1<<2) |
45 | #define PB1100_RS232_DSR (1<<1) | 45 | # define PB1100_RS232_DSR (1<<1) |
46 | #define PB1100_RS232_RI (1<<0) | 46 | # define PB1100_RS232_RI (1<<0) |
47 | 47 | ||
48 | #define PB1100_IRDA_RS232 0xAE00000C | 48 | #define PB1100_IRDA_RS232 0xAE00000C |
49 | #define PB1100_IRDA_FULL (0<<14) /* full power */ | 49 | # define PB1100_IRDA_FULL (0<<14) /* full power */ |
50 | #define PB1100_IRDA_SHUTDOWN (1<<14) | 50 | # define PB1100_IRDA_SHUTDOWN (1<<14) |
51 | #define PB1100_IRDA_TT (2<<14) /* 2/3 power */ | 51 | # define PB1100_IRDA_TT (2<<14) /* 2/3 power */ |
52 | #define PB1100_IRDA_OT (3<<14) /* 1/3 power */ | 52 | # define PB1100_IRDA_OT (3<<14) /* 1/3 power */ |
53 | #define PB1100_IRDA_FIR (1<<13) | 53 | # define PB1100_IRDA_FIR (1<<13) |
54 | 54 | ||
55 | #define PCMCIA_BOARD_REG 0xAE000010 | 55 | #define PCMCIA_BOARD_REG 0xAE000010 |
56 | #define PB1100_SD_WP1_RO (1<<15) /* read only */ | 56 | # define PB1100_SD_WP1_RO (1<<15) /* read only */ |
57 | #define PB1100_SD_WP0_RO (1<<14) /* read only */ | 57 | # define PB1100_SD_WP0_RO (1<<14) /* read only */ |
58 | #define PB1100_SD_PWR1 (1<<11) /* applies power to SD1 */ | 58 | # define PB1100_SD_PWR1 (1<<11) /* applies power to SD1 */ |
59 | #define PB1100_SD_PWR0 (1<<10) /* applies power to SD0 */ | 59 | # define PB1100_SD_PWR0 (1<<10) /* applies power to SD0 */ |
60 | #define PB1100_SEL_SD_CONN1 (1<<9) | 60 | # define PB1100_SEL_SD_CONN1 (1<<9) |
61 | #define PB1100_SEL_SD_CONN0 (1<<8) | 61 | # define PB1100_SEL_SD_CONN0 (1<<8) |
62 | #define PC_DEASSERT_RST (1<<7) | 62 | # define PC_DEASSERT_RST (1<<7) |
63 | #define PC_DRV_EN (1<<4) | 63 | # define PC_DRV_EN (1<<4) |
64 | 64 | ||
65 | #define PB1100_G_CONTROL 0xAE000014 /* graphics control */ | 65 | #define PB1100_G_CONTROL 0xAE000014 /* graphics control */ |
66 | 66 | ||
67 | #define PB1100_RST_VDDI 0xAE00001C | 67 | #define PB1100_RST_VDDI 0xAE00001C |
68 | #define PB1100_SOFT_RESET (1<<15) /* clear to reset the board */ | 68 | # define PB1100_SOFT_RESET (1<<15) /* clear to reset the board */ |
69 | #define PB1100_VDDI_MASK (0x1F) | 69 | # define PB1100_VDDI_MASK (0x1F) |
70 | 70 | ||
71 | #define PB1100_LEDS 0xAE000018 | 71 | #define PB1100_LEDS 0xAE000018 |
72 | 72 | ||
diff --git a/include/asm-mips/mach-pnx8550/kernel-entry-init.h b/include/asm-mips/mach-pnx8550/kernel-entry-init.h index 57102fa9da51..bdde00c9199b 100644 --- a/include/asm-mips/mach-pnx8550/kernel-entry-init.h +++ b/include/asm-mips/mach-pnx8550/kernel-entry-init.h | |||
@@ -44,7 +44,7 @@ cache_begin: li t0, (1<<28) | |||
44 | mfc0 t0, CP0_CONFIG, 7 | 44 | mfc0 t0, CP0_CONFIG, 7 |
45 | HAZARD_CP0 | 45 | HAZARD_CP0 |
46 | 46 | ||
47 | and t0,~((1<<19) | (1<<20)) /* TLB/MAP cleared */ | 47 | and t0, ~((1<<19) | (1<<20)) /* TLB/MAP cleared */ |
48 | mtc0 t0, CP0_CONFIG, 7 | 48 | mtc0 t0, CP0_CONFIG, 7 |
49 | HAZARD_CP0 | 49 | HAZARD_CP0 |
50 | 50 | ||
@@ -200,10 +200,10 @@ pr4450_instr_cache_invalidated: | |||
200 | 200 | ||
201 | icache_invd_loop: | 201 | icache_invd_loop: |
202 | /* 9 == register t1 */ | 202 | /* 9 == register t1 */ |
203 | .word (CACHE_OPC | (9 << 21) | (Index_Invalidate_I << 16) | \ | 203 | .word CACHE_OPC | (9 << 21) | (Index_Invalidate_I << 16) | \ |
204 | (0 * ICACHE_SET_SIZE)) /* invalidate inst cache WAY0 */ | 204 | (0 * ICACHE_SET_SIZE) /* invalidate inst cache WAY0 */ |
205 | .word (CACHE_OPC | (9 << 21) | (Index_Invalidate_I << 16) | \ | 205 | .word CACHE_OPC | (9 << 21) | (Index_Invalidate_I << 16) | \ |
206 | (1 * ICACHE_SET_SIZE)) /* invalidate inst cache WAY1 */ | 206 | (1 * ICACHE_SET_SIZE) /* invalidate inst cache WAY1 */ |
207 | 207 | ||
208 | addiu t1, t1, ICACHE_LINE_SIZE /* T1 = next cache line index */ | 208 | addiu t1, t1, ICACHE_LINE_SIZE /* T1 = next cache line index */ |
209 | bne t2, zero, icache_invd_loop /* T2 = 0 if all sets invalidated */ | 209 | bne t2, zero, icache_invd_loop /* T2 = 0 if all sets invalidated */ |
@@ -235,14 +235,14 @@ pr4450_instr_cache_invalidated: | |||
235 | 235 | ||
236 | dcache_wbinvd_loop: | 236 | dcache_wbinvd_loop: |
237 | /* 9 == register t1 */ | 237 | /* 9 == register t1 */ |
238 | .word (CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ | 238 | .word CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ |
239 | (0 * DCACHE_SET_SIZE)) /* writeback/invalidate WAY0 */ | 239 | (0 * DCACHE_SET_SIZE) /* writeback/invalidate WAY0 */ |
240 | .word (CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ | 240 | .word CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ |
241 | (1 * DCACHE_SET_SIZE)) /* writeback/invalidate WAY1 */ | 241 | (1 * DCACHE_SET_SIZE) /* writeback/invalidate WAY1 */ |
242 | .word (CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ | 242 | .word CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ |
243 | (2 * DCACHE_SET_SIZE)) /* writeback/invalidate WAY2 */ | 243 | (2 * DCACHE_SET_SIZE) /* writeback/invalidate WAY2 */ |
244 | .word (CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ | 244 | .word CACHE_OPC | (9 << 21) | (Index_Writeback_Inv_D << 16) | \ |
245 | (3 * DCACHE_SET_SIZE)) /* writeback/invalidate WAY3 */ | 245 | (3 * DCACHE_SET_SIZE) /* writeback/invalidate WAY3 */ |
246 | 246 | ||
247 | addiu t1, t1, DCACHE_LINE_SIZE /* T1 = next data cache line index */ | 247 | addiu t1, t1, DCACHE_LINE_SIZE /* T1 = next data cache line index */ |
248 | bne t2, zero, dcache_wbinvd_loop /* T2 = 0 when wbinvd entire cache */ | 248 | bne t2, zero, dcache_wbinvd_loop /* T2 = 0 when wbinvd entire cache */ |
diff --git a/include/asm-mips/mach-pnx8550/uart.h b/include/asm-mips/mach-pnx8550/uart.h index 814a7a15ab49..ad7608d44874 100644 --- a/include/asm-mips/mach-pnx8550/uart.h +++ b/include/asm-mips/mach-pnx8550/uart.h | |||
@@ -15,7 +15,7 @@ | |||
15 | 15 | ||
16 | /* early macros needed for prom/kgdb */ | 16 | /* early macros needed for prom/kgdb */ |
17 | 17 | ||
18 | #define ip3106_lcr(base,port) *(volatile u32 *)(base+(port*0x1000) + 0x000) | 18 | #define ip3106_lcr(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x000) |
19 | #define ip3106_mcr(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x004) | 19 | #define ip3106_mcr(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x004) |
20 | #define ip3106_baud(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x008) | 20 | #define ip3106_baud(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x008) |
21 | #define ip3106_cfg(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x00C) | 21 | #define ip3106_cfg(base, port) *(volatile u32 *)(base+(port*0x1000) + 0x00C) |
diff --git a/include/asm-mips/mach-pnx8550/war.h b/include/asm-mips/mach-pnx8550/war.h new file mode 100644 index 000000000000..d0458dd082f9 --- /dev/null +++ b/include/asm-mips/mach-pnx8550/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_PNX8550_WAR_H | ||
9 | #define __ASM_MIPS_MACH_PNX8550_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_PNX8550_WAR_H */ | ||
diff --git a/include/asm-mips/mach-qemu/war.h b/include/asm-mips/mach-qemu/war.h new file mode 100644 index 000000000000..0eaf0c548a47 --- /dev/null +++ b/include/asm-mips/mach-qemu/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_QEMU_WAR_H | ||
9 | #define __ASM_MIPS_MACH_QEMU_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_QEMU_WAR_H */ | ||
diff --git a/include/asm-mips/mach-rm/war.h b/include/asm-mips/mach-rm/war.h new file mode 100644 index 000000000000..948d3129a114 --- /dev/null +++ b/include/asm-mips/mach-rm/war.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_RM_WAR_H | ||
9 | #define __ASM_MIPS_MACH_RM_WAR_H | ||
10 | |||
11 | /* | ||
12 | * The RM200C seems to have been shipped only with V2.0 R4600s | ||
13 | */ | ||
14 | |||
15 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
16 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
17 | #define R4600_V2_HIT_CACHEOP_WAR 1 | ||
18 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
19 | #define BCM1250_M3_WAR 0 | ||
20 | #define SIBYTE_1956_WAR 0 | ||
21 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
22 | #define MIPS_CACHE_SYNC_WAR 0 | ||
23 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
24 | #define RM9000_CDEX_SMP_WAR 0 | ||
25 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
26 | #define R10000_LLSC_WAR 0 | ||
27 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
28 | |||
29 | #endif /* __ASM_MIPS_MACH_RM_WAR_H */ | ||
diff --git a/include/asm-mips/mach-sibyte/cpu-feature-overrides.h b/include/asm-mips/mach-sibyte/cpu-feature-overrides.h index 63d5bf649af1..1c1f92415b9a 100644 --- a/include/asm-mips/mach-sibyte/cpu-feature-overrides.h +++ b/include/asm-mips/mach-sibyte/cpu-feature-overrides.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #define __ASM_MACH_SIBYTE_CPU_FEATURE_OVERRIDES_H | 9 | #define __ASM_MACH_SIBYTE_CPU_FEATURE_OVERRIDES_H |
10 | 10 | ||
11 | /* | 11 | /* |
12 | * Sibyte are MIPS64 processors weired to a specific configuration | 12 | * Sibyte are MIPS64 processors wired to a specific configuration |
13 | */ | 13 | */ |
14 | #define cpu_has_watch 1 | 14 | #define cpu_has_watch 1 |
15 | #define cpu_has_mips16 0 | 15 | #define cpu_has_mips16 0 |
@@ -33,6 +33,11 @@ | |||
33 | #define cpu_has_nofpuex 0 | 33 | #define cpu_has_nofpuex 0 |
34 | #define cpu_has_64bits 1 | 34 | #define cpu_has_64bits 1 |
35 | 35 | ||
36 | #define cpu_has_mips32r1 1 | ||
37 | #define cpu_has_mips32r2 0 | ||
38 | #define cpu_has_mips64r1 1 | ||
39 | #define cpu_has_mips64r2 0 | ||
40 | |||
36 | #define cpu_has_inclusive_pcaches 0 | 41 | #define cpu_has_inclusive_pcaches 0 |
37 | 42 | ||
38 | #define cpu_dcache_line_size() 32 | 43 | #define cpu_dcache_line_size() 32 |
diff --git a/include/asm-mips/mach-sibyte/war.h b/include/asm-mips/mach-sibyte/war.h new file mode 100644 index 000000000000..7950ef4f032c --- /dev/null +++ b/include/asm-mips/mach-sibyte/war.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_SIBYTE_WAR_H | ||
9 | #define __ASM_MIPS_MACH_SIBYTE_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | |||
16 | #if defined(CONFIG_SB1_PASS_1_WORKAROUNDS) || \ | ||
17 | defined(CONFIG_SB1_PASS_2_WORKAROUNDS) | ||
18 | |||
19 | #define BCM1250_M3_WAR 1 | ||
20 | #define SIBYTE_1956_WAR 1 | ||
21 | |||
22 | #else | ||
23 | |||
24 | #define BCM1250_M3_WAR 0 | ||
25 | #define SIBYTE_1956_WAR 0 | ||
26 | |||
27 | #endif | ||
28 | |||
29 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
30 | #define MIPS_CACHE_SYNC_WAR 0 | ||
31 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
32 | #define RM9000_CDEX_SMP_WAR 0 | ||
33 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
34 | #define R10000_LLSC_WAR 0 | ||
35 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
36 | |||
37 | #endif /* __ASM_MIPS_MACH_SIBYTE_WAR_H */ | ||
diff --git a/include/asm-mips/mach-tx49xx/war.h b/include/asm-mips/mach-tx49xx/war.h new file mode 100644 index 000000000000..39b5d1177c57 --- /dev/null +++ b/include/asm-mips/mach-tx49xx/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_TX49XX_WAR_H | ||
9 | #define __ASM_MIPS_MACH_TX49XX_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 1 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_TX49XX_WAR_H */ | ||
diff --git a/include/asm-mips/mach-vr41xx/war.h b/include/asm-mips/mach-vr41xx/war.h new file mode 100644 index 000000000000..56a38926412a --- /dev/null +++ b/include/asm-mips/mach-vr41xx/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_VR41XX_WAR_H | ||
9 | #define __ASM_MIPS_MACH_VR41XX_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_VR41XX_WAR_H */ | ||
diff --git a/include/asm-mips/mach-wrppmc/mach-gt64120.h b/include/asm-mips/mach-wrppmc/mach-gt64120.h index ba9205a04582..00d8bf6164a9 100644 --- a/include/asm-mips/mach-wrppmc/mach-gt64120.h +++ b/include/asm-mips/mach-wrppmc/mach-gt64120.h | |||
@@ -43,7 +43,6 @@ | |||
43 | #define GT_PCI_MEM_SIZE 0x02000000UL | 43 | #define GT_PCI_MEM_SIZE 0x02000000UL |
44 | #define GT_PCI_IO_BASE 0x11000000UL | 44 | #define GT_PCI_IO_BASE 0x11000000UL |
45 | #define GT_PCI_IO_SIZE 0x02000000UL | 45 | #define GT_PCI_IO_SIZE 0x02000000UL |
46 | #define GT_ISA_IO_BASE PCI_IO_BASE | ||
47 | 46 | ||
48 | /* | 47 | /* |
49 | * PCI interrupts will come in on either the INTA or INTD interrups lines, | 48 | * PCI interrupts will come in on either the INTA or INTD interrups lines, |
diff --git a/include/asm-mips/mach-wrppmc/war.h b/include/asm-mips/mach-wrppmc/war.h new file mode 100644 index 000000000000..ac48629bb1ce --- /dev/null +++ b/include/asm-mips/mach-wrppmc/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_WRPPMC_WAR_H | ||
9 | #define __ASM_MIPS_MACH_WRPPMC_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 0 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_WRPPMC_WAR_H */ | ||
diff --git a/include/asm-mips/mach-yosemite/war.h b/include/asm-mips/mach-yosemite/war.h new file mode 100644 index 000000000000..e5c6d53efc86 --- /dev/null +++ b/include/asm-mips/mach-yosemite/war.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org> | ||
7 | */ | ||
8 | #ifndef __ASM_MIPS_MACH_YOSEMITE_WAR_H | ||
9 | #define __ASM_MIPS_MACH_YOSEMITE_WAR_H | ||
10 | |||
11 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
12 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
13 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
14 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
15 | #define BCM1250_M3_WAR 0 | ||
16 | #define SIBYTE_1956_WAR 0 | ||
17 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
18 | #define MIPS_CACHE_SYNC_WAR 0 | ||
19 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
20 | #define RM9000_CDEX_SMP_WAR 1 | ||
21 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
22 | #define R10000_LLSC_WAR 0 | ||
23 | #define MIPS34K_MISSED_ITLB_WAR 0 | ||
24 | |||
25 | #endif /* __ASM_MIPS_MACH_YOSEMITE_WAR_H */ | ||
diff --git a/include/asm-mips/mc146818-time.h b/include/asm-mips/mc146818-time.h index 41ac8d363c67..cdc379a0a94e 100644 --- a/include/asm-mips/mc146818-time.h +++ b/include/asm-mips/mc146818-time.h | |||
@@ -63,8 +63,8 @@ static inline int mc146818_set_rtc_mmss(unsigned long nowtime) | |||
63 | BIN_TO_BCD(real_seconds); | 63 | BIN_TO_BCD(real_seconds); |
64 | BIN_TO_BCD(real_minutes); | 64 | BIN_TO_BCD(real_minutes); |
65 | } | 65 | } |
66 | CMOS_WRITE(real_seconds,RTC_SECONDS); | 66 | CMOS_WRITE(real_seconds, RTC_SECONDS); |
67 | CMOS_WRITE(real_minutes,RTC_MINUTES); | 67 | CMOS_WRITE(real_minutes, RTC_MINUTES); |
68 | } else { | 68 | } else { |
69 | printk(KERN_WARNING | 69 | printk(KERN_WARNING |
70 | "set_rtc_mmss: can't update from %d to %d\n", | 70 | "set_rtc_mmss: can't update from %d to %d\n", |
diff --git a/include/asm-mips/mips-boards/bonito64.h b/include/asm-mips/mips-boards/bonito64.h index dc3fc32eedd8..a0f04bb99c99 100644 --- a/include/asm-mips/mips-boards/bonito64.h +++ b/include/asm-mips/mips-boards/bonito64.h | |||
@@ -387,7 +387,7 @@ extern unsigned long _pcictrl_bonito_pcicfg; | |||
387 | #define BONITO_PCIMAP_PCIMAP_LO2 0x0003f000 | 387 | #define BONITO_PCIMAP_PCIMAP_LO2 0x0003f000 |
388 | #define BONITO_PCIMAP_PCIMAP_LO2_SHIFT 12 | 388 | #define BONITO_PCIMAP_PCIMAP_LO2_SHIFT 12 |
389 | #define BONITO_PCIMAP_PCIMAP_2 0x00040000 | 389 | #define BONITO_PCIMAP_PCIMAP_2 0x00040000 |
390 | #define BONITO_PCIMAP_WIN(WIN,ADDR) ((((ADDR)>>26) & BONITO_PCIMAP_PCIMAP_LO0) << ((WIN)*6)) | 390 | #define BONITO_PCIMAP_WIN(WIN, ADDR) ((((ADDR)>>26) & BONITO_PCIMAP_PCIMAP_LO0) << ((WIN)*6)) |
391 | 391 | ||
392 | #define BONITO_PCIMAP_WINSIZE (1<<26) | 392 | #define BONITO_PCIMAP_WINSIZE (1<<26) |
393 | #define BONITO_PCIMAP_WINOFFSET(ADDR) ((ADDR) & (BONITO_PCIMAP_WINSIZE - 1)) | 393 | #define BONITO_PCIMAP_WINOFFSET(ADDR) ((ADDR) & (BONITO_PCIMAP_WINSIZE - 1)) |
@@ -412,19 +412,19 @@ extern unsigned long _pcictrl_bonito_pcicfg; | |||
412 | 412 | ||
413 | #define BONITO_PCIMEMBASECFG_ASHIFT 23 | 413 | #define BONITO_PCIMEMBASECFG_ASHIFT 23 |
414 | #define BONITO_PCIMEMBASECFG_AMASK 0x007fffff | 414 | #define BONITO_PCIMEMBASECFG_AMASK 0x007fffff |
415 | #define BONITO_PCIMEMBASECFGSIZE(WIN,SIZE) (((~((SIZE)-1))>>(BONITO_PCIMEMBASECFG_ASHIFT-BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) | 415 | #define BONITO_PCIMEMBASECFGSIZE(WIN, SIZE) (((~((SIZE)-1))>>(BONITO_PCIMEMBASECFG_ASHIFT-BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) |
416 | #define BONITO_PCIMEMBASECFGBASE(WIN,BASE) (((BASE)>>(BONITO_PCIMEMBASECFG_ASHIFT-BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS_SHIFT)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS) | 416 | #define BONITO_PCIMEMBASECFGBASE(WIN, BASE) (((BASE)>>(BONITO_PCIMEMBASECFG_ASHIFT-BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS_SHIFT)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS) |
417 | 417 | ||
418 | #define BONITO_PCIMEMBASECFG_SIZE(WIN,CFG) (((((~(CFG)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK)) << (BONITO_PCIMEMBASECFG_ASHIFT - BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT)) | BONITO_PCIMEMBASECFG_AMASK) | 418 | #define BONITO_PCIMEMBASECFG_SIZE(WIN, CFG) (((((~(CFG)) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK)) << (BONITO_PCIMEMBASECFG_ASHIFT - BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT)) | BONITO_PCIMEMBASECFG_AMASK) |
419 | 419 | ||
420 | 420 | ||
421 | #define BONITO_PCIMEMBASECFG_ADDRMASK(WIN,CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) | 421 | #define BONITO_PCIMEMBASECFG_ADDRMASK(WIN, CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) |
422 | #define BONITO_PCIMEMBASECFG_ADDRMASK(WIN,CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) | 422 | #define BONITO_PCIMEMBASECFG_ADDRMASK(WIN, CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_MASK_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) |
423 | #define BONITO_PCIMEMBASECFG_ADDRTRANS(WIN,CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) | 423 | #define BONITO_PCIMEMBASECFG_ADDRTRANS(WIN, CFG) ((((CFG) & BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS) >> BONITO_PCIMEMBASECFG_MEMBASE##WIN##_TRANS_SHIFT) << BONITO_PCIMEMBASECFG_ASHIFT) |
424 | 424 | ||
425 | #define BONITO_PCITOPHYS(WIN,ADDR,CFG) ( \ | 425 | #define BONITO_PCITOPHYS(WIN, ADDR, CFG) ( \ |
426 | (((ADDR) & (~(BONITO_PCIMEMBASECFG_MASK))) & (~(BONITO_PCIMEMBASECFG_ADDRMASK(WIN,CFG)))) | \ | 426 | (((ADDR) & (~(BONITO_PCIMEMBASECFG_MASK))) & (~(BONITO_PCIMEMBASECFG_ADDRMASK(WIN, CFG)))) | \ |
427 | (BONITO_PCIMEMBASECFG_ADDRTRANS(WIN,CFG)) \ | 427 | (BONITO_PCIMEMBASECFG_ADDRTRANS(WIN, CFG)) \ |
428 | ) | 428 | ) |
429 | 429 | ||
430 | /* PCICmd */ | 430 | /* PCICmd */ |
diff --git a/include/asm-mips/mips-boards/malta.h b/include/asm-mips/mips-boards/malta.h index eec91001bb65..93bf4e51b8a4 100644 --- a/include/asm-mips/mips-boards/malta.h +++ b/include/asm-mips/mips-boards/malta.h | |||
@@ -72,7 +72,7 @@ static inline unsigned long get_msc_port_base(unsigned long reg) | |||
72 | 72 | ||
73 | #define SMSC_CONFIG_ACTIVATE_ENABLE 1 | 73 | #define SMSC_CONFIG_ACTIVATE_ENABLE 1 |
74 | 74 | ||
75 | #define SMSC_WRITE(x,a) outb(x,a) | 75 | #define SMSC_WRITE(x, a) outb(x, a) |
76 | 76 | ||
77 | #define MALTA_JMPRS_REG 0x1f000210 | 77 | #define MALTA_JMPRS_REG 0x1f000210 |
78 | 78 | ||
diff --git a/include/asm-mips/mipsmtregs.h b/include/asm-mips/mipsmtregs.h index 294bca12cd3f..5a2f8a3a6a1f 100644 --- a/include/asm-mips/mipsmtregs.h +++ b/include/asm-mips/mipsmtregs.h | |||
@@ -41,27 +41,27 @@ | |||
41 | * Macros for use in assembly language code | 41 | * Macros for use in assembly language code |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #define CP0_MVPCONTROL $0,1 | 44 | #define CP0_MVPCONTROL $0, 1 |
45 | #define CP0_MVPCONF0 $0,2 | 45 | #define CP0_MVPCONF0 $0, 2 |
46 | #define CP0_MVPCONF1 $0,3 | 46 | #define CP0_MVPCONF1 $0, 3 |
47 | #define CP0_VPECONTROL $1,1 | 47 | #define CP0_VPECONTROL $1, 1 |
48 | #define CP0_VPECONF0 $1,2 | 48 | #define CP0_VPECONF0 $1, 2 |
49 | #define CP0_VPECONF1 $1,3 | 49 | #define CP0_VPECONF1 $1, 3 |
50 | #define CP0_YQMASK $1,4 | 50 | #define CP0_YQMASK $1, 4 |
51 | #define CP0_VPESCHEDULE $1,5 | 51 | #define CP0_VPESCHEDULE $1, 5 |
52 | #define CP0_VPESCHEFBK $1,6 | 52 | #define CP0_VPESCHEFBK $1, 6 |
53 | #define CP0_TCSTATUS $2,1 | 53 | #define CP0_TCSTATUS $2, 1 |
54 | #define CP0_TCBIND $2,2 | 54 | #define CP0_TCBIND $2, 2 |
55 | #define CP0_TCRESTART $2,3 | 55 | #define CP0_TCRESTART $2, 3 |
56 | #define CP0_TCHALT $2,4 | 56 | #define CP0_TCHALT $2, 4 |
57 | #define CP0_TCCONTEXT $2,5 | 57 | #define CP0_TCCONTEXT $2, 5 |
58 | #define CP0_TCSCHEDULE $2,6 | 58 | #define CP0_TCSCHEDULE $2, 6 |
59 | #define CP0_TCSCHEFBK $2,7 | 59 | #define CP0_TCSCHEFBK $2, 7 |
60 | #define CP0_SRSCONF0 $6,1 | 60 | #define CP0_SRSCONF0 $6, 1 |
61 | #define CP0_SRSCONF1 $6,2 | 61 | #define CP0_SRSCONF1 $6, 2 |
62 | #define CP0_SRSCONF2 $6,3 | 62 | #define CP0_SRSCONF2 $6, 3 |
63 | #define CP0_SRSCONF3 $6,4 | 63 | #define CP0_SRSCONF3 $6, 4 |
64 | #define CP0_SRSCONF4 $6,5 | 64 | #define CP0_SRSCONF4 $6, 5 |
65 | 65 | ||
66 | #endif | 66 | #endif |
67 | 67 | ||
@@ -291,7 +291,7 @@ static inline void ehb(void) | |||
291 | __res; \ | 291 | __res; \ |
292 | }) | 292 | }) |
293 | 293 | ||
294 | #define mftr(rt,u,sel) \ | 294 | #define mftr(rt, u, sel) \ |
295 | ({ \ | 295 | ({ \ |
296 | unsigned long __res; \ | 296 | unsigned long __res; \ |
297 | \ | 297 | \ |
@@ -315,7 +315,7 @@ do { \ | |||
315 | : : "r" (v)); \ | 315 | : : "r" (v)); \ |
316 | } while (0) | 316 | } while (0) |
317 | 317 | ||
318 | #define mttc0(rd,sel,v) \ | 318 | #define mttc0(rd, sel, v) \ |
319 | ({ \ | 319 | ({ \ |
320 | __asm__ __volatile__( \ | 320 | __asm__ __volatile__( \ |
321 | " .set push \n" \ | 321 | " .set push \n" \ |
@@ -330,7 +330,7 @@ do { \ | |||
330 | }) | 330 | }) |
331 | 331 | ||
332 | 332 | ||
333 | #define mttr(rd,u,sel,v) \ | 333 | #define mttr(rd, u, sel, v) \ |
334 | ({ \ | 334 | ({ \ |
335 | __asm__ __volatile__( \ | 335 | __asm__ __volatile__( \ |
336 | "mttr %0," #rd ", " #u ", " #sel \ | 336 | "mttr %0," #rd ", " #u ", " #sel \ |
@@ -362,7 +362,7 @@ do { \ | |||
362 | #define write_vpe_c0_config1(val) mttc0(16, 1, val) | 362 | #define write_vpe_c0_config1(val) mttc0(16, 1, val) |
363 | #define read_vpe_c0_config7() mftc0(16, 7) | 363 | #define read_vpe_c0_config7() mftc0(16, 7) |
364 | #define write_vpe_c0_config7(val) mttc0(16, 7, val) | 364 | #define write_vpe_c0_config7(val) mttc0(16, 7, val) |
365 | #define read_vpe_c0_ebase() mftc0(15,1) | 365 | #define read_vpe_c0_ebase() mftc0(15, 1) |
366 | #define write_vpe_c0_ebase(val) mttc0(15, 1, val) | 366 | #define write_vpe_c0_ebase(val) mttc0(15, 1, val) |
367 | #define write_vpe_c0_compare(val) mttc0(11, 0, val) | 367 | #define write_vpe_c0_compare(val) mttc0(11, 0, val) |
368 | #define read_vpe_c0_badvaddr() mftc0(8, 0) | 368 | #define read_vpe_c0_badvaddr() mftc0(8, 0) |
@@ -372,15 +372,15 @@ do { \ | |||
372 | 372 | ||
373 | /* TC */ | 373 | /* TC */ |
374 | #define read_tc_c0_tcstatus() mftc0(2, 1) | 374 | #define read_tc_c0_tcstatus() mftc0(2, 1) |
375 | #define write_tc_c0_tcstatus(val) mttc0(2,1,val) | 375 | #define write_tc_c0_tcstatus(val) mttc0(2, 1, val) |
376 | #define read_tc_c0_tcbind() mftc0(2, 2) | 376 | #define read_tc_c0_tcbind() mftc0(2, 2) |
377 | #define write_tc_c0_tcbind(val) mttc0(2,2,val) | 377 | #define write_tc_c0_tcbind(val) mttc0(2, 2, val) |
378 | #define read_tc_c0_tcrestart() mftc0(2, 3) | 378 | #define read_tc_c0_tcrestart() mftc0(2, 3) |
379 | #define write_tc_c0_tcrestart(val) mttc0(2,3,val) | 379 | #define write_tc_c0_tcrestart(val) mttc0(2, 3, val) |
380 | #define read_tc_c0_tchalt() mftc0(2, 4) | 380 | #define read_tc_c0_tchalt() mftc0(2, 4) |
381 | #define write_tc_c0_tchalt(val) mttc0(2,4,val) | 381 | #define write_tc_c0_tchalt(val) mttc0(2, 4, val) |
382 | #define read_tc_c0_tccontext() mftc0(2, 5) | 382 | #define read_tc_c0_tccontext() mftc0(2, 5) |
383 | #define write_tc_c0_tccontext(val) mttc0(2,5,val) | 383 | #define write_tc_c0_tccontext(val) mttc0(2, 5, val) |
384 | 384 | ||
385 | /* GPR */ | 385 | /* GPR */ |
386 | #define read_tc_gpr_sp() mftgpr(29) | 386 | #define read_tc_gpr_sp() mftgpr(29) |
diff --git a/include/asm-mips/mipsregs.h b/include/asm-mips/mipsregs.h index 18f47f1e8cd5..aa17f658f73c 100644 --- a/include/asm-mips/mipsregs.h +++ b/include/asm-mips/mipsregs.h | |||
@@ -981,7 +981,7 @@ do { \ | |||
981 | #define write_c0_errorepc(val) __write_ulong_c0_register($30, 0, val) | 981 | #define write_c0_errorepc(val) __write_ulong_c0_register($30, 0, val) |
982 | 982 | ||
983 | /* MIPSR2 */ | 983 | /* MIPSR2 */ |
984 | #define read_c0_hwrena() __read_32bit_c0_register($7,0) | 984 | #define read_c0_hwrena() __read_32bit_c0_register($7, 0) |
985 | #define write_c0_hwrena(val) __write_32bit_c0_register($7, 0, val) | 985 | #define write_c0_hwrena(val) __write_32bit_c0_register($7, 0, val) |
986 | 986 | ||
987 | #define read_c0_intctl() __read_32bit_c0_register($12, 1) | 987 | #define read_c0_intctl() __read_32bit_c0_register($12, 1) |
@@ -993,7 +993,7 @@ do { \ | |||
993 | #define read_c0_srsmap() __read_32bit_c0_register($12, 3) | 993 | #define read_c0_srsmap() __read_32bit_c0_register($12, 3) |
994 | #define write_c0_srsmap(val) __write_32bit_c0_register($12, 3, val) | 994 | #define write_c0_srsmap(val) __write_32bit_c0_register($12, 3, val) |
995 | 995 | ||
996 | #define read_c0_ebase() __read_32bit_c0_register($15,1) | 996 | #define read_c0_ebase() __read_32bit_c0_register($15, 1) |
997 | #define write_c0_ebase(val) __write_32bit_c0_register($15, 1, val) | 997 | #define write_c0_ebase(val) __write_32bit_c0_register($15, 1, val) |
998 | 998 | ||
999 | /* | 999 | /* |
diff --git a/include/asm-mips/mmu_context.h b/include/asm-mips/mmu_context.h index 65024ffd7879..0c4f245eaeb2 100644 --- a/include/asm-mips/mmu_context.h +++ b/include/asm-mips/mmu_context.h | |||
@@ -107,7 +107,7 @@ get_new_mmu_context(struct mm_struct *mm, unsigned long cpu) | |||
107 | 107 | ||
108 | #else /* CONFIG_MIPS_MT_SMTC */ | 108 | #else /* CONFIG_MIPS_MT_SMTC */ |
109 | 109 | ||
110 | #define get_new_mmu_context(mm,cpu) smtc_get_new_mmu_context((mm),(cpu)) | 110 | #define get_new_mmu_context(mm, cpu) smtc_get_new_mmu_context((mm), (cpu)) |
111 | 111 | ||
112 | #endif /* CONFIG_MIPS_MT_SMTC */ | 112 | #endif /* CONFIG_MIPS_MT_SMTC */ |
113 | 113 | ||
@@ -120,7 +120,7 @@ init_new_context(struct task_struct *tsk, struct mm_struct *mm) | |||
120 | { | 120 | { |
121 | int i; | 121 | int i; |
122 | 122 | ||
123 | for (i = 0; i < num_online_cpus(); i++) | 123 | for_each_online_cpu(i) |
124 | cpu_context(i, mm) = 0; | 124 | cpu_context(i, mm) = 0; |
125 | 125 | ||
126 | return 0; | 126 | return 0; |
@@ -191,7 +191,7 @@ static inline void destroy_context(struct mm_struct *mm) | |||
191 | { | 191 | { |
192 | } | 192 | } |
193 | 193 | ||
194 | #define deactivate_mm(tsk,mm) do { } while (0) | 194 | #define deactivate_mm(tsk, mm) do { } while (0) |
195 | 195 | ||
196 | /* | 196 | /* |
197 | * After we have set current->mm to a new value, this activates | 197 | * After we have set current->mm to a new value, this activates |
@@ -284,7 +284,7 @@ drop_mmu_context(struct mm_struct *mm, unsigned cpu) | |||
284 | int i; | 284 | int i; |
285 | 285 | ||
286 | /* SMTC shares the TLB (and ASIDs) across VPEs */ | 286 | /* SMTC shares the TLB (and ASIDs) across VPEs */ |
287 | for (i = 0; i < num_online_cpus(); i++) { | 287 | for_each_online_cpu(i) { |
288 | if((smtc_status & SMTC_TLB_SHARED) | 288 | if((smtc_status & SMTC_TLB_SHARED) |
289 | || (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id)) | 289 | || (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id)) |
290 | cpu_context(i, mm) = 0; | 290 | cpu_context(i, mm) = 0; |
diff --git a/include/asm-mips/nile4.h b/include/asm-mips/nile4.h new file mode 100644 index 000000000000..c3ca959aa4d9 --- /dev/null +++ b/include/asm-mips/nile4.h | |||
@@ -0,0 +1,310 @@ | |||
1 | /* | ||
2 | * asm-mips/nile4.h -- NEC Vrc-5074 Nile 4 definitions | ||
3 | * | ||
4 | * Copyright (C) 2000 Geert Uytterhoeven <geert@sonycom.com> | ||
5 | * Sony Software Development Center Europe (SDCE), Brussels | ||
6 | * | ||
7 | * This file is based on the following documentation: | ||
8 | * | ||
9 | * NEC Vrc 5074 System Controller Data Sheet, June 1998 | ||
10 | */ | ||
11 | |||
12 | #ifndef _ASM_NILE4_H | ||
13 | #define _ASM_NILE4_H | ||
14 | |||
15 | #define NILE4_BASE 0xbfa00000 | ||
16 | #define NILE4_SIZE 0x00200000 /* 2 MB */ | ||
17 | |||
18 | |||
19 | /* | ||
20 | * Physical Device Address Registers (PDARs) | ||
21 | */ | ||
22 | |||
23 | #define NILE4_SDRAM0 0x0000 /* SDRAM Bank 0 [R/W] */ | ||
24 | #define NILE4_SDRAM1 0x0008 /* SDRAM Bank 1 [R/W] */ | ||
25 | #define NILE4_DCS2 0x0010 /* Device Chip-Select 2 [R/W] */ | ||
26 | #define NILE4_DCS3 0x0018 /* Device Chip-Select 3 [R/W] */ | ||
27 | #define NILE4_DCS4 0x0020 /* Device Chip-Select 4 [R/W] */ | ||
28 | #define NILE4_DCS5 0x0028 /* Device Chip-Select 5 [R/W] */ | ||
29 | #define NILE4_DCS6 0x0030 /* Device Chip-Select 6 [R/W] */ | ||
30 | #define NILE4_DCS7 0x0038 /* Device Chip-Select 7 [R/W] */ | ||
31 | #define NILE4_DCS8 0x0040 /* Device Chip-Select 8 [R/W] */ | ||
32 | #define NILE4_PCIW0 0x0060 /* PCI Address Window 0 [R/W] */ | ||
33 | #define NILE4_PCIW1 0x0068 /* PCI Address Window 1 [R/W] */ | ||
34 | #define NILE4_INTCS 0x0070 /* Controller Internal Registers and Devices */ | ||
35 | /* [R/W] */ | ||
36 | #define NILE4_BOOTCS 0x0078 /* Boot ROM Chip-Select [R/W] */ | ||
37 | |||
38 | |||
39 | /* | ||
40 | * CPU Interface Registers | ||
41 | */ | ||
42 | |||
43 | #define NILE4_CPUSTAT 0x0080 /* CPU Status [R/W] */ | ||
44 | #define NILE4_INTCTRL 0x0088 /* Interrupt Control [R/W] */ | ||
45 | #define NILE4_INTSTAT0 0x0090 /* Interrupt Status 0 [R] */ | ||
46 | #define NILE4_INTSTAT1 0x0098 /* Interrupt Status 1 and CPU Interrupt */ | ||
47 | /* Enable [R/W] */ | ||
48 | #define NILE4_INTCLR 0x00A0 /* Interrupt Clear [R/W] */ | ||
49 | #define NILE4_INTPPES 0x00A8 /* PCI Interrupt Control [R/W] */ | ||
50 | |||
51 | |||
52 | /* | ||
53 | * Memory-Interface Registers | ||
54 | */ | ||
55 | |||
56 | #define NILE4_MEMCTRL 0x00C0 /* Memory Control */ | ||
57 | #define NILE4_ACSTIME 0x00C8 /* Memory Access Timing [R/W] */ | ||
58 | #define NILE4_CHKERR 0x00D0 /* Memory Check Error Status [R] */ | ||
59 | |||
60 | |||
61 | /* | ||
62 | * PCI-Bus Registers | ||
63 | */ | ||
64 | |||
65 | #define NILE4_PCICTRL 0x00E0 /* PCI Control [R/W] */ | ||
66 | #define NILE4_PCIARB 0x00E8 /* PCI Arbiter [R/W] */ | ||
67 | #define NILE4_PCIINIT0 0x00F0 /* PCI Master (Initiator) 0 [R/W] */ | ||
68 | #define NILE4_PCIINIT1 0x00F8 /* PCI Master (Initiator) 1 [R/W] */ | ||
69 | #define NILE4_PCIERR 0x00B8 /* PCI Error [R/W] */ | ||
70 | |||
71 | |||
72 | /* | ||
73 | * Local-Bus Registers | ||
74 | */ | ||
75 | |||
76 | #define NILE4_LCNFG 0x0100 /* Local Bus Configuration [R/W] */ | ||
77 | #define NILE4_LCST2 0x0110 /* Local Bus Chip-Select Timing 2 [R/W] */ | ||
78 | #define NILE4_LCST3 0x0118 /* Local Bus Chip-Select Timing 3 [R/W] */ | ||
79 | #define NILE4_LCST4 0x0120 /* Local Bus Chip-Select Timing 4 [R/W] */ | ||
80 | #define NILE4_LCST5 0x0128 /* Local Bus Chip-Select Timing 5 [R/W] */ | ||
81 | #define NILE4_LCST6 0x0130 /* Local Bus Chip-Select Timing 6 [R/W] */ | ||
82 | #define NILE4_LCST7 0x0138 /* Local Bus Chip-Select Timing 7 [R/W] */ | ||
83 | #define NILE4_LCST8 0x0140 /* Local Bus Chip-Select Timing 8 [R/W] */ | ||
84 | #define NILE4_DCSFN 0x0150 /* Device Chip-Select Muxing and Output */ | ||
85 | /* Enables [R/W] */ | ||
86 | #define NILE4_DCSIO 0x0158 /* Device Chip-Selects As I/O Bits [R/W] */ | ||
87 | #define NILE4_BCST 0x0178 /* Local Boot Chip-Select Timing [R/W] */ | ||
88 | |||
89 | |||
90 | /* | ||
91 | * DMA Registers | ||
92 | */ | ||
93 | |||
94 | #define NILE4_DMACTRL0 0x0180 /* DMA Control 0 [R/W] */ | ||
95 | #define NILE4_DMASRCA0 0x0188 /* DMA Source Address 0 [R/W] */ | ||
96 | #define NILE4_DMADESA0 0x0190 /* DMA Destination Address 0 [R/W] */ | ||
97 | #define NILE4_DMACTRL1 0x0198 /* DMA Control 1 [R/W] */ | ||
98 | #define NILE4_DMASRCA1 0x01A0 /* DMA Source Address 1 [R/W] */ | ||
99 | #define NILE4_DMADESA1 0x01A8 /* DMA Destination Address 1 [R/W] */ | ||
100 | |||
101 | |||
102 | /* | ||
103 | * Timer Registers | ||
104 | */ | ||
105 | |||
106 | #define NILE4_T0CTRL 0x01C0 /* SDRAM Refresh Control [R/W] */ | ||
107 | #define NILE4_T0CNTR 0x01C8 /* SDRAM Refresh Counter [R/W] */ | ||
108 | #define NILE4_T1CTRL 0x01D0 /* CPU-Bus Read Time-Out Control [R/W] */ | ||
109 | #define NILE4_T1CNTR 0x01D8 /* CPU-Bus Read Time-Out Counter [R/W] */ | ||
110 | #define NILE4_T2CTRL 0x01E0 /* General-Purpose Timer Control [R/W] */ | ||
111 | #define NILE4_T2CNTR 0x01E8 /* General-Purpose Timer Counter [R/W] */ | ||
112 | #define NILE4_T3CTRL 0x01F0 /* Watchdog Timer Control [R/W] */ | ||
113 | #define NILE4_T3CNTR 0x01F8 /* Watchdog Timer Counter [R/W] */ | ||
114 | |||
115 | |||
116 | /* | ||
117 | * PCI Configuration Space Registers | ||
118 | */ | ||
119 | |||
120 | #define NILE4_PCI_BASE 0x0200 | ||
121 | |||
122 | #define NILE4_VID 0x0200 /* PCI Vendor ID [R] */ | ||
123 | #define NILE4_DID 0x0202 /* PCI Device ID [R] */ | ||
124 | #define NILE4_PCICMD 0x0204 /* PCI Command [R/W] */ | ||
125 | #define NILE4_PCISTS 0x0206 /* PCI Status [R/W] */ | ||
126 | #define NILE4_REVID 0x0208 /* PCI Revision ID [R] */ | ||
127 | #define NILE4_CLASS 0x0209 /* PCI Class Code [R] */ | ||
128 | #define NILE4_CLSIZ 0x020C /* PCI Cache Line Size [R/W] */ | ||
129 | #define NILE4_MLTIM 0x020D /* PCI Latency Timer [R/W] */ | ||
130 | #define NILE4_HTYPE 0x020E /* PCI Header Type [R] */ | ||
131 | #define NILE4_BIST 0x020F /* BIST [R] (unimplemented) */ | ||
132 | #define NILE4_BARC 0x0210 /* PCI Base Address Register Control [R/W] */ | ||
133 | #define NILE4_BAR0 0x0218 /* PCI Base Address Register 0 [R/W] */ | ||
134 | #define NILE4_BAR1 0x0220 /* PCI Base Address Register 1 [R/W] */ | ||
135 | #define NILE4_CIS 0x0228 /* PCI Cardbus CIS Pointer [R] */ | ||
136 | /* (unimplemented) */ | ||
137 | #define NILE4_SSVID 0x022C /* PCI Sub-System Vendor ID [R/W] */ | ||
138 | #define NILE4_SSID 0x022E /* PCI Sub-System ID [R/W] */ | ||
139 | #define NILE4_ROM 0x0230 /* Expansion ROM Base Address [R] */ | ||
140 | /* (unimplemented) */ | ||
141 | #define NILE4_INTLIN 0x023C /* PCI Interrupt Line [R/W] */ | ||
142 | #define NILE4_INTPIN 0x023D /* PCI Interrupt Pin [R] */ | ||
143 | #define NILE4_MINGNT 0x023E /* PCI Min_Gnt [R] (unimplemented) */ | ||
144 | #define NILE4_MAXLAT 0x023F /* PCI Max_Lat [R] (unimplemented) */ | ||
145 | #define NILE4_BAR2 0x0240 /* PCI Base Address Register 2 [R/W] */ | ||
146 | #define NILE4_BAR3 0x0248 /* PCI Base Address Register 3 [R/W] */ | ||
147 | #define NILE4_BAR4 0x0250 /* PCI Base Address Register 4 [R/W] */ | ||
148 | #define NILE4_BAR5 0x0258 /* PCI Base Address Register 5 [R/W] */ | ||
149 | #define NILE4_BAR6 0x0260 /* PCI Base Address Register 6 [R/W] */ | ||
150 | #define NILE4_BAR7 0x0268 /* PCI Base Address Register 7 [R/W] */ | ||
151 | #define NILE4_BAR8 0x0270 /* PCI Base Address Register 8 [R/W] */ | ||
152 | #define NILE4_BARB 0x0278 /* PCI Base Address Register BOOT [R/W] */ | ||
153 | |||
154 | |||
155 | /* | ||
156 | * Serial-Port Registers | ||
157 | */ | ||
158 | |||
159 | #define NILE4_UART_BASE 0x0300 | ||
160 | |||
161 | #define NILE4_UARTRBR 0x0300 /* UART Receiver Data Buffer [R] */ | ||
162 | #define NILE4_UARTTHR 0x0300 /* UART Transmitter Data Holding [W] */ | ||
163 | #define NILE4_UARTIER 0x0308 /* UART Interrupt Enable [R/W] */ | ||
164 | #define NILE4_UARTDLL 0x0300 /* UART Divisor Latch LSB [R/W] */ | ||
165 | #define NILE4_UARTDLM 0x0308 /* UART Divisor Latch MSB [R/W] */ | ||
166 | #define NILE4_UARTIIR 0x0310 /* UART Interrupt ID [R] */ | ||
167 | #define NILE4_UARTFCR 0x0310 /* UART FIFO Control [W] */ | ||
168 | #define NILE4_UARTLCR 0x0318 /* UART Line Control [R/W] */ | ||
169 | #define NILE4_UARTMCR 0x0320 /* UART Modem Control [R/W] */ | ||
170 | #define NILE4_UARTLSR 0x0328 /* UART Line Status [R/W] */ | ||
171 | #define NILE4_UARTMSR 0x0330 /* UART Modem Status [R/W] */ | ||
172 | #define NILE4_UARTSCR 0x0338 /* UART Scratch [R/W] */ | ||
173 | |||
174 | #define NILE4_UART_BASE_BAUD 520833 /* 100 MHz / 12 / 16 */ | ||
175 | |||
176 | |||
177 | /* | ||
178 | * Interrupt Lines | ||
179 | */ | ||
180 | |||
181 | #define NILE4_INT_CPCE 0 /* CPU-Interface Parity-Error Interrupt */ | ||
182 | #define NILE4_INT_CNTD 1 /* CPU No-Target Decode Interrupt */ | ||
183 | #define NILE4_INT_MCE 2 /* Memory-Check Error Interrupt */ | ||
184 | #define NILE4_INT_DMA 3 /* DMA Controller Interrupt */ | ||
185 | #define NILE4_INT_UART 4 /* UART Interrupt */ | ||
186 | #define NILE4_INT_WDOG 5 /* Watchdog Timer Interrupt */ | ||
187 | #define NILE4_INT_GPT 6 /* General-Purpose Timer Interrupt */ | ||
188 | #define NILE4_INT_LBRTD 7 /* Local-Bus Ready Timer Interrupt */ | ||
189 | #define NILE4_INT_INTA 8 /* PCI Interrupt Signal INTA# */ | ||
190 | #define NILE4_INT_INTB 9 /* PCI Interrupt Signal INTB# */ | ||
191 | #define NILE4_INT_INTC 10 /* PCI Interrupt Signal INTC# */ | ||
192 | #define NILE4_INT_INTD 11 /* PCI Interrupt Signal INTD# */ | ||
193 | #define NILE4_INT_INTE 12 /* PCI Interrupt Signal INTE# (ISA cascade) */ | ||
194 | #define NILE4_INT_RESV 13 /* Reserved */ | ||
195 | #define NILE4_INT_PCIS 14 /* PCI SERR# Interrupt */ | ||
196 | #define NILE4_INT_PCIE 15 /* PCI Internal Error Interrupt */ | ||
197 | |||
198 | |||
199 | /* | ||
200 | * Nile 4 Register Access | ||
201 | */ | ||
202 | |||
203 | static inline void nile4_sync(void) | ||
204 | { | ||
205 | volatile u32 *p = (volatile u32 *)0xbfc00000; | ||
206 | (void)(*p); | ||
207 | } | ||
208 | |||
209 | static inline void nile4_out32(u32 offset, u32 val) | ||
210 | { | ||
211 | *(volatile u32 *)(NILE4_BASE+offset) = val; | ||
212 | nile4_sync(); | ||
213 | } | ||
214 | |||
215 | static inline u32 nile4_in32(u32 offset) | ||
216 | { | ||
217 | u32 val = *(volatile u32 *)(NILE4_BASE+offset); | ||
218 | nile4_sync(); | ||
219 | return val; | ||
220 | } | ||
221 | |||
222 | static inline void nile4_out16(u32 offset, u16 val) | ||
223 | { | ||
224 | *(volatile u16 *)(NILE4_BASE+offset) = val; | ||
225 | nile4_sync(); | ||
226 | } | ||
227 | |||
228 | static inline u16 nile4_in16(u32 offset) | ||
229 | { | ||
230 | u16 val = *(volatile u16 *)(NILE4_BASE+offset); | ||
231 | nile4_sync(); | ||
232 | return val; | ||
233 | } | ||
234 | |||
235 | static inline void nile4_out8(u32 offset, u8 val) | ||
236 | { | ||
237 | *(volatile u8 *)(NILE4_BASE+offset) = val; | ||
238 | nile4_sync(); | ||
239 | } | ||
240 | |||
241 | static inline u8 nile4_in8(u32 offset) | ||
242 | { | ||
243 | u8 val = *(volatile u8 *)(NILE4_BASE+offset); | ||
244 | nile4_sync(); | ||
245 | return val; | ||
246 | } | ||
247 | |||
248 | |||
249 | /* | ||
250 | * Physical Device Address Registers | ||
251 | */ | ||
252 | |||
253 | extern void nile4_set_pdar(u32 pdar, u32 phys, u32 size, int width, | ||
254 | int on_memory_bus, int visible); | ||
255 | |||
256 | |||
257 | /* | ||
258 | * PCI Master Registers | ||
259 | */ | ||
260 | |||
261 | #define NILE4_PCICMD_IACK 0 /* PCI Interrupt Acknowledge */ | ||
262 | #define NILE4_PCICMD_IO 1 /* PCI I/O Space */ | ||
263 | #define NILE4_PCICMD_MEM 3 /* PCI Memory Space */ | ||
264 | #define NILE4_PCICMD_CFG 5 /* PCI Configuration Space */ | ||
265 | |||
266 | |||
267 | /* | ||
268 | * PCI Address Spaces | ||
269 | * | ||
270 | * Note that these are multiplexed using PCIINIT[01]! | ||
271 | */ | ||
272 | |||
273 | #define NILE4_PCI_IO_BASE 0xa6000000 | ||
274 | #define NILE4_PCI_MEM_BASE 0xa8000000 | ||
275 | #define NILE4_PCI_CFG_BASE NILE4_PCI_MEM_BASE | ||
276 | #define NILE4_PCI_IACK_BASE NILE4_PCI_IO_BASE | ||
277 | |||
278 | |||
279 | extern void nile4_set_pmr(u32 pmr, u32 type, u32 addr); | ||
280 | |||
281 | |||
282 | /* | ||
283 | * Interrupt Programming | ||
284 | */ | ||
285 | |||
286 | #define NUM_I8259_INTERRUPTS 16 | ||
287 | #define NUM_NILE4_INTERRUPTS 16 | ||
288 | |||
289 | #define IRQ_I8259_CASCADE NILE4_INT_INTE | ||
290 | #define is_i8259_irq(irq) ((irq) < NUM_I8259_INTERRUPTS) | ||
291 | #define nile4_to_irq(n) ((n)+NUM_I8259_INTERRUPTS) | ||
292 | #define irq_to_nile4(n) ((n)-NUM_I8259_INTERRUPTS) | ||
293 | |||
294 | extern void nile4_map_irq(int nile4_irq, int cpu_irq); | ||
295 | extern void nile4_map_irq_all(int cpu_irq); | ||
296 | extern void nile4_enable_irq(unsigned int nile4_irq); | ||
297 | extern void nile4_disable_irq(unsigned int nile4_irq); | ||
298 | extern void nile4_disable_irq_all(void); | ||
299 | extern u16 nile4_get_irq_stat(int cpu_irq); | ||
300 | extern void nile4_enable_irq_output(int cpu_irq); | ||
301 | extern void nile4_disable_irq_output(int cpu_irq); | ||
302 | extern void nile4_set_pci_irq_polarity(int pci_irq, int high); | ||
303 | extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level); | ||
304 | extern void nile4_clear_irq(int nile4_irq); | ||
305 | extern void nile4_clear_irq_mask(u32 mask); | ||
306 | extern u8 nile4_i8259_iack(void); | ||
307 | extern void nile4_dump_irq_status(void); /* Debug */ | ||
308 | |||
309 | #endif | ||
310 | |||
diff --git a/include/asm-mips/paccess.h b/include/asm-mips/paccess.h index 8c08fa904b2c..c2394f8b0fe1 100644 --- a/include/asm-mips/paccess.h +++ b/include/asm-mips/paccess.h | |||
@@ -25,13 +25,13 @@ | |||
25 | extern asmlinkage void handle_ibe(void); | 25 | extern asmlinkage void handle_ibe(void); |
26 | extern asmlinkage void handle_dbe(void); | 26 | extern asmlinkage void handle_dbe(void); |
27 | 27 | ||
28 | #define put_dbe(x,ptr) __put_dbe((x),(ptr),sizeof(*(ptr))) | 28 | #define put_dbe(x, ptr) __put_dbe((x), (ptr), sizeof(*(ptr))) |
29 | #define get_dbe(x,ptr) __get_dbe((x),(ptr),sizeof(*(ptr))) | 29 | #define get_dbe(x, ptr) __get_dbe((x), (ptr), sizeof(*(ptr))) |
30 | 30 | ||
31 | struct __large_pstruct { unsigned long buf[100]; }; | 31 | struct __large_pstruct { unsigned long buf[100]; }; |
32 | #define __mp(x) (*(struct __large_pstruct *)(x)) | 32 | #define __mp(x) (*(struct __large_pstruct *)(x)) |
33 | 33 | ||
34 | #define __get_dbe(x,ptr,size) \ | 34 | #define __get_dbe(x, ptr, size) \ |
35 | ({ \ | 35 | ({ \ |
36 | long __gu_err; \ | 36 | long __gu_err; \ |
37 | __typeof__(*(ptr)) __gu_val; \ | 37 | __typeof__(*(ptr)) __gu_val; \ |
@@ -70,7 +70,7 @@ struct __large_pstruct { unsigned long buf[100]; }; | |||
70 | 70 | ||
71 | extern void __get_dbe_unknown(void); | 71 | extern void __get_dbe_unknown(void); |
72 | 72 | ||
73 | #define __put_dbe(x,ptr,size) \ | 73 | #define __put_dbe(x, ptr, size) \ |
74 | ({ \ | 74 | ({ \ |
75 | long __pu_err; \ | 75 | long __pu_err; \ |
76 | __typeof__(*(ptr)) __pu_val; \ | 76 | __typeof__(*(ptr)) __pu_val; \ |
diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h index e3301e54d559..d2ea983bec06 100644 --- a/include/asm-mips/page.h +++ b/include/asm-mips/page.h | |||
@@ -153,7 +153,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
153 | ((unsigned long)(x) - PAGE_OFFSET + PHYS_OFFSET) | 153 | ((unsigned long)(x) - PAGE_OFFSET + PHYS_OFFSET) |
154 | #endif | 154 | #endif |
155 | #define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - PHYS_OFFSET)) | 155 | #define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - PHYS_OFFSET)) |
156 | #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x),0)) | 156 | #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0)) |
157 | 157 | ||
158 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | 158 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) |
159 | 159 | ||
diff --git a/include/asm-mips/parport.h b/include/asm-mips/parport.h index a742e04e82de..f52656826cce 100644 --- a/include/asm-mips/parport.h +++ b/include/asm-mips/parport.h | |||
@@ -6,10 +6,10 @@ | |||
6 | #ifndef _ASM_PARPORT_H | 6 | #ifndef _ASM_PARPORT_H |
7 | #define _ASM_PARPORT_H | 7 | #define _ASM_PARPORT_H |
8 | 8 | ||
9 | static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma); | 9 | static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma); |
10 | static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma) | 10 | static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma) |
11 | { | 11 | { |
12 | return parport_pc_find_isa_ports (autoirq, autodma); | 12 | return parport_pc_find_isa_ports(autoirq, autodma); |
13 | } | 13 | } |
14 | 14 | ||
15 | #endif /* _ASM_PARPORT_H */ | 15 | #endif /* _ASM_PARPORT_H */ |
diff --git a/include/asm-mips/pci.h b/include/asm-mips/pci.h index 4fcc185cb2d1..301ff2f28012 100644 --- a/include/asm-mips/pci.h +++ b/include/asm-mips/pci.h | |||
@@ -150,8 +150,6 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res) | |||
150 | return root; | 150 | return root; |
151 | } | 151 | } |
152 | 152 | ||
153 | #ifdef CONFIG_PCI_DOMAINS | ||
154 | |||
155 | #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index | 153 | #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index |
156 | 154 | ||
157 | static inline int pci_proc_domain(struct pci_bus *bus) | 155 | static inline int pci_proc_domain(struct pci_bus *bus) |
@@ -160,8 +158,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) | |||
160 | return hose->need_domain_info; | 158 | return hose->need_domain_info; |
161 | } | 159 | } |
162 | 160 | ||
163 | #endif /* CONFIG_PCI_DOMAINS */ | ||
164 | |||
165 | #endif /* __KERNEL__ */ | 161 | #endif /* __KERNEL__ */ |
166 | 162 | ||
167 | /* implement the pci_ DMA API in terms of the generic device dma_ one */ | 163 | /* implement the pci_ DMA API in terms of the generic device dma_ one */ |
diff --git a/include/asm-mips/pci/bridge.h b/include/asm-mips/pci/bridge.h index 0c45e7598f3f..b84feebf2cef 100644 --- a/include/asm-mips/pci/bridge.h +++ b/include/asm-mips/pci/bridge.h | |||
@@ -360,7 +360,7 @@ typedef struct bridge_err_cmdword_s { | |||
360 | #define BRIDGE_TYPE0_CFG_FUNC_OFF 0x00000100 /* Type 0 Cfg Func Offset (1..7) */ | 360 | #define BRIDGE_TYPE0_CFG_FUNC_OFF 0x00000100 /* Type 0 Cfg Func Offset (1..7) */ |
361 | #define BRIDGE_TYPE0_CFG_DEV(s) (BRIDGE_TYPE0_CFG_DEV0+\ | 361 | #define BRIDGE_TYPE0_CFG_DEV(s) (BRIDGE_TYPE0_CFG_DEV0+\ |
362 | (s)*BRIDGE_TYPE0_CFG_SLOT_OFF) | 362 | (s)*BRIDGE_TYPE0_CFG_SLOT_OFF) |
363 | #define BRIDGE_TYPE0_CFG_DEVF(s,f) (BRIDGE_TYPE0_CFG_DEV0+\ | 363 | #define BRIDGE_TYPE0_CFG_DEVF(s, f) (BRIDGE_TYPE0_CFG_DEV0+\ |
364 | (s)*BRIDGE_TYPE0_CFG_SLOT_OFF+\ | 364 | (s)*BRIDGE_TYPE0_CFG_SLOT_OFF+\ |
365 | (f)*BRIDGE_TYPE0_CFG_FUNC_OFF) | 365 | (f)*BRIDGE_TYPE0_CFG_FUNC_OFF) |
366 | 366 | ||
diff --git a/include/asm-mips/pgalloc.h b/include/asm-mips/pgalloc.h index 9fb57c035213..81b72122207a 100644 --- a/include/asm-mips/pgalloc.h +++ b/include/asm-mips/pgalloc.h | |||
@@ -95,7 +95,7 @@ static inline void pte_free(struct page *pte) | |||
95 | __free_pages(pte, PTE_ORDER); | 95 | __free_pages(pte, PTE_ORDER); |
96 | } | 96 | } |
97 | 97 | ||
98 | #define __pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte)) | 98 | #define __pte_free_tlb(tlb, pte) tlb_remove_page((tlb), (pte)) |
99 | 99 | ||
100 | #ifdef CONFIG_32BIT | 100 | #ifdef CONFIG_32BIT |
101 | 101 | ||
@@ -104,7 +104,7 @@ static inline void pte_free(struct page *pte) | |||
104 | * inside the pgd, so has no extra memory associated with it. | 104 | * inside the pgd, so has no extra memory associated with it. |
105 | */ | 105 | */ |
106 | #define pmd_free(x) do { } while (0) | 106 | #define pmd_free(x) do { } while (0) |
107 | #define __pmd_free_tlb(tlb,x) do { } while (0) | 107 | #define __pmd_free_tlb(tlb, x) do { } while (0) |
108 | 108 | ||
109 | #endif | 109 | #endif |
110 | 110 | ||
@@ -125,7 +125,7 @@ static inline void pmd_free(pmd_t *pmd) | |||
125 | free_pages((unsigned long)pmd, PMD_ORDER); | 125 | free_pages((unsigned long)pmd, PMD_ORDER); |
126 | } | 126 | } |
127 | 127 | ||
128 | #define __pmd_free_tlb(tlb,x) pmd_free(x) | 128 | #define __pmd_free_tlb(tlb, x) pmd_free(x) |
129 | 129 | ||
130 | #endif | 130 | #endif |
131 | 131 | ||
diff --git a/include/asm-mips/pgtable-32.h b/include/asm-mips/pgtable-32.h index 59c865deb0c7..a0947092d0e0 100644 --- a/include/asm-mips/pgtable-32.h +++ b/include/asm-mips/pgtable-32.h | |||
@@ -140,7 +140,7 @@ pfn_pte(unsigned long pfn, pgprot_t prot) | |||
140 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) | 140 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) |
141 | 141 | ||
142 | /* to find an entry in a page-table-directory */ | 142 | /* to find an entry in a page-table-directory */ |
143 | #define pgd_offset(mm,addr) ((mm)->pgd + pgd_index(addr)) | 143 | #define pgd_offset(mm, addr) ((mm)->pgd + pgd_index(addr)) |
144 | 144 | ||
145 | /* Find an entry in the third-level page table.. */ | 145 | /* Find an entry in the third-level page table.. */ |
146 | #define __pte_offset(address) \ | 146 | #define __pte_offset(address) \ |
diff --git a/include/asm-mips/pgtable-64.h b/include/asm-mips/pgtable-64.h index 49f5a1a2dfcd..943515f0ef87 100644 --- a/include/asm-mips/pgtable-64.h +++ b/include/asm-mips/pgtable-64.h | |||
@@ -104,7 +104,7 @@ | |||
104 | #define VMALLOC_START MAP_BASE | 104 | #define VMALLOC_START MAP_BASE |
105 | #define VMALLOC_END \ | 105 | #define VMALLOC_END \ |
106 | (VMALLOC_START + PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE) | 106 | (VMALLOC_START + PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE) |
107 | #if defined(CONFIG_MODULES) && !defined(CONFIG_BUILD_ELF64) && \ | 107 | #if defined(CONFIG_MODULES) && defined(KBUILD_64BIT_SYM32) && \ |
108 | VMALLOC_START != CKSSEG | 108 | VMALLOC_START != CKSSEG |
109 | /* Load modules into 32bit-compatible segment. */ | 109 | /* Load modules into 32bit-compatible segment. */ |
110 | #define MODULE_START CKSSEG | 110 | #define MODULE_START CKSSEG |
@@ -193,7 +193,7 @@ static inline void pud_clear(pud_t *pudp) | |||
193 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) | 193 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) |
194 | 194 | ||
195 | /* to find an entry in a page-table-directory */ | 195 | /* to find an entry in a page-table-directory */ |
196 | #define pgd_offset(mm,addr) ((mm)->pgd + pgd_index(addr)) | 196 | #define pgd_offset(mm, addr) ((mm)->pgd + pgd_index(addr)) |
197 | 197 | ||
198 | static inline unsigned long pud_page_vaddr(pud_t pud) | 198 | static inline unsigned long pud_page_vaddr(pud_t pud) |
199 | { | 199 | { |
@@ -237,7 +237,7 @@ static inline pte_t mk_swap_pte(unsigned long type, unsigned long offset) | |||
237 | 237 | ||
238 | #define __swp_type(x) (((x).val >> 32) & 0xff) | 238 | #define __swp_type(x) (((x).val >> 32) & 0xff) |
239 | #define __swp_offset(x) ((x).val >> 40) | 239 | #define __swp_offset(x) ((x).val >> 40) |
240 | #define __swp_entry(type,offset) ((swp_entry_t) { pte_val(mk_swap_pte((type),(offset))) }) | 240 | #define __swp_entry(type, offset) ((swp_entry_t) { pte_val(mk_swap_pte((type), (offset))) }) |
241 | #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) | 241 | #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) |
242 | #define __swp_entry_to_pte(x) ((pte_t) { (x).val }) | 242 | #define __swp_entry_to_pte(x) ((pte_t) { (x).val }) |
243 | 243 | ||
diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h index d2ee28156743..17a7703a2969 100644 --- a/include/asm-mips/pgtable.h +++ b/include/asm-mips/pgtable.h | |||
@@ -103,7 +103,7 @@ static inline void set_pte(pte_t *ptep, pte_t pte) | |||
103 | } | 103 | } |
104 | } | 104 | } |
105 | } | 105 | } |
106 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) | 106 | #define set_pte_at(mm, addr, ptep, pteval) set_pte(ptep, pteval) |
107 | 107 | ||
108 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | 108 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) |
109 | { | 109 | { |
@@ -140,7 +140,7 @@ static inline void set_pte(pte_t *ptep, pte_t pteval) | |||
140 | } | 140 | } |
141 | #endif | 141 | #endif |
142 | } | 142 | } |
143 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) | 143 | #define set_pte_at(mm, addr, ptep, pteval) set_pte(ptep, pteval) |
144 | 144 | ||
145 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | 145 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) |
146 | { | 146 | { |
diff --git a/include/asm-mips/prctl.h b/include/asm-mips/prctl.h index 4aaaff670361..8121a9a75bfd 100644 --- a/include/asm-mips/prctl.h +++ b/include/asm-mips/prctl.h | |||
@@ -36,6 +36,6 @@ struct prda { | |||
36 | 36 | ||
37 | #define t_sys prda_sys | 37 | #define t_sys prda_sys |
38 | 38 | ||
39 | ptrdiff_t prctl (int op, int v1, int v2); | 39 | ptrdiff_t prctl(int op, int v1, int v2); |
40 | 40 | ||
41 | #endif | 41 | #endif |
diff --git a/include/asm-mips/qemu.h b/include/asm-mips/qemu.h index 531caf44560c..487ced4a40de 100644 --- a/include/asm-mips/qemu.h +++ b/include/asm-mips/qemu.h | |||
@@ -12,7 +12,7 @@ | |||
12 | * Interrupt numbers | 12 | * Interrupt numbers |
13 | */ | 13 | */ |
14 | #define Q_PIC_IRQ_BASE 0 | 14 | #define Q_PIC_IRQ_BASE 0 |
15 | #define Q_COUNT_COMPARE_IRQ 16 | 15 | #define Q_COUNT_COMPARE_IRQ 23 |
16 | 16 | ||
17 | /* | 17 | /* |
18 | * Qemu clock rate. Unlike on real MIPS this has no relation to the | 18 | * Qemu clock rate. Unlike on real MIPS this has no relation to the |
diff --git a/include/asm-mips/r4kcache.h b/include/asm-mips/r4kcache.h index 3c8e3c8d1a9a..2b8466ffd3ca 100644 --- a/include/asm-mips/r4kcache.h +++ b/include/asm-mips/r4kcache.h | |||
@@ -354,7 +354,7 @@ static inline void blast_##pfx##cache##lsize(void) \ | |||
354 | \ | 354 | \ |
355 | for (ws = 0; ws < ws_end; ws += ws_inc) \ | 355 | for (ws = 0; ws < ws_end; ws += ws_inc) \ |
356 | for (addr = start; addr < end; addr += lsize * 32) \ | 356 | for (addr = start; addr < end; addr += lsize * 32) \ |
357 | cache##lsize##_unroll32(addr|ws,indexop); \ | 357 | cache##lsize##_unroll32(addr|ws, indexop); \ |
358 | \ | 358 | \ |
359 | __##pfx##flush_epilogue \ | 359 | __##pfx##flush_epilogue \ |
360 | } \ | 360 | } \ |
@@ -367,7 +367,7 @@ static inline void blast_##pfx##cache##lsize##_page(unsigned long page) \ | |||
367 | __##pfx##flush_prologue \ | 367 | __##pfx##flush_prologue \ |
368 | \ | 368 | \ |
369 | do { \ | 369 | do { \ |
370 | cache##lsize##_unroll32(start,hitop); \ | 370 | cache##lsize##_unroll32(start, hitop); \ |
371 | start += lsize * 32; \ | 371 | start += lsize * 32; \ |
372 | } while (start < end); \ | 372 | } while (start < end); \ |
373 | \ | 373 | \ |
@@ -388,7 +388,7 @@ static inline void blast_##pfx##cache##lsize##_page_indexed(unsigned long page) | |||
388 | \ | 388 | \ |
389 | for (ws = 0; ws < ws_end; ws += ws_inc) \ | 389 | for (ws = 0; ws < ws_end; ws += ws_inc) \ |
390 | for (addr = start; addr < end; addr += lsize * 32) \ | 390 | for (addr = start; addr < end; addr += lsize * 32) \ |
391 | cache##lsize##_unroll32(addr|ws,indexop); \ | 391 | cache##lsize##_unroll32(addr|ws, indexop); \ |
392 | \ | 392 | \ |
393 | __##pfx##flush_epilogue \ | 393 | __##pfx##flush_epilogue \ |
394 | } | 394 | } |
diff --git a/include/asm-mips/semaphore.h b/include/asm-mips/semaphore.h index 3d6aa7c7ea81..080daa77f867 100644 --- a/include/asm-mips/semaphore.h +++ b/include/asm-mips/semaphore.h | |||
@@ -46,23 +46,23 @@ struct semaphore { | |||
46 | } | 46 | } |
47 | 47 | ||
48 | #define __DECLARE_SEMAPHORE_GENERIC(name, count) \ | 48 | #define __DECLARE_SEMAPHORE_GENERIC(name, count) \ |
49 | struct semaphore name = __SEMAPHORE_INITIALIZER(name,count) | 49 | struct semaphore name = __SEMAPHORE_INITIALIZER(name, count) |
50 | 50 | ||
51 | #define DECLARE_MUTEX(name) __DECLARE_SEMAPHORE_GENERIC(name, 1) | 51 | #define DECLARE_MUTEX(name) __DECLARE_SEMAPHORE_GENERIC(name, 1) |
52 | #define DECLARE_MUTEX_LOCKED(name) __DECLARE_SEMAPHORE_GENERIC(name, 0) | 52 | #define DECLARE_MUTEX_LOCKED(name) __DECLARE_SEMAPHORE_GENERIC(name, 0) |
53 | 53 | ||
54 | static inline void sema_init (struct semaphore *sem, int val) | 54 | static inline void sema_init(struct semaphore *sem, int val) |
55 | { | 55 | { |
56 | atomic_set(&sem->count, val); | 56 | atomic_set(&sem->count, val); |
57 | init_waitqueue_head(&sem->wait); | 57 | init_waitqueue_head(&sem->wait); |
58 | } | 58 | } |
59 | 59 | ||
60 | static inline void init_MUTEX (struct semaphore *sem) | 60 | static inline void init_MUTEX(struct semaphore *sem) |
61 | { | 61 | { |
62 | sema_init(sem, 1); | 62 | sema_init(sem, 1); |
63 | } | 63 | } |
64 | 64 | ||
65 | static inline void init_MUTEX_LOCKED (struct semaphore *sem) | 65 | static inline void init_MUTEX_LOCKED(struct semaphore *sem) |
66 | { | 66 | { |
67 | sema_init(sem, 0); | 67 | sema_init(sem, 0); |
68 | } | 68 | } |
diff --git a/include/asm-mips/sgiarcs.h b/include/asm-mips/sgiarcs.h index 439bce7daa3a..721327f88601 100644 --- a/include/asm-mips/sgiarcs.h +++ b/include/asm-mips/sgiarcs.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #define _ASM_SGIARCS_H | 13 | #define _ASM_SGIARCS_H |
14 | 14 | ||
15 | #include <asm/types.h> | 15 | #include <asm/types.h> |
16 | #include <asm/arc/types.h> | 16 | #include <asm/fw/arc/types.h> |
17 | 17 | ||
18 | /* Various ARCS error codes. */ | 18 | /* Various ARCS error codes. */ |
19 | #define PROM_ESUCCESS 0x00 | 19 | #define PROM_ESUCCESS 0x00 |
@@ -369,8 +369,8 @@ struct linux_smonblock { | |||
369 | #if defined(CONFIG_64BIT) && defined(CONFIG_ARC32) | 369 | #if defined(CONFIG_64BIT) && defined(CONFIG_ARC32) |
370 | 370 | ||
371 | #define __arc_clobbers \ | 371 | #define __arc_clobbers \ |
372 | "$2","$3" /* ... */, "$8","$9","$10","$11", \ | 372 | "$2", "$3" /* ... */, "$8", "$9", "$10", "$11", \ |
373 | "$12","$13","$14","$15","$16","$24","$25","$31" | 373 | "$12", "$13", "$14", "$15", "$16", "$24", "$25", "$31" |
374 | 374 | ||
375 | #define ARC_CALL0(dest) \ | 375 | #define ARC_CALL0(dest) \ |
376 | ({ long __res; \ | 376 | ({ long __res; \ |
@@ -382,11 +382,11 @@ struct linux_smonblock { | |||
382 | "move\t%0, $2" \ | 382 | "move\t%0, $2" \ |
383 | : "=r" (__res), "=r" (__vec) \ | 383 | : "=r" (__res), "=r" (__vec) \ |
384 | : "1" (__vec) \ | 384 | : "1" (__vec) \ |
385 | : __arc_clobbers, "$4","$5","$6","$7"); \ | 385 | : __arc_clobbers, "$4", "$5", "$6", "$7"); \ |
386 | (unsigned long) __res; \ | 386 | (unsigned long) __res; \ |
387 | }) | 387 | }) |
388 | 388 | ||
389 | #define ARC_CALL1(dest,a1) \ | 389 | #define ARC_CALL1(dest, a1) \ |
390 | ({ long __res; \ | 390 | ({ long __res; \ |
391 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ | 391 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ |
392 | long __vec = (long) romvec->dest; \ | 392 | long __vec = (long) romvec->dest; \ |
@@ -397,11 +397,11 @@ struct linux_smonblock { | |||
397 | "move\t%0, $2" \ | 397 | "move\t%0, $2" \ |
398 | : "=r" (__res), "=r" (__vec) \ | 398 | : "=r" (__res), "=r" (__vec) \ |
399 | : "1" (__vec), "r" (__a1) \ | 399 | : "1" (__vec), "r" (__a1) \ |
400 | : __arc_clobbers, "$5","$6","$7"); \ | 400 | : __arc_clobbers, "$5", "$6", "$7"); \ |
401 | (unsigned long) __res; \ | 401 | (unsigned long) __res; \ |
402 | }) | 402 | }) |
403 | 403 | ||
404 | #define ARC_CALL2(dest,a1,a2) \ | 404 | #define ARC_CALL2(dest, a1, a2) \ |
405 | ({ long __res; \ | 405 | ({ long __res; \ |
406 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ | 406 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ |
407 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ | 407 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ |
@@ -413,11 +413,11 @@ struct linux_smonblock { | |||
413 | "move\t%0, $2" \ | 413 | "move\t%0, $2" \ |
414 | : "=r" (__res), "=r" (__vec) \ | 414 | : "=r" (__res), "=r" (__vec) \ |
415 | : "1" (__vec), "r" (__a1), "r" (__a2) \ | 415 | : "1" (__vec), "r" (__a1), "r" (__a2) \ |
416 | : __arc_clobbers, "$6","$7"); \ | 416 | : __arc_clobbers, "$6", "$7"); \ |
417 | __res; \ | 417 | __res; \ |
418 | }) | 418 | }) |
419 | 419 | ||
420 | #define ARC_CALL3(dest,a1,a2,a3) \ | 420 | #define ARC_CALL3(dest, a1, a2, a3) \ |
421 | ({ long __res; \ | 421 | ({ long __res; \ |
422 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ | 422 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ |
423 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ | 423 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ |
@@ -434,7 +434,7 @@ struct linux_smonblock { | |||
434 | __res; \ | 434 | __res; \ |
435 | }) | 435 | }) |
436 | 436 | ||
437 | #define ARC_CALL4(dest,a1,a2,a3,a4) \ | 437 | #define ARC_CALL4(dest, a1, a2, a3, a4) \ |
438 | ({ long __res; \ | 438 | ({ long __res; \ |
439 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ | 439 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ |
440 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ | 440 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ |
@@ -453,7 +453,7 @@ struct linux_smonblock { | |||
453 | __res; \ | 453 | __res; \ |
454 | }) | 454 | }) |
455 | 455 | ||
456 | #define ARC_CALL5(dest,a1,a2,a3,a4,a5) \ | 456 | #define ARC_CALL5(dest, a1, a2, a3, a4, a5) \ |
457 | ({ long __res; \ | 457 | ({ long __res; \ |
458 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ | 458 | register signed int __a1 __asm__("$4") = (int) (long) (a1); \ |
459 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ | 459 | register signed int __a2 __asm__("$5") = (int) (long) (a2); \ |
@@ -468,8 +468,8 @@ struct linux_smonblock { | |||
468 | "daddu\t$29, 32\n\t" \ | 468 | "daddu\t$29, 32\n\t" \ |
469 | "move\t%0, $2" \ | 469 | "move\t%0, $2" \ |
470 | : "=r" (__res), "=r" (__vec) \ | 470 | : "=r" (__res), "=r" (__vec) \ |
471 | : "1" (__vec), \ | 471 | : "1" (__vec), \ |
472 | "r" (__a1), "r" (__a2), "r" (__a3), "r" (__a4), \ | 472 | "r" (__a1), "r" (__a2), "r" (__a3), "r" (__a4), \ |
473 | "r" (__a5) \ | 473 | "r" (__a5) \ |
474 | : __arc_clobbers); \ | 474 | : __arc_clobbers); \ |
475 | __res; \ | 475 | __res; \ |
@@ -488,7 +488,7 @@ struct linux_smonblock { | |||
488 | __res; \ | 488 | __res; \ |
489 | }) | 489 | }) |
490 | 490 | ||
491 | #define ARC_CALL1(dest,a1) \ | 491 | #define ARC_CALL1(dest, a1) \ |
492 | ({ long __res; \ | 492 | ({ long __res; \ |
493 | long __a1 = (long) (a1); \ | 493 | long __a1 = (long) (a1); \ |
494 | long (*__vec)(long) = (void *) romvec->dest; \ | 494 | long (*__vec)(long) = (void *) romvec->dest; \ |
@@ -497,7 +497,7 @@ struct linux_smonblock { | |||
497 | __res; \ | 497 | __res; \ |
498 | }) | 498 | }) |
499 | 499 | ||
500 | #define ARC_CALL2(dest,a1,a2) \ | 500 | #define ARC_CALL2(dest, a1, a2) \ |
501 | ({ long __res; \ | 501 | ({ long __res; \ |
502 | long __a1 = (long) (a1); \ | 502 | long __a1 = (long) (a1); \ |
503 | long __a2 = (long) (a2); \ | 503 | long __a2 = (long) (a2); \ |
@@ -507,7 +507,7 @@ struct linux_smonblock { | |||
507 | __res; \ | 507 | __res; \ |
508 | }) | 508 | }) |
509 | 509 | ||
510 | #define ARC_CALL3(dest,a1,a2,a3) \ | 510 | #define ARC_CALL3(dest, a1, a2, a3) \ |
511 | ({ long __res; \ | 511 | ({ long __res; \ |
512 | long __a1 = (long) (a1); \ | 512 | long __a1 = (long) (a1); \ |
513 | long __a2 = (long) (a2); \ | 513 | long __a2 = (long) (a2); \ |
@@ -518,7 +518,7 @@ struct linux_smonblock { | |||
518 | __res; \ | 518 | __res; \ |
519 | }) | 519 | }) |
520 | 520 | ||
521 | #define ARC_CALL4(dest,a1,a2,a3,a4) \ | 521 | #define ARC_CALL4(dest, a1, a2, a3, a4) \ |
522 | ({ long __res; \ | 522 | ({ long __res; \ |
523 | long __a1 = (long) (a1); \ | 523 | long __a1 = (long) (a1); \ |
524 | long __a2 = (long) (a2); \ | 524 | long __a2 = (long) (a2); \ |
@@ -530,7 +530,7 @@ struct linux_smonblock { | |||
530 | __res; \ | 530 | __res; \ |
531 | }) | 531 | }) |
532 | 532 | ||
533 | #define ARC_CALL5(dest,a1,a2,a3,a4,a5) \ | 533 | #define ARC_CALL5(dest, a1, a2, a3, a4, a5) \ |
534 | ({ long __res; \ | 534 | ({ long __res; \ |
535 | long __a1 = (long) (a1); \ | 535 | long __a1 = (long) (a1); \ |
536 | long __a2 = (long) (a2); \ | 536 | long __a2 = (long) (a2); \ |
diff --git a/include/asm-mips/sibyte/bcm1480_int.h b/include/asm-mips/sibyte/bcm1480_int.h index c0d5206020fd..6109557c14e9 100644 --- a/include/asm-mips/sibyte/bcm1480_int.h +++ b/include/asm-mips/sibyte/bcm1480_int.h | |||
@@ -157,7 +157,7 @@ | |||
157 | * Mask values for each interrupt | 157 | * Mask values for each interrupt |
158 | */ | 158 | */ |
159 | 159 | ||
160 | #define _BCM1480_INT_MASK(w,n) _SB_MAKEMASK(w,((n) & 0x3F)) | 160 | #define _BCM1480_INT_MASK(w, n) _SB_MAKEMASK(w, ((n) & 0x3F)) |
161 | #define _BCM1480_INT_MASK1(n) _SB_MAKEMASK1(((n) & 0x3F)) | 161 | #define _BCM1480_INT_MASK1(n) _SB_MAKEMASK1(((n) & 0x3F)) |
162 | #define _BCM1480_INT_OFFSET(n) (((n) & 0x40) << 6) | 162 | #define _BCM1480_INT_OFFSET(n) (((n) & 0x40) << 6) |
163 | 163 | ||
@@ -196,7 +196,7 @@ | |||
196 | #define M_BCM1480_INT_PMI_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_HIGH) | 196 | #define M_BCM1480_INT_PMI_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_HIGH) |
197 | #define M_BCM1480_INT_PMO_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_LOW) | 197 | #define M_BCM1480_INT_PMO_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_LOW) |
198 | #define M_BCM1480_INT_PMO_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_HIGH) | 198 | #define M_BCM1480_INT_PMO_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_HIGH) |
199 | #define M_BCM1480_INT_MBOX_ALL _BCM1480_INT_MASK(8,K_BCM1480_INT_MBOX_0_0) | 199 | #define M_BCM1480_INT_MBOX_ALL _BCM1480_INT_MASK(8, K_BCM1480_INT_MBOX_0_0) |
200 | #define M_BCM1480_INT_MBOX_0_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_0) | 200 | #define M_BCM1480_INT_MBOX_0_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_0) |
201 | #define M_BCM1480_INT_MBOX_0_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_1) | 201 | #define M_BCM1480_INT_MBOX_0_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_1) |
202 | #define M_BCM1480_INT_MBOX_0_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_2) | 202 | #define M_BCM1480_INT_MBOX_0_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_2) |
@@ -269,9 +269,9 @@ | |||
269 | */ | 269 | */ |
270 | 270 | ||
271 | #define S_BCM1480_INT_HT_INTMSG 0 | 271 | #define S_BCM1480_INT_HT_INTMSG 0 |
272 | #define M_BCM1480_INT_HT_INTMSG _SB_MAKEMASK(3,S_BCM1480_INT_HT_INTMSG) | 272 | #define M_BCM1480_INT_HT_INTMSG _SB_MAKEMASK(3, S_BCM1480_INT_HT_INTMSG) |
273 | #define V_BCM1480_INT_HT_INTMSG(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_INTMSG) | 273 | #define V_BCM1480_INT_HT_INTMSG(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTMSG) |
274 | #define G_BCM1480_INT_HT_INTMSG(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_INTMSG,M_BCM1480_INT_HT_INTMSG) | 274 | #define G_BCM1480_INT_HT_INTMSG(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_INTMSG, M_BCM1480_INT_HT_INTMSG) |
275 | 275 | ||
276 | #define K_BCM1480_INT_HT_INTMSG_FIXED 0 | 276 | #define K_BCM1480_INT_HT_INTMSG_FIXED 0 |
277 | #define K_BCM1480_INT_HT_INTMSG_ARBITRATED 1 | 277 | #define K_BCM1480_INT_HT_INTMSG_ARBITRATED 1 |
@@ -291,14 +291,14 @@ | |||
291 | #define V_BCM1480_INT_HT_LOGICALDEST M_BCM1480_INT_HT_DESTMODE | 291 | #define V_BCM1480_INT_HT_LOGICALDEST M_BCM1480_INT_HT_DESTMODE |
292 | 292 | ||
293 | #define S_BCM1480_INT_HT_INTDEST 5 | 293 | #define S_BCM1480_INT_HT_INTDEST 5 |
294 | #define M_BCM1480_INT_HT_INTDEST _SB_MAKEMASK(8,S_BCM1480_INT_HT_INTDEST) | 294 | #define M_BCM1480_INT_HT_INTDEST _SB_MAKEMASK(8, S_BCM1480_INT_HT_INTDEST) |
295 | #define V_BCM1480_INT_HT_INTDEST(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_INTDEST) | 295 | #define V_BCM1480_INT_HT_INTDEST(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTDEST) |
296 | #define G_BCM1480_INT_HT_INTDEST(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_INTDEST,M_BCM1480_INT_HT_INTDEST) | 296 | #define G_BCM1480_INT_HT_INTDEST(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_INTDEST, M_BCM1480_INT_HT_INTDEST) |
297 | 297 | ||
298 | #define S_BCM1480_INT_HT_VECTOR 13 | 298 | #define S_BCM1480_INT_HT_VECTOR 13 |
299 | #define M_BCM1480_INT_HT_VECTOR _SB_MAKEMASK(8,S_BCM1480_INT_HT_VECTOR) | 299 | #define M_BCM1480_INT_HT_VECTOR _SB_MAKEMASK(8, S_BCM1480_INT_HT_VECTOR) |
300 | #define V_BCM1480_INT_HT_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_VECTOR) | 300 | #define V_BCM1480_INT_HT_VECTOR(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_VECTOR) |
301 | #define G_BCM1480_INT_HT_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_VECTOR,M_BCM1480_INT_HT_VECTOR) | 301 | #define G_BCM1480_INT_HT_VECTOR(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_VECTOR, M_BCM1480_INT_HT_VECTOR) |
302 | 302 | ||
303 | /* | 303 | /* |
304 | * Vector prefix (Table 4-7) | 304 | * Vector prefix (Table 4-7) |
diff --git a/include/asm-mips/sibyte/bcm1480_l2c.h b/include/asm-mips/sibyte/bcm1480_l2c.h index 886b099565e6..fd75817f7ac4 100644 --- a/include/asm-mips/sibyte/bcm1480_l2c.h +++ b/include/asm-mips/sibyte/bcm1480_l2c.h | |||
@@ -40,22 +40,22 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #define S_BCM1480_L2C_MGMT_INDEX 5 | 42 | #define S_BCM1480_L2C_MGMT_INDEX 5 |
43 | #define M_BCM1480_L2C_MGMT_INDEX _SB_MAKEMASK(12,S_BCM1480_L2C_MGMT_INDEX) | 43 | #define M_BCM1480_L2C_MGMT_INDEX _SB_MAKEMASK(12, S_BCM1480_L2C_MGMT_INDEX) |
44 | #define V_BCM1480_L2C_MGMT_INDEX(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_MGMT_INDEX) | 44 | #define V_BCM1480_L2C_MGMT_INDEX(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_MGMT_INDEX) |
45 | #define G_BCM1480_L2C_MGMT_INDEX(x) _SB_GETVALUE(x,S_BCM1480_L2C_MGMT_INDEX,M_BCM1480_L2C_MGMT_INDEX) | 45 | #define G_BCM1480_L2C_MGMT_INDEX(x) _SB_GETVALUE(x, S_BCM1480_L2C_MGMT_INDEX, M_BCM1480_L2C_MGMT_INDEX) |
46 | 46 | ||
47 | #define S_BCM1480_L2C_MGMT_WAY 17 | 47 | #define S_BCM1480_L2C_MGMT_WAY 17 |
48 | #define M_BCM1480_L2C_MGMT_WAY _SB_MAKEMASK(3,S_BCM1480_L2C_MGMT_WAY) | 48 | #define M_BCM1480_L2C_MGMT_WAY _SB_MAKEMASK(3, S_BCM1480_L2C_MGMT_WAY) |
49 | #define V_BCM1480_L2C_MGMT_WAY(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_MGMT_WAY) | 49 | #define V_BCM1480_L2C_MGMT_WAY(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_MGMT_WAY) |
50 | #define G_BCM1480_L2C_MGMT_WAY(x) _SB_GETVALUE(x,S_BCM1480_L2C_MGMT_WAY,M_BCM1480_L2C_MGMT_WAY) | 50 | #define G_BCM1480_L2C_MGMT_WAY(x) _SB_GETVALUE(x, S_BCM1480_L2C_MGMT_WAY, M_BCM1480_L2C_MGMT_WAY) |
51 | 51 | ||
52 | #define M_BCM1480_L2C_MGMT_DIRTY _SB_MAKEMASK1(20) | 52 | #define M_BCM1480_L2C_MGMT_DIRTY _SB_MAKEMASK1(20) |
53 | #define M_BCM1480_L2C_MGMT_VALID _SB_MAKEMASK1(21) | 53 | #define M_BCM1480_L2C_MGMT_VALID _SB_MAKEMASK1(21) |
54 | 54 | ||
55 | #define S_BCM1480_L2C_MGMT_ECC_DIAG 22 | 55 | #define S_BCM1480_L2C_MGMT_ECC_DIAG 22 |
56 | #define M_BCM1480_L2C_MGMT_ECC_DIAG _SB_MAKEMASK(2,S_BCM1480_L2C_MGMT_ECC_DIAG) | 56 | #define M_BCM1480_L2C_MGMT_ECC_DIAG _SB_MAKEMASK(2, S_BCM1480_L2C_MGMT_ECC_DIAG) |
57 | #define V_BCM1480_L2C_MGMT_ECC_DIAG(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_MGMT_ECC_DIAG) | 57 | #define V_BCM1480_L2C_MGMT_ECC_DIAG(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_MGMT_ECC_DIAG) |
58 | #define G_BCM1480_L2C_MGMT_ECC_DIAG(x) _SB_GETVALUE(x,S_BCM1480_L2C_MGMT_ECC_DIAG,M_BCM1480_L2C_MGMT_ECC_DIAG) | 58 | #define G_BCM1480_L2C_MGMT_ECC_DIAG(x) _SB_GETVALUE(x, S_BCM1480_L2C_MGMT_ECC_DIAG, M_BCM1480_L2C_MGMT_ECC_DIAG) |
59 | 59 | ||
60 | #define A_BCM1480_L2C_MGMT_TAG_BASE 0x00D0000000 | 60 | #define A_BCM1480_L2C_MGMT_TAG_BASE 0x00D0000000 |
61 | 61 | ||
@@ -68,36 +68,36 @@ | |||
68 | */ | 68 | */ |
69 | 69 | ||
70 | #define S_BCM1480_L2C_TAG_MBZ 0 | 70 | #define S_BCM1480_L2C_TAG_MBZ 0 |
71 | #define M_BCM1480_L2C_TAG_MBZ _SB_MAKEMASK(5,S_BCM1480_L2C_TAG_MBZ) | 71 | #define M_BCM1480_L2C_TAG_MBZ _SB_MAKEMASK(5, S_BCM1480_L2C_TAG_MBZ) |
72 | 72 | ||
73 | #define S_BCM1480_L2C_TAG_INDEX 5 | 73 | #define S_BCM1480_L2C_TAG_INDEX 5 |
74 | #define M_BCM1480_L2C_TAG_INDEX _SB_MAKEMASK(12,S_BCM1480_L2C_TAG_INDEX) | 74 | #define M_BCM1480_L2C_TAG_INDEX _SB_MAKEMASK(12, S_BCM1480_L2C_TAG_INDEX) |
75 | #define V_BCM1480_L2C_TAG_INDEX(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_TAG_INDEX) | 75 | #define V_BCM1480_L2C_TAG_INDEX(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_TAG_INDEX) |
76 | #define G_BCM1480_L2C_TAG_INDEX(x) _SB_GETVALUE(x,S_BCM1480_L2C_TAG_INDEX,M_BCM1480_L2C_TAG_INDEX) | 76 | #define G_BCM1480_L2C_TAG_INDEX(x) _SB_GETVALUE(x, S_BCM1480_L2C_TAG_INDEX, M_BCM1480_L2C_TAG_INDEX) |
77 | 77 | ||
78 | /* Note that index bit 16 is also tag bit 40 */ | 78 | /* Note that index bit 16 is also tag bit 40 */ |
79 | #define S_BCM1480_L2C_TAG_TAG 17 | 79 | #define S_BCM1480_L2C_TAG_TAG 17 |
80 | #define M_BCM1480_L2C_TAG_TAG _SB_MAKEMASK(23,S_BCM1480_L2C_TAG_TAG) | 80 | #define M_BCM1480_L2C_TAG_TAG _SB_MAKEMASK(23, S_BCM1480_L2C_TAG_TAG) |
81 | #define V_BCM1480_L2C_TAG_TAG(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_TAG_TAG) | 81 | #define V_BCM1480_L2C_TAG_TAG(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_TAG_TAG) |
82 | #define G_BCM1480_L2C_TAG_TAG(x) _SB_GETVALUE(x,S_BCM1480_L2C_TAG_TAG,M_BCM1480_L2C_TAG_TAG) | 82 | #define G_BCM1480_L2C_TAG_TAG(x) _SB_GETVALUE(x, S_BCM1480_L2C_TAG_TAG, M_BCM1480_L2C_TAG_TAG) |
83 | 83 | ||
84 | #define S_BCM1480_L2C_TAG_ECC 40 | 84 | #define S_BCM1480_L2C_TAG_ECC 40 |
85 | #define M_BCM1480_L2C_TAG_ECC _SB_MAKEMASK(6,S_BCM1480_L2C_TAG_ECC) | 85 | #define M_BCM1480_L2C_TAG_ECC _SB_MAKEMASK(6, S_BCM1480_L2C_TAG_ECC) |
86 | #define V_BCM1480_L2C_TAG_ECC(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_TAG_ECC) | 86 | #define V_BCM1480_L2C_TAG_ECC(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_TAG_ECC) |
87 | #define G_BCM1480_L2C_TAG_ECC(x) _SB_GETVALUE(x,S_BCM1480_L2C_TAG_ECC,M_BCM1480_L2C_TAG_ECC) | 87 | #define G_BCM1480_L2C_TAG_ECC(x) _SB_GETVALUE(x, S_BCM1480_L2C_TAG_ECC, M_BCM1480_L2C_TAG_ECC) |
88 | 88 | ||
89 | #define S_BCM1480_L2C_TAG_WAY 46 | 89 | #define S_BCM1480_L2C_TAG_WAY 46 |
90 | #define M_BCM1480_L2C_TAG_WAY _SB_MAKEMASK(3,S_BCM1480_L2C_TAG_WAY) | 90 | #define M_BCM1480_L2C_TAG_WAY _SB_MAKEMASK(3, S_BCM1480_L2C_TAG_WAY) |
91 | #define V_BCM1480_L2C_TAG_WAY(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_TAG_WAY) | 91 | #define V_BCM1480_L2C_TAG_WAY(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_TAG_WAY) |
92 | #define G_BCM1480_L2C_TAG_WAY(x) _SB_GETVALUE(x,S_BCM1480_L2C_TAG_WAY,M_BCM1480_L2C_TAG_WAY) | 92 | #define G_BCM1480_L2C_TAG_WAY(x) _SB_GETVALUE(x, S_BCM1480_L2C_TAG_WAY, M_BCM1480_L2C_TAG_WAY) |
93 | 93 | ||
94 | #define M_BCM1480_L2C_TAG_DIRTY _SB_MAKEMASK1(49) | 94 | #define M_BCM1480_L2C_TAG_DIRTY _SB_MAKEMASK1(49) |
95 | #define M_BCM1480_L2C_TAG_VALID _SB_MAKEMASK1(50) | 95 | #define M_BCM1480_L2C_TAG_VALID _SB_MAKEMASK1(50) |
96 | 96 | ||
97 | #define S_BCM1480_L2C_DATA_ECC 51 | 97 | #define S_BCM1480_L2C_DATA_ECC 51 |
98 | #define M_BCM1480_L2C_DATA_ECC _SB_MAKEMASK(10,S_BCM1480_L2C_DATA_ECC) | 98 | #define M_BCM1480_L2C_DATA_ECC _SB_MAKEMASK(10, S_BCM1480_L2C_DATA_ECC) |
99 | #define V_BCM1480_L2C_DATA_ECC(x) _SB_MAKEVALUE(x,S_BCM1480_L2C_DATA_ECC) | 99 | #define V_BCM1480_L2C_DATA_ECC(x) _SB_MAKEVALUE(x, S_BCM1480_L2C_DATA_ECC) |
100 | #define G_BCM1480_L2C_DATA_ECC(x) _SB_GETVALUE(x,S_BCM1480_L2C_DATA_ECC,M_BCM1480_L2C_DATA_ECC) | 100 | #define G_BCM1480_L2C_DATA_ECC(x) _SB_GETVALUE(x, S_BCM1480_L2C_DATA_ECC, M_BCM1480_L2C_DATA_ECC) |
101 | 101 | ||
102 | 102 | ||
103 | /* | 103 | /* |
@@ -105,24 +105,24 @@ | |||
105 | */ | 105 | */ |
106 | 106 | ||
107 | #define S_BCM1480_L2C_MISC0_WAY_REMOTE 0 | 107 | #define S_BCM1480_L2C_MISC0_WAY_REMOTE 0 |
108 | #define M_BCM1480_L2C_MISC0_WAY_REMOTE _SB_MAKEMASK(8,S_BCM1480_L2C_MISC0_WAY_REMOTE) | 108 | #define M_BCM1480_L2C_MISC0_WAY_REMOTE _SB_MAKEMASK(8, S_BCM1480_L2C_MISC0_WAY_REMOTE) |
109 | #define G_BCM1480_L2C_MISC0_WAY_REMOTE(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC0_WAY_REMOTE,M_BCM1480_L2C_MISC0_WAY_REMOTE) | 109 | #define G_BCM1480_L2C_MISC0_WAY_REMOTE(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC0_WAY_REMOTE, M_BCM1480_L2C_MISC0_WAY_REMOTE) |
110 | 110 | ||
111 | #define S_BCM1480_L2C_MISC0_WAY_LOCAL 8 | 111 | #define S_BCM1480_L2C_MISC0_WAY_LOCAL 8 |
112 | #define M_BCM1480_L2C_MISC0_WAY_LOCAL _SB_MAKEMASK(8,S_BCM1480_L2C_MISC0_WAY_LOCAL) | 112 | #define M_BCM1480_L2C_MISC0_WAY_LOCAL _SB_MAKEMASK(8, S_BCM1480_L2C_MISC0_WAY_LOCAL) |
113 | #define G_BCM1480_L2C_MISC0_WAY_LOCAL(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC0_WAY_LOCAL,M_BCM1480_L2C_MISC0_WAY_LOCAL) | 113 | #define G_BCM1480_L2C_MISC0_WAY_LOCAL(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC0_WAY_LOCAL, M_BCM1480_L2C_MISC0_WAY_LOCAL) |
114 | 114 | ||
115 | #define S_BCM1480_L2C_MISC0_WAY_ENABLE 16 | 115 | #define S_BCM1480_L2C_MISC0_WAY_ENABLE 16 |
116 | #define M_BCM1480_L2C_MISC0_WAY_ENABLE _SB_MAKEMASK(8,S_BCM1480_L2C_MISC0_WAY_ENABLE) | 116 | #define M_BCM1480_L2C_MISC0_WAY_ENABLE _SB_MAKEMASK(8, S_BCM1480_L2C_MISC0_WAY_ENABLE) |
117 | #define G_BCM1480_L2C_MISC0_WAY_ENABLE(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC0_WAY_ENABLE,M_BCM1480_L2C_MISC0_WAY_ENABLE) | 117 | #define G_BCM1480_L2C_MISC0_WAY_ENABLE(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC0_WAY_ENABLE, M_BCM1480_L2C_MISC0_WAY_ENABLE) |
118 | 118 | ||
119 | #define S_BCM1480_L2C_MISC0_CACHE_DISABLE 24 | 119 | #define S_BCM1480_L2C_MISC0_CACHE_DISABLE 24 |
120 | #define M_BCM1480_L2C_MISC0_CACHE_DISABLE _SB_MAKEMASK(2,S_BCM1480_L2C_MISC0_CACHE_DISABLE) | 120 | #define M_BCM1480_L2C_MISC0_CACHE_DISABLE _SB_MAKEMASK(2, S_BCM1480_L2C_MISC0_CACHE_DISABLE) |
121 | #define G_BCM1480_L2C_MISC0_CACHE_DISABLE(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC0_CACHE_DISABLE,M_BCM1480_L2C_MISC0_CACHE_DISABLE) | 121 | #define G_BCM1480_L2C_MISC0_CACHE_DISABLE(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC0_CACHE_DISABLE, M_BCM1480_L2C_MISC0_CACHE_DISABLE) |
122 | 122 | ||
123 | #define S_BCM1480_L2C_MISC0_CACHE_QUAD 26 | 123 | #define S_BCM1480_L2C_MISC0_CACHE_QUAD 26 |
124 | #define M_BCM1480_L2C_MISC0_CACHE_QUAD _SB_MAKEMASK(2,S_BCM1480_L2C_MISC0_CACHE_QUAD) | 124 | #define M_BCM1480_L2C_MISC0_CACHE_QUAD _SB_MAKEMASK(2, S_BCM1480_L2C_MISC0_CACHE_QUAD) |
125 | #define G_BCM1480_L2C_MISC0_CACHE_QUAD(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC0_CACHE_QUAD,M_BCM1480_L2C_MISC0_CACHE_QUAD) | 125 | #define G_BCM1480_L2C_MISC0_CACHE_QUAD(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC0_CACHE_QUAD, M_BCM1480_L2C_MISC0_CACHE_QUAD) |
126 | 126 | ||
127 | #define S_BCM1480_L2C_MISC0_MC_PRIORITY 30 | 127 | #define S_BCM1480_L2C_MISC0_MC_PRIORITY 30 |
128 | #define M_BCM1480_L2C_MISC0_MC_PRIORITY _SB_MAKEMASK1(S_BCM1480_L2C_MISC0_MC_PRIORITY) | 128 | #define M_BCM1480_L2C_MISC0_MC_PRIORITY _SB_MAKEMASK1(S_BCM1480_L2C_MISC0_MC_PRIORITY) |
@@ -136,24 +136,24 @@ | |||
136 | */ | 136 | */ |
137 | 137 | ||
138 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_0 0 | 138 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_0 0 |
139 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_0 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC1_WAY_AGENT_0) | 139 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_0 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC1_WAY_AGENT_0) |
140 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_0(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC1_WAY_AGENT_0,M_BCM1480_L2C_MISC1_WAY_AGENT_0) | 140 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_0(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC1_WAY_AGENT_0, M_BCM1480_L2C_MISC1_WAY_AGENT_0) |
141 | 141 | ||
142 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_1 8 | 142 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_1 8 |
143 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_1 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC1_WAY_AGENT_1) | 143 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_1 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC1_WAY_AGENT_1) |
144 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_1(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC1_WAY_AGENT_1,M_BCM1480_L2C_MISC1_WAY_AGENT_1) | 144 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_1(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC1_WAY_AGENT_1, M_BCM1480_L2C_MISC1_WAY_AGENT_1) |
145 | 145 | ||
146 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_2 16 | 146 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_2 16 |
147 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_2 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC1_WAY_AGENT_2) | 147 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_2 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC1_WAY_AGENT_2) |
148 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_2(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC1_WAY_AGENT_2,M_BCM1480_L2C_MISC1_WAY_AGENT_2) | 148 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_2(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC1_WAY_AGENT_2, M_BCM1480_L2C_MISC1_WAY_AGENT_2) |
149 | 149 | ||
150 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_3 24 | 150 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_3 24 |
151 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_3 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC1_WAY_AGENT_3) | 151 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_3 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC1_WAY_AGENT_3) |
152 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_3(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC1_WAY_AGENT_3,M_BCM1480_L2C_MISC1_WAY_AGENT_3) | 152 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_3(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC1_WAY_AGENT_3, M_BCM1480_L2C_MISC1_WAY_AGENT_3) |
153 | 153 | ||
154 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_4 32 | 154 | #define S_BCM1480_L2C_MISC1_WAY_AGENT_4 32 |
155 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_4 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC1_WAY_AGENT_4) | 155 | #define M_BCM1480_L2C_MISC1_WAY_AGENT_4 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC1_WAY_AGENT_4) |
156 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_4(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC1_WAY_AGENT_4,M_BCM1480_L2C_MISC1_WAY_AGENT_4) | 156 | #define G_BCM1480_L2C_MISC1_WAY_AGENT_4(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC1_WAY_AGENT_4, M_BCM1480_L2C_MISC1_WAY_AGENT_4) |
157 | 157 | ||
158 | 158 | ||
159 | /* | 159 | /* |
@@ -161,16 +161,16 @@ | |||
161 | */ | 161 | */ |
162 | 162 | ||
163 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_8 0 | 163 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_8 0 |
164 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_8 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC2_WAY_AGENT_8) | 164 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_8 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC2_WAY_AGENT_8) |
165 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_8(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC2_WAY_AGENT_8,M_BCM1480_L2C_MISC2_WAY_AGENT_8) | 165 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_8(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC2_WAY_AGENT_8, M_BCM1480_L2C_MISC2_WAY_AGENT_8) |
166 | 166 | ||
167 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_9 8 | 167 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_9 8 |
168 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_9 _SB_MAKEMASK(8,S_BCM1480_L2C_MISC2_WAY_AGENT_9) | 168 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_9 _SB_MAKEMASK(8, S_BCM1480_L2C_MISC2_WAY_AGENT_9) |
169 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_9(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC2_WAY_AGENT_9,M_BCM1480_L2C_MISC2_WAY_AGENT_9) | 169 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_9(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC2_WAY_AGENT_9, M_BCM1480_L2C_MISC2_WAY_AGENT_9) |
170 | 170 | ||
171 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_A 16 | 171 | #define S_BCM1480_L2C_MISC2_WAY_AGENT_A 16 |
172 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_A _SB_MAKEMASK(8,S_BCM1480_L2C_MISC2_WAY_AGENT_A) | 172 | #define M_BCM1480_L2C_MISC2_WAY_AGENT_A _SB_MAKEMASK(8, S_BCM1480_L2C_MISC2_WAY_AGENT_A) |
173 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_A(x) _SB_GETVALUE(x,S_BCM1480_L2C_MISC2_WAY_AGENT_A,M_BCM1480_L2C_MISC2_WAY_AGENT_A) | 173 | #define G_BCM1480_L2C_MISC2_WAY_AGENT_A(x) _SB_GETVALUE(x, S_BCM1480_L2C_MISC2_WAY_AGENT_A, M_BCM1480_L2C_MISC2_WAY_AGENT_A) |
174 | 174 | ||
175 | 175 | ||
176 | #endif /* _BCM1480_L2C_H */ | 176 | #endif /* _BCM1480_L2C_H */ |
diff --git a/include/asm-mips/sibyte/bcm1480_mc.h b/include/asm-mips/sibyte/bcm1480_mc.h index a6a437451da4..f26a41a82b59 100644 --- a/include/asm-mips/sibyte/bcm1480_mc.h +++ b/include/asm-mips/sibyte/bcm1480_mc.h | |||
@@ -40,27 +40,27 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #define S_BCM1480_MC_INTLV0 0 | 42 | #define S_BCM1480_MC_INTLV0 0 |
43 | #define M_BCM1480_MC_INTLV0 _SB_MAKEMASK(6,S_BCM1480_MC_INTLV0) | 43 | #define M_BCM1480_MC_INTLV0 _SB_MAKEMASK(6, S_BCM1480_MC_INTLV0) |
44 | #define V_BCM1480_MC_INTLV0(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV0) | 44 | #define V_BCM1480_MC_INTLV0(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV0) |
45 | #define G_BCM1480_MC_INTLV0(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV0,M_BCM1480_MC_INTLV0) | 45 | #define G_BCM1480_MC_INTLV0(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV0, M_BCM1480_MC_INTLV0) |
46 | #define V_BCM1480_MC_INTLV0_DEFAULT V_BCM1480_MC_INTLV0(0) | 46 | #define V_BCM1480_MC_INTLV0_DEFAULT V_BCM1480_MC_INTLV0(0) |
47 | 47 | ||
48 | #define S_BCM1480_MC_INTLV1 8 | 48 | #define S_BCM1480_MC_INTLV1 8 |
49 | #define M_BCM1480_MC_INTLV1 _SB_MAKEMASK(6,S_BCM1480_MC_INTLV1) | 49 | #define M_BCM1480_MC_INTLV1 _SB_MAKEMASK(6, S_BCM1480_MC_INTLV1) |
50 | #define V_BCM1480_MC_INTLV1(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV1) | 50 | #define V_BCM1480_MC_INTLV1(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV1) |
51 | #define G_BCM1480_MC_INTLV1(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV1,M_BCM1480_MC_INTLV1) | 51 | #define G_BCM1480_MC_INTLV1(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV1, M_BCM1480_MC_INTLV1) |
52 | #define V_BCM1480_MC_INTLV1_DEFAULT V_BCM1480_MC_INTLV1(0) | 52 | #define V_BCM1480_MC_INTLV1_DEFAULT V_BCM1480_MC_INTLV1(0) |
53 | 53 | ||
54 | #define S_BCM1480_MC_INTLV2 16 | 54 | #define S_BCM1480_MC_INTLV2 16 |
55 | #define M_BCM1480_MC_INTLV2 _SB_MAKEMASK(6,S_BCM1480_MC_INTLV2) | 55 | #define M_BCM1480_MC_INTLV2 _SB_MAKEMASK(6, S_BCM1480_MC_INTLV2) |
56 | #define V_BCM1480_MC_INTLV2(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV2) | 56 | #define V_BCM1480_MC_INTLV2(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV2) |
57 | #define G_BCM1480_MC_INTLV2(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV2,M_BCM1480_MC_INTLV2) | 57 | #define G_BCM1480_MC_INTLV2(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV2, M_BCM1480_MC_INTLV2) |
58 | #define V_BCM1480_MC_INTLV2_DEFAULT V_BCM1480_MC_INTLV2(0) | 58 | #define V_BCM1480_MC_INTLV2_DEFAULT V_BCM1480_MC_INTLV2(0) |
59 | 59 | ||
60 | #define S_BCM1480_MC_CS_MODE 32 | 60 | #define S_BCM1480_MC_CS_MODE 32 |
61 | #define M_BCM1480_MC_CS_MODE _SB_MAKEMASK(8,S_BCM1480_MC_CS_MODE) | 61 | #define M_BCM1480_MC_CS_MODE _SB_MAKEMASK(8, S_BCM1480_MC_CS_MODE) |
62 | #define V_BCM1480_MC_CS_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS_MODE) | 62 | #define V_BCM1480_MC_CS_MODE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS_MODE) |
63 | #define G_BCM1480_MC_CS_MODE(x) _SB_GETVALUE(x,S_BCM1480_MC_CS_MODE,M_BCM1480_MC_CS_MODE) | 63 | #define G_BCM1480_MC_CS_MODE(x) _SB_GETVALUE(x, S_BCM1480_MC_CS_MODE, M_BCM1480_MC_CS_MODE) |
64 | #define V_BCM1480_MC_CS_MODE_DEFAULT V_BCM1480_MC_CS_MODE(0) | 64 | #define V_BCM1480_MC_CS_MODE_DEFAULT V_BCM1480_MC_CS_MODE(0) |
65 | 65 | ||
66 | #define V_BCM1480_MC_CONFIG_DEFAULT (V_BCM1480_MC_INTLV0_DEFAULT | \ | 66 | #define V_BCM1480_MC_CONFIG_DEFAULT (V_BCM1480_MC_INTLV0_DEFAULT | \ |
@@ -81,131 +81,131 @@ | |||
81 | */ | 81 | */ |
82 | 82 | ||
83 | #define S_BCM1480_MC_CS0_START 0 | 83 | #define S_BCM1480_MC_CS0_START 0 |
84 | #define M_BCM1480_MC_CS0_START _SB_MAKEMASK(12,S_BCM1480_MC_CS0_START) | 84 | #define M_BCM1480_MC_CS0_START _SB_MAKEMASK(12, S_BCM1480_MC_CS0_START) |
85 | #define V_BCM1480_MC_CS0_START(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS0_START) | 85 | #define V_BCM1480_MC_CS0_START(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS0_START) |
86 | #define G_BCM1480_MC_CS0_START(x) _SB_GETVALUE(x,S_BCM1480_MC_CS0_START,M_BCM1480_MC_CS0_START) | 86 | #define G_BCM1480_MC_CS0_START(x) _SB_GETVALUE(x, S_BCM1480_MC_CS0_START, M_BCM1480_MC_CS0_START) |
87 | 87 | ||
88 | #define S_BCM1480_MC_CS1_START 16 | 88 | #define S_BCM1480_MC_CS1_START 16 |
89 | #define M_BCM1480_MC_CS1_START _SB_MAKEMASK(12,S_BCM1480_MC_CS1_START) | 89 | #define M_BCM1480_MC_CS1_START _SB_MAKEMASK(12, S_BCM1480_MC_CS1_START) |
90 | #define V_BCM1480_MC_CS1_START(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS1_START) | 90 | #define V_BCM1480_MC_CS1_START(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS1_START) |
91 | #define G_BCM1480_MC_CS1_START(x) _SB_GETVALUE(x,S_BCM1480_MC_CS1_START,M_BCM1480_MC_CS1_START) | 91 | #define G_BCM1480_MC_CS1_START(x) _SB_GETVALUE(x, S_BCM1480_MC_CS1_START, M_BCM1480_MC_CS1_START) |
92 | 92 | ||
93 | #define S_BCM1480_MC_CS2_START 32 | 93 | #define S_BCM1480_MC_CS2_START 32 |
94 | #define M_BCM1480_MC_CS2_START _SB_MAKEMASK(12,S_BCM1480_MC_CS2_START) | 94 | #define M_BCM1480_MC_CS2_START _SB_MAKEMASK(12, S_BCM1480_MC_CS2_START) |
95 | #define V_BCM1480_MC_CS2_START(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS2_START) | 95 | #define V_BCM1480_MC_CS2_START(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS2_START) |
96 | #define G_BCM1480_MC_CS2_START(x) _SB_GETVALUE(x,S_BCM1480_MC_CS2_START,M_BCM1480_MC_CS2_START) | 96 | #define G_BCM1480_MC_CS2_START(x) _SB_GETVALUE(x, S_BCM1480_MC_CS2_START, M_BCM1480_MC_CS2_START) |
97 | 97 | ||
98 | #define S_BCM1480_MC_CS3_START 48 | 98 | #define S_BCM1480_MC_CS3_START 48 |
99 | #define M_BCM1480_MC_CS3_START _SB_MAKEMASK(12,S_BCM1480_MC_CS3_START) | 99 | #define M_BCM1480_MC_CS3_START _SB_MAKEMASK(12, S_BCM1480_MC_CS3_START) |
100 | #define V_BCM1480_MC_CS3_START(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS3_START) | 100 | #define V_BCM1480_MC_CS3_START(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS3_START) |
101 | #define G_BCM1480_MC_CS3_START(x) _SB_GETVALUE(x,S_BCM1480_MC_CS3_START,M_BCM1480_MC_CS3_START) | 101 | #define G_BCM1480_MC_CS3_START(x) _SB_GETVALUE(x, S_BCM1480_MC_CS3_START, M_BCM1480_MC_CS3_START) |
102 | 102 | ||
103 | /* | 103 | /* |
104 | * Chip Select End Address Register (Table 83) | 104 | * Chip Select End Address Register (Table 83) |
105 | */ | 105 | */ |
106 | 106 | ||
107 | #define S_BCM1480_MC_CS0_END 0 | 107 | #define S_BCM1480_MC_CS0_END 0 |
108 | #define M_BCM1480_MC_CS0_END _SB_MAKEMASK(12,S_BCM1480_MC_CS0_END) | 108 | #define M_BCM1480_MC_CS0_END _SB_MAKEMASK(12, S_BCM1480_MC_CS0_END) |
109 | #define V_BCM1480_MC_CS0_END(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS0_END) | 109 | #define V_BCM1480_MC_CS0_END(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS0_END) |
110 | #define G_BCM1480_MC_CS0_END(x) _SB_GETVALUE(x,S_BCM1480_MC_CS0_END,M_BCM1480_MC_CS0_END) | 110 | #define G_BCM1480_MC_CS0_END(x) _SB_GETVALUE(x, S_BCM1480_MC_CS0_END, M_BCM1480_MC_CS0_END) |
111 | 111 | ||
112 | #define S_BCM1480_MC_CS1_END 16 | 112 | #define S_BCM1480_MC_CS1_END 16 |
113 | #define M_BCM1480_MC_CS1_END _SB_MAKEMASK(12,S_BCM1480_MC_CS1_END) | 113 | #define M_BCM1480_MC_CS1_END _SB_MAKEMASK(12, S_BCM1480_MC_CS1_END) |
114 | #define V_BCM1480_MC_CS1_END(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS1_END) | 114 | #define V_BCM1480_MC_CS1_END(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS1_END) |
115 | #define G_BCM1480_MC_CS1_END(x) _SB_GETVALUE(x,S_BCM1480_MC_CS1_END,M_BCM1480_MC_CS1_END) | 115 | #define G_BCM1480_MC_CS1_END(x) _SB_GETVALUE(x, S_BCM1480_MC_CS1_END, M_BCM1480_MC_CS1_END) |
116 | 116 | ||
117 | #define S_BCM1480_MC_CS2_END 32 | 117 | #define S_BCM1480_MC_CS2_END 32 |
118 | #define M_BCM1480_MC_CS2_END _SB_MAKEMASK(12,S_BCM1480_MC_CS2_END) | 118 | #define M_BCM1480_MC_CS2_END _SB_MAKEMASK(12, S_BCM1480_MC_CS2_END) |
119 | #define V_BCM1480_MC_CS2_END(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS2_END) | 119 | #define V_BCM1480_MC_CS2_END(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS2_END) |
120 | #define G_BCM1480_MC_CS2_END(x) _SB_GETVALUE(x,S_BCM1480_MC_CS2_END,M_BCM1480_MC_CS2_END) | 120 | #define G_BCM1480_MC_CS2_END(x) _SB_GETVALUE(x, S_BCM1480_MC_CS2_END, M_BCM1480_MC_CS2_END) |
121 | 121 | ||
122 | #define S_BCM1480_MC_CS3_END 48 | 122 | #define S_BCM1480_MC_CS3_END 48 |
123 | #define M_BCM1480_MC_CS3_END _SB_MAKEMASK(12,S_BCM1480_MC_CS3_END) | 123 | #define M_BCM1480_MC_CS3_END _SB_MAKEMASK(12, S_BCM1480_MC_CS3_END) |
124 | #define V_BCM1480_MC_CS3_END(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS3_END) | 124 | #define V_BCM1480_MC_CS3_END(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS3_END) |
125 | #define G_BCM1480_MC_CS3_END(x) _SB_GETVALUE(x,S_BCM1480_MC_CS3_END,M_BCM1480_MC_CS3_END) | 125 | #define G_BCM1480_MC_CS3_END(x) _SB_GETVALUE(x, S_BCM1480_MC_CS3_END, M_BCM1480_MC_CS3_END) |
126 | 126 | ||
127 | /* | 127 | /* |
128 | * Row Address Bit Select Register 0 (Table 84) | 128 | * Row Address Bit Select Register 0 (Table 84) |
129 | */ | 129 | */ |
130 | 130 | ||
131 | #define S_BCM1480_MC_ROW00 0 | 131 | #define S_BCM1480_MC_ROW00 0 |
132 | #define M_BCM1480_MC_ROW00 _SB_MAKEMASK(6,S_BCM1480_MC_ROW00) | 132 | #define M_BCM1480_MC_ROW00 _SB_MAKEMASK(6, S_BCM1480_MC_ROW00) |
133 | #define V_BCM1480_MC_ROW00(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW00) | 133 | #define V_BCM1480_MC_ROW00(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW00) |
134 | #define G_BCM1480_MC_ROW00(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW00,M_BCM1480_MC_ROW00) | 134 | #define G_BCM1480_MC_ROW00(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW00, M_BCM1480_MC_ROW00) |
135 | 135 | ||
136 | #define S_BCM1480_MC_ROW01 8 | 136 | #define S_BCM1480_MC_ROW01 8 |
137 | #define M_BCM1480_MC_ROW01 _SB_MAKEMASK(6,S_BCM1480_MC_ROW01) | 137 | #define M_BCM1480_MC_ROW01 _SB_MAKEMASK(6, S_BCM1480_MC_ROW01) |
138 | #define V_BCM1480_MC_ROW01(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW01) | 138 | #define V_BCM1480_MC_ROW01(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW01) |
139 | #define G_BCM1480_MC_ROW01(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW01,M_BCM1480_MC_ROW01) | 139 | #define G_BCM1480_MC_ROW01(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW01, M_BCM1480_MC_ROW01) |
140 | 140 | ||
141 | #define S_BCM1480_MC_ROW02 16 | 141 | #define S_BCM1480_MC_ROW02 16 |
142 | #define M_BCM1480_MC_ROW02 _SB_MAKEMASK(6,S_BCM1480_MC_ROW02) | 142 | #define M_BCM1480_MC_ROW02 _SB_MAKEMASK(6, S_BCM1480_MC_ROW02) |
143 | #define V_BCM1480_MC_ROW02(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW02) | 143 | #define V_BCM1480_MC_ROW02(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW02) |
144 | #define G_BCM1480_MC_ROW02(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW02,M_BCM1480_MC_ROW02) | 144 | #define G_BCM1480_MC_ROW02(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW02, M_BCM1480_MC_ROW02) |
145 | 145 | ||
146 | #define S_BCM1480_MC_ROW03 24 | 146 | #define S_BCM1480_MC_ROW03 24 |
147 | #define M_BCM1480_MC_ROW03 _SB_MAKEMASK(6,S_BCM1480_MC_ROW03) | 147 | #define M_BCM1480_MC_ROW03 _SB_MAKEMASK(6, S_BCM1480_MC_ROW03) |
148 | #define V_BCM1480_MC_ROW03(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW03) | 148 | #define V_BCM1480_MC_ROW03(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW03) |
149 | #define G_BCM1480_MC_ROW03(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW03,M_BCM1480_MC_ROW03) | 149 | #define G_BCM1480_MC_ROW03(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW03, M_BCM1480_MC_ROW03) |
150 | 150 | ||
151 | #define S_BCM1480_MC_ROW04 32 | 151 | #define S_BCM1480_MC_ROW04 32 |
152 | #define M_BCM1480_MC_ROW04 _SB_MAKEMASK(6,S_BCM1480_MC_ROW04) | 152 | #define M_BCM1480_MC_ROW04 _SB_MAKEMASK(6, S_BCM1480_MC_ROW04) |
153 | #define V_BCM1480_MC_ROW04(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW04) | 153 | #define V_BCM1480_MC_ROW04(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW04) |
154 | #define G_BCM1480_MC_ROW04(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW04,M_BCM1480_MC_ROW04) | 154 | #define G_BCM1480_MC_ROW04(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW04, M_BCM1480_MC_ROW04) |
155 | 155 | ||
156 | #define S_BCM1480_MC_ROW05 40 | 156 | #define S_BCM1480_MC_ROW05 40 |
157 | #define M_BCM1480_MC_ROW05 _SB_MAKEMASK(6,S_BCM1480_MC_ROW05) | 157 | #define M_BCM1480_MC_ROW05 _SB_MAKEMASK(6, S_BCM1480_MC_ROW05) |
158 | #define V_BCM1480_MC_ROW05(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW05) | 158 | #define V_BCM1480_MC_ROW05(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW05) |
159 | #define G_BCM1480_MC_ROW05(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW05,M_BCM1480_MC_ROW05) | 159 | #define G_BCM1480_MC_ROW05(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW05, M_BCM1480_MC_ROW05) |
160 | 160 | ||
161 | #define S_BCM1480_MC_ROW06 48 | 161 | #define S_BCM1480_MC_ROW06 48 |
162 | #define M_BCM1480_MC_ROW06 _SB_MAKEMASK(6,S_BCM1480_MC_ROW06) | 162 | #define M_BCM1480_MC_ROW06 _SB_MAKEMASK(6, S_BCM1480_MC_ROW06) |
163 | #define V_BCM1480_MC_ROW06(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW06) | 163 | #define V_BCM1480_MC_ROW06(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW06) |
164 | #define G_BCM1480_MC_ROW06(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW06,M_BCM1480_MC_ROW06) | 164 | #define G_BCM1480_MC_ROW06(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW06, M_BCM1480_MC_ROW06) |
165 | 165 | ||
166 | #define S_BCM1480_MC_ROW07 56 | 166 | #define S_BCM1480_MC_ROW07 56 |
167 | #define M_BCM1480_MC_ROW07 _SB_MAKEMASK(6,S_BCM1480_MC_ROW07) | 167 | #define M_BCM1480_MC_ROW07 _SB_MAKEMASK(6, S_BCM1480_MC_ROW07) |
168 | #define V_BCM1480_MC_ROW07(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW07) | 168 | #define V_BCM1480_MC_ROW07(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW07) |
169 | #define G_BCM1480_MC_ROW07(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW07,M_BCM1480_MC_ROW07) | 169 | #define G_BCM1480_MC_ROW07(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW07, M_BCM1480_MC_ROW07) |
170 | 170 | ||
171 | /* | 171 | /* |
172 | * Row Address Bit Select Register 1 (Table 85) | 172 | * Row Address Bit Select Register 1 (Table 85) |
173 | */ | 173 | */ |
174 | 174 | ||
175 | #define S_BCM1480_MC_ROW08 0 | 175 | #define S_BCM1480_MC_ROW08 0 |
176 | #define M_BCM1480_MC_ROW08 _SB_MAKEMASK(6,S_BCM1480_MC_ROW08) | 176 | #define M_BCM1480_MC_ROW08 _SB_MAKEMASK(6, S_BCM1480_MC_ROW08) |
177 | #define V_BCM1480_MC_ROW08(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW08) | 177 | #define V_BCM1480_MC_ROW08(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW08) |
178 | #define G_BCM1480_MC_ROW08(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW08,M_BCM1480_MC_ROW08) | 178 | #define G_BCM1480_MC_ROW08(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW08, M_BCM1480_MC_ROW08) |
179 | 179 | ||
180 | #define S_BCM1480_MC_ROW09 8 | 180 | #define S_BCM1480_MC_ROW09 8 |
181 | #define M_BCM1480_MC_ROW09 _SB_MAKEMASK(6,S_BCM1480_MC_ROW09) | 181 | #define M_BCM1480_MC_ROW09 _SB_MAKEMASK(6, S_BCM1480_MC_ROW09) |
182 | #define V_BCM1480_MC_ROW09(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW09) | 182 | #define V_BCM1480_MC_ROW09(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW09) |
183 | #define G_BCM1480_MC_ROW09(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW09,M_BCM1480_MC_ROW09) | 183 | #define G_BCM1480_MC_ROW09(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW09, M_BCM1480_MC_ROW09) |
184 | 184 | ||
185 | #define S_BCM1480_MC_ROW10 16 | 185 | #define S_BCM1480_MC_ROW10 16 |
186 | #define M_BCM1480_MC_ROW10 _SB_MAKEMASK(6,S_BCM1480_MC_ROW10) | 186 | #define M_BCM1480_MC_ROW10 _SB_MAKEMASK(6, S_BCM1480_MC_ROW10) |
187 | #define V_BCM1480_MC_ROW10(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW10) | 187 | #define V_BCM1480_MC_ROW10(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW10) |
188 | #define G_BCM1480_MC_ROW10(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW10,M_BCM1480_MC_ROW10) | 188 | #define G_BCM1480_MC_ROW10(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW10, M_BCM1480_MC_ROW10) |
189 | 189 | ||
190 | #define S_BCM1480_MC_ROW11 24 | 190 | #define S_BCM1480_MC_ROW11 24 |
191 | #define M_BCM1480_MC_ROW11 _SB_MAKEMASK(6,S_BCM1480_MC_ROW11) | 191 | #define M_BCM1480_MC_ROW11 _SB_MAKEMASK(6, S_BCM1480_MC_ROW11) |
192 | #define V_BCM1480_MC_ROW11(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW11) | 192 | #define V_BCM1480_MC_ROW11(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW11) |
193 | #define G_BCM1480_MC_ROW11(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW11,M_BCM1480_MC_ROW11) | 193 | #define G_BCM1480_MC_ROW11(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW11, M_BCM1480_MC_ROW11) |
194 | 194 | ||
195 | #define S_BCM1480_MC_ROW12 32 | 195 | #define S_BCM1480_MC_ROW12 32 |
196 | #define M_BCM1480_MC_ROW12 _SB_MAKEMASK(6,S_BCM1480_MC_ROW12) | 196 | #define M_BCM1480_MC_ROW12 _SB_MAKEMASK(6, S_BCM1480_MC_ROW12) |
197 | #define V_BCM1480_MC_ROW12(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW12) | 197 | #define V_BCM1480_MC_ROW12(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW12) |
198 | #define G_BCM1480_MC_ROW12(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW12,M_BCM1480_MC_ROW12) | 198 | #define G_BCM1480_MC_ROW12(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW12, M_BCM1480_MC_ROW12) |
199 | 199 | ||
200 | #define S_BCM1480_MC_ROW13 40 | 200 | #define S_BCM1480_MC_ROW13 40 |
201 | #define M_BCM1480_MC_ROW13 _SB_MAKEMASK(6,S_BCM1480_MC_ROW13) | 201 | #define M_BCM1480_MC_ROW13 _SB_MAKEMASK(6, S_BCM1480_MC_ROW13) |
202 | #define V_BCM1480_MC_ROW13(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW13) | 202 | #define V_BCM1480_MC_ROW13(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW13) |
203 | #define G_BCM1480_MC_ROW13(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW13,M_BCM1480_MC_ROW13) | 203 | #define G_BCM1480_MC_ROW13(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW13, M_BCM1480_MC_ROW13) |
204 | 204 | ||
205 | #define S_BCM1480_MC_ROW14 48 | 205 | #define S_BCM1480_MC_ROW14 48 |
206 | #define M_BCM1480_MC_ROW14 _SB_MAKEMASK(6,S_BCM1480_MC_ROW14) | 206 | #define M_BCM1480_MC_ROW14 _SB_MAKEMASK(6, S_BCM1480_MC_ROW14) |
207 | #define V_BCM1480_MC_ROW14(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ROW14) | 207 | #define V_BCM1480_MC_ROW14(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ROW14) |
208 | #define G_BCM1480_MC_ROW14(x) _SB_GETVALUE(x,S_BCM1480_MC_ROW14,M_BCM1480_MC_ROW14) | 208 | #define G_BCM1480_MC_ROW14(x) _SB_GETVALUE(x, S_BCM1480_MC_ROW14, M_BCM1480_MC_ROW14) |
209 | 209 | ||
210 | #define K_BCM1480_MC_ROWX_BIT_SPACING 8 | 210 | #define K_BCM1480_MC_ROWX_BIT_SPACING 8 |
211 | 211 | ||
@@ -214,80 +214,80 @@ | |||
214 | */ | 214 | */ |
215 | 215 | ||
216 | #define S_BCM1480_MC_COL00 0 | 216 | #define S_BCM1480_MC_COL00 0 |
217 | #define M_BCM1480_MC_COL00 _SB_MAKEMASK(6,S_BCM1480_MC_COL00) | 217 | #define M_BCM1480_MC_COL00 _SB_MAKEMASK(6, S_BCM1480_MC_COL00) |
218 | #define V_BCM1480_MC_COL00(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL00) | 218 | #define V_BCM1480_MC_COL00(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL00) |
219 | #define G_BCM1480_MC_COL00(x) _SB_GETVALUE(x,S_BCM1480_MC_COL00,M_BCM1480_MC_COL00) | 219 | #define G_BCM1480_MC_COL00(x) _SB_GETVALUE(x, S_BCM1480_MC_COL00, M_BCM1480_MC_COL00) |
220 | 220 | ||
221 | #define S_BCM1480_MC_COL01 8 | 221 | #define S_BCM1480_MC_COL01 8 |
222 | #define M_BCM1480_MC_COL01 _SB_MAKEMASK(6,S_BCM1480_MC_COL01) | 222 | #define M_BCM1480_MC_COL01 _SB_MAKEMASK(6, S_BCM1480_MC_COL01) |
223 | #define V_BCM1480_MC_COL01(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL01) | 223 | #define V_BCM1480_MC_COL01(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL01) |
224 | #define G_BCM1480_MC_COL01(x) _SB_GETVALUE(x,S_BCM1480_MC_COL01,M_BCM1480_MC_COL01) | 224 | #define G_BCM1480_MC_COL01(x) _SB_GETVALUE(x, S_BCM1480_MC_COL01, M_BCM1480_MC_COL01) |
225 | 225 | ||
226 | #define S_BCM1480_MC_COL02 16 | 226 | #define S_BCM1480_MC_COL02 16 |
227 | #define M_BCM1480_MC_COL02 _SB_MAKEMASK(6,S_BCM1480_MC_COL02) | 227 | #define M_BCM1480_MC_COL02 _SB_MAKEMASK(6, S_BCM1480_MC_COL02) |
228 | #define V_BCM1480_MC_COL02(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL02) | 228 | #define V_BCM1480_MC_COL02(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL02) |
229 | #define G_BCM1480_MC_COL02(x) _SB_GETVALUE(x,S_BCM1480_MC_COL02,M_BCM1480_MC_COL02) | 229 | #define G_BCM1480_MC_COL02(x) _SB_GETVALUE(x, S_BCM1480_MC_COL02, M_BCM1480_MC_COL02) |
230 | 230 | ||
231 | #define S_BCM1480_MC_COL03 24 | 231 | #define S_BCM1480_MC_COL03 24 |
232 | #define M_BCM1480_MC_COL03 _SB_MAKEMASK(6,S_BCM1480_MC_COL03) | 232 | #define M_BCM1480_MC_COL03 _SB_MAKEMASK(6, S_BCM1480_MC_COL03) |
233 | #define V_BCM1480_MC_COL03(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL03) | 233 | #define V_BCM1480_MC_COL03(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL03) |
234 | #define G_BCM1480_MC_COL03(x) _SB_GETVALUE(x,S_BCM1480_MC_COL03,M_BCM1480_MC_COL03) | 234 | #define G_BCM1480_MC_COL03(x) _SB_GETVALUE(x, S_BCM1480_MC_COL03, M_BCM1480_MC_COL03) |
235 | 235 | ||
236 | #define S_BCM1480_MC_COL04 32 | 236 | #define S_BCM1480_MC_COL04 32 |
237 | #define M_BCM1480_MC_COL04 _SB_MAKEMASK(6,S_BCM1480_MC_COL04) | 237 | #define M_BCM1480_MC_COL04 _SB_MAKEMASK(6, S_BCM1480_MC_COL04) |
238 | #define V_BCM1480_MC_COL04(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL04) | 238 | #define V_BCM1480_MC_COL04(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL04) |
239 | #define G_BCM1480_MC_COL04(x) _SB_GETVALUE(x,S_BCM1480_MC_COL04,M_BCM1480_MC_COL04) | 239 | #define G_BCM1480_MC_COL04(x) _SB_GETVALUE(x, S_BCM1480_MC_COL04, M_BCM1480_MC_COL04) |
240 | 240 | ||
241 | #define S_BCM1480_MC_COL05 40 | 241 | #define S_BCM1480_MC_COL05 40 |
242 | #define M_BCM1480_MC_COL05 _SB_MAKEMASK(6,S_BCM1480_MC_COL05) | 242 | #define M_BCM1480_MC_COL05 _SB_MAKEMASK(6, S_BCM1480_MC_COL05) |
243 | #define V_BCM1480_MC_COL05(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL05) | 243 | #define V_BCM1480_MC_COL05(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL05) |
244 | #define G_BCM1480_MC_COL05(x) _SB_GETVALUE(x,S_BCM1480_MC_COL05,M_BCM1480_MC_COL05) | 244 | #define G_BCM1480_MC_COL05(x) _SB_GETVALUE(x, S_BCM1480_MC_COL05, M_BCM1480_MC_COL05) |
245 | 245 | ||
246 | #define S_BCM1480_MC_COL06 48 | 246 | #define S_BCM1480_MC_COL06 48 |
247 | #define M_BCM1480_MC_COL06 _SB_MAKEMASK(6,S_BCM1480_MC_COL06) | 247 | #define M_BCM1480_MC_COL06 _SB_MAKEMASK(6, S_BCM1480_MC_COL06) |
248 | #define V_BCM1480_MC_COL06(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL06) | 248 | #define V_BCM1480_MC_COL06(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL06) |
249 | #define G_BCM1480_MC_COL06(x) _SB_GETVALUE(x,S_BCM1480_MC_COL06,M_BCM1480_MC_COL06) | 249 | #define G_BCM1480_MC_COL06(x) _SB_GETVALUE(x, S_BCM1480_MC_COL06, M_BCM1480_MC_COL06) |
250 | 250 | ||
251 | #define S_BCM1480_MC_COL07 56 | 251 | #define S_BCM1480_MC_COL07 56 |
252 | #define M_BCM1480_MC_COL07 _SB_MAKEMASK(6,S_BCM1480_MC_COL07) | 252 | #define M_BCM1480_MC_COL07 _SB_MAKEMASK(6, S_BCM1480_MC_COL07) |
253 | #define V_BCM1480_MC_COL07(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL07) | 253 | #define V_BCM1480_MC_COL07(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL07) |
254 | #define G_BCM1480_MC_COL07(x) _SB_GETVALUE(x,S_BCM1480_MC_COL07,M_BCM1480_MC_COL07) | 254 | #define G_BCM1480_MC_COL07(x) _SB_GETVALUE(x, S_BCM1480_MC_COL07, M_BCM1480_MC_COL07) |
255 | 255 | ||
256 | /* | 256 | /* |
257 | * Column Address Bit Select Register 1 (Table 87) | 257 | * Column Address Bit Select Register 1 (Table 87) |
258 | */ | 258 | */ |
259 | 259 | ||
260 | #define S_BCM1480_MC_COL08 0 | 260 | #define S_BCM1480_MC_COL08 0 |
261 | #define M_BCM1480_MC_COL08 _SB_MAKEMASK(6,S_BCM1480_MC_COL08) | 261 | #define M_BCM1480_MC_COL08 _SB_MAKEMASK(6, S_BCM1480_MC_COL08) |
262 | #define V_BCM1480_MC_COL08(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL08) | 262 | #define V_BCM1480_MC_COL08(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL08) |
263 | #define G_BCM1480_MC_COL08(x) _SB_GETVALUE(x,S_BCM1480_MC_COL08,M_BCM1480_MC_COL08) | 263 | #define G_BCM1480_MC_COL08(x) _SB_GETVALUE(x, S_BCM1480_MC_COL08, M_BCM1480_MC_COL08) |
264 | 264 | ||
265 | #define S_BCM1480_MC_COL09 8 | 265 | #define S_BCM1480_MC_COL09 8 |
266 | #define M_BCM1480_MC_COL09 _SB_MAKEMASK(6,S_BCM1480_MC_COL09) | 266 | #define M_BCM1480_MC_COL09 _SB_MAKEMASK(6, S_BCM1480_MC_COL09) |
267 | #define V_BCM1480_MC_COL09(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL09) | 267 | #define V_BCM1480_MC_COL09(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL09) |
268 | #define G_BCM1480_MC_COL09(x) _SB_GETVALUE(x,S_BCM1480_MC_COL09,M_BCM1480_MC_COL09) | 268 | #define G_BCM1480_MC_COL09(x) _SB_GETVALUE(x, S_BCM1480_MC_COL09, M_BCM1480_MC_COL09) |
269 | 269 | ||
270 | #define S_BCM1480_MC_COL10 16 /* not a valid position, must be prog as 0 */ | 270 | #define S_BCM1480_MC_COL10 16 /* not a valid position, must be prog as 0 */ |
271 | 271 | ||
272 | #define S_BCM1480_MC_COL11 24 | 272 | #define S_BCM1480_MC_COL11 24 |
273 | #define M_BCM1480_MC_COL11 _SB_MAKEMASK(6,S_BCM1480_MC_COL11) | 273 | #define M_BCM1480_MC_COL11 _SB_MAKEMASK(6, S_BCM1480_MC_COL11) |
274 | #define V_BCM1480_MC_COL11(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL11) | 274 | #define V_BCM1480_MC_COL11(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL11) |
275 | #define G_BCM1480_MC_COL11(x) _SB_GETVALUE(x,S_BCM1480_MC_COL11,M_BCM1480_MC_COL11) | 275 | #define G_BCM1480_MC_COL11(x) _SB_GETVALUE(x, S_BCM1480_MC_COL11, M_BCM1480_MC_COL11) |
276 | 276 | ||
277 | #define S_BCM1480_MC_COL12 32 | 277 | #define S_BCM1480_MC_COL12 32 |
278 | #define M_BCM1480_MC_COL12 _SB_MAKEMASK(6,S_BCM1480_MC_COL12) | 278 | #define M_BCM1480_MC_COL12 _SB_MAKEMASK(6, S_BCM1480_MC_COL12) |
279 | #define V_BCM1480_MC_COL12(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL12) | 279 | #define V_BCM1480_MC_COL12(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL12) |
280 | #define G_BCM1480_MC_COL12(x) _SB_GETVALUE(x,S_BCM1480_MC_COL12,M_BCM1480_MC_COL12) | 280 | #define G_BCM1480_MC_COL12(x) _SB_GETVALUE(x, S_BCM1480_MC_COL12, M_BCM1480_MC_COL12) |
281 | 281 | ||
282 | #define S_BCM1480_MC_COL13 40 | 282 | #define S_BCM1480_MC_COL13 40 |
283 | #define M_BCM1480_MC_COL13 _SB_MAKEMASK(6,S_BCM1480_MC_COL13) | 283 | #define M_BCM1480_MC_COL13 _SB_MAKEMASK(6, S_BCM1480_MC_COL13) |
284 | #define V_BCM1480_MC_COL13(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL13) | 284 | #define V_BCM1480_MC_COL13(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL13) |
285 | #define G_BCM1480_MC_COL13(x) _SB_GETVALUE(x,S_BCM1480_MC_COL13,M_BCM1480_MC_COL13) | 285 | #define G_BCM1480_MC_COL13(x) _SB_GETVALUE(x, S_BCM1480_MC_COL13, M_BCM1480_MC_COL13) |
286 | 286 | ||
287 | #define S_BCM1480_MC_COL14 48 | 287 | #define S_BCM1480_MC_COL14 48 |
288 | #define M_BCM1480_MC_COL14 _SB_MAKEMASK(6,S_BCM1480_MC_COL14) | 288 | #define M_BCM1480_MC_COL14 _SB_MAKEMASK(6, S_BCM1480_MC_COL14) |
289 | #define V_BCM1480_MC_COL14(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COL14) | 289 | #define V_BCM1480_MC_COL14(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COL14) |
290 | #define G_BCM1480_MC_COL14(x) _SB_GETVALUE(x,S_BCM1480_MC_COL14,M_BCM1480_MC_COL14) | 290 | #define G_BCM1480_MC_COL14(x) _SB_GETVALUE(x, S_BCM1480_MC_COL14, M_BCM1480_MC_COL14) |
291 | 291 | ||
292 | #define K_BCM1480_MC_COLX_BIT_SPACING 8 | 292 | #define K_BCM1480_MC_COLX_BIT_SPACING 8 |
293 | 293 | ||
@@ -296,38 +296,38 @@ | |||
296 | */ | 296 | */ |
297 | 297 | ||
298 | #define S_BCM1480_MC_CS01_BANK0 0 | 298 | #define S_BCM1480_MC_CS01_BANK0 0 |
299 | #define M_BCM1480_MC_CS01_BANK0 _SB_MAKEMASK(6,S_BCM1480_MC_CS01_BANK0) | 299 | #define M_BCM1480_MC_CS01_BANK0 _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK0) |
300 | #define V_BCM1480_MC_CS01_BANK0(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS01_BANK0) | 300 | #define V_BCM1480_MC_CS01_BANK0(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK0) |
301 | #define G_BCM1480_MC_CS01_BANK0(x) _SB_GETVALUE(x,S_BCM1480_MC_CS01_BANK0,M_BCM1480_MC_CS01_BANK0) | 301 | #define G_BCM1480_MC_CS01_BANK0(x) _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK0, M_BCM1480_MC_CS01_BANK0) |
302 | 302 | ||
303 | #define S_BCM1480_MC_CS01_BANK1 8 | 303 | #define S_BCM1480_MC_CS01_BANK1 8 |
304 | #define M_BCM1480_MC_CS01_BANK1 _SB_MAKEMASK(6,S_BCM1480_MC_CS01_BANK1) | 304 | #define M_BCM1480_MC_CS01_BANK1 _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK1) |
305 | #define V_BCM1480_MC_CS01_BANK1(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS01_BANK1) | 305 | #define V_BCM1480_MC_CS01_BANK1(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK1) |
306 | #define G_BCM1480_MC_CS01_BANK1(x) _SB_GETVALUE(x,S_BCM1480_MC_CS01_BANK1,M_BCM1480_MC_CS01_BANK1) | 306 | #define G_BCM1480_MC_CS01_BANK1(x) _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK1, M_BCM1480_MC_CS01_BANK1) |
307 | 307 | ||
308 | #define S_BCM1480_MC_CS01_BANK2 16 | 308 | #define S_BCM1480_MC_CS01_BANK2 16 |
309 | #define M_BCM1480_MC_CS01_BANK2 _SB_MAKEMASK(6,S_BCM1480_MC_CS01_BANK2) | 309 | #define M_BCM1480_MC_CS01_BANK2 _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK2) |
310 | #define V_BCM1480_MC_CS01_BANK2(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS01_BANK2) | 310 | #define V_BCM1480_MC_CS01_BANK2(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK2) |
311 | #define G_BCM1480_MC_CS01_BANK2(x) _SB_GETVALUE(x,S_BCM1480_MC_CS01_BANK2,M_BCM1480_MC_CS01_BANK2) | 311 | #define G_BCM1480_MC_CS01_BANK2(x) _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK2, M_BCM1480_MC_CS01_BANK2) |
312 | 312 | ||
313 | /* | 313 | /* |
314 | * CS2 and CS3 Bank Address Bit Select Register (Table 89) | 314 | * CS2 and CS3 Bank Address Bit Select Register (Table 89) |
315 | */ | 315 | */ |
316 | 316 | ||
317 | #define S_BCM1480_MC_CS23_BANK0 0 | 317 | #define S_BCM1480_MC_CS23_BANK0 0 |
318 | #define M_BCM1480_MC_CS23_BANK0 _SB_MAKEMASK(6,S_BCM1480_MC_CS23_BANK0) | 318 | #define M_BCM1480_MC_CS23_BANK0 _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK0) |
319 | #define V_BCM1480_MC_CS23_BANK0(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS23_BANK0) | 319 | #define V_BCM1480_MC_CS23_BANK0(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK0) |
320 | #define G_BCM1480_MC_CS23_BANK0(x) _SB_GETVALUE(x,S_BCM1480_MC_CS23_BANK0,M_BCM1480_MC_CS23_BANK0) | 320 | #define G_BCM1480_MC_CS23_BANK0(x) _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK0, M_BCM1480_MC_CS23_BANK0) |
321 | 321 | ||
322 | #define S_BCM1480_MC_CS23_BANK1 8 | 322 | #define S_BCM1480_MC_CS23_BANK1 8 |
323 | #define M_BCM1480_MC_CS23_BANK1 _SB_MAKEMASK(6,S_BCM1480_MC_CS23_BANK1) | 323 | #define M_BCM1480_MC_CS23_BANK1 _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK1) |
324 | #define V_BCM1480_MC_CS23_BANK1(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS23_BANK1) | 324 | #define V_BCM1480_MC_CS23_BANK1(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK1) |
325 | #define G_BCM1480_MC_CS23_BANK1(x) _SB_GETVALUE(x,S_BCM1480_MC_CS23_BANK1,M_BCM1480_MC_CS23_BANK1) | 325 | #define G_BCM1480_MC_CS23_BANK1(x) _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK1, M_BCM1480_MC_CS23_BANK1) |
326 | 326 | ||
327 | #define S_BCM1480_MC_CS23_BANK2 16 | 327 | #define S_BCM1480_MC_CS23_BANK2 16 |
328 | #define M_BCM1480_MC_CS23_BANK2 _SB_MAKEMASK(6,S_BCM1480_MC_CS23_BANK2) | 328 | #define M_BCM1480_MC_CS23_BANK2 _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK2) |
329 | #define V_BCM1480_MC_CS23_BANK2(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS23_BANK2) | 329 | #define V_BCM1480_MC_CS23_BANK2(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK2) |
330 | #define G_BCM1480_MC_CS23_BANK2(x) _SB_GETVALUE(x,S_BCM1480_MC_CS23_BANK2,M_BCM1480_MC_CS23_BANK2) | 330 | #define G_BCM1480_MC_CS23_BANK2(x) _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK2, M_BCM1480_MC_CS23_BANK2) |
331 | 331 | ||
332 | #define K_BCM1480_MC_CSXX_BANKX_BIT_SPACING 8 | 332 | #define K_BCM1480_MC_CSXX_BANKX_BIT_SPACING 8 |
333 | 333 | ||
@@ -336,9 +336,9 @@ | |||
336 | */ | 336 | */ |
337 | 337 | ||
338 | #define S_BCM1480_MC_COMMAND 0 | 338 | #define S_BCM1480_MC_COMMAND 0 |
339 | #define M_BCM1480_MC_COMMAND _SB_MAKEMASK(4,S_BCM1480_MC_COMMAND) | 339 | #define M_BCM1480_MC_COMMAND _SB_MAKEMASK(4, S_BCM1480_MC_COMMAND) |
340 | #define V_BCM1480_MC_COMMAND(x) _SB_MAKEVALUE(x,S_BCM1480_MC_COMMAND) | 340 | #define V_BCM1480_MC_COMMAND(x) _SB_MAKEVALUE(x, S_BCM1480_MC_COMMAND) |
341 | #define G_BCM1480_MC_COMMAND(x) _SB_GETVALUE(x,S_BCM1480_MC_COMMAND,M_BCM1480_MC_COMMAND) | 341 | #define G_BCM1480_MC_COMMAND(x) _SB_GETVALUE(x, S_BCM1480_MC_COMMAND, M_BCM1480_MC_COMMAND) |
342 | 342 | ||
343 | #define K_BCM1480_MC_COMMAND_EMRS 0 | 343 | #define K_BCM1480_MC_COMMAND_EMRS 0 |
344 | #define K_BCM1480_MC_COMMAND_MRS 1 | 344 | #define K_BCM1480_MC_COMMAND_MRS 1 |
@@ -382,9 +382,9 @@ | |||
382 | #define M_BCM1480_MC_CS6 _SB_MAKEMASK1(10) | 382 | #define M_BCM1480_MC_CS6 _SB_MAKEMASK1(10) |
383 | #define M_BCM1480_MC_CS7 _SB_MAKEMASK1(11) | 383 | #define M_BCM1480_MC_CS7 _SB_MAKEMASK1(11) |
384 | 384 | ||
385 | #define M_BCM1480_MC_CS _SB_MAKEMASK(8,S_BCM1480_MC_CS0) | 385 | #define M_BCM1480_MC_CS _SB_MAKEMASK(8, S_BCM1480_MC_CS0) |
386 | #define V_BCM1480_MC_CS(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CS0) | 386 | #define V_BCM1480_MC_CS(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CS0) |
387 | #define G_BCM1480_MC_CS(x) _SB_GETVALUE(x,S_BCM1480_MC_CS0,M_BCM1480_MC_CS0) | 387 | #define G_BCM1480_MC_CS(x) _SB_GETVALUE(x, S_BCM1480_MC_CS0, M_BCM1480_MC_CS0) |
388 | 388 | ||
389 | #define M_BCM1480_MC_CMD_ACTIVE _SB_MAKEMASK1(16) | 389 | #define M_BCM1480_MC_CMD_ACTIVE _SB_MAKEMASK1(16) |
390 | 390 | ||
@@ -393,21 +393,21 @@ | |||
393 | */ | 393 | */ |
394 | 394 | ||
395 | #define S_BCM1480_MC_EMODE 0 | 395 | #define S_BCM1480_MC_EMODE 0 |
396 | #define M_BCM1480_MC_EMODE _SB_MAKEMASK(15,S_BCM1480_MC_EMODE) | 396 | #define M_BCM1480_MC_EMODE _SB_MAKEMASK(15, S_BCM1480_MC_EMODE) |
397 | #define V_BCM1480_MC_EMODE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_EMODE) | 397 | #define V_BCM1480_MC_EMODE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_EMODE) |
398 | #define G_BCM1480_MC_EMODE(x) _SB_GETVALUE(x,S_BCM1480_MC_EMODE,M_BCM1480_MC_EMODE) | 398 | #define G_BCM1480_MC_EMODE(x) _SB_GETVALUE(x, S_BCM1480_MC_EMODE, M_BCM1480_MC_EMODE) |
399 | #define V_BCM1480_MC_EMODE_DEFAULT V_BCM1480_MC_EMODE(0) | 399 | #define V_BCM1480_MC_EMODE_DEFAULT V_BCM1480_MC_EMODE(0) |
400 | 400 | ||
401 | #define S_BCM1480_MC_MODE 16 | 401 | #define S_BCM1480_MC_MODE 16 |
402 | #define M_BCM1480_MC_MODE _SB_MAKEMASK(15,S_BCM1480_MC_MODE) | 402 | #define M_BCM1480_MC_MODE _SB_MAKEMASK(15, S_BCM1480_MC_MODE) |
403 | #define V_BCM1480_MC_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_MODE) | 403 | #define V_BCM1480_MC_MODE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_MODE) |
404 | #define G_BCM1480_MC_MODE(x) _SB_GETVALUE(x,S_BCM1480_MC_MODE,M_BCM1480_MC_MODE) | 404 | #define G_BCM1480_MC_MODE(x) _SB_GETVALUE(x, S_BCM1480_MC_MODE, M_BCM1480_MC_MODE) |
405 | #define V_BCM1480_MC_MODE_DEFAULT V_BCM1480_MC_MODE(0) | 405 | #define V_BCM1480_MC_MODE_DEFAULT V_BCM1480_MC_MODE(0) |
406 | 406 | ||
407 | #define S_BCM1480_MC_DRAM_TYPE 32 | 407 | #define S_BCM1480_MC_DRAM_TYPE 32 |
408 | #define M_BCM1480_MC_DRAM_TYPE _SB_MAKEMASK(4,S_BCM1480_MC_DRAM_TYPE) | 408 | #define M_BCM1480_MC_DRAM_TYPE _SB_MAKEMASK(4, S_BCM1480_MC_DRAM_TYPE) |
409 | #define V_BCM1480_MC_DRAM_TYPE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DRAM_TYPE) | 409 | #define V_BCM1480_MC_DRAM_TYPE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DRAM_TYPE) |
410 | #define G_BCM1480_MC_DRAM_TYPE(x) _SB_GETVALUE(x,S_BCM1480_MC_DRAM_TYPE,M_BCM1480_MC_DRAM_TYPE) | 410 | #define G_BCM1480_MC_DRAM_TYPE(x) _SB_GETVALUE(x, S_BCM1480_MC_DRAM_TYPE, M_BCM1480_MC_DRAM_TYPE) |
411 | 411 | ||
412 | #define K_BCM1480_MC_DRAM_TYPE_JEDEC 0 | 412 | #define K_BCM1480_MC_DRAM_TYPE_JEDEC 0 |
413 | #define K_BCM1480_MC_DRAM_TYPE_FCRAM 1 | 413 | #define K_BCM1480_MC_DRAM_TYPE_FCRAM 1 |
@@ -431,9 +431,9 @@ | |||
431 | #define M_BCM1480_MC_ECC_DISABLE _SB_MAKEMASK1(39) | 431 | #define M_BCM1480_MC_ECC_DISABLE _SB_MAKEMASK1(39) |
432 | 432 | ||
433 | #define S_BCM1480_MC_PG_POLICY 40 | 433 | #define S_BCM1480_MC_PG_POLICY 40 |
434 | #define M_BCM1480_MC_PG_POLICY _SB_MAKEMASK(2,S_BCM1480_MC_PG_POLICY) | 434 | #define M_BCM1480_MC_PG_POLICY _SB_MAKEMASK(2, S_BCM1480_MC_PG_POLICY) |
435 | #define V_BCM1480_MC_PG_POLICY(x) _SB_MAKEVALUE(x,S_BCM1480_MC_PG_POLICY) | 435 | #define V_BCM1480_MC_PG_POLICY(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PG_POLICY) |
436 | #define G_BCM1480_MC_PG_POLICY(x) _SB_GETVALUE(x,S_BCM1480_MC_PG_POLICY,M_BCM1480_MC_PG_POLICY) | 436 | #define G_BCM1480_MC_PG_POLICY(x) _SB_GETVALUE(x, S_BCM1480_MC_PG_POLICY, M_BCM1480_MC_PG_POLICY) |
437 | 437 | ||
438 | #define K_BCM1480_MC_PG_POLICY_CLOSED 0 | 438 | #define K_BCM1480_MC_PG_POLICY_CLOSED 0 |
439 | #define K_BCM1480_MC_PG_POLICY_CAS_TIME_CHK 1 | 439 | #define K_BCM1480_MC_PG_POLICY_CAS_TIME_CHK 1 |
@@ -454,16 +454,16 @@ | |||
454 | */ | 454 | */ |
455 | 455 | ||
456 | #define S_BCM1480_MC_CLK_RATIO 0 | 456 | #define S_BCM1480_MC_CLK_RATIO 0 |
457 | #define M_BCM1480_MC_CLK_RATIO _SB_MAKEMASK(6,S_BCM1480_MC_CLK_RATIO) | 457 | #define M_BCM1480_MC_CLK_RATIO _SB_MAKEMASK(6, S_BCM1480_MC_CLK_RATIO) |
458 | #define V_BCM1480_MC_CLK_RATIO(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CLK_RATIO) | 458 | #define V_BCM1480_MC_CLK_RATIO(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CLK_RATIO) |
459 | #define G_BCM1480_MC_CLK_RATIO(x) _SB_GETVALUE(x,S_BCM1480_MC_CLK_RATIO,M_BCM1480_MC_CLK_RATIO) | 459 | #define G_BCM1480_MC_CLK_RATIO(x) _SB_GETVALUE(x, S_BCM1480_MC_CLK_RATIO, M_BCM1480_MC_CLK_RATIO) |
460 | 460 | ||
461 | #define V_BCM1480_MC_CLK_RATIO_DEFAULT V_BCM1480_MC_CLK_RATIO(10) | 461 | #define V_BCM1480_MC_CLK_RATIO_DEFAULT V_BCM1480_MC_CLK_RATIO(10) |
462 | 462 | ||
463 | #define S_BCM1480_MC_REF_RATE 8 | 463 | #define S_BCM1480_MC_REF_RATE 8 |
464 | #define M_BCM1480_MC_REF_RATE _SB_MAKEMASK(8,S_BCM1480_MC_REF_RATE) | 464 | #define M_BCM1480_MC_REF_RATE _SB_MAKEMASK(8, S_BCM1480_MC_REF_RATE) |
465 | #define V_BCM1480_MC_REF_RATE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_REF_RATE) | 465 | #define V_BCM1480_MC_REF_RATE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_REF_RATE) |
466 | #define G_BCM1480_MC_REF_RATE(x) _SB_GETVALUE(x,S_BCM1480_MC_REF_RATE,M_BCM1480_MC_REF_RATE) | 466 | #define G_BCM1480_MC_REF_RATE(x) _SB_GETVALUE(x, S_BCM1480_MC_REF_RATE, M_BCM1480_MC_REF_RATE) |
467 | 467 | ||
468 | #define K_BCM1480_MC_REF_RATE_100MHz 0x31 | 468 | #define K_BCM1480_MC_REF_RATE_100MHz 0x31 |
469 | #define K_BCM1480_MC_REF_RATE_200MHz 0x62 | 469 | #define K_BCM1480_MC_REF_RATE_200MHz 0x62 |
@@ -519,20 +519,20 @@ | |||
519 | #define M_BCM1480_MC_CS_ODD_ODT_EN _SB_MAKEMASK1(32) | 519 | #define M_BCM1480_MC_CS_ODD_ODT_EN _SB_MAKEMASK1(32) |
520 | 520 | ||
521 | #define S_BCM1480_MC_ODT0 0 | 521 | #define S_BCM1480_MC_ODT0 0 |
522 | #define M_BCM1480_MC_ODT0 _SB_MAKEMASK(8,S_BCM1480_MC_ODT0) | 522 | #define M_BCM1480_MC_ODT0 _SB_MAKEMASK(8, S_BCM1480_MC_ODT0) |
523 | #define V_BCM1480_MC_ODT0(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ODT0) | 523 | #define V_BCM1480_MC_ODT0(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ODT0) |
524 | 524 | ||
525 | #define S_BCM1480_MC_ODT2 8 | 525 | #define S_BCM1480_MC_ODT2 8 |
526 | #define M_BCM1480_MC_ODT2 _SB_MAKEMASK(8,S_BCM1480_MC_ODT2) | 526 | #define M_BCM1480_MC_ODT2 _SB_MAKEMASK(8, S_BCM1480_MC_ODT2) |
527 | #define V_BCM1480_MC_ODT2(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ODT2) | 527 | #define V_BCM1480_MC_ODT2(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ODT2) |
528 | 528 | ||
529 | #define S_BCM1480_MC_ODT4 16 | 529 | #define S_BCM1480_MC_ODT4 16 |
530 | #define M_BCM1480_MC_ODT4 _SB_MAKEMASK(8,S_BCM1480_MC_ODT4) | 530 | #define M_BCM1480_MC_ODT4 _SB_MAKEMASK(8, S_BCM1480_MC_ODT4) |
531 | #define V_BCM1480_MC_ODT4(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ODT4) | 531 | #define V_BCM1480_MC_ODT4(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ODT4) |
532 | 532 | ||
533 | #define S_BCM1480_MC_ODT6 24 | 533 | #define S_BCM1480_MC_ODT6 24 |
534 | #define M_BCM1480_MC_ODT6 _SB_MAKEMASK(8,S_BCM1480_MC_ODT6) | 534 | #define M_BCM1480_MC_ODT6 _SB_MAKEMASK(8, S_BCM1480_MC_ODT6) |
535 | #define V_BCM1480_MC_ODT6(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ODT6) | 535 | #define V_BCM1480_MC_ODT6(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ODT6) |
536 | #endif | 536 | #endif |
537 | 537 | ||
538 | /* | 538 | /* |
@@ -540,70 +540,70 @@ | |||
540 | */ | 540 | */ |
541 | 541 | ||
542 | #define S_BCM1480_MC_ADDR_COARSE_ADJ 0 | 542 | #define S_BCM1480_MC_ADDR_COARSE_ADJ 0 |
543 | #define M_BCM1480_MC_ADDR_COARSE_ADJ _SB_MAKEMASK(6,S_BCM1480_MC_ADDR_COARSE_ADJ) | 543 | #define M_BCM1480_MC_ADDR_COARSE_ADJ _SB_MAKEMASK(6, S_BCM1480_MC_ADDR_COARSE_ADJ) |
544 | #define V_BCM1480_MC_ADDR_COARSE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ADDR_COARSE_ADJ) | 544 | #define V_BCM1480_MC_ADDR_COARSE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_COARSE_ADJ) |
545 | #define G_BCM1480_MC_ADDR_COARSE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_ADDR_COARSE_ADJ,M_BCM1480_MC_ADDR_COARSE_ADJ) | 545 | #define G_BCM1480_MC_ADDR_COARSE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_ADDR_COARSE_ADJ, M_BCM1480_MC_ADDR_COARSE_ADJ) |
546 | #define V_BCM1480_MC_ADDR_COARSE_ADJ_DEFAULT V_BCM1480_MC_ADDR_COARSE_ADJ(0x0) | 546 | #define V_BCM1480_MC_ADDR_COARSE_ADJ_DEFAULT V_BCM1480_MC_ADDR_COARSE_ADJ(0x0) |
547 | 547 | ||
548 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 548 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
549 | #define S_BCM1480_MC_ADDR_FREQ_RANGE 8 | 549 | #define S_BCM1480_MC_ADDR_FREQ_RANGE 8 |
550 | #define M_BCM1480_MC_ADDR_FREQ_RANGE _SB_MAKEMASK(4,S_BCM1480_MC_ADDR_FREQ_RANGE) | 550 | #define M_BCM1480_MC_ADDR_FREQ_RANGE _SB_MAKEMASK(4, S_BCM1480_MC_ADDR_FREQ_RANGE) |
551 | #define V_BCM1480_MC_ADDR_FREQ_RANGE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ADDR_FREQ_RANGE) | 551 | #define V_BCM1480_MC_ADDR_FREQ_RANGE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_FREQ_RANGE) |
552 | #define G_BCM1480_MC_ADDR_FREQ_RANGE(x) _SB_GETVALUE(x,S_BCM1480_MC_ADDR_FREQ_RANGE,M_BCM1480_MC_ADDR_FREQ_RANGE) | 552 | #define G_BCM1480_MC_ADDR_FREQ_RANGE(x) _SB_GETVALUE(x, S_BCM1480_MC_ADDR_FREQ_RANGE, M_BCM1480_MC_ADDR_FREQ_RANGE) |
553 | #define V_BCM1480_MC_ADDR_FREQ_RANGE_DEFAULT V_BCM1480_MC_ADDR_FREQ_RANGE(0x4) | 553 | #define V_BCM1480_MC_ADDR_FREQ_RANGE_DEFAULT V_BCM1480_MC_ADDR_FREQ_RANGE(0x4) |
554 | #endif | 554 | #endif |
555 | 555 | ||
556 | #define S_BCM1480_MC_ADDR_FINE_ADJ 8 | 556 | #define S_BCM1480_MC_ADDR_FINE_ADJ 8 |
557 | #define M_BCM1480_MC_ADDR_FINE_ADJ _SB_MAKEMASK(4,S_BCM1480_MC_ADDR_FINE_ADJ) | 557 | #define M_BCM1480_MC_ADDR_FINE_ADJ _SB_MAKEMASK(4, S_BCM1480_MC_ADDR_FINE_ADJ) |
558 | #define V_BCM1480_MC_ADDR_FINE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ADDR_FINE_ADJ) | 558 | #define V_BCM1480_MC_ADDR_FINE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_FINE_ADJ) |
559 | #define G_BCM1480_MC_ADDR_FINE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_ADDR_FINE_ADJ,M_BCM1480_MC_ADDR_FINE_ADJ) | 559 | #define G_BCM1480_MC_ADDR_FINE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_ADDR_FINE_ADJ, M_BCM1480_MC_ADDR_FINE_ADJ) |
560 | #define V_BCM1480_MC_ADDR_FINE_ADJ_DEFAULT V_BCM1480_MC_ADDR_FINE_ADJ(0x8) | 560 | #define V_BCM1480_MC_ADDR_FINE_ADJ_DEFAULT V_BCM1480_MC_ADDR_FINE_ADJ(0x8) |
561 | 561 | ||
562 | #define S_BCM1480_MC_DQI_COARSE_ADJ 16 | 562 | #define S_BCM1480_MC_DQI_COARSE_ADJ 16 |
563 | #define M_BCM1480_MC_DQI_COARSE_ADJ _SB_MAKEMASK(6,S_BCM1480_MC_DQI_COARSE_ADJ) | 563 | #define M_BCM1480_MC_DQI_COARSE_ADJ _SB_MAKEMASK(6, S_BCM1480_MC_DQI_COARSE_ADJ) |
564 | #define V_BCM1480_MC_DQI_COARSE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQI_COARSE_ADJ) | 564 | #define V_BCM1480_MC_DQI_COARSE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_COARSE_ADJ) |
565 | #define G_BCM1480_MC_DQI_COARSE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_DQI_COARSE_ADJ,M_BCM1480_MC_DQI_COARSE_ADJ) | 565 | #define G_BCM1480_MC_DQI_COARSE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_DQI_COARSE_ADJ, M_BCM1480_MC_DQI_COARSE_ADJ) |
566 | #define V_BCM1480_MC_DQI_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQI_COARSE_ADJ(0x0) | 566 | #define V_BCM1480_MC_DQI_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQI_COARSE_ADJ(0x0) |
567 | 567 | ||
568 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 568 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
569 | #define S_BCM1480_MC_DQI_FREQ_RANGE 24 | 569 | #define S_BCM1480_MC_DQI_FREQ_RANGE 24 |
570 | #define M_BCM1480_MC_DQI_FREQ_RANGE _SB_MAKEMASK(4,S_BCM1480_MC_DQI_FREQ_RANGE) | 570 | #define M_BCM1480_MC_DQI_FREQ_RANGE _SB_MAKEMASK(4, S_BCM1480_MC_DQI_FREQ_RANGE) |
571 | #define V_BCM1480_MC_DQI_FREQ_RANGE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQI_FREQ_RANGE) | 571 | #define V_BCM1480_MC_DQI_FREQ_RANGE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_FREQ_RANGE) |
572 | #define G_BCM1480_MC_DQI_FREQ_RANGE(x) _SB_GETVALUE(x,S_BCM1480_MC_DQI_FREQ_RANGE,M_BCM1480_MC_DQI_FREQ_RANGE) | 572 | #define G_BCM1480_MC_DQI_FREQ_RANGE(x) _SB_GETVALUE(x, S_BCM1480_MC_DQI_FREQ_RANGE, M_BCM1480_MC_DQI_FREQ_RANGE) |
573 | #define V_BCM1480_MC_DQI_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQI_FREQ_RANGE(0x4) | 573 | #define V_BCM1480_MC_DQI_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQI_FREQ_RANGE(0x4) |
574 | #endif | 574 | #endif |
575 | 575 | ||
576 | #define S_BCM1480_MC_DQI_FINE_ADJ 24 | 576 | #define S_BCM1480_MC_DQI_FINE_ADJ 24 |
577 | #define M_BCM1480_MC_DQI_FINE_ADJ _SB_MAKEMASK(4,S_BCM1480_MC_DQI_FINE_ADJ) | 577 | #define M_BCM1480_MC_DQI_FINE_ADJ _SB_MAKEMASK(4, S_BCM1480_MC_DQI_FINE_ADJ) |
578 | #define V_BCM1480_MC_DQI_FINE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQI_FINE_ADJ) | 578 | #define V_BCM1480_MC_DQI_FINE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_FINE_ADJ) |
579 | #define G_BCM1480_MC_DQI_FINE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_DQI_FINE_ADJ,M_BCM1480_MC_DQI_FINE_ADJ) | 579 | #define G_BCM1480_MC_DQI_FINE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_DQI_FINE_ADJ, M_BCM1480_MC_DQI_FINE_ADJ) |
580 | #define V_BCM1480_MC_DQI_FINE_ADJ_DEFAULT V_BCM1480_MC_DQI_FINE_ADJ(0x8) | 580 | #define V_BCM1480_MC_DQI_FINE_ADJ_DEFAULT V_BCM1480_MC_DQI_FINE_ADJ(0x8) |
581 | 581 | ||
582 | #define S_BCM1480_MC_DQO_COARSE_ADJ 32 | 582 | #define S_BCM1480_MC_DQO_COARSE_ADJ 32 |
583 | #define M_BCM1480_MC_DQO_COARSE_ADJ _SB_MAKEMASK(6,S_BCM1480_MC_DQO_COARSE_ADJ) | 583 | #define M_BCM1480_MC_DQO_COARSE_ADJ _SB_MAKEMASK(6, S_BCM1480_MC_DQO_COARSE_ADJ) |
584 | #define V_BCM1480_MC_DQO_COARSE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQO_COARSE_ADJ) | 584 | #define V_BCM1480_MC_DQO_COARSE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_COARSE_ADJ) |
585 | #define G_BCM1480_MC_DQO_COARSE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_DQO_COARSE_ADJ,M_BCM1480_MC_DQO_COARSE_ADJ) | 585 | #define G_BCM1480_MC_DQO_COARSE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_DQO_COARSE_ADJ, M_BCM1480_MC_DQO_COARSE_ADJ) |
586 | #define V_BCM1480_MC_DQO_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQO_COARSE_ADJ(0x0) | 586 | #define V_BCM1480_MC_DQO_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQO_COARSE_ADJ(0x0) |
587 | 587 | ||
588 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 588 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
589 | #define S_BCM1480_MC_DQO_FREQ_RANGE 40 | 589 | #define S_BCM1480_MC_DQO_FREQ_RANGE 40 |
590 | #define M_BCM1480_MC_DQO_FREQ_RANGE _SB_MAKEMASK(4,S_BCM1480_MC_DQO_FREQ_RANGE) | 590 | #define M_BCM1480_MC_DQO_FREQ_RANGE _SB_MAKEMASK(4, S_BCM1480_MC_DQO_FREQ_RANGE) |
591 | #define V_BCM1480_MC_DQO_FREQ_RANGE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQO_FREQ_RANGE) | 591 | #define V_BCM1480_MC_DQO_FREQ_RANGE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_FREQ_RANGE) |
592 | #define G_BCM1480_MC_DQO_FREQ_RANGE(x) _SB_GETVALUE(x,S_BCM1480_MC_DQO_FREQ_RANGE,M_BCM1480_MC_DQO_FREQ_RANGE) | 592 | #define G_BCM1480_MC_DQO_FREQ_RANGE(x) _SB_GETVALUE(x, S_BCM1480_MC_DQO_FREQ_RANGE, M_BCM1480_MC_DQO_FREQ_RANGE) |
593 | #define V_BCM1480_MC_DQO_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQO_FREQ_RANGE(0x4) | 593 | #define V_BCM1480_MC_DQO_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQO_FREQ_RANGE(0x4) |
594 | #endif | 594 | #endif |
595 | 595 | ||
596 | #define S_BCM1480_MC_DQO_FINE_ADJ 40 | 596 | #define S_BCM1480_MC_DQO_FINE_ADJ 40 |
597 | #define M_BCM1480_MC_DQO_FINE_ADJ _SB_MAKEMASK(4,S_BCM1480_MC_DQO_FINE_ADJ) | 597 | #define M_BCM1480_MC_DQO_FINE_ADJ _SB_MAKEMASK(4, S_BCM1480_MC_DQO_FINE_ADJ) |
598 | #define V_BCM1480_MC_DQO_FINE_ADJ(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DQO_FINE_ADJ) | 598 | #define V_BCM1480_MC_DQO_FINE_ADJ(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_FINE_ADJ) |
599 | #define G_BCM1480_MC_DQO_FINE_ADJ(x) _SB_GETVALUE(x,S_BCM1480_MC_DQO_FINE_ADJ,M_BCM1480_MC_DQO_FINE_ADJ) | 599 | #define G_BCM1480_MC_DQO_FINE_ADJ(x) _SB_GETVALUE(x, S_BCM1480_MC_DQO_FINE_ADJ, M_BCM1480_MC_DQO_FINE_ADJ) |
600 | #define V_BCM1480_MC_DQO_FINE_ADJ_DEFAULT V_BCM1480_MC_DQO_FINE_ADJ(0x8) | 600 | #define V_BCM1480_MC_DQO_FINE_ADJ_DEFAULT V_BCM1480_MC_DQO_FINE_ADJ(0x8) |
601 | 601 | ||
602 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 602 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
603 | #define S_BCM1480_MC_DLL_PDSEL 44 | 603 | #define S_BCM1480_MC_DLL_PDSEL 44 |
604 | #define M_BCM1480_MC_DLL_PDSEL _SB_MAKEMASK(2,S_BCM1480_MC_DLL_PDSEL) | 604 | #define M_BCM1480_MC_DLL_PDSEL _SB_MAKEMASK(2, S_BCM1480_MC_DLL_PDSEL) |
605 | #define V_BCM1480_MC_DLL_PDSEL(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_PDSEL) | 605 | #define V_BCM1480_MC_DLL_PDSEL(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_PDSEL) |
606 | #define G_BCM1480_MC_DLL_PDSEL(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_PDSEL,M_BCM1480_MC_DLL_PDSEL) | 606 | #define G_BCM1480_MC_DLL_PDSEL(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_PDSEL, M_BCM1480_MC_DLL_PDSEL) |
607 | #define V_BCM1480_MC_DLL_DEFAULT_PDSEL V_BCM1480_MC_DLL_PDSEL(0x0) | 607 | #define V_BCM1480_MC_DLL_DEFAULT_PDSEL V_BCM1480_MC_DLL_PDSEL(0x0) |
608 | 608 | ||
609 | #define M_BCM1480_MC_DLL_REGBYPASS _SB_MAKEMASK1(46) | 609 | #define M_BCM1480_MC_DLL_REGBYPASS _SB_MAKEMASK1(46) |
@@ -611,38 +611,38 @@ | |||
611 | #endif | 611 | #endif |
612 | 612 | ||
613 | #define S_BCM1480_MC_DLL_DEFAULT 48 | 613 | #define S_BCM1480_MC_DLL_DEFAULT 48 |
614 | #define M_BCM1480_MC_DLL_DEFAULT _SB_MAKEMASK(6,S_BCM1480_MC_DLL_DEFAULT) | 614 | #define M_BCM1480_MC_DLL_DEFAULT _SB_MAKEMASK(6, S_BCM1480_MC_DLL_DEFAULT) |
615 | #define V_BCM1480_MC_DLL_DEFAULT(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_DEFAULT) | 615 | #define V_BCM1480_MC_DLL_DEFAULT(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_DEFAULT) |
616 | #define G_BCM1480_MC_DLL_DEFAULT(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_DEFAULT,M_BCM1480_MC_DLL_DEFAULT) | 616 | #define G_BCM1480_MC_DLL_DEFAULT(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_DEFAULT, M_BCM1480_MC_DLL_DEFAULT) |
617 | #define V_BCM1480_MC_DLL_DEFAULT_DEFAULT V_BCM1480_MC_DLL_DEFAULT(0x10) | 617 | #define V_BCM1480_MC_DLL_DEFAULT_DEFAULT V_BCM1480_MC_DLL_DEFAULT(0x10) |
618 | 618 | ||
619 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 619 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
620 | #define S_BCM1480_MC_DLL_REGCTRL 54 | 620 | #define S_BCM1480_MC_DLL_REGCTRL 54 |
621 | #define M_BCM1480_MC_DLL_REGCTRL _SB_MAKEMASK(2,S_BCM1480_MC_DLL_REGCTRL) | 621 | #define M_BCM1480_MC_DLL_REGCTRL _SB_MAKEMASK(2, S_BCM1480_MC_DLL_REGCTRL) |
622 | #define V_BCM1480_MC_DLL_REGCTRL(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_REGCTRL) | 622 | #define V_BCM1480_MC_DLL_REGCTRL(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_REGCTRL) |
623 | #define G_BCM1480_MC_DLL_REGCTRL(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_REGCTRL,M_BCM1480_MC_DLL_REGCTRL) | 623 | #define G_BCM1480_MC_DLL_REGCTRL(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_REGCTRL, M_BCM1480_MC_DLL_REGCTRL) |
624 | #define V_BCM1480_MC_DLL_DEFAULT_REGCTRL V_BCM1480_MC_DLL_REGCTRL(0x0) | 624 | #define V_BCM1480_MC_DLL_DEFAULT_REGCTRL V_BCM1480_MC_DLL_REGCTRL(0x0) |
625 | #endif | 625 | #endif |
626 | 626 | ||
627 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 627 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
628 | #define S_BCM1480_MC_DLL_FREQ_RANGE 56 | 628 | #define S_BCM1480_MC_DLL_FREQ_RANGE 56 |
629 | #define M_BCM1480_MC_DLL_FREQ_RANGE _SB_MAKEMASK(4,S_BCM1480_MC_DLL_FREQ_RANGE) | 629 | #define M_BCM1480_MC_DLL_FREQ_RANGE _SB_MAKEMASK(4, S_BCM1480_MC_DLL_FREQ_RANGE) |
630 | #define V_BCM1480_MC_DLL_FREQ_RANGE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_FREQ_RANGE) | 630 | #define V_BCM1480_MC_DLL_FREQ_RANGE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_FREQ_RANGE) |
631 | #define G_BCM1480_MC_DLL_FREQ_RANGE(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_FREQ_RANGE,M_BCM1480_MC_DLL_FREQ_RANGE) | 631 | #define G_BCM1480_MC_DLL_FREQ_RANGE(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_FREQ_RANGE, M_BCM1480_MC_DLL_FREQ_RANGE) |
632 | #define V_BCM1480_MC_DLL_FREQ_RANGE_DEFAULT V_BCM1480_MC_DLL_FREQ_RANGE(0x4) | 632 | #define V_BCM1480_MC_DLL_FREQ_RANGE_DEFAULT V_BCM1480_MC_DLL_FREQ_RANGE(0x4) |
633 | #endif | 633 | #endif |
634 | 634 | ||
635 | #define S_BCM1480_MC_DLL_STEP_SIZE 56 | 635 | #define S_BCM1480_MC_DLL_STEP_SIZE 56 |
636 | #define M_BCM1480_MC_DLL_STEP_SIZE _SB_MAKEMASK(4,S_BCM1480_MC_DLL_STEP_SIZE) | 636 | #define M_BCM1480_MC_DLL_STEP_SIZE _SB_MAKEMASK(4, S_BCM1480_MC_DLL_STEP_SIZE) |
637 | #define V_BCM1480_MC_DLL_STEP_SIZE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_STEP_SIZE) | 637 | #define V_BCM1480_MC_DLL_STEP_SIZE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_STEP_SIZE) |
638 | #define G_BCM1480_MC_DLL_STEP_SIZE(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_STEP_SIZE,M_BCM1480_MC_DLL_STEP_SIZE) | 638 | #define G_BCM1480_MC_DLL_STEP_SIZE(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_STEP_SIZE, M_BCM1480_MC_DLL_STEP_SIZE) |
639 | #define V_BCM1480_MC_DLL_STEP_SIZE_DEFAULT V_BCM1480_MC_DLL_STEP_SIZE(0x8) | 639 | #define V_BCM1480_MC_DLL_STEP_SIZE_DEFAULT V_BCM1480_MC_DLL_STEP_SIZE(0x8) |
640 | 640 | ||
641 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 641 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
642 | #define S_BCM1480_MC_DLL_BGCTRL 60 | 642 | #define S_BCM1480_MC_DLL_BGCTRL 60 |
643 | #define M_BCM1480_MC_DLL_BGCTRL _SB_MAKEMASK(2,S_BCM1480_MC_DLL_BGCTRL) | 643 | #define M_BCM1480_MC_DLL_BGCTRL _SB_MAKEMASK(2, S_BCM1480_MC_DLL_BGCTRL) |
644 | #define V_BCM1480_MC_DLL_BGCTRL(x) _SB_MAKEVALUE(x,S_BCM1480_MC_DLL_BGCTRL) | 644 | #define V_BCM1480_MC_DLL_BGCTRL(x) _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_BGCTRL) |
645 | #define G_BCM1480_MC_DLL_BGCTRL(x) _SB_GETVALUE(x,S_BCM1480_MC_DLL_BGCTRL,M_BCM1480_MC_DLL_BGCTRL) | 645 | #define G_BCM1480_MC_DLL_BGCTRL(x) _SB_GETVALUE(x, S_BCM1480_MC_DLL_BGCTRL, M_BCM1480_MC_DLL_BGCTRL) |
646 | #define V_BCM1480_MC_DLL_DEFAULT_BGCTRL V_BCM1480_MC_DLL_BGCTRL(0x0) | 646 | #define V_BCM1480_MC_DLL_DEFAULT_BGCTRL V_BCM1480_MC_DLL_BGCTRL(0x0) |
647 | #endif | 647 | #endif |
648 | 648 | ||
@@ -653,37 +653,37 @@ | |||
653 | */ | 653 | */ |
654 | 654 | ||
655 | #define S_BCM1480_MC_RTT_BYP_PULLDOWN 0 | 655 | #define S_BCM1480_MC_RTT_BYP_PULLDOWN 0 |
656 | #define M_BCM1480_MC_RTT_BYP_PULLDOWN _SB_MAKEMASK(3,S_BCM1480_MC_RTT_BYP_PULLDOWN) | 656 | #define M_BCM1480_MC_RTT_BYP_PULLDOWN _SB_MAKEMASK(3, S_BCM1480_MC_RTT_BYP_PULLDOWN) |
657 | #define V_BCM1480_MC_RTT_BYP_PULLDOWN(x) _SB_MAKEVALUE(x,S_BCM1480_MC_RTT_BYP_PULLDOWN) | 657 | #define V_BCM1480_MC_RTT_BYP_PULLDOWN(x) _SB_MAKEVALUE(x, S_BCM1480_MC_RTT_BYP_PULLDOWN) |
658 | #define G_BCM1480_MC_RTT_BYP_PULLDOWN(x) _SB_GETVALUE(x,S_BCM1480_MC_RTT_BYP_PULLDOWN,M_BCM1480_MC_RTT_BYP_PULLDOWN) | 658 | #define G_BCM1480_MC_RTT_BYP_PULLDOWN(x) _SB_GETVALUE(x, S_BCM1480_MC_RTT_BYP_PULLDOWN, M_BCM1480_MC_RTT_BYP_PULLDOWN) |
659 | 659 | ||
660 | #define S_BCM1480_MC_RTT_BYP_PULLUP 6 | 660 | #define S_BCM1480_MC_RTT_BYP_PULLUP 6 |
661 | #define M_BCM1480_MC_RTT_BYP_PULLUP _SB_MAKEMASK(3,S_BCM1480_MC_RTT_BYP_PULLUP) | 661 | #define M_BCM1480_MC_RTT_BYP_PULLUP _SB_MAKEMASK(3, S_BCM1480_MC_RTT_BYP_PULLUP) |
662 | #define V_BCM1480_MC_RTT_BYP_PULLUP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_RTT_BYP_PULLUP) | 662 | #define V_BCM1480_MC_RTT_BYP_PULLUP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_RTT_BYP_PULLUP) |
663 | #define G_BCM1480_MC_RTT_BYP_PULLUP(x) _SB_GETVALUE(x,S_BCM1480_MC_RTT_BYP_PULLUP,M_BCM1480_MC_RTT_BYP_PULLUP) | 663 | #define G_BCM1480_MC_RTT_BYP_PULLUP(x) _SB_GETVALUE(x, S_BCM1480_MC_RTT_BYP_PULLUP, M_BCM1480_MC_RTT_BYP_PULLUP) |
664 | 664 | ||
665 | #define M_BCM1480_MC_RTT_BYPASS _SB_MAKEMASK1(8) | 665 | #define M_BCM1480_MC_RTT_BYPASS _SB_MAKEMASK1(8) |
666 | #define M_BCM1480_MC_RTT_COMP_MOV_AVG _SB_MAKEMASK1(9) | 666 | #define M_BCM1480_MC_RTT_COMP_MOV_AVG _SB_MAKEMASK1(9) |
667 | 667 | ||
668 | #define S_BCM1480_MC_PVT_BYP_C1_PULLDOWN 10 | 668 | #define S_BCM1480_MC_PVT_BYP_C1_PULLDOWN 10 |
669 | #define M_BCM1480_MC_PVT_BYP_C1_PULLDOWN _SB_MAKEMASK(4,S_BCM1480_MC_PVT_BYP_C1_PULLDOWN) | 669 | #define M_BCM1480_MC_PVT_BYP_C1_PULLDOWN _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN) |
670 | #define V_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_MAKEVALUE(x,S_BCM1480_MC_PVT_BYP_C1_PULLDOWN) | 670 | #define V_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN) |
671 | #define G_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_GETVALUE(x,S_BCM1480_MC_PVT_BYP_C1_PULLDOWN,M_BCM1480_MC_PVT_BYP_C1_PULLDOWN) | 671 | #define G_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN, M_BCM1480_MC_PVT_BYP_C1_PULLDOWN) |
672 | 672 | ||
673 | #define S_BCM1480_MC_PVT_BYP_C1_PULLUP 15 | 673 | #define S_BCM1480_MC_PVT_BYP_C1_PULLUP 15 |
674 | #define M_BCM1480_MC_PVT_BYP_C1_PULLUP _SB_MAKEMASK(4,S_BCM1480_MC_PVT_BYP_C1_PULLUP) | 674 | #define M_BCM1480_MC_PVT_BYP_C1_PULLUP _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C1_PULLUP) |
675 | #define V_BCM1480_MC_PVT_BYP_C1_PULLUP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_PVT_BYP_C1_PULLUP) | 675 | #define V_BCM1480_MC_PVT_BYP_C1_PULLUP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLUP) |
676 | #define G_BCM1480_MC_PVT_BYP_C1_PULLUP(x) _SB_GETVALUE(x,S_BCM1480_MC_PVT_BYP_C1_PULLUP,M_BCM1480_MC_PVT_BYP_C1_PULLUP) | 676 | #define G_BCM1480_MC_PVT_BYP_C1_PULLUP(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLUP, M_BCM1480_MC_PVT_BYP_C1_PULLUP) |
677 | 677 | ||
678 | #define S_BCM1480_MC_PVT_BYP_C2_PULLDOWN 20 | 678 | #define S_BCM1480_MC_PVT_BYP_C2_PULLDOWN 20 |
679 | #define M_BCM1480_MC_PVT_BYP_C2_PULLDOWN _SB_MAKEMASK(4,S_BCM1480_MC_PVT_BYP_C2_PULLDOWN) | 679 | #define M_BCM1480_MC_PVT_BYP_C2_PULLDOWN _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN) |
680 | #define V_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_MAKEVALUE(x,S_BCM1480_MC_PVT_BYP_C2_PULLDOWN) | 680 | #define V_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN) |
681 | #define G_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_GETVALUE(x,S_BCM1480_MC_PVT_BYP_C2_PULLDOWN,M_BCM1480_MC_PVT_BYP_C2_PULLDOWN) | 681 | #define G_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN, M_BCM1480_MC_PVT_BYP_C2_PULLDOWN) |
682 | 682 | ||
683 | #define S_BCM1480_MC_PVT_BYP_C2_PULLUP 25 | 683 | #define S_BCM1480_MC_PVT_BYP_C2_PULLUP 25 |
684 | #define M_BCM1480_MC_PVT_BYP_C2_PULLUP _SB_MAKEMASK(4,S_BCM1480_MC_PVT_BYP_C2_PULLUP) | 684 | #define M_BCM1480_MC_PVT_BYP_C2_PULLUP _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C2_PULLUP) |
685 | #define V_BCM1480_MC_PVT_BYP_C2_PULLUP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_PVT_BYP_C2_PULLUP) | 685 | #define V_BCM1480_MC_PVT_BYP_C2_PULLUP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLUP) |
686 | #define G_BCM1480_MC_PVT_BYP_C2_PULLUP(x) _SB_GETVALUE(x,S_BCM1480_MC_PVT_BYP_C2_PULLUP,M_BCM1480_MC_PVT_BYP_C2_PULLUP) | 686 | #define G_BCM1480_MC_PVT_BYP_C2_PULLUP(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLUP, M_BCM1480_MC_PVT_BYP_C2_PULLUP) |
687 | 687 | ||
688 | #define M_BCM1480_MC_PVT_BYPASS _SB_MAKEMASK1(30) | 688 | #define M_BCM1480_MC_PVT_BYPASS _SB_MAKEMASK1(30) |
689 | #define M_BCM1480_MC_PVT_COMP_MOV_AVG _SB_MAKEMASK1(31) | 689 | #define M_BCM1480_MC_PVT_COMP_MOV_AVG _SB_MAKEMASK1(31) |
@@ -703,111 +703,111 @@ | |||
703 | */ | 703 | */ |
704 | 704 | ||
705 | #define S_BCM1480_MC_DATA_INVERT 0 | 705 | #define S_BCM1480_MC_DATA_INVERT 0 |
706 | #define M_DATA_ECC_INVERT _SB_MAKEMASK(64,S_BCM1480_MC_ECC_INVERT) | 706 | #define M_DATA_ECC_INVERT _SB_MAKEMASK(64, S_BCM1480_MC_ECC_INVERT) |
707 | 707 | ||
708 | /* | 708 | /* |
709 | * ECC Test ECC Register (Table 96) | 709 | * ECC Test ECC Register (Table 96) |
710 | */ | 710 | */ |
711 | 711 | ||
712 | #define S_BCM1480_MC_ECC_INVERT 0 | 712 | #define S_BCM1480_MC_ECC_INVERT 0 |
713 | #define M_BCM1480_MC_ECC_INVERT _SB_MAKEMASK(8,S_BCM1480_MC_ECC_INVERT) | 713 | #define M_BCM1480_MC_ECC_INVERT _SB_MAKEMASK(8, S_BCM1480_MC_ECC_INVERT) |
714 | 714 | ||
715 | /* | 715 | /* |
716 | * SDRAM Timing Register (Table 97) | 716 | * SDRAM Timing Register (Table 97) |
717 | */ | 717 | */ |
718 | 718 | ||
719 | #define S_BCM1480_MC_tRCD 0 | 719 | #define S_BCM1480_MC_tRCD 0 |
720 | #define M_BCM1480_MC_tRCD _SB_MAKEMASK(4,S_BCM1480_MC_tRCD) | 720 | #define M_BCM1480_MC_tRCD _SB_MAKEMASK(4, S_BCM1480_MC_tRCD) |
721 | #define V_BCM1480_MC_tRCD(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRCD) | 721 | #define V_BCM1480_MC_tRCD(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRCD) |
722 | #define G_BCM1480_MC_tRCD(x) _SB_GETVALUE(x,S_BCM1480_MC_tRCD,M_BCM1480_MC_tRCD) | 722 | #define G_BCM1480_MC_tRCD(x) _SB_GETVALUE(x, S_BCM1480_MC_tRCD, M_BCM1480_MC_tRCD) |
723 | #define K_BCM1480_MC_tRCD_DEFAULT 3 | 723 | #define K_BCM1480_MC_tRCD_DEFAULT 3 |
724 | #define V_BCM1480_MC_tRCD_DEFAULT V_BCM1480_MC_tRCD(K_BCM1480_MC_tRCD_DEFAULT) | 724 | #define V_BCM1480_MC_tRCD_DEFAULT V_BCM1480_MC_tRCD(K_BCM1480_MC_tRCD_DEFAULT) |
725 | 725 | ||
726 | #define S_BCM1480_MC_tCL 4 | 726 | #define S_BCM1480_MC_tCL 4 |
727 | #define M_BCM1480_MC_tCL _SB_MAKEMASK(4,S_BCM1480_MC_tCL) | 727 | #define M_BCM1480_MC_tCL _SB_MAKEMASK(4, S_BCM1480_MC_tCL) |
728 | #define V_BCM1480_MC_tCL(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tCL) | 728 | #define V_BCM1480_MC_tCL(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tCL) |
729 | #define G_BCM1480_MC_tCL(x) _SB_GETVALUE(x,S_BCM1480_MC_tCL,M_BCM1480_MC_tCL) | 729 | #define G_BCM1480_MC_tCL(x) _SB_GETVALUE(x, S_BCM1480_MC_tCL, M_BCM1480_MC_tCL) |
730 | #define K_BCM1480_MC_tCL_DEFAULT 2 | 730 | #define K_BCM1480_MC_tCL_DEFAULT 2 |
731 | #define V_BCM1480_MC_tCL_DEFAULT V_BCM1480_MC_tCL(K_BCM1480_MC_tCL_DEFAULT) | 731 | #define V_BCM1480_MC_tCL_DEFAULT V_BCM1480_MC_tCL(K_BCM1480_MC_tCL_DEFAULT) |
732 | 732 | ||
733 | #define M_BCM1480_MC_tCrDh _SB_MAKEMASK1(8) | 733 | #define M_BCM1480_MC_tCrDh _SB_MAKEMASK1(8) |
734 | 734 | ||
735 | #define S_BCM1480_MC_tWR 9 | 735 | #define S_BCM1480_MC_tWR 9 |
736 | #define M_BCM1480_MC_tWR _SB_MAKEMASK(3,S_BCM1480_MC_tWR) | 736 | #define M_BCM1480_MC_tWR _SB_MAKEMASK(3, S_BCM1480_MC_tWR) |
737 | #define V_BCM1480_MC_tWR(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tWR) | 737 | #define V_BCM1480_MC_tWR(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tWR) |
738 | #define G_BCM1480_MC_tWR(x) _SB_GETVALUE(x,S_BCM1480_MC_tWR,M_BCM1480_MC_tWR) | 738 | #define G_BCM1480_MC_tWR(x) _SB_GETVALUE(x, S_BCM1480_MC_tWR, M_BCM1480_MC_tWR) |
739 | #define K_BCM1480_MC_tWR_DEFAULT 2 | 739 | #define K_BCM1480_MC_tWR_DEFAULT 2 |
740 | #define V_BCM1480_MC_tWR_DEFAULT V_BCM1480_MC_tWR(K_BCM1480_MC_tWR_DEFAULT) | 740 | #define V_BCM1480_MC_tWR_DEFAULT V_BCM1480_MC_tWR(K_BCM1480_MC_tWR_DEFAULT) |
741 | 741 | ||
742 | #define S_BCM1480_MC_tCwD 12 | 742 | #define S_BCM1480_MC_tCwD 12 |
743 | #define M_BCM1480_MC_tCwD _SB_MAKEMASK(4,S_BCM1480_MC_tCwD) | 743 | #define M_BCM1480_MC_tCwD _SB_MAKEMASK(4, S_BCM1480_MC_tCwD) |
744 | #define V_BCM1480_MC_tCwD(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tCwD) | 744 | #define V_BCM1480_MC_tCwD(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tCwD) |
745 | #define G_BCM1480_MC_tCwD(x) _SB_GETVALUE(x,S_BCM1480_MC_tCwD,M_BCM1480_MC_tCwD) | 745 | #define G_BCM1480_MC_tCwD(x) _SB_GETVALUE(x, S_BCM1480_MC_tCwD, M_BCM1480_MC_tCwD) |
746 | #define K_BCM1480_MC_tCwD_DEFAULT 1 | 746 | #define K_BCM1480_MC_tCwD_DEFAULT 1 |
747 | #define V_BCM1480_MC_tCwD_DEFAULT V_BCM1480_MC_tCwD(K_BCM1480_MC_tCwD_DEFAULT) | 747 | #define V_BCM1480_MC_tCwD_DEFAULT V_BCM1480_MC_tCwD(K_BCM1480_MC_tCwD_DEFAULT) |
748 | 748 | ||
749 | #define S_BCM1480_MC_tRP 16 | 749 | #define S_BCM1480_MC_tRP 16 |
750 | #define M_BCM1480_MC_tRP _SB_MAKEMASK(4,S_BCM1480_MC_tRP) | 750 | #define M_BCM1480_MC_tRP _SB_MAKEMASK(4, S_BCM1480_MC_tRP) |
751 | #define V_BCM1480_MC_tRP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRP) | 751 | #define V_BCM1480_MC_tRP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRP) |
752 | #define G_BCM1480_MC_tRP(x) _SB_GETVALUE(x,S_BCM1480_MC_tRP,M_BCM1480_MC_tRP) | 752 | #define G_BCM1480_MC_tRP(x) _SB_GETVALUE(x, S_BCM1480_MC_tRP, M_BCM1480_MC_tRP) |
753 | #define K_BCM1480_MC_tRP_DEFAULT 4 | 753 | #define K_BCM1480_MC_tRP_DEFAULT 4 |
754 | #define V_BCM1480_MC_tRP_DEFAULT V_BCM1480_MC_tRP(K_BCM1480_MC_tRP_DEFAULT) | 754 | #define V_BCM1480_MC_tRP_DEFAULT V_BCM1480_MC_tRP(K_BCM1480_MC_tRP_DEFAULT) |
755 | 755 | ||
756 | #define S_BCM1480_MC_tRRD 20 | 756 | #define S_BCM1480_MC_tRRD 20 |
757 | #define M_BCM1480_MC_tRRD _SB_MAKEMASK(4,S_BCM1480_MC_tRRD) | 757 | #define M_BCM1480_MC_tRRD _SB_MAKEMASK(4, S_BCM1480_MC_tRRD) |
758 | #define V_BCM1480_MC_tRRD(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRRD) | 758 | #define V_BCM1480_MC_tRRD(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRRD) |
759 | #define G_BCM1480_MC_tRRD(x) _SB_GETVALUE(x,S_BCM1480_MC_tRRD,M_BCM1480_MC_tRRD) | 759 | #define G_BCM1480_MC_tRRD(x) _SB_GETVALUE(x, S_BCM1480_MC_tRRD, M_BCM1480_MC_tRRD) |
760 | #define K_BCM1480_MC_tRRD_DEFAULT 2 | 760 | #define K_BCM1480_MC_tRRD_DEFAULT 2 |
761 | #define V_BCM1480_MC_tRRD_DEFAULT V_BCM1480_MC_tRRD(K_BCM1480_MC_tRRD_DEFAULT) | 761 | #define V_BCM1480_MC_tRRD_DEFAULT V_BCM1480_MC_tRRD(K_BCM1480_MC_tRRD_DEFAULT) |
762 | 762 | ||
763 | #define S_BCM1480_MC_tRCw 24 | 763 | #define S_BCM1480_MC_tRCw 24 |
764 | #define M_BCM1480_MC_tRCw _SB_MAKEMASK(5,S_BCM1480_MC_tRCw) | 764 | #define M_BCM1480_MC_tRCw _SB_MAKEMASK(5, S_BCM1480_MC_tRCw) |
765 | #define V_BCM1480_MC_tRCw(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRCw) | 765 | #define V_BCM1480_MC_tRCw(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRCw) |
766 | #define G_BCM1480_MC_tRCw(x) _SB_GETVALUE(x,S_BCM1480_MC_tRCw,M_BCM1480_MC_tRCw) | 766 | #define G_BCM1480_MC_tRCw(x) _SB_GETVALUE(x, S_BCM1480_MC_tRCw, M_BCM1480_MC_tRCw) |
767 | #define K_BCM1480_MC_tRCw_DEFAULT 10 | 767 | #define K_BCM1480_MC_tRCw_DEFAULT 10 |
768 | #define V_BCM1480_MC_tRCw_DEFAULT V_BCM1480_MC_tRCw(K_BCM1480_MC_tRCw_DEFAULT) | 768 | #define V_BCM1480_MC_tRCw_DEFAULT V_BCM1480_MC_tRCw(K_BCM1480_MC_tRCw_DEFAULT) |
769 | 769 | ||
770 | #define S_BCM1480_MC_tRCr 32 | 770 | #define S_BCM1480_MC_tRCr 32 |
771 | #define M_BCM1480_MC_tRCr _SB_MAKEMASK(5,S_BCM1480_MC_tRCr) | 771 | #define M_BCM1480_MC_tRCr _SB_MAKEMASK(5, S_BCM1480_MC_tRCr) |
772 | #define V_BCM1480_MC_tRCr(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRCr) | 772 | #define V_BCM1480_MC_tRCr(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRCr) |
773 | #define G_BCM1480_MC_tRCr(x) _SB_GETVALUE(x,S_BCM1480_MC_tRCr,M_BCM1480_MC_tRCr) | 773 | #define G_BCM1480_MC_tRCr(x) _SB_GETVALUE(x, S_BCM1480_MC_tRCr, M_BCM1480_MC_tRCr) |
774 | #define K_BCM1480_MC_tRCr_DEFAULT 9 | 774 | #define K_BCM1480_MC_tRCr_DEFAULT 9 |
775 | #define V_BCM1480_MC_tRCr_DEFAULT V_BCM1480_MC_tRCr(K_BCM1480_MC_tRCr_DEFAULT) | 775 | #define V_BCM1480_MC_tRCr_DEFAULT V_BCM1480_MC_tRCr(K_BCM1480_MC_tRCr_DEFAULT) |
776 | 776 | ||
777 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 777 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
778 | #define S_BCM1480_MC_tFAW 40 | 778 | #define S_BCM1480_MC_tFAW 40 |
779 | #define M_BCM1480_MC_tFAW _SB_MAKEMASK(6,S_BCM1480_MC_tFAW) | 779 | #define M_BCM1480_MC_tFAW _SB_MAKEMASK(6, S_BCM1480_MC_tFAW) |
780 | #define V_BCM1480_MC_tFAW(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tFAW) | 780 | #define V_BCM1480_MC_tFAW(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tFAW) |
781 | #define G_BCM1480_MC_tFAW(x) _SB_GETVALUE(x,S_BCM1480_MC_tFAW,M_BCM1480_MC_tFAW) | 781 | #define G_BCM1480_MC_tFAW(x) _SB_GETVALUE(x, S_BCM1480_MC_tFAW, M_BCM1480_MC_tFAW) |
782 | #define K_BCM1480_MC_tFAW_DEFAULT 0 | 782 | #define K_BCM1480_MC_tFAW_DEFAULT 0 |
783 | #define V_BCM1480_MC_tFAW_DEFAULT V_BCM1480_MC_tFAW(K_BCM1480_MC_tFAW_DEFAULT) | 783 | #define V_BCM1480_MC_tFAW_DEFAULT V_BCM1480_MC_tFAW(K_BCM1480_MC_tFAW_DEFAULT) |
784 | #endif | 784 | #endif |
785 | 785 | ||
786 | #define S_BCM1480_MC_tRFC 48 | 786 | #define S_BCM1480_MC_tRFC 48 |
787 | #define M_BCM1480_MC_tRFC _SB_MAKEMASK(7,S_BCM1480_MC_tRFC) | 787 | #define M_BCM1480_MC_tRFC _SB_MAKEMASK(7, S_BCM1480_MC_tRFC) |
788 | #define V_BCM1480_MC_tRFC(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRFC) | 788 | #define V_BCM1480_MC_tRFC(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRFC) |
789 | #define G_BCM1480_MC_tRFC(x) _SB_GETVALUE(x,S_BCM1480_MC_tRFC,M_BCM1480_MC_tRFC) | 789 | #define G_BCM1480_MC_tRFC(x) _SB_GETVALUE(x, S_BCM1480_MC_tRFC, M_BCM1480_MC_tRFC) |
790 | #define K_BCM1480_MC_tRFC_DEFAULT 12 | 790 | #define K_BCM1480_MC_tRFC_DEFAULT 12 |
791 | #define V_BCM1480_MC_tRFC_DEFAULT V_BCM1480_MC_tRFC(K_BCM1480_MC_tRFC_DEFAULT) | 791 | #define V_BCM1480_MC_tRFC_DEFAULT V_BCM1480_MC_tRFC(K_BCM1480_MC_tRFC_DEFAULT) |
792 | 792 | ||
793 | #define S_BCM1480_MC_tFIFO 56 | 793 | #define S_BCM1480_MC_tFIFO 56 |
794 | #define M_BCM1480_MC_tFIFO _SB_MAKEMASK(2,S_BCM1480_MC_tFIFO) | 794 | #define M_BCM1480_MC_tFIFO _SB_MAKEMASK(2, S_BCM1480_MC_tFIFO) |
795 | #define V_BCM1480_MC_tFIFO(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tFIFO) | 795 | #define V_BCM1480_MC_tFIFO(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tFIFO) |
796 | #define G_BCM1480_MC_tFIFO(x) _SB_GETVALUE(x,S_BCM1480_MC_tFIFO,M_BCM1480_MC_tFIFO) | 796 | #define G_BCM1480_MC_tFIFO(x) _SB_GETVALUE(x, S_BCM1480_MC_tFIFO, M_BCM1480_MC_tFIFO) |
797 | #define K_BCM1480_MC_tFIFO_DEFAULT 0 | 797 | #define K_BCM1480_MC_tFIFO_DEFAULT 0 |
798 | #define V_BCM1480_MC_tFIFO_DEFAULT V_BCM1480_MC_tFIFO(K_BCM1480_MC_tFIFO_DEFAULT) | 798 | #define V_BCM1480_MC_tFIFO_DEFAULT V_BCM1480_MC_tFIFO(K_BCM1480_MC_tFIFO_DEFAULT) |
799 | 799 | ||
800 | #define S_BCM1480_MC_tW2R 58 | 800 | #define S_BCM1480_MC_tW2R 58 |
801 | #define M_BCM1480_MC_tW2R _SB_MAKEMASK(2,S_BCM1480_MC_tW2R) | 801 | #define M_BCM1480_MC_tW2R _SB_MAKEMASK(2, S_BCM1480_MC_tW2R) |
802 | #define V_BCM1480_MC_tW2R(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tW2R) | 802 | #define V_BCM1480_MC_tW2R(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tW2R) |
803 | #define G_BCM1480_MC_tW2R(x) _SB_GETVALUE(x,S_BCM1480_MC_tW2R,M_BCM1480_MC_tW2R) | 803 | #define G_BCM1480_MC_tW2R(x) _SB_GETVALUE(x, S_BCM1480_MC_tW2R, M_BCM1480_MC_tW2R) |
804 | #define K_BCM1480_MC_tW2R_DEFAULT 1 | 804 | #define K_BCM1480_MC_tW2R_DEFAULT 1 |
805 | #define V_BCM1480_MC_tW2R_DEFAULT V_BCM1480_MC_tW2R(K_BCM1480_MC_tW2R_DEFAULT) | 805 | #define V_BCM1480_MC_tW2R_DEFAULT V_BCM1480_MC_tW2R(K_BCM1480_MC_tW2R_DEFAULT) |
806 | 806 | ||
807 | #define S_BCM1480_MC_tR2W 60 | 807 | #define S_BCM1480_MC_tR2W 60 |
808 | #define M_BCM1480_MC_tR2W _SB_MAKEMASK(2,S_BCM1480_MC_tR2W) | 808 | #define M_BCM1480_MC_tR2W _SB_MAKEMASK(2, S_BCM1480_MC_tR2W) |
809 | #define V_BCM1480_MC_tR2W(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tR2W) | 809 | #define V_BCM1480_MC_tR2W(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tR2W) |
810 | #define G_BCM1480_MC_tR2W(x) _SB_GETVALUE(x,S_BCM1480_MC_tR2W,M_BCM1480_MC_tR2W) | 810 | #define G_BCM1480_MC_tR2W(x) _SB_GETVALUE(x, S_BCM1480_MC_tR2W, M_BCM1480_MC_tR2W) |
811 | #define K_BCM1480_MC_tR2W_DEFAULT 0 | 811 | #define K_BCM1480_MC_tR2W_DEFAULT 0 |
812 | #define V_BCM1480_MC_tR2W_DEFAULT V_BCM1480_MC_tR2W(K_BCM1480_MC_tR2W_DEFAULT) | 812 | #define V_BCM1480_MC_tR2W_DEFAULT V_BCM1480_MC_tR2W(K_BCM1480_MC_tR2W_DEFAULT) |
813 | 813 | ||
@@ -835,30 +835,30 @@ | |||
835 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 835 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
836 | 836 | ||
837 | #define S_BCM1480_MC_tAL 0 | 837 | #define S_BCM1480_MC_tAL 0 |
838 | #define M_BCM1480_MC_tAL _SB_MAKEMASK(4,S_BCM1480_MC_tAL) | 838 | #define M_BCM1480_MC_tAL _SB_MAKEMASK(4, S_BCM1480_MC_tAL) |
839 | #define V_BCM1480_MC_tAL(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tAL) | 839 | #define V_BCM1480_MC_tAL(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tAL) |
840 | #define G_BCM1480_MC_tAL(x) _SB_GETVALUE(x,S_BCM1480_MC_tAL,M_BCM1480_MC_tAL) | 840 | #define G_BCM1480_MC_tAL(x) _SB_GETVALUE(x, S_BCM1480_MC_tAL, M_BCM1480_MC_tAL) |
841 | #define K_BCM1480_MC_tAL_DEFAULT 0 | 841 | #define K_BCM1480_MC_tAL_DEFAULT 0 |
842 | #define V_BCM1480_MC_tAL_DEFAULT V_BCM1480_MC_tAL(K_BCM1480_MC_tAL_DEFAULT) | 842 | #define V_BCM1480_MC_tAL_DEFAULT V_BCM1480_MC_tAL(K_BCM1480_MC_tAL_DEFAULT) |
843 | 843 | ||
844 | #define S_BCM1480_MC_tRTP 4 | 844 | #define S_BCM1480_MC_tRTP 4 |
845 | #define M_BCM1480_MC_tRTP _SB_MAKEMASK(3,S_BCM1480_MC_tRTP) | 845 | #define M_BCM1480_MC_tRTP _SB_MAKEMASK(3, S_BCM1480_MC_tRTP) |
846 | #define V_BCM1480_MC_tRTP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRTP) | 846 | #define V_BCM1480_MC_tRTP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRTP) |
847 | #define G_BCM1480_MC_tRTP(x) _SB_GETVALUE(x,S_BCM1480_MC_tRTP,M_BCM1480_MC_tRTP) | 847 | #define G_BCM1480_MC_tRTP(x) _SB_GETVALUE(x, S_BCM1480_MC_tRTP, M_BCM1480_MC_tRTP) |
848 | #define K_BCM1480_MC_tRTP_DEFAULT 2 | 848 | #define K_BCM1480_MC_tRTP_DEFAULT 2 |
849 | #define V_BCM1480_MC_tRTP_DEFAULT V_BCM1480_MC_tRTP(K_BCM1480_MC_tRTP_DEFAULT) | 849 | #define V_BCM1480_MC_tRTP_DEFAULT V_BCM1480_MC_tRTP(K_BCM1480_MC_tRTP_DEFAULT) |
850 | 850 | ||
851 | #define S_BCM1480_MC_tW2W 8 | 851 | #define S_BCM1480_MC_tW2W 8 |
852 | #define M_BCM1480_MC_tW2W _SB_MAKEMASK(2,S_BCM1480_MC_tW2W) | 852 | #define M_BCM1480_MC_tW2W _SB_MAKEMASK(2, S_BCM1480_MC_tW2W) |
853 | #define V_BCM1480_MC_tW2W(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tW2W) | 853 | #define V_BCM1480_MC_tW2W(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tW2W) |
854 | #define G_BCM1480_MC_tW2W(x) _SB_GETVALUE(x,S_BCM1480_MC_tW2W,M_BCM1480_MC_tW2W) | 854 | #define G_BCM1480_MC_tW2W(x) _SB_GETVALUE(x, S_BCM1480_MC_tW2W, M_BCM1480_MC_tW2W) |
855 | #define K_BCM1480_MC_tW2W_DEFAULT 0 | 855 | #define K_BCM1480_MC_tW2W_DEFAULT 0 |
856 | #define V_BCM1480_MC_tW2W_DEFAULT V_BCM1480_MC_tW2W(K_BCM1480_MC_tW2W_DEFAULT) | 856 | #define V_BCM1480_MC_tW2W_DEFAULT V_BCM1480_MC_tW2W(K_BCM1480_MC_tW2W_DEFAULT) |
857 | 857 | ||
858 | #define S_BCM1480_MC_tRAP 12 | 858 | #define S_BCM1480_MC_tRAP 12 |
859 | #define M_BCM1480_MC_tRAP _SB_MAKEMASK(4,S_BCM1480_MC_tRAP) | 859 | #define M_BCM1480_MC_tRAP _SB_MAKEMASK(4, S_BCM1480_MC_tRAP) |
860 | #define V_BCM1480_MC_tRAP(x) _SB_MAKEVALUE(x,S_BCM1480_MC_tRAP) | 860 | #define V_BCM1480_MC_tRAP(x) _SB_MAKEVALUE(x, S_BCM1480_MC_tRAP) |
861 | #define G_BCM1480_MC_tRAP(x) _SB_GETVALUE(x,S_BCM1480_MC_tRAP,M_BCM1480_MC_tRAP) | 861 | #define G_BCM1480_MC_tRAP(x) _SB_GETVALUE(x, S_BCM1480_MC_tRAP, M_BCM1480_MC_tRAP) |
862 | #define K_BCM1480_MC_tRAP_DEFAULT 0 | 862 | #define K_BCM1480_MC_tRAP_DEFAULT 0 |
863 | #define V_BCM1480_MC_tRAP_DEFAULT V_BCM1480_MC_tRAP(K_BCM1480_MC_tRAP_DEFAULT) | 863 | #define V_BCM1480_MC_tRAP_DEFAULT V_BCM1480_MC_tRAP(K_BCM1480_MC_tRAP_DEFAULT) |
864 | 864 | ||
@@ -875,30 +875,30 @@ | |||
875 | */ | 875 | */ |
876 | 876 | ||
877 | #define S_BCM1480_MC_BLK_SET_MARK 8 | 877 | #define S_BCM1480_MC_BLK_SET_MARK 8 |
878 | #define M_BCM1480_MC_BLK_SET_MARK _SB_MAKEMASK(4,S_BCM1480_MC_BLK_SET_MARK) | 878 | #define M_BCM1480_MC_BLK_SET_MARK _SB_MAKEMASK(4, S_BCM1480_MC_BLK_SET_MARK) |
879 | #define V_BCM1480_MC_BLK_SET_MARK(x) _SB_MAKEVALUE(x,S_BCM1480_MC_BLK_SET_MARK) | 879 | #define V_BCM1480_MC_BLK_SET_MARK(x) _SB_MAKEVALUE(x, S_BCM1480_MC_BLK_SET_MARK) |
880 | #define G_BCM1480_MC_BLK_SET_MARK(x) _SB_GETVALUE(x,S_BCM1480_MC_BLK_SET_MARK,M_BCM1480_MC_BLK_SET_MARK) | 880 | #define G_BCM1480_MC_BLK_SET_MARK(x) _SB_GETVALUE(x, S_BCM1480_MC_BLK_SET_MARK, M_BCM1480_MC_BLK_SET_MARK) |
881 | 881 | ||
882 | #define S_BCM1480_MC_BLK_CLR_MARK 12 | 882 | #define S_BCM1480_MC_BLK_CLR_MARK 12 |
883 | #define M_BCM1480_MC_BLK_CLR_MARK _SB_MAKEMASK(4,S_BCM1480_MC_BLK_CLR_MARK) | 883 | #define M_BCM1480_MC_BLK_CLR_MARK _SB_MAKEMASK(4, S_BCM1480_MC_BLK_CLR_MARK) |
884 | #define V_BCM1480_MC_BLK_CLR_MARK(x) _SB_MAKEVALUE(x,S_BCM1480_MC_BLK_CLR_MARK) | 884 | #define V_BCM1480_MC_BLK_CLR_MARK(x) _SB_MAKEVALUE(x, S_BCM1480_MC_BLK_CLR_MARK) |
885 | #define G_BCM1480_MC_BLK_CLR_MARK(x) _SB_GETVALUE(x,S_BCM1480_MC_BLK_CLR_MARK,M_BCM1480_MC_BLK_CLR_MARK) | 885 | #define G_BCM1480_MC_BLK_CLR_MARK(x) _SB_GETVALUE(x, S_BCM1480_MC_BLK_CLR_MARK, M_BCM1480_MC_BLK_CLR_MARK) |
886 | 886 | ||
887 | #define M_BCM1480_MC_PKT_PRIORITY _SB_MAKEMASK1(16) | 887 | #define M_BCM1480_MC_PKT_PRIORITY _SB_MAKEMASK1(16) |
888 | 888 | ||
889 | #define S_BCM1480_MC_MAX_AGE 20 | 889 | #define S_BCM1480_MC_MAX_AGE 20 |
890 | #define M_BCM1480_MC_MAX_AGE _SB_MAKEMASK(4,S_BCM1480_MC_MAX_AGE) | 890 | #define M_BCM1480_MC_MAX_AGE _SB_MAKEMASK(4, S_BCM1480_MC_MAX_AGE) |
891 | #define V_BCM1480_MC_MAX_AGE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_MAX_AGE) | 891 | #define V_BCM1480_MC_MAX_AGE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_MAX_AGE) |
892 | #define G_BCM1480_MC_MAX_AGE(x) _SB_GETVALUE(x,S_BCM1480_MC_MAX_AGE,M_BCM1480_MC_MAX_AGE) | 892 | #define G_BCM1480_MC_MAX_AGE(x) _SB_GETVALUE(x, S_BCM1480_MC_MAX_AGE, M_BCM1480_MC_MAX_AGE) |
893 | 893 | ||
894 | #define M_BCM1480_MC_BERR_DISABLE _SB_MAKEMASK1(29) | 894 | #define M_BCM1480_MC_BERR_DISABLE _SB_MAKEMASK1(29) |
895 | #define M_BCM1480_MC_FORCE_SEQ _SB_MAKEMASK1(30) | 895 | #define M_BCM1480_MC_FORCE_SEQ _SB_MAKEMASK1(30) |
896 | #define M_BCM1480_MC_VGEN _SB_MAKEMASK1(32) | 896 | #define M_BCM1480_MC_VGEN _SB_MAKEMASK1(32) |
897 | 897 | ||
898 | #define S_BCM1480_MC_SLEW 33 | 898 | #define S_BCM1480_MC_SLEW 33 |
899 | #define M_BCM1480_MC_SLEW _SB_MAKEMASK(2,S_BCM1480_MC_SLEW) | 899 | #define M_BCM1480_MC_SLEW _SB_MAKEMASK(2, S_BCM1480_MC_SLEW) |
900 | #define V_BCM1480_MC_SLEW(x) _SB_MAKEVALUE(x,S_BCM1480_MC_SLEW) | 900 | #define V_BCM1480_MC_SLEW(x) _SB_MAKEVALUE(x, S_BCM1480_MC_SLEW) |
901 | #define G_BCM1480_MC_SLEW(x) _SB_GETVALUE(x,S_BCM1480_MC_SLEW,M_BCM1480_MC_SLEW) | 901 | #define G_BCM1480_MC_SLEW(x) _SB_GETVALUE(x, S_BCM1480_MC_SLEW, M_BCM1480_MC_SLEW) |
902 | 902 | ||
903 | #define M_BCM1480_MC_SSTL_VOLTAGE _SB_MAKEMASK1(35) | 903 | #define M_BCM1480_MC_SSTL_VOLTAGE _SB_MAKEMASK1(35) |
904 | 904 | ||
@@ -907,19 +907,19 @@ | |||
907 | */ | 907 | */ |
908 | 908 | ||
909 | #define S_BCM1480_MC_INTLV0 0 | 909 | #define S_BCM1480_MC_INTLV0 0 |
910 | #define M_BCM1480_MC_INTLV0 _SB_MAKEMASK(6,S_BCM1480_MC_INTLV0) | 910 | #define M_BCM1480_MC_INTLV0 _SB_MAKEMASK(6, S_BCM1480_MC_INTLV0) |
911 | #define V_BCM1480_MC_INTLV0(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV0) | 911 | #define V_BCM1480_MC_INTLV0(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV0) |
912 | #define G_BCM1480_MC_INTLV0(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV0,M_BCM1480_MC_INTLV0) | 912 | #define G_BCM1480_MC_INTLV0(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV0, M_BCM1480_MC_INTLV0) |
913 | 913 | ||
914 | #define S_BCM1480_MC_INTLV1 8 | 914 | #define S_BCM1480_MC_INTLV1 8 |
915 | #define M_BCM1480_MC_INTLV1 _SB_MAKEMASK(6,S_BCM1480_MC_INTLV1) | 915 | #define M_BCM1480_MC_INTLV1 _SB_MAKEMASK(6, S_BCM1480_MC_INTLV1) |
916 | #define V_BCM1480_MC_INTLV1(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV1) | 916 | #define V_BCM1480_MC_INTLV1(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV1) |
917 | #define G_BCM1480_MC_INTLV1(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV1,M_BCM1480_MC_INTLV1) | 917 | #define G_BCM1480_MC_INTLV1(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV1, M_BCM1480_MC_INTLV1) |
918 | 918 | ||
919 | #define S_BCM1480_MC_INTLV_MODE 16 | 919 | #define S_BCM1480_MC_INTLV_MODE 16 |
920 | #define M_BCM1480_MC_INTLV_MODE _SB_MAKEMASK(3,S_BCM1480_MC_INTLV_MODE) | 920 | #define M_BCM1480_MC_INTLV_MODE _SB_MAKEMASK(3, S_BCM1480_MC_INTLV_MODE) |
921 | #define V_BCM1480_MC_INTLV_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_MC_INTLV_MODE) | 921 | #define V_BCM1480_MC_INTLV_MODE(x) _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV_MODE) |
922 | #define G_BCM1480_MC_INTLV_MODE(x) _SB_GETVALUE(x,S_BCM1480_MC_INTLV_MODE,M_BCM1480_MC_INTLV_MODE) | 922 | #define G_BCM1480_MC_INTLV_MODE(x) _SB_GETVALUE(x, S_BCM1480_MC_INTLV_MODE, M_BCM1480_MC_INTLV_MODE) |
923 | 923 | ||
924 | #define K_BCM1480_MC_INTLV_MODE_NONE 0x0 | 924 | #define K_BCM1480_MC_INTLV_MODE_NONE 0x0 |
925 | #define K_BCM1480_MC_INTLV_MODE_01 0x1 | 925 | #define K_BCM1480_MC_INTLV_MODE_01 0x1 |
@@ -938,9 +938,9 @@ | |||
938 | */ | 938 | */ |
939 | 939 | ||
940 | #define S_BCM1480_MC_ECC_ERR_ADDR 0 | 940 | #define S_BCM1480_MC_ECC_ERR_ADDR 0 |
941 | #define M_BCM1480_MC_ECC_ERR_ADDR _SB_MAKEMASK(37,S_BCM1480_MC_ECC_ERR_ADDR) | 941 | #define M_BCM1480_MC_ECC_ERR_ADDR _SB_MAKEMASK(37, S_BCM1480_MC_ECC_ERR_ADDR) |
942 | #define V_BCM1480_MC_ECC_ERR_ADDR(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ECC_ERR_ADDR) | 942 | #define V_BCM1480_MC_ECC_ERR_ADDR(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_ERR_ADDR) |
943 | #define G_BCM1480_MC_ECC_ERR_ADDR(x) _SB_GETVALUE(x,S_BCM1480_MC_ECC_ERR_ADDR,M_BCM1480_MC_ECC_ERR_ADDR) | 943 | #define G_BCM1480_MC_ECC_ERR_ADDR(x) _SB_GETVALUE(x, S_BCM1480_MC_ECC_ERR_ADDR, M_BCM1480_MC_ECC_ERR_ADDR) |
944 | 944 | ||
945 | #if SIBYTE_HDR_FEATURE(1480, PASS2) | 945 | #if SIBYTE_HDR_FEATURE(1480, PASS2) |
946 | #define M_BCM1480_MC_ECC_ERR_RMW _SB_MAKEMASK1(60) | 946 | #define M_BCM1480_MC_ECC_ERR_RMW _SB_MAKEMASK1(60) |
@@ -955,27 +955,27 @@ | |||
955 | */ | 955 | */ |
956 | 956 | ||
957 | #define S_BCM1480_MC_ECC_CORR_ADDR 0 | 957 | #define S_BCM1480_MC_ECC_CORR_ADDR 0 |
958 | #define M_BCM1480_MC_ECC_CORR_ADDR _SB_MAKEMASK(37,S_BCM1480_MC_ECC_CORR_ADDR) | 958 | #define M_BCM1480_MC_ECC_CORR_ADDR _SB_MAKEMASK(37, S_BCM1480_MC_ECC_CORR_ADDR) |
959 | #define V_BCM1480_MC_ECC_CORR_ADDR(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ECC_CORR_ADDR) | 959 | #define V_BCM1480_MC_ECC_CORR_ADDR(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_CORR_ADDR) |
960 | #define G_BCM1480_MC_ECC_CORR_ADDR(x) _SB_GETVALUE(x,S_BCM1480_MC_ECC_CORR_ADDR,M_BCM1480_MC_ECC_CORR_ADDR) | 960 | #define G_BCM1480_MC_ECC_CORR_ADDR(x) _SB_GETVALUE(x, S_BCM1480_MC_ECC_CORR_ADDR, M_BCM1480_MC_ECC_CORR_ADDR) |
961 | 961 | ||
962 | /* | 962 | /* |
963 | * Global ECC Correction Register (Table 103) | 963 | * Global ECC Correction Register (Table 103) |
964 | */ | 964 | */ |
965 | 965 | ||
966 | #define S_BCM1480_MC_ECC_CORRECT 0 | 966 | #define S_BCM1480_MC_ECC_CORRECT 0 |
967 | #define M_BCM1480_MC_ECC_CORRECT _SB_MAKEMASK(64,S_BCM1480_MC_ECC_CORRECT) | 967 | #define M_BCM1480_MC_ECC_CORRECT _SB_MAKEMASK(64, S_BCM1480_MC_ECC_CORRECT) |
968 | #define V_BCM1480_MC_ECC_CORRECT(x) _SB_MAKEVALUE(x,S_BCM1480_MC_ECC_CORRECT) | 968 | #define V_BCM1480_MC_ECC_CORRECT(x) _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_CORRECT) |
969 | #define G_BCM1480_MC_ECC_CORRECT(x) _SB_GETVALUE(x,S_BCM1480_MC_ECC_CORRECT,M_BCM1480_MC_ECC_CORRECT) | 969 | #define G_BCM1480_MC_ECC_CORRECT(x) _SB_GETVALUE(x, S_BCM1480_MC_ECC_CORRECT, M_BCM1480_MC_ECC_CORRECT) |
970 | 970 | ||
971 | /* | 971 | /* |
972 | * Global ECC Performance Counters Control Register (Table 104) | 972 | * Global ECC Performance Counters Control Register (Table 104) |
973 | */ | 973 | */ |
974 | 974 | ||
975 | #define S_BCM1480_MC_CHANNEL_SELECT 0 | 975 | #define S_BCM1480_MC_CHANNEL_SELECT 0 |
976 | #define M_BCM1480_MC_CHANNEL_SELECT _SB_MAKEMASK(4,S_BCM1480_MC_CHANNEL_SELECT) | 976 | #define M_BCM1480_MC_CHANNEL_SELECT _SB_MAKEMASK(4, S_BCM1480_MC_CHANNEL_SELECT) |
977 | #define V_BCM1480_MC_CHANNEL_SELECT(x) _SB_MAKEVALUE(x,S_BCM1480_MC_CHANNEL_SELECT) | 977 | #define V_BCM1480_MC_CHANNEL_SELECT(x) _SB_MAKEVALUE(x, S_BCM1480_MC_CHANNEL_SELECT) |
978 | #define G_BCM1480_MC_CHANNEL_SELECT(x) _SB_GETVALUE(x,S_BCM1480_MC_CHANNEL_SELECT,M_BCM1480_MC_CHANNEL_SELECT) | 978 | #define G_BCM1480_MC_CHANNEL_SELECT(x) _SB_GETVALUE(x, S_BCM1480_MC_CHANNEL_SELECT, M_BCM1480_MC_CHANNEL_SELECT) |
979 | #define K_BCM1480_MC_CHANNEL_SELECT_0 0x1 | 979 | #define K_BCM1480_MC_CHANNEL_SELECT_0 0x1 |
980 | #define K_BCM1480_MC_CHANNEL_SELECT_1 0x2 | 980 | #define K_BCM1480_MC_CHANNEL_SELECT_1 0x2 |
981 | #define K_BCM1480_MC_CHANNEL_SELECT_2 0x4 | 981 | #define K_BCM1480_MC_CHANNEL_SELECT_2 0x4 |
diff --git a/include/asm-mips/sibyte/bcm1480_regs.h b/include/asm-mips/sibyte/bcm1480_regs.h index c34d36b6b8c2..b4077bb72611 100644 --- a/include/asm-mips/sibyte/bcm1480_regs.h +++ b/include/asm-mips/sibyte/bcm1480_regs.h | |||
@@ -87,7 +87,7 @@ | |||
87 | #define BCM1480_MC_REGISTER_SPACING 0x1000 | 87 | #define BCM1480_MC_REGISTER_SPACING 0x1000 |
88 | 88 | ||
89 | #define A_BCM1480_MC_BASE(ctlid) (A_BCM1480_MC_BASE_0+(ctlid)*BCM1480_MC_REGISTER_SPACING) | 89 | #define A_BCM1480_MC_BASE(ctlid) (A_BCM1480_MC_BASE_0+(ctlid)*BCM1480_MC_REGISTER_SPACING) |
90 | #define A_BCM1480_MC_REGISTER(ctlid,reg) (A_BCM1480_MC_BASE(ctlid)+(reg)) | 90 | #define A_BCM1480_MC_REGISTER(ctlid, reg) (A_BCM1480_MC_BASE(ctlid)+(reg)) |
91 | 91 | ||
92 | #define R_BCM1480_MC_CONFIG 0x0000000100 | 92 | #define R_BCM1480_MC_CONFIG 0x0000000100 |
93 | #define R_BCM1480_MC_CS_START 0x0000000120 | 93 | #define R_BCM1480_MC_CS_START 0x0000000120 |
@@ -327,7 +327,7 @@ | |||
327 | #define BCM1480_SCD_NUM_WDOGS 4 | 327 | #define BCM1480_SCD_NUM_WDOGS 4 |
328 | 328 | ||
329 | #define A_BCM1480_SCD_WDOG_BASE(w) (A_BCM1480_SCD_WDOG_0+((w)&2)*0x1000 + ((w)&1)*0x100) | 329 | #define A_BCM1480_SCD_WDOG_BASE(w) (A_BCM1480_SCD_WDOG_0+((w)&2)*0x1000 + ((w)&1)*0x100) |
330 | #define A_BCM1480_SCD_WDOG_REGISTER(w,r) (A_BCM1480_SCD_WDOG_BASE(w) + (r)) | 330 | #define A_BCM1480_SCD_WDOG_REGISTER(w, r) (A_BCM1480_SCD_WDOG_BASE(w) + (r)) |
331 | 331 | ||
332 | #define A_BCM1480_SCD_WDOG_INIT_2 0x0010022050 | 332 | #define A_BCM1480_SCD_WDOG_INIT_2 0x0010022050 |
333 | #define A_BCM1480_SCD_WDOG_CNT_2 0x0010022058 | 333 | #define A_BCM1480_SCD_WDOG_CNT_2 0x0010022058 |
@@ -372,7 +372,7 @@ | |||
372 | #define BCM1480_IMR_REGISTER_SPACING_SHIFT 13 | 372 | #define BCM1480_IMR_REGISTER_SPACING_SHIFT 13 |
373 | 373 | ||
374 | #define A_BCM1480_IMR_MAPPER(cpu) (A_BCM1480_IMR_CPU0_BASE+(cpu)*BCM1480_IMR_REGISTER_SPACING) | 374 | #define A_BCM1480_IMR_MAPPER(cpu) (A_BCM1480_IMR_CPU0_BASE+(cpu)*BCM1480_IMR_REGISTER_SPACING) |
375 | #define A_BCM1480_IMR_REGISTER(cpu,reg) (A_BCM1480_IMR_MAPPER(cpu)+(reg)) | 375 | #define A_BCM1480_IMR_REGISTER(cpu, reg) (A_BCM1480_IMR_MAPPER(cpu)+(reg)) |
376 | 376 | ||
377 | /* Most IMR registers are 128 bits, implemented as non-contiguous | 377 | /* Most IMR registers are 128 bits, implemented as non-contiguous |
378 | 64-bit registers high (_H) and low (_L) */ | 378 | 64-bit registers high (_H) and low (_L) */ |
@@ -413,7 +413,7 @@ | |||
413 | 413 | ||
414 | #define A_BCM1480_IMR_ALIAS_MAILBOX(cpu) (A_BCM1480_IMR_ALIAS_MAILBOX_CPU0_BASE + \ | 414 | #define A_BCM1480_IMR_ALIAS_MAILBOX(cpu) (A_BCM1480_IMR_ALIAS_MAILBOX_CPU0_BASE + \ |
415 | (cpu)*BCM1480_IMR_ALIAS_MAILBOX_SPACING) | 415 | (cpu)*BCM1480_IMR_ALIAS_MAILBOX_SPACING) |
416 | #define A_BCM1480_IMR_ALIAS_MAILBOX_REGISTER(cpu,reg) (A_BCM1480_IMR_ALIAS_MAILBOX(cpu)+(reg)) | 416 | #define A_BCM1480_IMR_ALIAS_MAILBOX_REGISTER(cpu, reg) (A_BCM1480_IMR_ALIAS_MAILBOX(cpu)+(reg)) |
417 | 417 | ||
418 | #define R_BCM1480_IMR_ALIAS_MAILBOX_0 0x0000 /* 0x0x0 */ | 418 | #define R_BCM1480_IMR_ALIAS_MAILBOX_0 0x0000 /* 0x0x0 */ |
419 | #define R_BCM1480_IMR_ALIAS_MAILBOX_0_SET 0x0008 /* 0x0x8 */ | 419 | #define R_BCM1480_IMR_ALIAS_MAILBOX_0_SET 0x0008 /* 0x0x8 */ |
@@ -427,7 +427,7 @@ | |||
427 | #define R_BCM1480_IMR_MAILBOX_SET 0x08 | 427 | #define R_BCM1480_IMR_MAILBOX_SET 0x08 |
428 | #define R_BCM1480_IMR_MAILBOX_CLR 0x10 | 428 | #define R_BCM1480_IMR_MAILBOX_CLR 0x10 |
429 | #define R_BCM1480_IMR_MAILBOX_NUM_SPACING 0x20 | 429 | #define R_BCM1480_IMR_MAILBOX_NUM_SPACING 0x20 |
430 | #define A_BCM1480_MAILBOX_REGISTER(num,reg,cpu) \ | 430 | #define A_BCM1480_MAILBOX_REGISTER(num, reg, cpu) \ |
431 | (A_BCM1480_IMR_CPU0_BASE + \ | 431 | (A_BCM1480_IMR_CPU0_BASE + \ |
432 | (num * R_BCM1480_IMR_MAILBOX_NUM_SPACING) + \ | 432 | (num * R_BCM1480_IMR_MAILBOX_NUM_SPACING) + \ |
433 | (cpu * BCM1480_IMR_REGISTER_SPACING) + \ | 433 | (cpu * BCM1480_IMR_REGISTER_SPACING) + \ |
@@ -550,7 +550,7 @@ | |||
550 | #define BCM1480_HR_REGISTER_SPACING 0x80000 | 550 | #define BCM1480_HR_REGISTER_SPACING 0x80000 |
551 | 551 | ||
552 | #define A_BCM1480_HR_BASE(idx) (A_BCM1480_HR_BASE_0 + ((idx)*BCM1480_HR_REGISTER_SPACING)) | 552 | #define A_BCM1480_HR_BASE(idx) (A_BCM1480_HR_BASE_0 + ((idx)*BCM1480_HR_REGISTER_SPACING)) |
553 | #define A_BCM1480_HR_REGISTER(idx,reg) (A_BCM1480_HR_BASE(idx) + (reg)) | 553 | #define A_BCM1480_HR_REGISTER(idx, reg) (A_BCM1480_HR_BASE(idx) + (reg)) |
554 | 554 | ||
555 | #define R_BCM1480_HR_CFG 0x0000000000 | 555 | #define R_BCM1480_HR_CFG 0x0000000000 |
556 | 556 | ||
@@ -599,9 +599,9 @@ | |||
599 | #define BCM1480_PM_NUM_CHANNELS 32 | 599 | #define BCM1480_PM_NUM_CHANNELS 32 |
600 | 600 | ||
601 | #define A_BCM1480_PMI_LCL_BASE(idx) (A_BCM1480_PMI_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING)) | 601 | #define A_BCM1480_PMI_LCL_BASE(idx) (A_BCM1480_PMI_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING)) |
602 | #define A_BCM1480_PMI_LCL_REGISTER(idx,reg) (A_BCM1480_PMI_LCL_BASE(idx) + (reg)) | 602 | #define A_BCM1480_PMI_LCL_REGISTER(idx, reg) (A_BCM1480_PMI_LCL_BASE(idx) + (reg)) |
603 | #define A_BCM1480_PMO_LCL_BASE(idx) (A_BCM1480_PMO_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING)) | 603 | #define A_BCM1480_PMO_LCL_BASE(idx) (A_BCM1480_PMO_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING)) |
604 | #define A_BCM1480_PMO_LCL_REGISTER(idx,reg) (A_BCM1480_PMO_LCL_BASE(idx) + (reg)) | 604 | #define A_BCM1480_PMO_LCL_REGISTER(idx, reg) (A_BCM1480_PMO_LCL_BASE(idx) + (reg)) |
605 | 605 | ||
606 | #define BCM1480_PM_INT_PACKING 8 | 606 | #define BCM1480_PM_INT_PACKING 8 |
607 | #define BCM1480_PM_INT_FUNCTION_SPACING 0x40 | 607 | #define BCM1480_PM_INT_FUNCTION_SPACING 0x40 |
@@ -721,7 +721,7 @@ | |||
721 | #define BCM1480_HSP_REGISTER_SPACING 0x80000 | 721 | #define BCM1480_HSP_REGISTER_SPACING 0x80000 |
722 | 722 | ||
723 | #define A_BCM1480_HSP_BASE(idx) (A_BCM1480_HSP_BASE_0 + ((idx)*BCM1480_HSP_REGISTER_SPACING)) | 723 | #define A_BCM1480_HSP_BASE(idx) (A_BCM1480_HSP_BASE_0 + ((idx)*BCM1480_HSP_REGISTER_SPACING)) |
724 | #define A_BCM1480_HSP_REGISTER(idx,reg) (A_BCM1480_HSP_BASE(idx) + (reg)) | 724 | #define A_BCM1480_HSP_REGISTER(idx, reg) (A_BCM1480_HSP_BASE(idx) + (reg)) |
725 | 725 | ||
726 | #define R_BCM1480_HSP_RX_SPI4_CFG_0 0x0000000000 | 726 | #define R_BCM1480_HSP_RX_SPI4_CFG_0 0x0000000000 |
727 | #define R_BCM1480_HSP_RX_SPI4_CFG_1 0x0000000008 | 727 | #define R_BCM1480_HSP_RX_SPI4_CFG_1 0x0000000008 |
diff --git a/include/asm-mips/sibyte/bcm1480_scd.h b/include/asm-mips/sibyte/bcm1480_scd.h index 6111d6dcf117..25ef24cbb92a 100644 --- a/include/asm-mips/sibyte/bcm1480_scd.h +++ b/include/asm-mips/sibyte/bcm1480_scd.h | |||
@@ -99,22 +99,22 @@ | |||
99 | #define M_BCM1480_SYS_IOB_DIV _SB_MAKEMASK1(5) | 99 | #define M_BCM1480_SYS_IOB_DIV _SB_MAKEMASK1(5) |
100 | 100 | ||
101 | #define S_BCM1480_SYS_PLL_DIV _SB_MAKE64(6) | 101 | #define S_BCM1480_SYS_PLL_DIV _SB_MAKE64(6) |
102 | #define M_BCM1480_SYS_PLL_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_PLL_DIV) | 102 | #define M_BCM1480_SYS_PLL_DIV _SB_MAKEMASK(5, S_BCM1480_SYS_PLL_DIV) |
103 | #define V_BCM1480_SYS_PLL_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_PLL_DIV) | 103 | #define V_BCM1480_SYS_PLL_DIV(x) _SB_MAKEVALUE(x, S_BCM1480_SYS_PLL_DIV) |
104 | #define G_BCM1480_SYS_PLL_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_PLL_DIV,M_BCM1480_SYS_PLL_DIV) | 104 | #define G_BCM1480_SYS_PLL_DIV(x) _SB_GETVALUE(x, S_BCM1480_SYS_PLL_DIV, M_BCM1480_SYS_PLL_DIV) |
105 | 105 | ||
106 | #define S_BCM1480_SYS_SW_DIV _SB_MAKE64(11) | 106 | #define S_BCM1480_SYS_SW_DIV _SB_MAKE64(11) |
107 | #define M_BCM1480_SYS_SW_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_SW_DIV) | 107 | #define M_BCM1480_SYS_SW_DIV _SB_MAKEMASK(5, S_BCM1480_SYS_SW_DIV) |
108 | #define V_BCM1480_SYS_SW_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_SW_DIV) | 108 | #define V_BCM1480_SYS_SW_DIV(x) _SB_MAKEVALUE(x, S_BCM1480_SYS_SW_DIV) |
109 | #define G_BCM1480_SYS_SW_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_SW_DIV,M_BCM1480_SYS_SW_DIV) | 109 | #define G_BCM1480_SYS_SW_DIV(x) _SB_GETVALUE(x, S_BCM1480_SYS_SW_DIV, M_BCM1480_SYS_SW_DIV) |
110 | 110 | ||
111 | #define M_BCM1480_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) | 111 | #define M_BCM1480_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) |
112 | #define M_BCM1480_SYS_DUART1_ENABLE _SB_MAKEMASK1(17) | 112 | #define M_BCM1480_SYS_DUART1_ENABLE _SB_MAKEMASK1(17) |
113 | 113 | ||
114 | #define S_BCM1480_SYS_BOOT_MODE _SB_MAKE64(18) | 114 | #define S_BCM1480_SYS_BOOT_MODE _SB_MAKE64(18) |
115 | #define M_BCM1480_SYS_BOOT_MODE _SB_MAKEMASK(2,S_BCM1480_SYS_BOOT_MODE) | 115 | #define M_BCM1480_SYS_BOOT_MODE _SB_MAKEMASK(2, S_BCM1480_SYS_BOOT_MODE) |
116 | #define V_BCM1480_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_BOOT_MODE) | 116 | #define V_BCM1480_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x, S_BCM1480_SYS_BOOT_MODE) |
117 | #define G_BCM1480_SYS_BOOT_MODE(x) _SB_GETVALUE(x,S_BCM1480_SYS_BOOT_MODE,M_BCM1480_SYS_BOOT_MODE) | 117 | #define G_BCM1480_SYS_BOOT_MODE(x) _SB_GETVALUE(x, S_BCM1480_SYS_BOOT_MODE, M_BCM1480_SYS_BOOT_MODE) |
118 | #define K_BCM1480_SYS_BOOT_MODE_ROM32 0 | 118 | #define K_BCM1480_SYS_BOOT_MODE_ROM32 0 |
119 | #define K_BCM1480_SYS_BOOT_MODE_ROM8 1 | 119 | #define K_BCM1480_SYS_BOOT_MODE_ROM8 1 |
120 | #define K_BCM1480_SYS_BOOT_MODE_SMBUS_SMALL 2 | 120 | #define K_BCM1480_SYS_BOOT_MODE_SMBUS_SMALL 2 |
@@ -129,16 +129,16 @@ | |||
129 | #define M_BCM1480_SYS_RESERVED25 _SB_MAKEMASK1(25) | 129 | #define M_BCM1480_SYS_RESERVED25 _SB_MAKEMASK1(25) |
130 | 130 | ||
131 | #define S_BCM1480_SYS_CONFIG 26 | 131 | #define S_BCM1480_SYS_CONFIG 26 |
132 | #define M_BCM1480_SYS_CONFIG _SB_MAKEMASK(6,S_BCM1480_SYS_CONFIG) | 132 | #define M_BCM1480_SYS_CONFIG _SB_MAKEMASK(6, S_BCM1480_SYS_CONFIG) |
133 | #define V_BCM1480_SYS_CONFIG(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_CONFIG) | 133 | #define V_BCM1480_SYS_CONFIG(x) _SB_MAKEVALUE(x, S_BCM1480_SYS_CONFIG) |
134 | #define G_BCM1480_SYS_CONFIG(x) _SB_GETVALUE(x,S_BCM1480_SYS_CONFIG,M_BCM1480_SYS_CONFIG) | 134 | #define G_BCM1480_SYS_CONFIG(x) _SB_GETVALUE(x, S_BCM1480_SYS_CONFIG, M_BCM1480_SYS_CONFIG) |
135 | 135 | ||
136 | #define M_BCM1480_SYS_RESERVED32 _SB_MAKEMASK(32,15) | 136 | #define M_BCM1480_SYS_RESERVED32 _SB_MAKEMASK(32, 15) |
137 | 137 | ||
138 | #define S_BCM1480_SYS_NODEID 47 | 138 | #define S_BCM1480_SYS_NODEID 47 |
139 | #define M_BCM1480_SYS_NODEID _SB_MAKEMASK(4,S_BCM1480_SYS_NODEID) | 139 | #define M_BCM1480_SYS_NODEID _SB_MAKEMASK(4, S_BCM1480_SYS_NODEID) |
140 | #define V_BCM1480_SYS_NODEID(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_NODEID) | 140 | #define V_BCM1480_SYS_NODEID(x) _SB_MAKEVALUE(x, S_BCM1480_SYS_NODEID) |
141 | #define G_BCM1480_SYS_NODEID(x) _SB_GETVALUE(x,S_BCM1480_SYS_NODEID,M_BCM1480_SYS_NODEID) | 141 | #define G_BCM1480_SYS_NODEID(x) _SB_GETVALUE(x, S_BCM1480_SYS_NODEID, M_BCM1480_SYS_NODEID) |
142 | 142 | ||
143 | #define M_BCM1480_SYS_CCNUMA_EN _SB_MAKEMASK1(51) | 143 | #define M_BCM1480_SYS_CCNUMA_EN _SB_MAKEMASK1(51) |
144 | #define M_BCM1480_SYS_CPU_RESET_0 _SB_MAKEMASK1(52) | 144 | #define M_BCM1480_SYS_CPU_RESET_0 _SB_MAKEMASK1(52) |
@@ -196,9 +196,9 @@ | |||
196 | #define M_BCM1480_SCD_WDOG_ENABLE _SB_MAKEMASK1(0) | 196 | #define M_BCM1480_SCD_WDOG_ENABLE _SB_MAKEMASK1(0) |
197 | 197 | ||
198 | #define S_BCM1480_SCD_WDOG_RESET_TYPE 2 | 198 | #define S_BCM1480_SCD_WDOG_RESET_TYPE 2 |
199 | #define M_BCM1480_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(5,S_BCM1480_SCD_WDOG_RESET_TYPE) | 199 | #define M_BCM1480_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(5, S_BCM1480_SCD_WDOG_RESET_TYPE) |
200 | #define V_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE) | 200 | #define V_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x, S_BCM1480_SCD_WDOG_RESET_TYPE) |
201 | #define G_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE,M_BCM1480_SCD_WDOG_RESET_TYPE) | 201 | #define G_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x, S_BCM1480_SCD_WDOG_RESET_TYPE, M_BCM1480_SCD_WDOG_RESET_TYPE) |
202 | 202 | ||
203 | #define K_BCM1480_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ | 203 | #define K_BCM1480_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ |
204 | #define K_BCM1480_SCD_WDOG_RESET_SOFT 1 | 204 | #define K_BCM1480_SCD_WDOG_RESET_SOFT 1 |
@@ -244,24 +244,24 @@ | |||
244 | */ | 244 | */ |
245 | 245 | ||
246 | #define S_SPC_CFG_SRC4 32 | 246 | #define S_SPC_CFG_SRC4 32 |
247 | #define M_SPC_CFG_SRC4 _SB_MAKEMASK(8,S_SPC_CFG_SRC4) | 247 | #define M_SPC_CFG_SRC4 _SB_MAKEMASK(8, S_SPC_CFG_SRC4) |
248 | #define V_SPC_CFG_SRC4(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC4) | 248 | #define V_SPC_CFG_SRC4(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC4) |
249 | #define G_SPC_CFG_SRC4(x) _SB_GETVALUE(x,S_SPC_CFG_SRC4,M_SPC_CFG_SRC4) | 249 | #define G_SPC_CFG_SRC4(x) _SB_GETVALUE(x, S_SPC_CFG_SRC4, M_SPC_CFG_SRC4) |
250 | 250 | ||
251 | #define S_SPC_CFG_SRC5 40 | 251 | #define S_SPC_CFG_SRC5 40 |
252 | #define M_SPC_CFG_SRC5 _SB_MAKEMASK(8,S_SPC_CFG_SRC5) | 252 | #define M_SPC_CFG_SRC5 _SB_MAKEMASK(8, S_SPC_CFG_SRC5) |
253 | #define V_SPC_CFG_SRC5(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC5) | 253 | #define V_SPC_CFG_SRC5(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC5) |
254 | #define G_SPC_CFG_SRC5(x) _SB_GETVALUE(x,S_SPC_CFG_SRC5,M_SPC_CFG_SRC5) | 254 | #define G_SPC_CFG_SRC5(x) _SB_GETVALUE(x, S_SPC_CFG_SRC5, M_SPC_CFG_SRC5) |
255 | 255 | ||
256 | #define S_SPC_CFG_SRC6 48 | 256 | #define S_SPC_CFG_SRC6 48 |
257 | #define M_SPC_CFG_SRC6 _SB_MAKEMASK(8,S_SPC_CFG_SRC6) | 257 | #define M_SPC_CFG_SRC6 _SB_MAKEMASK(8, S_SPC_CFG_SRC6) |
258 | #define V_SPC_CFG_SRC6(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC6) | 258 | #define V_SPC_CFG_SRC6(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC6) |
259 | #define G_SPC_CFG_SRC6(x) _SB_GETVALUE(x,S_SPC_CFG_SRC6,M_SPC_CFG_SRC6) | 259 | #define G_SPC_CFG_SRC6(x) _SB_GETVALUE(x, S_SPC_CFG_SRC6, M_SPC_CFG_SRC6) |
260 | 260 | ||
261 | #define S_SPC_CFG_SRC7 56 | 261 | #define S_SPC_CFG_SRC7 56 |
262 | #define M_SPC_CFG_SRC7 _SB_MAKEMASK(8,S_SPC_CFG_SRC7) | 262 | #define M_SPC_CFG_SRC7 _SB_MAKEMASK(8, S_SPC_CFG_SRC7) |
263 | #define V_SPC_CFG_SRC7(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC7) | 263 | #define V_SPC_CFG_SRC7(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC7) |
264 | #define G_SPC_CFG_SRC7(x) _SB_GETVALUE(x,S_SPC_CFG_SRC7,M_SPC_CFG_SRC7) | 264 | #define G_SPC_CFG_SRC7(x) _SB_GETVALUE(x, S_SPC_CFG_SRC7, M_SPC_CFG_SRC7) |
265 | 265 | ||
266 | /* | 266 | /* |
267 | * System Performance Counter Control Register (Table 32) | 267 | * System Performance Counter Control Register (Table 32) |
@@ -281,9 +281,9 @@ | |||
281 | */ | 281 | */ |
282 | 282 | ||
283 | #define S_BCM1480_SPC_CNT_COUNT 0 | 283 | #define S_BCM1480_SPC_CNT_COUNT 0 |
284 | #define M_BCM1480_SPC_CNT_COUNT _SB_MAKEMASK(40,S_BCM1480_SPC_CNT_COUNT) | 284 | #define M_BCM1480_SPC_CNT_COUNT _SB_MAKEMASK(40, S_BCM1480_SPC_CNT_COUNT) |
285 | #define V_BCM1480_SPC_CNT_COUNT(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CNT_COUNT) | 285 | #define V_BCM1480_SPC_CNT_COUNT(x) _SB_MAKEVALUE(x, S_BCM1480_SPC_CNT_COUNT) |
286 | #define G_BCM1480_SPC_CNT_COUNT(x) _SB_GETVALUE(x,S_BCM1480_SPC_CNT_COUNT,M_BCM1480_SPC_CNT_COUNT) | 286 | #define G_BCM1480_SPC_CNT_COUNT(x) _SB_GETVALUE(x, S_BCM1480_SPC_CNT_COUNT, M_BCM1480_SPC_CNT_COUNT) |
287 | 287 | ||
288 | #define M_BCM1480_SPC_CNT_OFLOW _SB_MAKEMASK1(40) | 288 | #define M_BCM1480_SPC_CNT_OFLOW _SB_MAKEMASK1(40) |
289 | 289 | ||
@@ -322,13 +322,13 @@ | |||
322 | * slightly different. | 322 | * slightly different. |
323 | */ | 323 | */ |
324 | 324 | ||
325 | #define M_BCM1480_ATRAP_INDEX _SB_MAKEMASK(4,0) | 325 | #define M_BCM1480_ATRAP_INDEX _SB_MAKEMASK(4, 0) |
326 | #define M_BCM1480_ATRAP_ADDRESS _SB_MAKEMASK(40,0) | 326 | #define M_BCM1480_ATRAP_ADDRESS _SB_MAKEMASK(40, 0) |
327 | 327 | ||
328 | #define S_BCM1480_ATRAP_CFG_CNT 0 | 328 | #define S_BCM1480_ATRAP_CFG_CNT 0 |
329 | #define M_BCM1480_ATRAP_CFG_CNT _SB_MAKEMASK(3,S_BCM1480_ATRAP_CFG_CNT) | 329 | #define M_BCM1480_ATRAP_CFG_CNT _SB_MAKEMASK(3, S_BCM1480_ATRAP_CFG_CNT) |
330 | #define V_BCM1480_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CNT) | 330 | #define V_BCM1480_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x, S_BCM1480_ATRAP_CFG_CNT) |
331 | #define G_BCM1480_ATRAP_CFG_CNT(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CNT,M_BCM1480_ATRAP_CFG_CNT) | 331 | #define G_BCM1480_ATRAP_CFG_CNT(x) _SB_GETVALUE(x, S_BCM1480_ATRAP_CFG_CNT, M_BCM1480_ATRAP_CFG_CNT) |
332 | 332 | ||
333 | #define M_BCM1480_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) | 333 | #define M_BCM1480_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) |
334 | #define M_BCM1480_ATRAP_CFG_ALL _SB_MAKEMASK1(4) | 334 | #define M_BCM1480_ATRAP_CFG_ALL _SB_MAKEMASK1(4) |
@@ -337,9 +337,9 @@ | |||
337 | #define M_BCM1480_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) | 337 | #define M_BCM1480_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) |
338 | 338 | ||
339 | #define S_BCM1480_ATRAP_CFG_AGENTID 8 | 339 | #define S_BCM1480_ATRAP_CFG_AGENTID 8 |
340 | #define M_BCM1480_ATRAP_CFG_AGENTID _SB_MAKEMASK(4,S_BCM1480_ATRAP_CFG_AGENTID) | 340 | #define M_BCM1480_ATRAP_CFG_AGENTID _SB_MAKEMASK(4, S_BCM1480_ATRAP_CFG_AGENTID) |
341 | #define V_BCM1480_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID) | 341 | #define V_BCM1480_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x, S_BCM1480_ATRAP_CFG_AGENTID) |
342 | #define G_BCM1480_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID,M_BCM1480_ATRAP_CFG_AGENTID) | 342 | #define G_BCM1480_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x, S_BCM1480_ATRAP_CFG_AGENTID, M_BCM1480_ATRAP_CFG_AGENTID) |
343 | 343 | ||
344 | 344 | ||
345 | #define K_BCM1480_BUS_AGENT_CPU0 0 | 345 | #define K_BCM1480_BUS_AGENT_CPU0 0 |
@@ -354,9 +354,9 @@ | |||
354 | #define K_BCM1480_BUS_AGENT_PM 10 | 354 | #define K_BCM1480_BUS_AGENT_PM 10 |
355 | 355 | ||
356 | #define S_BCM1480_ATRAP_CFG_CATTR 12 | 356 | #define S_BCM1480_ATRAP_CFG_CATTR 12 |
357 | #define M_BCM1480_ATRAP_CFG_CATTR _SB_MAKEMASK(2,S_BCM1480_ATRAP_CFG_CATTR) | 357 | #define M_BCM1480_ATRAP_CFG_CATTR _SB_MAKEMASK(2, S_BCM1480_ATRAP_CFG_CATTR) |
358 | #define V_BCM1480_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CATTR) | 358 | #define V_BCM1480_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x, S_BCM1480_ATRAP_CFG_CATTR) |
359 | #define G_BCM1480_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CATTR,M_BCM1480_ATRAP_CFG_CATTR) | 359 | #define G_BCM1480_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x, S_BCM1480_ATRAP_CFG_CATTR, M_BCM1480_ATRAP_CFG_CATTR) |
360 | 360 | ||
361 | #define K_BCM1480_ATRAP_CFG_CATTR_IGNORE 0 | 361 | #define K_BCM1480_ATRAP_CFG_CATTR_IGNORE 0 |
362 | #define K_BCM1480_ATRAP_CFG_CATTR_UNC 1 | 362 | #define K_BCM1480_ATRAP_CFG_CATTR_UNC 1 |
@@ -382,9 +382,9 @@ | |||
382 | #define M_BCM1480_SCD_TRSEQ_TID_MATCH_EN _SB_MAKEMASK1(25) | 382 | #define M_BCM1480_SCD_TRSEQ_TID_MATCH_EN _SB_MAKEMASK1(25) |
383 | 383 | ||
384 | #define S_BCM1480_SCD_TRSEQ_SWFUNC 26 | 384 | #define S_BCM1480_SCD_TRSEQ_SWFUNC 26 |
385 | #define M_BCM1480_SCD_TRSEQ_SWFUNC _SB_MAKEMASK(2,S_BCM1480_SCD_TRSEQ_SWFUNC) | 385 | #define M_BCM1480_SCD_TRSEQ_SWFUNC _SB_MAKEMASK(2, S_BCM1480_SCD_TRSEQ_SWFUNC) |
386 | #define V_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC) | 386 | #define V_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_MAKEVALUE(x, S_BCM1480_SCD_TRSEQ_SWFUNC) |
387 | #define G_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC,M_BCM1480_SCD_TRSEQ_SWFUNC) | 387 | #define G_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_GETVALUE(x, S_BCM1480_SCD_TRSEQ_SWFUNC, M_BCM1480_SCD_TRSEQ_SWFUNC) |
388 | 388 | ||
389 | /* | 389 | /* |
390 | * Trace Control Register (Table 49) | 390 | * Trace Control Register (Table 49) |
@@ -395,9 +395,9 @@ | |||
395 | */ | 395 | */ |
396 | 396 | ||
397 | #define S_BCM1480_SCD_TRACE_CFG_MODE 16 | 397 | #define S_BCM1480_SCD_TRACE_CFG_MODE 16 |
398 | #define M_BCM1480_SCD_TRACE_CFG_MODE _SB_MAKEMASK(2,S_BCM1480_SCD_TRACE_CFG_MODE) | 398 | #define M_BCM1480_SCD_TRACE_CFG_MODE _SB_MAKEMASK(2, S_BCM1480_SCD_TRACE_CFG_MODE) |
399 | #define V_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE) | 399 | #define V_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_MAKEVALUE(x, S_BCM1480_SCD_TRACE_CFG_MODE) |
400 | #define G_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE,M_BCM1480_SCD_TRACE_CFG_MODE) | 400 | #define G_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_GETVALUE(x, S_BCM1480_SCD_TRACE_CFG_MODE, M_BCM1480_SCD_TRACE_CFG_MODE) |
401 | 401 | ||
402 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BLOCKERS 0 | 402 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BLOCKERS 0 |
403 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BYTEEN_INT 1 | 403 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BYTEEN_INT 1 |
diff --git a/include/asm-mips/sibyte/board.h b/include/asm-mips/sibyte/board.h index 73bce901a378..da198a1c8c81 100644 --- a/include/asm-mips/sibyte/board.h +++ b/include/asm-mips/sibyte/board.h | |||
@@ -41,7 +41,7 @@ | |||
41 | #ifdef __ASSEMBLY__ | 41 | #ifdef __ASSEMBLY__ |
42 | 42 | ||
43 | #ifdef LEDS_PHYS | 43 | #ifdef LEDS_PHYS |
44 | #define setleds(t0,t1,c0,c1,c2,c3) \ | 44 | #define setleds(t0, t1, c0, c1, c2, c3) \ |
45 | li t0, (LEDS_PHYS|0xa0000000); \ | 45 | li t0, (LEDS_PHYS|0xa0000000); \ |
46 | li t1, c0; \ | 46 | li t1, c0; \ |
47 | sb t1, 0x18(t0); \ | 47 | sb t1, 0x18(t0); \ |
@@ -52,7 +52,7 @@ | |||
52 | li t1, c3; \ | 52 | li t1, c3; \ |
53 | sb t1, 0x00(t0) | 53 | sb t1, 0x00(t0) |
54 | #else | 54 | #else |
55 | #define setleds(t0,t1,c0,c1,c2,c3) | 55 | #define setleds(t0, t1, c0, c1, c2, c3) |
56 | #endif /* LEDS_PHYS */ | 56 | #endif /* LEDS_PHYS */ |
57 | 57 | ||
58 | #else | 58 | #else |
diff --git a/include/asm-mips/sibyte/sb1250_defs.h b/include/asm-mips/sibyte/sb1250_defs.h index a885491217c1..09365f9111fa 100644 --- a/include/asm-mips/sibyte/sb1250_defs.h +++ b/include/asm-mips/sibyte/sb1250_defs.h | |||
@@ -232,18 +232,18 @@ | |||
232 | * Make a mask for 'v' bits at position 'n' | 232 | * Make a mask for 'v' bits at position 'n' |
233 | */ | 233 | */ |
234 | 234 | ||
235 | #define _SB_MAKEMASK(v,n) (_SB_MAKE64((_SB_MAKE64(1)<<(v))-1) << _SB_MAKE64(n)) | 235 | #define _SB_MAKEMASK(v, n) (_SB_MAKE64((_SB_MAKE64(1)<<(v))-1) << _SB_MAKE64(n)) |
236 | #define _SB_MAKEMASK_32(v,n) (_SB_MAKE32((_SB_MAKE32(1)<<(v))-1) << _SB_MAKE32(n)) | 236 | #define _SB_MAKEMASK_32(v, n) (_SB_MAKE32((_SB_MAKE32(1)<<(v))-1) << _SB_MAKE32(n)) |
237 | 237 | ||
238 | /* | 238 | /* |
239 | * Make a value at 'v' at bit position 'n' | 239 | * Make a value at 'v' at bit position 'n' |
240 | */ | 240 | */ |
241 | 241 | ||
242 | #define _SB_MAKEVALUE(v,n) (_SB_MAKE64(v) << _SB_MAKE64(n)) | 242 | #define _SB_MAKEVALUE(v, n) (_SB_MAKE64(v) << _SB_MAKE64(n)) |
243 | #define _SB_MAKEVALUE_32(v,n) (_SB_MAKE32(v) << _SB_MAKE32(n)) | 243 | #define _SB_MAKEVALUE_32(v, n) (_SB_MAKE32(v) << _SB_MAKE32(n)) |
244 | 244 | ||
245 | #define _SB_GETVALUE(v,n,m) ((_SB_MAKE64(v) & _SB_MAKE64(m)) >> _SB_MAKE64(n)) | 245 | #define _SB_GETVALUE(v, n, m) ((_SB_MAKE64(v) & _SB_MAKE64(m)) >> _SB_MAKE64(n)) |
246 | #define _SB_GETVALUE_32(v,n,m) ((_SB_MAKE32(v) & _SB_MAKE32(m)) >> _SB_MAKE32(n)) | 246 | #define _SB_GETVALUE_32(v, n, m) ((_SB_MAKE32(v) & _SB_MAKE32(m)) >> _SB_MAKE32(n)) |
247 | 247 | ||
248 | /* | 248 | /* |
249 | * Macros to read/write on-chip registers | 249 | * Macros to read/write on-chip registers |
@@ -252,7 +252,7 @@ | |||
252 | 252 | ||
253 | 253 | ||
254 | #if defined(__mips64) && !defined(__ASSEMBLY__) | 254 | #if defined(__mips64) && !defined(__ASSEMBLY__) |
255 | #define SBWRITECSR(csr,val) *((volatile uint64_t *) PHYS_TO_K1(csr)) = (val) | 255 | #define SBWRITECSR(csr, val) *((volatile uint64_t *) PHYS_TO_K1(csr)) = (val) |
256 | #define SBREADCSR(csr) (*((volatile uint64_t *) PHYS_TO_K1(csr))) | 256 | #define SBREADCSR(csr) (*((volatile uint64_t *) PHYS_TO_K1(csr))) |
257 | #endif /* __ASSEMBLY__ */ | 257 | #endif /* __ASSEMBLY__ */ |
258 | 258 | ||
diff --git a/include/asm-mips/sibyte/sb1250_dma.h b/include/asm-mips/sibyte/sb1250_dma.h index e6145f524fbd..bad56171d747 100644 --- a/include/asm-mips/sibyte/sb1250_dma.h +++ b/include/asm-mips/sibyte/sb1250_dma.h | |||
@@ -57,9 +57,9 @@ | |||
57 | #define M_DMA_RESERVED1 _SB_MAKEMASK1(2) | 57 | #define M_DMA_RESERVED1 _SB_MAKEMASK1(2) |
58 | 58 | ||
59 | #define S_DMA_DESC_TYPE _SB_MAKE64(1) | 59 | #define S_DMA_DESC_TYPE _SB_MAKE64(1) |
60 | #define M_DMA_DESC_TYPE _SB_MAKEMASK(2,S_DMA_DESC_TYPE) | 60 | #define M_DMA_DESC_TYPE _SB_MAKEMASK(2, S_DMA_DESC_TYPE) |
61 | #define V_DMA_DESC_TYPE(x) _SB_MAKEVALUE(x,S_DMA_DESC_TYPE) | 61 | #define V_DMA_DESC_TYPE(x) _SB_MAKEVALUE(x, S_DMA_DESC_TYPE) |
62 | #define G_DMA_DESC_TYPE(x) _SB_GETVALUE(x,S_DMA_DESC_TYPE,M_DMA_DESC_TYPE) | 62 | #define G_DMA_DESC_TYPE(x) _SB_GETVALUE(x, S_DMA_DESC_TYPE, M_DMA_DESC_TYPE) |
63 | 63 | ||
64 | #define K_DMA_DESC_TYPE_RING_AL 0 | 64 | #define K_DMA_DESC_TYPE_RING_AL 0 |
65 | #define K_DMA_DESC_TYPE_CHAIN_AL 1 | 65 | #define K_DMA_DESC_TYPE_CHAIN_AL 1 |
@@ -76,24 +76,24 @@ | |||
76 | #define M_DMA_TDX_EN _SB_MAKEMASK1(7) | 76 | #define M_DMA_TDX_EN _SB_MAKEMASK1(7) |
77 | 77 | ||
78 | #define S_DMA_INT_PKTCNT _SB_MAKE64(8) | 78 | #define S_DMA_INT_PKTCNT _SB_MAKE64(8) |
79 | #define M_DMA_INT_PKTCNT _SB_MAKEMASK(8,S_DMA_INT_PKTCNT) | 79 | #define M_DMA_INT_PKTCNT _SB_MAKEMASK(8, S_DMA_INT_PKTCNT) |
80 | #define V_DMA_INT_PKTCNT(x) _SB_MAKEVALUE(x,S_DMA_INT_PKTCNT) | 80 | #define V_DMA_INT_PKTCNT(x) _SB_MAKEVALUE(x, S_DMA_INT_PKTCNT) |
81 | #define G_DMA_INT_PKTCNT(x) _SB_GETVALUE(x,S_DMA_INT_PKTCNT,M_DMA_INT_PKTCNT) | 81 | #define G_DMA_INT_PKTCNT(x) _SB_GETVALUE(x, S_DMA_INT_PKTCNT, M_DMA_INT_PKTCNT) |
82 | 82 | ||
83 | #define S_DMA_RINGSZ _SB_MAKE64(16) | 83 | #define S_DMA_RINGSZ _SB_MAKE64(16) |
84 | #define M_DMA_RINGSZ _SB_MAKEMASK(16,S_DMA_RINGSZ) | 84 | #define M_DMA_RINGSZ _SB_MAKEMASK(16, S_DMA_RINGSZ) |
85 | #define V_DMA_RINGSZ(x) _SB_MAKEVALUE(x,S_DMA_RINGSZ) | 85 | #define V_DMA_RINGSZ(x) _SB_MAKEVALUE(x, S_DMA_RINGSZ) |
86 | #define G_DMA_RINGSZ(x) _SB_GETVALUE(x,S_DMA_RINGSZ,M_DMA_RINGSZ) | 86 | #define G_DMA_RINGSZ(x) _SB_GETVALUE(x, S_DMA_RINGSZ, M_DMA_RINGSZ) |
87 | 87 | ||
88 | #define S_DMA_HIGH_WATERMARK _SB_MAKE64(32) | 88 | #define S_DMA_HIGH_WATERMARK _SB_MAKE64(32) |
89 | #define M_DMA_HIGH_WATERMARK _SB_MAKEMASK(16,S_DMA_HIGH_WATERMARK) | 89 | #define M_DMA_HIGH_WATERMARK _SB_MAKEMASK(16, S_DMA_HIGH_WATERMARK) |
90 | #define V_DMA_HIGH_WATERMARK(x) _SB_MAKEVALUE(x,S_DMA_HIGH_WATERMARK) | 90 | #define V_DMA_HIGH_WATERMARK(x) _SB_MAKEVALUE(x, S_DMA_HIGH_WATERMARK) |
91 | #define G_DMA_HIGH_WATERMARK(x) _SB_GETVALUE(x,S_DMA_HIGH_WATERMARK,M_DMA_HIGH_WATERMARK) | 91 | #define G_DMA_HIGH_WATERMARK(x) _SB_GETVALUE(x, S_DMA_HIGH_WATERMARK, M_DMA_HIGH_WATERMARK) |
92 | 92 | ||
93 | #define S_DMA_LOW_WATERMARK _SB_MAKE64(48) | 93 | #define S_DMA_LOW_WATERMARK _SB_MAKE64(48) |
94 | #define M_DMA_LOW_WATERMARK _SB_MAKEMASK(16,S_DMA_LOW_WATERMARK) | 94 | #define M_DMA_LOW_WATERMARK _SB_MAKEMASK(16, S_DMA_LOW_WATERMARK) |
95 | #define V_DMA_LOW_WATERMARK(x) _SB_MAKEVALUE(x,S_DMA_LOW_WATERMARK) | 95 | #define V_DMA_LOW_WATERMARK(x) _SB_MAKEVALUE(x, S_DMA_LOW_WATERMARK) |
96 | #define G_DMA_LOW_WATERMARK(x) _SB_GETVALUE(x,S_DMA_LOW_WATERMARK,M_DMA_LOW_WATERMARK) | 96 | #define G_DMA_LOW_WATERMARK(x) _SB_GETVALUE(x, S_DMA_LOW_WATERMARK, M_DMA_LOW_WATERMARK) |
97 | 97 | ||
98 | /* | 98 | /* |
99 | * Ethernet and Serial DMA Configuration Register 1 (Table 7-5) | 99 | * Ethernet and Serial DMA Configuration Register 1 (Table 7-5) |
@@ -116,37 +116,37 @@ | |||
116 | #define M_DMA_TX_FC_PAUSE_EN _SB_MAKEMASK1(7) | 116 | #define M_DMA_TX_FC_PAUSE_EN _SB_MAKEMASK1(7) |
117 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 117 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
118 | 118 | ||
119 | #define M_DMA_MBZ1 _SB_MAKEMASK(6,15) | 119 | #define M_DMA_MBZ1 _SB_MAKEMASK(6, 15) |
120 | 120 | ||
121 | #define S_DMA_HDR_SIZE _SB_MAKE64(21) | 121 | #define S_DMA_HDR_SIZE _SB_MAKE64(21) |
122 | #define M_DMA_HDR_SIZE _SB_MAKEMASK(9,S_DMA_HDR_SIZE) | 122 | #define M_DMA_HDR_SIZE _SB_MAKEMASK(9, S_DMA_HDR_SIZE) |
123 | #define V_DMA_HDR_SIZE(x) _SB_MAKEVALUE(x,S_DMA_HDR_SIZE) | 123 | #define V_DMA_HDR_SIZE(x) _SB_MAKEVALUE(x, S_DMA_HDR_SIZE) |
124 | #define G_DMA_HDR_SIZE(x) _SB_GETVALUE(x,S_DMA_HDR_SIZE,M_DMA_HDR_SIZE) | 124 | #define G_DMA_HDR_SIZE(x) _SB_GETVALUE(x, S_DMA_HDR_SIZE, M_DMA_HDR_SIZE) |
125 | 125 | ||
126 | #define M_DMA_MBZ2 _SB_MAKEMASK(5,32) | 126 | #define M_DMA_MBZ2 _SB_MAKEMASK(5, 32) |
127 | 127 | ||
128 | #define S_DMA_ASICXFR_SIZE _SB_MAKE64(37) | 128 | #define S_DMA_ASICXFR_SIZE _SB_MAKE64(37) |
129 | #define M_DMA_ASICXFR_SIZE _SB_MAKEMASK(9,S_DMA_ASICXFR_SIZE) | 129 | #define M_DMA_ASICXFR_SIZE _SB_MAKEMASK(9, S_DMA_ASICXFR_SIZE) |
130 | #define V_DMA_ASICXFR_SIZE(x) _SB_MAKEVALUE(x,S_DMA_ASICXFR_SIZE) | 130 | #define V_DMA_ASICXFR_SIZE(x) _SB_MAKEVALUE(x, S_DMA_ASICXFR_SIZE) |
131 | #define G_DMA_ASICXFR_SIZE(x) _SB_GETVALUE(x,S_DMA_ASICXFR_SIZE,M_DMA_ASICXFR_SIZE) | 131 | #define G_DMA_ASICXFR_SIZE(x) _SB_GETVALUE(x, S_DMA_ASICXFR_SIZE, M_DMA_ASICXFR_SIZE) |
132 | 132 | ||
133 | #define S_DMA_INT_TIMEOUT _SB_MAKE64(48) | 133 | #define S_DMA_INT_TIMEOUT _SB_MAKE64(48) |
134 | #define M_DMA_INT_TIMEOUT _SB_MAKEMASK(16,S_DMA_INT_TIMEOUT) | 134 | #define M_DMA_INT_TIMEOUT _SB_MAKEMASK(16, S_DMA_INT_TIMEOUT) |
135 | #define V_DMA_INT_TIMEOUT(x) _SB_MAKEVALUE(x,S_DMA_INT_TIMEOUT) | 135 | #define V_DMA_INT_TIMEOUT(x) _SB_MAKEVALUE(x, S_DMA_INT_TIMEOUT) |
136 | #define G_DMA_INT_TIMEOUT(x) _SB_GETVALUE(x,S_DMA_INT_TIMEOUT,M_DMA_INT_TIMEOUT) | 136 | #define G_DMA_INT_TIMEOUT(x) _SB_GETVALUE(x, S_DMA_INT_TIMEOUT, M_DMA_INT_TIMEOUT) |
137 | 137 | ||
138 | /* | 138 | /* |
139 | * Ethernet and Serial DMA Descriptor base address (Table 7-6) | 139 | * Ethernet and Serial DMA Descriptor base address (Table 7-6) |
140 | */ | 140 | */ |
141 | 141 | ||
142 | #define M_DMA_DSCRBASE_MBZ _SB_MAKEMASK(4,0) | 142 | #define M_DMA_DSCRBASE_MBZ _SB_MAKEMASK(4, 0) |
143 | 143 | ||
144 | 144 | ||
145 | /* | 145 | /* |
146 | * ASIC Mode Base Address (Table 7-7) | 146 | * ASIC Mode Base Address (Table 7-7) |
147 | */ | 147 | */ |
148 | 148 | ||
149 | #define M_DMA_ASIC_BASE_MBZ _SB_MAKEMASK(20,0) | 149 | #define M_DMA_ASIC_BASE_MBZ _SB_MAKEMASK(20, 0) |
150 | 150 | ||
151 | /* | 151 | /* |
152 | * DMA Descriptor Count Registers (Table 7-8) | 152 | * DMA Descriptor Count Registers (Table 7-8) |
@@ -160,9 +160,9 @@ | |||
160 | */ | 160 | */ |
161 | 161 | ||
162 | #define S_DMA_CURDSCR_ADDR _SB_MAKE64(0) | 162 | #define S_DMA_CURDSCR_ADDR _SB_MAKE64(0) |
163 | #define M_DMA_CURDSCR_ADDR _SB_MAKEMASK(40,S_DMA_CURDSCR_ADDR) | 163 | #define M_DMA_CURDSCR_ADDR _SB_MAKEMASK(40, S_DMA_CURDSCR_ADDR) |
164 | #define S_DMA_CURDSCR_COUNT _SB_MAKE64(40) | 164 | #define S_DMA_CURDSCR_COUNT _SB_MAKE64(40) |
165 | #define M_DMA_CURDSCR_COUNT _SB_MAKEMASK(16,S_DMA_CURDSCR_COUNT) | 165 | #define M_DMA_CURDSCR_COUNT _SB_MAKEMASK(16, S_DMA_CURDSCR_COUNT) |
166 | 166 | ||
167 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 167 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
168 | #define M_DMA_TX_CH_PAUSE_ON _SB_MAKEMASK1(56) | 168 | #define M_DMA_TX_CH_PAUSE_ON _SB_MAKEMASK1(56) |
@@ -173,12 +173,12 @@ | |||
173 | */ | 173 | */ |
174 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 174 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
175 | #define S_DMA_OODLOST_RX _SB_MAKE64(0) | 175 | #define S_DMA_OODLOST_RX _SB_MAKE64(0) |
176 | #define M_DMA_OODLOST_RX _SB_MAKEMASK(16,S_DMA_OODLOST_RX) | 176 | #define M_DMA_OODLOST_RX _SB_MAKEMASK(16, S_DMA_OODLOST_RX) |
177 | #define G_DMA_OODLOST_RX(x) _SB_GETVALUE(x,S_DMA_OODLOST_RX,M_DMA_OODLOST_RX) | 177 | #define G_DMA_OODLOST_RX(x) _SB_GETVALUE(x, S_DMA_OODLOST_RX, M_DMA_OODLOST_RX) |
178 | 178 | ||
179 | #define S_DMA_EOP_COUNT_RX _SB_MAKE64(16) | 179 | #define S_DMA_EOP_COUNT_RX _SB_MAKE64(16) |
180 | #define M_DMA_EOP_COUNT_RX _SB_MAKEMASK(8,S_DMA_EOP_COUNT_RX) | 180 | #define M_DMA_EOP_COUNT_RX _SB_MAKEMASK(8, S_DMA_EOP_COUNT_RX) |
181 | #define G_DMA_EOP_COUNT_RX(x) _SB_GETVALUE(x,S_DMA_EOP_COUNT_RX,M_DMA_EOP_COUNT_RX) | 181 | #define G_DMA_EOP_COUNT_RX(x) _SB_GETVALUE(x, S_DMA_EOP_COUNT_RX, M_DMA_EOP_COUNT_RX) |
182 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 182 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
183 | 183 | ||
184 | /* ********************************************************************* | 184 | /* ********************************************************************* |
@@ -190,39 +190,39 @@ | |||
190 | */ | 190 | */ |
191 | 191 | ||
192 | #define S_DMA_DSCRA_OFFSET _SB_MAKE64(0) | 192 | #define S_DMA_DSCRA_OFFSET _SB_MAKE64(0) |
193 | #define M_DMA_DSCRA_OFFSET _SB_MAKEMASK(5,S_DMA_DSCRA_OFFSET) | 193 | #define M_DMA_DSCRA_OFFSET _SB_MAKEMASK(5, S_DMA_DSCRA_OFFSET) |
194 | #define V_DMA_DSCRA_OFFSET(x) _SB_MAKEVALUE(x,S_DMA_DSCRA_OFFSET) | 194 | #define V_DMA_DSCRA_OFFSET(x) _SB_MAKEVALUE(x, S_DMA_DSCRA_OFFSET) |
195 | #define G_DMA_DSCRA_OFFSET(x) _SB_GETVALUE(x,S_DMA_DSCRA_OFFSET,M_DMA_DSCRA_OFFSET) | 195 | #define G_DMA_DSCRA_OFFSET(x) _SB_GETVALUE(x, S_DMA_DSCRA_OFFSET, M_DMA_DSCRA_OFFSET) |
196 | 196 | ||
197 | /* Note: Don't shift the address over, just mask it with the mask below */ | 197 | /* Note: Don't shift the address over, just mask it with the mask below */ |
198 | #define S_DMA_DSCRA_A_ADDR _SB_MAKE64(5) | 198 | #define S_DMA_DSCRA_A_ADDR _SB_MAKE64(5) |
199 | #define M_DMA_DSCRA_A_ADDR _SB_MAKEMASK(35,S_DMA_DSCRA_A_ADDR) | 199 | #define M_DMA_DSCRA_A_ADDR _SB_MAKEMASK(35, S_DMA_DSCRA_A_ADDR) |
200 | 200 | ||
201 | #define M_DMA_DSCRA_A_ADDR_OFFSET (M_DMA_DSCRA_OFFSET | M_DMA_DSCRA_A_ADDR) | 201 | #define M_DMA_DSCRA_A_ADDR_OFFSET (M_DMA_DSCRA_OFFSET | M_DMA_DSCRA_A_ADDR) |
202 | 202 | ||
203 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 203 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
204 | #define S_DMA_DSCRA_A_ADDR_UA _SB_MAKE64(0) | 204 | #define S_DMA_DSCRA_A_ADDR_UA _SB_MAKE64(0) |
205 | #define M_DMA_DSCRA_A_ADDR_UA _SB_MAKEMASK(40,S_DMA_DSCRA_A_ADDR_UA) | 205 | #define M_DMA_DSCRA_A_ADDR_UA _SB_MAKEMASK(40, S_DMA_DSCRA_A_ADDR_UA) |
206 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 206 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
207 | 207 | ||
208 | #define S_DMA_DSCRA_A_SIZE _SB_MAKE64(40) | 208 | #define S_DMA_DSCRA_A_SIZE _SB_MAKE64(40) |
209 | #define M_DMA_DSCRA_A_SIZE _SB_MAKEMASK(9,S_DMA_DSCRA_A_SIZE) | 209 | #define M_DMA_DSCRA_A_SIZE _SB_MAKEMASK(9, S_DMA_DSCRA_A_SIZE) |
210 | #define V_DMA_DSCRA_A_SIZE(x) _SB_MAKEVALUE(x,S_DMA_DSCRA_A_SIZE) | 210 | #define V_DMA_DSCRA_A_SIZE(x) _SB_MAKEVALUE(x, S_DMA_DSCRA_A_SIZE) |
211 | #define G_DMA_DSCRA_A_SIZE(x) _SB_GETVALUE(x,S_DMA_DSCRA_A_SIZE,M_DMA_DSCRA_A_SIZE) | 211 | #define G_DMA_DSCRA_A_SIZE(x) _SB_GETVALUE(x, S_DMA_DSCRA_A_SIZE, M_DMA_DSCRA_A_SIZE) |
212 | 212 | ||
213 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 213 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
214 | #define S_DMA_DSCRA_DSCR_CNT _SB_MAKE64(40) | 214 | #define S_DMA_DSCRA_DSCR_CNT _SB_MAKE64(40) |
215 | #define M_DMA_DSCRA_DSCR_CNT _SB_MAKEMASK(8,S_DMA_DSCRA_DSCR_CNT) | 215 | #define M_DMA_DSCRA_DSCR_CNT _SB_MAKEMASK(8, S_DMA_DSCRA_DSCR_CNT) |
216 | #define G_DMA_DSCRA_DSCR_CNT(x) _SB_GETVALUE(x,S_DMA_DSCRA_DSCR_CNT,M_DMA_DSCRA_DSCR_CNT) | 216 | #define G_DMA_DSCRA_DSCR_CNT(x) _SB_GETVALUE(x, S_DMA_DSCRA_DSCR_CNT, M_DMA_DSCRA_DSCR_CNT) |
217 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 217 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
218 | 218 | ||
219 | #define M_DMA_DSCRA_INTERRUPT _SB_MAKEMASK1(49) | 219 | #define M_DMA_DSCRA_INTERRUPT _SB_MAKEMASK1(49) |
220 | #define M_DMA_DSCRA_OFFSETB _SB_MAKEMASK1(50) | 220 | #define M_DMA_DSCRA_OFFSETB _SB_MAKEMASK1(50) |
221 | 221 | ||
222 | #define S_DMA_DSCRA_STATUS _SB_MAKE64(51) | 222 | #define S_DMA_DSCRA_STATUS _SB_MAKE64(51) |
223 | #define M_DMA_DSCRA_STATUS _SB_MAKEMASK(13,S_DMA_DSCRA_STATUS) | 223 | #define M_DMA_DSCRA_STATUS _SB_MAKEMASK(13, S_DMA_DSCRA_STATUS) |
224 | #define V_DMA_DSCRA_STATUS(x) _SB_MAKEVALUE(x,S_DMA_DSCRA_STATUS) | 224 | #define V_DMA_DSCRA_STATUS(x) _SB_MAKEVALUE(x, S_DMA_DSCRA_STATUS) |
225 | #define G_DMA_DSCRA_STATUS(x) _SB_GETVALUE(x,S_DMA_DSCRA_STATUS,M_DMA_DSCRA_STATUS) | 225 | #define G_DMA_DSCRA_STATUS(x) _SB_GETVALUE(x, S_DMA_DSCRA_STATUS, M_DMA_DSCRA_STATUS) |
226 | 226 | ||
227 | /* | 227 | /* |
228 | * Descriptor doubleword "B" (Table 7-13) | 228 | * Descriptor doubleword "B" (Table 7-13) |
@@ -230,49 +230,49 @@ | |||
230 | 230 | ||
231 | 231 | ||
232 | #define S_DMA_DSCRB_OPTIONS _SB_MAKE64(0) | 232 | #define S_DMA_DSCRB_OPTIONS _SB_MAKE64(0) |
233 | #define M_DMA_DSCRB_OPTIONS _SB_MAKEMASK(4,S_DMA_DSCRB_OPTIONS) | 233 | #define M_DMA_DSCRB_OPTIONS _SB_MAKEMASK(4, S_DMA_DSCRB_OPTIONS) |
234 | #define V_DMA_DSCRB_OPTIONS(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_OPTIONS) | 234 | #define V_DMA_DSCRB_OPTIONS(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_OPTIONS) |
235 | #define G_DMA_DSCRB_OPTIONS(x) _SB_GETVALUE(x,S_DMA_DSCRB_OPTIONS,M_DMA_DSCRB_OPTIONS) | 235 | #define G_DMA_DSCRB_OPTIONS(x) _SB_GETVALUE(x, S_DMA_DSCRB_OPTIONS, M_DMA_DSCRB_OPTIONS) |
236 | 236 | ||
237 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 237 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
238 | #define S_DMA_DSCRB_A_SIZE _SB_MAKE64(8) | 238 | #define S_DMA_DSCRB_A_SIZE _SB_MAKE64(8) |
239 | #define M_DMA_DSCRB_A_SIZE _SB_MAKEMASK(14,S_DMA_DSCRB_A_SIZE) | 239 | #define M_DMA_DSCRB_A_SIZE _SB_MAKEMASK(14, S_DMA_DSCRB_A_SIZE) |
240 | #define V_DMA_DSCRB_A_SIZE(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_A_SIZE) | 240 | #define V_DMA_DSCRB_A_SIZE(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_A_SIZE) |
241 | #define G_DMA_DSCRB_A_SIZE(x) _SB_GETVALUE(x,S_DMA_DSCRB_A_SIZE,M_DMA_DSCRB_A_SIZE) | 241 | #define G_DMA_DSCRB_A_SIZE(x) _SB_GETVALUE(x, S_DMA_DSCRB_A_SIZE, M_DMA_DSCRB_A_SIZE) |
242 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 242 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
243 | 243 | ||
244 | #define R_DMA_DSCRB_ADDR _SB_MAKE64(0x10) | 244 | #define R_DMA_DSCRB_ADDR _SB_MAKE64(0x10) |
245 | 245 | ||
246 | /* Note: Don't shift the address over, just mask it with the mask below */ | 246 | /* Note: Don't shift the address over, just mask it with the mask below */ |
247 | #define S_DMA_DSCRB_B_ADDR _SB_MAKE64(5) | 247 | #define S_DMA_DSCRB_B_ADDR _SB_MAKE64(5) |
248 | #define M_DMA_DSCRB_B_ADDR _SB_MAKEMASK(35,S_DMA_DSCRB_B_ADDR) | 248 | #define M_DMA_DSCRB_B_ADDR _SB_MAKEMASK(35, S_DMA_DSCRB_B_ADDR) |
249 | 249 | ||
250 | #define S_DMA_DSCRB_B_SIZE _SB_MAKE64(40) | 250 | #define S_DMA_DSCRB_B_SIZE _SB_MAKE64(40) |
251 | #define M_DMA_DSCRB_B_SIZE _SB_MAKEMASK(9,S_DMA_DSCRB_B_SIZE) | 251 | #define M_DMA_DSCRB_B_SIZE _SB_MAKEMASK(9, S_DMA_DSCRB_B_SIZE) |
252 | #define V_DMA_DSCRB_B_SIZE(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_B_SIZE) | 252 | #define V_DMA_DSCRB_B_SIZE(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_B_SIZE) |
253 | #define G_DMA_DSCRB_B_SIZE(x) _SB_GETVALUE(x,S_DMA_DSCRB_B_SIZE,M_DMA_DSCRB_B_SIZE) | 253 | #define G_DMA_DSCRB_B_SIZE(x) _SB_GETVALUE(x, S_DMA_DSCRB_B_SIZE, M_DMA_DSCRB_B_SIZE) |
254 | 254 | ||
255 | #define M_DMA_DSCRB_B_VALID _SB_MAKEMASK1(49) | 255 | #define M_DMA_DSCRB_B_VALID _SB_MAKEMASK1(49) |
256 | 256 | ||
257 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 257 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
258 | #define S_DMA_DSCRB_PKT_SIZE_MSB _SB_MAKE64(48) | 258 | #define S_DMA_DSCRB_PKT_SIZE_MSB _SB_MAKE64(48) |
259 | #define M_DMA_DSCRB_PKT_SIZE_MSB _SB_MAKEMASK(2,S_DMA_DSCRB_PKT_SIZE_MSB) | 259 | #define M_DMA_DSCRB_PKT_SIZE_MSB _SB_MAKEMASK(2, S_DMA_DSCRB_PKT_SIZE_MSB) |
260 | #define V_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_PKT_SIZE_MSB) | 260 | #define V_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_PKT_SIZE_MSB) |
261 | #define G_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_GETVALUE(x,S_DMA_DSCRB_PKT_SIZE_MSB,M_DMA_DSCRB_PKT_SIZE_MSB) | 261 | #define G_DMA_DSCRB_PKT_SIZE_MSB(x) _SB_GETVALUE(x, S_DMA_DSCRB_PKT_SIZE_MSB, M_DMA_DSCRB_PKT_SIZE_MSB) |
262 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 262 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
263 | 263 | ||
264 | #define S_DMA_DSCRB_PKT_SIZE _SB_MAKE64(50) | 264 | #define S_DMA_DSCRB_PKT_SIZE _SB_MAKE64(50) |
265 | #define M_DMA_DSCRB_PKT_SIZE _SB_MAKEMASK(14,S_DMA_DSCRB_PKT_SIZE) | 265 | #define M_DMA_DSCRB_PKT_SIZE _SB_MAKEMASK(14, S_DMA_DSCRB_PKT_SIZE) |
266 | #define V_DMA_DSCRB_PKT_SIZE(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_PKT_SIZE) | 266 | #define V_DMA_DSCRB_PKT_SIZE(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_PKT_SIZE) |
267 | #define G_DMA_DSCRB_PKT_SIZE(x) _SB_GETVALUE(x,S_DMA_DSCRB_PKT_SIZE,M_DMA_DSCRB_PKT_SIZE) | 267 | #define G_DMA_DSCRB_PKT_SIZE(x) _SB_GETVALUE(x, S_DMA_DSCRB_PKT_SIZE, M_DMA_DSCRB_PKT_SIZE) |
268 | 268 | ||
269 | /* | 269 | /* |
270 | * from pass2 some bits in dscr_b are also used for rx status | 270 | * from pass2 some bits in dscr_b are also used for rx status |
271 | */ | 271 | */ |
272 | #define S_DMA_DSCRB_STATUS _SB_MAKE64(0) | 272 | #define S_DMA_DSCRB_STATUS _SB_MAKE64(0) |
273 | #define M_DMA_DSCRB_STATUS _SB_MAKEMASK(1,S_DMA_DSCRB_STATUS) | 273 | #define M_DMA_DSCRB_STATUS _SB_MAKEMASK(1, S_DMA_DSCRB_STATUS) |
274 | #define V_DMA_DSCRB_STATUS(x) _SB_MAKEVALUE(x,S_DMA_DSCRB_STATUS) | 274 | #define V_DMA_DSCRB_STATUS(x) _SB_MAKEVALUE(x, S_DMA_DSCRB_STATUS) |
275 | #define G_DMA_DSCRB_STATUS(x) _SB_GETVALUE(x,S_DMA_DSCRB_STATUS,M_DMA_DSCRB_STATUS) | 275 | #define G_DMA_DSCRB_STATUS(x) _SB_GETVALUE(x, S_DMA_DSCRB_STATUS, M_DMA_DSCRB_STATUS) |
276 | 276 | ||
277 | /* | 277 | /* |
278 | * Ethernet Descriptor Status Bits (Table 7-15) | 278 | * Ethernet Descriptor Status Bits (Table 7-15) |
@@ -293,14 +293,14 @@ | |||
293 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 293 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
294 | 294 | ||
295 | #define S_DMA_ETHRX_RXCH 53 | 295 | #define S_DMA_ETHRX_RXCH 53 |
296 | #define M_DMA_ETHRX_RXCH _SB_MAKEMASK(2,S_DMA_ETHRX_RXCH) | 296 | #define M_DMA_ETHRX_RXCH _SB_MAKEMASK(2, S_DMA_ETHRX_RXCH) |
297 | #define V_DMA_ETHRX_RXCH(x) _SB_MAKEVALUE(x,S_DMA_ETHRX_RXCH) | 297 | #define V_DMA_ETHRX_RXCH(x) _SB_MAKEVALUE(x, S_DMA_ETHRX_RXCH) |
298 | #define G_DMA_ETHRX_RXCH(x) _SB_GETVALUE(x,S_DMA_ETHRX_RXCH,M_DMA_ETHRX_RXCH) | 298 | #define G_DMA_ETHRX_RXCH(x) _SB_GETVALUE(x, S_DMA_ETHRX_RXCH, M_DMA_ETHRX_RXCH) |
299 | 299 | ||
300 | #define S_DMA_ETHRX_PKTTYPE 55 | 300 | #define S_DMA_ETHRX_PKTTYPE 55 |
301 | #define M_DMA_ETHRX_PKTTYPE _SB_MAKEMASK(3,S_DMA_ETHRX_PKTTYPE) | 301 | #define M_DMA_ETHRX_PKTTYPE _SB_MAKEMASK(3, S_DMA_ETHRX_PKTTYPE) |
302 | #define V_DMA_ETHRX_PKTTYPE(x) _SB_MAKEVALUE(x,S_DMA_ETHRX_PKTTYPE) | 302 | #define V_DMA_ETHRX_PKTTYPE(x) _SB_MAKEVALUE(x, S_DMA_ETHRX_PKTTYPE) |
303 | #define G_DMA_ETHRX_PKTTYPE(x) _SB_GETVALUE(x,S_DMA_ETHRX_PKTTYPE,M_DMA_ETHRX_PKTTYPE) | 303 | #define G_DMA_ETHRX_PKTTYPE(x) _SB_GETVALUE(x, S_DMA_ETHRX_PKTTYPE, M_DMA_ETHRX_PKTTYPE) |
304 | 304 | ||
305 | #define K_DMA_ETHRX_PKTTYPE_IPV4 0 | 305 | #define K_DMA_ETHRX_PKTTYPE_IPV4 0 |
306 | #define K_DMA_ETHRX_PKTTYPE_ARPV4 1 | 306 | #define K_DMA_ETHRX_PKTTYPE_ARPV4 1 |
@@ -385,21 +385,21 @@ | |||
385 | * Register: DM_DSCR_BASE_3 | 385 | * Register: DM_DSCR_BASE_3 |
386 | */ | 386 | */ |
387 | 387 | ||
388 | #define M_DM_DSCR_BASE_MBZ _SB_MAKEMASK(4,0) | 388 | #define M_DM_DSCR_BASE_MBZ _SB_MAKEMASK(4, 0) |
389 | 389 | ||
390 | /* Note: Just mask the base address and then OR it in. */ | 390 | /* Note: Just mask the base address and then OR it in. */ |
391 | #define S_DM_DSCR_BASE_ADDR _SB_MAKE64(4) | 391 | #define S_DM_DSCR_BASE_ADDR _SB_MAKE64(4) |
392 | #define M_DM_DSCR_BASE_ADDR _SB_MAKEMASK(36,S_DM_DSCR_BASE_ADDR) | 392 | #define M_DM_DSCR_BASE_ADDR _SB_MAKEMASK(36, S_DM_DSCR_BASE_ADDR) |
393 | 393 | ||
394 | #define S_DM_DSCR_BASE_RINGSZ _SB_MAKE64(40) | 394 | #define S_DM_DSCR_BASE_RINGSZ _SB_MAKE64(40) |
395 | #define M_DM_DSCR_BASE_RINGSZ _SB_MAKEMASK(16,S_DM_DSCR_BASE_RINGSZ) | 395 | #define M_DM_DSCR_BASE_RINGSZ _SB_MAKEMASK(16, S_DM_DSCR_BASE_RINGSZ) |
396 | #define V_DM_DSCR_BASE_RINGSZ(x) _SB_MAKEVALUE(x,S_DM_DSCR_BASE_RINGSZ) | 396 | #define V_DM_DSCR_BASE_RINGSZ(x) _SB_MAKEVALUE(x, S_DM_DSCR_BASE_RINGSZ) |
397 | #define G_DM_DSCR_BASE_RINGSZ(x) _SB_GETVALUE(x,S_DM_DSCR_BASE_RINGSZ,M_DM_DSCR_BASE_RINGSZ) | 397 | #define G_DM_DSCR_BASE_RINGSZ(x) _SB_GETVALUE(x, S_DM_DSCR_BASE_RINGSZ, M_DM_DSCR_BASE_RINGSZ) |
398 | 398 | ||
399 | #define S_DM_DSCR_BASE_PRIORITY _SB_MAKE64(56) | 399 | #define S_DM_DSCR_BASE_PRIORITY _SB_MAKE64(56) |
400 | #define M_DM_DSCR_BASE_PRIORITY _SB_MAKEMASK(3,S_DM_DSCR_BASE_PRIORITY) | 400 | #define M_DM_DSCR_BASE_PRIORITY _SB_MAKEMASK(3, S_DM_DSCR_BASE_PRIORITY) |
401 | #define V_DM_DSCR_BASE_PRIORITY(x) _SB_MAKEVALUE(x,S_DM_DSCR_BASE_PRIORITY) | 401 | #define V_DM_DSCR_BASE_PRIORITY(x) _SB_MAKEVALUE(x, S_DM_DSCR_BASE_PRIORITY) |
402 | #define G_DM_DSCR_BASE_PRIORITY(x) _SB_GETVALUE(x,S_DM_DSCR_BASE_PRIORITY,M_DM_DSCR_BASE_PRIORITY) | 402 | #define G_DM_DSCR_BASE_PRIORITY(x) _SB_GETVALUE(x, S_DM_DSCR_BASE_PRIORITY, M_DM_DSCR_BASE_PRIORITY) |
403 | 403 | ||
404 | #define K_DM_DSCR_BASE_PRIORITY_1 0 | 404 | #define K_DM_DSCR_BASE_PRIORITY_1 0 |
405 | #define K_DM_DSCR_BASE_PRIORITY_2 1 | 405 | #define K_DM_DSCR_BASE_PRIORITY_2 1 |
@@ -429,12 +429,12 @@ | |||
429 | */ | 429 | */ |
430 | 430 | ||
431 | #define S_DM_CUR_DSCR_DSCR_ADDR _SB_MAKE64(0) | 431 | #define S_DM_CUR_DSCR_DSCR_ADDR _SB_MAKE64(0) |
432 | #define M_DM_CUR_DSCR_DSCR_ADDR _SB_MAKEMASK(40,S_DM_CUR_DSCR_DSCR_ADDR) | 432 | #define M_DM_CUR_DSCR_DSCR_ADDR _SB_MAKEMASK(40, S_DM_CUR_DSCR_DSCR_ADDR) |
433 | 433 | ||
434 | #define S_DM_CUR_DSCR_DSCR_COUNT _SB_MAKE64(48) | 434 | #define S_DM_CUR_DSCR_DSCR_COUNT _SB_MAKE64(48) |
435 | #define M_DM_CUR_DSCR_DSCR_COUNT _SB_MAKEMASK(16,S_DM_CUR_DSCR_DSCR_COUNT) | 435 | #define M_DM_CUR_DSCR_DSCR_COUNT _SB_MAKEMASK(16, S_DM_CUR_DSCR_DSCR_COUNT) |
436 | #define V_DM_CUR_DSCR_DSCR_COUNT(r) _SB_MAKEVALUE(r,S_DM_CUR_DSCR_DSCR_COUNT) | 436 | #define V_DM_CUR_DSCR_DSCR_COUNT(r) _SB_MAKEVALUE(r, S_DM_CUR_DSCR_DSCR_COUNT) |
437 | #define G_DM_CUR_DSCR_DSCR_COUNT(r) _SB_GETVALUE(r,S_DM_CUR_DSCR_DSCR_COUNT,\ | 437 | #define G_DM_CUR_DSCR_DSCR_COUNT(r) _SB_GETVALUE(r, S_DM_CUR_DSCR_DSCR_COUNT,\ |
438 | M_DM_CUR_DSCR_DSCR_COUNT) | 438 | M_DM_CUR_DSCR_DSCR_COUNT) |
439 | 439 | ||
440 | 440 | ||
@@ -447,15 +447,15 @@ | |||
447 | * Register: DM_PARTIAL_3 | 447 | * Register: DM_PARTIAL_3 |
448 | */ | 448 | */ |
449 | #define S_DM_PARTIAL_CRC_PARTIAL _SB_MAKE64(0) | 449 | #define S_DM_PARTIAL_CRC_PARTIAL _SB_MAKE64(0) |
450 | #define M_DM_PARTIAL_CRC_PARTIAL _SB_MAKEMASK(32,S_DM_PARTIAL_CRC_PARTIAL) | 450 | #define M_DM_PARTIAL_CRC_PARTIAL _SB_MAKEMASK(32, S_DM_PARTIAL_CRC_PARTIAL) |
451 | #define V_DM_PARTIAL_CRC_PARTIAL(r) _SB_MAKEVALUE(r,S_DM_PARTIAL_CRC_PARTIAL) | 451 | #define V_DM_PARTIAL_CRC_PARTIAL(r) _SB_MAKEVALUE(r, S_DM_PARTIAL_CRC_PARTIAL) |
452 | #define G_DM_PARTIAL_CRC_PARTIAL(r) _SB_GETVALUE(r,S_DM_PARTIAL_CRC_PARTIAL,\ | 452 | #define G_DM_PARTIAL_CRC_PARTIAL(r) _SB_GETVALUE(r, S_DM_PARTIAL_CRC_PARTIAL,\ |
453 | M_DM_PARTIAL_CRC_PARTIAL) | 453 | M_DM_PARTIAL_CRC_PARTIAL) |
454 | 454 | ||
455 | #define S_DM_PARTIAL_TCPCS_PARTIAL _SB_MAKE64(32) | 455 | #define S_DM_PARTIAL_TCPCS_PARTIAL _SB_MAKE64(32) |
456 | #define M_DM_PARTIAL_TCPCS_PARTIAL _SB_MAKEMASK(16,S_DM_PARTIAL_TCPCS_PARTIAL) | 456 | #define M_DM_PARTIAL_TCPCS_PARTIAL _SB_MAKEMASK(16, S_DM_PARTIAL_TCPCS_PARTIAL) |
457 | #define V_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_MAKEVALUE(r,S_DM_PARTIAL_TCPCS_PARTIAL) | 457 | #define V_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_MAKEVALUE(r, S_DM_PARTIAL_TCPCS_PARTIAL) |
458 | #define G_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_GETVALUE(r,S_DM_PARTIAL_TCPCS_PARTIAL,\ | 458 | #define G_DM_PARTIAL_TCPCS_PARTIAL(r) _SB_GETVALUE(r, S_DM_PARTIAL_TCPCS_PARTIAL,\ |
459 | M_DM_PARTIAL_TCPCS_PARTIAL) | 459 | M_DM_PARTIAL_TCPCS_PARTIAL) |
460 | 460 | ||
461 | #define M_DM_PARTIAL_ODD_BYTE _SB_MAKEMASK1(48) | 461 | #define M_DM_PARTIAL_ODD_BYTE _SB_MAKEMASK1(48) |
@@ -469,15 +469,15 @@ | |||
469 | * Register: CRC_DEF_1 | 469 | * Register: CRC_DEF_1 |
470 | */ | 470 | */ |
471 | #define S_CRC_DEF_CRC_INIT _SB_MAKE64(0) | 471 | #define S_CRC_DEF_CRC_INIT _SB_MAKE64(0) |
472 | #define M_CRC_DEF_CRC_INIT _SB_MAKEMASK(32,S_CRC_DEF_CRC_INIT) | 472 | #define M_CRC_DEF_CRC_INIT _SB_MAKEMASK(32, S_CRC_DEF_CRC_INIT) |
473 | #define V_CRC_DEF_CRC_INIT(r) _SB_MAKEVALUE(r,S_CRC_DEF_CRC_INIT) | 473 | #define V_CRC_DEF_CRC_INIT(r) _SB_MAKEVALUE(r, S_CRC_DEF_CRC_INIT) |
474 | #define G_CRC_DEF_CRC_INIT(r) _SB_GETVALUE(r,S_CRC_DEF_CRC_INIT,\ | 474 | #define G_CRC_DEF_CRC_INIT(r) _SB_GETVALUE(r, S_CRC_DEF_CRC_INIT,\ |
475 | M_CRC_DEF_CRC_INIT) | 475 | M_CRC_DEF_CRC_INIT) |
476 | 476 | ||
477 | #define S_CRC_DEF_CRC_POLY _SB_MAKE64(32) | 477 | #define S_CRC_DEF_CRC_POLY _SB_MAKE64(32) |
478 | #define M_CRC_DEF_CRC_POLY _SB_MAKEMASK(32,S_CRC_DEF_CRC_POLY) | 478 | #define M_CRC_DEF_CRC_POLY _SB_MAKEMASK(32, S_CRC_DEF_CRC_POLY) |
479 | #define V_CRC_DEF_CRC_POLY(r) _SB_MAKEVALUE(r,S_CRC_DEF_CRC_POLY) | 479 | #define V_CRC_DEF_CRC_POLY(r) _SB_MAKEVALUE(r, S_CRC_DEF_CRC_POLY) |
480 | #define G_CRC_DEF_CRC_POLY(r) _SB_GETVALUE(r,S_CRC_DEF_CRC_POLY,\ | 480 | #define G_CRC_DEF_CRC_POLY(r) _SB_GETVALUE(r, S_CRC_DEF_CRC_POLY,\ |
481 | M_CRC_DEF_CRC_POLY) | 481 | M_CRC_DEF_CRC_POLY) |
482 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 482 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
483 | 483 | ||
@@ -489,21 +489,21 @@ | |||
489 | * Register: CTCP_DEF_1 | 489 | * Register: CTCP_DEF_1 |
490 | */ | 490 | */ |
491 | #define S_CTCP_DEF_CRC_TXOR _SB_MAKE64(0) | 491 | #define S_CTCP_DEF_CRC_TXOR _SB_MAKE64(0) |
492 | #define M_CTCP_DEF_CRC_TXOR _SB_MAKEMASK(32,S_CTCP_DEF_CRC_TXOR) | 492 | #define M_CTCP_DEF_CRC_TXOR _SB_MAKEMASK(32, S_CTCP_DEF_CRC_TXOR) |
493 | #define V_CTCP_DEF_CRC_TXOR(r) _SB_MAKEVALUE(r,S_CTCP_DEF_CRC_TXOR) | 493 | #define V_CTCP_DEF_CRC_TXOR(r) _SB_MAKEVALUE(r, S_CTCP_DEF_CRC_TXOR) |
494 | #define G_CTCP_DEF_CRC_TXOR(r) _SB_GETVALUE(r,S_CTCP_DEF_CRC_TXOR,\ | 494 | #define G_CTCP_DEF_CRC_TXOR(r) _SB_GETVALUE(r, S_CTCP_DEF_CRC_TXOR,\ |
495 | M_CTCP_DEF_CRC_TXOR) | 495 | M_CTCP_DEF_CRC_TXOR) |
496 | 496 | ||
497 | #define S_CTCP_DEF_TCPCS_INIT _SB_MAKE64(32) | 497 | #define S_CTCP_DEF_TCPCS_INIT _SB_MAKE64(32) |
498 | #define M_CTCP_DEF_TCPCS_INIT _SB_MAKEMASK(16,S_CTCP_DEF_TCPCS_INIT) | 498 | #define M_CTCP_DEF_TCPCS_INIT _SB_MAKEMASK(16, S_CTCP_DEF_TCPCS_INIT) |
499 | #define V_CTCP_DEF_TCPCS_INIT(r) _SB_MAKEVALUE(r,S_CTCP_DEF_TCPCS_INIT) | 499 | #define V_CTCP_DEF_TCPCS_INIT(r) _SB_MAKEVALUE(r, S_CTCP_DEF_TCPCS_INIT) |
500 | #define G_CTCP_DEF_TCPCS_INIT(r) _SB_GETVALUE(r,S_CTCP_DEF_TCPCS_INIT,\ | 500 | #define G_CTCP_DEF_TCPCS_INIT(r) _SB_GETVALUE(r, S_CTCP_DEF_TCPCS_INIT,\ |
501 | M_CTCP_DEF_TCPCS_INIT) | 501 | M_CTCP_DEF_TCPCS_INIT) |
502 | 502 | ||
503 | #define S_CTCP_DEF_CRC_WIDTH _SB_MAKE64(48) | 503 | #define S_CTCP_DEF_CRC_WIDTH _SB_MAKE64(48) |
504 | #define M_CTCP_DEF_CRC_WIDTH _SB_MAKEMASK(2,S_CTCP_DEF_CRC_WIDTH) | 504 | #define M_CTCP_DEF_CRC_WIDTH _SB_MAKEMASK(2, S_CTCP_DEF_CRC_WIDTH) |
505 | #define V_CTCP_DEF_CRC_WIDTH(r) _SB_MAKEVALUE(r,S_CTCP_DEF_CRC_WIDTH) | 505 | #define V_CTCP_DEF_CRC_WIDTH(r) _SB_MAKEVALUE(r, S_CTCP_DEF_CRC_WIDTH) |
506 | #define G_CTCP_DEF_CRC_WIDTH(r) _SB_GETVALUE(r,S_CTCP_DEF_CRC_WIDTH,\ | 506 | #define G_CTCP_DEF_CRC_WIDTH(r) _SB_GETVALUE(r, S_CTCP_DEF_CRC_WIDTH,\ |
507 | M_CTCP_DEF_CRC_WIDTH) | 507 | M_CTCP_DEF_CRC_WIDTH) |
508 | 508 | ||
509 | #define K_CTCP_DEF_CRC_WIDTH_4 0 | 509 | #define K_CTCP_DEF_CRC_WIDTH_4 0 |
@@ -519,7 +519,7 @@ | |||
519 | */ | 519 | */ |
520 | 520 | ||
521 | #define S_DM_DSCRA_DST_ADDR _SB_MAKE64(0) | 521 | #define S_DM_DSCRA_DST_ADDR _SB_MAKE64(0) |
522 | #define M_DM_DSCRA_DST_ADDR _SB_MAKEMASK(40,S_DM_DSCRA_DST_ADDR) | 522 | #define M_DM_DSCRA_DST_ADDR _SB_MAKEMASK(40, S_DM_DSCRA_DST_ADDR) |
523 | 523 | ||
524 | #define M_DM_DSCRA_UN_DEST _SB_MAKEMASK1(40) | 524 | #define M_DM_DSCRA_UN_DEST _SB_MAKEMASK1(40) |
525 | #define M_DM_DSCRA_UN_SRC _SB_MAKEMASK1(41) | 525 | #define M_DM_DSCRA_UN_SRC _SB_MAKEMASK1(41) |
@@ -529,30 +529,30 @@ | |||
529 | #endif /* up to 1250 PASS1 */ | 529 | #endif /* up to 1250 PASS1 */ |
530 | 530 | ||
531 | #define S_DM_DSCRA_DIR_DEST _SB_MAKE64(44) | 531 | #define S_DM_DSCRA_DIR_DEST _SB_MAKE64(44) |
532 | #define M_DM_DSCRA_DIR_DEST _SB_MAKEMASK(2,S_DM_DSCRA_DIR_DEST) | 532 | #define M_DM_DSCRA_DIR_DEST _SB_MAKEMASK(2, S_DM_DSCRA_DIR_DEST) |
533 | #define V_DM_DSCRA_DIR_DEST(x) _SB_MAKEVALUE(x,S_DM_DSCRA_DIR_DEST) | 533 | #define V_DM_DSCRA_DIR_DEST(x) _SB_MAKEVALUE(x, S_DM_DSCRA_DIR_DEST) |
534 | #define G_DM_DSCRA_DIR_DEST(x) _SB_GETVALUE(x,S_DM_DSCRA_DIR_DEST,M_DM_DSCRA_DIR_DEST) | 534 | #define G_DM_DSCRA_DIR_DEST(x) _SB_GETVALUE(x, S_DM_DSCRA_DIR_DEST, M_DM_DSCRA_DIR_DEST) |
535 | 535 | ||
536 | #define K_DM_DSCRA_DIR_DEST_INCR 0 | 536 | #define K_DM_DSCRA_DIR_DEST_INCR 0 |
537 | #define K_DM_DSCRA_DIR_DEST_DECR 1 | 537 | #define K_DM_DSCRA_DIR_DEST_DECR 1 |
538 | #define K_DM_DSCRA_DIR_DEST_CONST 2 | 538 | #define K_DM_DSCRA_DIR_DEST_CONST 2 |
539 | 539 | ||
540 | #define V_DM_DSCRA_DIR_DEST_INCR _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_INCR,S_DM_DSCRA_DIR_DEST) | 540 | #define V_DM_DSCRA_DIR_DEST_INCR _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_INCR, S_DM_DSCRA_DIR_DEST) |
541 | #define V_DM_DSCRA_DIR_DEST_DECR _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_DECR,S_DM_DSCRA_DIR_DEST) | 541 | #define V_DM_DSCRA_DIR_DEST_DECR _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_DECR, S_DM_DSCRA_DIR_DEST) |
542 | #define V_DM_DSCRA_DIR_DEST_CONST _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_CONST,S_DM_DSCRA_DIR_DEST) | 542 | #define V_DM_DSCRA_DIR_DEST_CONST _SB_MAKEVALUE(K_DM_DSCRA_DIR_DEST_CONST, S_DM_DSCRA_DIR_DEST) |
543 | 543 | ||
544 | #define S_DM_DSCRA_DIR_SRC _SB_MAKE64(46) | 544 | #define S_DM_DSCRA_DIR_SRC _SB_MAKE64(46) |
545 | #define M_DM_DSCRA_DIR_SRC _SB_MAKEMASK(2,S_DM_DSCRA_DIR_SRC) | 545 | #define M_DM_DSCRA_DIR_SRC _SB_MAKEMASK(2, S_DM_DSCRA_DIR_SRC) |
546 | #define V_DM_DSCRA_DIR_SRC(x) _SB_MAKEVALUE(x,S_DM_DSCRA_DIR_SRC) | 546 | #define V_DM_DSCRA_DIR_SRC(x) _SB_MAKEVALUE(x, S_DM_DSCRA_DIR_SRC) |
547 | #define G_DM_DSCRA_DIR_SRC(x) _SB_GETVALUE(x,S_DM_DSCRA_DIR_SRC,M_DM_DSCRA_DIR_SRC) | 547 | #define G_DM_DSCRA_DIR_SRC(x) _SB_GETVALUE(x, S_DM_DSCRA_DIR_SRC, M_DM_DSCRA_DIR_SRC) |
548 | 548 | ||
549 | #define K_DM_DSCRA_DIR_SRC_INCR 0 | 549 | #define K_DM_DSCRA_DIR_SRC_INCR 0 |
550 | #define K_DM_DSCRA_DIR_SRC_DECR 1 | 550 | #define K_DM_DSCRA_DIR_SRC_DECR 1 |
551 | #define K_DM_DSCRA_DIR_SRC_CONST 2 | 551 | #define K_DM_DSCRA_DIR_SRC_CONST 2 |
552 | 552 | ||
553 | #define V_DM_DSCRA_DIR_SRC_INCR _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_INCR,S_DM_DSCRA_DIR_SRC) | 553 | #define V_DM_DSCRA_DIR_SRC_INCR _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_INCR, S_DM_DSCRA_DIR_SRC) |
554 | #define V_DM_DSCRA_DIR_SRC_DECR _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_DECR,S_DM_DSCRA_DIR_SRC) | 554 | #define V_DM_DSCRA_DIR_SRC_DECR _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_DECR, S_DM_DSCRA_DIR_SRC) |
555 | #define V_DM_DSCRA_DIR_SRC_CONST _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_CONST,S_DM_DSCRA_DIR_SRC) | 555 | #define V_DM_DSCRA_DIR_SRC_CONST _SB_MAKEVALUE(K_DM_DSCRA_DIR_SRC_CONST, S_DM_DSCRA_DIR_SRC) |
556 | 556 | ||
557 | 557 | ||
558 | #define M_DM_DSCRA_ZERO_MEM _SB_MAKEMASK1(48) | 558 | #define M_DM_DSCRA_ZERO_MEM _SB_MAKEMASK1(48) |
@@ -576,19 +576,19 @@ | |||
576 | #define M_DM_DSCRA_CRC_XBIT _SB_MAKEMASK1(61) | 576 | #define M_DM_DSCRA_CRC_XBIT _SB_MAKEMASK1(61) |
577 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 577 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
578 | 578 | ||
579 | #define M_DM_DSCRA_RESERVED2 _SB_MAKEMASK(3,61) | 579 | #define M_DM_DSCRA_RESERVED2 _SB_MAKEMASK(3, 61) |
580 | 580 | ||
581 | /* | 581 | /* |
582 | * Data Mover Descriptor Doubleword "B" (Table 7-25) | 582 | * Data Mover Descriptor Doubleword "B" (Table 7-25) |
583 | */ | 583 | */ |
584 | 584 | ||
585 | #define S_DM_DSCRB_SRC_ADDR _SB_MAKE64(0) | 585 | #define S_DM_DSCRB_SRC_ADDR _SB_MAKE64(0) |
586 | #define M_DM_DSCRB_SRC_ADDR _SB_MAKEMASK(40,S_DM_DSCRB_SRC_ADDR) | 586 | #define M_DM_DSCRB_SRC_ADDR _SB_MAKEMASK(40, S_DM_DSCRB_SRC_ADDR) |
587 | 587 | ||
588 | #define S_DM_DSCRB_SRC_LENGTH _SB_MAKE64(40) | 588 | #define S_DM_DSCRB_SRC_LENGTH _SB_MAKE64(40) |
589 | #define M_DM_DSCRB_SRC_LENGTH _SB_MAKEMASK(20,S_DM_DSCRB_SRC_LENGTH) | 589 | #define M_DM_DSCRB_SRC_LENGTH _SB_MAKEMASK(20, S_DM_DSCRB_SRC_LENGTH) |
590 | #define V_DM_DSCRB_SRC_LENGTH(x) _SB_MAKEVALUE(x,S_DM_DSCRB_SRC_LENGTH) | 590 | #define V_DM_DSCRB_SRC_LENGTH(x) _SB_MAKEVALUE(x, S_DM_DSCRB_SRC_LENGTH) |
591 | #define G_DM_DSCRB_SRC_LENGTH(x) _SB_GETVALUE(x,S_DM_DSCRB_SRC_LENGTH,M_DM_DSCRB_SRC_LENGTH) | 591 | #define G_DM_DSCRB_SRC_LENGTH(x) _SB_GETVALUE(x, S_DM_DSCRB_SRC_LENGTH, M_DM_DSCRB_SRC_LENGTH) |
592 | 592 | ||
593 | 593 | ||
594 | #endif | 594 | #endif |
diff --git a/include/asm-mips/sibyte/sb1250_genbus.h b/include/asm-mips/sibyte/sb1250_genbus.h index 1b5cbc5c6454..94e9c7c8e783 100644 --- a/include/asm-mips/sibyte/sb1250_genbus.h +++ b/include/asm-mips/sibyte/sb1250_genbus.h | |||
@@ -11,7 +11,7 @@ | |||
11 | * | 11 | * |
12 | ********************************************************************* | 12 | ********************************************************************* |
13 | * | 13 | * |
14 | * Copyright 2000,2001,2002,2003 | 14 | * Copyright 2000, 2001, 2002, 2003 |
15 | * Broadcom Corporation. All rights reserved. | 15 | * Broadcom Corporation. All rights reserved. |
16 | * | 16 | * |
17 | * This program is free software; you can redistribute it and/or | 17 | * This program is free software; you can redistribute it and/or |
@@ -47,7 +47,7 @@ | |||
47 | #define M_IO_ENA_RDY _SB_MAKEMASK1(S_IO_ENA_RDY) | 47 | #define M_IO_ENA_RDY _SB_MAKEMASK1(S_IO_ENA_RDY) |
48 | 48 | ||
49 | #define S_IO_WIDTH_SEL 2 | 49 | #define S_IO_WIDTH_SEL 2 |
50 | #define M_IO_WIDTH_SEL _SB_MAKEMASK(2,S_IO_WIDTH_SEL) | 50 | #define M_IO_WIDTH_SEL _SB_MAKEMASK(2, S_IO_WIDTH_SEL) |
51 | #define K_IO_WIDTH_SEL_1 0 | 51 | #define K_IO_WIDTH_SEL_1 0 |
52 | #define K_IO_WIDTH_SEL_2 1 | 52 | #define K_IO_WIDTH_SEL_2 1 |
53 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ | 53 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
@@ -55,8 +55,8 @@ | |||
55 | #define K_IO_WIDTH_SEL_1L 2 | 55 | #define K_IO_WIDTH_SEL_1L 2 |
56 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 56 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
57 | #define K_IO_WIDTH_SEL_4 3 | 57 | #define K_IO_WIDTH_SEL_4 3 |
58 | #define V_IO_WIDTH_SEL(x) _SB_MAKEVALUE(x,S_IO_WIDTH_SEL) | 58 | #define V_IO_WIDTH_SEL(x) _SB_MAKEVALUE(x, S_IO_WIDTH_SEL) |
59 | #define G_IO_WIDTH_SEL(x) _SB_GETVALUE(x,S_IO_WIDTH_SEL,M_IO_WIDTH_SEL) | 59 | #define G_IO_WIDTH_SEL(x) _SB_GETVALUE(x, S_IO_WIDTH_SEL, M_IO_WIDTH_SEL) |
60 | 60 | ||
61 | #define S_IO_PARITY_ENA 4 | 61 | #define S_IO_PARITY_ENA 4 |
62 | #define M_IO_PARITY_ENA _SB_MAKEMASK1(S_IO_PARITY_ENA) | 62 | #define M_IO_PARITY_ENA _SB_MAKEMASK1(S_IO_PARITY_ENA) |
@@ -71,18 +71,18 @@ | |||
71 | #define M_IO_NONMUX _SB_MAKEMASK1(S_IO_NONMUX) | 71 | #define M_IO_NONMUX _SB_MAKEMASK1(S_IO_NONMUX) |
72 | 72 | ||
73 | #define S_IO_TIMEOUT 8 | 73 | #define S_IO_TIMEOUT 8 |
74 | #define M_IO_TIMEOUT _SB_MAKEMASK(8,S_IO_TIMEOUT) | 74 | #define M_IO_TIMEOUT _SB_MAKEMASK(8, S_IO_TIMEOUT) |
75 | #define V_IO_TIMEOUT(x) _SB_MAKEVALUE(x,S_IO_TIMEOUT) | 75 | #define V_IO_TIMEOUT(x) _SB_MAKEVALUE(x, S_IO_TIMEOUT) |
76 | #define G_IO_TIMEOUT(x) _SB_GETVALUE(x,S_IO_TIMEOUT,M_IO_TIMEOUT) | 76 | #define G_IO_TIMEOUT(x) _SB_GETVALUE(x, S_IO_TIMEOUT, M_IO_TIMEOUT) |
77 | 77 | ||
78 | /* | 78 | /* |
79 | * Generic Bus Region Size register (Table 11-5) | 79 | * Generic Bus Region Size register (Table 11-5) |
80 | */ | 80 | */ |
81 | 81 | ||
82 | #define S_IO_MULT_SIZE 0 | 82 | #define S_IO_MULT_SIZE 0 |
83 | #define M_IO_MULT_SIZE _SB_MAKEMASK(12,S_IO_MULT_SIZE) | 83 | #define M_IO_MULT_SIZE _SB_MAKEMASK(12, S_IO_MULT_SIZE) |
84 | #define V_IO_MULT_SIZE(x) _SB_MAKEVALUE(x,S_IO_MULT_SIZE) | 84 | #define V_IO_MULT_SIZE(x) _SB_MAKEVALUE(x, S_IO_MULT_SIZE) |
85 | #define G_IO_MULT_SIZE(x) _SB_GETVALUE(x,S_IO_MULT_SIZE,M_IO_MULT_SIZE) | 85 | #define G_IO_MULT_SIZE(x) _SB_GETVALUE(x, S_IO_MULT_SIZE, M_IO_MULT_SIZE) |
86 | 86 | ||
87 | #define S_IO_REGSIZE 16 /* # bits to shift size for this reg */ | 87 | #define S_IO_REGSIZE 16 /* # bits to shift size for this reg */ |
88 | 88 | ||
@@ -91,9 +91,9 @@ | |||
91 | */ | 91 | */ |
92 | 92 | ||
93 | #define S_IO_START_ADDR 0 | 93 | #define S_IO_START_ADDR 0 |
94 | #define M_IO_START_ADDR _SB_MAKEMASK(14,S_IO_START_ADDR) | 94 | #define M_IO_START_ADDR _SB_MAKEMASK(14, S_IO_START_ADDR) |
95 | #define V_IO_START_ADDR(x) _SB_MAKEVALUE(x,S_IO_START_ADDR) | 95 | #define V_IO_START_ADDR(x) _SB_MAKEVALUE(x, S_IO_START_ADDR) |
96 | #define G_IO_START_ADDR(x) _SB_GETVALUE(x,S_IO_START_ADDR,M_IO_START_ADDR) | 96 | #define G_IO_START_ADDR(x) _SB_GETVALUE(x, S_IO_START_ADDR, M_IO_START_ADDR) |
97 | 97 | ||
98 | #define S_IO_ADDRBASE 16 /* # bits to shift addr for this reg */ | 98 | #define S_IO_ADDRBASE 16 /* # bits to shift addr for this reg */ |
99 | 99 | ||
@@ -105,9 +105,9 @@ | |||
105 | */ | 105 | */ |
106 | 106 | ||
107 | #define S_IO_ALE_WIDTH 0 | 107 | #define S_IO_ALE_WIDTH 0 |
108 | #define M_IO_ALE_WIDTH _SB_MAKEMASK(3,S_IO_ALE_WIDTH) | 108 | #define M_IO_ALE_WIDTH _SB_MAKEMASK(3, S_IO_ALE_WIDTH) |
109 | #define V_IO_ALE_WIDTH(x) _SB_MAKEVALUE(x,S_IO_ALE_WIDTH) | 109 | #define V_IO_ALE_WIDTH(x) _SB_MAKEVALUE(x, S_IO_ALE_WIDTH) |
110 | #define G_IO_ALE_WIDTH(x) _SB_GETVALUE(x,S_IO_ALE_WIDTH,M_IO_ALE_WIDTH) | 110 | #define G_IO_ALE_WIDTH(x) _SB_GETVALUE(x, S_IO_ALE_WIDTH, M_IO_ALE_WIDTH) |
111 | 111 | ||
112 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ | 112 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
113 | || SIBYTE_HDR_FEATURE_CHIP(1480) | 113 | || SIBYTE_HDR_FEATURE_CHIP(1480) |
@@ -115,27 +115,27 @@ | |||
115 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 115 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
116 | 116 | ||
117 | #define S_IO_ALE_TO_CS 4 | 117 | #define S_IO_ALE_TO_CS 4 |
118 | #define M_IO_ALE_TO_CS _SB_MAKEMASK(2,S_IO_ALE_TO_CS) | 118 | #define M_IO_ALE_TO_CS _SB_MAKEMASK(2, S_IO_ALE_TO_CS) |
119 | #define V_IO_ALE_TO_CS(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_CS) | 119 | #define V_IO_ALE_TO_CS(x) _SB_MAKEVALUE(x, S_IO_ALE_TO_CS) |
120 | #define G_IO_ALE_TO_CS(x) _SB_GETVALUE(x,S_IO_ALE_TO_CS,M_IO_ALE_TO_CS) | 120 | #define G_IO_ALE_TO_CS(x) _SB_GETVALUE(x, S_IO_ALE_TO_CS, M_IO_ALE_TO_CS) |
121 | 121 | ||
122 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ | 122 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
123 | || SIBYTE_HDR_FEATURE_CHIP(1480) | 123 | || SIBYTE_HDR_FEATURE_CHIP(1480) |
124 | #define S_IO_BURST_WIDTH _SB_MAKE64(6) | 124 | #define S_IO_BURST_WIDTH _SB_MAKE64(6) |
125 | #define M_IO_BURST_WIDTH _SB_MAKEMASK(2,S_IO_BURST_WIDTH) | 125 | #define M_IO_BURST_WIDTH _SB_MAKEMASK(2, S_IO_BURST_WIDTH) |
126 | #define V_IO_BURST_WIDTH(x) _SB_MAKEVALUE(x,S_IO_BURST_WIDTH) | 126 | #define V_IO_BURST_WIDTH(x) _SB_MAKEVALUE(x, S_IO_BURST_WIDTH) |
127 | #define G_IO_BURST_WIDTH(x) _SB_GETVALUE(x,S_IO_BURST_WIDTH,M_IO_BURST_WIDTH) | 127 | #define G_IO_BURST_WIDTH(x) _SB_GETVALUE(x, S_IO_BURST_WIDTH, M_IO_BURST_WIDTH) |
128 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 128 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
129 | 129 | ||
130 | #define S_IO_CS_WIDTH 8 | 130 | #define S_IO_CS_WIDTH 8 |
131 | #define M_IO_CS_WIDTH _SB_MAKEMASK(5,S_IO_CS_WIDTH) | 131 | #define M_IO_CS_WIDTH _SB_MAKEMASK(5, S_IO_CS_WIDTH) |
132 | #define V_IO_CS_WIDTH(x) _SB_MAKEVALUE(x,S_IO_CS_WIDTH) | 132 | #define V_IO_CS_WIDTH(x) _SB_MAKEVALUE(x, S_IO_CS_WIDTH) |
133 | #define G_IO_CS_WIDTH(x) _SB_GETVALUE(x,S_IO_CS_WIDTH,M_IO_CS_WIDTH) | 133 | #define G_IO_CS_WIDTH(x) _SB_GETVALUE(x, S_IO_CS_WIDTH, M_IO_CS_WIDTH) |
134 | 134 | ||
135 | #define S_IO_RDY_SMPLE 13 | 135 | #define S_IO_RDY_SMPLE 13 |
136 | #define M_IO_RDY_SMPLE _SB_MAKEMASK(3,S_IO_RDY_SMPLE) | 136 | #define M_IO_RDY_SMPLE _SB_MAKEMASK(3, S_IO_RDY_SMPLE) |
137 | #define V_IO_RDY_SMPLE(x) _SB_MAKEVALUE(x,S_IO_RDY_SMPLE) | 137 | #define V_IO_RDY_SMPLE(x) _SB_MAKEVALUE(x, S_IO_RDY_SMPLE) |
138 | #define G_IO_RDY_SMPLE(x) _SB_GETVALUE(x,S_IO_RDY_SMPLE,M_IO_RDY_SMPLE) | 138 | #define G_IO_RDY_SMPLE(x) _SB_GETVALUE(x, S_IO_RDY_SMPLE, M_IO_RDY_SMPLE) |
139 | 139 | ||
140 | 140 | ||
141 | /* | 141 | /* |
@@ -143,9 +143,9 @@ | |||
143 | */ | 143 | */ |
144 | 144 | ||
145 | #define S_IO_ALE_TO_WRITE 0 | 145 | #define S_IO_ALE_TO_WRITE 0 |
146 | #define M_IO_ALE_TO_WRITE _SB_MAKEMASK(3,S_IO_ALE_TO_WRITE) | 146 | #define M_IO_ALE_TO_WRITE _SB_MAKEMASK(3, S_IO_ALE_TO_WRITE) |
147 | #define V_IO_ALE_TO_WRITE(x) _SB_MAKEVALUE(x,S_IO_ALE_TO_WRITE) | 147 | #define V_IO_ALE_TO_WRITE(x) _SB_MAKEVALUE(x, S_IO_ALE_TO_WRITE) |
148 | #define G_IO_ALE_TO_WRITE(x) _SB_GETVALUE(x,S_IO_ALE_TO_WRITE,M_IO_ALE_TO_WRITE) | 148 | #define G_IO_ALE_TO_WRITE(x) _SB_GETVALUE(x, S_IO_ALE_TO_WRITE, M_IO_ALE_TO_WRITE) |
149 | 149 | ||
150 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ | 150 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) \ |
151 | || SIBYTE_HDR_FEATURE_CHIP(1480) | 151 | || SIBYTE_HDR_FEATURE_CHIP(1480) |
@@ -153,30 +153,30 @@ | |||
153 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 153 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
154 | 154 | ||
155 | #define S_IO_WRITE_WIDTH 4 | 155 | #define S_IO_WRITE_WIDTH 4 |
156 | #define M_IO_WRITE_WIDTH _SB_MAKEMASK(4,S_IO_WRITE_WIDTH) | 156 | #define M_IO_WRITE_WIDTH _SB_MAKEMASK(4, S_IO_WRITE_WIDTH) |
157 | #define V_IO_WRITE_WIDTH(x) _SB_MAKEVALUE(x,S_IO_WRITE_WIDTH) | 157 | #define V_IO_WRITE_WIDTH(x) _SB_MAKEVALUE(x, S_IO_WRITE_WIDTH) |
158 | #define G_IO_WRITE_WIDTH(x) _SB_GETVALUE(x,S_IO_WRITE_WIDTH,M_IO_WRITE_WIDTH) | 158 | #define G_IO_WRITE_WIDTH(x) _SB_GETVALUE(x, S_IO_WRITE_WIDTH, M_IO_WRITE_WIDTH) |
159 | 159 | ||
160 | #define S_IO_IDLE_CYCLE 8 | 160 | #define S_IO_IDLE_CYCLE 8 |
161 | #define M_IO_IDLE_CYCLE _SB_MAKEMASK(4,S_IO_IDLE_CYCLE) | 161 | #define M_IO_IDLE_CYCLE _SB_MAKEMASK(4, S_IO_IDLE_CYCLE) |
162 | #define V_IO_IDLE_CYCLE(x) _SB_MAKEVALUE(x,S_IO_IDLE_CYCLE) | 162 | #define V_IO_IDLE_CYCLE(x) _SB_MAKEVALUE(x, S_IO_IDLE_CYCLE) |
163 | #define G_IO_IDLE_CYCLE(x) _SB_GETVALUE(x,S_IO_IDLE_CYCLE,M_IO_IDLE_CYCLE) | 163 | #define G_IO_IDLE_CYCLE(x) _SB_GETVALUE(x, S_IO_IDLE_CYCLE, M_IO_IDLE_CYCLE) |
164 | 164 | ||
165 | #define S_IO_OE_TO_CS 12 | 165 | #define S_IO_OE_TO_CS 12 |
166 | #define M_IO_OE_TO_CS _SB_MAKEMASK(2,S_IO_OE_TO_CS) | 166 | #define M_IO_OE_TO_CS _SB_MAKEMASK(2, S_IO_OE_TO_CS) |
167 | #define V_IO_OE_TO_CS(x) _SB_MAKEVALUE(x,S_IO_OE_TO_CS) | 167 | #define V_IO_OE_TO_CS(x) _SB_MAKEVALUE(x, S_IO_OE_TO_CS) |
168 | #define G_IO_OE_TO_CS(x) _SB_GETVALUE(x,S_IO_OE_TO_CS,M_IO_OE_TO_CS) | 168 | #define G_IO_OE_TO_CS(x) _SB_GETVALUE(x, S_IO_OE_TO_CS, M_IO_OE_TO_CS) |
169 | 169 | ||
170 | #define S_IO_CS_TO_OE 14 | 170 | #define S_IO_CS_TO_OE 14 |
171 | #define M_IO_CS_TO_OE _SB_MAKEMASK(2,S_IO_CS_TO_OE) | 171 | #define M_IO_CS_TO_OE _SB_MAKEMASK(2, S_IO_CS_TO_OE) |
172 | #define V_IO_CS_TO_OE(x) _SB_MAKEVALUE(x,S_IO_CS_TO_OE) | 172 | #define V_IO_CS_TO_OE(x) _SB_MAKEVALUE(x, S_IO_CS_TO_OE) |
173 | #define G_IO_CS_TO_OE(x) _SB_GETVALUE(x,S_IO_CS_TO_OE,M_IO_CS_TO_OE) | 173 | #define G_IO_CS_TO_OE(x) _SB_GETVALUE(x, S_IO_CS_TO_OE, M_IO_CS_TO_OE) |
174 | 174 | ||
175 | /* | 175 | /* |
176 | * Generic Bus Interrupt Status Register (Table 11-9) | 176 | * Generic Bus Interrupt Status Register (Table 11-9) |
177 | */ | 177 | */ |
178 | 178 | ||
179 | #define M_IO_CS_ERR_INT _SB_MAKEMASK(0,8) | 179 | #define M_IO_CS_ERR_INT _SB_MAKEMASK(0, 8) |
180 | #define M_IO_CS0_ERR_INT _SB_MAKEMASK1(0) | 180 | #define M_IO_CS0_ERR_INT _SB_MAKEMASK1(0) |
181 | #define M_IO_CS1_ERR_INT _SB_MAKEMASK1(1) | 181 | #define M_IO_CS1_ERR_INT _SB_MAKEMASK1(1) |
182 | #define M_IO_CS2_ERR_INT _SB_MAKEMASK1(2) | 182 | #define M_IO_CS2_ERR_INT _SB_MAKEMASK1(2) |
@@ -200,116 +200,116 @@ | |||
200 | */ | 200 | */ |
201 | 201 | ||
202 | #define S_IO_SLEW0 0 | 202 | #define S_IO_SLEW0 0 |
203 | #define M_IO_SLEW0 _SB_MAKEMASK(2,S_IO_SLEW0) | 203 | #define M_IO_SLEW0 _SB_MAKEMASK(2, S_IO_SLEW0) |
204 | #define V_IO_SLEW0(x) _SB_MAKEVALUE(x,S_IO_SLEW0) | 204 | #define V_IO_SLEW0(x) _SB_MAKEVALUE(x, S_IO_SLEW0) |
205 | #define G_IO_SLEW0(x) _SB_GETVALUE(x,S_IO_SLEW0,M_IO_SLEW0) | 205 | #define G_IO_SLEW0(x) _SB_GETVALUE(x, S_IO_SLEW0, M_IO_SLEW0) |
206 | 206 | ||
207 | #define S_IO_DRV_A 2 | 207 | #define S_IO_DRV_A 2 |
208 | #define M_IO_DRV_A _SB_MAKEMASK(2,S_IO_DRV_A) | 208 | #define M_IO_DRV_A _SB_MAKEMASK(2, S_IO_DRV_A) |
209 | #define V_IO_DRV_A(x) _SB_MAKEVALUE(x,S_IO_DRV_A) | 209 | #define V_IO_DRV_A(x) _SB_MAKEVALUE(x, S_IO_DRV_A) |
210 | #define G_IO_DRV_A(x) _SB_GETVALUE(x,S_IO_DRV_A,M_IO_DRV_A) | 210 | #define G_IO_DRV_A(x) _SB_GETVALUE(x, S_IO_DRV_A, M_IO_DRV_A) |
211 | 211 | ||
212 | #define S_IO_DRV_B 6 | 212 | #define S_IO_DRV_B 6 |
213 | #define M_IO_DRV_B _SB_MAKEMASK(2,S_IO_DRV_B) | 213 | #define M_IO_DRV_B _SB_MAKEMASK(2, S_IO_DRV_B) |
214 | #define V_IO_DRV_B(x) _SB_MAKEVALUE(x,S_IO_DRV_B) | 214 | #define V_IO_DRV_B(x) _SB_MAKEVALUE(x, S_IO_DRV_B) |
215 | #define G_IO_DRV_B(x) _SB_GETVALUE(x,S_IO_DRV_B,M_IO_DRV_B) | 215 | #define G_IO_DRV_B(x) _SB_GETVALUE(x, S_IO_DRV_B, M_IO_DRV_B) |
216 | 216 | ||
217 | #define S_IO_DRV_C 10 | 217 | #define S_IO_DRV_C 10 |
218 | #define M_IO_DRV_C _SB_MAKEMASK(2,S_IO_DRV_C) | 218 | #define M_IO_DRV_C _SB_MAKEMASK(2, S_IO_DRV_C) |
219 | #define V_IO_DRV_C(x) _SB_MAKEVALUE(x,S_IO_DRV_C) | 219 | #define V_IO_DRV_C(x) _SB_MAKEVALUE(x, S_IO_DRV_C) |
220 | #define G_IO_DRV_C(x) _SB_GETVALUE(x,S_IO_DRV_C,M_IO_DRV_C) | 220 | #define G_IO_DRV_C(x) _SB_GETVALUE(x, S_IO_DRV_C, M_IO_DRV_C) |
221 | 221 | ||
222 | #define S_IO_DRV_D 14 | 222 | #define S_IO_DRV_D 14 |
223 | #define M_IO_DRV_D _SB_MAKEMASK(2,S_IO_DRV_D) | 223 | #define M_IO_DRV_D _SB_MAKEMASK(2, S_IO_DRV_D) |
224 | #define V_IO_DRV_D(x) _SB_MAKEVALUE(x,S_IO_DRV_D) | 224 | #define V_IO_DRV_D(x) _SB_MAKEVALUE(x, S_IO_DRV_D) |
225 | #define G_IO_DRV_D(x) _SB_GETVALUE(x,S_IO_DRV_D,M_IO_DRV_D) | 225 | #define G_IO_DRV_D(x) _SB_GETVALUE(x, S_IO_DRV_D, M_IO_DRV_D) |
226 | 226 | ||
227 | /* | 227 | /* |
228 | * Generic Bus Output Drive Control Register 1 (Table 14-19) | 228 | * Generic Bus Output Drive Control Register 1 (Table 14-19) |
229 | */ | 229 | */ |
230 | 230 | ||
231 | #define S_IO_DRV_E 2 | 231 | #define S_IO_DRV_E 2 |
232 | #define M_IO_DRV_E _SB_MAKEMASK(2,S_IO_DRV_E) | 232 | #define M_IO_DRV_E _SB_MAKEMASK(2, S_IO_DRV_E) |
233 | #define V_IO_DRV_E(x) _SB_MAKEVALUE(x,S_IO_DRV_E) | 233 | #define V_IO_DRV_E(x) _SB_MAKEVALUE(x, S_IO_DRV_E) |
234 | #define G_IO_DRV_E(x) _SB_GETVALUE(x,S_IO_DRV_E,M_IO_DRV_E) | 234 | #define G_IO_DRV_E(x) _SB_GETVALUE(x, S_IO_DRV_E, M_IO_DRV_E) |
235 | 235 | ||
236 | #define S_IO_DRV_F 6 | 236 | #define S_IO_DRV_F 6 |
237 | #define M_IO_DRV_F _SB_MAKEMASK(2,S_IO_DRV_F) | 237 | #define M_IO_DRV_F _SB_MAKEMASK(2, S_IO_DRV_F) |
238 | #define V_IO_DRV_F(x) _SB_MAKEVALUE(x,S_IO_DRV_F) | 238 | #define V_IO_DRV_F(x) _SB_MAKEVALUE(x, S_IO_DRV_F) |
239 | #define G_IO_DRV_F(x) _SB_GETVALUE(x,S_IO_DRV_F,M_IO_DRV_F) | 239 | #define G_IO_DRV_F(x) _SB_GETVALUE(x, S_IO_DRV_F, M_IO_DRV_F) |
240 | 240 | ||
241 | #define S_IO_SLEW1 8 | 241 | #define S_IO_SLEW1 8 |
242 | #define M_IO_SLEW1 _SB_MAKEMASK(2,S_IO_SLEW1) | 242 | #define M_IO_SLEW1 _SB_MAKEMASK(2, S_IO_SLEW1) |
243 | #define V_IO_SLEW1(x) _SB_MAKEVALUE(x,S_IO_SLEW1) | 243 | #define V_IO_SLEW1(x) _SB_MAKEVALUE(x, S_IO_SLEW1) |
244 | #define G_IO_SLEW1(x) _SB_GETVALUE(x,S_IO_SLEW1,M_IO_SLEW1) | 244 | #define G_IO_SLEW1(x) _SB_GETVALUE(x, S_IO_SLEW1, M_IO_SLEW1) |
245 | 245 | ||
246 | #define S_IO_DRV_G 10 | 246 | #define S_IO_DRV_G 10 |
247 | #define M_IO_DRV_G _SB_MAKEMASK(2,S_IO_DRV_G) | 247 | #define M_IO_DRV_G _SB_MAKEMASK(2, S_IO_DRV_G) |
248 | #define V_IO_DRV_G(x) _SB_MAKEVALUE(x,S_IO_DRV_G) | 248 | #define V_IO_DRV_G(x) _SB_MAKEVALUE(x, S_IO_DRV_G) |
249 | #define G_IO_DRV_G(x) _SB_GETVALUE(x,S_IO_DRV_G,M_IO_DRV_G) | 249 | #define G_IO_DRV_G(x) _SB_GETVALUE(x, S_IO_DRV_G, M_IO_DRV_G) |
250 | 250 | ||
251 | #define S_IO_SLEW2 12 | 251 | #define S_IO_SLEW2 12 |
252 | #define M_IO_SLEW2 _SB_MAKEMASK(2,S_IO_SLEW2) | 252 | #define M_IO_SLEW2 _SB_MAKEMASK(2, S_IO_SLEW2) |
253 | #define V_IO_SLEW2(x) _SB_MAKEVALUE(x,S_IO_SLEW2) | 253 | #define V_IO_SLEW2(x) _SB_MAKEVALUE(x, S_IO_SLEW2) |
254 | #define G_IO_SLEW2(x) _SB_GETVALUE(x,S_IO_SLEW2,M_IO_SLEW2) | 254 | #define G_IO_SLEW2(x) _SB_GETVALUE(x, S_IO_SLEW2, M_IO_SLEW2) |
255 | 255 | ||
256 | #define S_IO_DRV_H 14 | 256 | #define S_IO_DRV_H 14 |
257 | #define M_IO_DRV_H _SB_MAKEMASK(2,S_IO_DRV_H) | 257 | #define M_IO_DRV_H _SB_MAKEMASK(2, S_IO_DRV_H) |
258 | #define V_IO_DRV_H(x) _SB_MAKEVALUE(x,S_IO_DRV_H) | 258 | #define V_IO_DRV_H(x) _SB_MAKEVALUE(x, S_IO_DRV_H) |
259 | #define G_IO_DRV_H(x) _SB_GETVALUE(x,S_IO_DRV_H,M_IO_DRV_H) | 259 | #define G_IO_DRV_H(x) _SB_GETVALUE(x, S_IO_DRV_H, M_IO_DRV_H) |
260 | 260 | ||
261 | /* | 261 | /* |
262 | * Generic Bus Output Drive Control Register 2 (Table 14-20) | 262 | * Generic Bus Output Drive Control Register 2 (Table 14-20) |
263 | */ | 263 | */ |
264 | 264 | ||
265 | #define S_IO_DRV_J 2 | 265 | #define S_IO_DRV_J 2 |
266 | #define M_IO_DRV_J _SB_MAKEMASK(2,S_IO_DRV_J) | 266 | #define M_IO_DRV_J _SB_MAKEMASK(2, S_IO_DRV_J) |
267 | #define V_IO_DRV_J(x) _SB_MAKEVALUE(x,S_IO_DRV_J) | 267 | #define V_IO_DRV_J(x) _SB_MAKEVALUE(x, S_IO_DRV_J) |
268 | #define G_IO_DRV_J(x) _SB_GETVALUE(x,S_IO_DRV_J,M_IO_DRV_J) | 268 | #define G_IO_DRV_J(x) _SB_GETVALUE(x, S_IO_DRV_J, M_IO_DRV_J) |
269 | 269 | ||
270 | #define S_IO_DRV_K 6 | 270 | #define S_IO_DRV_K 6 |
271 | #define M_IO_DRV_K _SB_MAKEMASK(2,S_IO_DRV_K) | 271 | #define M_IO_DRV_K _SB_MAKEMASK(2, S_IO_DRV_K) |
272 | #define V_IO_DRV_K(x) _SB_MAKEVALUE(x,S_IO_DRV_K) | 272 | #define V_IO_DRV_K(x) _SB_MAKEVALUE(x, S_IO_DRV_K) |
273 | #define G_IO_DRV_K(x) _SB_GETVALUE(x,S_IO_DRV_K,M_IO_DRV_K) | 273 | #define G_IO_DRV_K(x) _SB_GETVALUE(x, S_IO_DRV_K, M_IO_DRV_K) |
274 | 274 | ||
275 | #define S_IO_DRV_L 10 | 275 | #define S_IO_DRV_L 10 |
276 | #define M_IO_DRV_L _SB_MAKEMASK(2,S_IO_DRV_L) | 276 | #define M_IO_DRV_L _SB_MAKEMASK(2, S_IO_DRV_L) |
277 | #define V_IO_DRV_L(x) _SB_MAKEVALUE(x,S_IO_DRV_L) | 277 | #define V_IO_DRV_L(x) _SB_MAKEVALUE(x, S_IO_DRV_L) |
278 | #define G_IO_DRV_L(x) _SB_GETVALUE(x,S_IO_DRV_L,M_IO_DRV_L) | 278 | #define G_IO_DRV_L(x) _SB_GETVALUE(x, S_IO_DRV_L, M_IO_DRV_L) |
279 | 279 | ||
280 | #define S_IO_DRV_M 14 | 280 | #define S_IO_DRV_M 14 |
281 | #define M_IO_DRV_M _SB_MAKEMASK(2,S_IO_DRV_M) | 281 | #define M_IO_DRV_M _SB_MAKEMASK(2, S_IO_DRV_M) |
282 | #define V_IO_DRV_M(x) _SB_MAKEVALUE(x,S_IO_DRV_M) | 282 | #define V_IO_DRV_M(x) _SB_MAKEVALUE(x, S_IO_DRV_M) |
283 | #define G_IO_DRV_M(x) _SB_GETVALUE(x,S_IO_DRV_M,M_IO_DRV_M) | 283 | #define G_IO_DRV_M(x) _SB_GETVALUE(x, S_IO_DRV_M, M_IO_DRV_M) |
284 | 284 | ||
285 | /* | 285 | /* |
286 | * Generic Bus Output Drive Control Register 3 (Table 14-21) | 286 | * Generic Bus Output Drive Control Register 3 (Table 14-21) |
287 | */ | 287 | */ |
288 | 288 | ||
289 | #define S_IO_SLEW3 0 | 289 | #define S_IO_SLEW3 0 |
290 | #define M_IO_SLEW3 _SB_MAKEMASK(2,S_IO_SLEW3) | 290 | #define M_IO_SLEW3 _SB_MAKEMASK(2, S_IO_SLEW3) |
291 | #define V_IO_SLEW3(x) _SB_MAKEVALUE(x,S_IO_SLEW3) | 291 | #define V_IO_SLEW3(x) _SB_MAKEVALUE(x, S_IO_SLEW3) |
292 | #define G_IO_SLEW3(x) _SB_GETVALUE(x,S_IO_SLEW3,M_IO_SLEW3) | 292 | #define G_IO_SLEW3(x) _SB_GETVALUE(x, S_IO_SLEW3, M_IO_SLEW3) |
293 | 293 | ||
294 | #define S_IO_DRV_N 2 | 294 | #define S_IO_DRV_N 2 |
295 | #define M_IO_DRV_N _SB_MAKEMASK(2,S_IO_DRV_N) | 295 | #define M_IO_DRV_N _SB_MAKEMASK(2, S_IO_DRV_N) |
296 | #define V_IO_DRV_N(x) _SB_MAKEVALUE(x,S_IO_DRV_N) | 296 | #define V_IO_DRV_N(x) _SB_MAKEVALUE(x, S_IO_DRV_N) |
297 | #define G_IO_DRV_N(x) _SB_GETVALUE(x,S_IO_DRV_N,M_IO_DRV_N) | 297 | #define G_IO_DRV_N(x) _SB_GETVALUE(x, S_IO_DRV_N, M_IO_DRV_N) |
298 | 298 | ||
299 | #define S_IO_DRV_P 6 | 299 | #define S_IO_DRV_P 6 |
300 | #define M_IO_DRV_P _SB_MAKEMASK(2,S_IO_DRV_P) | 300 | #define M_IO_DRV_P _SB_MAKEMASK(2, S_IO_DRV_P) |
301 | #define V_IO_DRV_P(x) _SB_MAKEVALUE(x,S_IO_DRV_P) | 301 | #define V_IO_DRV_P(x) _SB_MAKEVALUE(x, S_IO_DRV_P) |
302 | #define G_IO_DRV_P(x) _SB_GETVALUE(x,S_IO_DRV_P,M_IO_DRV_P) | 302 | #define G_IO_DRV_P(x) _SB_GETVALUE(x, S_IO_DRV_P, M_IO_DRV_P) |
303 | 303 | ||
304 | #define S_IO_DRV_Q 10 | 304 | #define S_IO_DRV_Q 10 |
305 | #define M_IO_DRV_Q _SB_MAKEMASK(2,S_IO_DRV_Q) | 305 | #define M_IO_DRV_Q _SB_MAKEMASK(2, S_IO_DRV_Q) |
306 | #define V_IO_DRV_Q(x) _SB_MAKEVALUE(x,S_IO_DRV_Q) | 306 | #define V_IO_DRV_Q(x) _SB_MAKEVALUE(x, S_IO_DRV_Q) |
307 | #define G_IO_DRV_Q(x) _SB_GETVALUE(x,S_IO_DRV_Q,M_IO_DRV_Q) | 307 | #define G_IO_DRV_Q(x) _SB_GETVALUE(x, S_IO_DRV_Q, M_IO_DRV_Q) |
308 | 308 | ||
309 | #define S_IO_DRV_R 14 | 309 | #define S_IO_DRV_R 14 |
310 | #define M_IO_DRV_R _SB_MAKEMASK(2,S_IO_DRV_R) | 310 | #define M_IO_DRV_R _SB_MAKEMASK(2, S_IO_DRV_R) |
311 | #define V_IO_DRV_R(x) _SB_MAKEVALUE(x,S_IO_DRV_R) | 311 | #define V_IO_DRV_R(x) _SB_MAKEVALUE(x, S_IO_DRV_R) |
312 | #define G_IO_DRV_R(x) _SB_GETVALUE(x,S_IO_DRV_R,M_IO_DRV_R) | 312 | #define G_IO_DRV_R(x) _SB_GETVALUE(x, S_IO_DRV_R, M_IO_DRV_R) |
313 | 313 | ||
314 | 314 | ||
315 | /* | 315 | /* |
@@ -329,9 +329,9 @@ | |||
329 | 329 | ||
330 | #if SIBYTE_HDR_FEATURE_CHIP(1480) | 330 | #if SIBYTE_HDR_FEATURE_CHIP(1480) |
331 | #define S_PCMCIA_MODE 16 | 331 | #define S_PCMCIA_MODE 16 |
332 | #define M_PCMCIA_MODE _SB_MAKEMASK(3,S_PCMCIA_MODE) | 332 | #define M_PCMCIA_MODE _SB_MAKEMASK(3, S_PCMCIA_MODE) |
333 | #define V_PCMCIA_MODE(x) _SB_MAKEVALUE(x,S_PCMCIA_MODE) | 333 | #define V_PCMCIA_MODE(x) _SB_MAKEVALUE(x, S_PCMCIA_MODE) |
334 | #define G_PCMCIA_MODE(x) _SB_GETVALUE(x,S_PCMCIA_MODE,M_PCMCIA_MODE) | 334 | #define G_PCMCIA_MODE(x) _SB_GETVALUE(x, S_PCMCIA_MODE, M_PCMCIA_MODE) |
335 | 335 | ||
336 | #define K_PCMCIA_MODE_PCMA_NOB 0 /* standard PCMCIA "A", no "B" */ | 336 | #define K_PCMCIA_MODE_PCMA_NOB 0 /* standard PCMCIA "A", no "B" */ |
337 | #define K_PCMCIA_MODE_IDEA_NOB 1 /* IDE "A", no "B" */ | 337 | #define K_PCMCIA_MODE_IDEA_NOB 1 /* IDE "A", no "B" */ |
@@ -369,49 +369,49 @@ | |||
369 | #define K_GPIO_INTR_SPLIT 3 | 369 | #define K_GPIO_INTR_SPLIT 3 |
370 | 370 | ||
371 | #define S_GPIO_INTR_TYPEX(n) (((n)/2)*2) | 371 | #define S_GPIO_INTR_TYPEX(n) (((n)/2)*2) |
372 | #define M_GPIO_INTR_TYPEX(n) _SB_MAKEMASK(2,S_GPIO_INTR_TYPEX(n)) | 372 | #define M_GPIO_INTR_TYPEX(n) _SB_MAKEMASK(2, S_GPIO_INTR_TYPEX(n)) |
373 | #define V_GPIO_INTR_TYPEX(n,x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPEX(n)) | 373 | #define V_GPIO_INTR_TYPEX(n, x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPEX(n)) |
374 | #define G_GPIO_INTR_TYPEX(n,x) _SB_GETVALUE(x,S_GPIO_INTR_TYPEX(n),M_GPIO_INTR_TYPEX(n)) | 374 | #define G_GPIO_INTR_TYPEX(n, x) _SB_GETVALUE(x, S_GPIO_INTR_TYPEX(n), M_GPIO_INTR_TYPEX(n)) |
375 | 375 | ||
376 | #define S_GPIO_INTR_TYPE0 0 | 376 | #define S_GPIO_INTR_TYPE0 0 |
377 | #define M_GPIO_INTR_TYPE0 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE0) | 377 | #define M_GPIO_INTR_TYPE0 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE0) |
378 | #define V_GPIO_INTR_TYPE0(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE0) | 378 | #define V_GPIO_INTR_TYPE0(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE0) |
379 | #define G_GPIO_INTR_TYPE0(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE0,M_GPIO_INTR_TYPE0) | 379 | #define G_GPIO_INTR_TYPE0(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE0, M_GPIO_INTR_TYPE0) |
380 | 380 | ||
381 | #define S_GPIO_INTR_TYPE2 2 | 381 | #define S_GPIO_INTR_TYPE2 2 |
382 | #define M_GPIO_INTR_TYPE2 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE2) | 382 | #define M_GPIO_INTR_TYPE2 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE2) |
383 | #define V_GPIO_INTR_TYPE2(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE2) | 383 | #define V_GPIO_INTR_TYPE2(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE2) |
384 | #define G_GPIO_INTR_TYPE2(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE2,M_GPIO_INTR_TYPE2) | 384 | #define G_GPIO_INTR_TYPE2(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE2, M_GPIO_INTR_TYPE2) |
385 | 385 | ||
386 | #define S_GPIO_INTR_TYPE4 4 | 386 | #define S_GPIO_INTR_TYPE4 4 |
387 | #define M_GPIO_INTR_TYPE4 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE4) | 387 | #define M_GPIO_INTR_TYPE4 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE4) |
388 | #define V_GPIO_INTR_TYPE4(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE4) | 388 | #define V_GPIO_INTR_TYPE4(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE4) |
389 | #define G_GPIO_INTR_TYPE4(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE4,M_GPIO_INTR_TYPE4) | 389 | #define G_GPIO_INTR_TYPE4(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE4, M_GPIO_INTR_TYPE4) |
390 | 390 | ||
391 | #define S_GPIO_INTR_TYPE6 6 | 391 | #define S_GPIO_INTR_TYPE6 6 |
392 | #define M_GPIO_INTR_TYPE6 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE6) | 392 | #define M_GPIO_INTR_TYPE6 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE6) |
393 | #define V_GPIO_INTR_TYPE6(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE6) | 393 | #define V_GPIO_INTR_TYPE6(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE6) |
394 | #define G_GPIO_INTR_TYPE6(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE6,M_GPIO_INTR_TYPE6) | 394 | #define G_GPIO_INTR_TYPE6(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE6, M_GPIO_INTR_TYPE6) |
395 | 395 | ||
396 | #define S_GPIO_INTR_TYPE8 8 | 396 | #define S_GPIO_INTR_TYPE8 8 |
397 | #define M_GPIO_INTR_TYPE8 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE8) | 397 | #define M_GPIO_INTR_TYPE8 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE8) |
398 | #define V_GPIO_INTR_TYPE8(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE8) | 398 | #define V_GPIO_INTR_TYPE8(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE8) |
399 | #define G_GPIO_INTR_TYPE8(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE8,M_GPIO_INTR_TYPE8) | 399 | #define G_GPIO_INTR_TYPE8(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE8, M_GPIO_INTR_TYPE8) |
400 | 400 | ||
401 | #define S_GPIO_INTR_TYPE10 10 | 401 | #define S_GPIO_INTR_TYPE10 10 |
402 | #define M_GPIO_INTR_TYPE10 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE10) | 402 | #define M_GPIO_INTR_TYPE10 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE10) |
403 | #define V_GPIO_INTR_TYPE10(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE10) | 403 | #define V_GPIO_INTR_TYPE10(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE10) |
404 | #define G_GPIO_INTR_TYPE10(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE10,M_GPIO_INTR_TYPE10) | 404 | #define G_GPIO_INTR_TYPE10(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE10, M_GPIO_INTR_TYPE10) |
405 | 405 | ||
406 | #define S_GPIO_INTR_TYPE12 12 | 406 | #define S_GPIO_INTR_TYPE12 12 |
407 | #define M_GPIO_INTR_TYPE12 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE12) | 407 | #define M_GPIO_INTR_TYPE12 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE12) |
408 | #define V_GPIO_INTR_TYPE12(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE12) | 408 | #define V_GPIO_INTR_TYPE12(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE12) |
409 | #define G_GPIO_INTR_TYPE12(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE12,M_GPIO_INTR_TYPE12) | 409 | #define G_GPIO_INTR_TYPE12(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE12, M_GPIO_INTR_TYPE12) |
410 | 410 | ||
411 | #define S_GPIO_INTR_TYPE14 14 | 411 | #define S_GPIO_INTR_TYPE14 14 |
412 | #define M_GPIO_INTR_TYPE14 _SB_MAKEMASK(2,S_GPIO_INTR_TYPE14) | 412 | #define M_GPIO_INTR_TYPE14 _SB_MAKEMASK(2, S_GPIO_INTR_TYPE14) |
413 | #define V_GPIO_INTR_TYPE14(x) _SB_MAKEVALUE(x,S_GPIO_INTR_TYPE14) | 413 | #define V_GPIO_INTR_TYPE14(x) _SB_MAKEVALUE(x, S_GPIO_INTR_TYPE14) |
414 | #define G_GPIO_INTR_TYPE14(x) _SB_GETVALUE(x,S_GPIO_INTR_TYPE14,M_GPIO_INTR_TYPE14) | 414 | #define G_GPIO_INTR_TYPE14(x) _SB_GETVALUE(x, S_GPIO_INTR_TYPE14, M_GPIO_INTR_TYPE14) |
415 | 415 | ||
416 | #if SIBYTE_HDR_FEATURE_CHIP(1480) | 416 | #if SIBYTE_HDR_FEATURE_CHIP(1480) |
417 | 417 | ||
@@ -425,49 +425,49 @@ | |||
425 | #define K_GPIO_INTR_UNPRED2 3 | 425 | #define K_GPIO_INTR_UNPRED2 3 |
426 | 426 | ||
427 | #define S_GPIO_INTR_ATYPEX(n) (((n)/2)*2) | 427 | #define S_GPIO_INTR_ATYPEX(n) (((n)/2)*2) |
428 | #define M_GPIO_INTR_ATYPEX(n) _SB_MAKEMASK(2,S_GPIO_INTR_ATYPEX(n)) | 428 | #define M_GPIO_INTR_ATYPEX(n) _SB_MAKEMASK(2, S_GPIO_INTR_ATYPEX(n)) |
429 | #define V_GPIO_INTR_ATYPEX(n,x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPEX(n)) | 429 | #define V_GPIO_INTR_ATYPEX(n, x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPEX(n)) |
430 | #define G_GPIO_INTR_ATYPEX(n,x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPEX(n),M_GPIO_INTR_ATYPEX(n)) | 430 | #define G_GPIO_INTR_ATYPEX(n, x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPEX(n), M_GPIO_INTR_ATYPEX(n)) |
431 | 431 | ||
432 | #define S_GPIO_INTR_ATYPE0 0 | 432 | #define S_GPIO_INTR_ATYPE0 0 |
433 | #define M_GPIO_INTR_ATYPE0 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE0) | 433 | #define M_GPIO_INTR_ATYPE0 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE0) |
434 | #define V_GPIO_INTR_ATYPE0(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE0) | 434 | #define V_GPIO_INTR_ATYPE0(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE0) |
435 | #define G_GPIO_INTR_ATYPE0(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE0,M_GPIO_INTR_ATYPE0) | 435 | #define G_GPIO_INTR_ATYPE0(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE0, M_GPIO_INTR_ATYPE0) |
436 | 436 | ||
437 | #define S_GPIO_INTR_ATYPE2 2 | 437 | #define S_GPIO_INTR_ATYPE2 2 |
438 | #define M_GPIO_INTR_ATYPE2 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE2) | 438 | #define M_GPIO_INTR_ATYPE2 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE2) |
439 | #define V_GPIO_INTR_ATYPE2(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE2) | 439 | #define V_GPIO_INTR_ATYPE2(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE2) |
440 | #define G_GPIO_INTR_ATYPE2(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE2,M_GPIO_INTR_ATYPE2) | 440 | #define G_GPIO_INTR_ATYPE2(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE2, M_GPIO_INTR_ATYPE2) |
441 | 441 | ||
442 | #define S_GPIO_INTR_ATYPE4 4 | 442 | #define S_GPIO_INTR_ATYPE4 4 |
443 | #define M_GPIO_INTR_ATYPE4 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE4) | 443 | #define M_GPIO_INTR_ATYPE4 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE4) |
444 | #define V_GPIO_INTR_ATYPE4(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE4) | 444 | #define V_GPIO_INTR_ATYPE4(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE4) |
445 | #define G_GPIO_INTR_ATYPE4(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE4,M_GPIO_INTR_ATYPE4) | 445 | #define G_GPIO_INTR_ATYPE4(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE4, M_GPIO_INTR_ATYPE4) |
446 | 446 | ||
447 | #define S_GPIO_INTR_ATYPE6 6 | 447 | #define S_GPIO_INTR_ATYPE6 6 |
448 | #define M_GPIO_INTR_ATYPE6 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE6) | 448 | #define M_GPIO_INTR_ATYPE6 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE6) |
449 | #define V_GPIO_INTR_ATYPE6(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE6) | 449 | #define V_GPIO_INTR_ATYPE6(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE6) |
450 | #define G_GPIO_INTR_ATYPE6(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE6,M_GPIO_INTR_ATYPE6) | 450 | #define G_GPIO_INTR_ATYPE6(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE6, M_GPIO_INTR_ATYPE6) |
451 | 451 | ||
452 | #define S_GPIO_INTR_ATYPE8 8 | 452 | #define S_GPIO_INTR_ATYPE8 8 |
453 | #define M_GPIO_INTR_ATYPE8 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE8) | 453 | #define M_GPIO_INTR_ATYPE8 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE8) |
454 | #define V_GPIO_INTR_ATYPE8(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE8) | 454 | #define V_GPIO_INTR_ATYPE8(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE8) |
455 | #define G_GPIO_INTR_ATYPE8(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE8,M_GPIO_INTR_ATYPE8) | 455 | #define G_GPIO_INTR_ATYPE8(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE8, M_GPIO_INTR_ATYPE8) |
456 | 456 | ||
457 | #define S_GPIO_INTR_ATYPE10 10 | 457 | #define S_GPIO_INTR_ATYPE10 10 |
458 | #define M_GPIO_INTR_ATYPE10 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE10) | 458 | #define M_GPIO_INTR_ATYPE10 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE10) |
459 | #define V_GPIO_INTR_ATYPE10(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE10) | 459 | #define V_GPIO_INTR_ATYPE10(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE10) |
460 | #define G_GPIO_INTR_ATYPE10(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE10,M_GPIO_INTR_ATYPE10) | 460 | #define G_GPIO_INTR_ATYPE10(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE10, M_GPIO_INTR_ATYPE10) |
461 | 461 | ||
462 | #define S_GPIO_INTR_ATYPE12 12 | 462 | #define S_GPIO_INTR_ATYPE12 12 |
463 | #define M_GPIO_INTR_ATYPE12 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE12) | 463 | #define M_GPIO_INTR_ATYPE12 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE12) |
464 | #define V_GPIO_INTR_ATYPE12(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE12) | 464 | #define V_GPIO_INTR_ATYPE12(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE12) |
465 | #define G_GPIO_INTR_ATYPE12(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE12,M_GPIO_INTR_ATYPE12) | 465 | #define G_GPIO_INTR_ATYPE12(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE12, M_GPIO_INTR_ATYPE12) |
466 | 466 | ||
467 | #define S_GPIO_INTR_ATYPE14 14 | 467 | #define S_GPIO_INTR_ATYPE14 14 |
468 | #define M_GPIO_INTR_ATYPE14 _SB_MAKEMASK(2,S_GPIO_INTR_ATYPE14) | 468 | #define M_GPIO_INTR_ATYPE14 _SB_MAKEMASK(2, S_GPIO_INTR_ATYPE14) |
469 | #define V_GPIO_INTR_ATYPE14(x) _SB_MAKEVALUE(x,S_GPIO_INTR_ATYPE14) | 469 | #define V_GPIO_INTR_ATYPE14(x) _SB_MAKEVALUE(x, S_GPIO_INTR_ATYPE14) |
470 | #define G_GPIO_INTR_ATYPE14(x) _SB_GETVALUE(x,S_GPIO_INTR_ATYPE14,M_GPIO_INTR_ATYPE14) | 470 | #define G_GPIO_INTR_ATYPE14(x) _SB_GETVALUE(x, S_GPIO_INTR_ATYPE14, M_GPIO_INTR_ATYPE14) |
471 | #endif | 471 | #endif |
472 | 472 | ||
473 | 473 | ||
diff --git a/include/asm-mips/sibyte/sb1250_int.h b/include/asm-mips/sibyte/sb1250_int.h index 94e8299b0a2a..f2850b4bcfd4 100644 --- a/include/asm-mips/sibyte/sb1250_int.h +++ b/include/asm-mips/sibyte/sb1250_int.h | |||
@@ -10,7 +10,7 @@ | |||
10 | * | 10 | * |
11 | ********************************************************************* | 11 | ********************************************************************* |
12 | * | 12 | * |
13 | * Copyright 2000,2001,2002,2003 | 13 | * Copyright 2000, 2001, 2002, 2003 |
14 | * Broadcom Corporation. All rights reserved. | 14 | * Broadcom Corporation. All rights reserved. |
15 | * | 15 | * |
16 | * This program is free software; you can redistribute it and/or | 16 | * This program is free software; you can redistribute it and/or |
@@ -150,7 +150,7 @@ | |||
150 | #define M_INT_MBOX_1 _SB_MAKEMASK1(K_INT_MBOX_1) | 150 | #define M_INT_MBOX_1 _SB_MAKEMASK1(K_INT_MBOX_1) |
151 | #define M_INT_MBOX_2 _SB_MAKEMASK1(K_INT_MBOX_2) | 151 | #define M_INT_MBOX_2 _SB_MAKEMASK1(K_INT_MBOX_2) |
152 | #define M_INT_MBOX_3 _SB_MAKEMASK1(K_INT_MBOX_3) | 152 | #define M_INT_MBOX_3 _SB_MAKEMASK1(K_INT_MBOX_3) |
153 | #define M_INT_MBOX_ALL _SB_MAKEMASK(4,K_INT_MBOX_0) | 153 | #define M_INT_MBOX_ALL _SB_MAKEMASK(4, K_INT_MBOX_0) |
154 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 154 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) |
155 | #define M_INT_CYCLE_CP0_INT _SB_MAKEMASK1(K_INT_CYCLE_CP0_INT) | 155 | #define M_INT_CYCLE_CP0_INT _SB_MAKEMASK1(K_INT_CYCLE_CP0_INT) |
156 | #define M_INT_CYCLE_CP1_INT _SB_MAKEMASK1(K_INT_CYCLE_CP1_INT) | 156 | #define M_INT_CYCLE_CP1_INT _SB_MAKEMASK1(K_INT_CYCLE_CP1_INT) |
@@ -208,9 +208,9 @@ | |||
208 | */ | 208 | */ |
209 | 209 | ||
210 | #define S_INT_LDT_INTMSG 0 | 210 | #define S_INT_LDT_INTMSG 0 |
211 | #define M_INT_LDT_INTMSG _SB_MAKEMASK(3,S_INT_LDT_INTMSG) | 211 | #define M_INT_LDT_INTMSG _SB_MAKEMASK(3, S_INT_LDT_INTMSG) |
212 | #define V_INT_LDT_INTMSG(x) _SB_MAKEVALUE(x,S_INT_LDT_INTMSG) | 212 | #define V_INT_LDT_INTMSG(x) _SB_MAKEVALUE(x, S_INT_LDT_INTMSG) |
213 | #define G_INT_LDT_INTMSG(x) _SB_GETVALUE(x,S_INT_LDT_INTMSG,M_INT_LDT_INTMSG) | 213 | #define G_INT_LDT_INTMSG(x) _SB_GETVALUE(x, S_INT_LDT_INTMSG, M_INT_LDT_INTMSG) |
214 | 214 | ||
215 | #define K_INT_LDT_INTMSG_FIXED 0 | 215 | #define K_INT_LDT_INTMSG_FIXED 0 |
216 | #define K_INT_LDT_INTMSG_ARBITRATED 1 | 216 | #define K_INT_LDT_INTMSG_ARBITRATED 1 |
@@ -228,14 +228,14 @@ | |||
228 | #define M_INT_LDT_LOGICALDEST _SB_MAKEMASK1(4) | 228 | #define M_INT_LDT_LOGICALDEST _SB_MAKEMASK1(4) |
229 | 229 | ||
230 | #define S_INT_LDT_INTDEST 5 | 230 | #define S_INT_LDT_INTDEST 5 |
231 | #define M_INT_LDT_INTDEST _SB_MAKEMASK(10,S_INT_LDT_INTDEST) | 231 | #define M_INT_LDT_INTDEST _SB_MAKEMASK(10, S_INT_LDT_INTDEST) |
232 | #define V_INT_LDT_INTDEST(x) _SB_MAKEVALUE(x,S_INT_LDT_INTDEST) | 232 | #define V_INT_LDT_INTDEST(x) _SB_MAKEVALUE(x, S_INT_LDT_INTDEST) |
233 | #define G_INT_LDT_INTDEST(x) _SB_GETVALUE(x,S_INT_LDT_INTDEST,M_INT_LDT_INTDEST) | 233 | #define G_INT_LDT_INTDEST(x) _SB_GETVALUE(x, S_INT_LDT_INTDEST, M_INT_LDT_INTDEST) |
234 | 234 | ||
235 | #define S_INT_LDT_VECTOR 13 | 235 | #define S_INT_LDT_VECTOR 13 |
236 | #define M_INT_LDT_VECTOR _SB_MAKEMASK(8,S_INT_LDT_VECTOR) | 236 | #define M_INT_LDT_VECTOR _SB_MAKEMASK(8, S_INT_LDT_VECTOR) |
237 | #define V_INT_LDT_VECTOR(x) _SB_MAKEVALUE(x,S_INT_LDT_VECTOR) | 237 | #define V_INT_LDT_VECTOR(x) _SB_MAKEVALUE(x, S_INT_LDT_VECTOR) |
238 | #define G_INT_LDT_VECTOR(x) _SB_GETVALUE(x,S_INT_LDT_VECTOR,M_INT_LDT_VECTOR) | 238 | #define G_INT_LDT_VECTOR(x) _SB_GETVALUE(x, S_INT_LDT_VECTOR, M_INT_LDT_VECTOR) |
239 | 239 | ||
240 | /* | 240 | /* |
241 | * Vector format (Table 4-6) | 241 | * Vector format (Table 4-6) |
diff --git a/include/asm-mips/sibyte/sb1250_l2c.h b/include/asm-mips/sibyte/sb1250_l2c.h index 842f205094af..6554dcf05cfe 100644 --- a/include/asm-mips/sibyte/sb1250_l2c.h +++ b/include/asm-mips/sibyte/sb1250_l2c.h | |||
@@ -40,27 +40,27 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #define S_L2C_TAG_MBZ 0 | 42 | #define S_L2C_TAG_MBZ 0 |
43 | #define M_L2C_TAG_MBZ _SB_MAKEMASK(5,S_L2C_TAG_MBZ) | 43 | #define M_L2C_TAG_MBZ _SB_MAKEMASK(5, S_L2C_TAG_MBZ) |
44 | 44 | ||
45 | #define S_L2C_TAG_INDEX 5 | 45 | #define S_L2C_TAG_INDEX 5 |
46 | #define M_L2C_TAG_INDEX _SB_MAKEMASK(12,S_L2C_TAG_INDEX) | 46 | #define M_L2C_TAG_INDEX _SB_MAKEMASK(12, S_L2C_TAG_INDEX) |
47 | #define V_L2C_TAG_INDEX(x) _SB_MAKEVALUE(x,S_L2C_TAG_INDEX) | 47 | #define V_L2C_TAG_INDEX(x) _SB_MAKEVALUE(x, S_L2C_TAG_INDEX) |
48 | #define G_L2C_TAG_INDEX(x) _SB_GETVALUE(x,S_L2C_TAG_INDEX,M_L2C_TAG_INDEX) | 48 | #define G_L2C_TAG_INDEX(x) _SB_GETVALUE(x, S_L2C_TAG_INDEX, M_L2C_TAG_INDEX) |
49 | 49 | ||
50 | #define S_L2C_TAG_TAG 17 | 50 | #define S_L2C_TAG_TAG 17 |
51 | #define M_L2C_TAG_TAG _SB_MAKEMASK(23,S_L2C_TAG_TAG) | 51 | #define M_L2C_TAG_TAG _SB_MAKEMASK(23, S_L2C_TAG_TAG) |
52 | #define V_L2C_TAG_TAG(x) _SB_MAKEVALUE(x,S_L2C_TAG_TAG) | 52 | #define V_L2C_TAG_TAG(x) _SB_MAKEVALUE(x, S_L2C_TAG_TAG) |
53 | #define G_L2C_TAG_TAG(x) _SB_GETVALUE(x,S_L2C_TAG_TAG,M_L2C_TAG_TAG) | 53 | #define G_L2C_TAG_TAG(x) _SB_GETVALUE(x, S_L2C_TAG_TAG, M_L2C_TAG_TAG) |
54 | 54 | ||
55 | #define S_L2C_TAG_ECC 40 | 55 | #define S_L2C_TAG_ECC 40 |
56 | #define M_L2C_TAG_ECC _SB_MAKEMASK(6,S_L2C_TAG_ECC) | 56 | #define M_L2C_TAG_ECC _SB_MAKEMASK(6, S_L2C_TAG_ECC) |
57 | #define V_L2C_TAG_ECC(x) _SB_MAKEVALUE(x,S_L2C_TAG_ECC) | 57 | #define V_L2C_TAG_ECC(x) _SB_MAKEVALUE(x, S_L2C_TAG_ECC) |
58 | #define G_L2C_TAG_ECC(x) _SB_GETVALUE(x,S_L2C_TAG_ECC,M_L2C_TAG_ECC) | 58 | #define G_L2C_TAG_ECC(x) _SB_GETVALUE(x, S_L2C_TAG_ECC, M_L2C_TAG_ECC) |
59 | 59 | ||
60 | #define S_L2C_TAG_WAY 46 | 60 | #define S_L2C_TAG_WAY 46 |
61 | #define M_L2C_TAG_WAY _SB_MAKEMASK(2,S_L2C_TAG_WAY) | 61 | #define M_L2C_TAG_WAY _SB_MAKEMASK(2, S_L2C_TAG_WAY) |
62 | #define V_L2C_TAG_WAY(x) _SB_MAKEVALUE(x,S_L2C_TAG_WAY) | 62 | #define V_L2C_TAG_WAY(x) _SB_MAKEVALUE(x, S_L2C_TAG_WAY) |
63 | #define G_L2C_TAG_WAY(x) _SB_GETVALUE(x,S_L2C_TAG_WAY,M_L2C_TAG_WAY) | 63 | #define G_L2C_TAG_WAY(x) _SB_GETVALUE(x, S_L2C_TAG_WAY, M_L2C_TAG_WAY) |
64 | 64 | ||
65 | #define M_L2C_TAG_DIRTY _SB_MAKEMASK1(48) | 65 | #define M_L2C_TAG_DIRTY _SB_MAKEMASK1(48) |
66 | #define M_L2C_TAG_VALID _SB_MAKEMASK1(49) | 66 | #define M_L2C_TAG_VALID _SB_MAKEMASK1(49) |
@@ -70,32 +70,32 @@ | |||
70 | */ | 70 | */ |
71 | 71 | ||
72 | #define S_L2C_MGMT_INDEX 5 | 72 | #define S_L2C_MGMT_INDEX 5 |
73 | #define M_L2C_MGMT_INDEX _SB_MAKEMASK(12,S_L2C_MGMT_INDEX) | 73 | #define M_L2C_MGMT_INDEX _SB_MAKEMASK(12, S_L2C_MGMT_INDEX) |
74 | #define V_L2C_MGMT_INDEX(x) _SB_MAKEVALUE(x,S_L2C_MGMT_INDEX) | 74 | #define V_L2C_MGMT_INDEX(x) _SB_MAKEVALUE(x, S_L2C_MGMT_INDEX) |
75 | #define G_L2C_MGMT_INDEX(x) _SB_GETVALUE(x,S_L2C_MGMT_INDEX,M_L2C_MGMT_INDEX) | 75 | #define G_L2C_MGMT_INDEX(x) _SB_GETVALUE(x, S_L2C_MGMT_INDEX, M_L2C_MGMT_INDEX) |
76 | 76 | ||
77 | #define S_L2C_MGMT_QUADRANT 15 | 77 | #define S_L2C_MGMT_QUADRANT 15 |
78 | #define M_L2C_MGMT_QUADRANT _SB_MAKEMASK(2,S_L2C_MGMT_QUADRANT) | 78 | #define M_L2C_MGMT_QUADRANT _SB_MAKEMASK(2, S_L2C_MGMT_QUADRANT) |
79 | #define V_L2C_MGMT_QUADRANT(x) _SB_MAKEVALUE(x,S_L2C_MGMT_QUADRANT) | 79 | #define V_L2C_MGMT_QUADRANT(x) _SB_MAKEVALUE(x, S_L2C_MGMT_QUADRANT) |
80 | #define G_L2C_MGMT_QUADRANT(x) _SB_GETVALUE(x,S_L2C_MGMT_QUADRANT,M_L2C_MGMT_QUADRANT) | 80 | #define G_L2C_MGMT_QUADRANT(x) _SB_GETVALUE(x, S_L2C_MGMT_QUADRANT, M_L2C_MGMT_QUADRANT) |
81 | 81 | ||
82 | #define S_L2C_MGMT_HALF 16 | 82 | #define S_L2C_MGMT_HALF 16 |
83 | #define M_L2C_MGMT_HALF _SB_MAKEMASK(1,S_L2C_MGMT_HALF) | 83 | #define M_L2C_MGMT_HALF _SB_MAKEMASK(1, S_L2C_MGMT_HALF) |
84 | 84 | ||
85 | #define S_L2C_MGMT_WAY 17 | 85 | #define S_L2C_MGMT_WAY 17 |
86 | #define M_L2C_MGMT_WAY _SB_MAKEMASK(2,S_L2C_MGMT_WAY) | 86 | #define M_L2C_MGMT_WAY _SB_MAKEMASK(2, S_L2C_MGMT_WAY) |
87 | #define V_L2C_MGMT_WAY(x) _SB_MAKEVALUE(x,S_L2C_MGMT_WAY) | 87 | #define V_L2C_MGMT_WAY(x) _SB_MAKEVALUE(x, S_L2C_MGMT_WAY) |
88 | #define G_L2C_MGMT_WAY(x) _SB_GETVALUE(x,S_L2C_MGMT_WAY,M_L2C_MGMT_WAY) | 88 | #define G_L2C_MGMT_WAY(x) _SB_GETVALUE(x, S_L2C_MGMT_WAY, M_L2C_MGMT_WAY) |
89 | 89 | ||
90 | #define S_L2C_MGMT_ECC_DIAG 21 | 90 | #define S_L2C_MGMT_ECC_DIAG 21 |
91 | #define M_L2C_MGMT_ECC_DIAG _SB_MAKEMASK(2,S_L2C_MGMT_ECC_DIAG) | 91 | #define M_L2C_MGMT_ECC_DIAG _SB_MAKEMASK(2, S_L2C_MGMT_ECC_DIAG) |
92 | #define V_L2C_MGMT_ECC_DIAG(x) _SB_MAKEVALUE(x,S_L2C_MGMT_ECC_DIAG) | 92 | #define V_L2C_MGMT_ECC_DIAG(x) _SB_MAKEVALUE(x, S_L2C_MGMT_ECC_DIAG) |
93 | #define G_L2C_MGMT_ECC_DIAG(x) _SB_GETVALUE(x,S_L2C_MGMT_ECC_DIAG,M_L2C_MGMT_ECC_DIAG) | 93 | #define G_L2C_MGMT_ECC_DIAG(x) _SB_GETVALUE(x, S_L2C_MGMT_ECC_DIAG, M_L2C_MGMT_ECC_DIAG) |
94 | 94 | ||
95 | #define S_L2C_MGMT_TAG 23 | 95 | #define S_L2C_MGMT_TAG 23 |
96 | #define M_L2C_MGMT_TAG _SB_MAKEMASK(4,S_L2C_MGMT_TAG) | 96 | #define M_L2C_MGMT_TAG _SB_MAKEMASK(4, S_L2C_MGMT_TAG) |
97 | #define V_L2C_MGMT_TAG(x) _SB_MAKEVALUE(x,S_L2C_MGMT_TAG) | 97 | #define V_L2C_MGMT_TAG(x) _SB_MAKEVALUE(x, S_L2C_MGMT_TAG) |
98 | #define G_L2C_MGMT_TAG(x) _SB_GETVALUE(x,S_L2C_MGMT_TAG,M_L2C_MGMT_TAG) | 98 | #define G_L2C_MGMT_TAG(x) _SB_GETVALUE(x, S_L2C_MGMT_TAG, M_L2C_MGMT_TAG) |
99 | 99 | ||
100 | #define M_L2C_MGMT_DIRTY _SB_MAKEMASK1(19) | 100 | #define M_L2C_MGMT_DIRTY _SB_MAKEMASK1(19) |
101 | #define M_L2C_MGMT_VALID _SB_MAKEMASK1(20) | 101 | #define M_L2C_MGMT_VALID _SB_MAKEMASK1(20) |
@@ -111,9 +111,9 @@ | |||
111 | * L2 Read Misc. register (A_L2_READ_MISC) | 111 | * L2 Read Misc. register (A_L2_READ_MISC) |
112 | */ | 112 | */ |
113 | #define S_L2C_MISC_NO_WAY 10 | 113 | #define S_L2C_MISC_NO_WAY 10 |
114 | #define M_L2C_MISC_NO_WAY _SB_MAKEMASK(4,S_L2C_MISC_NO_WAY) | 114 | #define M_L2C_MISC_NO_WAY _SB_MAKEMASK(4, S_L2C_MISC_NO_WAY) |
115 | #define V_L2C_MISC_NO_WAY(x) _SB_MAKEVALUE(x,S_L2C_MISC_NO_WAY) | 115 | #define V_L2C_MISC_NO_WAY(x) _SB_MAKEVALUE(x, S_L2C_MISC_NO_WAY) |
116 | #define G_L2C_MISC_NO_WAY(x) _SB_GETVALUE(x,S_L2C_MISC_NO_WAY,M_L2C_MISC_NO_WAY) | 116 | #define G_L2C_MISC_NO_WAY(x) _SB_GETVALUE(x, S_L2C_MISC_NO_WAY, M_L2C_MISC_NO_WAY) |
117 | 117 | ||
118 | #define M_L2C_MISC_ECC_CLEANUP_DIS _SB_MAKEMASK1(9) | 118 | #define M_L2C_MISC_ECC_CLEANUP_DIS _SB_MAKEMASK1(9) |
119 | #define M_L2C_MISC_MC_PRIO_LOW _SB_MAKEMASK1(8) | 119 | #define M_L2C_MISC_MC_PRIO_LOW _SB_MAKEMASK1(8) |
diff --git a/include/asm-mips/sibyte/sb1250_ldt.h b/include/asm-mips/sibyte/sb1250_ldt.h index 7092535d1108..081e8b1c4ad0 100644 --- a/include/asm-mips/sibyte/sb1250_ldt.h +++ b/include/asm-mips/sibyte/sb1250_ldt.h | |||
@@ -10,7 +10,7 @@ | |||
10 | * | 10 | * |
11 | ********************************************************************* | 11 | ********************************************************************* |
12 | * | 12 | * |
13 | * Copyright 2000,2001,2002,2003 | 13 | * Copyright 2000, 2001, 2002, 2003 |
14 | * Broadcom Corporation. All rights reserved. | 14 | * Broadcom Corporation. All rights reserved. |
15 | * | 15 | * |
16 | * This program is free software; you can redistribute it and/or | 16 | * This program is free software; you can redistribute it and/or |
@@ -81,14 +81,14 @@ | |||
81 | */ | 81 | */ |
82 | 82 | ||
83 | #define S_LDT_DEVICEID_VENDOR 0 | 83 | #define S_LDT_DEVICEID_VENDOR 0 |
84 | #define M_LDT_DEVICEID_VENDOR _SB_MAKEMASK_32(16,S_LDT_DEVICEID_VENDOR) | 84 | #define M_LDT_DEVICEID_VENDOR _SB_MAKEMASK_32(16, S_LDT_DEVICEID_VENDOR) |
85 | #define V_LDT_DEVICEID_VENDOR(x) _SB_MAKEVALUE_32(x,S_LDT_DEVICEID_VENDOR) | 85 | #define V_LDT_DEVICEID_VENDOR(x) _SB_MAKEVALUE_32(x, S_LDT_DEVICEID_VENDOR) |
86 | #define G_LDT_DEVICEID_VENDOR(x) _SB_GETVALUE_32(x,S_LDT_DEVICEID_VENDOR,M_LDT_DEVICEID_VENDOR) | 86 | #define G_LDT_DEVICEID_VENDOR(x) _SB_GETVALUE_32(x, S_LDT_DEVICEID_VENDOR, M_LDT_DEVICEID_VENDOR) |
87 | 87 | ||
88 | #define S_LDT_DEVICEID_DEVICEID 16 | 88 | #define S_LDT_DEVICEID_DEVICEID 16 |
89 | #define M_LDT_DEVICEID_DEVICEID _SB_MAKEMASK_32(16,S_LDT_DEVICEID_DEVICEID) | 89 | #define M_LDT_DEVICEID_DEVICEID _SB_MAKEMASK_32(16, S_LDT_DEVICEID_DEVICEID) |
90 | #define V_LDT_DEVICEID_DEVICEID(x) _SB_MAKEVALUE_32(x,S_LDT_DEVICEID_DEVICEID) | 90 | #define V_LDT_DEVICEID_DEVICEID(x) _SB_MAKEVALUE_32(x, S_LDT_DEVICEID_DEVICEID) |
91 | #define G_LDT_DEVICEID_DEVICEID(x) _SB_GETVALUE_32(x,S_LDT_DEVICEID_DEVICEID,M_LDT_DEVICEID_DEVICEID) | 91 | #define G_LDT_DEVICEID_DEVICEID(x) _SB_GETVALUE_32(x, S_LDT_DEVICEID_DEVICEID, M_LDT_DEVICEID_DEVICEID) |
92 | 92 | ||
93 | 93 | ||
94 | /* | 94 | /* |
@@ -111,14 +111,14 @@ | |||
111 | */ | 111 | */ |
112 | 112 | ||
113 | #define S_LDT_CLASSREV_REV 0 | 113 | #define S_LDT_CLASSREV_REV 0 |
114 | #define M_LDT_CLASSREV_REV _SB_MAKEMASK_32(8,S_LDT_CLASSREV_REV) | 114 | #define M_LDT_CLASSREV_REV _SB_MAKEMASK_32(8, S_LDT_CLASSREV_REV) |
115 | #define V_LDT_CLASSREV_REV(x) _SB_MAKEVALUE_32(x,S_LDT_CLASSREV_REV) | 115 | #define V_LDT_CLASSREV_REV(x) _SB_MAKEVALUE_32(x, S_LDT_CLASSREV_REV) |
116 | #define G_LDT_CLASSREV_REV(x) _SB_GETVALUE_32(x,S_LDT_CLASSREV_REV,M_LDT_CLASSREV_REV) | 116 | #define G_LDT_CLASSREV_REV(x) _SB_GETVALUE_32(x, S_LDT_CLASSREV_REV, M_LDT_CLASSREV_REV) |
117 | 117 | ||
118 | #define S_LDT_CLASSREV_CLASS 8 | 118 | #define S_LDT_CLASSREV_CLASS 8 |
119 | #define M_LDT_CLASSREV_CLASS _SB_MAKEMASK_32(24,S_LDT_CLASSREV_CLASS) | 119 | #define M_LDT_CLASSREV_CLASS _SB_MAKEMASK_32(24, S_LDT_CLASSREV_CLASS) |
120 | #define V_LDT_CLASSREV_CLASS(x) _SB_MAKEVALUE_32(x,S_LDT_CLASSREV_CLASS) | 120 | #define V_LDT_CLASSREV_CLASS(x) _SB_MAKEVALUE_32(x, S_LDT_CLASSREV_CLASS) |
121 | #define G_LDT_CLASSREV_CLASS(x) _SB_GETVALUE_32(x,S_LDT_CLASSREV_CLASS,M_LDT_CLASSREV_CLASS) | 121 | #define G_LDT_CLASSREV_CLASS(x) _SB_GETVALUE_32(x, S_LDT_CLASSREV_CLASS, M_LDT_CLASSREV_CLASS) |
122 | 122 | ||
123 | #define K_LDT_REV 0x01 | 123 | #define K_LDT_REV 0x01 |
124 | #define K_LDT_CLASS 0x060000 | 124 | #define K_LDT_CLASS 0x060000 |
@@ -128,26 +128,26 @@ | |||
128 | */ | 128 | */ |
129 | 129 | ||
130 | #define S_LDT_DEVHDR_CLINESZ 0 | 130 | #define S_LDT_DEVHDR_CLINESZ 0 |
131 | #define M_LDT_DEVHDR_CLINESZ _SB_MAKEMASK_32(8,S_LDT_DEVHDR_CLINESZ) | 131 | #define M_LDT_DEVHDR_CLINESZ _SB_MAKEMASK_32(8, S_LDT_DEVHDR_CLINESZ) |
132 | #define V_LDT_DEVHDR_CLINESZ(x) _SB_MAKEVALUE_32(x,S_LDT_DEVHDR_CLINESZ) | 132 | #define V_LDT_DEVHDR_CLINESZ(x) _SB_MAKEVALUE_32(x, S_LDT_DEVHDR_CLINESZ) |
133 | #define G_LDT_DEVHDR_CLINESZ(x) _SB_GETVALUE_32(x,S_LDT_DEVHDR_CLINESZ,M_LDT_DEVHDR_CLINESZ) | 133 | #define G_LDT_DEVHDR_CLINESZ(x) _SB_GETVALUE_32(x, S_LDT_DEVHDR_CLINESZ, M_LDT_DEVHDR_CLINESZ) |
134 | 134 | ||
135 | #define S_LDT_DEVHDR_LATTMR 8 | 135 | #define S_LDT_DEVHDR_LATTMR 8 |
136 | #define M_LDT_DEVHDR_LATTMR _SB_MAKEMASK_32(8,S_LDT_DEVHDR_LATTMR) | 136 | #define M_LDT_DEVHDR_LATTMR _SB_MAKEMASK_32(8, S_LDT_DEVHDR_LATTMR) |
137 | #define V_LDT_DEVHDR_LATTMR(x) _SB_MAKEVALUE_32(x,S_LDT_DEVHDR_LATTMR) | 137 | #define V_LDT_DEVHDR_LATTMR(x) _SB_MAKEVALUE_32(x, S_LDT_DEVHDR_LATTMR) |
138 | #define G_LDT_DEVHDR_LATTMR(x) _SB_GETVALUE_32(x,S_LDT_DEVHDR_LATTMR,M_LDT_DEVHDR_LATTMR) | 138 | #define G_LDT_DEVHDR_LATTMR(x) _SB_GETVALUE_32(x, S_LDT_DEVHDR_LATTMR, M_LDT_DEVHDR_LATTMR) |
139 | 139 | ||
140 | #define S_LDT_DEVHDR_HDRTYPE 16 | 140 | #define S_LDT_DEVHDR_HDRTYPE 16 |
141 | #define M_LDT_DEVHDR_HDRTYPE _SB_MAKEMASK_32(8,S_LDT_DEVHDR_HDRTYPE) | 141 | #define M_LDT_DEVHDR_HDRTYPE _SB_MAKEMASK_32(8, S_LDT_DEVHDR_HDRTYPE) |
142 | #define V_LDT_DEVHDR_HDRTYPE(x) _SB_MAKEVALUE_32(x,S_LDT_DEVHDR_HDRTYPE) | 142 | #define V_LDT_DEVHDR_HDRTYPE(x) _SB_MAKEVALUE_32(x, S_LDT_DEVHDR_HDRTYPE) |
143 | #define G_LDT_DEVHDR_HDRTYPE(x) _SB_GETVALUE_32(x,S_LDT_DEVHDR_HDRTYPE,M_LDT_DEVHDR_HDRTYPE) | 143 | #define G_LDT_DEVHDR_HDRTYPE(x) _SB_GETVALUE_32(x, S_LDT_DEVHDR_HDRTYPE, M_LDT_DEVHDR_HDRTYPE) |
144 | 144 | ||
145 | #define K_LDT_DEVHDR_HDRTYPE_TYPE1 1 | 145 | #define K_LDT_DEVHDR_HDRTYPE_TYPE1 1 |
146 | 146 | ||
147 | #define S_LDT_DEVHDR_BIST 24 | 147 | #define S_LDT_DEVHDR_BIST 24 |
148 | #define M_LDT_DEVHDR_BIST _SB_MAKEMASK_32(8,S_LDT_DEVHDR_BIST) | 148 | #define M_LDT_DEVHDR_BIST _SB_MAKEMASK_32(8, S_LDT_DEVHDR_BIST) |
149 | #define V_LDT_DEVHDR_BIST(x) _SB_MAKEVALUE_32(x,S_LDT_DEVHDR_BIST) | 149 | #define V_LDT_DEVHDR_BIST(x) _SB_MAKEVALUE_32(x, S_LDT_DEVHDR_BIST) |
150 | #define G_LDT_DEVHDR_BIST(x) _SB_GETVALUE_32(x,S_LDT_DEVHDR_BIST,M_LDT_DEVHDR_BIST) | 150 | #define G_LDT_DEVHDR_BIST(x) _SB_GETVALUE_32(x, S_LDT_DEVHDR_BIST, M_LDT_DEVHDR_BIST) |
151 | 151 | ||
152 | 152 | ||
153 | 153 | ||
@@ -170,9 +170,9 @@ | |||
170 | #define M_LDT_STATUS_MSTRDPARERR _SB_MAKEMASK1_32(24) | 170 | #define M_LDT_STATUS_MSTRDPARERR _SB_MAKEMASK1_32(24) |
171 | 171 | ||
172 | #define S_LDT_STATUS_DEVSELTIMING 25 | 172 | #define S_LDT_STATUS_DEVSELTIMING 25 |
173 | #define M_LDT_STATUS_DEVSELTIMING _SB_MAKEMASK_32(2,S_LDT_STATUS_DEVSELTIMING) | 173 | #define M_LDT_STATUS_DEVSELTIMING _SB_MAKEMASK_32(2, S_LDT_STATUS_DEVSELTIMING) |
174 | #define V_LDT_STATUS_DEVSELTIMING(x) _SB_MAKEVALUE_32(x,S_LDT_STATUS_DEVSELTIMING) | 174 | #define V_LDT_STATUS_DEVSELTIMING(x) _SB_MAKEVALUE_32(x, S_LDT_STATUS_DEVSELTIMING) |
175 | #define G_LDT_STATUS_DEVSELTIMING(x) _SB_GETVALUE_32(x,S_LDT_STATUS_DEVSELTIMING,M_LDT_STATUS_DEVSELTIMING) | 175 | #define G_LDT_STATUS_DEVSELTIMING(x) _SB_GETVALUE_32(x, S_LDT_STATUS_DEVSELTIMING, M_LDT_STATUS_DEVSELTIMING) |
176 | 176 | ||
177 | #define M_LDT_STATUS_SIGDTGTABORT _SB_MAKEMASK1_32(27) | 177 | #define M_LDT_STATUS_SIGDTGTABORT _SB_MAKEMASK1_32(27) |
178 | #define M_LDT_STATUS_RCVDTGTABORT _SB_MAKEMASK1_32(28) | 178 | #define M_LDT_STATUS_RCVDTGTABORT _SB_MAKEMASK1_32(28) |
@@ -208,9 +208,9 @@ | |||
208 | #define M_LDT_CMD_DOUBLEENDED _SB_MAKEMASK1_32(17) | 208 | #define M_LDT_CMD_DOUBLEENDED _SB_MAKEMASK1_32(17) |
209 | 209 | ||
210 | #define S_LDT_CMD_CAPTYPE 29 | 210 | #define S_LDT_CMD_CAPTYPE 29 |
211 | #define M_LDT_CMD_CAPTYPE _SB_MAKEMASK_32(3,S_LDT_CMD_CAPTYPE) | 211 | #define M_LDT_CMD_CAPTYPE _SB_MAKEMASK_32(3, S_LDT_CMD_CAPTYPE) |
212 | #define V_LDT_CMD_CAPTYPE(x) _SB_MAKEVALUE_32(x,S_LDT_CMD_CAPTYPE) | 212 | #define V_LDT_CMD_CAPTYPE(x) _SB_MAKEVALUE_32(x, S_LDT_CMD_CAPTYPE) |
213 | #define G_LDT_CMD_CAPTYPE(x) _SB_GETVALUE_32(x,S_LDT_CMD_CAPTYPE,M_LDT_CMD_CAPTYPE) | 213 | #define G_LDT_CMD_CAPTYPE(x) _SB_GETVALUE_32(x, S_LDT_CMD_CAPTYPE, M_LDT_CMD_CAPTYPE) |
214 | 214 | ||
215 | /* | 215 | /* |
216 | * LDT link control register (Table 8-18), and (Table 8-19) | 216 | * LDT link control register (Table 8-18), and (Table 8-19) |
@@ -225,35 +225,35 @@ | |||
225 | #define M_LDT_LINKCTRL_XMITOFF _SB_MAKEMASK1_32(7) | 225 | #define M_LDT_LINKCTRL_XMITOFF _SB_MAKEMASK1_32(7) |
226 | 226 | ||
227 | #define S_LDT_LINKCTRL_CRCERR 8 | 227 | #define S_LDT_LINKCTRL_CRCERR 8 |
228 | #define M_LDT_LINKCTRL_CRCERR _SB_MAKEMASK_32(4,S_LDT_LINKCTRL_CRCERR) | 228 | #define M_LDT_LINKCTRL_CRCERR _SB_MAKEMASK_32(4, S_LDT_LINKCTRL_CRCERR) |
229 | #define V_LDT_LINKCTRL_CRCERR(x) _SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_CRCERR) | 229 | #define V_LDT_LINKCTRL_CRCERR(x) _SB_MAKEVALUE_32(x, S_LDT_LINKCTRL_CRCERR) |
230 | #define G_LDT_LINKCTRL_CRCERR(x) _SB_GETVALUE_32(x,S_LDT_LINKCTRL_CRCERR,M_LDT_LINKCTRL_CRCERR) | 230 | #define G_LDT_LINKCTRL_CRCERR(x) _SB_GETVALUE_32(x, S_LDT_LINKCTRL_CRCERR, M_LDT_LINKCTRL_CRCERR) |
231 | 231 | ||
232 | #define S_LDT_LINKCTRL_MAXIN 16 | 232 | #define S_LDT_LINKCTRL_MAXIN 16 |
233 | #define M_LDT_LINKCTRL_MAXIN _SB_MAKEMASK_32(3,S_LDT_LINKCTRL_MAXIN) | 233 | #define M_LDT_LINKCTRL_MAXIN _SB_MAKEMASK_32(3, S_LDT_LINKCTRL_MAXIN) |
234 | #define V_LDT_LINKCTRL_MAXIN(x) _SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_MAXIN) | 234 | #define V_LDT_LINKCTRL_MAXIN(x) _SB_MAKEVALUE_32(x, S_LDT_LINKCTRL_MAXIN) |
235 | #define G_LDT_LINKCTRL_MAXIN(x) _SB_GETVALUE_32(x,S_LDT_LINKCTRL_MAXIN,M_LDT_LINKCTRL_MAXIN) | 235 | #define G_LDT_LINKCTRL_MAXIN(x) _SB_GETVALUE_32(x, S_LDT_LINKCTRL_MAXIN, M_LDT_LINKCTRL_MAXIN) |
236 | 236 | ||
237 | #define M_LDT_LINKCTRL_DWFCLN _SB_MAKEMASK1_32(19) | 237 | #define M_LDT_LINKCTRL_DWFCLN _SB_MAKEMASK1_32(19) |
238 | 238 | ||
239 | #define S_LDT_LINKCTRL_MAXOUT 20 | 239 | #define S_LDT_LINKCTRL_MAXOUT 20 |
240 | #define M_LDT_LINKCTRL_MAXOUT _SB_MAKEMASK_32(3,S_LDT_LINKCTRL_MAXOUT) | 240 | #define M_LDT_LINKCTRL_MAXOUT _SB_MAKEMASK_32(3, S_LDT_LINKCTRL_MAXOUT) |
241 | #define V_LDT_LINKCTRL_MAXOUT(x) _SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_MAXOUT) | 241 | #define V_LDT_LINKCTRL_MAXOUT(x) _SB_MAKEVALUE_32(x, S_LDT_LINKCTRL_MAXOUT) |
242 | #define G_LDT_LINKCTRL_MAXOUT(x) _SB_GETVALUE_32(x,S_LDT_LINKCTRL_MAXOUT,M_LDT_LINKCTRL_MAXOUT) | 242 | #define G_LDT_LINKCTRL_MAXOUT(x) _SB_GETVALUE_32(x, S_LDT_LINKCTRL_MAXOUT, M_LDT_LINKCTRL_MAXOUT) |
243 | 243 | ||
244 | #define M_LDT_LINKCTRL_DWFCOUT _SB_MAKEMASK1_32(23) | 244 | #define M_LDT_LINKCTRL_DWFCOUT _SB_MAKEMASK1_32(23) |
245 | 245 | ||
246 | #define S_LDT_LINKCTRL_WIDTHIN 24 | 246 | #define S_LDT_LINKCTRL_WIDTHIN 24 |
247 | #define M_LDT_LINKCTRL_WIDTHIN _SB_MAKEMASK_32(3,S_LDT_LINKCTRL_WIDTHIN) | 247 | #define M_LDT_LINKCTRL_WIDTHIN _SB_MAKEMASK_32(3, S_LDT_LINKCTRL_WIDTHIN) |
248 | #define V_LDT_LINKCTRL_WIDTHIN(x) _SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_WIDTHIN) | 248 | #define V_LDT_LINKCTRL_WIDTHIN(x) _SB_MAKEVALUE_32(x, S_LDT_LINKCTRL_WIDTHIN) |
249 | #define G_LDT_LINKCTRL_WIDTHIN(x) _SB_GETVALUE_32(x,S_LDT_LINKCTRL_WIDTHIN,M_LDT_LINKCTRL_WIDTHIN) | 249 | #define G_LDT_LINKCTRL_WIDTHIN(x) _SB_GETVALUE_32(x, S_LDT_LINKCTRL_WIDTHIN, M_LDT_LINKCTRL_WIDTHIN) |
250 | 250 | ||
251 | #define M_LDT_LINKCTRL_DWFCLIN_EN _SB_MAKEMASK1_32(27) | 251 | #define M_LDT_LINKCTRL_DWFCLIN_EN _SB_MAKEMASK1_32(27) |
252 | 252 | ||
253 | #define S_LDT_LINKCTRL_WIDTHOUT 28 | 253 | #define S_LDT_LINKCTRL_WIDTHOUT 28 |
254 | #define M_LDT_LINKCTRL_WIDTHOUT _SB_MAKEMASK_32(3,S_LDT_LINKCTRL_WIDTHOUT) | 254 | #define M_LDT_LINKCTRL_WIDTHOUT _SB_MAKEMASK_32(3, S_LDT_LINKCTRL_WIDTHOUT) |
255 | #define V_LDT_LINKCTRL_WIDTHOUT(x) _SB_MAKEVALUE_32(x,S_LDT_LINKCTRL_WIDTHOUT) | 255 | #define V_LDT_LINKCTRL_WIDTHOUT(x) _SB_MAKEVALUE_32(x, S_LDT_LINKCTRL_WIDTHOUT) |
256 | #define G_LDT_LINKCTRL_WIDTHOUT(x) _SB_GETVALUE_32(x,S_LDT_LINKCTRL_WIDTHOUT,M_LDT_LINKCTRL_WIDTHOUT) | 256 | #define G_LDT_LINKCTRL_WIDTHOUT(x) _SB_GETVALUE_32(x, S_LDT_LINKCTRL_WIDTHOUT, M_LDT_LINKCTRL_WIDTHOUT) |
257 | 257 | ||
258 | #define M_LDT_LINKCTRL_DWFCOUT_EN _SB_MAKEMASK1_32(31) | 258 | #define M_LDT_LINKCTRL_DWFCOUT_EN _SB_MAKEMASK1_32(31) |
259 | 259 | ||
@@ -262,9 +262,9 @@ | |||
262 | */ | 262 | */ |
263 | 263 | ||
264 | #define S_LDT_LINKFREQ_FREQ 8 | 264 | #define S_LDT_LINKFREQ_FREQ 8 |
265 | #define M_LDT_LINKFREQ_FREQ _SB_MAKEMASK_32(4,S_LDT_LINKFREQ_FREQ) | 265 | #define M_LDT_LINKFREQ_FREQ _SB_MAKEMASK_32(4, S_LDT_LINKFREQ_FREQ) |
266 | #define V_LDT_LINKFREQ_FREQ(x) _SB_MAKEVALUE_32(x,S_LDT_LINKFREQ_FREQ) | 266 | #define V_LDT_LINKFREQ_FREQ(x) _SB_MAKEVALUE_32(x, S_LDT_LINKFREQ_FREQ) |
267 | #define G_LDT_LINKFREQ_FREQ(x) _SB_GETVALUE_32(x,S_LDT_LINKFREQ_FREQ,M_LDT_LINKFREQ_FREQ) | 267 | #define G_LDT_LINKFREQ_FREQ(x) _SB_GETVALUE_32(x, S_LDT_LINKFREQ_FREQ, M_LDT_LINKFREQ_FREQ) |
268 | 268 | ||
269 | #define K_LDT_LINKFREQ_200MHZ 0 | 269 | #define K_LDT_LINKFREQ_200MHZ 0 |
270 | #define K_LDT_LINKFREQ_300MHZ 1 | 270 | #define K_LDT_LINKFREQ_300MHZ 1 |
@@ -293,16 +293,16 @@ | |||
293 | 293 | ||
294 | 294 | ||
295 | #define S_LDT_SRICMD_RXMARGIN 20 | 295 | #define S_LDT_SRICMD_RXMARGIN 20 |
296 | #define M_LDT_SRICMD_RXMARGIN _SB_MAKEMASK_32(5,S_LDT_SRICMD_RXMARGIN) | 296 | #define M_LDT_SRICMD_RXMARGIN _SB_MAKEMASK_32(5, S_LDT_SRICMD_RXMARGIN) |
297 | #define V_LDT_SRICMD_RXMARGIN(x) _SB_MAKEVALUE_32(x,S_LDT_SRICMD_RXMARGIN) | 297 | #define V_LDT_SRICMD_RXMARGIN(x) _SB_MAKEVALUE_32(x, S_LDT_SRICMD_RXMARGIN) |
298 | #define G_LDT_SRICMD_RXMARGIN(x) _SB_GETVALUE_32(x,S_LDT_SRICMD_RXMARGIN,M_LDT_SRICMD_RXMARGIN) | 298 | #define G_LDT_SRICMD_RXMARGIN(x) _SB_GETVALUE_32(x, S_LDT_SRICMD_RXMARGIN, M_LDT_SRICMD_RXMARGIN) |
299 | 299 | ||
300 | #define M_LDT_SRICMD_LDTPLLCOMPAT _SB_MAKEMASK1_32(25) | 300 | #define M_LDT_SRICMD_LDTPLLCOMPAT _SB_MAKEMASK1_32(25) |
301 | 301 | ||
302 | #define S_LDT_SRICMD_TXINITIALOFFSET 28 | 302 | #define S_LDT_SRICMD_TXINITIALOFFSET 28 |
303 | #define M_LDT_SRICMD_TXINITIALOFFSET _SB_MAKEMASK_32(3,S_LDT_SRICMD_TXINITIALOFFSET) | 303 | #define M_LDT_SRICMD_TXINITIALOFFSET _SB_MAKEMASK_32(3, S_LDT_SRICMD_TXINITIALOFFSET) |
304 | #define V_LDT_SRICMD_TXINITIALOFFSET(x) _SB_MAKEVALUE_32(x,S_LDT_SRICMD_TXINITIALOFFSET) | 304 | #define V_LDT_SRICMD_TXINITIALOFFSET(x) _SB_MAKEVALUE_32(x, S_LDT_SRICMD_TXINITIALOFFSET) |
305 | #define G_LDT_SRICMD_TXINITIALOFFSET(x) _SB_GETVALUE_32(x,S_LDT_SRICMD_TXINITIALOFFSET,M_LDT_SRICMD_TXINITIALOFFSET) | 305 | #define G_LDT_SRICMD_TXINITIALOFFSET(x) _SB_GETVALUE_32(x, S_LDT_SRICMD_TXINITIALOFFSET, M_LDT_SRICMD_TXINITIALOFFSET) |
306 | 306 | ||
307 | #define M_LDT_SRICMD_LINKFREQDIRECT _SB_MAKEMASK1_32(31) | 307 | #define M_LDT_SRICMD_LINKFREQDIRECT _SB_MAKEMASK1_32(31) |
308 | 308 | ||
@@ -340,73 +340,73 @@ | |||
340 | */ | 340 | */ |
341 | 341 | ||
342 | #define S_LDT_SRICTRL_NEEDRESP 0 | 342 | #define S_LDT_SRICTRL_NEEDRESP 0 |
343 | #define M_LDT_SRICTRL_NEEDRESP _SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDRESP) | 343 | #define M_LDT_SRICTRL_NEEDRESP _SB_MAKEMASK_32(2, S_LDT_SRICTRL_NEEDRESP) |
344 | #define V_LDT_SRICTRL_NEEDRESP(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDRESP) | 344 | #define V_LDT_SRICTRL_NEEDRESP(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_NEEDRESP) |
345 | #define G_LDT_SRICTRL_NEEDRESP(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDRESP,M_LDT_SRICTRL_NEEDRESP) | 345 | #define G_LDT_SRICTRL_NEEDRESP(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_NEEDRESP, M_LDT_SRICTRL_NEEDRESP) |
346 | 346 | ||
347 | #define S_LDT_SRICTRL_NEEDNPREQ 2 | 347 | #define S_LDT_SRICTRL_NEEDNPREQ 2 |
348 | #define M_LDT_SRICTRL_NEEDNPREQ _SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDNPREQ) | 348 | #define M_LDT_SRICTRL_NEEDNPREQ _SB_MAKEMASK_32(2, S_LDT_SRICTRL_NEEDNPREQ) |
349 | #define V_LDT_SRICTRL_NEEDNPREQ(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDNPREQ) | 349 | #define V_LDT_SRICTRL_NEEDNPREQ(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_NEEDNPREQ) |
350 | #define G_LDT_SRICTRL_NEEDNPREQ(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDNPREQ,M_LDT_SRICTRL_NEEDNPREQ) | 350 | #define G_LDT_SRICTRL_NEEDNPREQ(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_NEEDNPREQ, M_LDT_SRICTRL_NEEDNPREQ) |
351 | 351 | ||
352 | #define S_LDT_SRICTRL_NEEDPREQ 4 | 352 | #define S_LDT_SRICTRL_NEEDPREQ 4 |
353 | #define M_LDT_SRICTRL_NEEDPREQ _SB_MAKEMASK_32(2,S_LDT_SRICTRL_NEEDPREQ) | 353 | #define M_LDT_SRICTRL_NEEDPREQ _SB_MAKEMASK_32(2, S_LDT_SRICTRL_NEEDPREQ) |
354 | #define V_LDT_SRICTRL_NEEDPREQ(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_NEEDPREQ) | 354 | #define V_LDT_SRICTRL_NEEDPREQ(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_NEEDPREQ) |
355 | #define G_LDT_SRICTRL_NEEDPREQ(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_NEEDPREQ,M_LDT_SRICTRL_NEEDPREQ) | 355 | #define G_LDT_SRICTRL_NEEDPREQ(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_NEEDPREQ, M_LDT_SRICTRL_NEEDPREQ) |
356 | 356 | ||
357 | #define S_LDT_SRICTRL_WANTRESP 8 | 357 | #define S_LDT_SRICTRL_WANTRESP 8 |
358 | #define M_LDT_SRICTRL_WANTRESP _SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTRESP) | 358 | #define M_LDT_SRICTRL_WANTRESP _SB_MAKEMASK_32(2, S_LDT_SRICTRL_WANTRESP) |
359 | #define V_LDT_SRICTRL_WANTRESP(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTRESP) | 359 | #define V_LDT_SRICTRL_WANTRESP(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_WANTRESP) |
360 | #define G_LDT_SRICTRL_WANTRESP(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTRESP,M_LDT_SRICTRL_WANTRESP) | 360 | #define G_LDT_SRICTRL_WANTRESP(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_WANTRESP, M_LDT_SRICTRL_WANTRESP) |
361 | 361 | ||
362 | #define S_LDT_SRICTRL_WANTNPREQ 10 | 362 | #define S_LDT_SRICTRL_WANTNPREQ 10 |
363 | #define M_LDT_SRICTRL_WANTNPREQ _SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTNPREQ) | 363 | #define M_LDT_SRICTRL_WANTNPREQ _SB_MAKEMASK_32(2, S_LDT_SRICTRL_WANTNPREQ) |
364 | #define V_LDT_SRICTRL_WANTNPREQ(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTNPREQ) | 364 | #define V_LDT_SRICTRL_WANTNPREQ(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_WANTNPREQ) |
365 | #define G_LDT_SRICTRL_WANTNPREQ(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTNPREQ,M_LDT_SRICTRL_WANTNPREQ) | 365 | #define G_LDT_SRICTRL_WANTNPREQ(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_WANTNPREQ, M_LDT_SRICTRL_WANTNPREQ) |
366 | 366 | ||
367 | #define S_LDT_SRICTRL_WANTPREQ 12 | 367 | #define S_LDT_SRICTRL_WANTPREQ 12 |
368 | #define M_LDT_SRICTRL_WANTPREQ _SB_MAKEMASK_32(2,S_LDT_SRICTRL_WANTPREQ) | 368 | #define M_LDT_SRICTRL_WANTPREQ _SB_MAKEMASK_32(2, S_LDT_SRICTRL_WANTPREQ) |
369 | #define V_LDT_SRICTRL_WANTPREQ(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_WANTPREQ) | 369 | #define V_LDT_SRICTRL_WANTPREQ(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_WANTPREQ) |
370 | #define G_LDT_SRICTRL_WANTPREQ(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_WANTPREQ,M_LDT_SRICTRL_WANTPREQ) | 370 | #define G_LDT_SRICTRL_WANTPREQ(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_WANTPREQ, M_LDT_SRICTRL_WANTPREQ) |
371 | 371 | ||
372 | #define S_LDT_SRICTRL_BUFRELSPACE 16 | 372 | #define S_LDT_SRICTRL_BUFRELSPACE 16 |
373 | #define M_LDT_SRICTRL_BUFRELSPACE _SB_MAKEMASK_32(4,S_LDT_SRICTRL_BUFRELSPACE) | 373 | #define M_LDT_SRICTRL_BUFRELSPACE _SB_MAKEMASK_32(4, S_LDT_SRICTRL_BUFRELSPACE) |
374 | #define V_LDT_SRICTRL_BUFRELSPACE(x) _SB_MAKEVALUE_32(x,S_LDT_SRICTRL_BUFRELSPACE) | 374 | #define V_LDT_SRICTRL_BUFRELSPACE(x) _SB_MAKEVALUE_32(x, S_LDT_SRICTRL_BUFRELSPACE) |
375 | #define G_LDT_SRICTRL_BUFRELSPACE(x) _SB_GETVALUE_32(x,S_LDT_SRICTRL_BUFRELSPACE,M_LDT_SRICTRL_BUFRELSPACE) | 375 | #define G_LDT_SRICTRL_BUFRELSPACE(x) _SB_GETVALUE_32(x, S_LDT_SRICTRL_BUFRELSPACE, M_LDT_SRICTRL_BUFRELSPACE) |
376 | 376 | ||
377 | /* | 377 | /* |
378 | * LDT SRI Transmit Buffer Count register (Table 8-26) | 378 | * LDT SRI Transmit Buffer Count register (Table 8-26) |
379 | */ | 379 | */ |
380 | 380 | ||
381 | #define S_LDT_TXBUFCNT_PCMD 0 | 381 | #define S_LDT_TXBUFCNT_PCMD 0 |
382 | #define M_LDT_TXBUFCNT_PCMD _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_PCMD) | 382 | #define M_LDT_TXBUFCNT_PCMD _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_PCMD) |
383 | #define V_LDT_TXBUFCNT_PCMD(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_PCMD) | 383 | #define V_LDT_TXBUFCNT_PCMD(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_PCMD) |
384 | #define G_LDT_TXBUFCNT_PCMD(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_PCMD,M_LDT_TXBUFCNT_PCMD) | 384 | #define G_LDT_TXBUFCNT_PCMD(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_PCMD, M_LDT_TXBUFCNT_PCMD) |
385 | 385 | ||
386 | #define S_LDT_TXBUFCNT_PDATA 4 | 386 | #define S_LDT_TXBUFCNT_PDATA 4 |
387 | #define M_LDT_TXBUFCNT_PDATA _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_PDATA) | 387 | #define M_LDT_TXBUFCNT_PDATA _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_PDATA) |
388 | #define V_LDT_TXBUFCNT_PDATA(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_PDATA) | 388 | #define V_LDT_TXBUFCNT_PDATA(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_PDATA) |
389 | #define G_LDT_TXBUFCNT_PDATA(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_PDATA,M_LDT_TXBUFCNT_PDATA) | 389 | #define G_LDT_TXBUFCNT_PDATA(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_PDATA, M_LDT_TXBUFCNT_PDATA) |
390 | 390 | ||
391 | #define S_LDT_TXBUFCNT_NPCMD 8 | 391 | #define S_LDT_TXBUFCNT_NPCMD 8 |
392 | #define M_LDT_TXBUFCNT_NPCMD _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_NPCMD) | 392 | #define M_LDT_TXBUFCNT_NPCMD _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_NPCMD) |
393 | #define V_LDT_TXBUFCNT_NPCMD(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_NPCMD) | 393 | #define V_LDT_TXBUFCNT_NPCMD(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_NPCMD) |
394 | #define G_LDT_TXBUFCNT_NPCMD(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_NPCMD,M_LDT_TXBUFCNT_NPCMD) | 394 | #define G_LDT_TXBUFCNT_NPCMD(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_NPCMD, M_LDT_TXBUFCNT_NPCMD) |
395 | 395 | ||
396 | #define S_LDT_TXBUFCNT_NPDATA 12 | 396 | #define S_LDT_TXBUFCNT_NPDATA 12 |
397 | #define M_LDT_TXBUFCNT_NPDATA _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_NPDATA) | 397 | #define M_LDT_TXBUFCNT_NPDATA _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_NPDATA) |
398 | #define V_LDT_TXBUFCNT_NPDATA(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_NPDATA) | 398 | #define V_LDT_TXBUFCNT_NPDATA(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_NPDATA) |
399 | #define G_LDT_TXBUFCNT_NPDATA(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_NPDATA,M_LDT_TXBUFCNT_NPDATA) | 399 | #define G_LDT_TXBUFCNT_NPDATA(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_NPDATA, M_LDT_TXBUFCNT_NPDATA) |
400 | 400 | ||
401 | #define S_LDT_TXBUFCNT_RCMD 16 | 401 | #define S_LDT_TXBUFCNT_RCMD 16 |
402 | #define M_LDT_TXBUFCNT_RCMD _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_RCMD) | 402 | #define M_LDT_TXBUFCNT_RCMD _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_RCMD) |
403 | #define V_LDT_TXBUFCNT_RCMD(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_RCMD) | 403 | #define V_LDT_TXBUFCNT_RCMD(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_RCMD) |
404 | #define G_LDT_TXBUFCNT_RCMD(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_RCMD,M_LDT_TXBUFCNT_RCMD) | 404 | #define G_LDT_TXBUFCNT_RCMD(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_RCMD, M_LDT_TXBUFCNT_RCMD) |
405 | 405 | ||
406 | #define S_LDT_TXBUFCNT_RDATA 20 | 406 | #define S_LDT_TXBUFCNT_RDATA 20 |
407 | #define M_LDT_TXBUFCNT_RDATA _SB_MAKEMASK_32(4,S_LDT_TXBUFCNT_RDATA) | 407 | #define M_LDT_TXBUFCNT_RDATA _SB_MAKEMASK_32(4, S_LDT_TXBUFCNT_RDATA) |
408 | #define V_LDT_TXBUFCNT_RDATA(x) _SB_MAKEVALUE_32(x,S_LDT_TXBUFCNT_RDATA) | 408 | #define V_LDT_TXBUFCNT_RDATA(x) _SB_MAKEVALUE_32(x, S_LDT_TXBUFCNT_RDATA) |
409 | #define G_LDT_TXBUFCNT_RDATA(x) _SB_GETVALUE_32(x,S_LDT_TXBUFCNT_RDATA,M_LDT_TXBUFCNT_RDATA) | 409 | #define G_LDT_TXBUFCNT_RDATA(x) _SB_GETVALUE_32(x, S_LDT_TXBUFCNT_RDATA, M_LDT_TXBUFCNT_RDATA) |
410 | 410 | ||
411 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) | 411 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) |
412 | /* | 412 | /* |
@@ -414,9 +414,9 @@ | |||
414 | */ | 414 | */ |
415 | 415 | ||
416 | #define S_LDT_ADDSTATUS_TGTDONE 0 | 416 | #define S_LDT_ADDSTATUS_TGTDONE 0 |
417 | #define M_LDT_ADDSTATUS_TGTDONE _SB_MAKEMASK_32(8,S_LDT_ADDSTATUS_TGTDONE) | 417 | #define M_LDT_ADDSTATUS_TGTDONE _SB_MAKEMASK_32(8, S_LDT_ADDSTATUS_TGTDONE) |
418 | #define V_LDT_ADDSTATUS_TGTDONE(x) _SB_MAKEVALUE_32(x,S_LDT_ADDSTATUS_TGTDONE) | 418 | #define V_LDT_ADDSTATUS_TGTDONE(x) _SB_MAKEVALUE_32(x, S_LDT_ADDSTATUS_TGTDONE) |
419 | #define G_LDT_ADDSTATUS_TGTDONE(x) _SB_GETVALUE_32(x,S_LDT_ADDSTATUS_TGTDONE,M_LDT_ADDSTATUS_TGTDONE) | 419 | #define G_LDT_ADDSTATUS_TGTDONE(x) _SB_GETVALUE_32(x, S_LDT_ADDSTATUS_TGTDONE, M_LDT_ADDSTATUS_TGTDONE) |
420 | #endif /* 1250 PASS2 || 112x PASS1 */ | 420 | #endif /* 1250 PASS2 || 112x PASS1 */ |
421 | 421 | ||
422 | #endif | 422 | #endif |
diff --git a/include/asm-mips/sibyte/sb1250_mac.h b/include/asm-mips/sibyte/sb1250_mac.h index 833c8b59d687..b6faf08ca81d 100644 --- a/include/asm-mips/sibyte/sb1250_mac.h +++ b/include/asm-mips/sibyte/sb1250_mac.h | |||
@@ -55,8 +55,8 @@ | |||
55 | #define M_MAC_BURST_EN _SB_MAKEMASK1(5) | 55 | #define M_MAC_BURST_EN _SB_MAKEMASK1(5) |
56 | 56 | ||
57 | #define S_MAC_TX_PAUSE _SB_MAKE64(6) | 57 | #define S_MAC_TX_PAUSE _SB_MAKE64(6) |
58 | #define M_MAC_TX_PAUSE_CNT _SB_MAKEMASK(3,S_MAC_TX_PAUSE) | 58 | #define M_MAC_TX_PAUSE_CNT _SB_MAKEMASK(3, S_MAC_TX_PAUSE) |
59 | #define V_MAC_TX_PAUSE_CNT(x) _SB_MAKEVALUE(x,S_MAC_TX_PAUSE) | 59 | #define V_MAC_TX_PAUSE_CNT(x) _SB_MAKEVALUE(x, S_MAC_TX_PAUSE) |
60 | 60 | ||
61 | #define K_MAC_TX_PAUSE_CNT_512 0 | 61 | #define K_MAC_TX_PAUSE_CNT_512 0 |
62 | #define K_MAC_TX_PAUSE_CNT_1K 1 | 62 | #define K_MAC_TX_PAUSE_CNT_1K 1 |
@@ -76,7 +76,7 @@ | |||
76 | #define V_MAC_TX_PAUSE_CNT_32K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_32K) | 76 | #define V_MAC_TX_PAUSE_CNT_32K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_32K) |
77 | #define V_MAC_TX_PAUSE_CNT_64K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_64K) | 77 | #define V_MAC_TX_PAUSE_CNT_64K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_64K) |
78 | 78 | ||
79 | #define M_MAC_RESERVED1 _SB_MAKEMASK(8,9) | 79 | #define M_MAC_RESERVED1 _SB_MAKEMASK(8, 9) |
80 | 80 | ||
81 | #define M_MAC_AP_STAT_EN _SB_MAKEMASK1(17) | 81 | #define M_MAC_AP_STAT_EN _SB_MAKEMASK1(17) |
82 | 82 | ||
@@ -91,15 +91,15 @@ | |||
91 | #define M_MAC_DRP_OSZPKT_EN _SB_MAKEMASK1(24) | 91 | #define M_MAC_DRP_OSZPKT_EN _SB_MAKEMASK1(24) |
92 | #define M_MAC_DRP_LENERRPKT_EN _SB_MAKEMASK1(25) | 92 | #define M_MAC_DRP_LENERRPKT_EN _SB_MAKEMASK1(25) |
93 | 93 | ||
94 | #define M_MAC_RESERVED3 _SB_MAKEMASK(6,26) | 94 | #define M_MAC_RESERVED3 _SB_MAKEMASK(6, 26) |
95 | 95 | ||
96 | #define M_MAC_BYPASS_SEL _SB_MAKEMASK1(32) | 96 | #define M_MAC_BYPASS_SEL _SB_MAKEMASK1(32) |
97 | #define M_MAC_HDX_EN _SB_MAKEMASK1(33) | 97 | #define M_MAC_HDX_EN _SB_MAKEMASK1(33) |
98 | 98 | ||
99 | #define S_MAC_SPEED_SEL _SB_MAKE64(34) | 99 | #define S_MAC_SPEED_SEL _SB_MAKE64(34) |
100 | #define M_MAC_SPEED_SEL _SB_MAKEMASK(2,S_MAC_SPEED_SEL) | 100 | #define M_MAC_SPEED_SEL _SB_MAKEMASK(2, S_MAC_SPEED_SEL) |
101 | #define V_MAC_SPEED_SEL(x) _SB_MAKEVALUE(x,S_MAC_SPEED_SEL) | 101 | #define V_MAC_SPEED_SEL(x) _SB_MAKEVALUE(x, S_MAC_SPEED_SEL) |
102 | #define G_MAC_SPEED_SEL(x) _SB_GETVALUE(x,S_MAC_SPEED_SEL,M_MAC_SPEED_SEL) | 102 | #define G_MAC_SPEED_SEL(x) _SB_GETVALUE(x, S_MAC_SPEED_SEL, M_MAC_SPEED_SEL) |
103 | 103 | ||
104 | #define K_MAC_SPEED_SEL_10MBPS 0 | 104 | #define K_MAC_SPEED_SEL_10MBPS 0 |
105 | #define K_MAC_SPEED_SEL_100MBPS 1 | 105 | #define K_MAC_SPEED_SEL_100MBPS 1 |
@@ -117,9 +117,9 @@ | |||
117 | #define M_MAC_SS_EN _SB_MAKEMASK1(39) | 117 | #define M_MAC_SS_EN _SB_MAKEMASK1(39) |
118 | 118 | ||
119 | #define S_MAC_BYPASS_CFG _SB_MAKE64(40) | 119 | #define S_MAC_BYPASS_CFG _SB_MAKE64(40) |
120 | #define M_MAC_BYPASS_CFG _SB_MAKEMASK(2,S_MAC_BYPASS_CFG) | 120 | #define M_MAC_BYPASS_CFG _SB_MAKEMASK(2, S_MAC_BYPASS_CFG) |
121 | #define V_MAC_BYPASS_CFG(x) _SB_MAKEVALUE(x,S_MAC_BYPASS_CFG) | 121 | #define V_MAC_BYPASS_CFG(x) _SB_MAKEVALUE(x, S_MAC_BYPASS_CFG) |
122 | #define G_MAC_BYPASS_CFG(x) _SB_GETVALUE(x,S_MAC_BYPASS_CFG,M_MAC_BYPASS_CFG) | 122 | #define G_MAC_BYPASS_CFG(x) _SB_GETVALUE(x, S_MAC_BYPASS_CFG, M_MAC_BYPASS_CFG) |
123 | 123 | ||
124 | #define K_MAC_BYPASS_GMII 0 | 124 | #define K_MAC_BYPASS_GMII 0 |
125 | #define K_MAC_BYPASS_ENCODED 1 | 125 | #define K_MAC_BYPASS_ENCODED 1 |
@@ -138,9 +138,9 @@ | |||
138 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 138 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
139 | 139 | ||
140 | #define S_MAC_BYPASS_IFG _SB_MAKE64(46) | 140 | #define S_MAC_BYPASS_IFG _SB_MAKE64(46) |
141 | #define M_MAC_BYPASS_IFG _SB_MAKEMASK(8,S_MAC_BYPASS_IFG) | 141 | #define M_MAC_BYPASS_IFG _SB_MAKEMASK(8, S_MAC_BYPASS_IFG) |
142 | #define V_MAC_BYPASS_IFG(x) _SB_MAKEVALUE(x,S_MAC_BYPASS_IFG) | 142 | #define V_MAC_BYPASS_IFG(x) _SB_MAKEVALUE(x, S_MAC_BYPASS_IFG) |
143 | #define G_MAC_BYPASS_IFG(x) _SB_GETVALUE(x,S_MAC_BYPASS_IFG,M_MAC_BYPASS_IFG) | 143 | #define G_MAC_BYPASS_IFG(x) _SB_GETVALUE(x, S_MAC_BYPASS_IFG, M_MAC_BYPASS_IFG) |
144 | 144 | ||
145 | #define K_MAC_FC_CMD_DISABLED 0 | 145 | #define K_MAC_FC_CMD_DISABLED 0 |
146 | #define K_MAC_FC_CMD_ENABLED 1 | 146 | #define K_MAC_FC_CMD_ENABLED 1 |
@@ -153,14 +153,14 @@ | |||
153 | #define M_MAC_FC_SEL _SB_MAKEMASK1(54) | 153 | #define M_MAC_FC_SEL _SB_MAKEMASK1(54) |
154 | 154 | ||
155 | #define S_MAC_FC_CMD _SB_MAKE64(55) | 155 | #define S_MAC_FC_CMD _SB_MAKE64(55) |
156 | #define M_MAC_FC_CMD _SB_MAKEMASK(2,S_MAC_FC_CMD) | 156 | #define M_MAC_FC_CMD _SB_MAKEMASK(2, S_MAC_FC_CMD) |
157 | #define V_MAC_FC_CMD(x) _SB_MAKEVALUE(x,S_MAC_FC_CMD) | 157 | #define V_MAC_FC_CMD(x) _SB_MAKEVALUE(x, S_MAC_FC_CMD) |
158 | #define G_MAC_FC_CMD(x) _SB_GETVALUE(x,S_MAC_FC_CMD,M_MAC_FC_CMD) | 158 | #define G_MAC_FC_CMD(x) _SB_GETVALUE(x, S_MAC_FC_CMD, M_MAC_FC_CMD) |
159 | 159 | ||
160 | #define S_MAC_RX_CH_SEL _SB_MAKE64(57) | 160 | #define S_MAC_RX_CH_SEL _SB_MAKE64(57) |
161 | #define M_MAC_RX_CH_SEL _SB_MAKEMASK(7,S_MAC_RX_CH_SEL) | 161 | #define M_MAC_RX_CH_SEL _SB_MAKEMASK(7, S_MAC_RX_CH_SEL) |
162 | #define V_MAC_RX_CH_SEL(x) _SB_MAKEVALUE(x,S_MAC_RX_CH_SEL) | 162 | #define V_MAC_RX_CH_SEL(x) _SB_MAKEVALUE(x, S_MAC_RX_CH_SEL) |
163 | #define G_MAC_RX_CH_SEL(x) _SB_GETVALUE(x,S_MAC_RX_CH_SEL,M_MAC_RX_CH_SEL) | 163 | #define G_MAC_RX_CH_SEL(x) _SB_GETVALUE(x, S_MAC_RX_CH_SEL, M_MAC_RX_CH_SEL) |
164 | 164 | ||
165 | 165 | ||
166 | /* | 166 | /* |
@@ -202,14 +202,14 @@ | |||
202 | */ | 202 | */ |
203 | 203 | ||
204 | #define S_MAC_TXD_WEIGHT0 _SB_MAKE64(0) | 204 | #define S_MAC_TXD_WEIGHT0 _SB_MAKE64(0) |
205 | #define M_MAC_TXD_WEIGHT0 _SB_MAKEMASK(4,S_MAC_TXD_WEIGHT0) | 205 | #define M_MAC_TXD_WEIGHT0 _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT0) |
206 | #define V_MAC_TXD_WEIGHT0(x) _SB_MAKEVALUE(x,S_MAC_TXD_WEIGHT0) | 206 | #define V_MAC_TXD_WEIGHT0(x) _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT0) |
207 | #define G_MAC_TXD_WEIGHT0(x) _SB_GETVALUE(x,S_MAC_TXD_WEIGHT0,M_MAC_TXD_WEIGHT0) | 207 | #define G_MAC_TXD_WEIGHT0(x) _SB_GETVALUE(x, S_MAC_TXD_WEIGHT0, M_MAC_TXD_WEIGHT0) |
208 | 208 | ||
209 | #define S_MAC_TXD_WEIGHT1 _SB_MAKE64(4) | 209 | #define S_MAC_TXD_WEIGHT1 _SB_MAKE64(4) |
210 | #define M_MAC_TXD_WEIGHT1 _SB_MAKEMASK(4,S_MAC_TXD_WEIGHT1) | 210 | #define M_MAC_TXD_WEIGHT1 _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT1) |
211 | #define V_MAC_TXD_WEIGHT1(x) _SB_MAKEVALUE(x,S_MAC_TXD_WEIGHT1) | 211 | #define V_MAC_TXD_WEIGHT1(x) _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT1) |
212 | #define G_MAC_TXD_WEIGHT1(x) _SB_GETVALUE(x,S_MAC_TXD_WEIGHT1,M_MAC_TXD_WEIGHT1) | 212 | #define G_MAC_TXD_WEIGHT1(x) _SB_GETVALUE(x, S_MAC_TXD_WEIGHT1, M_MAC_TXD_WEIGHT1) |
213 | 213 | ||
214 | /* | 214 | /* |
215 | * MAC Fifo Threshhold registers (Table 9-14) | 215 | * MAC Fifo Threshhold registers (Table 9-14) |
@@ -221,50 +221,50 @@ | |||
221 | #define S_MAC_TX_WR_THRSH _SB_MAKE64(0) | 221 | #define S_MAC_TX_WR_THRSH _SB_MAKE64(0) |
222 | #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1) | 222 | #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1) |
223 | /* XXX: Can't enable, as it has the same name as a pass2+ define below. */ | 223 | /* XXX: Can't enable, as it has the same name as a pass2+ define below. */ |
224 | /* #define M_MAC_TX_WR_THRSH _SB_MAKEMASK(6,S_MAC_TX_WR_THRSH) */ | 224 | /* #define M_MAC_TX_WR_THRSH _SB_MAKEMASK(6, S_MAC_TX_WR_THRSH) */ |
225 | #endif /* up to 1250 PASS1 */ | 225 | #endif /* up to 1250 PASS1 */ |
226 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 226 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
227 | #define M_MAC_TX_WR_THRSH _SB_MAKEMASK(7,S_MAC_TX_WR_THRSH) | 227 | #define M_MAC_TX_WR_THRSH _SB_MAKEMASK(7, S_MAC_TX_WR_THRSH) |
228 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 228 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
229 | #define V_MAC_TX_WR_THRSH(x) _SB_MAKEVALUE(x,S_MAC_TX_WR_THRSH) | 229 | #define V_MAC_TX_WR_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_WR_THRSH) |
230 | #define G_MAC_TX_WR_THRSH(x) _SB_GETVALUE(x,S_MAC_TX_WR_THRSH,M_MAC_TX_WR_THRSH) | 230 | #define G_MAC_TX_WR_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_WR_THRSH, M_MAC_TX_WR_THRSH) |
231 | 231 | ||
232 | #define S_MAC_TX_RD_THRSH _SB_MAKE64(8) | 232 | #define S_MAC_TX_RD_THRSH _SB_MAKE64(8) |
233 | #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1) | 233 | #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1) |
234 | /* XXX: Can't enable, as it has the same name as a pass2+ define below. */ | 234 | /* XXX: Can't enable, as it has the same name as a pass2+ define below. */ |
235 | /* #define M_MAC_TX_RD_THRSH _SB_MAKEMASK(6,S_MAC_TX_RD_THRSH) */ | 235 | /* #define M_MAC_TX_RD_THRSH _SB_MAKEMASK(6, S_MAC_TX_RD_THRSH) */ |
236 | #endif /* up to 1250 PASS1 */ | 236 | #endif /* up to 1250 PASS1 */ |
237 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 237 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
238 | #define M_MAC_TX_RD_THRSH _SB_MAKEMASK(7,S_MAC_TX_RD_THRSH) | 238 | #define M_MAC_TX_RD_THRSH _SB_MAKEMASK(7, S_MAC_TX_RD_THRSH) |
239 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 239 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
240 | #define V_MAC_TX_RD_THRSH(x) _SB_MAKEVALUE(x,S_MAC_TX_RD_THRSH) | 240 | #define V_MAC_TX_RD_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_RD_THRSH) |
241 | #define G_MAC_TX_RD_THRSH(x) _SB_GETVALUE(x,S_MAC_TX_RD_THRSH,M_MAC_TX_RD_THRSH) | 241 | #define G_MAC_TX_RD_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_RD_THRSH, M_MAC_TX_RD_THRSH) |
242 | 242 | ||
243 | #define S_MAC_TX_RL_THRSH _SB_MAKE64(16) | 243 | #define S_MAC_TX_RL_THRSH _SB_MAKE64(16) |
244 | #define M_MAC_TX_RL_THRSH _SB_MAKEMASK(4,S_MAC_TX_RL_THRSH) | 244 | #define M_MAC_TX_RL_THRSH _SB_MAKEMASK(4, S_MAC_TX_RL_THRSH) |
245 | #define V_MAC_TX_RL_THRSH(x) _SB_MAKEVALUE(x,S_MAC_TX_RL_THRSH) | 245 | #define V_MAC_TX_RL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_RL_THRSH) |
246 | #define G_MAC_TX_RL_THRSH(x) _SB_GETVALUE(x,S_MAC_TX_RL_THRSH,M_MAC_TX_RL_THRSH) | 246 | #define G_MAC_TX_RL_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_RL_THRSH, M_MAC_TX_RL_THRSH) |
247 | 247 | ||
248 | #define S_MAC_RX_PL_THRSH _SB_MAKE64(24) | 248 | #define S_MAC_RX_PL_THRSH _SB_MAKE64(24) |
249 | #define M_MAC_RX_PL_THRSH _SB_MAKEMASK(6,S_MAC_RX_PL_THRSH) | 249 | #define M_MAC_RX_PL_THRSH _SB_MAKEMASK(6, S_MAC_RX_PL_THRSH) |
250 | #define V_MAC_RX_PL_THRSH(x) _SB_MAKEVALUE(x,S_MAC_RX_PL_THRSH) | 250 | #define V_MAC_RX_PL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_PL_THRSH) |
251 | #define G_MAC_RX_PL_THRSH(x) _SB_GETVALUE(x,S_MAC_RX_PL_THRSH,M_MAC_RX_PL_THRSH) | 251 | #define G_MAC_RX_PL_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_PL_THRSH, M_MAC_RX_PL_THRSH) |
252 | 252 | ||
253 | #define S_MAC_RX_RD_THRSH _SB_MAKE64(32) | 253 | #define S_MAC_RX_RD_THRSH _SB_MAKE64(32) |
254 | #define M_MAC_RX_RD_THRSH _SB_MAKEMASK(6,S_MAC_RX_RD_THRSH) | 254 | #define M_MAC_RX_RD_THRSH _SB_MAKEMASK(6, S_MAC_RX_RD_THRSH) |
255 | #define V_MAC_RX_RD_THRSH(x) _SB_MAKEVALUE(x,S_MAC_RX_RD_THRSH) | 255 | #define V_MAC_RX_RD_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_RD_THRSH) |
256 | #define G_MAC_RX_RD_THRSH(x) _SB_GETVALUE(x,S_MAC_RX_RD_THRSH,M_MAC_RX_RD_THRSH) | 256 | #define G_MAC_RX_RD_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_RD_THRSH, M_MAC_RX_RD_THRSH) |
257 | 257 | ||
258 | #define S_MAC_RX_RL_THRSH _SB_MAKE64(40) | 258 | #define S_MAC_RX_RL_THRSH _SB_MAKE64(40) |
259 | #define M_MAC_RX_RL_THRSH _SB_MAKEMASK(6,S_MAC_RX_RL_THRSH) | 259 | #define M_MAC_RX_RL_THRSH _SB_MAKEMASK(6, S_MAC_RX_RL_THRSH) |
260 | #define V_MAC_RX_RL_THRSH(x) _SB_MAKEVALUE(x,S_MAC_RX_RL_THRSH) | 260 | #define V_MAC_RX_RL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_RL_THRSH) |
261 | #define G_MAC_RX_RL_THRSH(x) _SB_GETVALUE(x,S_MAC_RX_RL_THRSH,M_MAC_RX_RL_THRSH) | 261 | #define G_MAC_RX_RL_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_RL_THRSH, M_MAC_RX_RL_THRSH) |
262 | 262 | ||
263 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 263 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
264 | #define S_MAC_ENC_FC_THRSH _SB_MAKE64(56) | 264 | #define S_MAC_ENC_FC_THRSH _SB_MAKE64(56) |
265 | #define M_MAC_ENC_FC_THRSH _SB_MAKEMASK(6,S_MAC_ENC_FC_THRSH) | 265 | #define M_MAC_ENC_FC_THRSH _SB_MAKEMASK(6, S_MAC_ENC_FC_THRSH) |
266 | #define V_MAC_ENC_FC_THRSH(x) _SB_MAKEVALUE(x,S_MAC_ENC_FC_THRSH) | 266 | #define V_MAC_ENC_FC_THRSH(x) _SB_MAKEVALUE(x, S_MAC_ENC_FC_THRSH) |
267 | #define G_MAC_ENC_FC_THRSH(x) _SB_GETVALUE(x,S_MAC_ENC_FC_THRSH,M_MAC_ENC_FC_THRSH) | 267 | #define G_MAC_ENC_FC_THRSH(x) _SB_GETVALUE(x, S_MAC_ENC_FC_THRSH, M_MAC_ENC_FC_THRSH) |
268 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 268 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
269 | 269 | ||
270 | /* | 270 | /* |
@@ -276,51 +276,51 @@ | |||
276 | 276 | ||
277 | /* XXXCGD: ??? Unused in pass2? */ | 277 | /* XXXCGD: ??? Unused in pass2? */ |
278 | #define S_MAC_IFG_RX _SB_MAKE64(0) | 278 | #define S_MAC_IFG_RX _SB_MAKE64(0) |
279 | #define M_MAC_IFG_RX _SB_MAKEMASK(6,S_MAC_IFG_RX) | 279 | #define M_MAC_IFG_RX _SB_MAKEMASK(6, S_MAC_IFG_RX) |
280 | #define V_MAC_IFG_RX(x) _SB_MAKEVALUE(x,S_MAC_IFG_RX) | 280 | #define V_MAC_IFG_RX(x) _SB_MAKEVALUE(x, S_MAC_IFG_RX) |
281 | #define G_MAC_IFG_RX(x) _SB_GETVALUE(x,S_MAC_IFG_RX,M_MAC_IFG_RX) | 281 | #define G_MAC_IFG_RX(x) _SB_GETVALUE(x, S_MAC_IFG_RX, M_MAC_IFG_RX) |
282 | 282 | ||
283 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 283 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
284 | #define S_MAC_PRE_LEN _SB_MAKE64(0) | 284 | #define S_MAC_PRE_LEN _SB_MAKE64(0) |
285 | #define M_MAC_PRE_LEN _SB_MAKEMASK(6,S_MAC_PRE_LEN) | 285 | #define M_MAC_PRE_LEN _SB_MAKEMASK(6, S_MAC_PRE_LEN) |
286 | #define V_MAC_PRE_LEN(x) _SB_MAKEVALUE(x,S_MAC_PRE_LEN) | 286 | #define V_MAC_PRE_LEN(x) _SB_MAKEVALUE(x, S_MAC_PRE_LEN) |
287 | #define G_MAC_PRE_LEN(x) _SB_GETVALUE(x,S_MAC_PRE_LEN,M_MAC_PRE_LEN) | 287 | #define G_MAC_PRE_LEN(x) _SB_GETVALUE(x, S_MAC_PRE_LEN, M_MAC_PRE_LEN) |
288 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 288 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
289 | 289 | ||
290 | #define S_MAC_IFG_TX _SB_MAKE64(6) | 290 | #define S_MAC_IFG_TX _SB_MAKE64(6) |
291 | #define M_MAC_IFG_TX _SB_MAKEMASK(6,S_MAC_IFG_TX) | 291 | #define M_MAC_IFG_TX _SB_MAKEMASK(6, S_MAC_IFG_TX) |
292 | #define V_MAC_IFG_TX(x) _SB_MAKEVALUE(x,S_MAC_IFG_TX) | 292 | #define V_MAC_IFG_TX(x) _SB_MAKEVALUE(x, S_MAC_IFG_TX) |
293 | #define G_MAC_IFG_TX(x) _SB_GETVALUE(x,S_MAC_IFG_TX,M_MAC_IFG_TX) | 293 | #define G_MAC_IFG_TX(x) _SB_GETVALUE(x, S_MAC_IFG_TX, M_MAC_IFG_TX) |
294 | 294 | ||
295 | #define S_MAC_IFG_THRSH _SB_MAKE64(12) | 295 | #define S_MAC_IFG_THRSH _SB_MAKE64(12) |
296 | #define M_MAC_IFG_THRSH _SB_MAKEMASK(6,S_MAC_IFG_THRSH) | 296 | #define M_MAC_IFG_THRSH _SB_MAKEMASK(6, S_MAC_IFG_THRSH) |
297 | #define V_MAC_IFG_THRSH(x) _SB_MAKEVALUE(x,S_MAC_IFG_THRSH) | 297 | #define V_MAC_IFG_THRSH(x) _SB_MAKEVALUE(x, S_MAC_IFG_THRSH) |
298 | #define G_MAC_IFG_THRSH(x) _SB_GETVALUE(x,S_MAC_IFG_THRSH,M_MAC_IFG_THRSH) | 298 | #define G_MAC_IFG_THRSH(x) _SB_GETVALUE(x, S_MAC_IFG_THRSH, M_MAC_IFG_THRSH) |
299 | 299 | ||
300 | #define S_MAC_BACKOFF_SEL _SB_MAKE64(18) | 300 | #define S_MAC_BACKOFF_SEL _SB_MAKE64(18) |
301 | #define M_MAC_BACKOFF_SEL _SB_MAKEMASK(4,S_MAC_BACKOFF_SEL) | 301 | #define M_MAC_BACKOFF_SEL _SB_MAKEMASK(4, S_MAC_BACKOFF_SEL) |
302 | #define V_MAC_BACKOFF_SEL(x) _SB_MAKEVALUE(x,S_MAC_BACKOFF_SEL) | 302 | #define V_MAC_BACKOFF_SEL(x) _SB_MAKEVALUE(x, S_MAC_BACKOFF_SEL) |
303 | #define G_MAC_BACKOFF_SEL(x) _SB_GETVALUE(x,S_MAC_BACKOFF_SEL,M_MAC_BACKOFF_SEL) | 303 | #define G_MAC_BACKOFF_SEL(x) _SB_GETVALUE(x, S_MAC_BACKOFF_SEL, M_MAC_BACKOFF_SEL) |
304 | 304 | ||
305 | #define S_MAC_LFSR_SEED _SB_MAKE64(22) | 305 | #define S_MAC_LFSR_SEED _SB_MAKE64(22) |
306 | #define M_MAC_LFSR_SEED _SB_MAKEMASK(8,S_MAC_LFSR_SEED) | 306 | #define M_MAC_LFSR_SEED _SB_MAKEMASK(8, S_MAC_LFSR_SEED) |
307 | #define V_MAC_LFSR_SEED(x) _SB_MAKEVALUE(x,S_MAC_LFSR_SEED) | 307 | #define V_MAC_LFSR_SEED(x) _SB_MAKEVALUE(x, S_MAC_LFSR_SEED) |
308 | #define G_MAC_LFSR_SEED(x) _SB_GETVALUE(x,S_MAC_LFSR_SEED,M_MAC_LFSR_SEED) | 308 | #define G_MAC_LFSR_SEED(x) _SB_GETVALUE(x, S_MAC_LFSR_SEED, M_MAC_LFSR_SEED) |
309 | 309 | ||
310 | #define S_MAC_SLOT_SIZE _SB_MAKE64(30) | 310 | #define S_MAC_SLOT_SIZE _SB_MAKE64(30) |
311 | #define M_MAC_SLOT_SIZE _SB_MAKEMASK(10,S_MAC_SLOT_SIZE) | 311 | #define M_MAC_SLOT_SIZE _SB_MAKEMASK(10, S_MAC_SLOT_SIZE) |
312 | #define V_MAC_SLOT_SIZE(x) _SB_MAKEVALUE(x,S_MAC_SLOT_SIZE) | 312 | #define V_MAC_SLOT_SIZE(x) _SB_MAKEVALUE(x, S_MAC_SLOT_SIZE) |
313 | #define G_MAC_SLOT_SIZE(x) _SB_GETVALUE(x,S_MAC_SLOT_SIZE,M_MAC_SLOT_SIZE) | 313 | #define G_MAC_SLOT_SIZE(x) _SB_GETVALUE(x, S_MAC_SLOT_SIZE, M_MAC_SLOT_SIZE) |
314 | 314 | ||
315 | #define S_MAC_MIN_FRAMESZ _SB_MAKE64(40) | 315 | #define S_MAC_MIN_FRAMESZ _SB_MAKE64(40) |
316 | #define M_MAC_MIN_FRAMESZ _SB_MAKEMASK(8,S_MAC_MIN_FRAMESZ) | 316 | #define M_MAC_MIN_FRAMESZ _SB_MAKEMASK(8, S_MAC_MIN_FRAMESZ) |
317 | #define V_MAC_MIN_FRAMESZ(x) _SB_MAKEVALUE(x,S_MAC_MIN_FRAMESZ) | 317 | #define V_MAC_MIN_FRAMESZ(x) _SB_MAKEVALUE(x, S_MAC_MIN_FRAMESZ) |
318 | #define G_MAC_MIN_FRAMESZ(x) _SB_GETVALUE(x,S_MAC_MIN_FRAMESZ,M_MAC_MIN_FRAMESZ) | 318 | #define G_MAC_MIN_FRAMESZ(x) _SB_GETVALUE(x, S_MAC_MIN_FRAMESZ, M_MAC_MIN_FRAMESZ) |
319 | 319 | ||
320 | #define S_MAC_MAX_FRAMESZ _SB_MAKE64(48) | 320 | #define S_MAC_MAX_FRAMESZ _SB_MAKE64(48) |
321 | #define M_MAC_MAX_FRAMESZ _SB_MAKEMASK(16,S_MAC_MAX_FRAMESZ) | 321 | #define M_MAC_MAX_FRAMESZ _SB_MAKEMASK(16, S_MAC_MAX_FRAMESZ) |
322 | #define V_MAC_MAX_FRAMESZ(x) _SB_MAKEVALUE(x,S_MAC_MAX_FRAMESZ) | 322 | #define V_MAC_MAX_FRAMESZ(x) _SB_MAKEVALUE(x, S_MAC_MAX_FRAMESZ) |
323 | #define G_MAC_MAX_FRAMESZ(x) _SB_GETVALUE(x,S_MAC_MAX_FRAMESZ,M_MAC_MAX_FRAMESZ) | 323 | #define G_MAC_MAX_FRAMESZ(x) _SB_GETVALUE(x, S_MAC_MAX_FRAMESZ, M_MAC_MAX_FRAMESZ) |
324 | 324 | ||
325 | /* | 325 | /* |
326 | * These constants are used to configure the fields within the Frame | 326 | * These constants are used to configure the fields within the Frame |
@@ -377,20 +377,20 @@ | |||
377 | */ | 377 | */ |
378 | 378 | ||
379 | #define S_MAC_VLAN_TAG _SB_MAKE64(0) | 379 | #define S_MAC_VLAN_TAG _SB_MAKE64(0) |
380 | #define M_MAC_VLAN_TAG _SB_MAKEMASK(32,S_MAC_VLAN_TAG) | 380 | #define M_MAC_VLAN_TAG _SB_MAKEMASK(32, S_MAC_VLAN_TAG) |
381 | #define V_MAC_VLAN_TAG(x) _SB_MAKEVALUE(x,S_MAC_VLAN_TAG) | 381 | #define V_MAC_VLAN_TAG(x) _SB_MAKEVALUE(x, S_MAC_VLAN_TAG) |
382 | #define G_MAC_VLAN_TAG(x) _SB_GETVALUE(x,S_MAC_VLAN_TAG,M_MAC_VLAN_TAG) | 382 | #define G_MAC_VLAN_TAG(x) _SB_GETVALUE(x, S_MAC_VLAN_TAG, M_MAC_VLAN_TAG) |
383 | 383 | ||
384 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) | 384 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) |
385 | #define S_MAC_TX_PKT_OFFSET _SB_MAKE64(32) | 385 | #define S_MAC_TX_PKT_OFFSET _SB_MAKE64(32) |
386 | #define M_MAC_TX_PKT_OFFSET _SB_MAKEMASK(8,S_MAC_TX_PKT_OFFSET) | 386 | #define M_MAC_TX_PKT_OFFSET _SB_MAKEMASK(8, S_MAC_TX_PKT_OFFSET) |
387 | #define V_MAC_TX_PKT_OFFSET(x) _SB_MAKEVALUE(x,S_MAC_TX_PKT_OFFSET) | 387 | #define V_MAC_TX_PKT_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_TX_PKT_OFFSET) |
388 | #define G_MAC_TX_PKT_OFFSET(x) _SB_GETVALUE(x,S_MAC_TX_PKT_OFFSET,M_MAC_TX_PKT_OFFSET) | 388 | #define G_MAC_TX_PKT_OFFSET(x) _SB_GETVALUE(x, S_MAC_TX_PKT_OFFSET, M_MAC_TX_PKT_OFFSET) |
389 | 389 | ||
390 | #define S_MAC_TX_CRC_OFFSET _SB_MAKE64(40) | 390 | #define S_MAC_TX_CRC_OFFSET _SB_MAKE64(40) |
391 | #define M_MAC_TX_CRC_OFFSET _SB_MAKEMASK(8,S_MAC_TX_CRC_OFFSET) | 391 | #define M_MAC_TX_CRC_OFFSET _SB_MAKEMASK(8, S_MAC_TX_CRC_OFFSET) |
392 | #define V_MAC_TX_CRC_OFFSET(x) _SB_MAKEVALUE(x,S_MAC_TX_CRC_OFFSET) | 392 | #define V_MAC_TX_CRC_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_TX_CRC_OFFSET) |
393 | #define G_MAC_TX_CRC_OFFSET(x) _SB_GETVALUE(x,S_MAC_TX_CRC_OFFSET,M_MAC_TX_CRC_OFFSET) | 393 | #define G_MAC_TX_CRC_OFFSET(x) _SB_GETVALUE(x, S_MAC_TX_CRC_OFFSET, M_MAC_TX_CRC_OFFSET) |
394 | 394 | ||
395 | #define M_MAC_CH_BASE_FC_EN _SB_MAKEMASK1(48) | 395 | #define M_MAC_CH_BASE_FC_EN _SB_MAKEMASK1(48) |
396 | #endif /* 1250 PASS3 || 112x PASS1 */ | 396 | #endif /* 1250 PASS3 || 112x PASS1 */ |
@@ -425,7 +425,7 @@ | |||
425 | * is that you'll use one of the "S_" things above | 425 | * is that you'll use one of the "S_" things above |
426 | * and pass just the six bits to a DMA-channel-specific ISR | 426 | * and pass just the six bits to a DMA-channel-specific ISR |
427 | */ | 427 | */ |
428 | #define M_MAC_INT_CHANNEL _SB_MAKEMASK(8,0) | 428 | #define M_MAC_INT_CHANNEL _SB_MAKEMASK(8, 0) |
429 | #define M_MAC_INT_EOP_COUNT _SB_MAKEMASK1(0) | 429 | #define M_MAC_INT_EOP_COUNT _SB_MAKEMASK1(0) |
430 | #define M_MAC_INT_EOP_TIMER _SB_MAKEMASK1(1) | 430 | #define M_MAC_INT_EOP_TIMER _SB_MAKEMASK1(1) |
431 | #define M_MAC_INT_EOP_SEEN _SB_MAKEMASK1(2) | 431 | #define M_MAC_INT_EOP_SEEN _SB_MAKEMASK1(2) |
@@ -440,19 +440,19 @@ | |||
440 | * In the following definitions we use ch (0/1) and txrx (TX=1, RX=0, see | 440 | * In the following definitions we use ch (0/1) and txrx (TX=1, RX=0, see |
441 | * also DMA_TX/DMA_RX in sb_regs.h). | 441 | * also DMA_TX/DMA_RX in sb_regs.h). |
442 | */ | 442 | */ |
443 | #define S_MAC_STATUS_CH_OFFSET(ch,txrx) _SB_MAKE64(((ch) + 2 * (txrx)) * S_MAC_CHANWIDTH) | 443 | #define S_MAC_STATUS_CH_OFFSET(ch, txrx) _SB_MAKE64(((ch) + 2 * (txrx)) * S_MAC_CHANWIDTH) |
444 | 444 | ||
445 | #define M_MAC_STATUS_CHANNEL(ch,txrx) _SB_MAKEVALUE(_SB_MAKEMASK(8,0),S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 445 | #define M_MAC_STATUS_CHANNEL(ch, txrx) _SB_MAKEVALUE(_SB_MAKEMASK(8, 0), S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
446 | #define M_MAC_STATUS_EOP_COUNT(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_COUNT,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 446 | #define M_MAC_STATUS_EOP_COUNT(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_COUNT, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
447 | #define M_MAC_STATUS_EOP_TIMER(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_TIMER,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 447 | #define M_MAC_STATUS_EOP_TIMER(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_TIMER, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
448 | #define M_MAC_STATUS_EOP_SEEN(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_SEEN,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 448 | #define M_MAC_STATUS_EOP_SEEN(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_SEEN, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
449 | #define M_MAC_STATUS_HWM(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_HWM,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 449 | #define M_MAC_STATUS_HWM(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_HWM, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
450 | #define M_MAC_STATUS_LWM(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_LWM,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 450 | #define M_MAC_STATUS_LWM(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_LWM, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
451 | #define M_MAC_STATUS_DSCR(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_DSCR,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 451 | #define M_MAC_STATUS_DSCR(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DSCR, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
452 | #define M_MAC_STATUS_ERR(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_ERR,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 452 | #define M_MAC_STATUS_ERR(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_ERR, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
453 | #define M_MAC_STATUS_DZERO(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_DZERO,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 453 | #define M_MAC_STATUS_DZERO(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DZERO, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
454 | #define M_MAC_STATUS_DROP(ch,txrx) _SB_MAKEVALUE(M_MAC_INT_DROP,S_MAC_STATUS_CH_OFFSET(ch,txrx)) | 454 | #define M_MAC_STATUS_DROP(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DROP, S_MAC_STATUS_CH_OFFSET(ch, txrx)) |
455 | #define M_MAC_STATUS_OTHER_ERR _SB_MAKEVALUE(_SB_MAKEMASK(7,0),40) | 455 | #define M_MAC_STATUS_OTHER_ERR _SB_MAKEVALUE(_SB_MAKEMASK(7, 0), 40) |
456 | 456 | ||
457 | 457 | ||
458 | #define M_MAC_RX_UNDRFL _SB_MAKEMASK1(40) | 458 | #define M_MAC_RX_UNDRFL _SB_MAKEMASK1(40) |
@@ -467,9 +467,9 @@ | |||
467 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 467 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
468 | 468 | ||
469 | #define S_MAC_COUNTER_ADDR _SB_MAKE64(47) | 469 | #define S_MAC_COUNTER_ADDR _SB_MAKE64(47) |
470 | #define M_MAC_COUNTER_ADDR _SB_MAKEMASK(5,S_MAC_COUNTER_ADDR) | 470 | #define M_MAC_COUNTER_ADDR _SB_MAKEMASK(5, S_MAC_COUNTER_ADDR) |
471 | #define V_MAC_COUNTER_ADDR(x) _SB_MAKEVALUE(x,S_MAC_COUNTER_ADDR) | 471 | #define V_MAC_COUNTER_ADDR(x) _SB_MAKEVALUE(x, S_MAC_COUNTER_ADDR) |
472 | #define G_MAC_COUNTER_ADDR(x) _SB_GETVALUE(x,S_MAC_COUNTER_ADDR,M_MAC_COUNTER_ADDR) | 472 | #define G_MAC_COUNTER_ADDR(x) _SB_GETVALUE(x, S_MAC_COUNTER_ADDR, M_MAC_COUNTER_ADDR) |
473 | 473 | ||
474 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 474 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
475 | #define M_MAC_TX_PAUSE_ON _SB_MAKEMASK1(52) | 475 | #define M_MAC_TX_PAUSE_ON _SB_MAKEMASK1(52) |
@@ -483,24 +483,24 @@ | |||
483 | */ | 483 | */ |
484 | 484 | ||
485 | #define S_MAC_TX_WRPTR _SB_MAKE64(0) | 485 | #define S_MAC_TX_WRPTR _SB_MAKE64(0) |
486 | #define M_MAC_TX_WRPTR _SB_MAKEMASK(6,S_MAC_TX_WRPTR) | 486 | #define M_MAC_TX_WRPTR _SB_MAKEMASK(6, S_MAC_TX_WRPTR) |
487 | #define V_MAC_TX_WRPTR(x) _SB_MAKEVALUE(x,S_MAC_TX_WRPTR) | 487 | #define V_MAC_TX_WRPTR(x) _SB_MAKEVALUE(x, S_MAC_TX_WRPTR) |
488 | #define G_MAC_TX_WRPTR(x) _SB_GETVALUE(x,S_MAC_TX_WRPTR,M_MAC_TX_WRPTR) | 488 | #define G_MAC_TX_WRPTR(x) _SB_GETVALUE(x, S_MAC_TX_WRPTR, M_MAC_TX_WRPTR) |
489 | 489 | ||
490 | #define S_MAC_TX_RDPTR _SB_MAKE64(8) | 490 | #define S_MAC_TX_RDPTR _SB_MAKE64(8) |
491 | #define M_MAC_TX_RDPTR _SB_MAKEMASK(6,S_MAC_TX_RDPTR) | 491 | #define M_MAC_TX_RDPTR _SB_MAKEMASK(6, S_MAC_TX_RDPTR) |
492 | #define V_MAC_TX_RDPTR(x) _SB_MAKEVALUE(x,S_MAC_TX_RDPTR) | 492 | #define V_MAC_TX_RDPTR(x) _SB_MAKEVALUE(x, S_MAC_TX_RDPTR) |
493 | #define G_MAC_TX_RDPTR(x) _SB_GETVALUE(x,S_MAC_TX_RDPTR,M_MAC_TX_RDPTR) | 493 | #define G_MAC_TX_RDPTR(x) _SB_GETVALUE(x, S_MAC_TX_RDPTR, M_MAC_TX_RDPTR) |
494 | 494 | ||
495 | #define S_MAC_RX_WRPTR _SB_MAKE64(16) | 495 | #define S_MAC_RX_WRPTR _SB_MAKE64(16) |
496 | #define M_MAC_RX_WRPTR _SB_MAKEMASK(6,S_MAC_RX_WRPTR) | 496 | #define M_MAC_RX_WRPTR _SB_MAKEMASK(6, S_MAC_RX_WRPTR) |
497 | #define V_MAC_RX_WRPTR(x) _SB_MAKEVALUE(x,S_MAC_RX_WRPTR) | 497 | #define V_MAC_RX_WRPTR(x) _SB_MAKEVALUE(x, S_MAC_RX_WRPTR) |
498 | #define G_MAC_RX_WRPTR(x) _SB_GETVALUE(x,S_MAC_RX_WRPTR,M_MAC_TX_WRPTR) | 498 | #define G_MAC_RX_WRPTR(x) _SB_GETVALUE(x, S_MAC_RX_WRPTR, M_MAC_TX_WRPTR) |
499 | 499 | ||
500 | #define S_MAC_RX_RDPTR _SB_MAKE64(24) | 500 | #define S_MAC_RX_RDPTR _SB_MAKE64(24) |
501 | #define M_MAC_RX_RDPTR _SB_MAKEMASK(6,S_MAC_RX_RDPTR) | 501 | #define M_MAC_RX_RDPTR _SB_MAKEMASK(6, S_MAC_RX_RDPTR) |
502 | #define V_MAC_RX_RDPTR(x) _SB_MAKEVALUE(x,S_MAC_RX_RDPTR) | 502 | #define V_MAC_RX_RDPTR(x) _SB_MAKEVALUE(x, S_MAC_RX_RDPTR) |
503 | #define G_MAC_RX_RDPTR(x) _SB_GETVALUE(x,S_MAC_RX_RDPTR,M_MAC_TX_RDPTR) | 503 | #define G_MAC_RX_RDPTR(x) _SB_GETVALUE(x, S_MAC_RX_RDPTR, M_MAC_TX_RDPTR) |
504 | 504 | ||
505 | /* | 505 | /* |
506 | * MAC Fifo End Of Packet Count Registers (Table 9-20) [Debug register] | 506 | * MAC Fifo End Of Packet Count Registers (Table 9-20) [Debug register] |
@@ -510,14 +510,14 @@ | |||
510 | */ | 510 | */ |
511 | 511 | ||
512 | #define S_MAC_TX_EOP_COUNTER _SB_MAKE64(0) | 512 | #define S_MAC_TX_EOP_COUNTER _SB_MAKE64(0) |
513 | #define M_MAC_TX_EOP_COUNTER _SB_MAKEMASK(6,S_MAC_TX_EOP_COUNTER) | 513 | #define M_MAC_TX_EOP_COUNTER _SB_MAKEMASK(6, S_MAC_TX_EOP_COUNTER) |
514 | #define V_MAC_TX_EOP_COUNTER(x) _SB_MAKEVALUE(x,S_MAC_TX_EOP_COUNTER) | 514 | #define V_MAC_TX_EOP_COUNTER(x) _SB_MAKEVALUE(x, S_MAC_TX_EOP_COUNTER) |
515 | #define G_MAC_TX_EOP_COUNTER(x) _SB_GETVALUE(x,S_MAC_TX_EOP_COUNTER,M_MAC_TX_EOP_COUNTER) | 515 | #define G_MAC_TX_EOP_COUNTER(x) _SB_GETVALUE(x, S_MAC_TX_EOP_COUNTER, M_MAC_TX_EOP_COUNTER) |
516 | 516 | ||
517 | #define S_MAC_RX_EOP_COUNTER _SB_MAKE64(8) | 517 | #define S_MAC_RX_EOP_COUNTER _SB_MAKE64(8) |
518 | #define M_MAC_RX_EOP_COUNTER _SB_MAKEMASK(6,S_MAC_RX_EOP_COUNTER) | 518 | #define M_MAC_RX_EOP_COUNTER _SB_MAKEMASK(6, S_MAC_RX_EOP_COUNTER) |
519 | #define V_MAC_RX_EOP_COUNTER(x) _SB_MAKEVALUE(x,S_MAC_RX_EOP_COUNTER) | 519 | #define V_MAC_RX_EOP_COUNTER(x) _SB_MAKEVALUE(x, S_MAC_RX_EOP_COUNTER) |
520 | #define G_MAC_RX_EOP_COUNTER(x) _SB_GETVALUE(x,S_MAC_RX_EOP_COUNTER,M_MAC_RX_EOP_COUNTER) | 520 | #define G_MAC_RX_EOP_COUNTER(x) _SB_GETVALUE(x, S_MAC_RX_EOP_COUNTER, M_MAC_RX_EOP_COUNTER) |
521 | 521 | ||
522 | /* | 522 | /* |
523 | * MAC Recieve Address Filter Exact Match Registers (Table 9-21) | 523 | * MAC Recieve Address Filter Exact Match Registers (Table 9-21) |
@@ -565,24 +565,24 @@ | |||
565 | #define S_TYPECFG_TYPESIZE _SB_MAKE64(16) | 565 | #define S_TYPECFG_TYPESIZE _SB_MAKE64(16) |
566 | 566 | ||
567 | #define S_TYPECFG_TYPE0 _SB_MAKE64(0) | 567 | #define S_TYPECFG_TYPE0 _SB_MAKE64(0) |
568 | #define M_TYPECFG_TYPE0 _SB_MAKEMASK(16,S_TYPECFG_TYPE0) | 568 | #define M_TYPECFG_TYPE0 _SB_MAKEMASK(16, S_TYPECFG_TYPE0) |
569 | #define V_TYPECFG_TYPE0(x) _SB_MAKEVALUE(x,S_TYPECFG_TYPE0) | 569 | #define V_TYPECFG_TYPE0(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE0) |
570 | #define G_TYPECFG_TYPE0(x) _SB_GETVALUE(x,S_TYPECFG_TYPE0,M_TYPECFG_TYPE0) | 570 | #define G_TYPECFG_TYPE0(x) _SB_GETVALUE(x, S_TYPECFG_TYPE0, M_TYPECFG_TYPE0) |
571 | 571 | ||
572 | #define S_TYPECFG_TYPE1 _SB_MAKE64(0) | 572 | #define S_TYPECFG_TYPE1 _SB_MAKE64(0) |
573 | #define M_TYPECFG_TYPE1 _SB_MAKEMASK(16,S_TYPECFG_TYPE1) | 573 | #define M_TYPECFG_TYPE1 _SB_MAKEMASK(16, S_TYPECFG_TYPE1) |
574 | #define V_TYPECFG_TYPE1(x) _SB_MAKEVALUE(x,S_TYPECFG_TYPE1) | 574 | #define V_TYPECFG_TYPE1(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE1) |
575 | #define G_TYPECFG_TYPE1(x) _SB_GETVALUE(x,S_TYPECFG_TYPE1,M_TYPECFG_TYPE1) | 575 | #define G_TYPECFG_TYPE1(x) _SB_GETVALUE(x, S_TYPECFG_TYPE1, M_TYPECFG_TYPE1) |
576 | 576 | ||
577 | #define S_TYPECFG_TYPE2 _SB_MAKE64(0) | 577 | #define S_TYPECFG_TYPE2 _SB_MAKE64(0) |
578 | #define M_TYPECFG_TYPE2 _SB_MAKEMASK(16,S_TYPECFG_TYPE2) | 578 | #define M_TYPECFG_TYPE2 _SB_MAKEMASK(16, S_TYPECFG_TYPE2) |
579 | #define V_TYPECFG_TYPE2(x) _SB_MAKEVALUE(x,S_TYPECFG_TYPE2) | 579 | #define V_TYPECFG_TYPE2(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE2) |
580 | #define G_TYPECFG_TYPE2(x) _SB_GETVALUE(x,S_TYPECFG_TYPE2,M_TYPECFG_TYPE2) | 580 | #define G_TYPECFG_TYPE2(x) _SB_GETVALUE(x, S_TYPECFG_TYPE2, M_TYPECFG_TYPE2) |
581 | 581 | ||
582 | #define S_TYPECFG_TYPE3 _SB_MAKE64(0) | 582 | #define S_TYPECFG_TYPE3 _SB_MAKE64(0) |
583 | #define M_TYPECFG_TYPE3 _SB_MAKEMASK(16,S_TYPECFG_TYPE3) | 583 | #define M_TYPECFG_TYPE3 _SB_MAKEMASK(16, S_TYPECFG_TYPE3) |
584 | #define V_TYPECFG_TYPE3(x) _SB_MAKEVALUE(x,S_TYPECFG_TYPE3) | 584 | #define V_TYPECFG_TYPE3(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE3) |
585 | #define G_TYPECFG_TYPE3(x) _SB_GETVALUE(x,S_TYPECFG_TYPE3,M_TYPECFG_TYPE3) | 585 | #define G_TYPECFG_TYPE3(x) _SB_GETVALUE(x, S_TYPECFG_TYPE3, M_TYPECFG_TYPE3) |
586 | 586 | ||
587 | /* | 587 | /* |
588 | * MAC Receive Address Filter Control Registers (Table 9-24) | 588 | * MAC Receive Address Filter Control Registers (Table 9-24) |
@@ -603,28 +603,28 @@ | |||
603 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 603 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
604 | 604 | ||
605 | #define S_MAC_IPHDR_OFFSET _SB_MAKE64(8) | 605 | #define S_MAC_IPHDR_OFFSET _SB_MAKE64(8) |
606 | #define M_MAC_IPHDR_OFFSET _SB_MAKEMASK(8,S_MAC_IPHDR_OFFSET) | 606 | #define M_MAC_IPHDR_OFFSET _SB_MAKEMASK(8, S_MAC_IPHDR_OFFSET) |
607 | #define V_MAC_IPHDR_OFFSET(x) _SB_MAKEVALUE(x,S_MAC_IPHDR_OFFSET) | 607 | #define V_MAC_IPHDR_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_IPHDR_OFFSET) |
608 | #define G_MAC_IPHDR_OFFSET(x) _SB_GETVALUE(x,S_MAC_IPHDR_OFFSET,M_MAC_IPHDR_OFFSET) | 608 | #define G_MAC_IPHDR_OFFSET(x) _SB_GETVALUE(x, S_MAC_IPHDR_OFFSET, M_MAC_IPHDR_OFFSET) |
609 | 609 | ||
610 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 610 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
611 | #define S_MAC_RX_CRC_OFFSET _SB_MAKE64(16) | 611 | #define S_MAC_RX_CRC_OFFSET _SB_MAKE64(16) |
612 | #define M_MAC_RX_CRC_OFFSET _SB_MAKEMASK(8,S_MAC_RX_CRC_OFFSET) | 612 | #define M_MAC_RX_CRC_OFFSET _SB_MAKEMASK(8, S_MAC_RX_CRC_OFFSET) |
613 | #define V_MAC_RX_CRC_OFFSET(x) _SB_MAKEVALUE(x,S_MAC_RX_CRC_OFFSET) | 613 | #define V_MAC_RX_CRC_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_RX_CRC_OFFSET) |
614 | #define G_MAC_RX_CRC_OFFSET(x) _SB_GETVALUE(x,S_MAC_RX_CRC_OFFSET,M_MAC_RX_CRC_OFFSET) | 614 | #define G_MAC_RX_CRC_OFFSET(x) _SB_GETVALUE(x, S_MAC_RX_CRC_OFFSET, M_MAC_RX_CRC_OFFSET) |
615 | 615 | ||
616 | #define S_MAC_RX_PKT_OFFSET _SB_MAKE64(24) | 616 | #define S_MAC_RX_PKT_OFFSET _SB_MAKE64(24) |
617 | #define M_MAC_RX_PKT_OFFSET _SB_MAKEMASK(8,S_MAC_RX_PKT_OFFSET) | 617 | #define M_MAC_RX_PKT_OFFSET _SB_MAKEMASK(8, S_MAC_RX_PKT_OFFSET) |
618 | #define V_MAC_RX_PKT_OFFSET(x) _SB_MAKEVALUE(x,S_MAC_RX_PKT_OFFSET) | 618 | #define V_MAC_RX_PKT_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_RX_PKT_OFFSET) |
619 | #define G_MAC_RX_PKT_OFFSET(x) _SB_GETVALUE(x,S_MAC_RX_PKT_OFFSET,M_MAC_RX_PKT_OFFSET) | 619 | #define G_MAC_RX_PKT_OFFSET(x) _SB_GETVALUE(x, S_MAC_RX_PKT_OFFSET, M_MAC_RX_PKT_OFFSET) |
620 | 620 | ||
621 | #define M_MAC_FWDPAUSE_EN _SB_MAKEMASK1(32) | 621 | #define M_MAC_FWDPAUSE_EN _SB_MAKEMASK1(32) |
622 | #define M_MAC_VLAN_DET_EN _SB_MAKEMASK1(33) | 622 | #define M_MAC_VLAN_DET_EN _SB_MAKEMASK1(33) |
623 | 623 | ||
624 | #define S_MAC_RX_CH_MSN_SEL _SB_MAKE64(34) | 624 | #define S_MAC_RX_CH_MSN_SEL _SB_MAKE64(34) |
625 | #define M_MAC_RX_CH_MSN_SEL _SB_MAKEMASK(8,S_MAC_RX_CH_MSN_SEL) | 625 | #define M_MAC_RX_CH_MSN_SEL _SB_MAKEMASK(8, S_MAC_RX_CH_MSN_SEL) |
626 | #define V_MAC_RX_CH_MSN_SEL(x) _SB_MAKEVALUE(x,S_MAC_RX_CH_MSN_SEL) | 626 | #define V_MAC_RX_CH_MSN_SEL(x) _SB_MAKEVALUE(x, S_MAC_RX_CH_MSN_SEL) |
627 | #define G_MAC_RX_CH_MSN_SEL(x) _SB_GETVALUE(x,S_MAC_RX_CH_MSN_SEL,M_MAC_RX_CH_MSN_SEL) | 627 | #define G_MAC_RX_CH_MSN_SEL(x) _SB_GETVALUE(x, S_MAC_RX_CH_MSN_SEL, M_MAC_RX_CH_MSN_SEL) |
628 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 628 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
629 | 629 | ||
630 | /* | 630 | /* |
diff --git a/include/asm-mips/sibyte/sb1250_mc.h b/include/asm-mips/sibyte/sb1250_mc.h index 4fe848ffbc31..1eb1b5a88736 100644 --- a/include/asm-mips/sibyte/sb1250_mc.h +++ b/include/asm-mips/sibyte/sb1250_mc.h | |||
@@ -10,7 +10,7 @@ | |||
10 | * | 10 | * |
11 | ********************************************************************* | 11 | ********************************************************************* |
12 | * | 12 | * |
13 | * Copyright 2000,2001,2002,2003 | 13 | * Copyright 2000, 2001, 2002, 2003 |
14 | * Broadcom Corporation. All rights reserved. | 14 | * Broadcom Corporation. All rights reserved. |
15 | * | 15 | * |
16 | * This program is free software; you can redistribute it and/or | 16 | * This program is free software; you can redistribute it and/or |
@@ -40,73 +40,73 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #define S_MC_RESERVED0 0 | 42 | #define S_MC_RESERVED0 0 |
43 | #define M_MC_RESERVED0 _SB_MAKEMASK(8,S_MC_RESERVED0) | 43 | #define M_MC_RESERVED0 _SB_MAKEMASK(8, S_MC_RESERVED0) |
44 | 44 | ||
45 | #define S_MC_CHANNEL_SEL 8 | 45 | #define S_MC_CHANNEL_SEL 8 |
46 | #define M_MC_CHANNEL_SEL _SB_MAKEMASK(8,S_MC_CHANNEL_SEL) | 46 | #define M_MC_CHANNEL_SEL _SB_MAKEMASK(8, S_MC_CHANNEL_SEL) |
47 | #define V_MC_CHANNEL_SEL(x) _SB_MAKEVALUE(x,S_MC_CHANNEL_SEL) | 47 | #define V_MC_CHANNEL_SEL(x) _SB_MAKEVALUE(x, S_MC_CHANNEL_SEL) |
48 | #define G_MC_CHANNEL_SEL(x) _SB_GETVALUE(x,S_MC_CHANNEL_SEL,M_MC_CHANNEL_SEL) | 48 | #define G_MC_CHANNEL_SEL(x) _SB_GETVALUE(x, S_MC_CHANNEL_SEL, M_MC_CHANNEL_SEL) |
49 | 49 | ||
50 | #define S_MC_BANK0_MAP 16 | 50 | #define S_MC_BANK0_MAP 16 |
51 | #define M_MC_BANK0_MAP _SB_MAKEMASK(4,S_MC_BANK0_MAP) | 51 | #define M_MC_BANK0_MAP _SB_MAKEMASK(4, S_MC_BANK0_MAP) |
52 | #define V_MC_BANK0_MAP(x) _SB_MAKEVALUE(x,S_MC_BANK0_MAP) | 52 | #define V_MC_BANK0_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK0_MAP) |
53 | #define G_MC_BANK0_MAP(x) _SB_GETVALUE(x,S_MC_BANK0_MAP,M_MC_BANK0_MAP) | 53 | #define G_MC_BANK0_MAP(x) _SB_GETVALUE(x, S_MC_BANK0_MAP, M_MC_BANK0_MAP) |
54 | 54 | ||
55 | #define K_MC_BANK0_MAP_DEFAULT 0x00 | 55 | #define K_MC_BANK0_MAP_DEFAULT 0x00 |
56 | #define V_MC_BANK0_MAP_DEFAULT V_MC_BANK0_MAP(K_MC_BANK0_MAP_DEFAULT) | 56 | #define V_MC_BANK0_MAP_DEFAULT V_MC_BANK0_MAP(K_MC_BANK0_MAP_DEFAULT) |
57 | 57 | ||
58 | #define S_MC_BANK1_MAP 20 | 58 | #define S_MC_BANK1_MAP 20 |
59 | #define M_MC_BANK1_MAP _SB_MAKEMASK(4,S_MC_BANK1_MAP) | 59 | #define M_MC_BANK1_MAP _SB_MAKEMASK(4, S_MC_BANK1_MAP) |
60 | #define V_MC_BANK1_MAP(x) _SB_MAKEVALUE(x,S_MC_BANK1_MAP) | 60 | #define V_MC_BANK1_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK1_MAP) |
61 | #define G_MC_BANK1_MAP(x) _SB_GETVALUE(x,S_MC_BANK1_MAP,M_MC_BANK1_MAP) | 61 | #define G_MC_BANK1_MAP(x) _SB_GETVALUE(x, S_MC_BANK1_MAP, M_MC_BANK1_MAP) |
62 | 62 | ||
63 | #define K_MC_BANK1_MAP_DEFAULT 0x08 | 63 | #define K_MC_BANK1_MAP_DEFAULT 0x08 |
64 | #define V_MC_BANK1_MAP_DEFAULT V_MC_BANK1_MAP(K_MC_BANK1_MAP_DEFAULT) | 64 | #define V_MC_BANK1_MAP_DEFAULT V_MC_BANK1_MAP(K_MC_BANK1_MAP_DEFAULT) |
65 | 65 | ||
66 | #define S_MC_BANK2_MAP 24 | 66 | #define S_MC_BANK2_MAP 24 |
67 | #define M_MC_BANK2_MAP _SB_MAKEMASK(4,S_MC_BANK2_MAP) | 67 | #define M_MC_BANK2_MAP _SB_MAKEMASK(4, S_MC_BANK2_MAP) |
68 | #define V_MC_BANK2_MAP(x) _SB_MAKEVALUE(x,S_MC_BANK2_MAP) | 68 | #define V_MC_BANK2_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK2_MAP) |
69 | #define G_MC_BANK2_MAP(x) _SB_GETVALUE(x,S_MC_BANK2_MAP,M_MC_BANK2_MAP) | 69 | #define G_MC_BANK2_MAP(x) _SB_GETVALUE(x, S_MC_BANK2_MAP, M_MC_BANK2_MAP) |
70 | 70 | ||
71 | #define K_MC_BANK2_MAP_DEFAULT 0x09 | 71 | #define K_MC_BANK2_MAP_DEFAULT 0x09 |
72 | #define V_MC_BANK2_MAP_DEFAULT V_MC_BANK2_MAP(K_MC_BANK2_MAP_DEFAULT) | 72 | #define V_MC_BANK2_MAP_DEFAULT V_MC_BANK2_MAP(K_MC_BANK2_MAP_DEFAULT) |
73 | 73 | ||
74 | #define S_MC_BANK3_MAP 28 | 74 | #define S_MC_BANK3_MAP 28 |
75 | #define M_MC_BANK3_MAP _SB_MAKEMASK(4,S_MC_BANK3_MAP) | 75 | #define M_MC_BANK3_MAP _SB_MAKEMASK(4, S_MC_BANK3_MAP) |
76 | #define V_MC_BANK3_MAP(x) _SB_MAKEVALUE(x,S_MC_BANK3_MAP) | 76 | #define V_MC_BANK3_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK3_MAP) |
77 | #define G_MC_BANK3_MAP(x) _SB_GETVALUE(x,S_MC_BANK3_MAP,M_MC_BANK3_MAP) | 77 | #define G_MC_BANK3_MAP(x) _SB_GETVALUE(x, S_MC_BANK3_MAP, M_MC_BANK3_MAP) |
78 | 78 | ||
79 | #define K_MC_BANK3_MAP_DEFAULT 0x0C | 79 | #define K_MC_BANK3_MAP_DEFAULT 0x0C |
80 | #define V_MC_BANK3_MAP_DEFAULT V_MC_BANK3_MAP(K_MC_BANK3_MAP_DEFAULT) | 80 | #define V_MC_BANK3_MAP_DEFAULT V_MC_BANK3_MAP(K_MC_BANK3_MAP_DEFAULT) |
81 | 81 | ||
82 | #define M_MC_RESERVED1 _SB_MAKEMASK(8,32) | 82 | #define M_MC_RESERVED1 _SB_MAKEMASK(8, 32) |
83 | 83 | ||
84 | #define S_MC_QUEUE_SIZE 40 | 84 | #define S_MC_QUEUE_SIZE 40 |
85 | #define M_MC_QUEUE_SIZE _SB_MAKEMASK(4,S_MC_QUEUE_SIZE) | 85 | #define M_MC_QUEUE_SIZE _SB_MAKEMASK(4, S_MC_QUEUE_SIZE) |
86 | #define V_MC_QUEUE_SIZE(x) _SB_MAKEVALUE(x,S_MC_QUEUE_SIZE) | 86 | #define V_MC_QUEUE_SIZE(x) _SB_MAKEVALUE(x, S_MC_QUEUE_SIZE) |
87 | #define G_MC_QUEUE_SIZE(x) _SB_GETVALUE(x,S_MC_QUEUE_SIZE,M_MC_QUEUE_SIZE) | 87 | #define G_MC_QUEUE_SIZE(x) _SB_GETVALUE(x, S_MC_QUEUE_SIZE, M_MC_QUEUE_SIZE) |
88 | #define V_MC_QUEUE_SIZE_DEFAULT V_MC_QUEUE_SIZE(0x0A) | 88 | #define V_MC_QUEUE_SIZE_DEFAULT V_MC_QUEUE_SIZE(0x0A) |
89 | 89 | ||
90 | #define S_MC_AGE_LIMIT 44 | 90 | #define S_MC_AGE_LIMIT 44 |
91 | #define M_MC_AGE_LIMIT _SB_MAKEMASK(4,S_MC_AGE_LIMIT) | 91 | #define M_MC_AGE_LIMIT _SB_MAKEMASK(4, S_MC_AGE_LIMIT) |
92 | #define V_MC_AGE_LIMIT(x) _SB_MAKEVALUE(x,S_MC_AGE_LIMIT) | 92 | #define V_MC_AGE_LIMIT(x) _SB_MAKEVALUE(x, S_MC_AGE_LIMIT) |
93 | #define G_MC_AGE_LIMIT(x) _SB_GETVALUE(x,S_MC_AGE_LIMIT,M_MC_AGE_LIMIT) | 93 | #define G_MC_AGE_LIMIT(x) _SB_GETVALUE(x, S_MC_AGE_LIMIT, M_MC_AGE_LIMIT) |
94 | #define V_MC_AGE_LIMIT_DEFAULT V_MC_AGE_LIMIT(8) | 94 | #define V_MC_AGE_LIMIT_DEFAULT V_MC_AGE_LIMIT(8) |
95 | 95 | ||
96 | #define S_MC_WR_LIMIT 48 | 96 | #define S_MC_WR_LIMIT 48 |
97 | #define M_MC_WR_LIMIT _SB_MAKEMASK(4,S_MC_WR_LIMIT) | 97 | #define M_MC_WR_LIMIT _SB_MAKEMASK(4, S_MC_WR_LIMIT) |
98 | #define V_MC_WR_LIMIT(x) _SB_MAKEVALUE(x,S_MC_WR_LIMIT) | 98 | #define V_MC_WR_LIMIT(x) _SB_MAKEVALUE(x, S_MC_WR_LIMIT) |
99 | #define G_MC_WR_LIMIT(x) _SB_GETVALUE(x,S_MC_WR_LIMIT,M_MC_WR_LIMIT) | 99 | #define G_MC_WR_LIMIT(x) _SB_GETVALUE(x, S_MC_WR_LIMIT, M_MC_WR_LIMIT) |
100 | #define V_MC_WR_LIMIT_DEFAULT V_MC_WR_LIMIT(5) | 100 | #define V_MC_WR_LIMIT_DEFAULT V_MC_WR_LIMIT(5) |
101 | 101 | ||
102 | #define M_MC_IOB1HIGHPRIORITY _SB_MAKEMASK1(52) | 102 | #define M_MC_IOB1HIGHPRIORITY _SB_MAKEMASK1(52) |
103 | 103 | ||
104 | #define M_MC_RESERVED2 _SB_MAKEMASK(3,53) | 104 | #define M_MC_RESERVED2 _SB_MAKEMASK(3, 53) |
105 | 105 | ||
106 | #define S_MC_CS_MODE 56 | 106 | #define S_MC_CS_MODE 56 |
107 | #define M_MC_CS_MODE _SB_MAKEMASK(4,S_MC_CS_MODE) | 107 | #define M_MC_CS_MODE _SB_MAKEMASK(4, S_MC_CS_MODE) |
108 | #define V_MC_CS_MODE(x) _SB_MAKEVALUE(x,S_MC_CS_MODE) | 108 | #define V_MC_CS_MODE(x) _SB_MAKEVALUE(x, S_MC_CS_MODE) |
109 | #define G_MC_CS_MODE(x) _SB_GETVALUE(x,S_MC_CS_MODE,M_MC_CS_MODE) | 109 | #define G_MC_CS_MODE(x) _SB_GETVALUE(x, S_MC_CS_MODE, M_MC_CS_MODE) |
110 | 110 | ||
111 | #define K_MC_CS_MODE_MSB_CS 0 | 111 | #define K_MC_CS_MODE_MSB_CS 0 |
112 | #define K_MC_CS_MODE_INTLV_CS 15 | 112 | #define K_MC_CS_MODE_INTLV_CS 15 |
@@ -138,9 +138,9 @@ | |||
138 | */ | 138 | */ |
139 | 139 | ||
140 | #define S_MC_CLK_RATIO 0 | 140 | #define S_MC_CLK_RATIO 0 |
141 | #define M_MC_CLK_RATIO _SB_MAKEMASK(4,S_MC_CLK_RATIO) | 141 | #define M_MC_CLK_RATIO _SB_MAKEMASK(4, S_MC_CLK_RATIO) |
142 | #define V_MC_CLK_RATIO(x) _SB_MAKEVALUE(x,S_MC_CLK_RATIO) | 142 | #define V_MC_CLK_RATIO(x) _SB_MAKEVALUE(x, S_MC_CLK_RATIO) |
143 | #define G_MC_CLK_RATIO(x) _SB_GETVALUE(x,S_MC_CLK_RATIO,M_MC_CLK_RATIO) | 143 | #define G_MC_CLK_RATIO(x) _SB_GETVALUE(x, S_MC_CLK_RATIO, M_MC_CLK_RATIO) |
144 | 144 | ||
145 | #define K_MC_CLK_RATIO_2X 4 | 145 | #define K_MC_CLK_RATIO_2X 4 |
146 | #define K_MC_CLK_RATIO_25X 5 | 146 | #define K_MC_CLK_RATIO_25X 5 |
@@ -158,9 +158,9 @@ | |||
158 | #define V_MC_CLK_RATIO_DEFAULT V_MC_CLK_RATIO_25X | 158 | #define V_MC_CLK_RATIO_DEFAULT V_MC_CLK_RATIO_25X |
159 | 159 | ||
160 | #define S_MC_REF_RATE 8 | 160 | #define S_MC_REF_RATE 8 |
161 | #define M_MC_REF_RATE _SB_MAKEMASK(8,S_MC_REF_RATE) | 161 | #define M_MC_REF_RATE _SB_MAKEMASK(8, S_MC_REF_RATE) |
162 | #define V_MC_REF_RATE(x) _SB_MAKEVALUE(x,S_MC_REF_RATE) | 162 | #define V_MC_REF_RATE(x) _SB_MAKEVALUE(x, S_MC_REF_RATE) |
163 | #define G_MC_REF_RATE(x) _SB_GETVALUE(x,S_MC_REF_RATE,M_MC_REF_RATE) | 163 | #define G_MC_REF_RATE(x) _SB_GETVALUE(x, S_MC_REF_RATE, M_MC_REF_RATE) |
164 | 164 | ||
165 | #define K_MC_REF_RATE_100MHz 0x62 | 165 | #define K_MC_REF_RATE_100MHz 0x62 |
166 | #define K_MC_REF_RATE_133MHz 0x81 | 166 | #define K_MC_REF_RATE_133MHz 0x81 |
@@ -172,21 +172,21 @@ | |||
172 | #define V_MC_REF_RATE_DEFAULT V_MC_REF_RATE_100MHz | 172 | #define V_MC_REF_RATE_DEFAULT V_MC_REF_RATE_100MHz |
173 | 173 | ||
174 | #define S_MC_CLOCK_DRIVE 16 | 174 | #define S_MC_CLOCK_DRIVE 16 |
175 | #define M_MC_CLOCK_DRIVE _SB_MAKEMASK(4,S_MC_CLOCK_DRIVE) | 175 | #define M_MC_CLOCK_DRIVE _SB_MAKEMASK(4, S_MC_CLOCK_DRIVE) |
176 | #define V_MC_CLOCK_DRIVE(x) _SB_MAKEVALUE(x,S_MC_CLOCK_DRIVE) | 176 | #define V_MC_CLOCK_DRIVE(x) _SB_MAKEVALUE(x, S_MC_CLOCK_DRIVE) |
177 | #define G_MC_CLOCK_DRIVE(x) _SB_GETVALUE(x,S_MC_CLOCK_DRIVE,M_MC_CLOCK_DRIVE) | 177 | #define G_MC_CLOCK_DRIVE(x) _SB_GETVALUE(x, S_MC_CLOCK_DRIVE, M_MC_CLOCK_DRIVE) |
178 | #define V_MC_CLOCK_DRIVE_DEFAULT V_MC_CLOCK_DRIVE(0xF) | 178 | #define V_MC_CLOCK_DRIVE_DEFAULT V_MC_CLOCK_DRIVE(0xF) |
179 | 179 | ||
180 | #define S_MC_DATA_DRIVE 20 | 180 | #define S_MC_DATA_DRIVE 20 |
181 | #define M_MC_DATA_DRIVE _SB_MAKEMASK(4,S_MC_DATA_DRIVE) | 181 | #define M_MC_DATA_DRIVE _SB_MAKEMASK(4, S_MC_DATA_DRIVE) |
182 | #define V_MC_DATA_DRIVE(x) _SB_MAKEVALUE(x,S_MC_DATA_DRIVE) | 182 | #define V_MC_DATA_DRIVE(x) _SB_MAKEVALUE(x, S_MC_DATA_DRIVE) |
183 | #define G_MC_DATA_DRIVE(x) _SB_GETVALUE(x,S_MC_DATA_DRIVE,M_MC_DATA_DRIVE) | 183 | #define G_MC_DATA_DRIVE(x) _SB_GETVALUE(x, S_MC_DATA_DRIVE, M_MC_DATA_DRIVE) |
184 | #define V_MC_DATA_DRIVE_DEFAULT V_MC_DATA_DRIVE(0x0) | 184 | #define V_MC_DATA_DRIVE_DEFAULT V_MC_DATA_DRIVE(0x0) |
185 | 185 | ||
186 | #define S_MC_ADDR_DRIVE 24 | 186 | #define S_MC_ADDR_DRIVE 24 |
187 | #define M_MC_ADDR_DRIVE _SB_MAKEMASK(4,S_MC_ADDR_DRIVE) | 187 | #define M_MC_ADDR_DRIVE _SB_MAKEMASK(4, S_MC_ADDR_DRIVE) |
188 | #define V_MC_ADDR_DRIVE(x) _SB_MAKEVALUE(x,S_MC_ADDR_DRIVE) | 188 | #define V_MC_ADDR_DRIVE(x) _SB_MAKEVALUE(x, S_MC_ADDR_DRIVE) |
189 | #define G_MC_ADDR_DRIVE(x) _SB_GETVALUE(x,S_MC_ADDR_DRIVE,M_MC_ADDR_DRIVE) | 189 | #define G_MC_ADDR_DRIVE(x) _SB_GETVALUE(x, S_MC_ADDR_DRIVE, M_MC_ADDR_DRIVE) |
190 | #define V_MC_ADDR_DRIVE_DEFAULT V_MC_ADDR_DRIVE(0x0) | 190 | #define V_MC_ADDR_DRIVE_DEFAULT V_MC_ADDR_DRIVE(0x0) |
191 | 191 | ||
192 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) | 192 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) |
@@ -196,27 +196,27 @@ | |||
196 | #define M_MC_DLL_BYPASS _SB_MAKEMASK1(31) | 196 | #define M_MC_DLL_BYPASS _SB_MAKEMASK1(31) |
197 | 197 | ||
198 | #define S_MC_DQI_SKEW 32 | 198 | #define S_MC_DQI_SKEW 32 |
199 | #define M_MC_DQI_SKEW _SB_MAKEMASK(8,S_MC_DQI_SKEW) | 199 | #define M_MC_DQI_SKEW _SB_MAKEMASK(8, S_MC_DQI_SKEW) |
200 | #define V_MC_DQI_SKEW(x) _SB_MAKEVALUE(x,S_MC_DQI_SKEW) | 200 | #define V_MC_DQI_SKEW(x) _SB_MAKEVALUE(x, S_MC_DQI_SKEW) |
201 | #define G_MC_DQI_SKEW(x) _SB_GETVALUE(x,S_MC_DQI_SKEW,M_MC_DQI_SKEW) | 201 | #define G_MC_DQI_SKEW(x) _SB_GETVALUE(x, S_MC_DQI_SKEW, M_MC_DQI_SKEW) |
202 | #define V_MC_DQI_SKEW_DEFAULT V_MC_DQI_SKEW(0) | 202 | #define V_MC_DQI_SKEW_DEFAULT V_MC_DQI_SKEW(0) |
203 | 203 | ||
204 | #define S_MC_DQO_SKEW 40 | 204 | #define S_MC_DQO_SKEW 40 |
205 | #define M_MC_DQO_SKEW _SB_MAKEMASK(8,S_MC_DQO_SKEW) | 205 | #define M_MC_DQO_SKEW _SB_MAKEMASK(8, S_MC_DQO_SKEW) |
206 | #define V_MC_DQO_SKEW(x) _SB_MAKEVALUE(x,S_MC_DQO_SKEW) | 206 | #define V_MC_DQO_SKEW(x) _SB_MAKEVALUE(x, S_MC_DQO_SKEW) |
207 | #define G_MC_DQO_SKEW(x) _SB_GETVALUE(x,S_MC_DQO_SKEW,M_MC_DQO_SKEW) | 207 | #define G_MC_DQO_SKEW(x) _SB_GETVALUE(x, S_MC_DQO_SKEW, M_MC_DQO_SKEW) |
208 | #define V_MC_DQO_SKEW_DEFAULT V_MC_DQO_SKEW(0) | 208 | #define V_MC_DQO_SKEW_DEFAULT V_MC_DQO_SKEW(0) |
209 | 209 | ||
210 | #define S_MC_ADDR_SKEW 48 | 210 | #define S_MC_ADDR_SKEW 48 |
211 | #define M_MC_ADDR_SKEW _SB_MAKEMASK(8,S_MC_ADDR_SKEW) | 211 | #define M_MC_ADDR_SKEW _SB_MAKEMASK(8, S_MC_ADDR_SKEW) |
212 | #define V_MC_ADDR_SKEW(x) _SB_MAKEVALUE(x,S_MC_ADDR_SKEW) | 212 | #define V_MC_ADDR_SKEW(x) _SB_MAKEVALUE(x, S_MC_ADDR_SKEW) |
213 | #define G_MC_ADDR_SKEW(x) _SB_GETVALUE(x,S_MC_ADDR_SKEW,M_MC_ADDR_SKEW) | 213 | #define G_MC_ADDR_SKEW(x) _SB_GETVALUE(x, S_MC_ADDR_SKEW, M_MC_ADDR_SKEW) |
214 | #define V_MC_ADDR_SKEW_DEFAULT V_MC_ADDR_SKEW(0x0F) | 214 | #define V_MC_ADDR_SKEW_DEFAULT V_MC_ADDR_SKEW(0x0F) |
215 | 215 | ||
216 | #define S_MC_DLL_DEFAULT 56 | 216 | #define S_MC_DLL_DEFAULT 56 |
217 | #define M_MC_DLL_DEFAULT _SB_MAKEMASK(8,S_MC_DLL_DEFAULT) | 217 | #define M_MC_DLL_DEFAULT _SB_MAKEMASK(8, S_MC_DLL_DEFAULT) |
218 | #define V_MC_DLL_DEFAULT(x) _SB_MAKEVALUE(x,S_MC_DLL_DEFAULT) | 218 | #define V_MC_DLL_DEFAULT(x) _SB_MAKEVALUE(x, S_MC_DLL_DEFAULT) |
219 | #define G_MC_DLL_DEFAULT(x) _SB_GETVALUE(x,S_MC_DLL_DEFAULT,M_MC_DLL_DEFAULT) | 219 | #define G_MC_DLL_DEFAULT(x) _SB_GETVALUE(x, S_MC_DLL_DEFAULT, M_MC_DLL_DEFAULT) |
220 | #define V_MC_DLL_DEFAULT_DEFAULT V_MC_DLL_DEFAULT(0x10) | 220 | #define V_MC_DLL_DEFAULT_DEFAULT V_MC_DLL_DEFAULT(0x10) |
221 | 221 | ||
222 | #define V_MC_CLKCONFIG_DEFAULT V_MC_DLL_DEFAULT_DEFAULT | \ | 222 | #define V_MC_CLKCONFIG_DEFAULT V_MC_DLL_DEFAULT_DEFAULT | \ |
@@ -235,9 +235,9 @@ | |||
235 | */ | 235 | */ |
236 | 236 | ||
237 | #define S_MC_COMMAND 0 | 237 | #define S_MC_COMMAND 0 |
238 | #define M_MC_COMMAND _SB_MAKEMASK(4,S_MC_COMMAND) | 238 | #define M_MC_COMMAND _SB_MAKEMASK(4, S_MC_COMMAND) |
239 | #define V_MC_COMMAND(x) _SB_MAKEVALUE(x,S_MC_COMMAND) | 239 | #define V_MC_COMMAND(x) _SB_MAKEVALUE(x, S_MC_COMMAND) |
240 | #define G_MC_COMMAND(x) _SB_GETVALUE(x,S_MC_COMMAND,M_MC_COMMAND) | 240 | #define G_MC_COMMAND(x) _SB_GETVALUE(x, S_MC_COMMAND, M_MC_COMMAND) |
241 | 241 | ||
242 | #define K_MC_COMMAND_EMRS 0 | 242 | #define K_MC_COMMAND_EMRS 0 |
243 | #define K_MC_COMMAND_MRS 1 | 243 | #define K_MC_COMMAND_MRS 1 |
@@ -267,21 +267,21 @@ | |||
267 | */ | 267 | */ |
268 | 268 | ||
269 | #define S_MC_EMODE 0 | 269 | #define S_MC_EMODE 0 |
270 | #define M_MC_EMODE _SB_MAKEMASK(15,S_MC_EMODE) | 270 | #define M_MC_EMODE _SB_MAKEMASK(15, S_MC_EMODE) |
271 | #define V_MC_EMODE(x) _SB_MAKEVALUE(x,S_MC_EMODE) | 271 | #define V_MC_EMODE(x) _SB_MAKEVALUE(x, S_MC_EMODE) |
272 | #define G_MC_EMODE(x) _SB_GETVALUE(x,S_MC_EMODE,M_MC_EMODE) | 272 | #define G_MC_EMODE(x) _SB_GETVALUE(x, S_MC_EMODE, M_MC_EMODE) |
273 | #define V_MC_EMODE_DEFAULT V_MC_EMODE(0) | 273 | #define V_MC_EMODE_DEFAULT V_MC_EMODE(0) |
274 | 274 | ||
275 | #define S_MC_MODE 16 | 275 | #define S_MC_MODE 16 |
276 | #define M_MC_MODE _SB_MAKEMASK(15,S_MC_MODE) | 276 | #define M_MC_MODE _SB_MAKEMASK(15, S_MC_MODE) |
277 | #define V_MC_MODE(x) _SB_MAKEVALUE(x,S_MC_MODE) | 277 | #define V_MC_MODE(x) _SB_MAKEVALUE(x, S_MC_MODE) |
278 | #define G_MC_MODE(x) _SB_GETVALUE(x,S_MC_MODE,M_MC_MODE) | 278 | #define G_MC_MODE(x) _SB_GETVALUE(x, S_MC_MODE, M_MC_MODE) |
279 | #define V_MC_MODE_DEFAULT V_MC_MODE(0x22) | 279 | #define V_MC_MODE_DEFAULT V_MC_MODE(0x22) |
280 | 280 | ||
281 | #define S_MC_DRAM_TYPE 32 | 281 | #define S_MC_DRAM_TYPE 32 |
282 | #define M_MC_DRAM_TYPE _SB_MAKEMASK(3,S_MC_DRAM_TYPE) | 282 | #define M_MC_DRAM_TYPE _SB_MAKEMASK(3, S_MC_DRAM_TYPE) |
283 | #define V_MC_DRAM_TYPE(x) _SB_MAKEVALUE(x,S_MC_DRAM_TYPE) | 283 | #define V_MC_DRAM_TYPE(x) _SB_MAKEVALUE(x, S_MC_DRAM_TYPE) |
284 | #define G_MC_DRAM_TYPE(x) _SB_GETVALUE(x,S_MC_DRAM_TYPE,M_MC_DRAM_TYPE) | 284 | #define G_MC_DRAM_TYPE(x) _SB_GETVALUE(x, S_MC_DRAM_TYPE, M_MC_DRAM_TYPE) |
285 | 285 | ||
286 | #define K_MC_DRAM_TYPE_JEDEC 0 | 286 | #define K_MC_DRAM_TYPE_JEDEC 0 |
287 | #define K_MC_DRAM_TYPE_FCRAM 1 | 287 | #define K_MC_DRAM_TYPE_FCRAM 1 |
@@ -309,16 +309,16 @@ | |||
309 | #define M_MC_r2rIDLE_TWOCYCLES _SB_MAKEMASK1(62) | 309 | #define M_MC_r2rIDLE_TWOCYCLES _SB_MAKEMASK1(62) |
310 | 310 | ||
311 | #define S_MC_tFIFO 56 | 311 | #define S_MC_tFIFO 56 |
312 | #define M_MC_tFIFO _SB_MAKEMASK(4,S_MC_tFIFO) | 312 | #define M_MC_tFIFO _SB_MAKEMASK(4, S_MC_tFIFO) |
313 | #define V_MC_tFIFO(x) _SB_MAKEVALUE(x,S_MC_tFIFO) | 313 | #define V_MC_tFIFO(x) _SB_MAKEVALUE(x, S_MC_tFIFO) |
314 | #define G_MC_tFIFO(x) _SB_GETVALUE(x,S_MC_tFIFO,M_MC_tFIFO) | 314 | #define G_MC_tFIFO(x) _SB_GETVALUE(x, S_MC_tFIFO, M_MC_tFIFO) |
315 | #define K_MC_tFIFO_DEFAULT 1 | 315 | #define K_MC_tFIFO_DEFAULT 1 |
316 | #define V_MC_tFIFO_DEFAULT V_MC_tFIFO(K_MC_tFIFO_DEFAULT) | 316 | #define V_MC_tFIFO_DEFAULT V_MC_tFIFO(K_MC_tFIFO_DEFAULT) |
317 | 317 | ||
318 | #define S_MC_tRFC 52 | 318 | #define S_MC_tRFC 52 |
319 | #define M_MC_tRFC _SB_MAKEMASK(4,S_MC_tRFC) | 319 | #define M_MC_tRFC _SB_MAKEMASK(4, S_MC_tRFC) |
320 | #define V_MC_tRFC(x) _SB_MAKEVALUE(x,S_MC_tRFC) | 320 | #define V_MC_tRFC(x) _SB_MAKEVALUE(x, S_MC_tRFC) |
321 | #define G_MC_tRFC(x) _SB_GETVALUE(x,S_MC_tRFC,M_MC_tRFC) | 321 | #define G_MC_tRFC(x) _SB_GETVALUE(x, S_MC_tRFC, M_MC_tRFC) |
322 | #define K_MC_tRFC_DEFAULT 12 | 322 | #define K_MC_tRFC_DEFAULT 12 |
323 | #define V_MC_tRFC_DEFAULT V_MC_tRFC(K_MC_tRFC_DEFAULT) | 323 | #define V_MC_tRFC_DEFAULT V_MC_tRFC(K_MC_tRFC_DEFAULT) |
324 | 324 | ||
@@ -327,44 +327,44 @@ | |||
327 | #endif | 327 | #endif |
328 | 328 | ||
329 | #define S_MC_tCwCr 40 | 329 | #define S_MC_tCwCr 40 |
330 | #define M_MC_tCwCr _SB_MAKEMASK(4,S_MC_tCwCr) | 330 | #define M_MC_tCwCr _SB_MAKEMASK(4, S_MC_tCwCr) |
331 | #define V_MC_tCwCr(x) _SB_MAKEVALUE(x,S_MC_tCwCr) | 331 | #define V_MC_tCwCr(x) _SB_MAKEVALUE(x, S_MC_tCwCr) |
332 | #define G_MC_tCwCr(x) _SB_GETVALUE(x,S_MC_tCwCr,M_MC_tCwCr) | 332 | #define G_MC_tCwCr(x) _SB_GETVALUE(x, S_MC_tCwCr, M_MC_tCwCr) |
333 | #define K_MC_tCwCr_DEFAULT 4 | 333 | #define K_MC_tCwCr_DEFAULT 4 |
334 | #define V_MC_tCwCr_DEFAULT V_MC_tCwCr(K_MC_tCwCr_DEFAULT) | 334 | #define V_MC_tCwCr_DEFAULT V_MC_tCwCr(K_MC_tCwCr_DEFAULT) |
335 | 335 | ||
336 | #define S_MC_tRCr 28 | 336 | #define S_MC_tRCr 28 |
337 | #define M_MC_tRCr _SB_MAKEMASK(4,S_MC_tRCr) | 337 | #define M_MC_tRCr _SB_MAKEMASK(4, S_MC_tRCr) |
338 | #define V_MC_tRCr(x) _SB_MAKEVALUE(x,S_MC_tRCr) | 338 | #define V_MC_tRCr(x) _SB_MAKEVALUE(x, S_MC_tRCr) |
339 | #define G_MC_tRCr(x) _SB_GETVALUE(x,S_MC_tRCr,M_MC_tRCr) | 339 | #define G_MC_tRCr(x) _SB_GETVALUE(x, S_MC_tRCr, M_MC_tRCr) |
340 | #define K_MC_tRCr_DEFAULT 9 | 340 | #define K_MC_tRCr_DEFAULT 9 |
341 | #define V_MC_tRCr_DEFAULT V_MC_tRCr(K_MC_tRCr_DEFAULT) | 341 | #define V_MC_tRCr_DEFAULT V_MC_tRCr(K_MC_tRCr_DEFAULT) |
342 | 342 | ||
343 | #define S_MC_tRCw 24 | 343 | #define S_MC_tRCw 24 |
344 | #define M_MC_tRCw _SB_MAKEMASK(4,S_MC_tRCw) | 344 | #define M_MC_tRCw _SB_MAKEMASK(4, S_MC_tRCw) |
345 | #define V_MC_tRCw(x) _SB_MAKEVALUE(x,S_MC_tRCw) | 345 | #define V_MC_tRCw(x) _SB_MAKEVALUE(x, S_MC_tRCw) |
346 | #define G_MC_tRCw(x) _SB_GETVALUE(x,S_MC_tRCw,M_MC_tRCw) | 346 | #define G_MC_tRCw(x) _SB_GETVALUE(x, S_MC_tRCw, M_MC_tRCw) |
347 | #define K_MC_tRCw_DEFAULT 10 | 347 | #define K_MC_tRCw_DEFAULT 10 |
348 | #define V_MC_tRCw_DEFAULT V_MC_tRCw(K_MC_tRCw_DEFAULT) | 348 | #define V_MC_tRCw_DEFAULT V_MC_tRCw(K_MC_tRCw_DEFAULT) |
349 | 349 | ||
350 | #define S_MC_tRRD 20 | 350 | #define S_MC_tRRD 20 |
351 | #define M_MC_tRRD _SB_MAKEMASK(4,S_MC_tRRD) | 351 | #define M_MC_tRRD _SB_MAKEMASK(4, S_MC_tRRD) |
352 | #define V_MC_tRRD(x) _SB_MAKEVALUE(x,S_MC_tRRD) | 352 | #define V_MC_tRRD(x) _SB_MAKEVALUE(x, S_MC_tRRD) |
353 | #define G_MC_tRRD(x) _SB_GETVALUE(x,S_MC_tRRD,M_MC_tRRD) | 353 | #define G_MC_tRRD(x) _SB_GETVALUE(x, S_MC_tRRD, M_MC_tRRD) |
354 | #define K_MC_tRRD_DEFAULT 2 | 354 | #define K_MC_tRRD_DEFAULT 2 |
355 | #define V_MC_tRRD_DEFAULT V_MC_tRRD(K_MC_tRRD_DEFAULT) | 355 | #define V_MC_tRRD_DEFAULT V_MC_tRRD(K_MC_tRRD_DEFAULT) |
356 | 356 | ||
357 | #define S_MC_tRP 16 | 357 | #define S_MC_tRP 16 |
358 | #define M_MC_tRP _SB_MAKEMASK(4,S_MC_tRP) | 358 | #define M_MC_tRP _SB_MAKEMASK(4, S_MC_tRP) |
359 | #define V_MC_tRP(x) _SB_MAKEVALUE(x,S_MC_tRP) | 359 | #define V_MC_tRP(x) _SB_MAKEVALUE(x, S_MC_tRP) |
360 | #define G_MC_tRP(x) _SB_GETVALUE(x,S_MC_tRP,M_MC_tRP) | 360 | #define G_MC_tRP(x) _SB_GETVALUE(x, S_MC_tRP, M_MC_tRP) |
361 | #define K_MC_tRP_DEFAULT 4 | 361 | #define K_MC_tRP_DEFAULT 4 |
362 | #define V_MC_tRP_DEFAULT V_MC_tRP(K_MC_tRP_DEFAULT) | 362 | #define V_MC_tRP_DEFAULT V_MC_tRP(K_MC_tRP_DEFAULT) |
363 | 363 | ||
364 | #define S_MC_tCwD 8 | 364 | #define S_MC_tCwD 8 |
365 | #define M_MC_tCwD _SB_MAKEMASK(4,S_MC_tCwD) | 365 | #define M_MC_tCwD _SB_MAKEMASK(4, S_MC_tCwD) |
366 | #define V_MC_tCwD(x) _SB_MAKEVALUE(x,S_MC_tCwD) | 366 | #define V_MC_tCwD(x) _SB_MAKEVALUE(x, S_MC_tCwD) |
367 | #define G_MC_tCwD(x) _SB_GETVALUE(x,S_MC_tCwD,M_MC_tCwD) | 367 | #define G_MC_tCwD(x) _SB_GETVALUE(x, S_MC_tCwD, M_MC_tCwD) |
368 | #define K_MC_tCwD_DEFAULT 1 | 368 | #define K_MC_tCwD_DEFAULT 1 |
369 | #define V_MC_tCwD_DEFAULT V_MC_tCwD(K_MC_tCwD_DEFAULT) | 369 | #define V_MC_tCwD_DEFAULT V_MC_tCwD(K_MC_tCwD_DEFAULT) |
370 | 370 | ||
@@ -372,16 +372,16 @@ | |||
372 | #define M_MC_tCrDh M_tCrDh | 372 | #define M_MC_tCrDh M_tCrDh |
373 | 373 | ||
374 | #define S_MC_tCrD 4 | 374 | #define S_MC_tCrD 4 |
375 | #define M_MC_tCrD _SB_MAKEMASK(3,S_MC_tCrD) | 375 | #define M_MC_tCrD _SB_MAKEMASK(3, S_MC_tCrD) |
376 | #define V_MC_tCrD(x) _SB_MAKEVALUE(x,S_MC_tCrD) | 376 | #define V_MC_tCrD(x) _SB_MAKEVALUE(x, S_MC_tCrD) |
377 | #define G_MC_tCrD(x) _SB_GETVALUE(x,S_MC_tCrD,M_MC_tCrD) | 377 | #define G_MC_tCrD(x) _SB_GETVALUE(x, S_MC_tCrD, M_MC_tCrD) |
378 | #define K_MC_tCrD_DEFAULT 2 | 378 | #define K_MC_tCrD_DEFAULT 2 |
379 | #define V_MC_tCrD_DEFAULT V_MC_tCrD(K_MC_tCrD_DEFAULT) | 379 | #define V_MC_tCrD_DEFAULT V_MC_tCrD(K_MC_tCrD_DEFAULT) |
380 | 380 | ||
381 | #define S_MC_tRCD 0 | 381 | #define S_MC_tRCD 0 |
382 | #define M_MC_tRCD _SB_MAKEMASK(4,S_MC_tRCD) | 382 | #define M_MC_tRCD _SB_MAKEMASK(4, S_MC_tRCD) |
383 | #define V_MC_tRCD(x) _SB_MAKEVALUE(x,S_MC_tRCD) | 383 | #define V_MC_tRCD(x) _SB_MAKEVALUE(x, S_MC_tRCD) |
384 | #define G_MC_tRCD(x) _SB_GETVALUE(x,S_MC_tRCD,M_MC_tRCD) | 384 | #define G_MC_tRCD(x) _SB_GETVALUE(x, S_MC_tRCD, M_MC_tRCD) |
385 | #define K_MC_tRCD_DEFAULT 3 | 385 | #define K_MC_tRCD_DEFAULT 3 |
386 | #define V_MC_tRCD_DEFAULT V_MC_tRCD(K_MC_tRCD_DEFAULT) | 386 | #define V_MC_tRCD_DEFAULT V_MC_tRCD(K_MC_tRCD_DEFAULT) |
387 | 387 | ||
@@ -409,76 +409,76 @@ | |||
409 | */ | 409 | */ |
410 | 410 | ||
411 | #define S_MC_CS0_START 0 | 411 | #define S_MC_CS0_START 0 |
412 | #define M_MC_CS0_START _SB_MAKEMASK(16,S_MC_CS0_START) | 412 | #define M_MC_CS0_START _SB_MAKEMASK(16, S_MC_CS0_START) |
413 | #define V_MC_CS0_START(x) _SB_MAKEVALUE(x,S_MC_CS0_START) | 413 | #define V_MC_CS0_START(x) _SB_MAKEVALUE(x, S_MC_CS0_START) |
414 | #define G_MC_CS0_START(x) _SB_GETVALUE(x,S_MC_CS0_START,M_MC_CS0_START) | 414 | #define G_MC_CS0_START(x) _SB_GETVALUE(x, S_MC_CS0_START, M_MC_CS0_START) |
415 | 415 | ||
416 | #define S_MC_CS1_START 16 | 416 | #define S_MC_CS1_START 16 |
417 | #define M_MC_CS1_START _SB_MAKEMASK(16,S_MC_CS1_START) | 417 | #define M_MC_CS1_START _SB_MAKEMASK(16, S_MC_CS1_START) |
418 | #define V_MC_CS1_START(x) _SB_MAKEVALUE(x,S_MC_CS1_START) | 418 | #define V_MC_CS1_START(x) _SB_MAKEVALUE(x, S_MC_CS1_START) |
419 | #define G_MC_CS1_START(x) _SB_GETVALUE(x,S_MC_CS1_START,M_MC_CS1_START) | 419 | #define G_MC_CS1_START(x) _SB_GETVALUE(x, S_MC_CS1_START, M_MC_CS1_START) |
420 | 420 | ||
421 | #define S_MC_CS2_START 32 | 421 | #define S_MC_CS2_START 32 |
422 | #define M_MC_CS2_START _SB_MAKEMASK(16,S_MC_CS2_START) | 422 | #define M_MC_CS2_START _SB_MAKEMASK(16, S_MC_CS2_START) |
423 | #define V_MC_CS2_START(x) _SB_MAKEVALUE(x,S_MC_CS2_START) | 423 | #define V_MC_CS2_START(x) _SB_MAKEVALUE(x, S_MC_CS2_START) |
424 | #define G_MC_CS2_START(x) _SB_GETVALUE(x,S_MC_CS2_START,M_MC_CS2_START) | 424 | #define G_MC_CS2_START(x) _SB_GETVALUE(x, S_MC_CS2_START, M_MC_CS2_START) |
425 | 425 | ||
426 | #define S_MC_CS3_START 48 | 426 | #define S_MC_CS3_START 48 |
427 | #define M_MC_CS3_START _SB_MAKEMASK(16,S_MC_CS3_START) | 427 | #define M_MC_CS3_START _SB_MAKEMASK(16, S_MC_CS3_START) |
428 | #define V_MC_CS3_START(x) _SB_MAKEVALUE(x,S_MC_CS3_START) | 428 | #define V_MC_CS3_START(x) _SB_MAKEVALUE(x, S_MC_CS3_START) |
429 | #define G_MC_CS3_START(x) _SB_GETVALUE(x,S_MC_CS3_START,M_MC_CS3_START) | 429 | #define G_MC_CS3_START(x) _SB_GETVALUE(x, S_MC_CS3_START, M_MC_CS3_START) |
430 | 430 | ||
431 | /* | 431 | /* |
432 | * Chip Select End Address Register (Table 6-18) | 432 | * Chip Select End Address Register (Table 6-18) |
433 | */ | 433 | */ |
434 | 434 | ||
435 | #define S_MC_CS0_END 0 | 435 | #define S_MC_CS0_END 0 |
436 | #define M_MC_CS0_END _SB_MAKEMASK(16,S_MC_CS0_END) | 436 | #define M_MC_CS0_END _SB_MAKEMASK(16, S_MC_CS0_END) |
437 | #define V_MC_CS0_END(x) _SB_MAKEVALUE(x,S_MC_CS0_END) | 437 | #define V_MC_CS0_END(x) _SB_MAKEVALUE(x, S_MC_CS0_END) |
438 | #define G_MC_CS0_END(x) _SB_GETVALUE(x,S_MC_CS0_END,M_MC_CS0_END) | 438 | #define G_MC_CS0_END(x) _SB_GETVALUE(x, S_MC_CS0_END, M_MC_CS0_END) |
439 | 439 | ||
440 | #define S_MC_CS1_END 16 | 440 | #define S_MC_CS1_END 16 |
441 | #define M_MC_CS1_END _SB_MAKEMASK(16,S_MC_CS1_END) | 441 | #define M_MC_CS1_END _SB_MAKEMASK(16, S_MC_CS1_END) |
442 | #define V_MC_CS1_END(x) _SB_MAKEVALUE(x,S_MC_CS1_END) | 442 | #define V_MC_CS1_END(x) _SB_MAKEVALUE(x, S_MC_CS1_END) |
443 | #define G_MC_CS1_END(x) _SB_GETVALUE(x,S_MC_CS1_END,M_MC_CS1_END) | 443 | #define G_MC_CS1_END(x) _SB_GETVALUE(x, S_MC_CS1_END, M_MC_CS1_END) |
444 | 444 | ||
445 | #define S_MC_CS2_END 32 | 445 | #define S_MC_CS2_END 32 |
446 | #define M_MC_CS2_END _SB_MAKEMASK(16,S_MC_CS2_END) | 446 | #define M_MC_CS2_END _SB_MAKEMASK(16, S_MC_CS2_END) |
447 | #define V_MC_CS2_END(x) _SB_MAKEVALUE(x,S_MC_CS2_END) | 447 | #define V_MC_CS2_END(x) _SB_MAKEVALUE(x, S_MC_CS2_END) |
448 | #define G_MC_CS2_END(x) _SB_GETVALUE(x,S_MC_CS2_END,M_MC_CS2_END) | 448 | #define G_MC_CS2_END(x) _SB_GETVALUE(x, S_MC_CS2_END, M_MC_CS2_END) |
449 | 449 | ||
450 | #define S_MC_CS3_END 48 | 450 | #define S_MC_CS3_END 48 |
451 | #define M_MC_CS3_END _SB_MAKEMASK(16,S_MC_CS3_END) | 451 | #define M_MC_CS3_END _SB_MAKEMASK(16, S_MC_CS3_END) |
452 | #define V_MC_CS3_END(x) _SB_MAKEVALUE(x,S_MC_CS3_END) | 452 | #define V_MC_CS3_END(x) _SB_MAKEVALUE(x, S_MC_CS3_END) |
453 | #define G_MC_CS3_END(x) _SB_GETVALUE(x,S_MC_CS3_END,M_MC_CS3_END) | 453 | #define G_MC_CS3_END(x) _SB_GETVALUE(x, S_MC_CS3_END, M_MC_CS3_END) |
454 | 454 | ||
455 | /* | 455 | /* |
456 | * Chip Select Interleave Register (Table 6-19) | 456 | * Chip Select Interleave Register (Table 6-19) |
457 | */ | 457 | */ |
458 | 458 | ||
459 | #define S_MC_INTLV_RESERVED 0 | 459 | #define S_MC_INTLV_RESERVED 0 |
460 | #define M_MC_INTLV_RESERVED _SB_MAKEMASK(5,S_MC_INTLV_RESERVED) | 460 | #define M_MC_INTLV_RESERVED _SB_MAKEMASK(5, S_MC_INTLV_RESERVED) |
461 | 461 | ||
462 | #define S_MC_INTERLEAVE 7 | 462 | #define S_MC_INTERLEAVE 7 |
463 | #define M_MC_INTERLEAVE _SB_MAKEMASK(18,S_MC_INTERLEAVE) | 463 | #define M_MC_INTERLEAVE _SB_MAKEMASK(18, S_MC_INTERLEAVE) |
464 | #define V_MC_INTERLEAVE(x) _SB_MAKEVALUE(x,S_MC_INTERLEAVE) | 464 | #define V_MC_INTERLEAVE(x) _SB_MAKEVALUE(x, S_MC_INTERLEAVE) |
465 | 465 | ||
466 | #define S_MC_INTLV_MBZ 25 | 466 | #define S_MC_INTLV_MBZ 25 |
467 | #define M_MC_INTLV_MBZ _SB_MAKEMASK(39,S_MC_INTLV_MBZ) | 467 | #define M_MC_INTLV_MBZ _SB_MAKEMASK(39, S_MC_INTLV_MBZ) |
468 | 468 | ||
469 | /* | 469 | /* |
470 | * Row Address Bits Register (Table 6-20) | 470 | * Row Address Bits Register (Table 6-20) |
471 | */ | 471 | */ |
472 | 472 | ||
473 | #define S_MC_RAS_RESERVED 0 | 473 | #define S_MC_RAS_RESERVED 0 |
474 | #define M_MC_RAS_RESERVED _SB_MAKEMASK(5,S_MC_RAS_RESERVED) | 474 | #define M_MC_RAS_RESERVED _SB_MAKEMASK(5, S_MC_RAS_RESERVED) |
475 | 475 | ||
476 | #define S_MC_RAS_SELECT 12 | 476 | #define S_MC_RAS_SELECT 12 |
477 | #define M_MC_RAS_SELECT _SB_MAKEMASK(25,S_MC_RAS_SELECT) | 477 | #define M_MC_RAS_SELECT _SB_MAKEMASK(25, S_MC_RAS_SELECT) |
478 | #define V_MC_RAS_SELECT(x) _SB_MAKEVALUE(x,S_MC_RAS_SELECT) | 478 | #define V_MC_RAS_SELECT(x) _SB_MAKEVALUE(x, S_MC_RAS_SELECT) |
479 | 479 | ||
480 | #define S_MC_RAS_MBZ 37 | 480 | #define S_MC_RAS_MBZ 37 |
481 | #define M_MC_RAS_MBZ _SB_MAKEMASK(27,S_MC_RAS_MBZ) | 481 | #define M_MC_RAS_MBZ _SB_MAKEMASK(27, S_MC_RAS_MBZ) |
482 | 482 | ||
483 | 483 | ||
484 | /* | 484 | /* |
@@ -486,14 +486,14 @@ | |||
486 | */ | 486 | */ |
487 | 487 | ||
488 | #define S_MC_CAS_RESERVED 0 | 488 | #define S_MC_CAS_RESERVED 0 |
489 | #define M_MC_CAS_RESERVED _SB_MAKEMASK(5,S_MC_CAS_RESERVED) | 489 | #define M_MC_CAS_RESERVED _SB_MAKEMASK(5, S_MC_CAS_RESERVED) |
490 | 490 | ||
491 | #define S_MC_CAS_SELECT 5 | 491 | #define S_MC_CAS_SELECT 5 |
492 | #define M_MC_CAS_SELECT _SB_MAKEMASK(18,S_MC_CAS_SELECT) | 492 | #define M_MC_CAS_SELECT _SB_MAKEMASK(18, S_MC_CAS_SELECT) |
493 | #define V_MC_CAS_SELECT(x) _SB_MAKEVALUE(x,S_MC_CAS_SELECT) | 493 | #define V_MC_CAS_SELECT(x) _SB_MAKEVALUE(x, S_MC_CAS_SELECT) |
494 | 494 | ||
495 | #define S_MC_CAS_MBZ 23 | 495 | #define S_MC_CAS_MBZ 23 |
496 | #define M_MC_CAS_MBZ _SB_MAKEMASK(41,S_MC_CAS_MBZ) | 496 | #define M_MC_CAS_MBZ _SB_MAKEMASK(41, S_MC_CAS_MBZ) |
497 | 497 | ||
498 | 498 | ||
499 | /* | 499 | /* |
@@ -501,14 +501,14 @@ | |||
501 | */ | 501 | */ |
502 | 502 | ||
503 | #define S_MC_BA_RESERVED 0 | 503 | #define S_MC_BA_RESERVED 0 |
504 | #define M_MC_BA_RESERVED _SB_MAKEMASK(5,S_MC_BA_RESERVED) | 504 | #define M_MC_BA_RESERVED _SB_MAKEMASK(5, S_MC_BA_RESERVED) |
505 | 505 | ||
506 | #define S_MC_BA_SELECT 5 | 506 | #define S_MC_BA_SELECT 5 |
507 | #define M_MC_BA_SELECT _SB_MAKEMASK(20,S_MC_BA_SELECT) | 507 | #define M_MC_BA_SELECT _SB_MAKEMASK(20, S_MC_BA_SELECT) |
508 | #define V_MC_BA_SELECT(x) _SB_MAKEVALUE(x,S_MC_BA_SELECT) | 508 | #define V_MC_BA_SELECT(x) _SB_MAKEVALUE(x, S_MC_BA_SELECT) |
509 | 509 | ||
510 | #define S_MC_BA_MBZ 25 | 510 | #define S_MC_BA_MBZ 25 |
511 | #define M_MC_BA_MBZ _SB_MAKEMASK(39,S_MC_BA_MBZ) | 511 | #define M_MC_BA_MBZ _SB_MAKEMASK(39, S_MC_BA_MBZ) |
512 | 512 | ||
513 | /* | 513 | /* |
514 | * Chip Select Attribute Register (Table 6-23) | 514 | * Chip Select Attribute Register (Table 6-23) |
@@ -520,31 +520,31 @@ | |||
520 | #define K_MC_CS_ATTR_OPEN 3 | 520 | #define K_MC_CS_ATTR_OPEN 3 |
521 | 521 | ||
522 | #define S_MC_CS0_PAGE 0 | 522 | #define S_MC_CS0_PAGE 0 |
523 | #define M_MC_CS0_PAGE _SB_MAKEMASK(2,S_MC_CS0_PAGE) | 523 | #define M_MC_CS0_PAGE _SB_MAKEMASK(2, S_MC_CS0_PAGE) |
524 | #define V_MC_CS0_PAGE(x) _SB_MAKEVALUE(x,S_MC_CS0_PAGE) | 524 | #define V_MC_CS0_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS0_PAGE) |
525 | #define G_MC_CS0_PAGE(x) _SB_GETVALUE(x,S_MC_CS0_PAGE,M_MC_CS0_PAGE) | 525 | #define G_MC_CS0_PAGE(x) _SB_GETVALUE(x, S_MC_CS0_PAGE, M_MC_CS0_PAGE) |
526 | 526 | ||
527 | #define S_MC_CS1_PAGE 16 | 527 | #define S_MC_CS1_PAGE 16 |
528 | #define M_MC_CS1_PAGE _SB_MAKEMASK(2,S_MC_CS1_PAGE) | 528 | #define M_MC_CS1_PAGE _SB_MAKEMASK(2, S_MC_CS1_PAGE) |
529 | #define V_MC_CS1_PAGE(x) _SB_MAKEVALUE(x,S_MC_CS1_PAGE) | 529 | #define V_MC_CS1_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS1_PAGE) |
530 | #define G_MC_CS1_PAGE(x) _SB_GETVALUE(x,S_MC_CS1_PAGE,M_MC_CS1_PAGE) | 530 | #define G_MC_CS1_PAGE(x) _SB_GETVALUE(x, S_MC_CS1_PAGE, M_MC_CS1_PAGE) |
531 | 531 | ||
532 | #define S_MC_CS2_PAGE 32 | 532 | #define S_MC_CS2_PAGE 32 |
533 | #define M_MC_CS2_PAGE _SB_MAKEMASK(2,S_MC_CS2_PAGE) | 533 | #define M_MC_CS2_PAGE _SB_MAKEMASK(2, S_MC_CS2_PAGE) |
534 | #define V_MC_CS2_PAGE(x) _SB_MAKEVALUE(x,S_MC_CS2_PAGE) | 534 | #define V_MC_CS2_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS2_PAGE) |
535 | #define G_MC_CS2_PAGE(x) _SB_GETVALUE(x,S_MC_CS2_PAGE,M_MC_CS2_PAGE) | 535 | #define G_MC_CS2_PAGE(x) _SB_GETVALUE(x, S_MC_CS2_PAGE, M_MC_CS2_PAGE) |
536 | 536 | ||
537 | #define S_MC_CS3_PAGE 48 | 537 | #define S_MC_CS3_PAGE 48 |
538 | #define M_MC_CS3_PAGE _SB_MAKEMASK(2,S_MC_CS3_PAGE) | 538 | #define M_MC_CS3_PAGE _SB_MAKEMASK(2, S_MC_CS3_PAGE) |
539 | #define V_MC_CS3_PAGE(x) _SB_MAKEVALUE(x,S_MC_CS3_PAGE) | 539 | #define V_MC_CS3_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS3_PAGE) |
540 | #define G_MC_CS3_PAGE(x) _SB_GETVALUE(x,S_MC_CS3_PAGE,M_MC_CS3_PAGE) | 540 | #define G_MC_CS3_PAGE(x) _SB_GETVALUE(x, S_MC_CS3_PAGE, M_MC_CS3_PAGE) |
541 | 541 | ||
542 | /* | 542 | /* |
543 | * ECC Test ECC Register (Table 6-25) | 543 | * ECC Test ECC Register (Table 6-25) |
544 | */ | 544 | */ |
545 | 545 | ||
546 | #define S_MC_ECC_INVERT 0 | 546 | #define S_MC_ECC_INVERT 0 |
547 | #define M_MC_ECC_INVERT _SB_MAKEMASK(8,S_MC_ECC_INVERT) | 547 | #define M_MC_ECC_INVERT _SB_MAKEMASK(8, S_MC_ECC_INVERT) |
548 | 548 | ||
549 | 549 | ||
550 | #endif | 550 | #endif |
diff --git a/include/asm-mips/sibyte/sb1250_regs.h b/include/asm-mips/sibyte/sb1250_regs.h index 220b7e94f1bf..8f53ec817a5e 100644 --- a/include/asm-mips/sibyte/sb1250_regs.h +++ b/include/asm-mips/sibyte/sb1250_regs.h | |||
@@ -66,7 +66,7 @@ | |||
66 | #define MC_REGISTER_SPACING 0x1000 | 66 | #define MC_REGISTER_SPACING 0x1000 |
67 | 67 | ||
68 | #define A_MC_BASE(ctlid) ((ctlid)*MC_REGISTER_SPACING+A_MC_BASE_0) | 68 | #define A_MC_BASE(ctlid) ((ctlid)*MC_REGISTER_SPACING+A_MC_BASE_0) |
69 | #define A_MC_REGISTER(ctlid,reg) (A_MC_BASE(ctlid)+(reg)) | 69 | #define A_MC_REGISTER(ctlid, reg) (A_MC_BASE(ctlid)+(reg)) |
70 | 70 | ||
71 | #define R_MC_CONFIG 0x0000000100 | 71 | #define R_MC_CONFIG 0x0000000100 |
72 | #define R_MC_DRAMCMD 0x0000000120 | 72 | #define R_MC_DRAMCMD 0x0000000120 |
@@ -173,23 +173,23 @@ | |||
173 | 173 | ||
174 | #define R_MAC_DMA_CHANNELS 0x800 /* Relative to A_MAC_CHANNEL_BASE */ | 174 | #define R_MAC_DMA_CHANNELS 0x800 /* Relative to A_MAC_CHANNEL_BASE */ |
175 | 175 | ||
176 | #define A_MAC_DMA_CHANNEL_BASE(macnum,txrx,chan) \ | 176 | #define A_MAC_DMA_CHANNEL_BASE(macnum, txrx, chan) \ |
177 | ((A_MAC_CHANNEL_BASE(macnum)) + \ | 177 | ((A_MAC_CHANNEL_BASE(macnum)) + \ |
178 | R_MAC_DMA_CHANNELS + \ | 178 | R_MAC_DMA_CHANNELS + \ |
179 | (MAC_DMA_TXRX_SPACING*(txrx)) + \ | 179 | (MAC_DMA_TXRX_SPACING*(txrx)) + \ |
180 | (MAC_DMA_CHANNEL_SPACING*(chan))) | 180 | (MAC_DMA_CHANNEL_SPACING*(chan))) |
181 | 181 | ||
182 | #define R_MAC_DMA_CHANNEL_BASE(txrx,chan) \ | 182 | #define R_MAC_DMA_CHANNEL_BASE(txrx, chan) \ |
183 | (R_MAC_DMA_CHANNELS + \ | 183 | (R_MAC_DMA_CHANNELS + \ |
184 | (MAC_DMA_TXRX_SPACING*(txrx)) + \ | 184 | (MAC_DMA_TXRX_SPACING*(txrx)) + \ |
185 | (MAC_DMA_CHANNEL_SPACING*(chan))) | 185 | (MAC_DMA_CHANNEL_SPACING*(chan))) |
186 | 186 | ||
187 | #define A_MAC_DMA_REGISTER(macnum,txrx,chan,reg) \ | 187 | #define A_MAC_DMA_REGISTER(macnum, txrx, chan, reg) \ |
188 | (A_MAC_DMA_CHANNEL_BASE(macnum,txrx,chan) + \ | 188 | (A_MAC_DMA_CHANNEL_BASE(macnum, txrx, chan) + \ |
189 | (reg)) | 189 | (reg)) |
190 | 190 | ||
191 | #define R_MAC_DMA_REGISTER(txrx,chan,reg) \ | 191 | #define R_MAC_DMA_REGISTER(txrx, chan, reg) \ |
192 | (R_MAC_DMA_CHANNEL_BASE(txrx,chan) + \ | 192 | (R_MAC_DMA_CHANNEL_BASE(txrx, chan) + \ |
193 | (reg)) | 193 | (reg)) |
194 | 194 | ||
195 | /* | 195 | /* |
@@ -415,8 +415,8 @@ | |||
415 | R_SER_DMA_CHANNELS + \ | 415 | R_SER_DMA_CHANNELS + \ |
416 | (SER_DMA_TXRX_SPACING*(txrx))) | 416 | (SER_DMA_TXRX_SPACING*(txrx))) |
417 | 417 | ||
418 | #define A_SER_DMA_REGISTER(sernum,txrx,reg) \ | 418 | #define A_SER_DMA_REGISTER(sernum, txrx, reg) \ |
419 | (A_SER_DMA_CHANNEL_BASE(sernum,txrx) + \ | 419 | (A_SER_DMA_CHANNEL_BASE(sernum, txrx) + \ |
420 | (reg)) | 420 | (reg)) |
421 | 421 | ||
422 | 422 | ||
@@ -499,7 +499,7 @@ | |||
499 | 499 | ||
500 | #define IO_EXT_REGISTER_SPACING 8 | 500 | #define IO_EXT_REGISTER_SPACING 8 |
501 | #define A_IO_EXT_CS_BASE(cs) (A_IO_EXT_CFG_BASE+IO_EXT_REGISTER_SPACING*(cs)) | 501 | #define A_IO_EXT_CS_BASE(cs) (A_IO_EXT_CFG_BASE+IO_EXT_REGISTER_SPACING*(cs)) |
502 | #define R_IO_EXT_REG(reg,cs) ((cs)*IO_EXT_REGISTER_SPACING + (reg)) | 502 | #define R_IO_EXT_REG(reg, cs) ((cs)*IO_EXT_REGISTER_SPACING + (reg)) |
503 | 503 | ||
504 | #define R_IO_EXT_CFG 0x0000 | 504 | #define R_IO_EXT_CFG 0x0000 |
505 | #define R_IO_EXT_MULT_SIZE 0x0100 | 505 | #define R_IO_EXT_MULT_SIZE 0x0100 |
@@ -587,7 +587,7 @@ | |||
587 | #define A_SMB_1 0x0010060008 | 587 | #define A_SMB_1 0x0010060008 |
588 | #define SMB_REGISTER_SPACING 0x8 | 588 | #define SMB_REGISTER_SPACING 0x8 |
589 | #define A_SMB_BASE(idx) (A_SMB_0+(idx)*SMB_REGISTER_SPACING) | 589 | #define A_SMB_BASE(idx) (A_SMB_0+(idx)*SMB_REGISTER_SPACING) |
590 | #define A_SMB_REGISTER(idx,reg) (A_SMB_BASE(idx)+(reg)) | 590 | #define A_SMB_REGISTER(idx, reg) (A_SMB_BASE(idx)+(reg)) |
591 | 591 | ||
592 | #define R_SMB_XTRA 0x0000000000 | 592 | #define R_SMB_XTRA 0x0000000000 |
593 | #define R_SMB_FREQ 0x0000000010 | 593 | #define R_SMB_FREQ 0x0000000010 |
@@ -611,7 +611,7 @@ | |||
611 | #define SCD_WDOG_SPACING 0x100 | 611 | #define SCD_WDOG_SPACING 0x100 |
612 | #define SCD_NUM_WDOGS 2 | 612 | #define SCD_NUM_WDOGS 2 |
613 | #define A_SCD_WDOG_BASE(w) (A_SCD_WDOG_0+SCD_WDOG_SPACING*(w)) | 613 | #define A_SCD_WDOG_BASE(w) (A_SCD_WDOG_0+SCD_WDOG_SPACING*(w)) |
614 | #define A_SCD_WDOG_REGISTER(w,r) (A_SCD_WDOG_BASE(w) + (r)) | 614 | #define A_SCD_WDOG_REGISTER(w, r) (A_SCD_WDOG_BASE(w) + (r)) |
615 | 615 | ||
616 | #define R_SCD_WDOG_INIT 0x0000000000 | 616 | #define R_SCD_WDOG_INIT 0x0000000000 |
617 | #define R_SCD_WDOG_CNT 0x0000000008 | 617 | #define R_SCD_WDOG_CNT 0x0000000008 |
@@ -635,7 +635,7 @@ | |||
635 | #define A_SCD_TIMER_3 0x0010020178 | 635 | #define A_SCD_TIMER_3 0x0010020178 |
636 | #define SCD_NUM_TIMERS 4 | 636 | #define SCD_NUM_TIMERS 4 |
637 | #define A_SCD_TIMER_BASE(w) (A_SCD_TIMER_0+0x08*((w)&1)+0x100*(((w)&2)>>1)) | 637 | #define A_SCD_TIMER_BASE(w) (A_SCD_TIMER_0+0x08*((w)&1)+0x100*(((w)&2)>>1)) |
638 | #define A_SCD_TIMER_REGISTER(w,r) (A_SCD_TIMER_BASE(w) + (r)) | 638 | #define A_SCD_TIMER_REGISTER(w, r) (A_SCD_TIMER_BASE(w) + (r)) |
639 | 639 | ||
640 | #define R_SCD_TIMER_INIT 0x0000000000 | 640 | #define R_SCD_TIMER_INIT 0x0000000000 |
641 | #define R_SCD_TIMER_CNT 0x0000000010 | 641 | #define R_SCD_TIMER_CNT 0x0000000010 |
@@ -714,7 +714,7 @@ | |||
714 | #define IMR_REGISTER_SPACING_SHIFT 13 | 714 | #define IMR_REGISTER_SPACING_SHIFT 13 |
715 | 715 | ||
716 | #define A_IMR_MAPPER(cpu) (A_IMR_CPU0_BASE+(cpu)*IMR_REGISTER_SPACING) | 716 | #define A_IMR_MAPPER(cpu) (A_IMR_CPU0_BASE+(cpu)*IMR_REGISTER_SPACING) |
717 | #define A_IMR_REGISTER(cpu,reg) (A_IMR_MAPPER(cpu)+(reg)) | 717 | #define A_IMR_REGISTER(cpu, reg) (A_IMR_MAPPER(cpu)+(reg)) |
718 | 718 | ||
719 | #define R_IMR_INTERRUPT_DIAG 0x0010 | 719 | #define R_IMR_INTERRUPT_DIAG 0x0010 |
720 | #define R_IMR_INTERRUPT_LDT 0x0018 | 720 | #define R_IMR_INTERRUPT_LDT 0x0018 |
@@ -821,7 +821,7 @@ | |||
821 | #define DM_REGISTER_SPACING 0x20 | 821 | #define DM_REGISTER_SPACING 0x20 |
822 | #define DM_NUM_CHANNELS 4 | 822 | #define DM_NUM_CHANNELS 4 |
823 | #define A_DM_BASE(idx) (A_DM_0 + ((idx) * DM_REGISTER_SPACING)) | 823 | #define A_DM_BASE(idx) (A_DM_0 + ((idx) * DM_REGISTER_SPACING)) |
824 | #define A_DM_REGISTER(idx,reg) (A_DM_BASE(idx) + (reg)) | 824 | #define A_DM_REGISTER(idx, reg) (A_DM_BASE(idx) + (reg)) |
825 | 825 | ||
826 | #define R_DM_DSCR_BASE 0x0000000000 | 826 | #define R_DM_DSCR_BASE 0x0000000000 |
827 | #define R_DM_DSCR_COUNT 0x0000000008 | 827 | #define R_DM_DSCR_COUNT 0x0000000008 |
@@ -843,7 +843,7 @@ | |||
843 | #define DM_CRC_REGISTER_SPACING 0x10 | 843 | #define DM_CRC_REGISTER_SPACING 0x10 |
844 | #define DM_CRC_NUM_CHANNELS 2 | 844 | #define DM_CRC_NUM_CHANNELS 2 |
845 | #define A_DM_CRC_BASE(idx) (A_DM_CRC_0 + ((idx) * DM_CRC_REGISTER_SPACING)) | 845 | #define A_DM_CRC_BASE(idx) (A_DM_CRC_0 + ((idx) * DM_CRC_REGISTER_SPACING)) |
846 | #define A_DM_CRC_REGISTER(idx,reg) (A_DM_CRC_BASE(idx) + (reg)) | 846 | #define A_DM_CRC_REGISTER(idx, reg) (A_DM_CRC_BASE(idx) + (reg)) |
847 | 847 | ||
848 | #define R_CRC_DEF_0 0x00 | 848 | #define R_CRC_DEF_0 0x00 |
849 | #define R_CTCP_DEF_0 0x08 | 849 | #define R_CTCP_DEF_0 0x08 |
diff --git a/include/asm-mips/sibyte/sb1250_scd.h b/include/asm-mips/sibyte/sb1250_scd.h index 9ea3da367ab6..e49c3e89b5ee 100644 --- a/include/asm-mips/sibyte/sb1250_scd.h +++ b/include/asm-mips/sibyte/sb1250_scd.h | |||
@@ -42,12 +42,12 @@ | |||
42 | * System Revision Register (Table 4-1) | 42 | * System Revision Register (Table 4-1) |
43 | */ | 43 | */ |
44 | 44 | ||
45 | #define M_SYS_RESERVED _SB_MAKEMASK(8,0) | 45 | #define M_SYS_RESERVED _SB_MAKEMASK(8, 0) |
46 | 46 | ||
47 | #define S_SYS_REVISION _SB_MAKE64(8) | 47 | #define S_SYS_REVISION _SB_MAKE64(8) |
48 | #define M_SYS_REVISION _SB_MAKEMASK(8,S_SYS_REVISION) | 48 | #define M_SYS_REVISION _SB_MAKEMASK(8, S_SYS_REVISION) |
49 | #define V_SYS_REVISION(x) _SB_MAKEVALUE(x,S_SYS_REVISION) | 49 | #define V_SYS_REVISION(x) _SB_MAKEVALUE(x, S_SYS_REVISION) |
50 | #define G_SYS_REVISION(x) _SB_GETVALUE(x,S_SYS_REVISION,M_SYS_REVISION) | 50 | #define G_SYS_REVISION(x) _SB_GETVALUE(x, S_SYS_REVISION, M_SYS_REVISION) |
51 | 51 | ||
52 | #define K_SYS_REVISION_BCM1250_PASS1 0x01 | 52 | #define K_SYS_REVISION_BCM1250_PASS1 0x01 |
53 | 53 | ||
@@ -94,9 +94,9 @@ | |||
94 | 94 | ||
95 | /*Cache size - 23:20 of revision register*/ | 95 | /*Cache size - 23:20 of revision register*/ |
96 | #define S_SYS_L2C_SIZE _SB_MAKE64(20) | 96 | #define S_SYS_L2C_SIZE _SB_MAKE64(20) |
97 | #define M_SYS_L2C_SIZE _SB_MAKEMASK(4,S_SYS_L2C_SIZE) | 97 | #define M_SYS_L2C_SIZE _SB_MAKEMASK(4, S_SYS_L2C_SIZE) |
98 | #define V_SYS_L2C_SIZE(x) _SB_MAKEVALUE(x,S_SYS_L2C_SIZE) | 98 | #define V_SYS_L2C_SIZE(x) _SB_MAKEVALUE(x, S_SYS_L2C_SIZE) |
99 | #define G_SYS_L2C_SIZE(x) _SB_GETVALUE(x,S_SYS_L2C_SIZE,M_SYS_L2C_SIZE) | 99 | #define G_SYS_L2C_SIZE(x) _SB_GETVALUE(x, S_SYS_L2C_SIZE, M_SYS_L2C_SIZE) |
100 | 100 | ||
101 | #define K_SYS_L2C_SIZE_1MB 0 | 101 | #define K_SYS_L2C_SIZE_1MB 0 |
102 | #define K_SYS_L2C_SIZE_512KB 5 | 102 | #define K_SYS_L2C_SIZE_512KB 5 |
@@ -110,16 +110,16 @@ | |||
110 | 110 | ||
111 | /* Number of CPU cores, bits 27:24 of revision register*/ | 111 | /* Number of CPU cores, bits 27:24 of revision register*/ |
112 | #define S_SYS_NUM_CPUS _SB_MAKE64(24) | 112 | #define S_SYS_NUM_CPUS _SB_MAKE64(24) |
113 | #define M_SYS_NUM_CPUS _SB_MAKEMASK(4,S_SYS_NUM_CPUS) | 113 | #define M_SYS_NUM_CPUS _SB_MAKEMASK(4, S_SYS_NUM_CPUS) |
114 | #define V_SYS_NUM_CPUS(x) _SB_MAKEVALUE(x,S_SYS_NUM_CPUS) | 114 | #define V_SYS_NUM_CPUS(x) _SB_MAKEVALUE(x, S_SYS_NUM_CPUS) |
115 | #define G_SYS_NUM_CPUS(x) _SB_GETVALUE(x,S_SYS_NUM_CPUS,M_SYS_NUM_CPUS) | 115 | #define G_SYS_NUM_CPUS(x) _SB_GETVALUE(x, S_SYS_NUM_CPUS, M_SYS_NUM_CPUS) |
116 | 116 | ||
117 | 117 | ||
118 | /* XXX: discourage people from using these constants. */ | 118 | /* XXX: discourage people from using these constants. */ |
119 | #define S_SYS_PART _SB_MAKE64(16) | 119 | #define S_SYS_PART _SB_MAKE64(16) |
120 | #define M_SYS_PART _SB_MAKEMASK(16,S_SYS_PART) | 120 | #define M_SYS_PART _SB_MAKEMASK(16, S_SYS_PART) |
121 | #define V_SYS_PART(x) _SB_MAKEVALUE(x,S_SYS_PART) | 121 | #define V_SYS_PART(x) _SB_MAKEVALUE(x, S_SYS_PART) |
122 | #define G_SYS_PART(x) _SB_GETVALUE(x,S_SYS_PART,M_SYS_PART) | 122 | #define G_SYS_PART(x) _SB_GETVALUE(x, S_SYS_PART, M_SYS_PART) |
123 | 123 | ||
124 | /* XXX: discourage people from using these constants. */ | 124 | /* XXX: discourage people from using these constants. */ |
125 | #define K_SYS_PART_SB1250 0x1250 | 125 | #define K_SYS_PART_SB1250 0x1250 |
@@ -131,9 +131,9 @@ | |||
131 | 131 | ||
132 | /* The "peripheral set" (SOC type) is the low 4 bits of the "part" field. */ | 132 | /* The "peripheral set" (SOC type) is the low 4 bits of the "part" field. */ |
133 | #define S_SYS_SOC_TYPE _SB_MAKE64(16) | 133 | #define S_SYS_SOC_TYPE _SB_MAKE64(16) |
134 | #define M_SYS_SOC_TYPE _SB_MAKEMASK(4,S_SYS_SOC_TYPE) | 134 | #define M_SYS_SOC_TYPE _SB_MAKEMASK(4, S_SYS_SOC_TYPE) |
135 | #define V_SYS_SOC_TYPE(x) _SB_MAKEVALUE(x,S_SYS_SOC_TYPE) | 135 | #define V_SYS_SOC_TYPE(x) _SB_MAKEVALUE(x, S_SYS_SOC_TYPE) |
136 | #define G_SYS_SOC_TYPE(x) _SB_GETVALUE(x,S_SYS_SOC_TYPE,M_SYS_SOC_TYPE) | 136 | #define G_SYS_SOC_TYPE(x) _SB_GETVALUE(x, S_SYS_SOC_TYPE, M_SYS_SOC_TYPE) |
137 | 137 | ||
138 | #define K_SYS_SOC_TYPE_BCM1250 0x0 | 138 | #define K_SYS_SOC_TYPE_BCM1250 0x0 |
139 | #define K_SYS_SOC_TYPE_BCM1120 0x1 | 139 | #define K_SYS_SOC_TYPE_BCM1120 0x1 |
@@ -170,9 +170,9 @@ | |||
170 | #endif | 170 | #endif |
171 | 171 | ||
172 | #define S_SYS_WID _SB_MAKE64(32) | 172 | #define S_SYS_WID _SB_MAKE64(32) |
173 | #define M_SYS_WID _SB_MAKEMASK(32,S_SYS_WID) | 173 | #define M_SYS_WID _SB_MAKEMASK(32, S_SYS_WID) |
174 | #define V_SYS_WID(x) _SB_MAKEVALUE(x,S_SYS_WID) | 174 | #define V_SYS_WID(x) _SB_MAKEVALUE(x, S_SYS_WID) |
175 | #define G_SYS_WID(x) _SB_GETVALUE(x,S_SYS_WID,M_SYS_WID) | 175 | #define G_SYS_WID(x) _SB_GETVALUE(x, S_SYS_WID, M_SYS_WID) |
176 | 176 | ||
177 | /* | 177 | /* |
178 | * System Manufacturing Register | 178 | * System Manufacturing Register |
@@ -182,36 +182,36 @@ | |||
182 | #if SIBYTE_HDR_FEATURE_1250_112x | 182 | #if SIBYTE_HDR_FEATURE_1250_112x |
183 | /* Wafer ID: bits 31:0 */ | 183 | /* Wafer ID: bits 31:0 */ |
184 | #define S_SYS_WAFERID1_200 _SB_MAKE64(0) | 184 | #define S_SYS_WAFERID1_200 _SB_MAKE64(0) |
185 | #define M_SYS_WAFERID1_200 _SB_MAKEMASK(32,S_SYS_WAFERID1_200) | 185 | #define M_SYS_WAFERID1_200 _SB_MAKEMASK(32, S_SYS_WAFERID1_200) |
186 | #define V_SYS_WAFERID1_200(x) _SB_MAKEVALUE(x,S_SYS_WAFERID1_200) | 186 | #define V_SYS_WAFERID1_200(x) _SB_MAKEVALUE(x, S_SYS_WAFERID1_200) |
187 | #define G_SYS_WAFERID1_200(x) _SB_GETVALUE(x,S_SYS_WAFERID1_200,M_SYS_WAFERID1_200) | 187 | #define G_SYS_WAFERID1_200(x) _SB_GETVALUE(x, S_SYS_WAFERID1_200, M_SYS_WAFERID1_200) |
188 | 188 | ||
189 | #define S_SYS_BIN _SB_MAKE64(32) | 189 | #define S_SYS_BIN _SB_MAKE64(32) |
190 | #define M_SYS_BIN _SB_MAKEMASK(4,S_SYS_BIN) | 190 | #define M_SYS_BIN _SB_MAKEMASK(4, S_SYS_BIN) |
191 | #define V_SYS_BIN(x) _SB_MAKEVALUE(x,S_SYS_BIN) | 191 | #define V_SYS_BIN(x) _SB_MAKEVALUE(x, S_SYS_BIN) |
192 | #define G_SYS_BIN(x) _SB_GETVALUE(x,S_SYS_BIN,M_SYS_BIN) | 192 | #define G_SYS_BIN(x) _SB_GETVALUE(x, S_SYS_BIN, M_SYS_BIN) |
193 | 193 | ||
194 | /* Wafer ID: bits 39:36 */ | 194 | /* Wafer ID: bits 39:36 */ |
195 | #define S_SYS_WAFERID2_200 _SB_MAKE64(36) | 195 | #define S_SYS_WAFERID2_200 _SB_MAKE64(36) |
196 | #define M_SYS_WAFERID2_200 _SB_MAKEMASK(4,S_SYS_WAFERID2_200) | 196 | #define M_SYS_WAFERID2_200 _SB_MAKEMASK(4, S_SYS_WAFERID2_200) |
197 | #define V_SYS_WAFERID2_200(x) _SB_MAKEVALUE(x,S_SYS_WAFERID2_200) | 197 | #define V_SYS_WAFERID2_200(x) _SB_MAKEVALUE(x, S_SYS_WAFERID2_200) |
198 | #define G_SYS_WAFERID2_200(x) _SB_GETVALUE(x,S_SYS_WAFERID2_200,M_SYS_WAFERID2_200) | 198 | #define G_SYS_WAFERID2_200(x) _SB_GETVALUE(x, S_SYS_WAFERID2_200, M_SYS_WAFERID2_200) |
199 | 199 | ||
200 | /* Wafer ID: bits 39:0 */ | 200 | /* Wafer ID: bits 39:0 */ |
201 | #define S_SYS_WAFERID_300 _SB_MAKE64(0) | 201 | #define S_SYS_WAFERID_300 _SB_MAKE64(0) |
202 | #define M_SYS_WAFERID_300 _SB_MAKEMASK(40,S_SYS_WAFERID_300) | 202 | #define M_SYS_WAFERID_300 _SB_MAKEMASK(40, S_SYS_WAFERID_300) |
203 | #define V_SYS_WAFERID_300(x) _SB_MAKEVALUE(x,S_SYS_WAFERID_300) | 203 | #define V_SYS_WAFERID_300(x) _SB_MAKEVALUE(x, S_SYS_WAFERID_300) |
204 | #define G_SYS_WAFERID_300(x) _SB_GETVALUE(x,S_SYS_WAFERID_300,M_SYS_WAFERID_300) | 204 | #define G_SYS_WAFERID_300(x) _SB_GETVALUE(x, S_SYS_WAFERID_300, M_SYS_WAFERID_300) |
205 | 205 | ||
206 | #define S_SYS_XPOS _SB_MAKE64(40) | 206 | #define S_SYS_XPOS _SB_MAKE64(40) |
207 | #define M_SYS_XPOS _SB_MAKEMASK(6,S_SYS_XPOS) | 207 | #define M_SYS_XPOS _SB_MAKEMASK(6, S_SYS_XPOS) |
208 | #define V_SYS_XPOS(x) _SB_MAKEVALUE(x,S_SYS_XPOS) | 208 | #define V_SYS_XPOS(x) _SB_MAKEVALUE(x, S_SYS_XPOS) |
209 | #define G_SYS_XPOS(x) _SB_GETVALUE(x,S_SYS_XPOS,M_SYS_XPOS) | 209 | #define G_SYS_XPOS(x) _SB_GETVALUE(x, S_SYS_XPOS, M_SYS_XPOS) |
210 | 210 | ||
211 | #define S_SYS_YPOS _SB_MAKE64(46) | 211 | #define S_SYS_YPOS _SB_MAKE64(46) |
212 | #define M_SYS_YPOS _SB_MAKEMASK(6,S_SYS_YPOS) | 212 | #define M_SYS_YPOS _SB_MAKEMASK(6, S_SYS_YPOS) |
213 | #define V_SYS_YPOS(x) _SB_MAKEVALUE(x,S_SYS_YPOS) | 213 | #define V_SYS_YPOS(x) _SB_MAKEVALUE(x, S_SYS_YPOS) |
214 | #define G_SYS_YPOS(x) _SB_GETVALUE(x,S_SYS_YPOS,M_SYS_YPOS) | 214 | #define G_SYS_YPOS(x) _SB_GETVALUE(x, S_SYS_YPOS, M_SYS_YPOS) |
215 | #endif | 215 | #endif |
216 | 216 | ||
217 | 217 | ||
@@ -227,9 +227,9 @@ | |||
227 | #define M_SYS_IOB1_DIV _SB_MAKEMASK1(6) | 227 | #define M_SYS_IOB1_DIV _SB_MAKEMASK1(6) |
228 | 228 | ||
229 | #define S_SYS_PLL_DIV _SB_MAKE64(7) | 229 | #define S_SYS_PLL_DIV _SB_MAKE64(7) |
230 | #define M_SYS_PLL_DIV _SB_MAKEMASK(5,S_SYS_PLL_DIV) | 230 | #define M_SYS_PLL_DIV _SB_MAKEMASK(5, S_SYS_PLL_DIV) |
231 | #define V_SYS_PLL_DIV(x) _SB_MAKEVALUE(x,S_SYS_PLL_DIV) | 231 | #define V_SYS_PLL_DIV(x) _SB_MAKEVALUE(x, S_SYS_PLL_DIV) |
232 | #define G_SYS_PLL_DIV(x) _SB_GETVALUE(x,S_SYS_PLL_DIV,M_SYS_PLL_DIV) | 232 | #define G_SYS_PLL_DIV(x) _SB_GETVALUE(x, S_SYS_PLL_DIV, M_SYS_PLL_DIV) |
233 | 233 | ||
234 | #define M_SYS_SER0_ENABLE _SB_MAKEMASK1(12) | 234 | #define M_SYS_SER0_ENABLE _SB_MAKEMASK1(12) |
235 | #define M_SYS_SER0_RSTB_EN _SB_MAKEMASK1(13) | 235 | #define M_SYS_SER0_RSTB_EN _SB_MAKEMASK1(13) |
@@ -238,9 +238,9 @@ | |||
238 | #define M_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) | 238 | #define M_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) |
239 | 239 | ||
240 | #define S_SYS_BOOT_MODE _SB_MAKE64(17) | 240 | #define S_SYS_BOOT_MODE _SB_MAKE64(17) |
241 | #define M_SYS_BOOT_MODE _SB_MAKEMASK(2,S_SYS_BOOT_MODE) | 241 | #define M_SYS_BOOT_MODE _SB_MAKEMASK(2, S_SYS_BOOT_MODE) |
242 | #define V_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x,S_SYS_BOOT_MODE) | 242 | #define V_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x, S_SYS_BOOT_MODE) |
243 | #define G_SYS_BOOT_MODE(x) _SB_GETVALUE(x,S_SYS_BOOT_MODE,M_SYS_BOOT_MODE) | 243 | #define G_SYS_BOOT_MODE(x) _SB_GETVALUE(x, S_SYS_BOOT_MODE, M_SYS_BOOT_MODE) |
244 | #define K_SYS_BOOT_MODE_ROM32 0 | 244 | #define K_SYS_BOOT_MODE_ROM32 0 |
245 | #define K_SYS_BOOT_MODE_ROM8 1 | 245 | #define K_SYS_BOOT_MODE_ROM8 1 |
246 | #define K_SYS_BOOT_MODE_SMBUS_SMALL 2 | 246 | #define K_SYS_BOOT_MODE_SMBUS_SMALL 2 |
@@ -255,9 +255,9 @@ | |||
255 | #define M_SYS_GEN_PARITY_EN _SB_MAKEMASK1(25) | 255 | #define M_SYS_GEN_PARITY_EN _SB_MAKEMASK1(25) |
256 | 256 | ||
257 | #define S_SYS_CONFIG 26 | 257 | #define S_SYS_CONFIG 26 |
258 | #define M_SYS_CONFIG _SB_MAKEMASK(6,S_SYS_CONFIG) | 258 | #define M_SYS_CONFIG _SB_MAKEMASK(6, S_SYS_CONFIG) |
259 | #define V_SYS_CONFIG(x) _SB_MAKEVALUE(x,S_SYS_CONFIG) | 259 | #define V_SYS_CONFIG(x) _SB_MAKEVALUE(x, S_SYS_CONFIG) |
260 | #define G_SYS_CONFIG(x) _SB_GETVALUE(x,S_SYS_CONFIG,M_SYS_CONFIG) | 260 | #define G_SYS_CONFIG(x) _SB_GETVALUE(x, S_SYS_CONFIG, M_SYS_CONFIG) |
261 | 261 | ||
262 | /* The following bits are writeable by JTAG only. */ | 262 | /* The following bits are writeable by JTAG only. */ |
263 | 263 | ||
@@ -265,20 +265,20 @@ | |||
265 | #define M_SYS_CLKSTEP _SB_MAKEMASK1(33) | 265 | #define M_SYS_CLKSTEP _SB_MAKEMASK1(33) |
266 | 266 | ||
267 | #define S_SYS_CLKCOUNT 34 | 267 | #define S_SYS_CLKCOUNT 34 |
268 | #define M_SYS_CLKCOUNT _SB_MAKEMASK(8,S_SYS_CLKCOUNT) | 268 | #define M_SYS_CLKCOUNT _SB_MAKEMASK(8, S_SYS_CLKCOUNT) |
269 | #define V_SYS_CLKCOUNT(x) _SB_MAKEVALUE(x,S_SYS_CLKCOUNT) | 269 | #define V_SYS_CLKCOUNT(x) _SB_MAKEVALUE(x, S_SYS_CLKCOUNT) |
270 | #define G_SYS_CLKCOUNT(x) _SB_GETVALUE(x,S_SYS_CLKCOUNT,M_SYS_CLKCOUNT) | 270 | #define G_SYS_CLKCOUNT(x) _SB_GETVALUE(x, S_SYS_CLKCOUNT, M_SYS_CLKCOUNT) |
271 | 271 | ||
272 | #define M_SYS_PLL_BYPASS _SB_MAKEMASK1(42) | 272 | #define M_SYS_PLL_BYPASS _SB_MAKEMASK1(42) |
273 | 273 | ||
274 | #define S_SYS_PLL_IREF 43 | 274 | #define S_SYS_PLL_IREF 43 |
275 | #define M_SYS_PLL_IREF _SB_MAKEMASK(2,S_SYS_PLL_IREF) | 275 | #define M_SYS_PLL_IREF _SB_MAKEMASK(2, S_SYS_PLL_IREF) |
276 | 276 | ||
277 | #define S_SYS_PLL_VCO 45 | 277 | #define S_SYS_PLL_VCO 45 |
278 | #define M_SYS_PLL_VCO _SB_MAKEMASK(2,S_SYS_PLL_VCO) | 278 | #define M_SYS_PLL_VCO _SB_MAKEMASK(2, S_SYS_PLL_VCO) |
279 | 279 | ||
280 | #define S_SYS_PLL_VREG 47 | 280 | #define S_SYS_PLL_VREG 47 |
281 | #define M_SYS_PLL_VREG _SB_MAKEMASK(2,S_SYS_PLL_VREG) | 281 | #define M_SYS_PLL_VREG _SB_MAKEMASK(2, S_SYS_PLL_VREG) |
282 | 282 | ||
283 | #define M_SYS_MEM_RESET _SB_MAKEMASK1(49) | 283 | #define M_SYS_MEM_RESET _SB_MAKEMASK1(49) |
284 | #define M_SYS_L2C_RESET _SB_MAKEMASK1(50) | 284 | #define M_SYS_L2C_RESET _SB_MAKEMASK1(50) |
@@ -314,13 +314,13 @@ | |||
314 | */ | 314 | */ |
315 | 315 | ||
316 | #define S_MBOX_INT_3 0 | 316 | #define S_MBOX_INT_3 0 |
317 | #define M_MBOX_INT_3 _SB_MAKEMASK(16,S_MBOX_INT_3) | 317 | #define M_MBOX_INT_3 _SB_MAKEMASK(16, S_MBOX_INT_3) |
318 | #define S_MBOX_INT_2 16 | 318 | #define S_MBOX_INT_2 16 |
319 | #define M_MBOX_INT_2 _SB_MAKEMASK(16,S_MBOX_INT_2) | 319 | #define M_MBOX_INT_2 _SB_MAKEMASK(16, S_MBOX_INT_2) |
320 | #define S_MBOX_INT_1 32 | 320 | #define S_MBOX_INT_1 32 |
321 | #define M_MBOX_INT_1 _SB_MAKEMASK(16,S_MBOX_INT_1) | 321 | #define M_MBOX_INT_1 _SB_MAKEMASK(16, S_MBOX_INT_1) |
322 | #define S_MBOX_INT_0 48 | 322 | #define S_MBOX_INT_0 48 |
323 | #define M_MBOX_INT_0 _SB_MAKEMASK(16,S_MBOX_INT_0) | 323 | #define M_MBOX_INT_0 _SB_MAKEMASK(16, S_MBOX_INT_0) |
324 | 324 | ||
325 | /* | 325 | /* |
326 | * Watchdog Registers (Table 4-8) (Table 4-9) (Table 4-10) | 326 | * Watchdog Registers (Table 4-8) (Table 4-9) (Table 4-10) |
@@ -330,18 +330,18 @@ | |||
330 | #define V_SCD_WDOG_FREQ 1000000 | 330 | #define V_SCD_WDOG_FREQ 1000000 |
331 | 331 | ||
332 | #define S_SCD_WDOG_INIT 0 | 332 | #define S_SCD_WDOG_INIT 0 |
333 | #define M_SCD_WDOG_INIT _SB_MAKEMASK(23,S_SCD_WDOG_INIT) | 333 | #define M_SCD_WDOG_INIT _SB_MAKEMASK(23, S_SCD_WDOG_INIT) |
334 | 334 | ||
335 | #define S_SCD_WDOG_CNT 0 | 335 | #define S_SCD_WDOG_CNT 0 |
336 | #define M_SCD_WDOG_CNT _SB_MAKEMASK(23,S_SCD_WDOG_CNT) | 336 | #define M_SCD_WDOG_CNT _SB_MAKEMASK(23, S_SCD_WDOG_CNT) |
337 | 337 | ||
338 | #define S_SCD_WDOG_ENABLE 0 | 338 | #define S_SCD_WDOG_ENABLE 0 |
339 | #define M_SCD_WDOG_ENABLE _SB_MAKEMASK1(S_SCD_WDOG_ENABLE) | 339 | #define M_SCD_WDOG_ENABLE _SB_MAKEMASK1(S_SCD_WDOG_ENABLE) |
340 | 340 | ||
341 | #define S_SCD_WDOG_RESET_TYPE 2 | 341 | #define S_SCD_WDOG_RESET_TYPE 2 |
342 | #define M_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(3,S_SCD_WDOG_RESET_TYPE) | 342 | #define M_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(3, S_SCD_WDOG_RESET_TYPE) |
343 | #define V_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x,S_SCD_WDOG_RESET_TYPE) | 343 | #define V_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x, S_SCD_WDOG_RESET_TYPE) |
344 | #define G_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x,S_SCD_WDOG_RESET_TYPE,M_SCD_WDOG_RESET_TYPE) | 344 | #define G_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x, S_SCD_WDOG_RESET_TYPE, M_SCD_WDOG_RESET_TYPE) |
345 | 345 | ||
346 | #define K_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ | 346 | #define K_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ |
347 | #define K_SCD_WDOG_RESET_SOFT 1 | 347 | #define K_SCD_WDOG_RESET_SOFT 1 |
@@ -363,15 +363,15 @@ | |||
363 | #define V_SCD_TIMER_FREQ 1000000 | 363 | #define V_SCD_TIMER_FREQ 1000000 |
364 | 364 | ||
365 | #define S_SCD_TIMER_INIT 0 | 365 | #define S_SCD_TIMER_INIT 0 |
366 | #define M_SCD_TIMER_INIT _SB_MAKEMASK(23,S_SCD_TIMER_INIT) | 366 | #define M_SCD_TIMER_INIT _SB_MAKEMASK(23, S_SCD_TIMER_INIT) |
367 | #define V_SCD_TIMER_INIT(x) _SB_MAKEVALUE(x,S_SCD_TIMER_INIT) | 367 | #define V_SCD_TIMER_INIT(x) _SB_MAKEVALUE(x, S_SCD_TIMER_INIT) |
368 | #define G_SCD_TIMER_INIT(x) _SB_GETVALUE(x,S_SCD_TIMER_INIT,M_SCD_TIMER_INIT) | 368 | #define G_SCD_TIMER_INIT(x) _SB_GETVALUE(x, S_SCD_TIMER_INIT, M_SCD_TIMER_INIT) |
369 | 369 | ||
370 | #define V_SCD_TIMER_WIDTH 23 | 370 | #define V_SCD_TIMER_WIDTH 23 |
371 | #define S_SCD_TIMER_CNT 0 | 371 | #define S_SCD_TIMER_CNT 0 |
372 | #define M_SCD_TIMER_CNT _SB_MAKEMASK(V_SCD_TIMER_WIDTH,S_SCD_TIMER_CNT) | 372 | #define M_SCD_TIMER_CNT _SB_MAKEMASK(V_SCD_TIMER_WIDTH, S_SCD_TIMER_CNT) |
373 | #define V_SCD_TIMER_CNT(x) _SB_MAKEVALUE(x,S_SCD_TIMER_CNT) | 373 | #define V_SCD_TIMER_CNT(x) _SB_MAKEVALUE(x, S_SCD_TIMER_CNT) |
374 | #define G_SCD_TIMER_CNT(x) _SB_GETVALUE(x,S_SCD_TIMER_CNT,M_SCD_TIMER_CNT) | 374 | #define G_SCD_TIMER_CNT(x) _SB_GETVALUE(x, S_SCD_TIMER_CNT, M_SCD_TIMER_CNT) |
375 | 375 | ||
376 | #define M_SCD_TIMER_ENABLE _SB_MAKEMASK1(0) | 376 | #define M_SCD_TIMER_ENABLE _SB_MAKEMASK1(0) |
377 | #define M_SCD_TIMER_MODE _SB_MAKEMASK1(1) | 377 | #define M_SCD_TIMER_MODE _SB_MAKEMASK1(1) |
@@ -382,24 +382,24 @@ | |||
382 | */ | 382 | */ |
383 | 383 | ||
384 | #define S_SPC_CFG_SRC0 0 | 384 | #define S_SPC_CFG_SRC0 0 |
385 | #define M_SPC_CFG_SRC0 _SB_MAKEMASK(8,S_SPC_CFG_SRC0) | 385 | #define M_SPC_CFG_SRC0 _SB_MAKEMASK(8, S_SPC_CFG_SRC0) |
386 | #define V_SPC_CFG_SRC0(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC0) | 386 | #define V_SPC_CFG_SRC0(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC0) |
387 | #define G_SPC_CFG_SRC0(x) _SB_GETVALUE(x,S_SPC_CFG_SRC0,M_SPC_CFG_SRC0) | 387 | #define G_SPC_CFG_SRC0(x) _SB_GETVALUE(x, S_SPC_CFG_SRC0, M_SPC_CFG_SRC0) |
388 | 388 | ||
389 | #define S_SPC_CFG_SRC1 8 | 389 | #define S_SPC_CFG_SRC1 8 |
390 | #define M_SPC_CFG_SRC1 _SB_MAKEMASK(8,S_SPC_CFG_SRC1) | 390 | #define M_SPC_CFG_SRC1 _SB_MAKEMASK(8, S_SPC_CFG_SRC1) |
391 | #define V_SPC_CFG_SRC1(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC1) | 391 | #define V_SPC_CFG_SRC1(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC1) |
392 | #define G_SPC_CFG_SRC1(x) _SB_GETVALUE(x,S_SPC_CFG_SRC1,M_SPC_CFG_SRC1) | 392 | #define G_SPC_CFG_SRC1(x) _SB_GETVALUE(x, S_SPC_CFG_SRC1, M_SPC_CFG_SRC1) |
393 | 393 | ||
394 | #define S_SPC_CFG_SRC2 16 | 394 | #define S_SPC_CFG_SRC2 16 |
395 | #define M_SPC_CFG_SRC2 _SB_MAKEMASK(8,S_SPC_CFG_SRC2) | 395 | #define M_SPC_CFG_SRC2 _SB_MAKEMASK(8, S_SPC_CFG_SRC2) |
396 | #define V_SPC_CFG_SRC2(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC2) | 396 | #define V_SPC_CFG_SRC2(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC2) |
397 | #define G_SPC_CFG_SRC2(x) _SB_GETVALUE(x,S_SPC_CFG_SRC2,M_SPC_CFG_SRC2) | 397 | #define G_SPC_CFG_SRC2(x) _SB_GETVALUE(x, S_SPC_CFG_SRC2, M_SPC_CFG_SRC2) |
398 | 398 | ||
399 | #define S_SPC_CFG_SRC3 24 | 399 | #define S_SPC_CFG_SRC3 24 |
400 | #define M_SPC_CFG_SRC3 _SB_MAKEMASK(8,S_SPC_CFG_SRC3) | 400 | #define M_SPC_CFG_SRC3 _SB_MAKEMASK(8, S_SPC_CFG_SRC3) |
401 | #define V_SPC_CFG_SRC3(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC3) | 401 | #define V_SPC_CFG_SRC3(x) _SB_MAKEVALUE(x, S_SPC_CFG_SRC3) |
402 | #define G_SPC_CFG_SRC3(x) _SB_GETVALUE(x,S_SPC_CFG_SRC3,M_SPC_CFG_SRC3) | 402 | #define G_SPC_CFG_SRC3(x) _SB_GETVALUE(x, S_SPC_CFG_SRC3, M_SPC_CFG_SRC3) |
403 | 403 | ||
404 | #if SIBYTE_HDR_FEATURE_1250_112x | 404 | #if SIBYTE_HDR_FEATURE_1250_112x |
405 | #define M_SPC_CFG_CLEAR _SB_MAKEMASK1(32) | 405 | #define M_SPC_CFG_CLEAR _SB_MAKEMASK1(32) |
@@ -412,57 +412,57 @@ | |||
412 | */ | 412 | */ |
413 | 413 | ||
414 | #define S_SCD_BERR_TID 8 | 414 | #define S_SCD_BERR_TID 8 |
415 | #define M_SCD_BERR_TID _SB_MAKEMASK(10,S_SCD_BERR_TID) | 415 | #define M_SCD_BERR_TID _SB_MAKEMASK(10, S_SCD_BERR_TID) |
416 | #define V_SCD_BERR_TID(x) _SB_MAKEVALUE(x,S_SCD_BERR_TID) | 416 | #define V_SCD_BERR_TID(x) _SB_MAKEVALUE(x, S_SCD_BERR_TID) |
417 | #define G_SCD_BERR_TID(x) _SB_GETVALUE(x,S_SCD_BERR_TID,M_SCD_BERR_TID) | 417 | #define G_SCD_BERR_TID(x) _SB_GETVALUE(x, S_SCD_BERR_TID, M_SCD_BERR_TID) |
418 | 418 | ||
419 | #define S_SCD_BERR_RID 18 | 419 | #define S_SCD_BERR_RID 18 |
420 | #define M_SCD_BERR_RID _SB_MAKEMASK(4,S_SCD_BERR_RID) | 420 | #define M_SCD_BERR_RID _SB_MAKEMASK(4, S_SCD_BERR_RID) |
421 | #define V_SCD_BERR_RID(x) _SB_MAKEVALUE(x,S_SCD_BERR_RID) | 421 | #define V_SCD_BERR_RID(x) _SB_MAKEVALUE(x, S_SCD_BERR_RID) |
422 | #define G_SCD_BERR_RID(x) _SB_GETVALUE(x,S_SCD_BERR_RID,M_SCD_BERR_RID) | 422 | #define G_SCD_BERR_RID(x) _SB_GETVALUE(x, S_SCD_BERR_RID, M_SCD_BERR_RID) |
423 | 423 | ||
424 | #define S_SCD_BERR_DCODE 22 | 424 | #define S_SCD_BERR_DCODE 22 |
425 | #define M_SCD_BERR_DCODE _SB_MAKEMASK(3,S_SCD_BERR_DCODE) | 425 | #define M_SCD_BERR_DCODE _SB_MAKEMASK(3, S_SCD_BERR_DCODE) |
426 | #define V_SCD_BERR_DCODE(x) _SB_MAKEVALUE(x,S_SCD_BERR_DCODE) | 426 | #define V_SCD_BERR_DCODE(x) _SB_MAKEVALUE(x, S_SCD_BERR_DCODE) |
427 | #define G_SCD_BERR_DCODE(x) _SB_GETVALUE(x,S_SCD_BERR_DCODE,M_SCD_BERR_DCODE) | 427 | #define G_SCD_BERR_DCODE(x) _SB_GETVALUE(x, S_SCD_BERR_DCODE, M_SCD_BERR_DCODE) |
428 | 428 | ||
429 | #define M_SCD_BERR_MULTERRS _SB_MAKEMASK1(30) | 429 | #define M_SCD_BERR_MULTERRS _SB_MAKEMASK1(30) |
430 | 430 | ||
431 | 431 | ||
432 | #define S_SCD_L2ECC_CORR_D 0 | 432 | #define S_SCD_L2ECC_CORR_D 0 |
433 | #define M_SCD_L2ECC_CORR_D _SB_MAKEMASK(8,S_SCD_L2ECC_CORR_D) | 433 | #define M_SCD_L2ECC_CORR_D _SB_MAKEMASK(8, S_SCD_L2ECC_CORR_D) |
434 | #define V_SCD_L2ECC_CORR_D(x) _SB_MAKEVALUE(x,S_SCD_L2ECC_CORR_D) | 434 | #define V_SCD_L2ECC_CORR_D(x) _SB_MAKEVALUE(x, S_SCD_L2ECC_CORR_D) |
435 | #define G_SCD_L2ECC_CORR_D(x) _SB_GETVALUE(x,S_SCD_L2ECC_CORR_D,M_SCD_L2ECC_CORR_D) | 435 | #define G_SCD_L2ECC_CORR_D(x) _SB_GETVALUE(x, S_SCD_L2ECC_CORR_D, M_SCD_L2ECC_CORR_D) |
436 | 436 | ||
437 | #define S_SCD_L2ECC_BAD_D 8 | 437 | #define S_SCD_L2ECC_BAD_D 8 |
438 | #define M_SCD_L2ECC_BAD_D _SB_MAKEMASK(8,S_SCD_L2ECC_BAD_D) | 438 | #define M_SCD_L2ECC_BAD_D _SB_MAKEMASK(8, S_SCD_L2ECC_BAD_D) |
439 | #define V_SCD_L2ECC_BAD_D(x) _SB_MAKEVALUE(x,S_SCD_L2ECC_BAD_D) | 439 | #define V_SCD_L2ECC_BAD_D(x) _SB_MAKEVALUE(x, S_SCD_L2ECC_BAD_D) |
440 | #define G_SCD_L2ECC_BAD_D(x) _SB_GETVALUE(x,S_SCD_L2ECC_BAD_D,M_SCD_L2ECC_BAD_D) | 440 | #define G_SCD_L2ECC_BAD_D(x) _SB_GETVALUE(x, S_SCD_L2ECC_BAD_D, M_SCD_L2ECC_BAD_D) |
441 | 441 | ||
442 | #define S_SCD_L2ECC_CORR_T 16 | 442 | #define S_SCD_L2ECC_CORR_T 16 |
443 | #define M_SCD_L2ECC_CORR_T _SB_MAKEMASK(8,S_SCD_L2ECC_CORR_T) | 443 | #define M_SCD_L2ECC_CORR_T _SB_MAKEMASK(8, S_SCD_L2ECC_CORR_T) |
444 | #define V_SCD_L2ECC_CORR_T(x) _SB_MAKEVALUE(x,S_SCD_L2ECC_CORR_T) | 444 | #define V_SCD_L2ECC_CORR_T(x) _SB_MAKEVALUE(x, S_SCD_L2ECC_CORR_T) |
445 | #define G_SCD_L2ECC_CORR_T(x) _SB_GETVALUE(x,S_SCD_L2ECC_CORR_T,M_SCD_L2ECC_CORR_T) | 445 | #define G_SCD_L2ECC_CORR_T(x) _SB_GETVALUE(x, S_SCD_L2ECC_CORR_T, M_SCD_L2ECC_CORR_T) |
446 | 446 | ||
447 | #define S_SCD_L2ECC_BAD_T 24 | 447 | #define S_SCD_L2ECC_BAD_T 24 |
448 | #define M_SCD_L2ECC_BAD_T _SB_MAKEMASK(8,S_SCD_L2ECC_BAD_T) | 448 | #define M_SCD_L2ECC_BAD_T _SB_MAKEMASK(8, S_SCD_L2ECC_BAD_T) |
449 | #define V_SCD_L2ECC_BAD_T(x) _SB_MAKEVALUE(x,S_SCD_L2ECC_BAD_T) | 449 | #define V_SCD_L2ECC_BAD_T(x) _SB_MAKEVALUE(x, S_SCD_L2ECC_BAD_T) |
450 | #define G_SCD_L2ECC_BAD_T(x) _SB_GETVALUE(x,S_SCD_L2ECC_BAD_T,M_SCD_L2ECC_BAD_T) | 450 | #define G_SCD_L2ECC_BAD_T(x) _SB_GETVALUE(x, S_SCD_L2ECC_BAD_T, M_SCD_L2ECC_BAD_T) |
451 | 451 | ||
452 | #define S_SCD_MEM_ECC_CORR 0 | 452 | #define S_SCD_MEM_ECC_CORR 0 |
453 | #define M_SCD_MEM_ECC_CORR _SB_MAKEMASK(8,S_SCD_MEM_ECC_CORR) | 453 | #define M_SCD_MEM_ECC_CORR _SB_MAKEMASK(8, S_SCD_MEM_ECC_CORR) |
454 | #define V_SCD_MEM_ECC_CORR(x) _SB_MAKEVALUE(x,S_SCD_MEM_ECC_CORR) | 454 | #define V_SCD_MEM_ECC_CORR(x) _SB_MAKEVALUE(x, S_SCD_MEM_ECC_CORR) |
455 | #define G_SCD_MEM_ECC_CORR(x) _SB_GETVALUE(x,S_SCD_MEM_ECC_CORR,M_SCD_MEM_ECC_CORR) | 455 | #define G_SCD_MEM_ECC_CORR(x) _SB_GETVALUE(x, S_SCD_MEM_ECC_CORR, M_SCD_MEM_ECC_CORR) |
456 | 456 | ||
457 | #define S_SCD_MEM_ECC_BAD 8 | 457 | #define S_SCD_MEM_ECC_BAD 8 |
458 | #define M_SCD_MEM_ECC_BAD _SB_MAKEMASK(8,S_SCD_MEM_ECC_BAD) | 458 | #define M_SCD_MEM_ECC_BAD _SB_MAKEMASK(8, S_SCD_MEM_ECC_BAD) |
459 | #define V_SCD_MEM_ECC_BAD(x) _SB_MAKEVALUE(x,S_SCD_MEM_ECC_BAD) | 459 | #define V_SCD_MEM_ECC_BAD(x) _SB_MAKEVALUE(x, S_SCD_MEM_ECC_BAD) |
460 | #define G_SCD_MEM_ECC_BAD(x) _SB_GETVALUE(x,S_SCD_MEM_ECC_BAD,M_SCD_MEM_ECC_BAD) | 460 | #define G_SCD_MEM_ECC_BAD(x) _SB_GETVALUE(x, S_SCD_MEM_ECC_BAD, M_SCD_MEM_ECC_BAD) |
461 | 461 | ||
462 | #define S_SCD_MEM_BUSERR 16 | 462 | #define S_SCD_MEM_BUSERR 16 |
463 | #define M_SCD_MEM_BUSERR _SB_MAKEMASK(8,S_SCD_MEM_BUSERR) | 463 | #define M_SCD_MEM_BUSERR _SB_MAKEMASK(8, S_SCD_MEM_BUSERR) |
464 | #define V_SCD_MEM_BUSERR(x) _SB_MAKEVALUE(x,S_SCD_MEM_BUSERR) | 464 | #define V_SCD_MEM_BUSERR(x) _SB_MAKEVALUE(x, S_SCD_MEM_BUSERR) |
465 | #define G_SCD_MEM_BUSERR(x) _SB_GETVALUE(x,S_SCD_MEM_BUSERR,M_SCD_MEM_BUSERR) | 465 | #define G_SCD_MEM_BUSERR(x) _SB_GETVALUE(x, S_SCD_MEM_BUSERR, M_SCD_MEM_BUSERR) |
466 | 466 | ||
467 | 467 | ||
468 | /* | 468 | /* |
@@ -470,13 +470,13 @@ | |||
470 | */ | 470 | */ |
471 | 471 | ||
472 | #if SIBYTE_HDR_FEATURE_1250_112x | 472 | #if SIBYTE_HDR_FEATURE_1250_112x |
473 | #define M_ATRAP_INDEX _SB_MAKEMASK(4,0) | 473 | #define M_ATRAP_INDEX _SB_MAKEMASK(4, 0) |
474 | #define M_ATRAP_ADDRESS _SB_MAKEMASK(40,0) | 474 | #define M_ATRAP_ADDRESS _SB_MAKEMASK(40, 0) |
475 | 475 | ||
476 | #define S_ATRAP_CFG_CNT 0 | 476 | #define S_ATRAP_CFG_CNT 0 |
477 | #define M_ATRAP_CFG_CNT _SB_MAKEMASK(3,S_ATRAP_CFG_CNT) | 477 | #define M_ATRAP_CFG_CNT _SB_MAKEMASK(3, S_ATRAP_CFG_CNT) |
478 | #define V_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x,S_ATRAP_CFG_CNT) | 478 | #define V_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x, S_ATRAP_CFG_CNT) |
479 | #define G_ATRAP_CFG_CNT(x) _SB_GETVALUE(x,S_ATRAP_CFG_CNT,M_ATRAP_CFG_CNT) | 479 | #define G_ATRAP_CFG_CNT(x) _SB_GETVALUE(x, S_ATRAP_CFG_CNT, M_ATRAP_CFG_CNT) |
480 | 480 | ||
481 | #define M_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) | 481 | #define M_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) |
482 | #define M_ATRAP_CFG_ALL _SB_MAKEMASK1(4) | 482 | #define M_ATRAP_CFG_ALL _SB_MAKEMASK1(4) |
@@ -485,9 +485,9 @@ | |||
485 | #define M_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) | 485 | #define M_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) |
486 | 486 | ||
487 | #define S_ATRAP_CFG_AGENTID 8 | 487 | #define S_ATRAP_CFG_AGENTID 8 |
488 | #define M_ATRAP_CFG_AGENTID _SB_MAKEMASK(4,S_ATRAP_CFG_AGENTID) | 488 | #define M_ATRAP_CFG_AGENTID _SB_MAKEMASK(4, S_ATRAP_CFG_AGENTID) |
489 | #define V_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x,S_ATRAP_CFG_AGENTID) | 489 | #define V_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x, S_ATRAP_CFG_AGENTID) |
490 | #define G_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x,S_ATRAP_CFG_AGENTID,M_ATRAP_CFG_AGENTID) | 490 | #define G_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x, S_ATRAP_CFG_AGENTID, M_ATRAP_CFG_AGENTID) |
491 | 491 | ||
492 | #define K_BUS_AGENT_CPU0 0 | 492 | #define K_BUS_AGENT_CPU0 0 |
493 | #define K_BUS_AGENT_CPU1 1 | 493 | #define K_BUS_AGENT_CPU1 1 |
@@ -498,9 +498,9 @@ | |||
498 | #define K_BUS_AGENT_MC 7 | 498 | #define K_BUS_AGENT_MC 7 |
499 | 499 | ||
500 | #define S_ATRAP_CFG_CATTR 12 | 500 | #define S_ATRAP_CFG_CATTR 12 |
501 | #define M_ATRAP_CFG_CATTR _SB_MAKEMASK(3,S_ATRAP_CFG_CATTR) | 501 | #define M_ATRAP_CFG_CATTR _SB_MAKEMASK(3, S_ATRAP_CFG_CATTR) |
502 | #define V_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x,S_ATRAP_CFG_CATTR) | 502 | #define V_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x, S_ATRAP_CFG_CATTR) |
503 | #define G_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x,S_ATRAP_CFG_CATTR,M_ATRAP_CFG_CATTR) | 503 | #define G_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x, S_ATRAP_CFG_CATTR, M_ATRAP_CFG_CATTR) |
504 | 504 | ||
505 | #define K_ATRAP_CFG_CATTR_IGNORE 0 | 505 | #define K_ATRAP_CFG_CATTR_IGNORE 0 |
506 | #define K_ATRAP_CFG_CATTR_UNC 1 | 506 | #define K_ATRAP_CFG_CATTR_UNC 1 |
@@ -541,18 +541,18 @@ | |||
541 | #endif /* 1480 */ | 541 | #endif /* 1480 */ |
542 | #endif /* 1250/112x */ | 542 | #endif /* 1250/112x */ |
543 | 543 | ||
544 | #define M_SCD_TRACE_CFG_CUR_ADDR _SB_MAKEMASK(8,S_SCD_TRACE_CFG_CUR_ADDR) | 544 | #define M_SCD_TRACE_CFG_CUR_ADDR _SB_MAKEMASK(8, S_SCD_TRACE_CFG_CUR_ADDR) |
545 | #define V_SCD_TRACE_CFG_CUR_ADDR(x) _SB_MAKEVALUE(x,S_SCD_TRACE_CFG_CUR_ADDR) | 545 | #define V_SCD_TRACE_CFG_CUR_ADDR(x) _SB_MAKEVALUE(x, S_SCD_TRACE_CFG_CUR_ADDR) |
546 | #define G_SCD_TRACE_CFG_CUR_ADDR(x) _SB_GETVALUE(x,S_SCD_TRACE_CFG_CUR_ADDR,M_SCD_TRACE_CFG_CUR_ADDR) | 546 | #define G_SCD_TRACE_CFG_CUR_ADDR(x) _SB_GETVALUE(x, S_SCD_TRACE_CFG_CUR_ADDR, M_SCD_TRACE_CFG_CUR_ADDR) |
547 | 547 | ||
548 | /* | 548 | /* |
549 | * Trace Event registers | 549 | * Trace Event registers |
550 | */ | 550 | */ |
551 | 551 | ||
552 | #define S_SCD_TREVT_ADDR_MATCH 0 | 552 | #define S_SCD_TREVT_ADDR_MATCH 0 |
553 | #define M_SCD_TREVT_ADDR_MATCH _SB_MAKEMASK(4,S_SCD_TREVT_ADDR_MATCH) | 553 | #define M_SCD_TREVT_ADDR_MATCH _SB_MAKEMASK(4, S_SCD_TREVT_ADDR_MATCH) |
554 | #define V_SCD_TREVT_ADDR_MATCH(x) _SB_MAKEVALUE(x,S_SCD_TREVT_ADDR_MATCH) | 554 | #define V_SCD_TREVT_ADDR_MATCH(x) _SB_MAKEVALUE(x, S_SCD_TREVT_ADDR_MATCH) |
555 | #define G_SCD_TREVT_ADDR_MATCH(x) _SB_GETVALUE(x,S_SCD_TREVT_ADDR_MATCH,M_SCD_TREVT_ADDR_MATCH) | 555 | #define G_SCD_TREVT_ADDR_MATCH(x) _SB_GETVALUE(x, S_SCD_TREVT_ADDR_MATCH, M_SCD_TREVT_ADDR_MATCH) |
556 | 556 | ||
557 | #define M_SCD_TREVT_REQID_MATCH _SB_MAKEMASK1(4) | 557 | #define M_SCD_TREVT_REQID_MATCH _SB_MAKEMASK1(4) |
558 | #define M_SCD_TREVT_DATAID_MATCH _SB_MAKEMASK1(5) | 558 | #define M_SCD_TREVT_DATAID_MATCH _SB_MAKEMASK1(5) |
@@ -563,48 +563,48 @@ | |||
563 | #define M_SCD_TREVT_READ _SB_MAKEMASK1(11) | 563 | #define M_SCD_TREVT_READ _SB_MAKEMASK1(11) |
564 | 564 | ||
565 | #define S_SCD_TREVT_REQID 12 | 565 | #define S_SCD_TREVT_REQID 12 |
566 | #define M_SCD_TREVT_REQID _SB_MAKEMASK(4,S_SCD_TREVT_REQID) | 566 | #define M_SCD_TREVT_REQID _SB_MAKEMASK(4, S_SCD_TREVT_REQID) |
567 | #define V_SCD_TREVT_REQID(x) _SB_MAKEVALUE(x,S_SCD_TREVT_REQID) | 567 | #define V_SCD_TREVT_REQID(x) _SB_MAKEVALUE(x, S_SCD_TREVT_REQID) |
568 | #define G_SCD_TREVT_REQID(x) _SB_GETVALUE(x,S_SCD_TREVT_REQID,M_SCD_TREVT_REQID) | 568 | #define G_SCD_TREVT_REQID(x) _SB_GETVALUE(x, S_SCD_TREVT_REQID, M_SCD_TREVT_REQID) |
569 | 569 | ||
570 | #define S_SCD_TREVT_RESPID 16 | 570 | #define S_SCD_TREVT_RESPID 16 |
571 | #define M_SCD_TREVT_RESPID _SB_MAKEMASK(4,S_SCD_TREVT_RESPID) | 571 | #define M_SCD_TREVT_RESPID _SB_MAKEMASK(4, S_SCD_TREVT_RESPID) |
572 | #define V_SCD_TREVT_RESPID(x) _SB_MAKEVALUE(x,S_SCD_TREVT_RESPID) | 572 | #define V_SCD_TREVT_RESPID(x) _SB_MAKEVALUE(x, S_SCD_TREVT_RESPID) |
573 | #define G_SCD_TREVT_RESPID(x) _SB_GETVALUE(x,S_SCD_TREVT_RESPID,M_SCD_TREVT_RESPID) | 573 | #define G_SCD_TREVT_RESPID(x) _SB_GETVALUE(x, S_SCD_TREVT_RESPID, M_SCD_TREVT_RESPID) |
574 | 574 | ||
575 | #define S_SCD_TREVT_DATAID 20 | 575 | #define S_SCD_TREVT_DATAID 20 |
576 | #define M_SCD_TREVT_DATAID _SB_MAKEMASK(4,S_SCD_TREVT_DATAID) | 576 | #define M_SCD_TREVT_DATAID _SB_MAKEMASK(4, S_SCD_TREVT_DATAID) |
577 | #define V_SCD_TREVT_DATAID(x) _SB_MAKEVALUE(x,S_SCD_TREVT_DATAID) | 577 | #define V_SCD_TREVT_DATAID(x) _SB_MAKEVALUE(x, S_SCD_TREVT_DATAID) |
578 | #define G_SCD_TREVT_DATAID(x) _SB_GETVALUE(x,S_SCD_TREVT_DATAID,M_SCD_TREVT_DATID) | 578 | #define G_SCD_TREVT_DATAID(x) _SB_GETVALUE(x, S_SCD_TREVT_DATAID, M_SCD_TREVT_DATID) |
579 | 579 | ||
580 | #define S_SCD_TREVT_COUNT 24 | 580 | #define S_SCD_TREVT_COUNT 24 |
581 | #define M_SCD_TREVT_COUNT _SB_MAKEMASK(8,S_SCD_TREVT_COUNT) | 581 | #define M_SCD_TREVT_COUNT _SB_MAKEMASK(8, S_SCD_TREVT_COUNT) |
582 | #define V_SCD_TREVT_COUNT(x) _SB_MAKEVALUE(x,S_SCD_TREVT_COUNT) | 582 | #define V_SCD_TREVT_COUNT(x) _SB_MAKEVALUE(x, S_SCD_TREVT_COUNT) |
583 | #define G_SCD_TREVT_COUNT(x) _SB_GETVALUE(x,S_SCD_TREVT_COUNT,M_SCD_TREVT_COUNT) | 583 | #define G_SCD_TREVT_COUNT(x) _SB_GETVALUE(x, S_SCD_TREVT_COUNT, M_SCD_TREVT_COUNT) |
584 | 584 | ||
585 | /* | 585 | /* |
586 | * Trace Sequence registers | 586 | * Trace Sequence registers |
587 | */ | 587 | */ |
588 | 588 | ||
589 | #define S_SCD_TRSEQ_EVENT4 0 | 589 | #define S_SCD_TRSEQ_EVENT4 0 |
590 | #define M_SCD_TRSEQ_EVENT4 _SB_MAKEMASK(4,S_SCD_TRSEQ_EVENT4) | 590 | #define M_SCD_TRSEQ_EVENT4 _SB_MAKEMASK(4, S_SCD_TRSEQ_EVENT4) |
591 | #define V_SCD_TRSEQ_EVENT4(x) _SB_MAKEVALUE(x,S_SCD_TRSEQ_EVENT4) | 591 | #define V_SCD_TRSEQ_EVENT4(x) _SB_MAKEVALUE(x, S_SCD_TRSEQ_EVENT4) |
592 | #define G_SCD_TRSEQ_EVENT4(x) _SB_GETVALUE(x,S_SCD_TRSEQ_EVENT4,M_SCD_TRSEQ_EVENT4) | 592 | #define G_SCD_TRSEQ_EVENT4(x) _SB_GETVALUE(x, S_SCD_TRSEQ_EVENT4, M_SCD_TRSEQ_EVENT4) |
593 | 593 | ||
594 | #define S_SCD_TRSEQ_EVENT3 4 | 594 | #define S_SCD_TRSEQ_EVENT3 4 |
595 | #define M_SCD_TRSEQ_EVENT3 _SB_MAKEMASK(4,S_SCD_TRSEQ_EVENT3) | 595 | #define M_SCD_TRSEQ_EVENT3 _SB_MAKEMASK(4, S_SCD_TRSEQ_EVENT3) |
596 | #define V_SCD_TRSEQ_EVENT3(x) _SB_MAKEVALUE(x,S_SCD_TRSEQ_EVENT3) | 596 | #define V_SCD_TRSEQ_EVENT3(x) _SB_MAKEVALUE(x, S_SCD_TRSEQ_EVENT3) |
597 | #define G_SCD_TRSEQ_EVENT3(x) _SB_GETVALUE(x,S_SCD_TRSEQ_EVENT3,M_SCD_TRSEQ_EVENT3) | 597 | #define G_SCD_TRSEQ_EVENT3(x) _SB_GETVALUE(x, S_SCD_TRSEQ_EVENT3, M_SCD_TRSEQ_EVENT3) |
598 | 598 | ||
599 | #define S_SCD_TRSEQ_EVENT2 8 | 599 | #define S_SCD_TRSEQ_EVENT2 8 |
600 | #define M_SCD_TRSEQ_EVENT2 _SB_MAKEMASK(4,S_SCD_TRSEQ_EVENT2) | 600 | #define M_SCD_TRSEQ_EVENT2 _SB_MAKEMASK(4, S_SCD_TRSEQ_EVENT2) |
601 | #define V_SCD_TRSEQ_EVENT2(x) _SB_MAKEVALUE(x,S_SCD_TRSEQ_EVENT2) | 601 | #define V_SCD_TRSEQ_EVENT2(x) _SB_MAKEVALUE(x, S_SCD_TRSEQ_EVENT2) |
602 | #define G_SCD_TRSEQ_EVENT2(x) _SB_GETVALUE(x,S_SCD_TRSEQ_EVENT2,M_SCD_TRSEQ_EVENT2) | 602 | #define G_SCD_TRSEQ_EVENT2(x) _SB_GETVALUE(x, S_SCD_TRSEQ_EVENT2, M_SCD_TRSEQ_EVENT2) |
603 | 603 | ||
604 | #define S_SCD_TRSEQ_EVENT1 12 | 604 | #define S_SCD_TRSEQ_EVENT1 12 |
605 | #define M_SCD_TRSEQ_EVENT1 _SB_MAKEMASK(4,S_SCD_TRSEQ_EVENT1) | 605 | #define M_SCD_TRSEQ_EVENT1 _SB_MAKEMASK(4, S_SCD_TRSEQ_EVENT1) |
606 | #define V_SCD_TRSEQ_EVENT1(x) _SB_MAKEVALUE(x,S_SCD_TRSEQ_EVENT1) | 606 | #define V_SCD_TRSEQ_EVENT1(x) _SB_MAKEVALUE(x, S_SCD_TRSEQ_EVENT1) |
607 | #define G_SCD_TRSEQ_EVENT1(x) _SB_GETVALUE(x,S_SCD_TRSEQ_EVENT1,M_SCD_TRSEQ_EVENT1) | 607 | #define G_SCD_TRSEQ_EVENT1(x) _SB_GETVALUE(x, S_SCD_TRSEQ_EVENT1, M_SCD_TRSEQ_EVENT1) |
608 | 608 | ||
609 | #define K_SCD_TRSEQ_E0 0 | 609 | #define K_SCD_TRSEQ_E0 0 |
610 | #define K_SCD_TRSEQ_E1 1 | 610 | #define K_SCD_TRSEQ_E1 1 |
@@ -629,9 +629,9 @@ | |||
629 | V_SCD_TRSEQ_EVENT4(K_SCD_TRSEQ_IGNORED)) | 629 | V_SCD_TRSEQ_EVENT4(K_SCD_TRSEQ_IGNORED)) |
630 | 630 | ||
631 | #define S_SCD_TRSEQ_FUNCTION 16 | 631 | #define S_SCD_TRSEQ_FUNCTION 16 |
632 | #define M_SCD_TRSEQ_FUNCTION _SB_MAKEMASK(4,S_SCD_TRSEQ_FUNCTION) | 632 | #define M_SCD_TRSEQ_FUNCTION _SB_MAKEMASK(4, S_SCD_TRSEQ_FUNCTION) |
633 | #define V_SCD_TRSEQ_FUNCTION(x) _SB_MAKEVALUE(x,S_SCD_TRSEQ_FUNCTION) | 633 | #define V_SCD_TRSEQ_FUNCTION(x) _SB_MAKEVALUE(x, S_SCD_TRSEQ_FUNCTION) |
634 | #define G_SCD_TRSEQ_FUNCTION(x) _SB_GETVALUE(x,S_SCD_TRSEQ_FUNCTION,M_SCD_TRSEQ_FUNCTION) | 634 | #define G_SCD_TRSEQ_FUNCTION(x) _SB_GETVALUE(x, S_SCD_TRSEQ_FUNCTION, M_SCD_TRSEQ_FUNCTION) |
635 | 635 | ||
636 | #define K_SCD_TRSEQ_FUNC_NOP 0 | 636 | #define K_SCD_TRSEQ_FUNC_NOP 0 |
637 | #define K_SCD_TRSEQ_FUNC_START 1 | 637 | #define K_SCD_TRSEQ_FUNC_START 1 |
diff --git a/include/asm-mips/sibyte/sb1250_smbus.h b/include/asm-mips/sibyte/sb1250_smbus.h index 279a912213cd..04769923cf1e 100644 --- a/include/asm-mips/sibyte/sb1250_smbus.h +++ b/include/asm-mips/sibyte/sb1250_smbus.h | |||
@@ -41,16 +41,16 @@ | |||
41 | */ | 41 | */ |
42 | 42 | ||
43 | #define S_SMB_FREQ_DIV 0 | 43 | #define S_SMB_FREQ_DIV 0 |
44 | #define M_SMB_FREQ_DIV _SB_MAKEMASK(13,S_SMB_FREQ_DIV) | 44 | #define M_SMB_FREQ_DIV _SB_MAKEMASK(13, S_SMB_FREQ_DIV) |
45 | #define V_SMB_FREQ_DIV(x) _SB_MAKEVALUE(x,S_SMB_FREQ_DIV) | 45 | #define V_SMB_FREQ_DIV(x) _SB_MAKEVALUE(x, S_SMB_FREQ_DIV) |
46 | 46 | ||
47 | #define K_SMB_FREQ_400KHZ 0x1F | 47 | #define K_SMB_FREQ_400KHZ 0x1F |
48 | #define K_SMB_FREQ_100KHZ 0x7D | 48 | #define K_SMB_FREQ_100KHZ 0x7D |
49 | #define K_SMB_FREQ_10KHZ 1250 | 49 | #define K_SMB_FREQ_10KHZ 1250 |
50 | 50 | ||
51 | #define S_SMB_CMD 0 | 51 | #define S_SMB_CMD 0 |
52 | #define M_SMB_CMD _SB_MAKEMASK(8,S_SMB_CMD) | 52 | #define M_SMB_CMD _SB_MAKEMASK(8, S_SMB_CMD) |
53 | #define V_SMB_CMD(x) _SB_MAKEVALUE(x,S_SMB_CMD) | 53 | #define V_SMB_CMD(x) _SB_MAKEVALUE(x, S_SMB_CMD) |
54 | 54 | ||
55 | /* | 55 | /* |
56 | * SMBus control register (Table 14-4) | 56 | * SMBus control register (Table 14-4) |
@@ -61,7 +61,7 @@ | |||
61 | 61 | ||
62 | #define S_SMB_DATA_OUT 4 | 62 | #define S_SMB_DATA_OUT 4 |
63 | #define M_SMB_DATA_OUT _SB_MAKEMASK1(S_SMB_DATA_OUT) | 63 | #define M_SMB_DATA_OUT _SB_MAKEMASK1(S_SMB_DATA_OUT) |
64 | #define V_SMB_DATA_OUT(x) _SB_MAKEVALUE(x,S_SMB_DATA_OUT) | 64 | #define V_SMB_DATA_OUT(x) _SB_MAKEVALUE(x, S_SMB_DATA_OUT) |
65 | 65 | ||
66 | #define M_SMB_DATA_DIR _SB_MAKEMASK1(5) | 66 | #define M_SMB_DATA_DIR _SB_MAKEMASK1(5) |
67 | #define M_SMB_DATA_DIR_OUTPUT M_SMB_DATA_DIR | 67 | #define M_SMB_DATA_DIR_OUTPUT M_SMB_DATA_DIR |
@@ -79,35 +79,35 @@ | |||
79 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 79 | #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
80 | #define S_SMB_SCL_IN 5 | 80 | #define S_SMB_SCL_IN 5 |
81 | #define M_SMB_SCL_IN _SB_MAKEMASK1(S_SMB_SCL_IN) | 81 | #define M_SMB_SCL_IN _SB_MAKEMASK1(S_SMB_SCL_IN) |
82 | #define V_SMB_SCL_IN(x) _SB_MAKEVALUE(x,S_SMB_SCL_IN) | 82 | #define V_SMB_SCL_IN(x) _SB_MAKEVALUE(x, S_SMB_SCL_IN) |
83 | #define G_SMB_SCL_IN(x) _SB_GETVALUE(x,S_SMB_SCL_IN,M_SMB_SCL_IN) | 83 | #define G_SMB_SCL_IN(x) _SB_GETVALUE(x, S_SMB_SCL_IN, M_SMB_SCL_IN) |
84 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ | 84 | #endif /* 1250 PASS3 || 112x PASS1 || 1480 */ |
85 | 85 | ||
86 | #define S_SMB_REF 6 | 86 | #define S_SMB_REF 6 |
87 | #define M_SMB_REF _SB_MAKEMASK1(S_SMB_REF) | 87 | #define M_SMB_REF _SB_MAKEMASK1(S_SMB_REF) |
88 | #define V_SMB_REF(x) _SB_MAKEVALUE(x,S_SMB_REF) | 88 | #define V_SMB_REF(x) _SB_MAKEVALUE(x, S_SMB_REF) |
89 | #define G_SMB_REF(x) _SB_GETVALUE(x,S_SMB_REF,M_SMB_REF) | 89 | #define G_SMB_REF(x) _SB_GETVALUE(x, S_SMB_REF, M_SMB_REF) |
90 | 90 | ||
91 | #define S_SMB_DATA_IN 7 | 91 | #define S_SMB_DATA_IN 7 |
92 | #define M_SMB_DATA_IN _SB_MAKEMASK1(S_SMB_DATA_IN) | 92 | #define M_SMB_DATA_IN _SB_MAKEMASK1(S_SMB_DATA_IN) |
93 | #define V_SMB_DATA_IN(x) _SB_MAKEVALUE(x,S_SMB_DATA_IN) | 93 | #define V_SMB_DATA_IN(x) _SB_MAKEVALUE(x, S_SMB_DATA_IN) |
94 | #define G_SMB_DATA_IN(x) _SB_GETVALUE(x,S_SMB_DATA_IN,M_SMB_DATA_IN) | 94 | #define G_SMB_DATA_IN(x) _SB_GETVALUE(x, S_SMB_DATA_IN, M_SMB_DATA_IN) |
95 | 95 | ||
96 | /* | 96 | /* |
97 | * SMBus Start/Command registers (Table 14-9) | 97 | * SMBus Start/Command registers (Table 14-9) |
98 | */ | 98 | */ |
99 | 99 | ||
100 | #define S_SMB_ADDR 0 | 100 | #define S_SMB_ADDR 0 |
101 | #define M_SMB_ADDR _SB_MAKEMASK(7,S_SMB_ADDR) | 101 | #define M_SMB_ADDR _SB_MAKEMASK(7, S_SMB_ADDR) |
102 | #define V_SMB_ADDR(x) _SB_MAKEVALUE(x,S_SMB_ADDR) | 102 | #define V_SMB_ADDR(x) _SB_MAKEVALUE(x, S_SMB_ADDR) |
103 | #define G_SMB_ADDR(x) _SB_GETVALUE(x,S_SMB_ADDR,M_SMB_ADDR) | 103 | #define G_SMB_ADDR(x) _SB_GETVALUE(x, S_SMB_ADDR, M_SMB_ADDR) |
104 | 104 | ||
105 | #define M_SMB_QDATA _SB_MAKEMASK1(7) | 105 | #define M_SMB_QDATA _SB_MAKEMASK1(7) |
106 | 106 | ||
107 | #define S_SMB_TT 8 | 107 | #define S_SMB_TT 8 |
108 | #define M_SMB_TT _SB_MAKEMASK(3,S_SMB_TT) | 108 | #define M_SMB_TT _SB_MAKEMASK(3, S_SMB_TT) |
109 | #define V_SMB_TT(x) _SB_MAKEVALUE(x,S_SMB_TT) | 109 | #define V_SMB_TT(x) _SB_MAKEVALUE(x, S_SMB_TT) |
110 | #define G_SMB_TT(x) _SB_GETVALUE(x,S_SMB_TT,M_SMB_TT) | 110 | #define G_SMB_TT(x) _SB_GETVALUE(x, S_SMB_TT, M_SMB_TT) |
111 | 111 | ||
112 | #define K_SMB_TT_WR1BYTE 0 | 112 | #define K_SMB_TT_WR1BYTE 0 |
113 | #define K_SMB_TT_WR2BYTE 1 | 113 | #define K_SMB_TT_WR2BYTE 1 |
@@ -134,12 +134,12 @@ | |||
134 | */ | 134 | */ |
135 | 135 | ||
136 | #define S_SMB_LB 0 | 136 | #define S_SMB_LB 0 |
137 | #define M_SMB_LB _SB_MAKEMASK(8,S_SMB_LB) | 137 | #define M_SMB_LB _SB_MAKEMASK(8, S_SMB_LB) |
138 | #define V_SMB_LB(x) _SB_MAKEVALUE(x,S_SMB_LB) | 138 | #define V_SMB_LB(x) _SB_MAKEVALUE(x, S_SMB_LB) |
139 | 139 | ||
140 | #define S_SMB_MB 8 | 140 | #define S_SMB_MB 8 |
141 | #define M_SMB_MB _SB_MAKEMASK(8,S_SMB_MB) | 141 | #define M_SMB_MB _SB_MAKEMASK(8, S_SMB_MB) |
142 | #define V_SMB_MB(x) _SB_MAKEVALUE(x,S_SMB_MB) | 142 | #define V_SMB_MB(x) _SB_MAKEVALUE(x, S_SMB_MB) |
143 | 143 | ||
144 | 144 | ||
145 | /* | 145 | /* |
@@ -147,22 +147,22 @@ | |||
147 | */ | 147 | */ |
148 | 148 | ||
149 | #define S_SPEC_PEC 0 | 149 | #define S_SPEC_PEC 0 |
150 | #define M_SPEC_PEC _SB_MAKEMASK(8,S_SPEC_PEC) | 150 | #define M_SPEC_PEC _SB_MAKEMASK(8, S_SPEC_PEC) |
151 | #define V_SPEC_MB(x) _SB_MAKEVALUE(x,S_SPEC_PEC) | 151 | #define V_SPEC_MB(x) _SB_MAKEVALUE(x, S_SPEC_PEC) |
152 | 152 | ||
153 | 153 | ||
154 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) | 154 | #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480) |
155 | 155 | ||
156 | #define S_SMB_CMDH 8 | 156 | #define S_SMB_CMDH 8 |
157 | #define M_SMB_CMDH _SB_MAKEMASK(8,S_SMB_CMDH) | 157 | #define M_SMB_CMDH _SB_MAKEMASK(8, S_SMB_CMDH) |
158 | #define V_SMB_CMDH(x) _SB_MAKEVALUE(x,S_SMB_CMDH) | 158 | #define V_SMB_CMDH(x) _SB_MAKEVALUE(x, S_SMB_CMDH) |
159 | 159 | ||
160 | #define M_SMB_EXTEND _SB_MAKEMASK1(14) | 160 | #define M_SMB_EXTEND _SB_MAKEMASK1(14) |
161 | 161 | ||
162 | #define S_SMB_DFMT 8 | 162 | #define S_SMB_DFMT 8 |
163 | #define M_SMB_DFMT _SB_MAKEMASK(3,S_SMB_DFMT) | 163 | #define M_SMB_DFMT _SB_MAKEMASK(3, S_SMB_DFMT) |
164 | #define V_SMB_DFMT(x) _SB_MAKEVALUE(x,S_SMB_DFMT) | 164 | #define V_SMB_DFMT(x) _SB_MAKEVALUE(x, S_SMB_DFMT) |
165 | #define G_SMB_DFMT(x) _SB_GETVALUE(x,S_SMB_DFMT,M_SMB_DFMT) | 165 | #define G_SMB_DFMT(x) _SB_GETVALUE(x, S_SMB_DFMT, M_SMB_DFMT) |
166 | 166 | ||
167 | #define K_SMB_DFMT_1BYTE 0 | 167 | #define K_SMB_DFMT_1BYTE 0 |
168 | #define K_SMB_DFMT_2BYTE 1 | 168 | #define K_SMB_DFMT_2BYTE 1 |
@@ -183,9 +183,9 @@ | |||
183 | #define V_SMB_DFMT_RESERVED V_SMB_DFMT(K_SMB_DFMT_RESERVED) | 183 | #define V_SMB_DFMT_RESERVED V_SMB_DFMT(K_SMB_DFMT_RESERVED) |
184 | 184 | ||
185 | #define S_SMB_AFMT 11 | 185 | #define S_SMB_AFMT 11 |
186 | #define M_SMB_AFMT _SB_MAKEMASK(2,S_SMB_AFMT) | 186 | #define M_SMB_AFMT _SB_MAKEMASK(2, S_SMB_AFMT) |
187 | #define V_SMB_AFMT(x) _SB_MAKEVALUE(x,S_SMB_AFMT) | 187 | #define V_SMB_AFMT(x) _SB_MAKEVALUE(x, S_SMB_AFMT) |
188 | #define G_SMB_AFMT(x) _SB_GETVALUE(x,S_SMB_AFMT,M_SMB_AFMT) | 188 | #define G_SMB_AFMT(x) _SB_GETVALUE(x, S_SMB_AFMT, M_SMB_AFMT) |
189 | 189 | ||
190 | #define K_SMB_AFMT_NONE 0 | 190 | #define K_SMB_AFMT_NONE 0 |
191 | #define K_SMB_AFMT_ADDR 1 | 191 | #define K_SMB_AFMT_ADDR 1 |
diff --git a/include/asm-mips/sibyte/sb1250_syncser.h b/include/asm-mips/sibyte/sb1250_syncser.h index dd154ac505d8..d4b8558e0bf1 100644 --- a/include/asm-mips/sibyte/sb1250_syncser.h +++ b/include/asm-mips/sibyte/sb1250_syncser.h | |||
@@ -43,8 +43,8 @@ | |||
43 | #define M_SYNCSER_MSB_FIRST _SB_MAKEMASK1(1) | 43 | #define M_SYNCSER_MSB_FIRST _SB_MAKEMASK1(1) |
44 | 44 | ||
45 | #define S_SYNCSER_FLAG_NUM 2 | 45 | #define S_SYNCSER_FLAG_NUM 2 |
46 | #define M_SYNCSER_FLAG_NUM _SB_MAKEMASK(4,S_SYNCSER_FLAG_NUM) | 46 | #define M_SYNCSER_FLAG_NUM _SB_MAKEMASK(4, S_SYNCSER_FLAG_NUM) |
47 | #define V_SYNCSER_FLAG_NUM _SB_MAKEVALUE(x,S_SYNCSER_FLAG_NUM) | 47 | #define V_SYNCSER_FLAG_NUM _SB_MAKEVALUE(x, S_SYNCSER_FLAG_NUM) |
48 | 48 | ||
49 | #define M_SYNCSER_FLAG_EN _SB_MAKEMASK1(6) | 49 | #define M_SYNCSER_FLAG_EN _SB_MAKEMASK1(6) |
50 | #define M_SYNCSER_HDLC_EN _SB_MAKEMASK1(7) | 50 | #define M_SYNCSER_HDLC_EN _SB_MAKEMASK1(7) |
@@ -59,8 +59,8 @@ | |||
59 | #define M_SYNCSER_RXCLK_EXT _SB_MAKEMASK1(1) | 59 | #define M_SYNCSER_RXCLK_EXT _SB_MAKEMASK1(1) |
60 | 60 | ||
61 | #define S_SYNCSER_RXSYNC_DLY 2 | 61 | #define S_SYNCSER_RXSYNC_DLY 2 |
62 | #define M_SYNCSER_RXSYNC_DLY _SB_MAKEMASK(2,S_SYNCSER_RXSYNC_DLY) | 62 | #define M_SYNCSER_RXSYNC_DLY _SB_MAKEMASK(2, S_SYNCSER_RXSYNC_DLY) |
63 | #define V_SYNCSER_RXSYNC_DLY(x) _SB_MAKEVALUE(x,S_SYNCSER_RXSYNC_DLY) | 63 | #define V_SYNCSER_RXSYNC_DLY(x) _SB_MAKEVALUE(x, S_SYNCSER_RXSYNC_DLY) |
64 | 64 | ||
65 | #define M_SYNCSER_RXSYNC_LOW _SB_MAKEMASK1(4) | 65 | #define M_SYNCSER_RXSYNC_LOW _SB_MAKEMASK1(4) |
66 | #define M_SYNCSER_RXSTRB_LOW _SB_MAKEMASK1(5) | 66 | #define M_SYNCSER_RXSTRB_LOW _SB_MAKEMASK1(5) |
@@ -72,8 +72,8 @@ | |||
72 | #define M_SYNCSER_TXCLK_EXT _SB_MAKEMASK1(9) | 72 | #define M_SYNCSER_TXCLK_EXT _SB_MAKEMASK1(9) |
73 | 73 | ||
74 | #define S_SYNCSER_TXSYNC_DLY 10 | 74 | #define S_SYNCSER_TXSYNC_DLY 10 |
75 | #define M_SYNCSER_TXSYNC_DLY _SB_MAKEMASK(2,S_SYNCSER_TXSYNC_DLY) | 75 | #define M_SYNCSER_TXSYNC_DLY _SB_MAKEMASK(2, S_SYNCSER_TXSYNC_DLY) |
76 | #define V_SYNCSER_TXSYNC_DLY(x) _SB_MAKEVALUE(x,S_SYNCSER_TXSYNC_DLY) | 76 | #define V_SYNCSER_TXSYNC_DLY(x) _SB_MAKEVALUE(x, S_SYNCSER_TXSYNC_DLY) |
77 | 77 | ||
78 | #define M_SYNCSER_TXSYNC_LOW _SB_MAKEMASK1(12) | 78 | #define M_SYNCSER_TXSYNC_LOW _SB_MAKEMASK1(12) |
79 | #define M_SYNCSER_TXSTRB_LOW _SB_MAKEMASK1(13) | 79 | #define M_SYNCSER_TXSTRB_LOW _SB_MAKEMASK1(13) |
@@ -137,8 +137,8 @@ | |||
137 | #define M_SYNCSER_SEQ_BYTE _SB_MAKEMASK1(1) | 137 | #define M_SYNCSER_SEQ_BYTE _SB_MAKEMASK1(1) |
138 | 138 | ||
139 | #define S_SYNCSER_SEQ_COUNT 2 | 139 | #define S_SYNCSER_SEQ_COUNT 2 |
140 | #define M_SYNCSER_SEQ_COUNT _SB_MAKEMASK(4,S_SYNCSER_SEQ_COUNT) | 140 | #define M_SYNCSER_SEQ_COUNT _SB_MAKEMASK(4, S_SYNCSER_SEQ_COUNT) |
141 | #define V_SYNCSER_SEQ_COUNT(x) _SB_MAKEVALUE(x,S_SYNCSER_SEQ_COUNT) | 141 | #define V_SYNCSER_SEQ_COUNT(x) _SB_MAKEVALUE(x, S_SYNCSER_SEQ_COUNT) |
142 | 142 | ||
143 | #define M_SYNCSER_SEQ_ENABLE _SB_MAKEMASK1(6) | 143 | #define M_SYNCSER_SEQ_ENABLE _SB_MAKEMASK1(6) |
144 | #define M_SYNCSER_SEQ_STROBE _SB_MAKEMASK1(7) | 144 | #define M_SYNCSER_SEQ_STROBE _SB_MAKEMASK1(7) |
diff --git a/include/asm-mips/sibyte/sb1250_uart.h b/include/asm-mips/sibyte/sb1250_uart.h index cf74fedcbef1..d835bf280140 100644 --- a/include/asm-mips/sibyte/sb1250_uart.h +++ b/include/asm-mips/sibyte/sb1250_uart.h | |||
@@ -46,8 +46,8 @@ | |||
46 | */ | 46 | */ |
47 | 47 | ||
48 | #define S_DUART_BITS_PER_CHAR 0 | 48 | #define S_DUART_BITS_PER_CHAR 0 |
49 | #define M_DUART_BITS_PER_CHAR _SB_MAKEMASK(2,S_DUART_BITS_PER_CHAR) | 49 | #define M_DUART_BITS_PER_CHAR _SB_MAKEMASK(2, S_DUART_BITS_PER_CHAR) |
50 | #define V_DUART_BITS_PER_CHAR(x) _SB_MAKEVALUE(x,S_DUART_BITS_PER_CHAR) | 50 | #define V_DUART_BITS_PER_CHAR(x) _SB_MAKEVALUE(x, S_DUART_BITS_PER_CHAR) |
51 | 51 | ||
52 | #define K_DUART_BITS_PER_CHAR_RSV0 0 | 52 | #define K_DUART_BITS_PER_CHAR_RSV0 0 |
53 | #define K_DUART_BITS_PER_CHAR_RSV1 1 | 53 | #define K_DUART_BITS_PER_CHAR_RSV1 1 |
@@ -64,8 +64,8 @@ | |||
64 | #define M_DUART_PARITY_TYPE_ODD _SB_MAKEMASK1(2) | 64 | #define M_DUART_PARITY_TYPE_ODD _SB_MAKEMASK1(2) |
65 | 65 | ||
66 | #define S_DUART_PARITY_MODE 3 | 66 | #define S_DUART_PARITY_MODE 3 |
67 | #define M_DUART_PARITY_MODE _SB_MAKEMASK(2,S_DUART_PARITY_MODE) | 67 | #define M_DUART_PARITY_MODE _SB_MAKEMASK(2, S_DUART_PARITY_MODE) |
68 | #define V_DUART_PARITY_MODE(x) _SB_MAKEVALUE(x,S_DUART_PARITY_MODE) | 68 | #define V_DUART_PARITY_MODE(x) _SB_MAKEVALUE(x, S_DUART_PARITY_MODE) |
69 | 69 | ||
70 | #define K_DUART_PARITY_MODE_ADD 0 | 70 | #define K_DUART_PARITY_MODE_ADD 0 |
71 | #define K_DUART_PARITY_MODE_ADD_FIXED 1 | 71 | #define K_DUART_PARITY_MODE_ADD_FIXED 1 |
@@ -89,7 +89,7 @@ | |||
89 | * Register: DUART_MODE_REG_2_B | 89 | * Register: DUART_MODE_REG_2_B |
90 | */ | 90 | */ |
91 | 91 | ||
92 | #define M_DUART_MODE_RESERVED1 _SB_MAKEMASK(3,0) /* ignored */ | 92 | #define M_DUART_MODE_RESERVED1 _SB_MAKEMASK(3, 0) /* ignored */ |
93 | 93 | ||
94 | #define M_DUART_STOP_BIT_LEN_2 _SB_MAKEMASK1(3) | 94 | #define M_DUART_STOP_BIT_LEN_2 _SB_MAKEMASK1(3) |
95 | #define M_DUART_STOP_BIT_LEN_1 0 | 95 | #define M_DUART_STOP_BIT_LEN_1 0 |
@@ -100,8 +100,8 @@ | |||
100 | #define M_DUART_MODE_RESERVED2 _SB_MAKEMASK1(5) /* must be zero */ | 100 | #define M_DUART_MODE_RESERVED2 _SB_MAKEMASK1(5) /* must be zero */ |
101 | 101 | ||
102 | #define S_DUART_CHAN_MODE 6 | 102 | #define S_DUART_CHAN_MODE 6 |
103 | #define M_DUART_CHAN_MODE _SB_MAKEMASK(2,S_DUART_CHAN_MODE) | 103 | #define M_DUART_CHAN_MODE _SB_MAKEMASK(2, S_DUART_CHAN_MODE) |
104 | #define V_DUART_CHAN_MODE(x) _SB_MAKEVALUE(x,S_DUART_CHAN_MODE) | 104 | #define V_DUART_CHAN_MODE(x) _SB_MAKEVALUE(x, S_DUART_CHAN_MODE) |
105 | 105 | ||
106 | #define K_DUART_CHAN_MODE_NORMAL 0 | 106 | #define K_DUART_CHAN_MODE_NORMAL 0 |
107 | #define K_DUART_CHAN_MODE_LCL_LOOP 2 | 107 | #define K_DUART_CHAN_MODE_LCL_LOOP 2 |
@@ -123,8 +123,8 @@ | |||
123 | #define M_DUART_TX_DIS _SB_MAKEMASK1(3) | 123 | #define M_DUART_TX_DIS _SB_MAKEMASK1(3) |
124 | 124 | ||
125 | #define S_DUART_MISC_CMD 4 | 125 | #define S_DUART_MISC_CMD 4 |
126 | #define M_DUART_MISC_CMD _SB_MAKEMASK(3,S_DUART_MISC_CMD) | 126 | #define M_DUART_MISC_CMD _SB_MAKEMASK(3, S_DUART_MISC_CMD) |
127 | #define V_DUART_MISC_CMD(x) _SB_MAKEVALUE(x,S_DUART_MISC_CMD) | 127 | #define V_DUART_MISC_CMD(x) _SB_MAKEVALUE(x, S_DUART_MISC_CMD) |
128 | 128 | ||
129 | #define K_DUART_MISC_CMD_NOACTION0 0 | 129 | #define K_DUART_MISC_CMD_NOACTION0 0 |
130 | #define K_DUART_MISC_CMD_NOACTION1 1 | 130 | #define K_DUART_MISC_CMD_NOACTION1 1 |
@@ -168,7 +168,7 @@ | |||
168 | * Register: DUART_CLK_SEL_B | 168 | * Register: DUART_CLK_SEL_B |
169 | */ | 169 | */ |
170 | 170 | ||
171 | #define M_DUART_CLK_COUNTER _SB_MAKEMASK(12,0) | 171 | #define M_DUART_CLK_COUNTER _SB_MAKEMASK(12, 0) |
172 | #define V_DUART_BAUD_RATE(x) (100000000/((x)*20)-1) | 172 | #define V_DUART_BAUD_RATE(x) (100000000/((x)*20)-1) |
173 | 173 | ||
174 | /* | 174 | /* |
@@ -179,8 +179,8 @@ | |||
179 | * Register: DUART_TX_HOLD_B | 179 | * Register: DUART_TX_HOLD_B |
180 | */ | 180 | */ |
181 | 181 | ||
182 | #define M_DUART_RX_DATA _SB_MAKEMASK(8,0) | 182 | #define M_DUART_RX_DATA _SB_MAKEMASK(8, 0) |
183 | #define M_DUART_TX_DATA _SB_MAKEMASK(8,0) | 183 | #define M_DUART_TX_DATA _SB_MAKEMASK(8, 0) |
184 | 184 | ||
185 | /* | 185 | /* |
186 | * DUART Input Port Register (Table 10-10) | 186 | * DUART Input Port Register (Table 10-10) |
@@ -202,10 +202,10 @@ | |||
202 | */ | 202 | */ |
203 | 203 | ||
204 | #define S_DUART_IN_PIN_VAL 0 | 204 | #define S_DUART_IN_PIN_VAL 0 |
205 | #define M_DUART_IN_PIN_VAL _SB_MAKEMASK(4,S_DUART_IN_PIN_VAL) | 205 | #define M_DUART_IN_PIN_VAL _SB_MAKEMASK(4, S_DUART_IN_PIN_VAL) |
206 | 206 | ||
207 | #define S_DUART_IN_PIN_CHNG 4 | 207 | #define S_DUART_IN_PIN_CHNG 4 |
208 | #define M_DUART_IN_PIN_CHNG _SB_MAKEMASK(4,S_DUART_IN_PIN_CHNG) | 208 | #define M_DUART_IN_PIN_CHNG _SB_MAKEMASK(4, S_DUART_IN_PIN_CHNG) |
209 | 209 | ||
210 | 210 | ||
211 | /* | 211 | /* |
@@ -217,7 +217,7 @@ | |||
217 | #define M_DUART_OPC2_SEL _SB_MAKEMASK1(1) | 217 | #define M_DUART_OPC2_SEL _SB_MAKEMASK1(1) |
218 | #define M_DUART_OPCR_RESERVED1 _SB_MAKEMASK1(2) /* must be zero */ | 218 | #define M_DUART_OPCR_RESERVED1 _SB_MAKEMASK1(2) /* must be zero */ |
219 | #define M_DUART_OPC3_SEL _SB_MAKEMASK1(3) | 219 | #define M_DUART_OPC3_SEL _SB_MAKEMASK1(3) |
220 | #define M_DUART_OPCR_RESERVED2 _SB_MAKEMASK(4,4) /* must be zero */ | 220 | #define M_DUART_OPCR_RESERVED2 _SB_MAKEMASK(4, 4) /* must be zero */ |
221 | 221 | ||
222 | /* | 222 | /* |
223 | * DUART Aux Control Register (Table 10-15) | 223 | * DUART Aux Control Register (Table 10-15) |
@@ -228,7 +228,7 @@ | |||
228 | #define M_DUART_IP1_CHNG_ENA _SB_MAKEMASK1(1) | 228 | #define M_DUART_IP1_CHNG_ENA _SB_MAKEMASK1(1) |
229 | #define M_DUART_IP2_CHNG_ENA _SB_MAKEMASK1(2) | 229 | #define M_DUART_IP2_CHNG_ENA _SB_MAKEMASK1(2) |
230 | #define M_DUART_IP3_CHNG_ENA _SB_MAKEMASK1(3) | 230 | #define M_DUART_IP3_CHNG_ENA _SB_MAKEMASK1(3) |
231 | #define M_DUART_ACR_RESERVED _SB_MAKEMASK(4,4) | 231 | #define M_DUART_ACR_RESERVED _SB_MAKEMASK(4, 4) |
232 | 232 | ||
233 | #define M_DUART_CTS_CHNG_ENA _SB_MAKEMASK1(0) | 233 | #define M_DUART_CTS_CHNG_ENA _SB_MAKEMASK1(0) |
234 | #define M_DUART_CIN_CHNG_ENA _SB_MAKEMASK1(2) | 234 | #define M_DUART_CIN_CHNG_ENA _SB_MAKEMASK1(2) |
@@ -242,18 +242,18 @@ | |||
242 | 242 | ||
243 | #define S_DUART_ISR_RX_A 1 | 243 | #define S_DUART_ISR_RX_A 1 |
244 | #define M_DUART_ISR_RX_A _SB_MAKEMASK1(S_DUART_ISR_RX_A) | 244 | #define M_DUART_ISR_RX_A _SB_MAKEMASK1(S_DUART_ISR_RX_A) |
245 | #define V_DUART_ISR_RX_A(x) _SB_MAKEVALUE(x,S_DUART_ISR_RX_A) | 245 | #define V_DUART_ISR_RX_A(x) _SB_MAKEVALUE(x, S_DUART_ISR_RX_A) |
246 | #define G_DUART_ISR_RX_A(x) _SB_GETVALUE(x,S_DUART_ISR_RX_A,M_DUART_ISR_RX_A) | 246 | #define G_DUART_ISR_RX_A(x) _SB_GETVALUE(x, S_DUART_ISR_RX_A, M_DUART_ISR_RX_A) |
247 | 247 | ||
248 | #define M_DUART_ISR_BRK_A _SB_MAKEMASK1(2) | 248 | #define M_DUART_ISR_BRK_A _SB_MAKEMASK1(2) |
249 | #define M_DUART_ISR_IN_A _SB_MAKEMASK1(3) | 249 | #define M_DUART_ISR_IN_A _SB_MAKEMASK1(3) |
250 | #define M_DUART_ISR_ALL_A _SB_MAKEMASK(4,0) | 250 | #define M_DUART_ISR_ALL_A _SB_MAKEMASK(4, 0) |
251 | 251 | ||
252 | #define M_DUART_ISR_TX_B _SB_MAKEMASK1(4) | 252 | #define M_DUART_ISR_TX_B _SB_MAKEMASK1(4) |
253 | #define M_DUART_ISR_RX_B _SB_MAKEMASK1(5) | 253 | #define M_DUART_ISR_RX_B _SB_MAKEMASK1(5) |
254 | #define M_DUART_ISR_BRK_B _SB_MAKEMASK1(6) | 254 | #define M_DUART_ISR_BRK_B _SB_MAKEMASK1(6) |
255 | #define M_DUART_ISR_IN_B _SB_MAKEMASK1(7) | 255 | #define M_DUART_ISR_IN_B _SB_MAKEMASK1(7) |
256 | #define M_DUART_ISR_ALL_B _SB_MAKEMASK(4,4) | 256 | #define M_DUART_ISR_ALL_B _SB_MAKEMASK(4, 4) |
257 | 257 | ||
258 | /* | 258 | /* |
259 | * DUART Channel A Interrupt Status Register (Table 10-17) | 259 | * DUART Channel A Interrupt Status Register (Table 10-17) |
@@ -266,8 +266,8 @@ | |||
266 | #define M_DUART_ISR_RX _SB_MAKEMASK1(1) | 266 | #define M_DUART_ISR_RX _SB_MAKEMASK1(1) |
267 | #define M_DUART_ISR_BRK _SB_MAKEMASK1(2) | 267 | #define M_DUART_ISR_BRK _SB_MAKEMASK1(2) |
268 | #define M_DUART_ISR_IN _SB_MAKEMASK1(3) | 268 | #define M_DUART_ISR_IN _SB_MAKEMASK1(3) |
269 | #define M_DUART_ISR_ALL _SB_MAKEMASK(4,0) | 269 | #define M_DUART_ISR_ALL _SB_MAKEMASK(4, 0) |
270 | #define M_DUART_ISR_RESERVED _SB_MAKEMASK(4,4) | 270 | #define M_DUART_ISR_RESERVED _SB_MAKEMASK(4, 4) |
271 | 271 | ||
272 | /* | 272 | /* |
273 | * DUART Interrupt Mask Register (Table 10-19) | 273 | * DUART Interrupt Mask Register (Table 10-19) |
@@ -278,13 +278,13 @@ | |||
278 | #define M_DUART_IMR_RX_A _SB_MAKEMASK1(1) | 278 | #define M_DUART_IMR_RX_A _SB_MAKEMASK1(1) |
279 | #define M_DUART_IMR_BRK_A _SB_MAKEMASK1(2) | 279 | #define M_DUART_IMR_BRK_A _SB_MAKEMASK1(2) |
280 | #define M_DUART_IMR_IN_A _SB_MAKEMASK1(3) | 280 | #define M_DUART_IMR_IN_A _SB_MAKEMASK1(3) |
281 | #define M_DUART_IMR_ALL_A _SB_MAKEMASK(4,0) | 281 | #define M_DUART_IMR_ALL_A _SB_MAKEMASK(4, 0) |
282 | 282 | ||
283 | #define M_DUART_IMR_TX_B _SB_MAKEMASK1(4) | 283 | #define M_DUART_IMR_TX_B _SB_MAKEMASK1(4) |
284 | #define M_DUART_IMR_RX_B _SB_MAKEMASK1(5) | 284 | #define M_DUART_IMR_RX_B _SB_MAKEMASK1(5) |
285 | #define M_DUART_IMR_BRK_B _SB_MAKEMASK1(6) | 285 | #define M_DUART_IMR_BRK_B _SB_MAKEMASK1(6) |
286 | #define M_DUART_IMR_IN_B _SB_MAKEMASK1(7) | 286 | #define M_DUART_IMR_IN_B _SB_MAKEMASK1(7) |
287 | #define M_DUART_IMR_ALL_B _SB_MAKEMASK(4,4) | 287 | #define M_DUART_IMR_ALL_B _SB_MAKEMASK(4, 4) |
288 | 288 | ||
289 | /* | 289 | /* |
290 | * DUART Channel A Interrupt Mask Register (Table 10-20) | 290 | * DUART Channel A Interrupt Mask Register (Table 10-20) |
@@ -297,8 +297,8 @@ | |||
297 | #define M_DUART_IMR_RX _SB_MAKEMASK1(1) | 297 | #define M_DUART_IMR_RX _SB_MAKEMASK1(1) |
298 | #define M_DUART_IMR_BRK _SB_MAKEMASK1(2) | 298 | #define M_DUART_IMR_BRK _SB_MAKEMASK1(2) |
299 | #define M_DUART_IMR_IN _SB_MAKEMASK1(3) | 299 | #define M_DUART_IMR_IN _SB_MAKEMASK1(3) |
300 | #define M_DUART_IMR_ALL _SB_MAKEMASK(4,0) | 300 | #define M_DUART_IMR_ALL _SB_MAKEMASK(4, 0) |
301 | #define M_DUART_IMR_RESERVED _SB_MAKEMASK(4,4) | 301 | #define M_DUART_IMR_RESERVED _SB_MAKEMASK(4, 4) |
302 | 302 | ||
303 | 303 | ||
304 | /* | 304 | /* |
@@ -310,7 +310,7 @@ | |||
310 | #define M_DUART_SET_OPR1 _SB_MAKEMASK1(1) | 310 | #define M_DUART_SET_OPR1 _SB_MAKEMASK1(1) |
311 | #define M_DUART_SET_OPR2 _SB_MAKEMASK1(2) | 311 | #define M_DUART_SET_OPR2 _SB_MAKEMASK1(2) |
312 | #define M_DUART_SET_OPR3 _SB_MAKEMASK1(3) | 312 | #define M_DUART_SET_OPR3 _SB_MAKEMASK1(3) |
313 | #define M_DUART_OPSR_RESERVED _SB_MAKEMASK(4,4) | 313 | #define M_DUART_OPSR_RESERVED _SB_MAKEMASK(4, 4) |
314 | 314 | ||
315 | /* | 315 | /* |
316 | * DUART Output Port Clear Register (Table 10-23) | 316 | * DUART Output Port Clear Register (Table 10-23) |
@@ -321,7 +321,7 @@ | |||
321 | #define M_DUART_CLR_OPR1 _SB_MAKEMASK1(1) | 321 | #define M_DUART_CLR_OPR1 _SB_MAKEMASK1(1) |
322 | #define M_DUART_CLR_OPR2 _SB_MAKEMASK1(2) | 322 | #define M_DUART_CLR_OPR2 _SB_MAKEMASK1(2) |
323 | #define M_DUART_CLR_OPR3 _SB_MAKEMASK1(3) | 323 | #define M_DUART_CLR_OPR3 _SB_MAKEMASK1(3) |
324 | #define M_DUART_OPCR_RESERVED _SB_MAKEMASK(4,4) | 324 | #define M_DUART_OPCR_RESERVED _SB_MAKEMASK(4, 4) |
325 | 325 | ||
326 | /* | 326 | /* |
327 | * DUART Output Port RTS Register (Table 10-24) | 327 | * DUART Output Port RTS Register (Table 10-24) |
@@ -332,7 +332,7 @@ | |||
332 | #define M_DUART_OUT_PIN_SET1 _SB_MAKEMASK1(1) | 332 | #define M_DUART_OUT_PIN_SET1 _SB_MAKEMASK1(1) |
333 | #define M_DUART_OUT_PIN_CLR0 _SB_MAKEMASK1(2) | 333 | #define M_DUART_OUT_PIN_CLR0 _SB_MAKEMASK1(2) |
334 | #define M_DUART_OUT_PIN_CLR1 _SB_MAKEMASK1(3) | 334 | #define M_DUART_OUT_PIN_CLR1 _SB_MAKEMASK1(3) |
335 | #define M_DUART_OPRR_RESERVED _SB_MAKEMASK(4,4) | 335 | #define M_DUART_OPRR_RESERVED _SB_MAKEMASK(4, 4) |
336 | 336 | ||
337 | #define M_DUART_OUT_PIN_SET(chan) \ | 337 | #define M_DUART_OUT_PIN_SET(chan) \ |
338 | (chan == 0 ? M_DUART_OUT_PIN_SET0 : M_DUART_OUT_PIN_SET1) | 338 | (chan == 0 ? M_DUART_OUT_PIN_SET0 : M_DUART_OUT_PIN_SET1) |
@@ -345,14 +345,14 @@ | |||
345 | */ | 345 | */ |
346 | 346 | ||
347 | #define S_DUART_SIG_FULL _SB_MAKE64(0) | 347 | #define S_DUART_SIG_FULL _SB_MAKE64(0) |
348 | #define M_DUART_SIG_FULL _SB_MAKEMASK(4,S_DUART_SIG_FULL) | 348 | #define M_DUART_SIG_FULL _SB_MAKEMASK(4, S_DUART_SIG_FULL) |
349 | #define V_DUART_SIG_FULL(x) _SB_MAKEVALUE(x,S_DUART_SIG_FULL) | 349 | #define V_DUART_SIG_FULL(x) _SB_MAKEVALUE(x, S_DUART_SIG_FULL) |
350 | #define G_DUART_SIG_FULL(x) _SB_GETVALUE(x,S_DUART_SIG_FULL,M_DUART_SIG_FULL) | 350 | #define G_DUART_SIG_FULL(x) _SB_GETVALUE(x, S_DUART_SIG_FULL, M_DUART_SIG_FULL) |
351 | 351 | ||
352 | #define S_DUART_INT_TIME _SB_MAKE64(4) | 352 | #define S_DUART_INT_TIME _SB_MAKE64(4) |
353 | #define M_DUART_INT_TIME _SB_MAKEMASK(4,S_DUART_INT_TIME) | 353 | #define M_DUART_INT_TIME _SB_MAKEMASK(4, S_DUART_INT_TIME) |
354 | #define V_DUART_INT_TIME(x) _SB_MAKEVALUE(x,S_DUART_INT_TIME) | 354 | #define V_DUART_INT_TIME(x) _SB_MAKEVALUE(x, S_DUART_INT_TIME) |
355 | #define G_DUART_INT_TIME(x) _SB_GETVALUE(x,S_DUART_INT_TIME,M_DUART_INT_TIME) | 355 | #define G_DUART_INT_TIME(x) _SB_GETVALUE(x, S_DUART_INT_TIME, M_DUART_INT_TIME) |
356 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ | 356 | #endif /* 1250 PASS2 || 112x PASS1 || 1480 */ |
357 | 357 | ||
358 | 358 | ||
diff --git a/include/asm-mips/siginfo.h b/include/asm-mips/siginfo.h index 2e32949bd674..96e28f18dad1 100644 --- a/include/asm-mips/siginfo.h +++ b/include/asm-mips/siginfo.h | |||
@@ -106,8 +106,8 @@ typedef struct siginfo { | |||
106 | #undef SI_TIMER | 106 | #undef SI_TIMER |
107 | #undef SI_MESGQ | 107 | #undef SI_MESGQ |
108 | #define SI_ASYNCIO -2 /* sent by AIO completion */ | 108 | #define SI_ASYNCIO -2 /* sent by AIO completion */ |
109 | #define SI_TIMER __SI_CODE(__SI_TIMER,-3) /* sent by timer expiration */ | 109 | #define SI_TIMER __SI_CODE(__SI_TIMER, -3) /* sent by timer expiration */ |
110 | #define SI_MESGQ __SI_CODE(__SI_MESGQ,-4) /* sent by real time mesq state change */ | 110 | #define SI_MESGQ __SI_CODE(__SI_MESGQ, -4) /* sent by real time mesq state change */ |
111 | 111 | ||
112 | #ifdef __KERNEL__ | 112 | #ifdef __KERNEL__ |
113 | 113 | ||
diff --git a/include/asm-mips/sim.h b/include/asm-mips/sim.h index 67c4fe52bb42..0cd719fabb51 100644 --- a/include/asm-mips/sim.h +++ b/include/asm-mips/sim.h | |||
@@ -18,7 +18,7 @@ | |||
18 | #ifdef CONFIG_32BIT | 18 | #ifdef CONFIG_32BIT |
19 | 19 | ||
20 | #define save_static_function(symbol) \ | 20 | #define save_static_function(symbol) \ |
21 | __asm__ ( \ | 21 | __asm__( \ |
22 | ".text\n\t" \ | 22 | ".text\n\t" \ |
23 | ".globl\t" #symbol "\n\t" \ | 23 | ".globl\t" #symbol "\n\t" \ |
24 | ".align\t2\n\t" \ | 24 | ".align\t2\n\t" \ |
@@ -46,7 +46,7 @@ __asm__ ( \ | |||
46 | #ifdef CONFIG_64BIT | 46 | #ifdef CONFIG_64BIT |
47 | 47 | ||
48 | #define save_static_function(symbol) \ | 48 | #define save_static_function(symbol) \ |
49 | __asm__ ( \ | 49 | __asm__( \ |
50 | ".text\n\t" \ | 50 | ".text\n\t" \ |
51 | ".globl\t" #symbol "\n\t" \ | 51 | ".globl\t" #symbol "\n\t" \ |
52 | ".align\t2\n\t" \ | 52 | ".align\t2\n\t" \ |
diff --git a/include/asm-mips/smp.h b/include/asm-mips/smp.h index 13aef6af422c..dc770025a9b0 100644 --- a/include/asm-mips/smp.h +++ b/include/asm-mips/smp.h | |||
@@ -60,6 +60,15 @@ extern cpumask_t phys_cpu_present_map; | |||
60 | */ | 60 | */ |
61 | extern void core_send_ipi(int cpu, unsigned int action); | 61 | extern void core_send_ipi(int cpu, unsigned int action); |
62 | 62 | ||
63 | static inline void core_send_ipi_mask(cpumask_t mask, unsigned int action) | ||
64 | { | ||
65 | unsigned int i; | ||
66 | |||
67 | for_each_cpu_mask(i, mask) | ||
68 | core_send_ipi(i, action); | ||
69 | } | ||
70 | |||
71 | |||
63 | /* | 72 | /* |
64 | * Firmware CPU startup hook | 73 | * Firmware CPU startup hook |
65 | */ | 74 | */ |
diff --git a/include/asm-mips/smtc_ipi.h b/include/asm-mips/smtc_ipi.h index a52a4a7a36e0..e09131a6127d 100644 --- a/include/asm-mips/smtc_ipi.h +++ b/include/asm-mips/smtc_ipi.h | |||
@@ -34,6 +34,7 @@ struct smtc_ipi { | |||
34 | 34 | ||
35 | #define LINUX_SMP_IPI 1 | 35 | #define LINUX_SMP_IPI 1 |
36 | #define SMTC_CLOCK_TICK 2 | 36 | #define SMTC_CLOCK_TICK 2 |
37 | #define IRQ_AFFINITY_IPI 3 | ||
37 | 38 | ||
38 | /* | 39 | /* |
39 | * A queue of IPI messages | 40 | * A queue of IPI messages |
diff --git a/include/asm-mips/sn/addrs.h b/include/asm-mips/sn/addrs.h index 8fa0af6b68d2..fec9bdd34913 100644 --- a/include/asm-mips/sn/addrs.h +++ b/include/asm-mips/sn/addrs.h | |||
@@ -50,7 +50,7 @@ | |||
50 | #define TO_NODE_ADDRSPACE(_pa) (UINT64_CAST (_pa) & NODE_ADDRSPACE_MASK) | 50 | #define TO_NODE_ADDRSPACE(_pa) (UINT64_CAST (_pa) & NODE_ADDRSPACE_MASK) |
51 | 51 | ||
52 | #define CHANGE_ADDR_NASID(_pa, _nasid) \ | 52 | #define CHANGE_ADDR_NASID(_pa, _nasid) \ |
53 | ((UINT64_CAST (_pa) & ~NASID_MASK) | \ | 53 | ((UINT64_CAST(_pa) & ~NASID_MASK) | \ |
54 | (UINT64_CAST(_nasid) << NASID_SHFT)) | 54 | (UINT64_CAST(_nasid) << NASID_SHFT)) |
55 | 55 | ||
56 | 56 | ||
@@ -75,7 +75,7 @@ | |||
75 | 75 | ||
76 | 76 | ||
77 | #define RAW_NODE_SWIN_BASE(nasid, widget) \ | 77 | #define RAW_NODE_SWIN_BASE(nasid, widget) \ |
78 | (NODE_IO_BASE(nasid) + (UINT64_CAST (widget) << SWIN_SIZE_BITS)) | 78 | (NODE_IO_BASE(nasid) + (UINT64_CAST(widget) << SWIN_SIZE_BITS)) |
79 | 79 | ||
80 | #define WIDGETID_GET(addr) ((unsigned char)((addr >> SWIN_SIZE_BITS) & 0xff)) | 80 | #define WIDGETID_GET(addr) ((unsigned char)((addr >> SWIN_SIZE_BITS) & 0xff)) |
81 | 81 | ||
@@ -192,31 +192,31 @@ | |||
192 | #define BDDIR_ENTRY_LO(_pa) ((HSPEC_BASE + \ | 192 | #define BDDIR_ENTRY_LO(_pa) ((HSPEC_BASE + \ |
193 | NODE_ADDRSPACE_SIZE * 3 / 4 + \ | 193 | NODE_ADDRSPACE_SIZE * 3 / 4 + \ |
194 | 0x200) | \ | 194 | 0x200) | \ |
195 | UINT64_CAST (_pa) & NASID_MASK | \ | 195 | UINT64_CAST(_pa) & NASID_MASK | \ |
196 | UINT64_CAST (_pa) >> 2 & BDDIR_UPPER_MASK | \ | 196 | UINT64_CAST(_pa) >> 2 & BDDIR_UPPER_MASK | \ |
197 | UINT64_CAST (_pa) >> 3 & 0x1f << 4) | 197 | UINT64_CAST(_pa) >> 3 & 0x1f << 4) |
198 | 198 | ||
199 | #define BDDIR_ENTRY_HI(_pa) ((HSPEC_BASE + \ | 199 | #define BDDIR_ENTRY_HI(_pa) ((HSPEC_BASE + \ |
200 | NODE_ADDRSPACE_SIZE * 3 / 4 + \ | 200 | NODE_ADDRSPACE_SIZE * 3 / 4 + \ |
201 | 0x208) | \ | 201 | 0x208) | \ |
202 | UINT64_CAST (_pa) & NASID_MASK | \ | 202 | UINT64_CAST(_pa) & NASID_MASK | \ |
203 | UINT64_CAST (_pa) >> 2 & BDDIR_UPPER_MASK | \ | 203 | UINT64_CAST(_pa) >> 2 & BDDIR_UPPER_MASK | \ |
204 | UINT64_CAST (_pa) >> 3 & 0x1f << 4) | 204 | UINT64_CAST(_pa) >> 3 & 0x1f << 4) |
205 | 205 | ||
206 | #define BDPRT_ENTRY(_pa, _rgn) ((HSPEC_BASE + \ | 206 | #define BDPRT_ENTRY(_pa, _rgn) ((HSPEC_BASE + \ |
207 | NODE_ADDRSPACE_SIZE * 3 / 4) | \ | 207 | NODE_ADDRSPACE_SIZE * 3 / 4) | \ |
208 | UINT64_CAST (_pa) & NASID_MASK | \ | 208 | UINT64_CAST(_pa) & NASID_MASK | \ |
209 | UINT64_CAST (_pa) >> 2 & BDDIR_UPPER_MASK | \ | 209 | UINT64_CAST(_pa) >> 2 & BDDIR_UPPER_MASK | \ |
210 | (_rgn) << 3) | 210 | (_rgn) << 3) |
211 | #define BDPRT_ENTRY_ADDR(_pa,_rgn) (BDPRT_ENTRY((_pa),(_rgn))) | 211 | #define BDPRT_ENTRY_ADDR(_pa, _rgn) (BDPRT_ENTRY((_pa), (_rgn))) |
212 | #define BDPRT_ENTRY_S(_pa,_rgn,_val) (*(__psunsigned_t *)BDPRT_ENTRY((_pa),(_rgn))=(_val)) | 212 | #define BDPRT_ENTRY_S(_pa, _rgn, _val) (*(__psunsigned_t *)BDPRT_ENTRY((_pa), (_rgn))=(_val)) |
213 | #define BDPRT_ENTRY_L(_pa,_rgn) (*(__psunsigned_t *)BDPRT_ENTRY((_pa),(_rgn))) | 213 | #define BDPRT_ENTRY_L(_pa, _rgn) (*(__psunsigned_t *)BDPRT_ENTRY((_pa), (_rgn))) |
214 | 214 | ||
215 | #define BDECC_ENTRY(_pa) ((HSPEC_BASE + \ | 215 | #define BDECC_ENTRY(_pa) ((HSPEC_BASE + \ |
216 | NODE_ADDRSPACE_SIZE / 2) | \ | 216 | NODE_ADDRSPACE_SIZE / 2) | \ |
217 | UINT64_CAST (_pa) & NASID_MASK | \ | 217 | UINT64_CAST(_pa) & NASID_MASK | \ |
218 | UINT64_CAST (_pa) >> 2 & BDECC_UPPER_MASK | \ | 218 | UINT64_CAST(_pa) >> 2 & BDECC_UPPER_MASK | \ |
219 | UINT64_CAST (_pa) >> 3 & 3) | 219 | UINT64_CAST(_pa) >> 3 & 3) |
220 | 220 | ||
221 | /* | 221 | /* |
222 | * Macro to convert a back door directory or protection address into the | 222 | * Macro to convert a back door directory or protection address into the |
@@ -225,16 +225,16 @@ | |||
225 | #define BDADDR_IS_DIR(_ba) ((UINT64_CAST (_ba) & 0x200) != 0) | 225 | #define BDADDR_IS_DIR(_ba) ((UINT64_CAST (_ba) & 0x200) != 0) |
226 | #define BDADDR_IS_PRT(_ba) ((UINT64_CAST (_ba) & 0x200) == 0) | 226 | #define BDADDR_IS_PRT(_ba) ((UINT64_CAST (_ba) & 0x200) == 0) |
227 | 227 | ||
228 | #define BDDIR_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ | 228 | #define BDDIR_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ |
229 | (UINT64_CAST (_ba) & BDDIR_UPPER_MASK)<<2 | \ | 229 | (UINT64_CAST(_ba) & BDDIR_UPPER_MASK)<<2 | \ |
230 | (UINT64_CAST (_ba) & 0x1f << 4) << 3) | 230 | (UINT64_CAST(_ba) & 0x1f << 4) << 3) |
231 | 231 | ||
232 | #define BDPRT_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ | 232 | #define BDPRT_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ |
233 | (UINT64_CAST (_ba) & BDDIR_UPPER_MASK)<<2) | 233 | (UINT64_CAST(_ba) & BDDIR_UPPER_MASK)<<2) |
234 | 234 | ||
235 | #define BDECC_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ | 235 | #define BDECC_TO_MEM(_ba) (UINT64_CAST (_ba) & NASID_MASK | \ |
236 | (UINT64_CAST (_ba) & BDECC_UPPER_MASK)<<2 | \ | 236 | (UINT64_CAST(_ba) & BDECC_UPPER_MASK)<<2 | \ |
237 | (UINT64_CAST (_ba) & 3) << 3) | 237 | (UINT64_CAST(_ba) & 3) << 3) |
238 | #endif /* CONFIG_SGI_IP27 */ | 238 | #endif /* CONFIG_SGI_IP27 */ |
239 | 239 | ||
240 | 240 | ||
@@ -282,7 +282,7 @@ | |||
282 | * the base of the register space. | 282 | * the base of the register space. |
283 | */ | 283 | */ |
284 | #define HUB_REG_PTR(_base, _off) \ | 284 | #define HUB_REG_PTR(_base, _off) \ |
285 | (HUBREG_CAST ((__psunsigned_t)(_base) + (__psunsigned_t)(_off))) | 285 | (HUBREG_CAST((__psunsigned_t)(_base) + (__psunsigned_t)(_off))) |
286 | 286 | ||
287 | #define HUB_REG_PTR_L(_base, _off) \ | 287 | #define HUB_REG_PTR_L(_base, _off) \ |
288 | HUB_L(HUB_REG_PTR((_base), (_off))) | 288 | HUB_L(HUB_REG_PTR((_base), (_off))) |
diff --git a/include/asm-mips/sn/arch.h b/include/asm-mips/sn/arch.h index da523de628be..bd75945e10ff 100644 --- a/include/asm-mips/sn/arch.h +++ b/include/asm-mips/sn/arch.h | |||
@@ -19,8 +19,8 @@ | |||
19 | 19 | ||
20 | typedef u64 hubreg_t; | 20 | typedef u64 hubreg_t; |
21 | 21 | ||
22 | #define cputonasid(cpu) (cpu_data[(cpu)].p_nasid) | 22 | #define cputonasid(cpu) (sn_cpu_info[(cpu)].p_nasid) |
23 | #define cputoslice(cpu) (cpu_data[(cpu)].p_slice) | 23 | #define cputoslice(cpu) (sn_cpu_info[(cpu)].p_slice) |
24 | #define makespnum(_nasid, _slice) \ | 24 | #define makespnum(_nasid, _slice) \ |
25 | (((_nasid) << CPUS_PER_NODE_SHFT) | (_slice)) | 25 | (((_nasid) << CPUS_PER_NODE_SHFT) | (_slice)) |
26 | 26 | ||
diff --git a/include/asm-mips/sn/io.h b/include/asm-mips/sn/io.h index ab2fa8cd2627..24c6775fbb0f 100644 --- a/include/asm-mips/sn/io.h +++ b/include/asm-mips/sn/io.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #ifndef _ASM_SN_IO_H | 9 | #ifndef _ASM_SN_IO_H |
10 | #define _ASM_SN_IO_H | 10 | #define _ASM_SN_IO_H |
11 | 11 | ||
12 | #if defined (CONFIG_SGI_IP27) | 12 | #if defined(CONFIG_SGI_IP27) |
13 | #include <asm/sn/sn0/hubio.h> | 13 | #include <asm/sn/sn0/hubio.h> |
14 | #endif | 14 | #endif |
15 | 15 | ||
diff --git a/include/asm-mips/sn/klconfig.h b/include/asm-mips/sn/klconfig.h index 82aeb9e322db..96cfd2ab1bcd 100644 --- a/include/asm-mips/sn/klconfig.h +++ b/include/asm-mips/sn/klconfig.h | |||
@@ -51,8 +51,8 @@ | |||
51 | 51 | ||
52 | #if defined(CONFIG_SGI_IP27) || defined(CONFIG_SGI_IP35) | 52 | #if defined(CONFIG_SGI_IP27) || defined(CONFIG_SGI_IP35) |
53 | #include <asm/sn/agent.h> | 53 | #include <asm/sn/agent.h> |
54 | #include <asm/arc/types.h> | 54 | #include <asm/fw/arc/types.h> |
55 | #include <asm/arc/hinv.h> | 55 | #include <asm/fw/arc/hinv.h> |
56 | #if defined(CONFIG_SGI_IP35) | 56 | #if defined(CONFIG_SGI_IP35) |
57 | // The hack file has to be before vector and after sn0_fru.... | 57 | // The hack file has to be before vector and after sn0_fru.... |
58 | #include <asm/hack.h> | 58 | #include <asm/hack.h> |
@@ -405,7 +405,7 @@ typedef struct kl_config_hdr { | |||
405 | #define KLTYPE(_x) ((_x) & KLTYPE_MASK) | 405 | #define KLTYPE(_x) ((_x) & KLTYPE_MASK) |
406 | #define IS_MIO_PRESENT(l) ((l->brd_type == KLTYPE_BASEIO) && \ | 406 | #define IS_MIO_PRESENT(l) ((l->brd_type == KLTYPE_BASEIO) && \ |
407 | (l->brd_flags & SECOND_NIC_PRESENT)) | 407 | (l->brd_flags & SECOND_NIC_PRESENT)) |
408 | #define IS_MIO_IOC3(l,n) (IS_MIO_PRESENT(l) && (n > 2)) | 408 | #define IS_MIO_IOC3(l, n) (IS_MIO_PRESENT(l) && (n > 2)) |
409 | 409 | ||
410 | /* | 410 | /* |
411 | * board structures | 411 | * board structures |
diff --git a/include/asm-mips/sn/kldir.h b/include/asm-mips/sn/kldir.h index 0573cbffc104..1327e12e9645 100644 --- a/include/asm-mips/sn/kldir.h +++ b/include/asm-mips/sn/kldir.h | |||
@@ -140,7 +140,7 @@ | |||
140 | */ | 140 | */ |
141 | #define SYMMON_STACK_SIZE 0x8000 | 141 | #define SYMMON_STACK_SIZE 0x8000 |
142 | 142 | ||
143 | #if defined (PROM) | 143 | #if defined(PROM) |
144 | 144 | ||
145 | /* | 145 | /* |
146 | * These defines are prom version dependent. No code other than the IP27 | 146 | * These defines are prom version dependent. No code other than the IP27 |
diff --git a/include/asm-mips/sn/sn0/addrs.h b/include/asm-mips/sn/sn0/addrs.h index 9e8cc52910f6..b06190093bbc 100644 --- a/include/asm-mips/sn/sn0/addrs.h +++ b/include/asm-mips/sn/sn0/addrs.h | |||
@@ -91,7 +91,7 @@ | |||
91 | : RAW_NODE_SWIN_BASE(nasid, widget)) | 91 | : RAW_NODE_SWIN_BASE(nasid, widget)) |
92 | #else /* __ASSEMBLY__ */ | 92 | #else /* __ASSEMBLY__ */ |
93 | #define NODE_SWIN_BASE(nasid, widget) \ | 93 | #define NODE_SWIN_BASE(nasid, widget) \ |
94 | (NODE_IO_BASE(nasid) + (UINT64_CAST (widget) << SWIN_SIZE_BITS)) | 94 | (NODE_IO_BASE(nasid) + (UINT64_CAST(widget) << SWIN_SIZE_BITS)) |
95 | #endif /* __ASSEMBLY__ */ | 95 | #endif /* __ASSEMBLY__ */ |
96 | 96 | ||
97 | /* | 97 | /* |
@@ -106,7 +106,7 @@ | |||
106 | #define BWIN_WIDGET_MASK 0x7 | 106 | #define BWIN_WIDGET_MASK 0x7 |
107 | #define NODE_BWIN_BASE0(nasid) (NODE_IO_BASE(nasid) + BWIN_SIZE) | 107 | #define NODE_BWIN_BASE0(nasid) (NODE_IO_BASE(nasid) + BWIN_SIZE) |
108 | #define NODE_BWIN_BASE(nasid, bigwin) (NODE_BWIN_BASE0(nasid) + \ | 108 | #define NODE_BWIN_BASE(nasid, bigwin) (NODE_BWIN_BASE0(nasid) + \ |
109 | (UINT64_CAST (bigwin) << BWIN_SIZE_BITS)) | 109 | (UINT64_CAST(bigwin) << BWIN_SIZE_BITS)) |
110 | 110 | ||
111 | #define BWIN_WIDGETADDR(addr) ((addr) & BWIN_SIZEMASK) | 111 | #define BWIN_WIDGETADDR(addr) ((addr) & BWIN_SIZEMASK) |
112 | #define BWIN_WINDOWNUM(addr) (((addr) >> BWIN_SIZE_BITS) & BWIN_WIDGET_MASK) | 112 | #define BWIN_WINDOWNUM(addr) (((addr) >> BWIN_SIZE_BITS) & BWIN_WIDGET_MASK) |
@@ -259,7 +259,7 @@ | |||
259 | * CACHE_ERR_SP_PTR could either contain an address to the stack, or | 259 | * CACHE_ERR_SP_PTR could either contain an address to the stack, or |
260 | * the stack could start at CACHE_ERR_SP_PTR | 260 | * the stack could start at CACHE_ERR_SP_PTR |
261 | */ | 261 | */ |
262 | #if defined (HUB_ERR_STS_WAR) | 262 | #if defined(HUB_ERR_STS_WAR) |
263 | #define CACHE_ERR_EFRAME 0x480 | 263 | #define CACHE_ERR_EFRAME 0x480 |
264 | #else /* HUB_ERR_STS_WAR */ | 264 | #else /* HUB_ERR_STS_WAR */ |
265 | #define CACHE_ERR_EFRAME 0x400 | 265 | #define CACHE_ERR_EFRAME 0x400 |
@@ -275,7 +275,7 @@ | |||
275 | 275 | ||
276 | #define _ARCSPROM | 276 | #define _ARCSPROM |
277 | 277 | ||
278 | #if defined (HUB_ERR_STS_WAR) | 278 | #if defined(HUB_ERR_STS_WAR) |
279 | 279 | ||
280 | #define ERR_STS_WAR_REGISTER IIO_IIBUSERR | 280 | #define ERR_STS_WAR_REGISTER IIO_IIBUSERR |
281 | #define ERR_STS_WAR_ADDR LOCAL_HUB_ADDR(IIO_IIBUSERR) | 281 | #define ERR_STS_WAR_ADDR LOCAL_HUB_ADDR(IIO_IIBUSERR) |
diff --git a/include/asm-mips/sni.h b/include/asm-mips/sni.h index ddaf36a1e389..4d43dbb7f8b8 100644 --- a/include/asm-mips/sni.h +++ b/include/asm-mips/sni.h | |||
@@ -194,17 +194,17 @@ extern unsigned int sni_brd_type; | |||
194 | #define PCIMT_INT_ACKNOWLEDGE 0xba000000 | 194 | #define PCIMT_INT_ACKNOWLEDGE 0xba000000 |
195 | 195 | ||
196 | /* board specific init functions */ | 196 | /* board specific init functions */ |
197 | extern void sni_a20r_init (void); | 197 | extern void sni_a20r_init(void); |
198 | extern void sni_pcit_init (void); | 198 | extern void sni_pcit_init(void); |
199 | extern void sni_rm200_init (void); | 199 | extern void sni_rm200_init(void); |
200 | extern void sni_pcimt_init (void); | 200 | extern void sni_pcimt_init(void); |
201 | 201 | ||
202 | /* board specific irq init functions */ | 202 | /* board specific irq init functions */ |
203 | extern void sni_a20r_irq_init (void); | 203 | extern void sni_a20r_irq_init(void); |
204 | extern void sni_pcit_irq_init (void); | 204 | extern void sni_pcit_irq_init(void); |
205 | extern void sni_pcit_cplus_irq_init (void); | 205 | extern void sni_pcit_cplus_irq_init(void); |
206 | extern void sni_rm200_irq_init (void); | 206 | extern void sni_rm200_irq_init(void); |
207 | extern void sni_pcimt_irq_init (void); | 207 | extern void sni_pcimt_irq_init(void); |
208 | 208 | ||
209 | /* timer inits */ | 209 | /* timer inits */ |
210 | extern void sni_cpu_time_init(void); | 210 | extern void sni_cpu_time_init(void); |
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h index ed33366b85b8..fb41a8d76392 100644 --- a/include/asm-mips/stackframe.h +++ b/include/asm-mips/stackframe.h | |||
@@ -91,14 +91,14 @@ | |||
91 | #else | 91 | #else |
92 | MFC0 k0, CP0_CONTEXT | 92 | MFC0 k0, CP0_CONTEXT |
93 | #endif | 93 | #endif |
94 | #if defined(CONFIG_BUILD_ELF64) || (defined(CONFIG_64BIT) && __GNUC__ < 4) | 94 | #if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) |
95 | lui k1, %hi(kernelsp) | ||
96 | #else | ||
95 | lui k1, %highest(kernelsp) | 97 | lui k1, %highest(kernelsp) |
96 | daddiu k1, %higher(kernelsp) | 98 | daddiu k1, %higher(kernelsp) |
97 | dsll k1, 16 | 99 | dsll k1, 16 |
98 | daddiu k1, %hi(kernelsp) | 100 | daddiu k1, %hi(kernelsp) |
99 | dsll k1, 16 | 101 | dsll k1, 16 |
100 | #else | ||
101 | lui k1, %hi(kernelsp) | ||
102 | #endif | 102 | #endif |
103 | LONG_SRL k0, PTEBASE_SHIFT | 103 | LONG_SRL k0, PTEBASE_SHIFT |
104 | LONG_ADDU k1, k0 | 104 | LONG_ADDU k1, k0 |
@@ -116,14 +116,14 @@ | |||
116 | .endm | 116 | .endm |
117 | #else | 117 | #else |
118 | .macro get_saved_sp /* Uniprocessor variation */ | 118 | .macro get_saved_sp /* Uniprocessor variation */ |
119 | #if defined(CONFIG_BUILD_ELF64) || (defined(CONFIG_64BIT) && __GNUC__ < 4) | 119 | #if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) |
120 | lui k1, %hi(kernelsp) | ||
121 | #else | ||
120 | lui k1, %highest(kernelsp) | 122 | lui k1, %highest(kernelsp) |
121 | daddiu k1, %higher(kernelsp) | 123 | daddiu k1, %higher(kernelsp) |
122 | dsll k1, k1, 16 | 124 | dsll k1, k1, 16 |
123 | daddiu k1, %hi(kernelsp) | 125 | daddiu k1, %hi(kernelsp) |
124 | dsll k1, k1, 16 | 126 | dsll k1, k1, 16 |
125 | #else | ||
126 | lui k1, %hi(kernelsp) | ||
127 | #endif | 127 | #endif |
128 | LONG_L k1, %lo(kernelsp)(k1) | 128 | LONG_L k1, %lo(kernelsp)(k1) |
129 | .endm | 129 | .endm |
@@ -393,11 +393,11 @@ | |||
393 | * and disable interrupts only for the | 393 | * and disable interrupts only for the |
394 | * current TC, using the TCStatus register. | 394 | * current TC, using the TCStatus register. |
395 | */ | 395 | */ |
396 | mfc0 t0,CP0_TCSTATUS | 396 | mfc0 t0, CP0_TCSTATUS |
397 | /* Fortunately CU 0 is in the same place in both registers */ | 397 | /* Fortunately CU 0 is in the same place in both registers */ |
398 | /* Set TCU0, TMX, TKSU (for later inversion) and IXMT */ | 398 | /* Set TCU0, TMX, TKSU (for later inversion) and IXMT */ |
399 | li t1, ST0_CU0 | 0x08001c00 | 399 | li t1, ST0_CU0 | 0x08001c00 |
400 | or t0,t1 | 400 | or t0, t1 |
401 | /* Clear TKSU, leave IXMT */ | 401 | /* Clear TKSU, leave IXMT */ |
402 | xori t0, 0x00001800 | 402 | xori t0, 0x00001800 |
403 | mtc0 t0, CP0_TCSTATUS | 403 | mtc0 t0, CP0_TCSTATUS |
@@ -429,11 +429,11 @@ | |||
429 | * current TC, using the TCStatus register. | 429 | * current TC, using the TCStatus register. |
430 | */ | 430 | */ |
431 | _ehb | 431 | _ehb |
432 | mfc0 t0,CP0_TCSTATUS | 432 | mfc0 t0, CP0_TCSTATUS |
433 | /* Fortunately CU 0 is in the same place in both registers */ | 433 | /* Fortunately CU 0 is in the same place in both registers */ |
434 | /* Set TCU0, TKSU (for later inversion) and IXMT */ | 434 | /* Set TCU0, TKSU (for later inversion) and IXMT */ |
435 | li t1, ST0_CU0 | 0x08001c00 | 435 | li t1, ST0_CU0 | 0x08001c00 |
436 | or t0,t1 | 436 | or t0, t1 |
437 | /* Clear TKSU *and* IXMT */ | 437 | /* Clear TKSU *and* IXMT */ |
438 | xori t0, 0x00001c00 | 438 | xori t0, 0x00001c00 |
439 | mtc0 t0, CP0_TCSTATUS | 439 | mtc0 t0, CP0_TCSTATUS |
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 357251f42518..90e4b403f531 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | #include <asm/addrspace.h> | 18 | #include <asm/addrspace.h> |
19 | #include <asm/barrier.h> | 19 | #include <asm/barrier.h> |
20 | #include <asm/cmpxchg.h> | ||
20 | #include <asm/cpu-features.h> | 21 | #include <asm/cpu-features.h> |
21 | #include <asm/dsp.h> | 22 | #include <asm/dsp.h> |
22 | #include <asm/war.h> | 23 | #include <asm/war.h> |
@@ -61,7 +62,7 @@ do { \ | |||
61 | #define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) | 62 | #define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) |
62 | #endif | 63 | #endif |
63 | 64 | ||
64 | #define switch_to(prev,next,last) \ | 65 | #define switch_to(prev, next, last) \ |
65 | do { \ | 66 | do { \ |
66 | __mips_mt_fpaff_switch_to(prev); \ | 67 | __mips_mt_fpaff_switch_to(prev); \ |
67 | if (cpu_has_dsp) \ | 68 | if (cpu_has_dsp) \ |
@@ -192,273 +193,13 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz | |||
192 | return x; | 193 | return x; |
193 | } | 194 | } |
194 | 195 | ||
195 | #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) | 196 | #define xchg(ptr, x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) |
196 | 197 | ||
197 | #define __HAVE_ARCH_CMPXCHG 1 | 198 | extern void set_handler(unsigned long offset, void *addr, unsigned long len); |
198 | 199 | extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len); | |
199 | static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old, | ||
200 | unsigned long new) | ||
201 | { | ||
202 | __u32 retval; | ||
203 | |||
204 | if (cpu_has_llsc && R10000_LLSC_WAR) { | ||
205 | __asm__ __volatile__( | ||
206 | " .set push \n" | ||
207 | " .set noat \n" | ||
208 | " .set mips3 \n" | ||
209 | "1: ll %0, %2 # __cmpxchg_u32 \n" | ||
210 | " bne %0, %z3, 2f \n" | ||
211 | " .set mips0 \n" | ||
212 | " move $1, %z4 \n" | ||
213 | " .set mips3 \n" | ||
214 | " sc $1, %1 \n" | ||
215 | " beqzl $1, 1b \n" | ||
216 | "2: \n" | ||
217 | " .set pop \n" | ||
218 | : "=&r" (retval), "=R" (*m) | ||
219 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
220 | : "memory"); | ||
221 | } else if (cpu_has_llsc) { | ||
222 | __asm__ __volatile__( | ||
223 | " .set push \n" | ||
224 | " .set noat \n" | ||
225 | " .set mips3 \n" | ||
226 | "1: ll %0, %2 # __cmpxchg_u32 \n" | ||
227 | " bne %0, %z3, 2f \n" | ||
228 | " .set mips0 \n" | ||
229 | " move $1, %z4 \n" | ||
230 | " .set mips3 \n" | ||
231 | " sc $1, %1 \n" | ||
232 | " beqz $1, 3f \n" | ||
233 | "2: \n" | ||
234 | " .subsection 2 \n" | ||
235 | "3: b 1b \n" | ||
236 | " .previous \n" | ||
237 | " .set pop \n" | ||
238 | : "=&r" (retval), "=R" (*m) | ||
239 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
240 | : "memory"); | ||
241 | } else { | ||
242 | unsigned long flags; | ||
243 | |||
244 | raw_local_irq_save(flags); | ||
245 | retval = *m; | ||
246 | if (retval == old) | ||
247 | *m = new; | ||
248 | raw_local_irq_restore(flags); /* implies memory barrier */ | ||
249 | } | ||
250 | |||
251 | smp_llsc_mb(); | ||
252 | |||
253 | return retval; | ||
254 | } | ||
255 | |||
256 | static inline unsigned long __cmpxchg_u32_local(volatile int * m, | ||
257 | unsigned long old, unsigned long new) | ||
258 | { | ||
259 | __u32 retval; | ||
260 | |||
261 | if (cpu_has_llsc && R10000_LLSC_WAR) { | ||
262 | __asm__ __volatile__( | ||
263 | " .set push \n" | ||
264 | " .set noat \n" | ||
265 | " .set mips3 \n" | ||
266 | "1: ll %0, %2 # __cmpxchg_u32 \n" | ||
267 | " bne %0, %z3, 2f \n" | ||
268 | " .set mips0 \n" | ||
269 | " move $1, %z4 \n" | ||
270 | " .set mips3 \n" | ||
271 | " sc $1, %1 \n" | ||
272 | " beqzl $1, 1b \n" | ||
273 | "2: \n" | ||
274 | " .set pop \n" | ||
275 | : "=&r" (retval), "=R" (*m) | ||
276 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
277 | : "memory"); | ||
278 | } else if (cpu_has_llsc) { | ||
279 | __asm__ __volatile__( | ||
280 | " .set push \n" | ||
281 | " .set noat \n" | ||
282 | " .set mips3 \n" | ||
283 | "1: ll %0, %2 # __cmpxchg_u32 \n" | ||
284 | " bne %0, %z3, 2f \n" | ||
285 | " .set mips0 \n" | ||
286 | " move $1, %z4 \n" | ||
287 | " .set mips3 \n" | ||
288 | " sc $1, %1 \n" | ||
289 | " beqz $1, 1b \n" | ||
290 | "2: \n" | ||
291 | " .set pop \n" | ||
292 | : "=&r" (retval), "=R" (*m) | ||
293 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
294 | : "memory"); | ||
295 | } else { | ||
296 | unsigned long flags; | ||
297 | |||
298 | local_irq_save(flags); | ||
299 | retval = *m; | ||
300 | if (retval == old) | ||
301 | *m = new; | ||
302 | local_irq_restore(flags); /* implies memory barrier */ | ||
303 | } | ||
304 | |||
305 | return retval; | ||
306 | } | ||
307 | |||
308 | #ifdef CONFIG_64BIT | ||
309 | static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old, | ||
310 | unsigned long new) | ||
311 | { | ||
312 | __u64 retval; | ||
313 | |||
314 | if (cpu_has_llsc && R10000_LLSC_WAR) { | ||
315 | __asm__ __volatile__( | ||
316 | " .set push \n" | ||
317 | " .set noat \n" | ||
318 | " .set mips3 \n" | ||
319 | "1: lld %0, %2 # __cmpxchg_u64 \n" | ||
320 | " bne %0, %z3, 2f \n" | ||
321 | " move $1, %z4 \n" | ||
322 | " scd $1, %1 \n" | ||
323 | " beqzl $1, 1b \n" | ||
324 | "2: \n" | ||
325 | " .set pop \n" | ||
326 | : "=&r" (retval), "=R" (*m) | ||
327 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
328 | : "memory"); | ||
329 | } else if (cpu_has_llsc) { | ||
330 | __asm__ __volatile__( | ||
331 | " .set push \n" | ||
332 | " .set noat \n" | ||
333 | " .set mips3 \n" | ||
334 | "1: lld %0, %2 # __cmpxchg_u64 \n" | ||
335 | " bne %0, %z3, 2f \n" | ||
336 | " move $1, %z4 \n" | ||
337 | " scd $1, %1 \n" | ||
338 | " beqz $1, 3f \n" | ||
339 | "2: \n" | ||
340 | " .subsection 2 \n" | ||
341 | "3: b 1b \n" | ||
342 | " .previous \n" | ||
343 | " .set pop \n" | ||
344 | : "=&r" (retval), "=R" (*m) | ||
345 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
346 | : "memory"); | ||
347 | } else { | ||
348 | unsigned long flags; | ||
349 | |||
350 | raw_local_irq_save(flags); | ||
351 | retval = *m; | ||
352 | if (retval == old) | ||
353 | *m = new; | ||
354 | raw_local_irq_restore(flags); /* implies memory barrier */ | ||
355 | } | ||
356 | |||
357 | smp_llsc_mb(); | ||
358 | |||
359 | return retval; | ||
360 | } | ||
361 | |||
362 | static inline unsigned long __cmpxchg_u64_local(volatile int * m, | ||
363 | unsigned long old, unsigned long new) | ||
364 | { | ||
365 | __u64 retval; | ||
366 | |||
367 | if (cpu_has_llsc && R10000_LLSC_WAR) { | ||
368 | __asm__ __volatile__( | ||
369 | " .set push \n" | ||
370 | " .set noat \n" | ||
371 | " .set mips3 \n" | ||
372 | "1: lld %0, %2 # __cmpxchg_u64 \n" | ||
373 | " bne %0, %z3, 2f \n" | ||
374 | " move $1, %z4 \n" | ||
375 | " scd $1, %1 \n" | ||
376 | " beqzl $1, 1b \n" | ||
377 | "2: \n" | ||
378 | " .set pop \n" | ||
379 | : "=&r" (retval), "=R" (*m) | ||
380 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
381 | : "memory"); | ||
382 | } else if (cpu_has_llsc) { | ||
383 | __asm__ __volatile__( | ||
384 | " .set push \n" | ||
385 | " .set noat \n" | ||
386 | " .set mips3 \n" | ||
387 | "1: lld %0, %2 # __cmpxchg_u64 \n" | ||
388 | " bne %0, %z3, 2f \n" | ||
389 | " move $1, %z4 \n" | ||
390 | " scd $1, %1 \n" | ||
391 | " beqz $1, 1b \n" | ||
392 | "2: \n" | ||
393 | " .set pop \n" | ||
394 | : "=&r" (retval), "=R" (*m) | ||
395 | : "R" (*m), "Jr" (old), "Jr" (new) | ||
396 | : "memory"); | ||
397 | } else { | ||
398 | unsigned long flags; | ||
399 | |||
400 | local_irq_save(flags); | ||
401 | retval = *m; | ||
402 | if (retval == old) | ||
403 | *m = new; | ||
404 | local_irq_restore(flags); /* implies memory barrier */ | ||
405 | } | ||
406 | |||
407 | return retval; | ||
408 | } | ||
409 | |||
410 | #else | ||
411 | extern unsigned long __cmpxchg_u64_unsupported_on_32bit_kernels( | ||
412 | volatile int * m, unsigned long old, unsigned long new); | ||
413 | #define __cmpxchg_u64 __cmpxchg_u64_unsupported_on_32bit_kernels | ||
414 | extern unsigned long __cmpxchg_u64_local_unsupported_on_32bit_kernels( | ||
415 | volatile int * m, unsigned long old, unsigned long new); | ||
416 | #define __cmpxchg_u64_local __cmpxchg_u64_local_unsupported_on_32bit_kernels | ||
417 | #endif | ||
418 | |||
419 | /* This function doesn't exist, so you'll get a linker error | ||
420 | if something tries to do an invalid cmpxchg(). */ | ||
421 | extern void __cmpxchg_called_with_bad_pointer(void); | ||
422 | |||
423 | static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old, | ||
424 | unsigned long new, int size) | ||
425 | { | ||
426 | switch (size) { | ||
427 | case 4: | ||
428 | return __cmpxchg_u32(ptr, old, new); | ||
429 | case 8: | ||
430 | return __cmpxchg_u64(ptr, old, new); | ||
431 | } | ||
432 | __cmpxchg_called_with_bad_pointer(); | ||
433 | return old; | ||
434 | } | ||
435 | |||
436 | static inline unsigned long __cmpxchg_local(volatile void * ptr, | ||
437 | unsigned long old, unsigned long new, int size) | ||
438 | { | ||
439 | switch (size) { | ||
440 | case 4: | ||
441 | return __cmpxchg_u32_local(ptr, old, new); | ||
442 | case 8: | ||
443 | return __cmpxchg_u64_local(ptr, old, new); | ||
444 | } | ||
445 | __cmpxchg_called_with_bad_pointer(); | ||
446 | return old; | ||
447 | } | ||
448 | |||
449 | #define cmpxchg(ptr,old,new) \ | ||
450 | ((__typeof__(*(ptr)))__cmpxchg((ptr), \ | ||
451 | (unsigned long)(old), (unsigned long)(new),sizeof(*(ptr)))) | ||
452 | |||
453 | #define cmpxchg_local(ptr,old,new) \ | ||
454 | ((__typeof__(*(ptr)))__cmpxchg_local((ptr), \ | ||
455 | (unsigned long)(old), (unsigned long)(new),sizeof(*(ptr)))) | ||
456 | |||
457 | extern void set_handler (unsigned long offset, void *addr, unsigned long len); | ||
458 | extern void set_uncached_handler (unsigned long offset, void *addr, unsigned long len); | ||
459 | 200 | ||
460 | typedef void (*vi_handler_t)(void); | 201 | typedef void (*vi_handler_t)(void); |
461 | extern void *set_vi_handler (int n, vi_handler_t addr); | 202 | extern void *set_vi_handler(int n, vi_handler_t addr); |
462 | 203 | ||
463 | extern void *set_except_vector(int n, void *addr); | 204 | extern void *set_except_vector(int n, void *addr); |
464 | extern unsigned long ebase; | 205 | extern unsigned long ebase; |
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h index a632cef830a2..35555bd5c52d 100644 --- a/include/asm-mips/time.h +++ b/include/asm-mips/time.h | |||
@@ -26,15 +26,13 @@ | |||
26 | extern spinlock_t rtc_lock; | 26 | extern spinlock_t rtc_lock; |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * RTC ops. By default, they point to no-RTC functions. | 29 | * RTC ops. By default, they point to weak no-op RTC functions. |
30 | * rtc_mips_get_time - mktime(year, mon, day, hour, min, sec) in seconds. | ||
31 | * rtc_mips_set_time - reverse the above translation and set time to RTC. | 30 | * rtc_mips_set_time - reverse the above translation and set time to RTC. |
32 | * rtc_mips_set_mmss - similar to rtc_set_time, but only min and sec need | 31 | * rtc_mips_set_mmss - similar to rtc_set_time, but only min and sec need |
33 | * to be set. Used by RTC sync-up. | 32 | * to be set. Used by RTC sync-up. |
34 | */ | 33 | */ |
35 | extern unsigned long (*rtc_mips_get_time)(void); | 34 | extern int rtc_mips_set_time(unsigned long); |
36 | extern int (*rtc_mips_set_time)(unsigned long); | 35 | extern int rtc_mips_set_mmss(unsigned long); |
37 | extern int (*rtc_mips_set_mmss)(unsigned long); | ||
38 | 36 | ||
39 | /* | 37 | /* |
40 | * Timer interrupt functions. | 38 | * Timer interrupt functions. |
@@ -51,35 +49,15 @@ extern void (*mips_timer_ack)(void); | |||
51 | extern struct clocksource clocksource_mips; | 49 | extern struct clocksource clocksource_mips; |
52 | 50 | ||
53 | /* | 51 | /* |
54 | * to_tm() converts system time back to (year, mon, day, hour, min, sec). | ||
55 | * It is intended to help implement rtc_set_time() functions. | ||
56 | * Copied from PPC implementation. | ||
57 | */ | ||
58 | extern void to_tm(unsigned long tim, struct rtc_time *tm); | ||
59 | |||
60 | /* | ||
61 | * high-level timer interrupt routines. | ||
62 | */ | ||
63 | extern irqreturn_t timer_interrupt(int irq, void *dev_id); | ||
64 | |||
65 | /* | ||
66 | * the corresponding low-level timer interrupt routine. | ||
67 | */ | ||
68 | extern asmlinkage void ll_timer_interrupt(int irq); | ||
69 | |||
70 | /* | ||
71 | * profiling and process accouting is done separately in local_timer_interrupt | 52 | * profiling and process accouting is done separately in local_timer_interrupt |
72 | */ | 53 | */ |
73 | extern void local_timer_interrupt(int irq, void *dev_id); | 54 | extern void local_timer_interrupt(int irq, void *dev_id); |
74 | extern asmlinkage void ll_local_timer_interrupt(int irq); | ||
75 | 55 | ||
76 | /* | 56 | /* |
77 | * board specific routines required by time_init(). | 57 | * board specific routines required by time_init(). |
78 | * board_time_init is defaulted to NULL and can remain so. | ||
79 | * plat_timer_setup must be setup properly in machine setup routine. | ||
80 | */ | 58 | */ |
81 | struct irqaction; | 59 | struct irqaction; |
82 | extern void (*board_time_init)(void); | 60 | extern void plat_time_init(void); |
83 | extern void plat_timer_setup(struct irqaction *irq); | 61 | extern void plat_timer_setup(struct irqaction *irq); |
84 | 62 | ||
85 | /* | 63 | /* |
@@ -89,4 +67,15 @@ extern void plat_timer_setup(struct irqaction *irq); | |||
89 | */ | 67 | */ |
90 | extern unsigned int mips_hpt_frequency; | 68 | extern unsigned int mips_hpt_frequency; |
91 | 69 | ||
70 | /* | ||
71 | * The performance counter IRQ on MIPS is a close relative to the timer IRQ | ||
72 | * so it lives here. | ||
73 | */ | ||
74 | extern int (*perf_irq)(void); | ||
75 | |||
76 | /* | ||
77 | * Initialize the calling CPU's compare interrupt as clockevent device | ||
78 | */ | ||
79 | extern void mips_clockevent_init(void); | ||
80 | |||
92 | #endif /* _ASM_TIME_H */ | 81 | #endif /* _ASM_TIME_H */ |
diff --git a/include/asm-mips/timex.h b/include/asm-mips/timex.h index b80de8e0fbbd..87c68ae76ff8 100644 --- a/include/asm-mips/timex.h +++ b/include/asm-mips/timex.h | |||
@@ -48,7 +48,7 @@ | |||
48 | 48 | ||
49 | typedef unsigned int cycles_t; | 49 | typedef unsigned int cycles_t; |
50 | 50 | ||
51 | static inline cycles_t get_cycles (void) | 51 | static inline cycles_t get_cycles(void) |
52 | { | 52 | { |
53 | return read_c0_count(); | 53 | return read_c0_count(); |
54 | } | 54 | } |
diff --git a/include/asm-mips/tlbflush.h b/include/asm-mips/tlbflush.h index 276be77c3e85..730e841fb08a 100644 --- a/include/asm-mips/tlbflush.h +++ b/include/asm-mips/tlbflush.h | |||
@@ -37,10 +37,10 @@ extern void flush_tlb_one(unsigned long vaddr); | |||
37 | 37 | ||
38 | #define flush_tlb_all() local_flush_tlb_all() | 38 | #define flush_tlb_all() local_flush_tlb_all() |
39 | #define flush_tlb_mm(mm) local_flush_tlb_mm(mm) | 39 | #define flush_tlb_mm(mm) local_flush_tlb_mm(mm) |
40 | #define flush_tlb_range(vma,vmaddr,end) local_flush_tlb_range(vma, vmaddr, end) | 40 | #define flush_tlb_range(vma, vmaddr, end) local_flush_tlb_range(vma, vmaddr, end) |
41 | #define flush_tlb_kernel_range(vmaddr,end) \ | 41 | #define flush_tlb_kernel_range(vmaddr,end) \ |
42 | local_flush_tlb_kernel_range(vmaddr, end) | 42 | local_flush_tlb_kernel_range(vmaddr, end) |
43 | #define flush_tlb_page(vma,page) local_flush_tlb_page(vma, page) | 43 | #define flush_tlb_page(vma, page) local_flush_tlb_page(vma, page) |
44 | #define flush_tlb_one(vaddr) local_flush_tlb_one(vaddr) | 44 | #define flush_tlb_one(vaddr) local_flush_tlb_one(vaddr) |
45 | 45 | ||
46 | #endif /* CONFIG_SMP */ | 46 | #endif /* CONFIG_SMP */ |
diff --git a/include/asm-mips/tx4927/toshiba_rbtx4927.h b/include/asm-mips/tx4927/toshiba_rbtx4927.h index a60649569c2c..b188a659ce02 100644 --- a/include/asm-mips/tx4927/toshiba_rbtx4927.h +++ b/include/asm-mips/tx4927/toshiba_rbtx4927.h | |||
@@ -28,24 +28,20 @@ | |||
28 | #define __ASM_TX4927_TOSHIBA_RBTX4927_H | 28 | #define __ASM_TX4927_TOSHIBA_RBTX4927_H |
29 | 29 | ||
30 | #include <asm/tx4927/tx4927.h> | 30 | #include <asm/tx4927/tx4927.h> |
31 | #include <asm/tx4927/tx4927_mips.h> | ||
32 | #ifdef CONFIG_PCI | 31 | #ifdef CONFIG_PCI |
33 | #include <asm/tx4927/tx4927_pci.h> | 32 | #include <asm/tx4927/tx4927_pci.h> |
34 | #endif | 33 | #endif |
35 | 34 | ||
36 | #define TOSHIBA_RBTX4927_WR08(a,b) do { TX4927_WR08(a,b); wbflush(); } while ( 0 ) | ||
37 | |||
38 | |||
39 | #ifdef CONFIG_PCI | 35 | #ifdef CONFIG_PCI |
40 | #define TBTX4927_ISA_IO_OFFSET TX4927_PCIIO | 36 | #define TBTX4927_ISA_IO_OFFSET TX4927_PCIIO |
41 | #else | 37 | #else |
42 | #define TBTX4927_ISA_IO_OFFSET 0 | 38 | #define TBTX4927_ISA_IO_OFFSET 0 |
43 | #endif | 39 | #endif |
44 | 40 | ||
45 | #define RBTX4927_SW_RESET_DO 0xbc00f000 | 41 | #define RBTX4927_SW_RESET_DO (void __iomem *)0xbc00f000UL |
46 | #define RBTX4927_SW_RESET_DO_SET 0x01 | 42 | #define RBTX4927_SW_RESET_DO_SET 0x01 |
47 | 43 | ||
48 | #define RBTX4927_SW_RESET_ENABLE 0xbc00f002 | 44 | #define RBTX4927_SW_RESET_ENABLE (void __iomem *)0xbc00f002UL |
49 | #define RBTX4927_SW_RESET_ENABLE_SET 0x01 | 45 | #define RBTX4927_SW_RESET_ENABLE_SET 0x01 |
50 | 46 | ||
51 | 47 | ||
diff --git a/include/asm-mips/tx4927/tx4927.h b/include/asm-mips/tx4927/tx4927.h index 4bd4368e188c..193e80a17c12 100644 --- a/include/asm-mips/tx4927/tx4927.h +++ b/include/asm-mips/tx4927/tx4927.h | |||
@@ -27,447 +27,8 @@ | |||
27 | #ifndef __ASM_TX4927_TX4927_H | 27 | #ifndef __ASM_TX4927_TX4927_H |
28 | #define __ASM_TX4927_TX4927_H | 28 | #define __ASM_TX4927_TX4927_H |
29 | 29 | ||
30 | #include <asm/tx4927/tx4927_mips.h> | ||
31 | #include <asm/txx9irq.h> | 30 | #include <asm/txx9irq.h> |
32 | 31 | ||
33 | /* | ||
34 | This register naming came from the integrated CPU/controller name TX4927 | ||
35 | followed by the device name from table 4.2.2 on page 4-3 and then followed | ||
36 | by the register name from table 4.2.3 on pages 4-4 to 4-8. The manaul | ||
37 | used was "TMPR4927BT Preliminary Rev 0.1 20.Jul.2001". | ||
38 | */ | ||
39 | |||
40 | #define TX4927_SIO_0_BASE | ||
41 | |||
42 | /* TX4927 controller */ | ||
43 | #define TX4927_BASE 0xfff1f0000 | ||
44 | #define TX4927_BASE 0xfff1f0000 | ||
45 | #define TX4927_LIMIT 0xfff1fffff | ||
46 | |||
47 | |||
48 | /* TX4927 SDRAM controller (64-bit registers) */ | ||
49 | #define TX4927_SDRAMC_BASE 0x8000 | ||
50 | #define TX4927_SDRAMC_SDCCR0 0x8000 | ||
51 | #define TX4927_SDRAMC_SDCCR1 0x8008 | ||
52 | #define TX4927_SDRAMC_SDCCR2 0x8010 | ||
53 | #define TX4927_SDRAMC_SDCCR3 0x8018 | ||
54 | #define TX4927_SDRAMC_SDCTR 0x8040 | ||
55 | #define TX4927_SDRAMC_SDCMD 0x8058 | ||
56 | #define TX4927_SDRAMC_LIMIT 0x8fff | ||
57 | |||
58 | |||
59 | /* TX4927 external bus controller (64-bit registers) */ | ||
60 | #define TX4927_EBUSC_BASE 0x9000 | ||
61 | #define TX4927_EBUSC_EBCCR0 0x9000 | ||
62 | #define TX4927_EBUSC_EBCCR1 0x9008 | ||
63 | #define TX4927_EBUSC_EBCCR2 0x9010 | ||
64 | #define TX4927_EBUSC_EBCCR3 0x9018 | ||
65 | #define TX4927_EBUSC_EBCCR4 0x9020 | ||
66 | #define TX4927_EBUSC_EBCCR5 0x9028 | ||
67 | #define TX4927_EBUSC_EBCCR6 0x9030 | ||
68 | #define TX4927_EBUSC_EBCCR7 0x9008 | ||
69 | #define TX4927_EBUSC_LIMIT 0x9fff | ||
70 | |||
71 | |||
72 | /* TX4927 SDRRAM Error Check Correction (64-bit registers) */ | ||
73 | #define TX4927_ECC_BASE 0xa000 | ||
74 | #define TX4927_ECC_ECCCR 0xa000 | ||
75 | #define TX4927_ECC_ECCSR 0xa008 | ||
76 | #define TX4927_ECC_LIMIT 0xafff | ||
77 | |||
78 | |||
79 | /* TX4927 DMA Controller (64-bit registers) */ | ||
80 | #define TX4927_DMAC_BASE 0xb000 | ||
81 | #define TX4927_DMAC_TBD 0xb000 | ||
82 | #define TX4927_DMAC_LIMIT 0xbfff | ||
83 | |||
84 | |||
85 | /* TX4927 PCI Controller (32-bit registers) */ | ||
86 | #define TX4927_PCIC_BASE 0xd000 | ||
87 | #define TX4927_PCIC_TBD 0xb000 | ||
88 | #define TX4927_PCIC_LIMIT 0xdfff | ||
89 | |||
90 | |||
91 | /* TX4927 Configuration registers (64-bit registers) */ | ||
92 | #define TX4927_CONFIG_BASE 0xe000 | ||
93 | #define TX4927_CONFIG_CCFG 0xe000 | ||
94 | #define TX4927_CONFIG_CCFG_RESERVED_42_63 BM_63_42 | ||
95 | #define TX4927_CONFIG_CCFG_WDRST BM_41_41 | ||
96 | #define TX4927_CONFIG_CCFG_WDREXEN BM_40_40 | ||
97 | #define TX4927_CONFIG_CCFG_BCFG BM_39_32 | ||
98 | #define TX4927_CONFIG_CCFG_RESERVED_27_31 BM_31_27 | ||
99 | #define TX4927_CONFIG_CCFG_GTOT BM_26_25 | ||
100 | #define TX4927_CONFIG_CCFG_GTOT_4096 BM_26_25 | ||
101 | #define TX4927_CONFIG_CCFG_GTOT_2048 BM_26_26 | ||
102 | #define TX4927_CONFIG_CCFG_GTOT_1024 BM_25_25 | ||
103 | #define TX4927_CONFIG_CCFG_GTOT_0512 (~BM_26_25) | ||
104 | #define TX4927_CONFIG_CCFG_TINTDIS BM_24_24 | ||
105 | #define TX4927_CONFIG_CCFG_PCI66 BM_23_23 | ||
106 | #define TX4927_CONFIG_CCFG_PCIMODE BM_22_22 | ||
107 | #define TX4927_CONFIG_CCFG_RESERVED_20_21 BM_21_20 | ||
108 | #define TX4927_CONFIG_CCFG_DIVMODE BM_19_17 | ||
109 | #define TX4927_CONFIG_CCFG_DIVMODE_2_0 BM_19_19 | ||
110 | #define TX4927_CONFIG_CCFG_DIVMODE_3_0 (BM_19_19|BM_17_17) | ||
111 | #define TX4927_CONFIG_CCFG_DIVMODE_4_0 BM_19_18 | ||
112 | #define TX4927_CONFIG_CCFG_DIVMODE_2_5 BM_19_17 | ||
113 | #define TX4927_CONFIG_CCFG_DIVMODE_8_0 (~BM_19_17) | ||
114 | #define TX4927_CONFIG_CCFG_DIVMODE_12_0 BM_17_17 | ||
115 | #define TX4927_CONFIG_CCFG_DIVMODE_16_0 BM_18_18 | ||
116 | #define TX4927_CONFIG_CCFG_DIVMODE_10_0 BM_18_17 | ||
117 | #define TX4927_CONFIG_CCFG_BEOW BM_16_16 | ||
118 | #define TX4927_CONFIG_CCFG_WR BM_15_15 | ||
119 | #define TX4927_CONFIG_CCFG_TOE BM_14_14 | ||
120 | #define TX4927_CONFIG_CCFG_PCIARB BM_13_13 | ||
121 | #define TX4927_CONFIG_CCFG_PCIDIVMODE BM_12_11 | ||
122 | #define TX4927_CONFIG_CCFG_RESERVED_08_10 BM_10_08 | ||
123 | #define TX4927_CONFIG_CCFG_SYSSP BM_07_06 | ||
124 | #define TX4927_CONFIG_CCFG_RESERVED_03_05 BM_05_03 | ||
125 | #define TX4927_CONFIG_CCFG_ENDIAN BM_02_02 | ||
126 | #define TX4927_CONFIG_CCFG_ARMODE BM_01_01 | ||
127 | #define TX4927_CONFIG_CCFG_ACEHOLD BM_00_00 | ||
128 | #define TX4927_CONFIG_REVID 0xe008 | ||
129 | #define TX4927_CONFIG_REVID_RESERVED_32_63 BM_32_63 | ||
130 | #define TX4927_CONFIG_REVID_PCODE BM_16_31 | ||
131 | #define TX4927_CONFIG_REVID_MJERREV BM_12_15 | ||
132 | #define TX4927_CONFIG_REVID_MINEREV BM_08_11 | ||
133 | #define TX4927_CONFIG_REVID_MJREV BM_04_07 | ||
134 | #define TX4927_CONFIG_REVID_MINREV BM_00_03 | ||
135 | #define TX4927_CONFIG_PCFG 0xe010 | ||
136 | #define TX4927_CONFIG_PCFG_RESERVED_57_63 BM_57_63 | ||
137 | #define TX4927_CONFIG_PCFG_DRVDATA BM_56_56 | ||
138 | #define TX4927_CONFIG_PCFG_DRVCB BM_55_55 | ||
139 | #define TX4927_CONFIG_PCFG_DRVDQM BM_54_54 | ||
140 | #define TX4927_CONFIG_PCFG_DRVADDR BM_53_53 | ||
141 | #define TX4927_CONFIG_PCFG_DRVCKE BM_52_52 | ||
142 | #define TX4927_CONFIG_PCFG_DRVRAS BM_51_51 | ||
143 | #define TX4927_CONFIG_PCFG_DRVCAS BM_50_50 | ||
144 | #define TX4927_CONFIG_PCFG_DRVWE BM_49_49 | ||
145 | #define TX4927_CONFIG_PCFG_DRVCS3 BM_48_48 | ||
146 | #define TX4927_CONFIG_PCFG_DRVCS2 BM_47_47 | ||
147 | #define TX4927_CONFIG_PCFG_DRVCS1 BM_46_4k | ||
148 | #define TX4927_CONFIG_PCFG_DRVCS0 BM_45_45 | ||
149 | #define TX4927_CONFIG_PCFG_DRVCK3 BM_44_44 | ||
150 | #define TX4927_CONFIG_PCFG_DRVCK2 BM_43_43 | ||
151 | #define TX4927_CONFIG_PCFG_DRVCK1 BM_42_42 | ||
152 | #define TX4927_CONFIG_PCFG_DRVCK0 BM_41_41 | ||
153 | #define TX4927_CONFIG_PCFG_DRVCKIN BM_40_40 | ||
154 | #define TX4927_CONFIG_PCFG_RESERVED_33_39 BM_33_39 | ||
155 | #define TX4927_CONFIG_PCFG_BYPASS_PLL BM_32_32 | ||
156 | #define TX4927_CONFIG_PCFG_RESERVED_30_31 BM_30_31 | ||
157 | #define TX4927_CONFIG_PCFG_SDCLKDLY BM_28_29 | ||
158 | #define TX4927_CONFIG_PCFG_SDCLKDLY_DELAY_1 (~BM_28_29) | ||
159 | #define TX4927_CONFIG_PCFG_SDCLKDLY_DELAY_2 BM_28_28 | ||
160 | #define TX4927_CONFIG_PCFG_SDCLKDLY_DELAY_3 BM_29_29 | ||
161 | #define TX4927_CONFIG_PCFG_SDCLKDLY_DELAY_4 BM_28_29 | ||
162 | #define TX4927_CONFIG_PCFG_SYSCLKEN BM_27_27 | ||
163 | #define TX4927_CONFIG_PCFG_SDCLKEN3 BM_26_26 | ||
164 | #define TX4927_CONFIG_PCFG_SDCLKEN2 BM_25_25 | ||
165 | #define TX4927_CONFIG_PCFG_SDCLKEN1 BM_24_24 | ||
166 | #define TX4927_CONFIG_PCFG_SDCLKEN0 BM_23_23 | ||
167 | #define TX4927_CONFIG_PCFG_SDCLKINEN BM_22_22 | ||
168 | #define TX4927_CONFIG_PCFG_PCICLKEN5 BM_21_21 | ||
169 | #define TX4927_CONFIG_PCFG_PCICLKEN4 BM_20_20 | ||
170 | #define TX4927_CONFIG_PCFG_PCICLKEN3 BM_19_19 | ||
171 | #define TX4927_CONFIG_PCFG_PCICLKEN2 BM_18_18 | ||
172 | #define TX4927_CONFIG_PCFG_PCICLKEN1 BM_17_17 | ||
173 | #define TX4927_CONFIG_PCFG_PCICLKEN0 BM_16_16 | ||
174 | #define TX4927_CONFIG_PCFG_RESERVED_10_15 BM_10_15 | ||
175 | #define TX4927_CONFIG_PCFG_SEL2 BM_09_09 | ||
176 | #define TX4927_CONFIG_PCFG_SEL1 BM_08_08 | ||
177 | #define TX4927_CONFIG_PCFG_DMASEL3 BM_06_07 | ||
178 | #define TX4927_CONFIG_PCFG_DMASEL3_DMAREQ3 (~BM_06_07) | ||
179 | #define TX4927_CONFIG_PCFG_DMASEL3_SIO0 BM_06_06 | ||
180 | #define TX4927_CONFIG_PCFG_DMASEL3_ACLC3 BM_07_07 | ||
181 | #define TX4927_CONFIG_PCFG_DMASEL3_ACLC1 BM_06_07 | ||
182 | #define TX4927_CONFIG_PCFG_DMASEL2 BM_06_07 | ||
183 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_0_DMAREQ2 (~BM_06_07) | ||
184 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_0_SIO0 BM_06_06 | ||
185 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_0_RESERVED_10 BM_07_07 | ||
186 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_0_RESERVED_11 BM_06_07 | ||
187 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_1_ACLC1 (~BM_06_07) | ||
188 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_1_SIO0 BM_06_06 | ||
189 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_1_ACLC2 BM_07_07 | ||
190 | #define TX4927_CONFIG_PCFG_DMASEL2_SEL2_1_ACLC0 BM_06_07 | ||
191 | #define TX4927_CONFIG_PCFG_DMASEL1 BM_02_03 | ||
192 | #define TX4927_CONFIG_PCFG_DMASEL1_DMAREQ1 (~BM_02_03) | ||
193 | #define TX4927_CONFIG_PCFG_DMASEL1_SIO1 BM_02_02 | ||
194 | #define TX4927_CONFIG_PCFG_DMASEL1_ACLC1 BM_03_03 | ||
195 | #define TX4927_CONFIG_PCFG_DMASEL1_ACLC3 BM_02_03 | ||
196 | #define TX4927_CONFIG_PCFG_DMASEL0 BM_00_01 | ||
197 | #define TX4927_CONFIG_PCFG_DMASEL0_DMAREQ0 (~BM_00_01) | ||
198 | #define TX4927_CONFIG_PCFG_DMASEL0_SIO1 BM_00_00 | ||
199 | #define TX4927_CONFIG_PCFG_DMASEL0_ACLC0 BM_01_01 | ||
200 | #define TX4927_CONFIG_PCFG_DMASEL0_ACLC2 BM_00_01 | ||
201 | #define TX4927_CONFIG_TOEA 0xe018 | ||
202 | #define TX4927_CONFIG_TOEA_RESERVED_36_63 BM_36_63 | ||
203 | #define TX4927_CONFIG_TOEA_TOEA BM_00_35 | ||
204 | #define TX4927_CONFIG_CLKCTR 0xe020 | ||
205 | #define TX4927_CONFIG_CLKCTR_RESERVED_26_63 BM_26_63 | ||
206 | #define TX4927_CONFIG_CLKCTR_ACLCKD BM_25_25 | ||
207 | #define TX4927_CONFIG_CLKCTR_PIOCKD BM_24_24 | ||
208 | #define TX4927_CONFIG_CLKCTR_DMACKD BM_23_23 | ||
209 | #define TX4927_CONFIG_CLKCTR_PCICKD BM_22_22 | ||
210 | #define TX4927_CONFIG_CLKCTR_SET_21 BM_21_21 | ||
211 | #define TX4927_CONFIG_CLKCTR_TM0CKD BM_20_20 | ||
212 | #define TX4927_CONFIG_CLKCTR_TM1CKD BM_19_19 | ||
213 | #define TX4927_CONFIG_CLKCTR_TM2CKD BM_18_18 | ||
214 | #define TX4927_CONFIG_CLKCTR_SIO0CKD BM_17_17 | ||
215 | #define TX4927_CONFIG_CLKCTR_SIO1CKD BM_16_16 | ||
216 | #define TX4927_CONFIG_CLKCTR_RESERVED_10_15 BM_10_15 | ||
217 | #define TX4927_CONFIG_CLKCTR_ACLRST BM_09_09 | ||
218 | #define TX4927_CONFIG_CLKCTR_PIORST BM_08_08 | ||
219 | #define TX4927_CONFIG_CLKCTR_DMARST BM_07_07 | ||
220 | #define TX4927_CONFIG_CLKCTR_PCIRST BM_06_06 | ||
221 | #define TX4927_CONFIG_CLKCTR_RESERVED_05_05 BM_05_05 | ||
222 | #define TX4927_CONFIG_CLKCTR_TM0RST BM_04_04 | ||
223 | #define TX4927_CONFIG_CLKCTR_TM1RST BM_03_03 | ||
224 | #define TX4927_CONFIG_CLKCTR_TM2RST BM_02_02 | ||
225 | #define TX4927_CONFIG_CLKCTR_SIO0RST BM_01_01 | ||
226 | #define TX4927_CONFIG_CLKCTR_SIO1RST BM_00_00 | ||
227 | #define TX4927_CONFIG_GARBC 0xe030 | ||
228 | #define TX4927_CONFIG_GARBC_RESERVED_10_63 BM_10_63 | ||
229 | #define TX4927_CONFIG_GARBC_SET_09 BM_09_09 | ||
230 | #define TX4927_CONFIG_GARBC_ARBMD BM_08_08 | ||
231 | #define TX4927_CONFIG_GARBC_RESERVED_06_07 BM_06_07 | ||
232 | #define TX4927_CONFIG_GARBC_PRIORITY_H1 BM_04_05 | ||
233 | #define TX4927_CONFIG_GARBC_PRIORITY_H1_PCI (~BM_04_05) | ||
234 | #define TX4927_CONFIG_GARBC_PRIORITY_H1_PDMAC BM_04_04 | ||
235 | #define TX4927_CONFIG_GARBC_PRIORITY_H1_DMAC BM_05_05 | ||
236 | #define TX4927_CONFIG_GARBC_PRIORITY_H1_BAD_VALUE BM_04_05 | ||
237 | #define TX4927_CONFIG_GARBC_PRIORITY_H2 BM_02_03 | ||
238 | #define TX4927_CONFIG_GARBC_PRIORITY_H2_PCI (~BM_02_03) | ||
239 | #define TX4927_CONFIG_GARBC_PRIORITY_H2_PDMAC BM_02_02 | ||
240 | #define TX4927_CONFIG_GARBC_PRIORITY_H2_DMAC BM_03_03 | ||
241 | #define TX4927_CONFIG_GARBC_PRIORITY_H2_BAD_VALUE BM_02_03 | ||
242 | #define TX4927_CONFIG_GARBC_PRIORITY_H3 BM_00_01 | ||
243 | #define TX4927_CONFIG_GARBC_PRIORITY_H3_PCI (~BM_00_01) | ||
244 | #define TX4927_CONFIG_GARBC_PRIORITY_H3_PDMAC BM_00_00 | ||
245 | #define TX4927_CONFIG_GARBC_PRIORITY_H3_DMAC BM_01_01 | ||
246 | #define TX4927_CONFIG_GARBC_PRIORITY_H3_BAD_VALUE BM_00_01 | ||
247 | #define TX4927_CONFIG_RAMP 0xe048 | ||
248 | #define TX4927_CONFIG_RAMP_RESERVED_20_63 BM_20_63 | ||
249 | #define TX4927_CONFIG_RAMP_RAMP BM_00_19 | ||
250 | #define TX4927_CONFIG_LIMIT 0xefff | ||
251 | |||
252 | |||
253 | /* TX4927 Timer 0 (32-bit registers) */ | ||
254 | #define TX4927_TMR0_BASE 0xf000 | ||
255 | #define TX4927_TMR0_TMTCR0 0xf000 | ||
256 | #define TX4927_TMR0_TMTISR0 0xf004 | ||
257 | #define TX4927_TMR0_TMCPRA0 0xf008 | ||
258 | #define TX4927_TMR0_TMCPRB0 0xf00c | ||
259 | #define TX4927_TMR0_TMITMR0 0xf010 | ||
260 | #define TX4927_TMR0_TMCCDR0 0xf020 | ||
261 | #define TX4927_TMR0_TMPGMR0 0xf030 | ||
262 | #define TX4927_TMR0_TMTRR0 0xf0f0 | ||
263 | #define TX4927_TMR0_LIMIT 0xf0ff | ||
264 | |||
265 | |||
266 | /* TX4927 Timer 1 (32-bit registers) */ | ||
267 | #define TX4927_TMR1_BASE 0xf100 | ||
268 | #define TX4927_TMR1_TMTCR1 0xf100 | ||
269 | #define TX4927_TMR1_TMTISR1 0xf104 | ||
270 | #define TX4927_TMR1_TMCPRA1 0xf108 | ||
271 | #define TX4927_TMR1_TMCPRB1 0xf10c | ||
272 | #define TX4927_TMR1_TMITMR1 0xf110 | ||
273 | #define TX4927_TMR1_TMCCDR1 0xf120 | ||
274 | #define TX4927_TMR1_TMPGMR1 0xf130 | ||
275 | #define TX4927_TMR1_TMTRR1 0xf1f0 | ||
276 | #define TX4927_TMR1_LIMIT 0xf1ff | ||
277 | |||
278 | |||
279 | /* TX4927 Timer 2 (32-bit registers) */ | ||
280 | #define TX4927_TMR2_BASE 0xf200 | ||
281 | #define TX4927_TMR2_TMTCR2 0xf200 | ||
282 | #define TX4927_TMR2_TMTISR2 0xf204 | ||
283 | #define TX4927_TMR2_TMCPRA2 0xf208 | ||
284 | #define TX4927_TMR2_TMITMR2 0xf210 | ||
285 | #define TX4927_TMR2_TMCCDR2 0xf220 | ||
286 | #define TX4927_TMR2_TMWTMR2 0xf240 | ||
287 | #define TX4927_TMR2_TMTRR2 0xf2f0 | ||
288 | #define TX4927_TMR2_LIMIT 0xf2ff | ||
289 | |||
290 | |||
291 | /* TX4927 serial port 0 (32-bit registers) */ | ||
292 | #define TX4927_SIO0_BASE 0xf300 | ||
293 | #define TX4927_SIO0_SILCR0 0xf300 | ||
294 | #define TX4927_SIO0_SILCR0_RESERVED_16_31 BM_16_31 | ||
295 | #define TX4927_SIO0_SILCR0_RWUB BM_15_15 | ||
296 | #define TX4927_SIO0_SILCR0_TWUB BM_14_14 | ||
297 | #define TX4927_SIO0_SILCR0_UODE BM_13_13 | ||
298 | #define TX4927_SIO0_SILCR0_RESERVED_07_12 BM_07_12 | ||
299 | #define TX4927_SIO0_SILCR0_SCS BM_05_06 | ||
300 | #define TX4927_SIO0_SILCR0_SCS_IMBUSCLK_IC (~BM_05_06) | ||
301 | #define TX4927_SIO0_SILCR0_SCS_IMBUSCLK_BRG BM_05_05 | ||
302 | #define TX4927_SIO0_SILCR0_SCS_SCLK_EC BM_06_06 | ||
303 | #define TX4927_SIO0_SILCR0_SCS_SCLK_BRG BM_05_06 | ||
304 | #define TX4927_SIO0_SILCR0_UEPS BM_04_04 | ||
305 | #define TX4927_SIO0_SILCR0_UPEN BM_03_03 | ||
306 | #define TX4927_SIO0_SILCR0_USBL BM_02_02 | ||
307 | #define TX4927_SIO0_SILCR0_UMODE BM_00_01 | ||
308 | #define TX4927_SIO0_SILCR0_UMODE_DATA_8_BIT BM_00_01 | ||
309 | #define TX4927_SIO0_SILCR0_UMODE_DATA_7_BIT (~BM_00_01) | ||
310 | #define TX4927_SIO0_SILCR0_UMODE_DATA_8_BIT_MC BM_01_01 | ||
311 | #define TX4927_SIO0_SILCR0_UMODE_DATA_7_BIT_MC BM_00_01 | ||
312 | #define TX4927_SIO0_SIDICR0 0xf304 | ||
313 | #define TX4927_SIO0_SIDICR0_RESERVED_16_31 BM_16_31 | ||
314 | #define TX4927_SIO0_SIDICR0_TDE BM_15_15 | ||
315 | #define TX4927_SIO0_SIDICR0_RDE BM_14_14 | ||
316 | #define TX4927_SIO0_SIDICR0_TIE BM_13_13 | ||
317 | #define TX4927_SIO0_SIDICR0_RIE BM_12_12 | ||
318 | #define TX4927_SIO0_SIDICR0_SPIE BM_11_11 | ||
319 | #define TX4927_SIO0_SIDICR0_CTSAC BM_09_10 | ||
320 | #define TX4927_SIO0_SIDICR0_CTSAC_NONE (~BM_09_10) | ||
321 | #define TX4927_SIO0_SIDICR0_CTSAC_RISE BM_09_09 | ||
322 | #define TX4927_SIO0_SIDICR0_CTSAC_FALL BM_10_10 | ||
323 | #define TX4927_SIO0_SIDICR0_CTSAC_BOTH BM_09_10 | ||
324 | #define TX4927_SIO0_SIDICR0_RESERVED_06_08 BM_06_08 | ||
325 | #define TX4927_SIO0_SIDICR0_STIE BM_00_05 | ||
326 | #define TX4927_SIO0_SIDICR0_STIE_NONE (~BM_00_05) | ||
327 | #define TX4927_SIO0_SIDICR0_STIE_OERS BM_05_05 | ||
328 | #define TX4927_SIO0_SIDICR0_STIE_CTSAC BM_04_04 | ||
329 | #define TX4927_SIO0_SIDICR0_STIE_RBRKD BM_03_03 | ||
330 | #define TX4927_SIO0_SIDICR0_STIE_TRDY BM_02_02 | ||
331 | #define TX4927_SIO0_SIDICR0_STIE_TXALS BM_01_01 | ||
332 | #define TX4927_SIO0_SIDICR0_STIE_UBRKD BM_00_00 | ||
333 | #define TX4927_SIO0_SIDISR0 0xf308 | ||
334 | #define TX4927_SIO0_SIDISR0_RESERVED_16_31 BM_16_31 | ||
335 | #define TX4927_SIO0_SIDISR0_UBRK BM_15_15 | ||
336 | #define TX4927_SIO0_SIDISR0_UVALID BM_14_14 | ||
337 | #define TX4927_SIO0_SIDISR0_UFER BM_13_13 | ||
338 | #define TX4927_SIO0_SIDISR0_UPER BM_12_12 | ||
339 | #define TX4927_SIO0_SIDISR0_UOER BM_11_11 | ||
340 | #define TX4927_SIO0_SIDISR0_ERI BM_10_10 | ||
341 | #define TX4927_SIO0_SIDISR0_TOUT BM_09_09 | ||
342 | #define TX4927_SIO0_SIDISR0_TDIS BM_08_08 | ||
343 | #define TX4927_SIO0_SIDISR0_RDIS BM_07_07 | ||
344 | #define TX4927_SIO0_SIDISR0_STIS BM_06_06 | ||
345 | #define TX4927_SIO0_SIDISR0_RESERVED_05_05 BM_05_05 | ||
346 | #define TX4927_SIO0_SIDISR0_RFDN BM_00_04 | ||
347 | #define TX4927_SIO0_SISCISR0 0xf30c | ||
348 | #define TX4927_SIO0_SISCISR0_RESERVED_06_31 BM_06_31 | ||
349 | #define TX4927_SIO0_SISCISR0_OERS BM_05_05 | ||
350 | #define TX4927_SIO0_SISCISR0_CTSS BM_04_04 | ||
351 | #define TX4927_SIO0_SISCISR0_RBRKD BM_03_03 | ||
352 | #define TX4927_SIO0_SISCISR0_TRDY BM_02_02 | ||
353 | #define TX4927_SIO0_SISCISR0_TXALS BM_01_01 | ||
354 | #define TX4927_SIO0_SISCISR0_UBRKD BM_00_00 | ||
355 | #define TX4927_SIO0_SIFCR0 0xf310 | ||
356 | #define TX4927_SIO0_SIFCR0_RESERVED_16_31 BM_16_31 | ||
357 | #define TX4927_SIO0_SIFCR0_SWRST BM_16_31 | ||
358 | #define TX4927_SIO0_SIFCR0_RESERVED_09_14 BM_09_14 | ||
359 | #define TX4927_SIO0_SIFCR0_RDIL BM_16_31 | ||
360 | #define TX4927_SIO0_SIFCR0_RDIL_BYTES_1 (~BM_07_08) | ||
361 | #define TX4927_SIO0_SIFCR0_RDIL_BYTES_4 BM_07_07 | ||
362 | #define TX4927_SIO0_SIFCR0_RDIL_BYTES_8 BM_08_08 | ||
363 | #define TX4927_SIO0_SIFCR0_RDIL_BYTES_12 BM_07_08 | ||
364 | #define TX4927_SIO0_SIFCR0_RESERVED_05_06 BM_05_06 | ||
365 | #define TX4927_SIO0_SIFCR0_TDIL BM_03_04 | ||
366 | #define TX4927_SIO0_SIFCR0_TDIL_BYTES_1 (~BM_03_04) | ||
367 | #define TX4927_SIO0_SIFCR0_TDIL_BYTES_4 BM_03_03 | ||
368 | #define TX4927_SIO0_SIFCR0_TDIL_BYTES_8 BM_04_04 | ||
369 | #define TX4927_SIO0_SIFCR0_TDIL_BYTES_0 BM_03_04 | ||
370 | #define TX4927_SIO0_SIFCR0_TFRST BM_02_02 | ||
371 | #define TX4927_SIO0_SIFCR0_RFRST BM_01_01 | ||
372 | #define TX4927_SIO0_SIFCR0_FRSTE BM_00_00 | ||
373 | #define TX4927_SIO0_SIFLCR0 0xf314 | ||
374 | #define TX4927_SIO0_SIFLCR0_RESERVED_13_31 BM_13_31 | ||
375 | #define TX4927_SIO0_SIFLCR0_RCS BM_12_12 | ||
376 | #define TX4927_SIO0_SIFLCR0_TES BM_11_11 | ||
377 | #define TX4927_SIO0_SIFLCR0_RESERVED_10_10 BM_10_10 | ||
378 | #define TX4927_SIO0_SIFLCR0_RTSSC BM_09_09 | ||
379 | #define TX4927_SIO0_SIFLCR0_RSDE BM_08_08 | ||
380 | #define TX4927_SIO0_SIFLCR0_TSDE BM_07_07 | ||
381 | #define TX4927_SIO0_SIFLCR0_RESERVED_05_06 BM_05_06 | ||
382 | #define TX4927_SIO0_SIFLCR0_RTSTL BM_01_04 | ||
383 | #define TX4927_SIO0_SIFLCR0_TBRK BM_00_00 | ||
384 | #define TX4927_SIO0_SIBGR0 0xf318 | ||
385 | #define TX4927_SIO0_SIBGR0_RESERVED_10_31 BM_10_31 | ||
386 | #define TX4927_SIO0_SIBGR0_BCLK BM_08_09 | ||
387 | #define TX4927_SIO0_SIBGR0_BCLK_T0 (~BM_08_09) | ||
388 | #define TX4927_SIO0_SIBGR0_BCLK_T2 BM_08_08 | ||
389 | #define TX4927_SIO0_SIBGR0_BCLK_T4 BM_09_09 | ||
390 | #define TX4927_SIO0_SIBGR0_BCLK_T6 BM_08_09 | ||
391 | #define TX4927_SIO0_SIBGR0_BRD BM_00_07 | ||
392 | #define TX4927_SIO0_SITFIF00 0xf31c | ||
393 | #define TX4927_SIO0_SITFIF00_RESERVED_08_31 BM_08_31 | ||
394 | #define TX4927_SIO0_SITFIF00_TXD BM_00_07 | ||
395 | #define TX4927_SIO0_SIRFIFO0 0xf320 | ||
396 | #define TX4927_SIO0_SIRFIFO0_RESERVED_08_31 BM_08_31 | ||
397 | #define TX4927_SIO0_SIRFIFO0_RXD BM_00_07 | ||
398 | #define TX4927_SIO0_SIRFIFO0 0xf320 | ||
399 | #define TX4927_SIO0_LIMIT 0xf3ff | ||
400 | |||
401 | |||
402 | /* TX4927 serial port 1 (32-bit registers) */ | ||
403 | #define TX4927_SIO1_BASE 0xf400 | ||
404 | #define TX4927_SIO1_SILCR1 0xf400 | ||
405 | #define TX4927_SIO1_SIDICR1 0xf404 | ||
406 | #define TX4927_SIO1_SIDISR1 0xf408 | ||
407 | #define TX4927_SIO1_SISCISR1 0xf40c | ||
408 | #define TX4927_SIO1_SIFCR1 0xf410 | ||
409 | #define TX4927_SIO1_SIFLCR1 0xf414 | ||
410 | #define TX4927_SIO1_SIBGR1 0xf418 | ||
411 | #define TX4927_SIO1_SITFIF01 0xf41c | ||
412 | #define TX4927_SIO1_SIRFIFO1 0xf420 | ||
413 | #define TX4927_SIO1_LIMIT 0xf4ff | ||
414 | |||
415 | |||
416 | /* TX4927 parallel port (32-bit registers) */ | ||
417 | #define TX4927_PIO_BASE 0xf500 | ||
418 | #define TX4927_PIO_PIOD0 0xf500 | ||
419 | #define TX4927_PIO_PIODI 0xf504 | ||
420 | #define TX4927_PIO_PIODIR 0xf508 | ||
421 | #define TX4927_PIO_PIOOD 0xf50c | ||
422 | #define TX4927_PIO_LIMIT 0xf50f | ||
423 | |||
424 | |||
425 | /* TX4927 AC-link controller (32-bit registers) */ | ||
426 | #define TX4927_ACLC_BASE 0xf700 | ||
427 | #define TX4927_ACLC_ACCTLEN 0xf700 | ||
428 | #define TX4927_ACLC_ACCTLDIS 0xf704 | ||
429 | #define TX4927_ACLC_ACREGACC 0xf708 | ||
430 | #define TX4927_ACLC_ACINTSTS 0xf710 | ||
431 | #define TX4927_ACLC_ACINTMSTS 0xf714 | ||
432 | #define TX4927_ACLC_ACINTEN 0xf718 | ||
433 | #define TX4927_ACLC_ACINTDIS 0xf71c | ||
434 | #define TX4927_ACLC_ACSEMAPH 0xf720 | ||
435 | #define TX4927_ACLC_ACGPIDAT 0xf740 | ||
436 | #define TX4927_ACLC_ACGPODAT 0xf744 | ||
437 | #define TX4927_ACLC_ACSLTEN 0xf748 | ||
438 | #define TX4927_ACLC_ACSLTDIS 0xf74c | ||
439 | #define TX4927_ACLC_ACFIFOSTS 0xf750 | ||
440 | #define TX4927_ACLC_ACDMASTS 0xf780 | ||
441 | #define TX4927_ACLC_ACDMASEL 0xf784 | ||
442 | #define TX4927_ACLC_ACAUDODAT 0xf7a0 | ||
443 | #define TX4927_ACLC_ACSURRDAT 0xf7a4 | ||
444 | #define TX4927_ACLC_ACCENTDAT 0xf7a8 | ||
445 | #define TX4927_ACLC_ACLFEDAT 0xf7ac | ||
446 | #define TX4927_ACLC_ACAUDIDAT 0xf7b0 | ||
447 | #define TX4927_ACLC_ACMODODAT 0xf7b8 | ||
448 | #define TX4927_ACLC_ACMODIDAT 0xf7bc | ||
449 | #define TX4927_ACLC_ACREVID 0xf7fc | ||
450 | #define TX4927_ACLC_LIMIT 0xf7ff | ||
451 | |||
452 | |||
453 | #define TX4927_REG(x) ((TX4927_BASE)+(x)) | ||
454 | |||
455 | #define TX4927_RD08( reg ) (*(vu08*)(reg)) | ||
456 | #define TX4927_WR08( reg, val ) ((*(vu08*)(reg))=(val)) | ||
457 | |||
458 | #define TX4927_RD16( reg ) (*(vu16*)(reg)) | ||
459 | #define TX4927_WR16( reg, val ) ((*(vu16*)(reg))=(val)) | ||
460 | |||
461 | #define TX4927_RD32( reg ) (*(vu32*)(reg)) | ||
462 | #define TX4927_WR32( reg, val ) ((*(vu32*)(reg))=(val)) | ||
463 | |||
464 | #define TX4927_RD64( reg ) (*(vu64*)(reg)) | ||
465 | #define TX4927_WR64( reg, val ) ((*(vu64*)(reg))=(val)) | ||
466 | |||
467 | #define TX4927_RD( reg ) TX4927_RD32( reg ) | ||
468 | #define TX4927_WR( reg, val ) TX4927_WR32( reg, val ) | ||
469 | |||
470 | |||
471 | #define TX4927_IRQ_CP0_BEG MIPS_CPU_IRQ_BASE | 32 | #define TX4927_IRQ_CP0_BEG MIPS_CPU_IRQ_BASE |
472 | #define TX4927_IRQ_CP0_END (MIPS_CPU_IRQ_BASE + 8 - 1) | 33 | #define TX4927_IRQ_CP0_END (MIPS_CPU_IRQ_BASE + 8 - 1) |
473 | 34 | ||
diff --git a/include/asm-mips/tx4927/tx4927_mips.h b/include/asm-mips/tx4927/tx4927_mips.h deleted file mode 100644 index 242ab93bf2e2..000000000000 --- a/include/asm-mips/tx4927/tx4927_mips.h +++ /dev/null | |||
@@ -1,4177 +0,0 @@ | |||
1 | /* | ||
2 | * Author: MontaVista Software, Inc. | ||
3 | * source@mvista.com | ||
4 | * | ||
5 | * Copyright 2001-2002 MontaVista Software Inc. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | * | ||
12 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
13 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
14 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
15 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
16 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
17 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS | ||
18 | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
19 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | ||
20 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||
21 | * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License along | ||
24 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
25 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
26 | */ | ||
27 | #ifndef __ASM_TX4927_TX4927_MIPS_H | ||
28 | #define __ASM_TX4927_TX4927_MIPS_H | ||
29 | |||
30 | #ifndef __ASSEMBLY__ | ||
31 | |||
32 | static inline void asm_wait(void) | ||
33 | { | ||
34 | __asm__(".set\tmips3\n\t" | ||
35 | "wait\n\t" | ||
36 | ".set\tmips0"); | ||
37 | } | ||
38 | |||
39 | #define reg_rd08(r) ((u8 )(*((vu8 *)(r)))) | ||
40 | #define reg_rd16(r) ((u16)(*((vu16*)(r)))) | ||
41 | #define reg_rd32(r) ((u32)(*((vu32*)(r)))) | ||
42 | #define reg_rd64(r) ((u64)(*((vu64*)(r)))) | ||
43 | |||
44 | #define reg_wr08(r,v) ((*((vu8 *)(r)))=((u8 )(v))) | ||
45 | #define reg_wr16(r,v) ((*((vu16*)(r)))=((u16)(v))) | ||
46 | #define reg_wr32(r,v) ((*((vu32*)(r)))=((u32)(v))) | ||
47 | #define reg_wr64(r,v) ((*((vu64*)(r)))=((u64)(v))) | ||
48 | |||
49 | typedef volatile __signed char vs8; | ||
50 | typedef volatile unsigned char vu8; | ||
51 | |||
52 | typedef volatile __signed short vs16; | ||
53 | typedef volatile unsigned short vu16; | ||
54 | |||
55 | typedef volatile __signed int vs32; | ||
56 | typedef volatile unsigned int vu32; | ||
57 | |||
58 | typedef s8 s08; | ||
59 | typedef vs8 vs08; | ||
60 | |||
61 | typedef u8 u08; | ||
62 | typedef vu8 vu08; | ||
63 | |||
64 | |||
65 | #if (_MIPS_SZLONG == 64) | ||
66 | |||
67 | typedef volatile __signed__ long vs64; | ||
68 | typedef volatile unsigned long vu64; | ||
69 | |||
70 | #else | ||
71 | |||
72 | typedef volatile __signed__ long long vs64; | ||
73 | typedef volatile unsigned long long vu64; | ||
74 | |||
75 | #endif | ||
76 | |||
77 | |||
78 | #define BM_00_00 0x0000000000000001 | ||
79 | #define BM_01_00 0x0000000000000003 | ||
80 | #define BM_00_01 BM_01_00 | ||
81 | #define BM_02_00 0x0000000000000007 | ||
82 | #define BM_00_02 BM_02_00 | ||
83 | #define BM_03_00 0x000000000000000f | ||
84 | #define BM_00_03 BM_03_00 | ||
85 | #define BM_04_00 0x000000000000001f | ||
86 | #define BM_00_04 BM_04_00 | ||
87 | #define BM_05_00 0x000000000000003f | ||
88 | #define BM_00_05 BM_05_00 | ||
89 | #define BM_06_00 0x000000000000007f | ||
90 | #define BM_00_06 BM_06_00 | ||
91 | #define BM_07_00 0x00000000000000ff | ||
92 | #define BM_00_07 BM_07_00 | ||
93 | #define BM_08_00 0x00000000000001ff | ||
94 | #define BM_00_08 BM_08_00 | ||
95 | #define BM_09_00 0x00000000000003ff | ||
96 | #define BM_00_09 BM_09_00 | ||
97 | #define BM_10_00 0x00000000000007ff | ||
98 | #define BM_00_10 BM_10_00 | ||
99 | #define BM_11_00 0x0000000000000fff | ||
100 | #define BM_00_11 BM_11_00 | ||
101 | #define BM_12_00 0x0000000000001fff | ||
102 | #define BM_00_12 BM_12_00 | ||
103 | #define BM_13_00 0x0000000000003fff | ||
104 | #define BM_00_13 BM_13_00 | ||
105 | #define BM_14_00 0x0000000000007fff | ||
106 | #define BM_00_14 BM_14_00 | ||
107 | #define BM_15_00 0x000000000000ffff | ||
108 | #define BM_00_15 BM_15_00 | ||
109 | #define BM_16_00 0x000000000001ffff | ||
110 | #define BM_00_16 BM_16_00 | ||
111 | #define BM_17_00 0x000000000003ffff | ||
112 | #define BM_00_17 BM_17_00 | ||
113 | #define BM_18_00 0x000000000007ffff | ||
114 | #define BM_00_18 BM_18_00 | ||
115 | #define BM_19_00 0x00000000000fffff | ||
116 | #define BM_00_19 BM_19_00 | ||
117 | #define BM_20_00 0x00000000001fffff | ||
118 | #define BM_00_20 BM_20_00 | ||
119 | #define BM_21_00 0x00000000003fffff | ||
120 | #define BM_00_21 BM_21_00 | ||
121 | #define BM_22_00 0x00000000007fffff | ||
122 | #define BM_00_22 BM_22_00 | ||
123 | #define BM_23_00 0x0000000000ffffff | ||
124 | #define BM_00_23 BM_23_00 | ||
125 | #define BM_24_00 0x0000000001ffffff | ||
126 | #define BM_00_24 BM_24_00 | ||
127 | #define BM_25_00 0x0000000003ffffff | ||
128 | #define BM_00_25 BM_25_00 | ||
129 | #define BM_26_00 0x0000000007ffffff | ||
130 | #define BM_00_26 BM_26_00 | ||
131 | #define BM_27_00 0x000000000fffffff | ||
132 | #define BM_00_27 BM_27_00 | ||
133 | #define BM_28_00 0x000000001fffffff | ||
134 | #define BM_00_28 BM_28_00 | ||
135 | #define BM_29_00 0x000000003fffffff | ||
136 | #define BM_00_29 BM_29_00 | ||
137 | #define BM_30_00 0x000000007fffffff | ||
138 | #define BM_00_30 BM_30_00 | ||
139 | #define BM_31_00 0x00000000ffffffff | ||
140 | #define BM_00_31 BM_31_00 | ||
141 | #define BM_32_00 0x00000001ffffffff | ||
142 | #define BM_00_32 BM_32_00 | ||
143 | #define BM_33_00 0x00000003ffffffff | ||
144 | #define BM_00_33 BM_33_00 | ||
145 | #define BM_34_00 0x00000007ffffffff | ||
146 | #define BM_00_34 BM_34_00 | ||
147 | #define BM_35_00 0x0000000fffffffff | ||
148 | #define BM_00_35 BM_35_00 | ||
149 | #define BM_36_00 0x0000001fffffffff | ||
150 | #define BM_00_36 BM_36_00 | ||
151 | #define BM_37_00 0x0000003fffffffff | ||
152 | #define BM_00_37 BM_37_00 | ||
153 | #define BM_38_00 0x0000007fffffffff | ||
154 | #define BM_00_38 BM_38_00 | ||
155 | #define BM_39_00 0x000000ffffffffff | ||
156 | #define BM_00_39 BM_39_00 | ||
157 | #define BM_40_00 0x000001ffffffffff | ||
158 | #define BM_00_40 BM_40_00 | ||
159 | #define BM_41_00 0x000003ffffffffff | ||
160 | #define BM_00_41 BM_41_00 | ||
161 | #define BM_42_00 0x000007ffffffffff | ||
162 | #define BM_00_42 BM_42_00 | ||
163 | #define BM_43_00 0x00000fffffffffff | ||
164 | #define BM_00_43 BM_43_00 | ||
165 | #define BM_44_00 0x00001fffffffffff | ||
166 | #define BM_00_44 BM_44_00 | ||
167 | #define BM_45_00 0x00003fffffffffff | ||
168 | #define BM_00_45 BM_45_00 | ||
169 | #define BM_46_00 0x00007fffffffffff | ||
170 | #define BM_00_46 BM_46_00 | ||
171 | #define BM_47_00 0x0000ffffffffffff | ||
172 | #define BM_00_47 BM_47_00 | ||
173 | #define BM_48_00 0x0001ffffffffffff | ||
174 | #define BM_00_48 BM_48_00 | ||
175 | #define BM_49_00 0x0003ffffffffffff | ||
176 | #define BM_00_49 BM_49_00 | ||
177 | #define BM_50_00 0x0007ffffffffffff | ||
178 | #define BM_00_50 BM_50_00 | ||
179 | #define BM_51_00 0x000fffffffffffff | ||
180 | #define BM_00_51 BM_51_00 | ||
181 | #define BM_52_00 0x001fffffffffffff | ||
182 | #define BM_00_52 BM_52_00 | ||
183 | #define BM_53_00 0x003fffffffffffff | ||
184 | #define BM_00_53 BM_53_00 | ||
185 | #define BM_54_00 0x007fffffffffffff | ||
186 | #define BM_00_54 BM_54_00 | ||
187 | #define BM_55_00 0x00ffffffffffffff | ||
188 | #define BM_00_55 BM_55_00 | ||
189 | #define BM_56_00 0x01ffffffffffffff | ||
190 | #define BM_00_56 BM_56_00 | ||
191 | #define BM_57_00 0x03ffffffffffffff | ||
192 | #define BM_00_57 BM_57_00 | ||
193 | #define BM_58_00 0x07ffffffffffffff | ||
194 | #define BM_00_58 BM_58_00 | ||
195 | #define BM_59_00 0x0fffffffffffffff | ||
196 | #define BM_00_59 BM_59_00 | ||
197 | #define BM_60_00 0x1fffffffffffffff | ||
198 | #define BM_00_60 BM_60_00 | ||
199 | #define BM_61_00 0x3fffffffffffffff | ||
200 | #define BM_00_61 BM_61_00 | ||
201 | #define BM_62_00 0x7fffffffffffffff | ||
202 | #define BM_00_62 BM_62_00 | ||
203 | #define BM_63_00 0xffffffffffffffff | ||
204 | #define BM_00_63 BM_63_00 | ||
205 | #define BM_01_01 0x0000000000000002 | ||
206 | #define BM_02_01 0x0000000000000006 | ||
207 | #define BM_01_02 BM_02_01 | ||
208 | #define BM_03_01 0x000000000000000e | ||
209 | #define BM_01_03 BM_03_01 | ||
210 | #define BM_04_01 0x000000000000001e | ||
211 | #define BM_01_04 BM_04_01 | ||
212 | #define BM_05_01 0x000000000000003e | ||
213 | #define BM_01_05 BM_05_01 | ||
214 | #define BM_06_01 0x000000000000007e | ||
215 | #define BM_01_06 BM_06_01 | ||
216 | #define BM_07_01 0x00000000000000fe | ||
217 | #define BM_01_07 BM_07_01 | ||
218 | #define BM_08_01 0x00000000000001fe | ||
219 | #define BM_01_08 BM_08_01 | ||
220 | #define BM_09_01 0x00000000000003fe | ||
221 | #define BM_01_09 BM_09_01 | ||
222 | #define BM_10_01 0x00000000000007fe | ||
223 | #define BM_01_10 BM_10_01 | ||
224 | #define BM_11_01 0x0000000000000ffe | ||
225 | #define BM_01_11 BM_11_01 | ||
226 | #define BM_12_01 0x0000000000001ffe | ||
227 | #define BM_01_12 BM_12_01 | ||
228 | #define BM_13_01 0x0000000000003ffe | ||
229 | #define BM_01_13 BM_13_01 | ||
230 | #define BM_14_01 0x0000000000007ffe | ||
231 | #define BM_01_14 BM_14_01 | ||
232 | #define BM_15_01 0x000000000000fffe | ||
233 | #define BM_01_15 BM_15_01 | ||
234 | #define BM_16_01 0x000000000001fffe | ||
235 | #define BM_01_16 BM_16_01 | ||
236 | #define BM_17_01 0x000000000003fffe | ||
237 | #define BM_01_17 BM_17_01 | ||
238 | #define BM_18_01 0x000000000007fffe | ||
239 | #define BM_01_18 BM_18_01 | ||
240 | #define BM_19_01 0x00000000000ffffe | ||
241 | #define BM_01_19 BM_19_01 | ||
242 | #define BM_20_01 0x00000000001ffffe | ||
243 | #define BM_01_20 BM_20_01 | ||
244 | #define BM_21_01 0x00000000003ffffe | ||
245 | #define BM_01_21 BM_21_01 | ||
246 | #define BM_22_01 0x00000000007ffffe | ||
247 | #define BM_01_22 BM_22_01 | ||
248 | #define BM_23_01 0x0000000000fffffe | ||
249 | #define BM_01_23 BM_23_01 | ||
250 | #define BM_24_01 0x0000000001fffffe | ||
251 | #define BM_01_24 BM_24_01 | ||
252 | #define BM_25_01 0x0000000003fffffe | ||
253 | #define BM_01_25 BM_25_01 | ||
254 | #define BM_26_01 0x0000000007fffffe | ||
255 | #define BM_01_26 BM_26_01 | ||
256 | #define BM_27_01 0x000000000ffffffe | ||
257 | #define BM_01_27 BM_27_01 | ||
258 | #define BM_28_01 0x000000001ffffffe | ||
259 | #define BM_01_28 BM_28_01 | ||
260 | #define BM_29_01 0x000000003ffffffe | ||
261 | #define BM_01_29 BM_29_01 | ||
262 | #define BM_30_01 0x000000007ffffffe | ||
263 | #define BM_01_30 BM_30_01 | ||
264 | #define BM_31_01 0x00000000fffffffe | ||
265 | #define BM_01_31 BM_31_01 | ||
266 | #define BM_32_01 0x00000001fffffffe | ||
267 | #define BM_01_32 BM_32_01 | ||
268 | #define BM_33_01 0x00000003fffffffe | ||
269 | #define BM_01_33 BM_33_01 | ||
270 | #define BM_34_01 0x00000007fffffffe | ||
271 | #define BM_01_34 BM_34_01 | ||
272 | #define BM_35_01 0x0000000ffffffffe | ||
273 | #define BM_01_35 BM_35_01 | ||
274 | #define BM_36_01 0x0000001ffffffffe | ||
275 | #define BM_01_36 BM_36_01 | ||
276 | #define BM_37_01 0x0000003ffffffffe | ||
277 | #define BM_01_37 BM_37_01 | ||
278 | #define BM_38_01 0x0000007ffffffffe | ||
279 | #define BM_01_38 BM_38_01 | ||
280 | #define BM_39_01 0x000000fffffffffe | ||
281 | #define BM_01_39 BM_39_01 | ||
282 | #define BM_40_01 0x000001fffffffffe | ||
283 | #define BM_01_40 BM_40_01 | ||
284 | #define BM_41_01 0x000003fffffffffe | ||
285 | #define BM_01_41 BM_41_01 | ||
286 | #define BM_42_01 0x000007fffffffffe | ||
287 | #define BM_01_42 BM_42_01 | ||
288 | #define BM_43_01 0x00000ffffffffffe | ||
289 | #define BM_01_43 BM_43_01 | ||
290 | #define BM_44_01 0x00001ffffffffffe | ||
291 | #define BM_01_44 BM_44_01 | ||
292 | #define BM_45_01 0x00003ffffffffffe | ||
293 | #define BM_01_45 BM_45_01 | ||
294 | #define BM_46_01 0x00007ffffffffffe | ||
295 | #define BM_01_46 BM_46_01 | ||
296 | #define BM_47_01 0x0000fffffffffffe | ||
297 | #define BM_01_47 BM_47_01 | ||
298 | #define BM_48_01 0x0001fffffffffffe | ||
299 | #define BM_01_48 BM_48_01 | ||
300 | #define BM_49_01 0x0003fffffffffffe | ||
301 | #define BM_01_49 BM_49_01 | ||
302 | #define BM_50_01 0x0007fffffffffffe | ||
303 | #define BM_01_50 BM_50_01 | ||
304 | #define BM_51_01 0x000ffffffffffffe | ||
305 | #define BM_01_51 BM_51_01 | ||
306 | #define BM_52_01 0x001ffffffffffffe | ||
307 | #define BM_01_52 BM_52_01 | ||
308 | #define BM_53_01 0x003ffffffffffffe | ||
309 | #define BM_01_53 BM_53_01 | ||
310 | #define BM_54_01 0x007ffffffffffffe | ||
311 | #define BM_01_54 BM_54_01 | ||
312 | #define BM_55_01 0x00fffffffffffffe | ||
313 | #define BM_01_55 BM_55_01 | ||
314 | #define BM_56_01 0x01fffffffffffffe | ||
315 | #define BM_01_56 BM_56_01 | ||
316 | #define BM_57_01 0x03fffffffffffffe | ||
317 | #define BM_01_57 BM_57_01 | ||
318 | #define BM_58_01 0x07fffffffffffffe | ||
319 | #define BM_01_58 BM_58_01 | ||
320 | #define BM_59_01 0x0ffffffffffffffe | ||
321 | #define BM_01_59 BM_59_01 | ||
322 | #define BM_60_01 0x1ffffffffffffffe | ||
323 | #define BM_01_60 BM_60_01 | ||
324 | #define BM_61_01 0x3ffffffffffffffe | ||
325 | #define BM_01_61 BM_61_01 | ||
326 | #define BM_62_01 0x7ffffffffffffffe | ||
327 | #define BM_01_62 BM_62_01 | ||
328 | #define BM_63_01 0xfffffffffffffffe | ||
329 | #define BM_01_63 BM_63_01 | ||
330 | #define BM_02_02 0x0000000000000004 | ||
331 | #define BM_03_02 0x000000000000000c | ||
332 | #define BM_02_03 BM_03_02 | ||
333 | #define BM_04_02 0x000000000000001c | ||
334 | #define BM_02_04 BM_04_02 | ||
335 | #define BM_05_02 0x000000000000003c | ||
336 | #define BM_02_05 BM_05_02 | ||
337 | #define BM_06_02 0x000000000000007c | ||
338 | #define BM_02_06 BM_06_02 | ||
339 | #define BM_07_02 0x00000000000000fc | ||
340 | #define BM_02_07 BM_07_02 | ||
341 | #define BM_08_02 0x00000000000001fc | ||
342 | #define BM_02_08 BM_08_02 | ||
343 | #define BM_09_02 0x00000000000003fc | ||
344 | #define BM_02_09 BM_09_02 | ||
345 | #define BM_10_02 0x00000000000007fc | ||
346 | #define BM_02_10 BM_10_02 | ||
347 | #define BM_11_02 0x0000000000000ffc | ||
348 | #define BM_02_11 BM_11_02 | ||
349 | #define BM_12_02 0x0000000000001ffc | ||
350 | #define BM_02_12 BM_12_02 | ||
351 | #define BM_13_02 0x0000000000003ffc | ||
352 | #define BM_02_13 BM_13_02 | ||
353 | #define BM_14_02 0x0000000000007ffc | ||
354 | #define BM_02_14 BM_14_02 | ||
355 | #define BM_15_02 0x000000000000fffc | ||
356 | #define BM_02_15 BM_15_02 | ||
357 | #define BM_16_02 0x000000000001fffc | ||
358 | #define BM_02_16 BM_16_02 | ||
359 | #define BM_17_02 0x000000000003fffc | ||
360 | #define BM_02_17 BM_17_02 | ||
361 | #define BM_18_02 0x000000000007fffc | ||
362 | #define BM_02_18 BM_18_02 | ||
363 | #define BM_19_02 0x00000000000ffffc | ||
364 | #define BM_02_19 BM_19_02 | ||
365 | #define BM_20_02 0x00000000001ffffc | ||
366 | #define BM_02_20 BM_20_02 | ||
367 | #define BM_21_02 0x00000000003ffffc | ||
368 | #define BM_02_21 BM_21_02 | ||
369 | #define BM_22_02 0x00000000007ffffc | ||
370 | #define BM_02_22 BM_22_02 | ||
371 | #define BM_23_02 0x0000000000fffffc | ||
372 | #define BM_02_23 BM_23_02 | ||
373 | #define BM_24_02 0x0000000001fffffc | ||
374 | #define BM_02_24 BM_24_02 | ||
375 | #define BM_25_02 0x0000000003fffffc | ||
376 | #define BM_02_25 BM_25_02 | ||
377 | #define BM_26_02 0x0000000007fffffc | ||
378 | #define BM_02_26 BM_26_02 | ||
379 | #define BM_27_02 0x000000000ffffffc | ||
380 | #define BM_02_27 BM_27_02 | ||
381 | #define BM_28_02 0x000000001ffffffc | ||
382 | #define BM_02_28 BM_28_02 | ||
383 | #define BM_29_02 0x000000003ffffffc | ||
384 | #define BM_02_29 BM_29_02 | ||
385 | #define BM_30_02 0x000000007ffffffc | ||
386 | #define BM_02_30 BM_30_02 | ||
387 | #define BM_31_02 0x00000000fffffffc | ||
388 | #define BM_02_31 BM_31_02 | ||
389 | #define BM_32_02 0x00000001fffffffc | ||
390 | #define BM_02_32 BM_32_02 | ||
391 | #define BM_33_02 0x00000003fffffffc | ||
392 | #define BM_02_33 BM_33_02 | ||
393 | #define BM_34_02 0x00000007fffffffc | ||
394 | #define BM_02_34 BM_34_02 | ||
395 | #define BM_35_02 0x0000000ffffffffc | ||
396 | #define BM_02_35 BM_35_02 | ||
397 | #define BM_36_02 0x0000001ffffffffc | ||
398 | #define BM_02_36 BM_36_02 | ||
399 | #define BM_37_02 0x0000003ffffffffc | ||
400 | #define BM_02_37 BM_37_02 | ||
401 | #define BM_38_02 0x0000007ffffffffc | ||
402 | #define BM_02_38 BM_38_02 | ||
403 | #define BM_39_02 0x000000fffffffffc | ||
404 | #define BM_02_39 BM_39_02 | ||
405 | #define BM_40_02 0x000001fffffffffc | ||
406 | #define BM_02_40 BM_40_02 | ||
407 | #define BM_41_02 0x000003fffffffffc | ||
408 | #define BM_02_41 BM_41_02 | ||
409 | #define BM_42_02 0x000007fffffffffc | ||
410 | #define BM_02_42 BM_42_02 | ||
411 | #define BM_43_02 0x00000ffffffffffc | ||
412 | #define BM_02_43 BM_43_02 | ||
413 | #define BM_44_02 0x00001ffffffffffc | ||
414 | #define BM_02_44 BM_44_02 | ||
415 | #define BM_45_02 0x00003ffffffffffc | ||
416 | #define BM_02_45 BM_45_02 | ||
417 | #define BM_46_02 0x00007ffffffffffc | ||
418 | #define BM_02_46 BM_46_02 | ||
419 | #define BM_47_02 0x0000fffffffffffc | ||
420 | #define BM_02_47 BM_47_02 | ||
421 | #define BM_48_02 0x0001fffffffffffc | ||
422 | #define BM_02_48 BM_48_02 | ||
423 | #define BM_49_02 0x0003fffffffffffc | ||
424 | #define BM_02_49 BM_49_02 | ||
425 | #define BM_50_02 0x0007fffffffffffc | ||
426 | #define BM_02_50 BM_50_02 | ||
427 | #define BM_51_02 0x000ffffffffffffc | ||
428 | #define BM_02_51 BM_51_02 | ||
429 | #define BM_52_02 0x001ffffffffffffc | ||
430 | #define BM_02_52 BM_52_02 | ||
431 | #define BM_53_02 0x003ffffffffffffc | ||
432 | #define BM_02_53 BM_53_02 | ||
433 | #define BM_54_02 0x007ffffffffffffc | ||
434 | #define BM_02_54 BM_54_02 | ||
435 | #define BM_55_02 0x00fffffffffffffc | ||
436 | #define BM_02_55 BM_55_02 | ||
437 | #define BM_56_02 0x01fffffffffffffc | ||
438 | #define BM_02_56 BM_56_02 | ||
439 | #define BM_57_02 0x03fffffffffffffc | ||
440 | #define BM_02_57 BM_57_02 | ||
441 | #define BM_58_02 0x07fffffffffffffc | ||
442 | #define BM_02_58 BM_58_02 | ||
443 | #define BM_59_02 0x0ffffffffffffffc | ||
444 | #define BM_02_59 BM_59_02 | ||
445 | #define BM_60_02 0x1ffffffffffffffc | ||
446 | #define BM_02_60 BM_60_02 | ||
447 | #define BM_61_02 0x3ffffffffffffffc | ||
448 | #define BM_02_61 BM_61_02 | ||
449 | #define BM_62_02 0x7ffffffffffffffc | ||
450 | #define BM_02_62 BM_62_02 | ||
451 | #define BM_63_02 0xfffffffffffffffc | ||
452 | #define BM_02_63 BM_63_02 | ||
453 | #define BM_03_03 0x0000000000000008 | ||
454 | #define BM_04_03 0x0000000000000018 | ||
455 | #define BM_03_04 BM_04_03 | ||
456 | #define BM_05_03 0x0000000000000038 | ||
457 | #define BM_03_05 BM_05_03 | ||
458 | #define BM_06_03 0x0000000000000078 | ||
459 | #define BM_03_06 BM_06_03 | ||
460 | #define BM_07_03 0x00000000000000f8 | ||
461 | #define BM_03_07 BM_07_03 | ||
462 | #define BM_08_03 0x00000000000001f8 | ||
463 | #define BM_03_08 BM_08_03 | ||
464 | #define BM_09_03 0x00000000000003f8 | ||
465 | #define BM_03_09 BM_09_03 | ||
466 | #define BM_10_03 0x00000000000007f8 | ||
467 | #define BM_03_10 BM_10_03 | ||
468 | #define BM_11_03 0x0000000000000ff8 | ||
469 | #define BM_03_11 BM_11_03 | ||
470 | #define BM_12_03 0x0000000000001ff8 | ||
471 | #define BM_03_12 BM_12_03 | ||
472 | #define BM_13_03 0x0000000000003ff8 | ||
473 | #define BM_03_13 BM_13_03 | ||
474 | #define BM_14_03 0x0000000000007ff8 | ||
475 | #define BM_03_14 BM_14_03 | ||
476 | #define BM_15_03 0x000000000000fff8 | ||
477 | #define BM_03_15 BM_15_03 | ||
478 | #define BM_16_03 0x000000000001fff8 | ||
479 | #define BM_03_16 BM_16_03 | ||
480 | #define BM_17_03 0x000000000003fff8 | ||
481 | #define BM_03_17 BM_17_03 | ||
482 | #define BM_18_03 0x000000000007fff8 | ||
483 | #define BM_03_18 BM_18_03 | ||
484 | #define BM_19_03 0x00000000000ffff8 | ||
485 | #define BM_03_19 BM_19_03 | ||
486 | #define BM_20_03 0x00000000001ffff8 | ||
487 | #define BM_03_20 BM_20_03 | ||
488 | #define BM_21_03 0x00000000003ffff8 | ||
489 | #define BM_03_21 BM_21_03 | ||
490 | #define BM_22_03 0x00000000007ffff8 | ||
491 | #define BM_03_22 BM_22_03 | ||
492 | #define BM_23_03 0x0000000000fffff8 | ||
493 | #define BM_03_23 BM_23_03 | ||
494 | #define BM_24_03 0x0000000001fffff8 | ||
495 | #define BM_03_24 BM_24_03 | ||
496 | #define BM_25_03 0x0000000003fffff8 | ||
497 | #define BM_03_25 BM_25_03 | ||
498 | #define BM_26_03 0x0000000007fffff8 | ||
499 | #define BM_03_26 BM_26_03 | ||
500 | #define BM_27_03 0x000000000ffffff8 | ||
501 | #define BM_03_27 BM_27_03 | ||
502 | #define BM_28_03 0x000000001ffffff8 | ||
503 | #define BM_03_28 BM_28_03 | ||
504 | #define BM_29_03 0x000000003ffffff8 | ||
505 | #define BM_03_29 BM_29_03 | ||
506 | #define BM_30_03 0x000000007ffffff8 | ||
507 | #define BM_03_30 BM_30_03 | ||
508 | #define BM_31_03 0x00000000fffffff8 | ||
509 | #define BM_03_31 BM_31_03 | ||
510 | #define BM_32_03 0x00000001fffffff8 | ||
511 | #define BM_03_32 BM_32_03 | ||
512 | #define BM_33_03 0x00000003fffffff8 | ||
513 | #define BM_03_33 BM_33_03 | ||
514 | #define BM_34_03 0x00000007fffffff8 | ||
515 | #define BM_03_34 BM_34_03 | ||
516 | #define BM_35_03 0x0000000ffffffff8 | ||
517 | #define BM_03_35 BM_35_03 | ||
518 | #define BM_36_03 0x0000001ffffffff8 | ||
519 | #define BM_03_36 BM_36_03 | ||
520 | #define BM_37_03 0x0000003ffffffff8 | ||
521 | #define BM_03_37 BM_37_03 | ||
522 | #define BM_38_03 0x0000007ffffffff8 | ||
523 | #define BM_03_38 BM_38_03 | ||
524 | #define BM_39_03 0x000000fffffffff8 | ||
525 | #define BM_03_39 BM_39_03 | ||
526 | #define BM_40_03 0x000001fffffffff8 | ||
527 | #define BM_03_40 BM_40_03 | ||
528 | #define BM_41_03 0x000003fffffffff8 | ||
529 | #define BM_03_41 BM_41_03 | ||
530 | #define BM_42_03 0x000007fffffffff8 | ||
531 | #define BM_03_42 BM_42_03 | ||
532 | #define BM_43_03 0x00000ffffffffff8 | ||
533 | #define BM_03_43 BM_43_03 | ||
534 | #define BM_44_03 0x00001ffffffffff8 | ||
535 | #define BM_03_44 BM_44_03 | ||
536 | #define BM_45_03 0x00003ffffffffff8 | ||
537 | #define BM_03_45 BM_45_03 | ||
538 | #define BM_46_03 0x00007ffffffffff8 | ||
539 | #define BM_03_46 BM_46_03 | ||
540 | #define BM_47_03 0x0000fffffffffff8 | ||
541 | #define BM_03_47 BM_47_03 | ||
542 | #define BM_48_03 0x0001fffffffffff8 | ||
543 | #define BM_03_48 BM_48_03 | ||
544 | #define BM_49_03 0x0003fffffffffff8 | ||
545 | #define BM_03_49 BM_49_03 | ||
546 | #define BM_50_03 0x0007fffffffffff8 | ||
547 | #define BM_03_50 BM_50_03 | ||
548 | #define BM_51_03 0x000ffffffffffff8 | ||
549 | #define BM_03_51 BM_51_03 | ||
550 | #define BM_52_03 0x001ffffffffffff8 | ||
551 | #define BM_03_52 BM_52_03 | ||
552 | #define BM_53_03 0x003ffffffffffff8 | ||
553 | #define BM_03_53 BM_53_03 | ||
554 | #define BM_54_03 0x007ffffffffffff8 | ||
555 | #define BM_03_54 BM_54_03 | ||
556 | #define BM_55_03 0x00fffffffffffff8 | ||
557 | #define BM_03_55 BM_55_03 | ||
558 | #define BM_56_03 0x01fffffffffffff8 | ||
559 | #define BM_03_56 BM_56_03 | ||
560 | #define BM_57_03 0x03fffffffffffff8 | ||
561 | #define BM_03_57 BM_57_03 | ||
562 | #define BM_58_03 0x07fffffffffffff8 | ||
563 | #define BM_03_58 BM_58_03 | ||
564 | #define BM_59_03 0x0ffffffffffffff8 | ||
565 | #define BM_03_59 BM_59_03 | ||
566 | #define BM_60_03 0x1ffffffffffffff8 | ||
567 | #define BM_03_60 BM_60_03 | ||
568 | #define BM_61_03 0x3ffffffffffffff8 | ||
569 | #define BM_03_61 BM_61_03 | ||
570 | #define BM_62_03 0x7ffffffffffffff8 | ||
571 | #define BM_03_62 BM_62_03 | ||
572 | #define BM_63_03 0xfffffffffffffff8 | ||
573 | #define BM_03_63 BM_63_03 | ||
574 | #define BM_04_04 0x0000000000000010 | ||
575 | #define BM_05_04 0x0000000000000030 | ||
576 | #define BM_04_05 BM_05_04 | ||
577 | #define BM_06_04 0x0000000000000070 | ||
578 | #define BM_04_06 BM_06_04 | ||
579 | #define BM_07_04 0x00000000000000f0 | ||
580 | #define BM_04_07 BM_07_04 | ||
581 | #define BM_08_04 0x00000000000001f0 | ||
582 | #define BM_04_08 BM_08_04 | ||
583 | #define BM_09_04 0x00000000000003f0 | ||
584 | #define BM_04_09 BM_09_04 | ||
585 | #define BM_10_04 0x00000000000007f0 | ||
586 | #define BM_04_10 BM_10_04 | ||
587 | #define BM_11_04 0x0000000000000ff0 | ||
588 | #define BM_04_11 BM_11_04 | ||
589 | #define BM_12_04 0x0000000000001ff0 | ||
590 | #define BM_04_12 BM_12_04 | ||
591 | #define BM_13_04 0x0000000000003ff0 | ||
592 | #define BM_04_13 BM_13_04 | ||
593 | #define BM_14_04 0x0000000000007ff0 | ||
594 | #define BM_04_14 BM_14_04 | ||
595 | #define BM_15_04 0x000000000000fff0 | ||
596 | #define BM_04_15 BM_15_04 | ||
597 | #define BM_16_04 0x000000000001fff0 | ||
598 | #define BM_04_16 BM_16_04 | ||
599 | #define BM_17_04 0x000000000003fff0 | ||
600 | #define BM_04_17 BM_17_04 | ||
601 | #define BM_18_04 0x000000000007fff0 | ||
602 | #define BM_04_18 BM_18_04 | ||
603 | #define BM_19_04 0x00000000000ffff0 | ||
604 | #define BM_04_19 BM_19_04 | ||
605 | #define BM_20_04 0x00000000001ffff0 | ||
606 | #define BM_04_20 BM_20_04 | ||
607 | #define BM_21_04 0x00000000003ffff0 | ||
608 | #define BM_04_21 BM_21_04 | ||
609 | #define BM_22_04 0x00000000007ffff0 | ||
610 | #define BM_04_22 BM_22_04 | ||
611 | #define BM_23_04 0x0000000000fffff0 | ||
612 | #define BM_04_23 BM_23_04 | ||
613 | #define BM_24_04 0x0000000001fffff0 | ||
614 | #define BM_04_24 BM_24_04 | ||
615 | #define BM_25_04 0x0000000003fffff0 | ||
616 | #define BM_04_25 BM_25_04 | ||
617 | #define BM_26_04 0x0000000007fffff0 | ||
618 | #define BM_04_26 BM_26_04 | ||
619 | #define BM_27_04 0x000000000ffffff0 | ||
620 | #define BM_04_27 BM_27_04 | ||
621 | #define BM_28_04 0x000000001ffffff0 | ||
622 | #define BM_04_28 BM_28_04 | ||
623 | #define BM_29_04 0x000000003ffffff0 | ||
624 | #define BM_04_29 BM_29_04 | ||
625 | #define BM_30_04 0x000000007ffffff0 | ||
626 | #define BM_04_30 BM_30_04 | ||
627 | #define BM_31_04 0x00000000fffffff0 | ||
628 | #define BM_04_31 BM_31_04 | ||
629 | #define BM_32_04 0x00000001fffffff0 | ||
630 | #define BM_04_32 BM_32_04 | ||
631 | #define BM_33_04 0x00000003fffffff0 | ||
632 | #define BM_04_33 BM_33_04 | ||
633 | #define BM_34_04 0x00000007fffffff0 | ||
634 | #define BM_04_34 BM_34_04 | ||
635 | #define BM_35_04 0x0000000ffffffff0 | ||
636 | #define BM_04_35 BM_35_04 | ||
637 | #define BM_36_04 0x0000001ffffffff0 | ||
638 | #define BM_04_36 BM_36_04 | ||
639 | #define BM_37_04 0x0000003ffffffff0 | ||
640 | #define BM_04_37 BM_37_04 | ||
641 | #define BM_38_04 0x0000007ffffffff0 | ||
642 | #define BM_04_38 BM_38_04 | ||
643 | #define BM_39_04 0x000000fffffffff0 | ||
644 | #define BM_04_39 BM_39_04 | ||
645 | #define BM_40_04 0x000001fffffffff0 | ||
646 | #define BM_04_40 BM_40_04 | ||
647 | #define BM_41_04 0x000003fffffffff0 | ||
648 | #define BM_04_41 BM_41_04 | ||
649 | #define BM_42_04 0x000007fffffffff0 | ||
650 | #define BM_04_42 BM_42_04 | ||
651 | #define BM_43_04 0x00000ffffffffff0 | ||
652 | #define BM_04_43 BM_43_04 | ||
653 | #define BM_44_04 0x00001ffffffffff0 | ||
654 | #define BM_04_44 BM_44_04 | ||
655 | #define BM_45_04 0x00003ffffffffff0 | ||
656 | #define BM_04_45 BM_45_04 | ||
657 | #define BM_46_04 0x00007ffffffffff0 | ||
658 | #define BM_04_46 BM_46_04 | ||
659 | #define BM_47_04 0x0000fffffffffff0 | ||
660 | #define BM_04_47 BM_47_04 | ||
661 | #define BM_48_04 0x0001fffffffffff0 | ||
662 | #define BM_04_48 BM_48_04 | ||
663 | #define BM_49_04 0x0003fffffffffff0 | ||
664 | #define BM_04_49 BM_49_04 | ||
665 | #define BM_50_04 0x0007fffffffffff0 | ||
666 | #define BM_04_50 BM_50_04 | ||
667 | #define BM_51_04 0x000ffffffffffff0 | ||
668 | #define BM_04_51 BM_51_04 | ||
669 | #define BM_52_04 0x001ffffffffffff0 | ||
670 | #define BM_04_52 BM_52_04 | ||
671 | #define BM_53_04 0x003ffffffffffff0 | ||
672 | #define BM_04_53 BM_53_04 | ||
673 | #define BM_54_04 0x007ffffffffffff0 | ||
674 | #define BM_04_54 BM_54_04 | ||
675 | #define BM_55_04 0x00fffffffffffff0 | ||
676 | #define BM_04_55 BM_55_04 | ||
677 | #define BM_56_04 0x01fffffffffffff0 | ||
678 | #define BM_04_56 BM_56_04 | ||
679 | #define BM_57_04 0x03fffffffffffff0 | ||
680 | #define BM_04_57 BM_57_04 | ||
681 | #define BM_58_04 0x07fffffffffffff0 | ||
682 | #define BM_04_58 BM_58_04 | ||
683 | #define BM_59_04 0x0ffffffffffffff0 | ||
684 | #define BM_04_59 BM_59_04 | ||
685 | #define BM_60_04 0x1ffffffffffffff0 | ||
686 | #define BM_04_60 BM_60_04 | ||
687 | #define BM_61_04 0x3ffffffffffffff0 | ||
688 | #define BM_04_61 BM_61_04 | ||
689 | #define BM_62_04 0x7ffffffffffffff0 | ||
690 | #define BM_04_62 BM_62_04 | ||
691 | #define BM_63_04 0xfffffffffffffff0 | ||
692 | #define BM_04_63 BM_63_04 | ||
693 | #define BM_05_05 0x0000000000000020 | ||
694 | #define BM_06_05 0x0000000000000060 | ||
695 | #define BM_05_06 BM_06_05 | ||
696 | #define BM_07_05 0x00000000000000e0 | ||
697 | #define BM_05_07 BM_07_05 | ||
698 | #define BM_08_05 0x00000000000001e0 | ||
699 | #define BM_05_08 BM_08_05 | ||
700 | #define BM_09_05 0x00000000000003e0 | ||
701 | #define BM_05_09 BM_09_05 | ||
702 | #define BM_10_05 0x00000000000007e0 | ||
703 | #define BM_05_10 BM_10_05 | ||
704 | #define BM_11_05 0x0000000000000fe0 | ||
705 | #define BM_05_11 BM_11_05 | ||
706 | #define BM_12_05 0x0000000000001fe0 | ||
707 | #define BM_05_12 BM_12_05 | ||
708 | #define BM_13_05 0x0000000000003fe0 | ||
709 | #define BM_05_13 BM_13_05 | ||
710 | #define BM_14_05 0x0000000000007fe0 | ||
711 | #define BM_05_14 BM_14_05 | ||
712 | #define BM_15_05 0x000000000000ffe0 | ||
713 | #define BM_05_15 BM_15_05 | ||
714 | #define BM_16_05 0x000000000001ffe0 | ||
715 | #define BM_05_16 BM_16_05 | ||
716 | #define BM_17_05 0x000000000003ffe0 | ||
717 | #define BM_05_17 BM_17_05 | ||
718 | #define BM_18_05 0x000000000007ffe0 | ||
719 | #define BM_05_18 BM_18_05 | ||
720 | #define BM_19_05 0x00000000000fffe0 | ||
721 | #define BM_05_19 BM_19_05 | ||
722 | #define BM_20_05 0x00000000001fffe0 | ||
723 | #define BM_05_20 BM_20_05 | ||
724 | #define BM_21_05 0x00000000003fffe0 | ||
725 | #define BM_05_21 BM_21_05 | ||
726 | #define BM_22_05 0x00000000007fffe0 | ||
727 | #define BM_05_22 BM_22_05 | ||
728 | #define BM_23_05 0x0000000000ffffe0 | ||
729 | #define BM_05_23 BM_23_05 | ||
730 | #define BM_24_05 0x0000000001ffffe0 | ||
731 | #define BM_05_24 BM_24_05 | ||
732 | #define BM_25_05 0x0000000003ffffe0 | ||
733 | #define BM_05_25 BM_25_05 | ||
734 | #define BM_26_05 0x0000000007ffffe0 | ||
735 | #define BM_05_26 BM_26_05 | ||
736 | #define BM_27_05 0x000000000fffffe0 | ||
737 | #define BM_05_27 BM_27_05 | ||
738 | #define BM_28_05 0x000000001fffffe0 | ||
739 | #define BM_05_28 BM_28_05 | ||
740 | #define BM_29_05 0x000000003fffffe0 | ||
741 | #define BM_05_29 BM_29_05 | ||
742 | #define BM_30_05 0x000000007fffffe0 | ||
743 | #define BM_05_30 BM_30_05 | ||
744 | #define BM_31_05 0x00000000ffffffe0 | ||
745 | #define BM_05_31 BM_31_05 | ||
746 | #define BM_32_05 0x00000001ffffffe0 | ||
747 | #define BM_05_32 BM_32_05 | ||
748 | #define BM_33_05 0x00000003ffffffe0 | ||
749 | #define BM_05_33 BM_33_05 | ||
750 | #define BM_34_05 0x00000007ffffffe0 | ||
751 | #define BM_05_34 BM_34_05 | ||
752 | #define BM_35_05 0x0000000fffffffe0 | ||
753 | #define BM_05_35 BM_35_05 | ||
754 | #define BM_36_05 0x0000001fffffffe0 | ||
755 | #define BM_05_36 BM_36_05 | ||
756 | #define BM_37_05 0x0000003fffffffe0 | ||
757 | #define BM_05_37 BM_37_05 | ||
758 | #define BM_38_05 0x0000007fffffffe0 | ||
759 | #define BM_05_38 BM_38_05 | ||
760 | #define BM_39_05 0x000000ffffffffe0 | ||
761 | #define BM_05_39 BM_39_05 | ||
762 | #define BM_40_05 0x000001ffffffffe0 | ||
763 | #define BM_05_40 BM_40_05 | ||
764 | #define BM_41_05 0x000003ffffffffe0 | ||
765 | #define BM_05_41 BM_41_05 | ||
766 | #define BM_42_05 0x000007ffffffffe0 | ||
767 | #define BM_05_42 BM_42_05 | ||
768 | #define BM_43_05 0x00000fffffffffe0 | ||
769 | #define BM_05_43 BM_43_05 | ||
770 | #define BM_44_05 0x00001fffffffffe0 | ||
771 | #define BM_05_44 BM_44_05 | ||
772 | #define BM_45_05 0x00003fffffffffe0 | ||
773 | #define BM_05_45 BM_45_05 | ||
774 | #define BM_46_05 0x00007fffffffffe0 | ||
775 | #define BM_05_46 BM_46_05 | ||
776 | #define BM_47_05 0x0000ffffffffffe0 | ||
777 | #define BM_05_47 BM_47_05 | ||
778 | #define BM_48_05 0x0001ffffffffffe0 | ||
779 | #define BM_05_48 BM_48_05 | ||
780 | #define BM_49_05 0x0003ffffffffffe0 | ||
781 | #define BM_05_49 BM_49_05 | ||
782 | #define BM_50_05 0x0007ffffffffffe0 | ||
783 | #define BM_05_50 BM_50_05 | ||
784 | #define BM_51_05 0x000fffffffffffe0 | ||
785 | #define BM_05_51 BM_51_05 | ||
786 | #define BM_52_05 0x001fffffffffffe0 | ||
787 | #define BM_05_52 BM_52_05 | ||
788 | #define BM_53_05 0x003fffffffffffe0 | ||
789 | #define BM_05_53 BM_53_05 | ||
790 | #define BM_54_05 0x007fffffffffffe0 | ||
791 | #define BM_05_54 BM_54_05 | ||
792 | #define BM_55_05 0x00ffffffffffffe0 | ||
793 | #define BM_05_55 BM_55_05 | ||
794 | #define BM_56_05 0x01ffffffffffffe0 | ||
795 | #define BM_05_56 BM_56_05 | ||
796 | #define BM_57_05 0x03ffffffffffffe0 | ||
797 | #define BM_05_57 BM_57_05 | ||
798 | #define BM_58_05 0x07ffffffffffffe0 | ||
799 | #define BM_05_58 BM_58_05 | ||
800 | #define BM_59_05 0x0fffffffffffffe0 | ||
801 | #define BM_05_59 BM_59_05 | ||
802 | #define BM_60_05 0x1fffffffffffffe0 | ||
803 | #define BM_05_60 BM_60_05 | ||
804 | #define BM_61_05 0x3fffffffffffffe0 | ||
805 | #define BM_05_61 BM_61_05 | ||
806 | #define BM_62_05 0x7fffffffffffffe0 | ||
807 | #define BM_05_62 BM_62_05 | ||
808 | #define BM_63_05 0xffffffffffffffe0 | ||
809 | #define BM_05_63 BM_63_05 | ||
810 | #define BM_06_06 0x0000000000000040 | ||
811 | #define BM_07_06 0x00000000000000c0 | ||
812 | #define BM_06_07 BM_07_06 | ||
813 | #define BM_08_06 0x00000000000001c0 | ||
814 | #define BM_06_08 BM_08_06 | ||
815 | #define BM_09_06 0x00000000000003c0 | ||
816 | #define BM_06_09 BM_09_06 | ||
817 | #define BM_10_06 0x00000000000007c0 | ||
818 | #define BM_06_10 BM_10_06 | ||
819 | #define BM_11_06 0x0000000000000fc0 | ||
820 | #define BM_06_11 BM_11_06 | ||
821 | #define BM_12_06 0x0000000000001fc0 | ||
822 | #define BM_06_12 BM_12_06 | ||
823 | #define BM_13_06 0x0000000000003fc0 | ||
824 | #define BM_06_13 BM_13_06 | ||
825 | #define BM_14_06 0x0000000000007fc0 | ||
826 | #define BM_06_14 BM_14_06 | ||
827 | #define BM_15_06 0x000000000000ffc0 | ||
828 | #define BM_06_15 BM_15_06 | ||
829 | #define BM_16_06 0x000000000001ffc0 | ||
830 | #define BM_06_16 BM_16_06 | ||
831 | #define BM_17_06 0x000000000003ffc0 | ||
832 | #define BM_06_17 BM_17_06 | ||
833 | #define BM_18_06 0x000000000007ffc0 | ||
834 | #define BM_06_18 BM_18_06 | ||
835 | #define BM_19_06 0x00000000000fffc0 | ||
836 | #define BM_06_19 BM_19_06 | ||
837 | #define BM_20_06 0x00000000001fffc0 | ||
838 | #define BM_06_20 BM_20_06 | ||
839 | #define BM_21_06 0x00000000003fffc0 | ||
840 | #define BM_06_21 BM_21_06 | ||
841 | #define BM_22_06 0x00000000007fffc0 | ||
842 | #define BM_06_22 BM_22_06 | ||
843 | #define BM_23_06 0x0000000000ffffc0 | ||
844 | #define BM_06_23 BM_23_06 | ||
845 | #define BM_24_06 0x0000000001ffffc0 | ||
846 | #define BM_06_24 BM_24_06 | ||
847 | #define BM_25_06 0x0000000003ffffc0 | ||
848 | #define BM_06_25 BM_25_06 | ||
849 | #define BM_26_06 0x0000000007ffffc0 | ||
850 | #define BM_06_26 BM_26_06 | ||
851 | #define BM_27_06 0x000000000fffffc0 | ||
852 | #define BM_06_27 BM_27_06 | ||
853 | #define BM_28_06 0x000000001fffffc0 | ||
854 | #define BM_06_28 BM_28_06 | ||
855 | #define BM_29_06 0x000000003fffffc0 | ||
856 | #define BM_06_29 BM_29_06 | ||
857 | #define BM_30_06 0x000000007fffffc0 | ||
858 | #define BM_06_30 BM_30_06 | ||
859 | #define BM_31_06 0x00000000ffffffc0 | ||
860 | #define BM_06_31 BM_31_06 | ||
861 | #define BM_32_06 0x00000001ffffffc0 | ||
862 | #define BM_06_32 BM_32_06 | ||
863 | #define BM_33_06 0x00000003ffffffc0 | ||
864 | #define BM_06_33 BM_33_06 | ||
865 | #define BM_34_06 0x00000007ffffffc0 | ||
866 | #define BM_06_34 BM_34_06 | ||
867 | #define BM_35_06 0x0000000fffffffc0 | ||
868 | #define BM_06_35 BM_35_06 | ||
869 | #define BM_36_06 0x0000001fffffffc0 | ||
870 | #define BM_06_36 BM_36_06 | ||
871 | #define BM_37_06 0x0000003fffffffc0 | ||
872 | #define BM_06_37 BM_37_06 | ||
873 | #define BM_38_06 0x0000007fffffffc0 | ||
874 | #define BM_06_38 BM_38_06 | ||
875 | #define BM_39_06 0x000000ffffffffc0 | ||
876 | #define BM_06_39 BM_39_06 | ||
877 | #define BM_40_06 0x000001ffffffffc0 | ||
878 | #define BM_06_40 BM_40_06 | ||
879 | #define BM_41_06 0x000003ffffffffc0 | ||
880 | #define BM_06_41 BM_41_06 | ||
881 | #define BM_42_06 0x000007ffffffffc0 | ||
882 | #define BM_06_42 BM_42_06 | ||
883 | #define BM_43_06 0x00000fffffffffc0 | ||
884 | #define BM_06_43 BM_43_06 | ||
885 | #define BM_44_06 0x00001fffffffffc0 | ||
886 | #define BM_06_44 BM_44_06 | ||
887 | #define BM_45_06 0x00003fffffffffc0 | ||
888 | #define BM_06_45 BM_45_06 | ||
889 | #define BM_46_06 0x00007fffffffffc0 | ||
890 | #define BM_06_46 BM_46_06 | ||
891 | #define BM_47_06 0x0000ffffffffffc0 | ||
892 | #define BM_06_47 BM_47_06 | ||
893 | #define BM_48_06 0x0001ffffffffffc0 | ||
894 | #define BM_06_48 BM_48_06 | ||
895 | #define BM_49_06 0x0003ffffffffffc0 | ||
896 | #define BM_06_49 BM_49_06 | ||
897 | #define BM_50_06 0x0007ffffffffffc0 | ||
898 | #define BM_06_50 BM_50_06 | ||
899 | #define BM_51_06 0x000fffffffffffc0 | ||
900 | #define BM_06_51 BM_51_06 | ||
901 | #define BM_52_06 0x001fffffffffffc0 | ||
902 | #define BM_06_52 BM_52_06 | ||
903 | #define BM_53_06 0x003fffffffffffc0 | ||
904 | #define BM_06_53 BM_53_06 | ||
905 | #define BM_54_06 0x007fffffffffffc0 | ||
906 | #define BM_06_54 BM_54_06 | ||
907 | #define BM_55_06 0x00ffffffffffffc0 | ||
908 | #define BM_06_55 BM_55_06 | ||
909 | #define BM_56_06 0x01ffffffffffffc0 | ||
910 | #define BM_06_56 BM_56_06 | ||
911 | #define BM_57_06 0x03ffffffffffffc0 | ||
912 | #define BM_06_57 BM_57_06 | ||
913 | #define BM_58_06 0x07ffffffffffffc0 | ||
914 | #define BM_06_58 BM_58_06 | ||
915 | #define BM_59_06 0x0fffffffffffffc0 | ||
916 | #define BM_06_59 BM_59_06 | ||
917 | #define BM_60_06 0x1fffffffffffffc0 | ||
918 | #define BM_06_60 BM_60_06 | ||
919 | #define BM_61_06 0x3fffffffffffffc0 | ||
920 | #define BM_06_61 BM_61_06 | ||
921 | #define BM_62_06 0x7fffffffffffffc0 | ||
922 | #define BM_06_62 BM_62_06 | ||
923 | #define BM_63_06 0xffffffffffffffc0 | ||
924 | #define BM_06_63 BM_63_06 | ||
925 | #define BM_07_07 0x0000000000000080 | ||
926 | #define BM_08_07 0x0000000000000180 | ||
927 | #define BM_07_08 BM_08_07 | ||
928 | #define BM_09_07 0x0000000000000380 | ||
929 | #define BM_07_09 BM_09_07 | ||
930 | #define BM_10_07 0x0000000000000780 | ||
931 | #define BM_07_10 BM_10_07 | ||
932 | #define BM_11_07 0x0000000000000f80 | ||
933 | #define BM_07_11 BM_11_07 | ||
934 | #define BM_12_07 0x0000000000001f80 | ||
935 | #define BM_07_12 BM_12_07 | ||
936 | #define BM_13_07 0x0000000000003f80 | ||
937 | #define BM_07_13 BM_13_07 | ||
938 | #define BM_14_07 0x0000000000007f80 | ||
939 | #define BM_07_14 BM_14_07 | ||
940 | #define BM_15_07 0x000000000000ff80 | ||
941 | #define BM_07_15 BM_15_07 | ||
942 | #define BM_16_07 0x000000000001ff80 | ||
943 | #define BM_07_16 BM_16_07 | ||
944 | #define BM_17_07 0x000000000003ff80 | ||
945 | #define BM_07_17 BM_17_07 | ||
946 | #define BM_18_07 0x000000000007ff80 | ||
947 | #define BM_07_18 BM_18_07 | ||
948 | #define BM_19_07 0x00000000000fff80 | ||
949 | #define BM_07_19 BM_19_07 | ||
950 | #define BM_20_07 0x00000000001fff80 | ||
951 | #define BM_07_20 BM_20_07 | ||
952 | #define BM_21_07 0x00000000003fff80 | ||
953 | #define BM_07_21 BM_21_07 | ||
954 | #define BM_22_07 0x00000000007fff80 | ||
955 | #define BM_07_22 BM_22_07 | ||
956 | #define BM_23_07 0x0000000000ffff80 | ||
957 | #define BM_07_23 BM_23_07 | ||
958 | #define BM_24_07 0x0000000001ffff80 | ||
959 | #define BM_07_24 BM_24_07 | ||
960 | #define BM_25_07 0x0000000003ffff80 | ||
961 | #define BM_07_25 BM_25_07 | ||
962 | #define BM_26_07 0x0000000007ffff80 | ||
963 | #define BM_07_26 BM_26_07 | ||
964 | #define BM_27_07 0x000000000fffff80 | ||
965 | #define BM_07_27 BM_27_07 | ||
966 | #define BM_28_07 0x000000001fffff80 | ||
967 | #define BM_07_28 BM_28_07 | ||
968 | #define BM_29_07 0x000000003fffff80 | ||
969 | #define BM_07_29 BM_29_07 | ||
970 | #define BM_30_07 0x000000007fffff80 | ||
971 | #define BM_07_30 BM_30_07 | ||
972 | #define BM_31_07 0x00000000ffffff80 | ||
973 | #define BM_07_31 BM_31_07 | ||
974 | #define BM_32_07 0x00000001ffffff80 | ||
975 | #define BM_07_32 BM_32_07 | ||
976 | #define BM_33_07 0x00000003ffffff80 | ||
977 | #define BM_07_33 BM_33_07 | ||
978 | #define BM_34_07 0x00000007ffffff80 | ||
979 | #define BM_07_34 BM_34_07 | ||
980 | #define BM_35_07 0x0000000fffffff80 | ||
981 | #define BM_07_35 BM_35_07 | ||
982 | #define BM_36_07 0x0000001fffffff80 | ||
983 | #define BM_07_36 BM_36_07 | ||
984 | #define BM_37_07 0x0000003fffffff80 | ||
985 | #define BM_07_37 BM_37_07 | ||
986 | #define BM_38_07 0x0000007fffffff80 | ||
987 | #define BM_07_38 BM_38_07 | ||
988 | #define BM_39_07 0x000000ffffffff80 | ||
989 | #define BM_07_39 BM_39_07 | ||
990 | #define BM_40_07 0x000001ffffffff80 | ||
991 | #define BM_07_40 BM_40_07 | ||
992 | #define BM_41_07 0x000003ffffffff80 | ||
993 | #define BM_07_41 BM_41_07 | ||
994 | #define BM_42_07 0x000007ffffffff80 | ||
995 | #define BM_07_42 BM_42_07 | ||
996 | #define BM_43_07 0x00000fffffffff80 | ||
997 | #define BM_07_43 BM_43_07 | ||
998 | #define BM_44_07 0x00001fffffffff80 | ||
999 | #define BM_07_44 BM_44_07 | ||
1000 | #define BM_45_07 0x00003fffffffff80 | ||
1001 | #define BM_07_45 BM_45_07 | ||
1002 | #define BM_46_07 0x00007fffffffff80 | ||
1003 | #define BM_07_46 BM_46_07 | ||
1004 | #define BM_47_07 0x0000ffffffffff80 | ||
1005 | #define BM_07_47 BM_47_07 | ||
1006 | #define BM_48_07 0x0001ffffffffff80 | ||
1007 | #define BM_07_48 BM_48_07 | ||
1008 | #define BM_49_07 0x0003ffffffffff80 | ||
1009 | #define BM_07_49 BM_49_07 | ||
1010 | #define BM_50_07 0x0007ffffffffff80 | ||
1011 | #define BM_07_50 BM_50_07 | ||
1012 | #define BM_51_07 0x000fffffffffff80 | ||
1013 | #define BM_07_51 BM_51_07 | ||
1014 | #define BM_52_07 0x001fffffffffff80 | ||
1015 | #define BM_07_52 BM_52_07 | ||
1016 | #define BM_53_07 0x003fffffffffff80 | ||
1017 | #define BM_07_53 BM_53_07 | ||
1018 | #define BM_54_07 0x007fffffffffff80 | ||
1019 | #define BM_07_54 BM_54_07 | ||
1020 | #define BM_55_07 0x00ffffffffffff80 | ||
1021 | #define BM_07_55 BM_55_07 | ||
1022 | #define BM_56_07 0x01ffffffffffff80 | ||
1023 | #define BM_07_56 BM_56_07 | ||
1024 | #define BM_57_07 0x03ffffffffffff80 | ||
1025 | #define BM_07_57 BM_57_07 | ||
1026 | #define BM_58_07 0x07ffffffffffff80 | ||
1027 | #define BM_07_58 BM_58_07 | ||
1028 | #define BM_59_07 0x0fffffffffffff80 | ||
1029 | #define BM_07_59 BM_59_07 | ||
1030 | #define BM_60_07 0x1fffffffffffff80 | ||
1031 | #define BM_07_60 BM_60_07 | ||
1032 | #define BM_61_07 0x3fffffffffffff80 | ||
1033 | #define BM_07_61 BM_61_07 | ||
1034 | #define BM_62_07 0x7fffffffffffff80 | ||
1035 | #define BM_07_62 BM_62_07 | ||
1036 | #define BM_63_07 0xffffffffffffff80 | ||
1037 | #define BM_07_63 BM_63_07 | ||
1038 | #define BM_08_08 0x0000000000000100 | ||
1039 | #define BM_09_08 0x0000000000000300 | ||
1040 | #define BM_08_09 BM_09_08 | ||
1041 | #define BM_10_08 0x0000000000000700 | ||
1042 | #define BM_08_10 BM_10_08 | ||
1043 | #define BM_11_08 0x0000000000000f00 | ||
1044 | #define BM_08_11 BM_11_08 | ||
1045 | #define BM_12_08 0x0000000000001f00 | ||
1046 | #define BM_08_12 BM_12_08 | ||
1047 | #define BM_13_08 0x0000000000003f00 | ||
1048 | #define BM_08_13 BM_13_08 | ||
1049 | #define BM_14_08 0x0000000000007f00 | ||
1050 | #define BM_08_14 BM_14_08 | ||
1051 | #define BM_15_08 0x000000000000ff00 | ||
1052 | #define BM_08_15 BM_15_08 | ||
1053 | #define BM_16_08 0x000000000001ff00 | ||
1054 | #define BM_08_16 BM_16_08 | ||
1055 | #define BM_17_08 0x000000000003ff00 | ||
1056 | #define BM_08_17 BM_17_08 | ||
1057 | #define BM_18_08 0x000000000007ff00 | ||
1058 | #define BM_08_18 BM_18_08 | ||
1059 | #define BM_19_08 0x00000000000fff00 | ||
1060 | #define BM_08_19 BM_19_08 | ||
1061 | #define BM_20_08 0x00000000001fff00 | ||
1062 | #define BM_08_20 BM_20_08 | ||
1063 | #define BM_21_08 0x00000000003fff00 | ||
1064 | #define BM_08_21 BM_21_08 | ||
1065 | #define BM_22_08 0x00000000007fff00 | ||
1066 | #define BM_08_22 BM_22_08 | ||
1067 | #define BM_23_08 0x0000000000ffff00 | ||
1068 | #define BM_08_23 BM_23_08 | ||
1069 | #define BM_24_08 0x0000000001ffff00 | ||
1070 | #define BM_08_24 BM_24_08 | ||
1071 | #define BM_25_08 0x0000000003ffff00 | ||
1072 | #define BM_08_25 BM_25_08 | ||
1073 | #define BM_26_08 0x0000000007ffff00 | ||
1074 | #define BM_08_26 BM_26_08 | ||
1075 | #define BM_27_08 0x000000000fffff00 | ||
1076 | #define BM_08_27 BM_27_08 | ||
1077 | #define BM_28_08 0x000000001fffff00 | ||
1078 | #define BM_08_28 BM_28_08 | ||
1079 | #define BM_29_08 0x000000003fffff00 | ||
1080 | #define BM_08_29 BM_29_08 | ||
1081 | #define BM_30_08 0x000000007fffff00 | ||
1082 | #define BM_08_30 BM_30_08 | ||
1083 | #define BM_31_08 0x00000000ffffff00 | ||
1084 | #define BM_08_31 BM_31_08 | ||
1085 | #define BM_32_08 0x00000001ffffff00 | ||
1086 | #define BM_08_32 BM_32_08 | ||
1087 | #define BM_33_08 0x00000003ffffff00 | ||
1088 | #define BM_08_33 BM_33_08 | ||
1089 | #define BM_34_08 0x00000007ffffff00 | ||
1090 | #define BM_08_34 BM_34_08 | ||
1091 | #define BM_35_08 0x0000000fffffff00 | ||
1092 | #define BM_08_35 BM_35_08 | ||
1093 | #define BM_36_08 0x0000001fffffff00 | ||
1094 | #define BM_08_36 BM_36_08 | ||
1095 | #define BM_37_08 0x0000003fffffff00 | ||
1096 | #define BM_08_37 BM_37_08 | ||
1097 | #define BM_38_08 0x0000007fffffff00 | ||
1098 | #define BM_08_38 BM_38_08 | ||
1099 | #define BM_39_08 0x000000ffffffff00 | ||
1100 | #define BM_08_39 BM_39_08 | ||
1101 | #define BM_40_08 0x000001ffffffff00 | ||
1102 | #define BM_08_40 BM_40_08 | ||
1103 | #define BM_41_08 0x000003ffffffff00 | ||
1104 | #define BM_08_41 BM_41_08 | ||
1105 | #define BM_42_08 0x000007ffffffff00 | ||
1106 | #define BM_08_42 BM_42_08 | ||
1107 | #define BM_43_08 0x00000fffffffff00 | ||
1108 | #define BM_08_43 BM_43_08 | ||
1109 | #define BM_44_08 0x00001fffffffff00 | ||
1110 | #define BM_08_44 BM_44_08 | ||
1111 | #define BM_45_08 0x00003fffffffff00 | ||
1112 | #define BM_08_45 BM_45_08 | ||
1113 | #define BM_46_08 0x00007fffffffff00 | ||
1114 | #define BM_08_46 BM_46_08 | ||
1115 | #define BM_47_08 0x0000ffffffffff00 | ||
1116 | #define BM_08_47 BM_47_08 | ||
1117 | #define BM_48_08 0x0001ffffffffff00 | ||
1118 | #define BM_08_48 BM_48_08 | ||
1119 | #define BM_49_08 0x0003ffffffffff00 | ||
1120 | #define BM_08_49 BM_49_08 | ||
1121 | #define BM_50_08 0x0007ffffffffff00 | ||
1122 | #define BM_08_50 BM_50_08 | ||
1123 | #define BM_51_08 0x000fffffffffff00 | ||
1124 | #define BM_08_51 BM_51_08 | ||
1125 | #define BM_52_08 0x001fffffffffff00 | ||
1126 | #define BM_08_52 BM_52_08 | ||
1127 | #define BM_53_08 0x003fffffffffff00 | ||
1128 | #define BM_08_53 BM_53_08 | ||
1129 | #define BM_54_08 0x007fffffffffff00 | ||
1130 | #define BM_08_54 BM_54_08 | ||
1131 | #define BM_55_08 0x00ffffffffffff00 | ||
1132 | #define BM_08_55 BM_55_08 | ||
1133 | #define BM_56_08 0x01ffffffffffff00 | ||
1134 | #define BM_08_56 BM_56_08 | ||
1135 | #define BM_57_08 0x03ffffffffffff00 | ||
1136 | #define BM_08_57 BM_57_08 | ||
1137 | #define BM_58_08 0x07ffffffffffff00 | ||
1138 | #define BM_08_58 BM_58_08 | ||
1139 | #define BM_59_08 0x0fffffffffffff00 | ||
1140 | #define BM_08_59 BM_59_08 | ||
1141 | #define BM_60_08 0x1fffffffffffff00 | ||
1142 | #define BM_08_60 BM_60_08 | ||
1143 | #define BM_61_08 0x3fffffffffffff00 | ||
1144 | #define BM_08_61 BM_61_08 | ||
1145 | #define BM_62_08 0x7fffffffffffff00 | ||
1146 | #define BM_08_62 BM_62_08 | ||
1147 | #define BM_63_08 0xffffffffffffff00 | ||
1148 | #define BM_08_63 BM_63_08 | ||
1149 | #define BM_09_09 0x0000000000000200 | ||
1150 | #define BM_10_09 0x0000000000000600 | ||
1151 | #define BM_09_10 BM_10_09 | ||
1152 | #define BM_11_09 0x0000000000000e00 | ||
1153 | #define BM_09_11 BM_11_09 | ||
1154 | #define BM_12_09 0x0000000000001e00 | ||
1155 | #define BM_09_12 BM_12_09 | ||
1156 | #define BM_13_09 0x0000000000003e00 | ||
1157 | #define BM_09_13 BM_13_09 | ||
1158 | #define BM_14_09 0x0000000000007e00 | ||
1159 | #define BM_09_14 BM_14_09 | ||
1160 | #define BM_15_09 0x000000000000fe00 | ||
1161 | #define BM_09_15 BM_15_09 | ||
1162 | #define BM_16_09 0x000000000001fe00 | ||
1163 | #define BM_09_16 BM_16_09 | ||
1164 | #define BM_17_09 0x000000000003fe00 | ||
1165 | #define BM_09_17 BM_17_09 | ||
1166 | #define BM_18_09 0x000000000007fe00 | ||
1167 | #define BM_09_18 BM_18_09 | ||
1168 | #define BM_19_09 0x00000000000ffe00 | ||
1169 | #define BM_09_19 BM_19_09 | ||
1170 | #define BM_20_09 0x00000000001ffe00 | ||
1171 | #define BM_09_20 BM_20_09 | ||
1172 | #define BM_21_09 0x00000000003ffe00 | ||
1173 | #define BM_09_21 BM_21_09 | ||
1174 | #define BM_22_09 0x00000000007ffe00 | ||
1175 | #define BM_09_22 BM_22_09 | ||
1176 | #define BM_23_09 0x0000000000fffe00 | ||
1177 | #define BM_09_23 BM_23_09 | ||
1178 | #define BM_24_09 0x0000000001fffe00 | ||
1179 | #define BM_09_24 BM_24_09 | ||
1180 | #define BM_25_09 0x0000000003fffe00 | ||
1181 | #define BM_09_25 BM_25_09 | ||
1182 | #define BM_26_09 0x0000000007fffe00 | ||
1183 | #define BM_09_26 BM_26_09 | ||
1184 | #define BM_27_09 0x000000000ffffe00 | ||
1185 | #define BM_09_27 BM_27_09 | ||
1186 | #define BM_28_09 0x000000001ffffe00 | ||
1187 | #define BM_09_28 BM_28_09 | ||
1188 | #define BM_29_09 0x000000003ffffe00 | ||
1189 | #define BM_09_29 BM_29_09 | ||
1190 | #define BM_30_09 0x000000007ffffe00 | ||
1191 | #define BM_09_30 BM_30_09 | ||
1192 | #define BM_31_09 0x00000000fffffe00 | ||
1193 | #define BM_09_31 BM_31_09 | ||
1194 | #define BM_32_09 0x00000001fffffe00 | ||
1195 | #define BM_09_32 BM_32_09 | ||
1196 | #define BM_33_09 0x00000003fffffe00 | ||
1197 | #define BM_09_33 BM_33_09 | ||
1198 | #define BM_34_09 0x00000007fffffe00 | ||
1199 | #define BM_09_34 BM_34_09 | ||
1200 | #define BM_35_09 0x0000000ffffffe00 | ||
1201 | #define BM_09_35 BM_35_09 | ||
1202 | #define BM_36_09 0x0000001ffffffe00 | ||
1203 | #define BM_09_36 BM_36_09 | ||
1204 | #define BM_37_09 0x0000003ffffffe00 | ||
1205 | #define BM_09_37 BM_37_09 | ||
1206 | #define BM_38_09 0x0000007ffffffe00 | ||
1207 | #define BM_09_38 BM_38_09 | ||
1208 | #define BM_39_09 0x000000fffffffe00 | ||
1209 | #define BM_09_39 BM_39_09 | ||
1210 | #define BM_40_09 0x000001fffffffe00 | ||
1211 | #define BM_09_40 BM_40_09 | ||
1212 | #define BM_41_09 0x000003fffffffe00 | ||
1213 | #define BM_09_41 BM_41_09 | ||
1214 | #define BM_42_09 0x000007fffffffe00 | ||
1215 | #define BM_09_42 BM_42_09 | ||
1216 | #define BM_43_09 0x00000ffffffffe00 | ||
1217 | #define BM_09_43 BM_43_09 | ||
1218 | #define BM_44_09 0x00001ffffffffe00 | ||
1219 | #define BM_09_44 BM_44_09 | ||
1220 | #define BM_45_09 0x00003ffffffffe00 | ||
1221 | #define BM_09_45 BM_45_09 | ||
1222 | #define BM_46_09 0x00007ffffffffe00 | ||
1223 | #define BM_09_46 BM_46_09 | ||
1224 | #define BM_47_09 0x0000fffffffffe00 | ||
1225 | #define BM_09_47 BM_47_09 | ||
1226 | #define BM_48_09 0x0001fffffffffe00 | ||
1227 | #define BM_09_48 BM_48_09 | ||
1228 | #define BM_49_09 0x0003fffffffffe00 | ||
1229 | #define BM_09_49 BM_49_09 | ||
1230 | #define BM_50_09 0x0007fffffffffe00 | ||
1231 | #define BM_09_50 BM_50_09 | ||
1232 | #define BM_51_09 0x000ffffffffffe00 | ||
1233 | #define BM_09_51 BM_51_09 | ||
1234 | #define BM_52_09 0x001ffffffffffe00 | ||
1235 | #define BM_09_52 BM_52_09 | ||
1236 | #define BM_53_09 0x003ffffffffffe00 | ||
1237 | #define BM_09_53 BM_53_09 | ||
1238 | #define BM_54_09 0x007ffffffffffe00 | ||
1239 | #define BM_09_54 BM_54_09 | ||
1240 | #define BM_55_09 0x00fffffffffffe00 | ||
1241 | #define BM_09_55 BM_55_09 | ||
1242 | #define BM_56_09 0x01fffffffffffe00 | ||
1243 | #define BM_09_56 BM_56_09 | ||
1244 | #define BM_57_09 0x03fffffffffffe00 | ||
1245 | #define BM_09_57 BM_57_09 | ||
1246 | #define BM_58_09 0x07fffffffffffe00 | ||
1247 | #define BM_09_58 BM_58_09 | ||
1248 | #define BM_59_09 0x0ffffffffffffe00 | ||
1249 | #define BM_09_59 BM_59_09 | ||
1250 | #define BM_60_09 0x1ffffffffffffe00 | ||
1251 | #define BM_09_60 BM_60_09 | ||
1252 | #define BM_61_09 0x3ffffffffffffe00 | ||
1253 | #define BM_09_61 BM_61_09 | ||
1254 | #define BM_62_09 0x7ffffffffffffe00 | ||
1255 | #define BM_09_62 BM_62_09 | ||
1256 | #define BM_63_09 0xfffffffffffffe00 | ||
1257 | #define BM_09_63 BM_63_09 | ||
1258 | #define BM_10_10 0x0000000000000400 | ||
1259 | #define BM_11_10 0x0000000000000c00 | ||
1260 | #define BM_10_11 BM_11_10 | ||
1261 | #define BM_12_10 0x0000000000001c00 | ||
1262 | #define BM_10_12 BM_12_10 | ||
1263 | #define BM_13_10 0x0000000000003c00 | ||
1264 | #define BM_10_13 BM_13_10 | ||
1265 | #define BM_14_10 0x0000000000007c00 | ||
1266 | #define BM_10_14 BM_14_10 | ||
1267 | #define BM_15_10 0x000000000000fc00 | ||
1268 | #define BM_10_15 BM_15_10 | ||
1269 | #define BM_16_10 0x000000000001fc00 | ||
1270 | #define BM_10_16 BM_16_10 | ||
1271 | #define BM_17_10 0x000000000003fc00 | ||
1272 | #define BM_10_17 BM_17_10 | ||
1273 | #define BM_18_10 0x000000000007fc00 | ||
1274 | #define BM_10_18 BM_18_10 | ||
1275 | #define BM_19_10 0x00000000000ffc00 | ||
1276 | #define BM_10_19 BM_19_10 | ||
1277 | #define BM_20_10 0x00000000001ffc00 | ||
1278 | #define BM_10_20 BM_20_10 | ||
1279 | #define BM_21_10 0x00000000003ffc00 | ||
1280 | #define BM_10_21 BM_21_10 | ||
1281 | #define BM_22_10 0x00000000007ffc00 | ||
1282 | #define BM_10_22 BM_22_10 | ||
1283 | #define BM_23_10 0x0000000000fffc00 | ||
1284 | #define BM_10_23 BM_23_10 | ||
1285 | #define BM_24_10 0x0000000001fffc00 | ||
1286 | #define BM_10_24 BM_24_10 | ||
1287 | #define BM_25_10 0x0000000003fffc00 | ||
1288 | #define BM_10_25 BM_25_10 | ||
1289 | #define BM_26_10 0x0000000007fffc00 | ||
1290 | #define BM_10_26 BM_26_10 | ||
1291 | #define BM_27_10 0x000000000ffffc00 | ||
1292 | #define BM_10_27 BM_27_10 | ||
1293 | #define BM_28_10 0x000000001ffffc00 | ||
1294 | #define BM_10_28 BM_28_10 | ||
1295 | #define BM_29_10 0x000000003ffffc00 | ||
1296 | #define BM_10_29 BM_29_10 | ||
1297 | #define BM_30_10 0x000000007ffffc00 | ||
1298 | #define BM_10_30 BM_30_10 | ||
1299 | #define BM_31_10 0x00000000fffffc00 | ||
1300 | #define BM_10_31 BM_31_10 | ||
1301 | #define BM_32_10 0x00000001fffffc00 | ||
1302 | #define BM_10_32 BM_32_10 | ||
1303 | #define BM_33_10 0x00000003fffffc00 | ||
1304 | #define BM_10_33 BM_33_10 | ||
1305 | #define BM_34_10 0x00000007fffffc00 | ||
1306 | #define BM_10_34 BM_34_10 | ||
1307 | #define BM_35_10 0x0000000ffffffc00 | ||
1308 | #define BM_10_35 BM_35_10 | ||
1309 | #define BM_36_10 0x0000001ffffffc00 | ||
1310 | #define BM_10_36 BM_36_10 | ||
1311 | #define BM_37_10 0x0000003ffffffc00 | ||
1312 | #define BM_10_37 BM_37_10 | ||
1313 | #define BM_38_10 0x0000007ffffffc00 | ||
1314 | #define BM_10_38 BM_38_10 | ||
1315 | #define BM_39_10 0x000000fffffffc00 | ||
1316 | #define BM_10_39 BM_39_10 | ||
1317 | #define BM_40_10 0x000001fffffffc00 | ||
1318 | #define BM_10_40 BM_40_10 | ||
1319 | #define BM_41_10 0x000003fffffffc00 | ||
1320 | #define BM_10_41 BM_41_10 | ||
1321 | #define BM_42_10 0x000007fffffffc00 | ||
1322 | #define BM_10_42 BM_42_10 | ||
1323 | #define BM_43_10 0x00000ffffffffc00 | ||
1324 | #define BM_10_43 BM_43_10 | ||
1325 | #define BM_44_10 0x00001ffffffffc00 | ||
1326 | #define BM_10_44 BM_44_10 | ||
1327 | #define BM_45_10 0x00003ffffffffc00 | ||
1328 | #define BM_10_45 BM_45_10 | ||
1329 | #define BM_46_10 0x00007ffffffffc00 | ||
1330 | #define BM_10_46 BM_46_10 | ||
1331 | #define BM_47_10 0x0000fffffffffc00 | ||
1332 | #define BM_10_47 BM_47_10 | ||
1333 | #define BM_48_10 0x0001fffffffffc00 | ||
1334 | #define BM_10_48 BM_48_10 | ||
1335 | #define BM_49_10 0x0003fffffffffc00 | ||
1336 | #define BM_10_49 BM_49_10 | ||
1337 | #define BM_50_10 0x0007fffffffffc00 | ||
1338 | #define BM_10_50 BM_50_10 | ||
1339 | #define BM_51_10 0x000ffffffffffc00 | ||
1340 | #define BM_10_51 BM_51_10 | ||
1341 | #define BM_52_10 0x001ffffffffffc00 | ||
1342 | #define BM_10_52 BM_52_10 | ||
1343 | #define BM_53_10 0x003ffffffffffc00 | ||
1344 | #define BM_10_53 BM_53_10 | ||
1345 | #define BM_54_10 0x007ffffffffffc00 | ||
1346 | #define BM_10_54 BM_54_10 | ||
1347 | #define BM_55_10 0x00fffffffffffc00 | ||
1348 | #define BM_10_55 BM_55_10 | ||
1349 | #define BM_56_10 0x01fffffffffffc00 | ||
1350 | #define BM_10_56 BM_56_10 | ||
1351 | #define BM_57_10 0x03fffffffffffc00 | ||
1352 | #define BM_10_57 BM_57_10 | ||
1353 | #define BM_58_10 0x07fffffffffffc00 | ||
1354 | #define BM_10_58 BM_58_10 | ||
1355 | #define BM_59_10 0x0ffffffffffffc00 | ||
1356 | #define BM_10_59 BM_59_10 | ||
1357 | #define BM_60_10 0x1ffffffffffffc00 | ||
1358 | #define BM_10_60 BM_60_10 | ||
1359 | #define BM_61_10 0x3ffffffffffffc00 | ||
1360 | #define BM_10_61 BM_61_10 | ||
1361 | #define BM_62_10 0x7ffffffffffffc00 | ||
1362 | #define BM_10_62 BM_62_10 | ||
1363 | #define BM_63_10 0xfffffffffffffc00 | ||
1364 | #define BM_10_63 BM_63_10 | ||
1365 | #define BM_11_11 0x0000000000000800 | ||
1366 | #define BM_12_11 0x0000000000001800 | ||
1367 | #define BM_11_12 BM_12_11 | ||
1368 | #define BM_13_11 0x0000000000003800 | ||
1369 | #define BM_11_13 BM_13_11 | ||
1370 | #define BM_14_11 0x0000000000007800 | ||
1371 | #define BM_11_14 BM_14_11 | ||
1372 | #define BM_15_11 0x000000000000f800 | ||
1373 | #define BM_11_15 BM_15_11 | ||
1374 | #define BM_16_11 0x000000000001f800 | ||
1375 | #define BM_11_16 BM_16_11 | ||
1376 | #define BM_17_11 0x000000000003f800 | ||
1377 | #define BM_11_17 BM_17_11 | ||
1378 | #define BM_18_11 0x000000000007f800 | ||
1379 | #define BM_11_18 BM_18_11 | ||
1380 | #define BM_19_11 0x00000000000ff800 | ||
1381 | #define BM_11_19 BM_19_11 | ||
1382 | #define BM_20_11 0x00000000001ff800 | ||
1383 | #define BM_11_20 BM_20_11 | ||
1384 | #define BM_21_11 0x00000000003ff800 | ||
1385 | #define BM_11_21 BM_21_11 | ||
1386 | #define BM_22_11 0x00000000007ff800 | ||
1387 | #define BM_11_22 BM_22_11 | ||
1388 | #define BM_23_11 0x0000000000fff800 | ||
1389 | #define BM_11_23 BM_23_11 | ||
1390 | #define BM_24_11 0x0000000001fff800 | ||
1391 | #define BM_11_24 BM_24_11 | ||
1392 | #define BM_25_11 0x0000000003fff800 | ||
1393 | #define BM_11_25 BM_25_11 | ||
1394 | #define BM_26_11 0x0000000007fff800 | ||
1395 | #define BM_11_26 BM_26_11 | ||
1396 | #define BM_27_11 0x000000000ffff800 | ||
1397 | #define BM_11_27 BM_27_11 | ||
1398 | #define BM_28_11 0x000000001ffff800 | ||
1399 | #define BM_11_28 BM_28_11 | ||
1400 | #define BM_29_11 0x000000003ffff800 | ||
1401 | #define BM_11_29 BM_29_11 | ||
1402 | #define BM_30_11 0x000000007ffff800 | ||
1403 | #define BM_11_30 BM_30_11 | ||
1404 | #define BM_31_11 0x00000000fffff800 | ||
1405 | #define BM_11_31 BM_31_11 | ||
1406 | #define BM_32_11 0x00000001fffff800 | ||
1407 | #define BM_11_32 BM_32_11 | ||
1408 | #define BM_33_11 0x00000003fffff800 | ||
1409 | #define BM_11_33 BM_33_11 | ||
1410 | #define BM_34_11 0x00000007fffff800 | ||
1411 | #define BM_11_34 BM_34_11 | ||
1412 | #define BM_35_11 0x0000000ffffff800 | ||
1413 | #define BM_11_35 BM_35_11 | ||
1414 | #define BM_36_11 0x0000001ffffff800 | ||
1415 | #define BM_11_36 BM_36_11 | ||
1416 | #define BM_37_11 0x0000003ffffff800 | ||
1417 | #define BM_11_37 BM_37_11 | ||
1418 | #define BM_38_11 0x0000007ffffff800 | ||
1419 | #define BM_11_38 BM_38_11 | ||
1420 | #define BM_39_11 0x000000fffffff800 | ||
1421 | #define BM_11_39 BM_39_11 | ||
1422 | #define BM_40_11 0x000001fffffff800 | ||
1423 | #define BM_11_40 BM_40_11 | ||
1424 | #define BM_41_11 0x000003fffffff800 | ||
1425 | #define BM_11_41 BM_41_11 | ||
1426 | #define BM_42_11 0x000007fffffff800 | ||
1427 | #define BM_11_42 BM_42_11 | ||
1428 | #define BM_43_11 0x00000ffffffff800 | ||
1429 | #define BM_11_43 BM_43_11 | ||
1430 | #define BM_44_11 0x00001ffffffff800 | ||
1431 | #define BM_11_44 BM_44_11 | ||
1432 | #define BM_45_11 0x00003ffffffff800 | ||
1433 | #define BM_11_45 BM_45_11 | ||
1434 | #define BM_46_11 0x00007ffffffff800 | ||
1435 | #define BM_11_46 BM_46_11 | ||
1436 | #define BM_47_11 0x0000fffffffff800 | ||
1437 | #define BM_11_47 BM_47_11 | ||
1438 | #define BM_48_11 0x0001fffffffff800 | ||
1439 | #define BM_11_48 BM_48_11 | ||
1440 | #define BM_49_11 0x0003fffffffff800 | ||
1441 | #define BM_11_49 BM_49_11 | ||
1442 | #define BM_50_11 0x0007fffffffff800 | ||
1443 | #define BM_11_50 BM_50_11 | ||
1444 | #define BM_51_11 0x000ffffffffff800 | ||
1445 | #define BM_11_51 BM_51_11 | ||
1446 | #define BM_52_11 0x001ffffffffff800 | ||
1447 | #define BM_11_52 BM_52_11 | ||
1448 | #define BM_53_11 0x003ffffffffff800 | ||
1449 | #define BM_11_53 BM_53_11 | ||
1450 | #define BM_54_11 0x007ffffffffff800 | ||
1451 | #define BM_11_54 BM_54_11 | ||
1452 | #define BM_55_11 0x00fffffffffff800 | ||
1453 | #define BM_11_55 BM_55_11 | ||
1454 | #define BM_56_11 0x01fffffffffff800 | ||
1455 | #define BM_11_56 BM_56_11 | ||
1456 | #define BM_57_11 0x03fffffffffff800 | ||
1457 | #define BM_11_57 BM_57_11 | ||
1458 | #define BM_58_11 0x07fffffffffff800 | ||
1459 | #define BM_11_58 BM_58_11 | ||
1460 | #define BM_59_11 0x0ffffffffffff800 | ||
1461 | #define BM_11_59 BM_59_11 | ||
1462 | #define BM_60_11 0x1ffffffffffff800 | ||
1463 | #define BM_11_60 BM_60_11 | ||
1464 | #define BM_61_11 0x3ffffffffffff800 | ||
1465 | #define BM_11_61 BM_61_11 | ||
1466 | #define BM_62_11 0x7ffffffffffff800 | ||
1467 | #define BM_11_62 BM_62_11 | ||
1468 | #define BM_63_11 0xfffffffffffff800 | ||
1469 | #define BM_11_63 BM_63_11 | ||
1470 | #define BM_12_12 0x0000000000001000 | ||
1471 | #define BM_13_12 0x0000000000003000 | ||
1472 | #define BM_12_13 BM_13_12 | ||
1473 | #define BM_14_12 0x0000000000007000 | ||
1474 | #define BM_12_14 BM_14_12 | ||
1475 | #define BM_15_12 0x000000000000f000 | ||
1476 | #define BM_12_15 BM_15_12 | ||
1477 | #define BM_16_12 0x000000000001f000 | ||
1478 | #define BM_12_16 BM_16_12 | ||
1479 | #define BM_17_12 0x000000000003f000 | ||
1480 | #define BM_12_17 BM_17_12 | ||
1481 | #define BM_18_12 0x000000000007f000 | ||
1482 | #define BM_12_18 BM_18_12 | ||
1483 | #define BM_19_12 0x00000000000ff000 | ||
1484 | #define BM_12_19 BM_19_12 | ||
1485 | #define BM_20_12 0x00000000001ff000 | ||
1486 | #define BM_12_20 BM_20_12 | ||
1487 | #define BM_21_12 0x00000000003ff000 | ||
1488 | #define BM_12_21 BM_21_12 | ||
1489 | #define BM_22_12 0x00000000007ff000 | ||
1490 | #define BM_12_22 BM_22_12 | ||
1491 | #define BM_23_12 0x0000000000fff000 | ||
1492 | #define BM_12_23 BM_23_12 | ||
1493 | #define BM_24_12 0x0000000001fff000 | ||
1494 | #define BM_12_24 BM_24_12 | ||
1495 | #define BM_25_12 0x0000000003fff000 | ||
1496 | #define BM_12_25 BM_25_12 | ||
1497 | #define BM_26_12 0x0000000007fff000 | ||
1498 | #define BM_12_26 BM_26_12 | ||
1499 | #define BM_27_12 0x000000000ffff000 | ||
1500 | #define BM_12_27 BM_27_12 | ||
1501 | #define BM_28_12 0x000000001ffff000 | ||
1502 | #define BM_12_28 BM_28_12 | ||
1503 | #define BM_29_12 0x000000003ffff000 | ||
1504 | #define BM_12_29 BM_29_12 | ||
1505 | #define BM_30_12 0x000000007ffff000 | ||
1506 | #define BM_12_30 BM_30_12 | ||
1507 | #define BM_31_12 0x00000000fffff000 | ||
1508 | #define BM_12_31 BM_31_12 | ||
1509 | #define BM_32_12 0x00000001fffff000 | ||
1510 | #define BM_12_32 BM_32_12 | ||
1511 | #define BM_33_12 0x00000003fffff000 | ||
1512 | #define BM_12_33 BM_33_12 | ||
1513 | #define BM_34_12 0x00000007fffff000 | ||
1514 | #define BM_12_34 BM_34_12 | ||
1515 | #define BM_35_12 0x0000000ffffff000 | ||
1516 | #define BM_12_35 BM_35_12 | ||
1517 | #define BM_36_12 0x0000001ffffff000 | ||
1518 | #define BM_12_36 BM_36_12 | ||
1519 | #define BM_37_12 0x0000003ffffff000 | ||
1520 | #define BM_12_37 BM_37_12 | ||
1521 | #define BM_38_12 0x0000007ffffff000 | ||
1522 | #define BM_12_38 BM_38_12 | ||
1523 | #define BM_39_12 0x000000fffffff000 | ||
1524 | #define BM_12_39 BM_39_12 | ||
1525 | #define BM_40_12 0x000001fffffff000 | ||
1526 | #define BM_12_40 BM_40_12 | ||
1527 | #define BM_41_12 0x000003fffffff000 | ||
1528 | #define BM_12_41 BM_41_12 | ||
1529 | #define BM_42_12 0x000007fffffff000 | ||
1530 | #define BM_12_42 BM_42_12 | ||
1531 | #define BM_43_12 0x00000ffffffff000 | ||
1532 | #define BM_12_43 BM_43_12 | ||
1533 | #define BM_44_12 0x00001ffffffff000 | ||
1534 | #define BM_12_44 BM_44_12 | ||
1535 | #define BM_45_12 0x00003ffffffff000 | ||
1536 | #define BM_12_45 BM_45_12 | ||
1537 | #define BM_46_12 0x00007ffffffff000 | ||
1538 | #define BM_12_46 BM_46_12 | ||
1539 | #define BM_47_12 0x0000fffffffff000 | ||
1540 | #define BM_12_47 BM_47_12 | ||
1541 | #define BM_48_12 0x0001fffffffff000 | ||
1542 | #define BM_12_48 BM_48_12 | ||
1543 | #define BM_49_12 0x0003fffffffff000 | ||
1544 | #define BM_12_49 BM_49_12 | ||
1545 | #define BM_50_12 0x0007fffffffff000 | ||
1546 | #define BM_12_50 BM_50_12 | ||
1547 | #define BM_51_12 0x000ffffffffff000 | ||
1548 | #define BM_12_51 BM_51_12 | ||
1549 | #define BM_52_12 0x001ffffffffff000 | ||
1550 | #define BM_12_52 BM_52_12 | ||
1551 | #define BM_53_12 0x003ffffffffff000 | ||
1552 | #define BM_12_53 BM_53_12 | ||
1553 | #define BM_54_12 0x007ffffffffff000 | ||
1554 | #define BM_12_54 BM_54_12 | ||
1555 | #define BM_55_12 0x00fffffffffff000 | ||
1556 | #define BM_12_55 BM_55_12 | ||
1557 | #define BM_56_12 0x01fffffffffff000 | ||
1558 | #define BM_12_56 BM_56_12 | ||
1559 | #define BM_57_12 0x03fffffffffff000 | ||
1560 | #define BM_12_57 BM_57_12 | ||
1561 | #define BM_58_12 0x07fffffffffff000 | ||
1562 | #define BM_12_58 BM_58_12 | ||
1563 | #define BM_59_12 0x0ffffffffffff000 | ||
1564 | #define BM_12_59 BM_59_12 | ||
1565 | #define BM_60_12 0x1ffffffffffff000 | ||
1566 | #define BM_12_60 BM_60_12 | ||
1567 | #define BM_61_12 0x3ffffffffffff000 | ||
1568 | #define BM_12_61 BM_61_12 | ||
1569 | #define BM_62_12 0x7ffffffffffff000 | ||
1570 | #define BM_12_62 BM_62_12 | ||
1571 | #define BM_63_12 0xfffffffffffff000 | ||
1572 | #define BM_12_63 BM_63_12 | ||
1573 | #define BM_13_13 0x0000000000002000 | ||
1574 | #define BM_14_13 0x0000000000006000 | ||
1575 | #define BM_13_14 BM_14_13 | ||
1576 | #define BM_15_13 0x000000000000e000 | ||
1577 | #define BM_13_15 BM_15_13 | ||
1578 | #define BM_16_13 0x000000000001e000 | ||
1579 | #define BM_13_16 BM_16_13 | ||
1580 | #define BM_17_13 0x000000000003e000 | ||
1581 | #define BM_13_17 BM_17_13 | ||
1582 | #define BM_18_13 0x000000000007e000 | ||
1583 | #define BM_13_18 BM_18_13 | ||
1584 | #define BM_19_13 0x00000000000fe000 | ||
1585 | #define BM_13_19 BM_19_13 | ||
1586 | #define BM_20_13 0x00000000001fe000 | ||
1587 | #define BM_13_20 BM_20_13 | ||
1588 | #define BM_21_13 0x00000000003fe000 | ||
1589 | #define BM_13_21 BM_21_13 | ||
1590 | #define BM_22_13 0x00000000007fe000 | ||
1591 | #define BM_13_22 BM_22_13 | ||
1592 | #define BM_23_13 0x0000000000ffe000 | ||
1593 | #define BM_13_23 BM_23_13 | ||
1594 | #define BM_24_13 0x0000000001ffe000 | ||
1595 | #define BM_13_24 BM_24_13 | ||
1596 | #define BM_25_13 0x0000000003ffe000 | ||
1597 | #define BM_13_25 BM_25_13 | ||
1598 | #define BM_26_13 0x0000000007ffe000 | ||
1599 | #define BM_13_26 BM_26_13 | ||
1600 | #define BM_27_13 0x000000000fffe000 | ||
1601 | #define BM_13_27 BM_27_13 | ||
1602 | #define BM_28_13 0x000000001fffe000 | ||
1603 | #define BM_13_28 BM_28_13 | ||
1604 | #define BM_29_13 0x000000003fffe000 | ||
1605 | #define BM_13_29 BM_29_13 | ||
1606 | #define BM_30_13 0x000000007fffe000 | ||
1607 | #define BM_13_30 BM_30_13 | ||
1608 | #define BM_31_13 0x00000000ffffe000 | ||
1609 | #define BM_13_31 BM_31_13 | ||
1610 | #define BM_32_13 0x00000001ffffe000 | ||
1611 | #define BM_13_32 BM_32_13 | ||
1612 | #define BM_33_13 0x00000003ffffe000 | ||
1613 | #define BM_13_33 BM_33_13 | ||
1614 | #define BM_34_13 0x00000007ffffe000 | ||
1615 | #define BM_13_34 BM_34_13 | ||
1616 | #define BM_35_13 0x0000000fffffe000 | ||
1617 | #define BM_13_35 BM_35_13 | ||
1618 | #define BM_36_13 0x0000001fffffe000 | ||
1619 | #define BM_13_36 BM_36_13 | ||
1620 | #define BM_37_13 0x0000003fffffe000 | ||
1621 | #define BM_13_37 BM_37_13 | ||
1622 | #define BM_38_13 0x0000007fffffe000 | ||
1623 | #define BM_13_38 BM_38_13 | ||
1624 | #define BM_39_13 0x000000ffffffe000 | ||
1625 | #define BM_13_39 BM_39_13 | ||
1626 | #define BM_40_13 0x000001ffffffe000 | ||
1627 | #define BM_13_40 BM_40_13 | ||
1628 | #define BM_41_13 0x000003ffffffe000 | ||
1629 | #define BM_13_41 BM_41_13 | ||
1630 | #define BM_42_13 0x000007ffffffe000 | ||
1631 | #define BM_13_42 BM_42_13 | ||
1632 | #define BM_43_13 0x00000fffffffe000 | ||
1633 | #define BM_13_43 BM_43_13 | ||
1634 | #define BM_44_13 0x00001fffffffe000 | ||
1635 | #define BM_13_44 BM_44_13 | ||
1636 | #define BM_45_13 0x00003fffffffe000 | ||
1637 | #define BM_13_45 BM_45_13 | ||
1638 | #define BM_46_13 0x00007fffffffe000 | ||
1639 | #define BM_13_46 BM_46_13 | ||
1640 | #define BM_47_13 0x0000ffffffffe000 | ||
1641 | #define BM_13_47 BM_47_13 | ||
1642 | #define BM_48_13 0x0001ffffffffe000 | ||
1643 | #define BM_13_48 BM_48_13 | ||
1644 | #define BM_49_13 0x0003ffffffffe000 | ||
1645 | #define BM_13_49 BM_49_13 | ||
1646 | #define BM_50_13 0x0007ffffffffe000 | ||
1647 | #define BM_13_50 BM_50_13 | ||
1648 | #define BM_51_13 0x000fffffffffe000 | ||
1649 | #define BM_13_51 BM_51_13 | ||
1650 | #define BM_52_13 0x001fffffffffe000 | ||
1651 | #define BM_13_52 BM_52_13 | ||
1652 | #define BM_53_13 0x003fffffffffe000 | ||
1653 | #define BM_13_53 BM_53_13 | ||
1654 | #define BM_54_13 0x007fffffffffe000 | ||
1655 | #define BM_13_54 BM_54_13 | ||
1656 | #define BM_55_13 0x00ffffffffffe000 | ||
1657 | #define BM_13_55 BM_55_13 | ||
1658 | #define BM_56_13 0x01ffffffffffe000 | ||
1659 | #define BM_13_56 BM_56_13 | ||
1660 | #define BM_57_13 0x03ffffffffffe000 | ||
1661 | #define BM_13_57 BM_57_13 | ||
1662 | #define BM_58_13 0x07ffffffffffe000 | ||
1663 | #define BM_13_58 BM_58_13 | ||
1664 | #define BM_59_13 0x0fffffffffffe000 | ||
1665 | #define BM_13_59 BM_59_13 | ||
1666 | #define BM_60_13 0x1fffffffffffe000 | ||
1667 | #define BM_13_60 BM_60_13 | ||
1668 | #define BM_61_13 0x3fffffffffffe000 | ||
1669 | #define BM_13_61 BM_61_13 | ||
1670 | #define BM_62_13 0x7fffffffffffe000 | ||
1671 | #define BM_13_62 BM_62_13 | ||
1672 | #define BM_63_13 0xffffffffffffe000 | ||
1673 | #define BM_13_63 BM_63_13 | ||
1674 | #define BM_14_14 0x0000000000004000 | ||
1675 | #define BM_15_14 0x000000000000c000 | ||
1676 | #define BM_14_15 BM_15_14 | ||
1677 | #define BM_16_14 0x000000000001c000 | ||
1678 | #define BM_14_16 BM_16_14 | ||
1679 | #define BM_17_14 0x000000000003c000 | ||
1680 | #define BM_14_17 BM_17_14 | ||
1681 | #define BM_18_14 0x000000000007c000 | ||
1682 | #define BM_14_18 BM_18_14 | ||
1683 | #define BM_19_14 0x00000000000fc000 | ||
1684 | #define BM_14_19 BM_19_14 | ||
1685 | #define BM_20_14 0x00000000001fc000 | ||
1686 | #define BM_14_20 BM_20_14 | ||
1687 | #define BM_21_14 0x00000000003fc000 | ||
1688 | #define BM_14_21 BM_21_14 | ||
1689 | #define BM_22_14 0x00000000007fc000 | ||
1690 | #define BM_14_22 BM_22_14 | ||
1691 | #define BM_23_14 0x0000000000ffc000 | ||
1692 | #define BM_14_23 BM_23_14 | ||
1693 | #define BM_24_14 0x0000000001ffc000 | ||
1694 | #define BM_14_24 BM_24_14 | ||
1695 | #define BM_25_14 0x0000000003ffc000 | ||
1696 | #define BM_14_25 BM_25_14 | ||
1697 | #define BM_26_14 0x0000000007ffc000 | ||
1698 | #define BM_14_26 BM_26_14 | ||
1699 | #define BM_27_14 0x000000000fffc000 | ||
1700 | #define BM_14_27 BM_27_14 | ||
1701 | #define BM_28_14 0x000000001fffc000 | ||
1702 | #define BM_14_28 BM_28_14 | ||
1703 | #define BM_29_14 0x000000003fffc000 | ||
1704 | #define BM_14_29 BM_29_14 | ||
1705 | #define BM_30_14 0x000000007fffc000 | ||
1706 | #define BM_14_30 BM_30_14 | ||
1707 | #define BM_31_14 0x00000000ffffc000 | ||
1708 | #define BM_14_31 BM_31_14 | ||
1709 | #define BM_32_14 0x00000001ffffc000 | ||
1710 | #define BM_14_32 BM_32_14 | ||
1711 | #define BM_33_14 0x00000003ffffc000 | ||
1712 | #define BM_14_33 BM_33_14 | ||
1713 | #define BM_34_14 0x00000007ffffc000 | ||
1714 | #define BM_14_34 BM_34_14 | ||
1715 | #define BM_35_14 0x0000000fffffc000 | ||
1716 | #define BM_14_35 BM_35_14 | ||
1717 | #define BM_36_14 0x0000001fffffc000 | ||
1718 | #define BM_14_36 BM_36_14 | ||
1719 | #define BM_37_14 0x0000003fffffc000 | ||
1720 | #define BM_14_37 BM_37_14 | ||
1721 | #define BM_38_14 0x0000007fffffc000 | ||
1722 | #define BM_14_38 BM_38_14 | ||
1723 | #define BM_39_14 0x000000ffffffc000 | ||
1724 | #define BM_14_39 BM_39_14 | ||
1725 | #define BM_40_14 0x000001ffffffc000 | ||
1726 | #define BM_14_40 BM_40_14 | ||
1727 | #define BM_41_14 0x000003ffffffc000 | ||
1728 | #define BM_14_41 BM_41_14 | ||
1729 | #define BM_42_14 0x000007ffffffc000 | ||
1730 | #define BM_14_42 BM_42_14 | ||
1731 | #define BM_43_14 0x00000fffffffc000 | ||
1732 | #define BM_14_43 BM_43_14 | ||
1733 | #define BM_44_14 0x00001fffffffc000 | ||
1734 | #define BM_14_44 BM_44_14 | ||
1735 | #define BM_45_14 0x00003fffffffc000 | ||
1736 | #define BM_14_45 BM_45_14 | ||
1737 | #define BM_46_14 0x00007fffffffc000 | ||
1738 | #define BM_14_46 BM_46_14 | ||
1739 | #define BM_47_14 0x0000ffffffffc000 | ||
1740 | #define BM_14_47 BM_47_14 | ||
1741 | #define BM_48_14 0x0001ffffffffc000 | ||
1742 | #define BM_14_48 BM_48_14 | ||
1743 | #define BM_49_14 0x0003ffffffffc000 | ||
1744 | #define BM_14_49 BM_49_14 | ||
1745 | #define BM_50_14 0x0007ffffffffc000 | ||
1746 | #define BM_14_50 BM_50_14 | ||
1747 | #define BM_51_14 0x000fffffffffc000 | ||
1748 | #define BM_14_51 BM_51_14 | ||
1749 | #define BM_52_14 0x001fffffffffc000 | ||
1750 | #define BM_14_52 BM_52_14 | ||
1751 | #define BM_53_14 0x003fffffffffc000 | ||
1752 | #define BM_14_53 BM_53_14 | ||
1753 | #define BM_54_14 0x007fffffffffc000 | ||
1754 | #define BM_14_54 BM_54_14 | ||
1755 | #define BM_55_14 0x00ffffffffffc000 | ||
1756 | #define BM_14_55 BM_55_14 | ||
1757 | #define BM_56_14 0x01ffffffffffc000 | ||
1758 | #define BM_14_56 BM_56_14 | ||
1759 | #define BM_57_14 0x03ffffffffffc000 | ||
1760 | #define BM_14_57 BM_57_14 | ||
1761 | #define BM_58_14 0x07ffffffffffc000 | ||
1762 | #define BM_14_58 BM_58_14 | ||
1763 | #define BM_59_14 0x0fffffffffffc000 | ||
1764 | #define BM_14_59 BM_59_14 | ||
1765 | #define BM_60_14 0x1fffffffffffc000 | ||
1766 | #define BM_14_60 BM_60_14 | ||
1767 | #define BM_61_14 0x3fffffffffffc000 | ||
1768 | #define BM_14_61 BM_61_14 | ||
1769 | #define BM_62_14 0x7fffffffffffc000 | ||
1770 | #define BM_14_62 BM_62_14 | ||
1771 | #define BM_63_14 0xffffffffffffc000 | ||
1772 | #define BM_14_63 BM_63_14 | ||
1773 | #define BM_15_15 0x0000000000008000 | ||
1774 | #define BM_16_15 0x0000000000018000 | ||
1775 | #define BM_15_16 BM_16_15 | ||
1776 | #define BM_17_15 0x0000000000038000 | ||
1777 | #define BM_15_17 BM_17_15 | ||
1778 | #define BM_18_15 0x0000000000078000 | ||
1779 | #define BM_15_18 BM_18_15 | ||
1780 | #define BM_19_15 0x00000000000f8000 | ||
1781 | #define BM_15_19 BM_19_15 | ||
1782 | #define BM_20_15 0x00000000001f8000 | ||
1783 | #define BM_15_20 BM_20_15 | ||
1784 | #define BM_21_15 0x00000000003f8000 | ||
1785 | #define BM_15_21 BM_21_15 | ||
1786 | #define BM_22_15 0x00000000007f8000 | ||
1787 | #define BM_15_22 BM_22_15 | ||
1788 | #define BM_23_15 0x0000000000ff8000 | ||
1789 | #define BM_15_23 BM_23_15 | ||
1790 | #define BM_24_15 0x0000000001ff8000 | ||
1791 | #define BM_15_24 BM_24_15 | ||
1792 | #define BM_25_15 0x0000000003ff8000 | ||
1793 | #define BM_15_25 BM_25_15 | ||
1794 | #define BM_26_15 0x0000000007ff8000 | ||
1795 | #define BM_15_26 BM_26_15 | ||
1796 | #define BM_27_15 0x000000000fff8000 | ||
1797 | #define BM_15_27 BM_27_15 | ||
1798 | #define BM_28_15 0x000000001fff8000 | ||
1799 | #define BM_15_28 BM_28_15 | ||
1800 | #define BM_29_15 0x000000003fff8000 | ||
1801 | #define BM_15_29 BM_29_15 | ||
1802 | #define BM_30_15 0x000000007fff8000 | ||
1803 | #define BM_15_30 BM_30_15 | ||
1804 | #define BM_31_15 0x00000000ffff8000 | ||
1805 | #define BM_15_31 BM_31_15 | ||
1806 | #define BM_32_15 0x00000001ffff8000 | ||
1807 | #define BM_15_32 BM_32_15 | ||
1808 | #define BM_33_15 0x00000003ffff8000 | ||
1809 | #define BM_15_33 BM_33_15 | ||
1810 | #define BM_34_15 0x00000007ffff8000 | ||
1811 | #define BM_15_34 BM_34_15 | ||
1812 | #define BM_35_15 0x0000000fffff8000 | ||
1813 | #define BM_15_35 BM_35_15 | ||
1814 | #define BM_36_15 0x0000001fffff8000 | ||
1815 | #define BM_15_36 BM_36_15 | ||
1816 | #define BM_37_15 0x0000003fffff8000 | ||
1817 | #define BM_15_37 BM_37_15 | ||
1818 | #define BM_38_15 0x0000007fffff8000 | ||
1819 | #define BM_15_38 BM_38_15 | ||
1820 | #define BM_39_15 0x000000ffffff8000 | ||
1821 | #define BM_15_39 BM_39_15 | ||
1822 | #define BM_40_15 0x000001ffffff8000 | ||
1823 | #define BM_15_40 BM_40_15 | ||
1824 | #define BM_41_15 0x000003ffffff8000 | ||
1825 | #define BM_15_41 BM_41_15 | ||
1826 | #define BM_42_15 0x000007ffffff8000 | ||
1827 | #define BM_15_42 BM_42_15 | ||
1828 | #define BM_43_15 0x00000fffffff8000 | ||
1829 | #define BM_15_43 BM_43_15 | ||
1830 | #define BM_44_15 0x00001fffffff8000 | ||
1831 | #define BM_15_44 BM_44_15 | ||
1832 | #define BM_45_15 0x00003fffffff8000 | ||
1833 | #define BM_15_45 BM_45_15 | ||
1834 | #define BM_46_15 0x00007fffffff8000 | ||
1835 | #define BM_15_46 BM_46_15 | ||
1836 | #define BM_47_15 0x0000ffffffff8000 | ||
1837 | #define BM_15_47 BM_47_15 | ||
1838 | #define BM_48_15 0x0001ffffffff8000 | ||
1839 | #define BM_15_48 BM_48_15 | ||
1840 | #define BM_49_15 0x0003ffffffff8000 | ||
1841 | #define BM_15_49 BM_49_15 | ||
1842 | #define BM_50_15 0x0007ffffffff8000 | ||
1843 | #define BM_15_50 BM_50_15 | ||
1844 | #define BM_51_15 0x000fffffffff8000 | ||
1845 | #define BM_15_51 BM_51_15 | ||
1846 | #define BM_52_15 0x001fffffffff8000 | ||
1847 | #define BM_15_52 BM_52_15 | ||
1848 | #define BM_53_15 0x003fffffffff8000 | ||
1849 | #define BM_15_53 BM_53_15 | ||
1850 | #define BM_54_15 0x007fffffffff8000 | ||
1851 | #define BM_15_54 BM_54_15 | ||
1852 | #define BM_55_15 0x00ffffffffff8000 | ||
1853 | #define BM_15_55 BM_55_15 | ||
1854 | #define BM_56_15 0x01ffffffffff8000 | ||
1855 | #define BM_15_56 BM_56_15 | ||
1856 | #define BM_57_15 0x03ffffffffff8000 | ||
1857 | #define BM_15_57 BM_57_15 | ||
1858 | #define BM_58_15 0x07ffffffffff8000 | ||
1859 | #define BM_15_58 BM_58_15 | ||
1860 | #define BM_59_15 0x0fffffffffff8000 | ||
1861 | #define BM_15_59 BM_59_15 | ||
1862 | #define BM_60_15 0x1fffffffffff8000 | ||
1863 | #define BM_15_60 BM_60_15 | ||
1864 | #define BM_61_15 0x3fffffffffff8000 | ||
1865 | #define BM_15_61 BM_61_15 | ||
1866 | #define BM_62_15 0x7fffffffffff8000 | ||
1867 | #define BM_15_62 BM_62_15 | ||
1868 | #define BM_63_15 0xffffffffffff8000 | ||
1869 | #define BM_15_63 BM_63_15 | ||
1870 | #define BM_16_16 0x0000000000010000 | ||
1871 | #define BM_17_16 0x0000000000030000 | ||
1872 | #define BM_16_17 BM_17_16 | ||
1873 | #define BM_18_16 0x0000000000070000 | ||
1874 | #define BM_16_18 BM_18_16 | ||
1875 | #define BM_19_16 0x00000000000f0000 | ||
1876 | #define BM_16_19 BM_19_16 | ||
1877 | #define BM_20_16 0x00000000001f0000 | ||
1878 | #define BM_16_20 BM_20_16 | ||
1879 | #define BM_21_16 0x00000000003f0000 | ||
1880 | #define BM_16_21 BM_21_16 | ||
1881 | #define BM_22_16 0x00000000007f0000 | ||
1882 | #define BM_16_22 BM_22_16 | ||
1883 | #define BM_23_16 0x0000000000ff0000 | ||
1884 | #define BM_16_23 BM_23_16 | ||
1885 | #define BM_24_16 0x0000000001ff0000 | ||
1886 | #define BM_16_24 BM_24_16 | ||
1887 | #define BM_25_16 0x0000000003ff0000 | ||
1888 | #define BM_16_25 BM_25_16 | ||
1889 | #define BM_26_16 0x0000000007ff0000 | ||
1890 | #define BM_16_26 BM_26_16 | ||
1891 | #define BM_27_16 0x000000000fff0000 | ||
1892 | #define BM_16_27 BM_27_16 | ||
1893 | #define BM_28_16 0x000000001fff0000 | ||
1894 | #define BM_16_28 BM_28_16 | ||
1895 | #define BM_29_16 0x000000003fff0000 | ||
1896 | #define BM_16_29 BM_29_16 | ||
1897 | #define BM_30_16 0x000000007fff0000 | ||
1898 | #define BM_16_30 BM_30_16 | ||
1899 | #define BM_31_16 0x00000000ffff0000 | ||
1900 | #define BM_16_31 BM_31_16 | ||
1901 | #define BM_32_16 0x00000001ffff0000 | ||
1902 | #define BM_16_32 BM_32_16 | ||
1903 | #define BM_33_16 0x00000003ffff0000 | ||
1904 | #define BM_16_33 BM_33_16 | ||
1905 | #define BM_34_16 0x00000007ffff0000 | ||
1906 | #define BM_16_34 BM_34_16 | ||
1907 | #define BM_35_16 0x0000000fffff0000 | ||
1908 | #define BM_16_35 BM_35_16 | ||
1909 | #define BM_36_16 0x0000001fffff0000 | ||
1910 | #define BM_16_36 BM_36_16 | ||
1911 | #define BM_37_16 0x0000003fffff0000 | ||
1912 | #define BM_16_37 BM_37_16 | ||
1913 | #define BM_38_16 0x0000007fffff0000 | ||
1914 | #define BM_16_38 BM_38_16 | ||
1915 | #define BM_39_16 0x000000ffffff0000 | ||
1916 | #define BM_16_39 BM_39_16 | ||
1917 | #define BM_40_16 0x000001ffffff0000 | ||
1918 | #define BM_16_40 BM_40_16 | ||
1919 | #define BM_41_16 0x000003ffffff0000 | ||
1920 | #define BM_16_41 BM_41_16 | ||
1921 | #define BM_42_16 0x000007ffffff0000 | ||
1922 | #define BM_16_42 BM_42_16 | ||
1923 | #define BM_43_16 0x00000fffffff0000 | ||
1924 | #define BM_16_43 BM_43_16 | ||
1925 | #define BM_44_16 0x00001fffffff0000 | ||
1926 | #define BM_16_44 BM_44_16 | ||
1927 | #define BM_45_16 0x00003fffffff0000 | ||
1928 | #define BM_16_45 BM_45_16 | ||
1929 | #define BM_46_16 0x00007fffffff0000 | ||
1930 | #define BM_16_46 BM_46_16 | ||
1931 | #define BM_47_16 0x0000ffffffff0000 | ||
1932 | #define BM_16_47 BM_47_16 | ||
1933 | #define BM_48_16 0x0001ffffffff0000 | ||
1934 | #define BM_16_48 BM_48_16 | ||
1935 | #define BM_49_16 0x0003ffffffff0000 | ||
1936 | #define BM_16_49 BM_49_16 | ||
1937 | #define BM_50_16 0x0007ffffffff0000 | ||
1938 | #define BM_16_50 BM_50_16 | ||
1939 | #define BM_51_16 0x000fffffffff0000 | ||
1940 | #define BM_16_51 BM_51_16 | ||
1941 | #define BM_52_16 0x001fffffffff0000 | ||
1942 | #define BM_16_52 BM_52_16 | ||
1943 | #define BM_53_16 0x003fffffffff0000 | ||
1944 | #define BM_16_53 BM_53_16 | ||
1945 | #define BM_54_16 0x007fffffffff0000 | ||
1946 | #define BM_16_54 BM_54_16 | ||
1947 | #define BM_55_16 0x00ffffffffff0000 | ||
1948 | #define BM_16_55 BM_55_16 | ||
1949 | #define BM_56_16 0x01ffffffffff0000 | ||
1950 | #define BM_16_56 BM_56_16 | ||
1951 | #define BM_57_16 0x03ffffffffff0000 | ||
1952 | #define BM_16_57 BM_57_16 | ||
1953 | #define BM_58_16 0x07ffffffffff0000 | ||
1954 | #define BM_16_58 BM_58_16 | ||
1955 | #define BM_59_16 0x0fffffffffff0000 | ||
1956 | #define BM_16_59 BM_59_16 | ||
1957 | #define BM_60_16 0x1fffffffffff0000 | ||
1958 | #define BM_16_60 BM_60_16 | ||
1959 | #define BM_61_16 0x3fffffffffff0000 | ||
1960 | #define BM_16_61 BM_61_16 | ||
1961 | #define BM_62_16 0x7fffffffffff0000 | ||
1962 | #define BM_16_62 BM_62_16 | ||
1963 | #define BM_63_16 0xffffffffffff0000 | ||
1964 | #define BM_16_63 BM_63_16 | ||
1965 | #define BM_17_17 0x0000000000020000 | ||
1966 | #define BM_18_17 0x0000000000060000 | ||
1967 | #define BM_17_18 BM_18_17 | ||
1968 | #define BM_19_17 0x00000000000e0000 | ||
1969 | #define BM_17_19 BM_19_17 | ||
1970 | #define BM_20_17 0x00000000001e0000 | ||
1971 | #define BM_17_20 BM_20_17 | ||
1972 | #define BM_21_17 0x00000000003e0000 | ||
1973 | #define BM_17_21 BM_21_17 | ||
1974 | #define BM_22_17 0x00000000007e0000 | ||
1975 | #define BM_17_22 BM_22_17 | ||
1976 | #define BM_23_17 0x0000000000fe0000 | ||
1977 | #define BM_17_23 BM_23_17 | ||
1978 | #define BM_24_17 0x0000000001fe0000 | ||
1979 | #define BM_17_24 BM_24_17 | ||
1980 | #define BM_25_17 0x0000000003fe0000 | ||
1981 | #define BM_17_25 BM_25_17 | ||
1982 | #define BM_26_17 0x0000000007fe0000 | ||
1983 | #define BM_17_26 BM_26_17 | ||
1984 | #define BM_27_17 0x000000000ffe0000 | ||
1985 | #define BM_17_27 BM_27_17 | ||
1986 | #define BM_28_17 0x000000001ffe0000 | ||
1987 | #define BM_17_28 BM_28_17 | ||
1988 | #define BM_29_17 0x000000003ffe0000 | ||
1989 | #define BM_17_29 BM_29_17 | ||
1990 | #define BM_30_17 0x000000007ffe0000 | ||
1991 | #define BM_17_30 BM_30_17 | ||
1992 | #define BM_31_17 0x00000000fffe0000 | ||
1993 | #define BM_17_31 BM_31_17 | ||
1994 | #define BM_32_17 0x00000001fffe0000 | ||
1995 | #define BM_17_32 BM_32_17 | ||
1996 | #define BM_33_17 0x00000003fffe0000 | ||
1997 | #define BM_17_33 BM_33_17 | ||
1998 | #define BM_34_17 0x00000007fffe0000 | ||
1999 | #define BM_17_34 BM_34_17 | ||
2000 | #define BM_35_17 0x0000000ffffe0000 | ||
2001 | #define BM_17_35 BM_35_17 | ||
2002 | #define BM_36_17 0x0000001ffffe0000 | ||
2003 | #define BM_17_36 BM_36_17 | ||
2004 | #define BM_37_17 0x0000003ffffe0000 | ||
2005 | #define BM_17_37 BM_37_17 | ||
2006 | #define BM_38_17 0x0000007ffffe0000 | ||
2007 | #define BM_17_38 BM_38_17 | ||
2008 | #define BM_39_17 0x000000fffffe0000 | ||
2009 | #define BM_17_39 BM_39_17 | ||
2010 | #define BM_40_17 0x000001fffffe0000 | ||
2011 | #define BM_17_40 BM_40_17 | ||
2012 | #define BM_41_17 0x000003fffffe0000 | ||
2013 | #define BM_17_41 BM_41_17 | ||
2014 | #define BM_42_17 0x000007fffffe0000 | ||
2015 | #define BM_17_42 BM_42_17 | ||
2016 | #define BM_43_17 0x00000ffffffe0000 | ||
2017 | #define BM_17_43 BM_43_17 | ||
2018 | #define BM_44_17 0x00001ffffffe0000 | ||
2019 | #define BM_17_44 BM_44_17 | ||
2020 | #define BM_45_17 0x00003ffffffe0000 | ||
2021 | #define BM_17_45 BM_45_17 | ||
2022 | #define BM_46_17 0x00007ffffffe0000 | ||
2023 | #define BM_17_46 BM_46_17 | ||
2024 | #define BM_47_17 0x0000fffffffe0000 | ||
2025 | #define BM_17_47 BM_47_17 | ||
2026 | #define BM_48_17 0x0001fffffffe0000 | ||
2027 | #define BM_17_48 BM_48_17 | ||
2028 | #define BM_49_17 0x0003fffffffe0000 | ||
2029 | #define BM_17_49 BM_49_17 | ||
2030 | #define BM_50_17 0x0007fffffffe0000 | ||
2031 | #define BM_17_50 BM_50_17 | ||
2032 | #define BM_51_17 0x000ffffffffe0000 | ||
2033 | #define BM_17_51 BM_51_17 | ||
2034 | #define BM_52_17 0x001ffffffffe0000 | ||
2035 | #define BM_17_52 BM_52_17 | ||
2036 | #define BM_53_17 0x003ffffffffe0000 | ||
2037 | #define BM_17_53 BM_53_17 | ||
2038 | #define BM_54_17 0x007ffffffffe0000 | ||
2039 | #define BM_17_54 BM_54_17 | ||
2040 | #define BM_55_17 0x00fffffffffe0000 | ||
2041 | #define BM_17_55 BM_55_17 | ||
2042 | #define BM_56_17 0x01fffffffffe0000 | ||
2043 | #define BM_17_56 BM_56_17 | ||
2044 | #define BM_57_17 0x03fffffffffe0000 | ||
2045 | #define BM_17_57 BM_57_17 | ||
2046 | #define BM_58_17 0x07fffffffffe0000 | ||
2047 | #define BM_17_58 BM_58_17 | ||
2048 | #define BM_59_17 0x0ffffffffffe0000 | ||
2049 | #define BM_17_59 BM_59_17 | ||
2050 | #define BM_60_17 0x1ffffffffffe0000 | ||
2051 | #define BM_17_60 BM_60_17 | ||
2052 | #define BM_61_17 0x3ffffffffffe0000 | ||
2053 | #define BM_17_61 BM_61_17 | ||
2054 | #define BM_62_17 0x7ffffffffffe0000 | ||
2055 | #define BM_17_62 BM_62_17 | ||
2056 | #define BM_63_17 0xfffffffffffe0000 | ||
2057 | #define BM_17_63 BM_63_17 | ||
2058 | #define BM_18_18 0x0000000000040000 | ||
2059 | #define BM_19_18 0x00000000000c0000 | ||
2060 | #define BM_18_19 BM_19_18 | ||
2061 | #define BM_20_18 0x00000000001c0000 | ||
2062 | #define BM_18_20 BM_20_18 | ||
2063 | #define BM_21_18 0x00000000003c0000 | ||
2064 | #define BM_18_21 BM_21_18 | ||
2065 | #define BM_22_18 0x00000000007c0000 | ||
2066 | #define BM_18_22 BM_22_18 | ||
2067 | #define BM_23_18 0x0000000000fc0000 | ||
2068 | #define BM_18_23 BM_23_18 | ||
2069 | #define BM_24_18 0x0000000001fc0000 | ||
2070 | #define BM_18_24 BM_24_18 | ||
2071 | #define BM_25_18 0x0000000003fc0000 | ||
2072 | #define BM_18_25 BM_25_18 | ||
2073 | #define BM_26_18 0x0000000007fc0000 | ||
2074 | #define BM_18_26 BM_26_18 | ||
2075 | #define BM_27_18 0x000000000ffc0000 | ||
2076 | #define BM_18_27 BM_27_18 | ||
2077 | #define BM_28_18 0x000000001ffc0000 | ||
2078 | #define BM_18_28 BM_28_18 | ||
2079 | #define BM_29_18 0x000000003ffc0000 | ||
2080 | #define BM_18_29 BM_29_18 | ||
2081 | #define BM_30_18 0x000000007ffc0000 | ||
2082 | #define BM_18_30 BM_30_18 | ||
2083 | #define BM_31_18 0x00000000fffc0000 | ||
2084 | #define BM_18_31 BM_31_18 | ||
2085 | #define BM_32_18 0x00000001fffc0000 | ||
2086 | #define BM_18_32 BM_32_18 | ||
2087 | #define BM_33_18 0x00000003fffc0000 | ||
2088 | #define BM_18_33 BM_33_18 | ||
2089 | #define BM_34_18 0x00000007fffc0000 | ||
2090 | #define BM_18_34 BM_34_18 | ||
2091 | #define BM_35_18 0x0000000ffffc0000 | ||
2092 | #define BM_18_35 BM_35_18 | ||
2093 | #define BM_36_18 0x0000001ffffc0000 | ||
2094 | #define BM_18_36 BM_36_18 | ||
2095 | #define BM_37_18 0x0000003ffffc0000 | ||
2096 | #define BM_18_37 BM_37_18 | ||
2097 | #define BM_38_18 0x0000007ffffc0000 | ||
2098 | #define BM_18_38 BM_38_18 | ||
2099 | #define BM_39_18 0x000000fffffc0000 | ||
2100 | #define BM_18_39 BM_39_18 | ||
2101 | #define BM_40_18 0x000001fffffc0000 | ||
2102 | #define BM_18_40 BM_40_18 | ||
2103 | #define BM_41_18 0x000003fffffc0000 | ||
2104 | #define BM_18_41 BM_41_18 | ||
2105 | #define BM_42_18 0x000007fffffc0000 | ||
2106 | #define BM_18_42 BM_42_18 | ||
2107 | #define BM_43_18 0x00000ffffffc0000 | ||
2108 | #define BM_18_43 BM_43_18 | ||
2109 | #define BM_44_18 0x00001ffffffc0000 | ||
2110 | #define BM_18_44 BM_44_18 | ||
2111 | #define BM_45_18 0x00003ffffffc0000 | ||
2112 | #define BM_18_45 BM_45_18 | ||
2113 | #define BM_46_18 0x00007ffffffc0000 | ||
2114 | #define BM_18_46 BM_46_18 | ||
2115 | #define BM_47_18 0x0000fffffffc0000 | ||
2116 | #define BM_18_47 BM_47_18 | ||
2117 | #define BM_48_18 0x0001fffffffc0000 | ||
2118 | #define BM_18_48 BM_48_18 | ||
2119 | #define BM_49_18 0x0003fffffffc0000 | ||
2120 | #define BM_18_49 BM_49_18 | ||
2121 | #define BM_50_18 0x0007fffffffc0000 | ||
2122 | #define BM_18_50 BM_50_18 | ||
2123 | #define BM_51_18 0x000ffffffffc0000 | ||
2124 | #define BM_18_51 BM_51_18 | ||
2125 | #define BM_52_18 0x001ffffffffc0000 | ||
2126 | #define BM_18_52 BM_52_18 | ||
2127 | #define BM_53_18 0x003ffffffffc0000 | ||
2128 | #define BM_18_53 BM_53_18 | ||
2129 | #define BM_54_18 0x007ffffffffc0000 | ||
2130 | #define BM_18_54 BM_54_18 | ||
2131 | #define BM_55_18 0x00fffffffffc0000 | ||
2132 | #define BM_18_55 BM_55_18 | ||
2133 | #define BM_56_18 0x01fffffffffc0000 | ||
2134 | #define BM_18_56 BM_56_18 | ||
2135 | #define BM_57_18 0x03fffffffffc0000 | ||
2136 | #define BM_18_57 BM_57_18 | ||
2137 | #define BM_58_18 0x07fffffffffc0000 | ||
2138 | #define BM_18_58 BM_58_18 | ||
2139 | #define BM_59_18 0x0ffffffffffc0000 | ||
2140 | #define BM_18_59 BM_59_18 | ||
2141 | #define BM_60_18 0x1ffffffffffc0000 | ||
2142 | #define BM_18_60 BM_60_18 | ||
2143 | #define BM_61_18 0x3ffffffffffc0000 | ||
2144 | #define BM_18_61 BM_61_18 | ||
2145 | #define BM_62_18 0x7ffffffffffc0000 | ||
2146 | #define BM_18_62 BM_62_18 | ||
2147 | #define BM_63_18 0xfffffffffffc0000 | ||
2148 | #define BM_18_63 BM_63_18 | ||
2149 | #define BM_19_19 0x0000000000080000 | ||
2150 | #define BM_20_19 0x0000000000180000 | ||
2151 | #define BM_19_20 BM_20_19 | ||
2152 | #define BM_21_19 0x0000000000380000 | ||
2153 | #define BM_19_21 BM_21_19 | ||
2154 | #define BM_22_19 0x0000000000780000 | ||
2155 | #define BM_19_22 BM_22_19 | ||
2156 | #define BM_23_19 0x0000000000f80000 | ||
2157 | #define BM_19_23 BM_23_19 | ||
2158 | #define BM_24_19 0x0000000001f80000 | ||
2159 | #define BM_19_24 BM_24_19 | ||
2160 | #define BM_25_19 0x0000000003f80000 | ||
2161 | #define BM_19_25 BM_25_19 | ||
2162 | #define BM_26_19 0x0000000007f80000 | ||
2163 | #define BM_19_26 BM_26_19 | ||
2164 | #define BM_27_19 0x000000000ff80000 | ||
2165 | #define BM_19_27 BM_27_19 | ||
2166 | #define BM_28_19 0x000000001ff80000 | ||
2167 | #define BM_19_28 BM_28_19 | ||
2168 | #define BM_29_19 0x000000003ff80000 | ||
2169 | #define BM_19_29 BM_29_19 | ||
2170 | #define BM_30_19 0x000000007ff80000 | ||
2171 | #define BM_19_30 BM_30_19 | ||
2172 | #define BM_31_19 0x00000000fff80000 | ||
2173 | #define BM_19_31 BM_31_19 | ||
2174 | #define BM_32_19 0x00000001fff80000 | ||
2175 | #define BM_19_32 BM_32_19 | ||
2176 | #define BM_33_19 0x00000003fff80000 | ||
2177 | #define BM_19_33 BM_33_19 | ||
2178 | #define BM_34_19 0x00000007fff80000 | ||
2179 | #define BM_19_34 BM_34_19 | ||
2180 | #define BM_35_19 0x0000000ffff80000 | ||
2181 | #define BM_19_35 BM_35_19 | ||
2182 | #define BM_36_19 0x0000001ffff80000 | ||
2183 | #define BM_19_36 BM_36_19 | ||
2184 | #define BM_37_19 0x0000003ffff80000 | ||
2185 | #define BM_19_37 BM_37_19 | ||
2186 | #define BM_38_19 0x0000007ffff80000 | ||
2187 | #define BM_19_38 BM_38_19 | ||
2188 | #define BM_39_19 0x000000fffff80000 | ||
2189 | #define BM_19_39 BM_39_19 | ||
2190 | #define BM_40_19 0x000001fffff80000 | ||
2191 | #define BM_19_40 BM_40_19 | ||
2192 | #define BM_41_19 0x000003fffff80000 | ||
2193 | #define BM_19_41 BM_41_19 | ||
2194 | #define BM_42_19 0x000007fffff80000 | ||
2195 | #define BM_19_42 BM_42_19 | ||
2196 | #define BM_43_19 0x00000ffffff80000 | ||
2197 | #define BM_19_43 BM_43_19 | ||
2198 | #define BM_44_19 0x00001ffffff80000 | ||
2199 | #define BM_19_44 BM_44_19 | ||
2200 | #define BM_45_19 0x00003ffffff80000 | ||
2201 | #define BM_19_45 BM_45_19 | ||
2202 | #define BM_46_19 0x00007ffffff80000 | ||
2203 | #define BM_19_46 BM_46_19 | ||
2204 | #define BM_47_19 0x0000fffffff80000 | ||
2205 | #define BM_19_47 BM_47_19 | ||
2206 | #define BM_48_19 0x0001fffffff80000 | ||
2207 | #define BM_19_48 BM_48_19 | ||
2208 | #define BM_49_19 0x0003fffffff80000 | ||
2209 | #define BM_19_49 BM_49_19 | ||
2210 | #define BM_50_19 0x0007fffffff80000 | ||
2211 | #define BM_19_50 BM_50_19 | ||
2212 | #define BM_51_19 0x000ffffffff80000 | ||
2213 | #define BM_19_51 BM_51_19 | ||
2214 | #define BM_52_19 0x001ffffffff80000 | ||
2215 | #define BM_19_52 BM_52_19 | ||
2216 | #define BM_53_19 0x003ffffffff80000 | ||
2217 | #define BM_19_53 BM_53_19 | ||
2218 | #define BM_54_19 0x007ffffffff80000 | ||
2219 | #define BM_19_54 BM_54_19 | ||
2220 | #define BM_55_19 0x00fffffffff80000 | ||
2221 | #define BM_19_55 BM_55_19 | ||
2222 | #define BM_56_19 0x01fffffffff80000 | ||
2223 | #define BM_19_56 BM_56_19 | ||
2224 | #define BM_57_19 0x03fffffffff80000 | ||
2225 | #define BM_19_57 BM_57_19 | ||
2226 | #define BM_58_19 0x07fffffffff80000 | ||
2227 | #define BM_19_58 BM_58_19 | ||
2228 | #define BM_59_19 0x0ffffffffff80000 | ||
2229 | #define BM_19_59 BM_59_19 | ||
2230 | #define BM_60_19 0x1ffffffffff80000 | ||
2231 | #define BM_19_60 BM_60_19 | ||
2232 | #define BM_61_19 0x3ffffffffff80000 | ||
2233 | #define BM_19_61 BM_61_19 | ||
2234 | #define BM_62_19 0x7ffffffffff80000 | ||
2235 | #define BM_19_62 BM_62_19 | ||
2236 | #define BM_63_19 0xfffffffffff80000 | ||
2237 | #define BM_19_63 BM_63_19 | ||
2238 | #define BM_20_20 0x0000000000100000 | ||
2239 | #define BM_21_20 0x0000000000300000 | ||
2240 | #define BM_20_21 BM_21_20 | ||
2241 | #define BM_22_20 0x0000000000700000 | ||
2242 | #define BM_20_22 BM_22_20 | ||
2243 | #define BM_23_20 0x0000000000f00000 | ||
2244 | #define BM_20_23 BM_23_20 | ||
2245 | #define BM_24_20 0x0000000001f00000 | ||
2246 | #define BM_20_24 BM_24_20 | ||
2247 | #define BM_25_20 0x0000000003f00000 | ||
2248 | #define BM_20_25 BM_25_20 | ||
2249 | #define BM_26_20 0x0000000007f00000 | ||
2250 | #define BM_20_26 BM_26_20 | ||
2251 | #define BM_27_20 0x000000000ff00000 | ||
2252 | #define BM_20_27 BM_27_20 | ||
2253 | #define BM_28_20 0x000000001ff00000 | ||
2254 | #define BM_20_28 BM_28_20 | ||
2255 | #define BM_29_20 0x000000003ff00000 | ||
2256 | #define BM_20_29 BM_29_20 | ||
2257 | #define BM_30_20 0x000000007ff00000 | ||
2258 | #define BM_20_30 BM_30_20 | ||
2259 | #define BM_31_20 0x00000000fff00000 | ||
2260 | #define BM_20_31 BM_31_20 | ||
2261 | #define BM_32_20 0x00000001fff00000 | ||
2262 | #define BM_20_32 BM_32_20 | ||
2263 | #define BM_33_20 0x00000003fff00000 | ||
2264 | #define BM_20_33 BM_33_20 | ||
2265 | #define BM_34_20 0x00000007fff00000 | ||
2266 | #define BM_20_34 BM_34_20 | ||
2267 | #define BM_35_20 0x0000000ffff00000 | ||
2268 | #define BM_20_35 BM_35_20 | ||
2269 | #define BM_36_20 0x0000001ffff00000 | ||
2270 | #define BM_20_36 BM_36_20 | ||
2271 | #define BM_37_20 0x0000003ffff00000 | ||
2272 | #define BM_20_37 BM_37_20 | ||
2273 | #define BM_38_20 0x0000007ffff00000 | ||
2274 | #define BM_20_38 BM_38_20 | ||
2275 | #define BM_39_20 0x000000fffff00000 | ||
2276 | #define BM_20_39 BM_39_20 | ||
2277 | #define BM_40_20 0x000001fffff00000 | ||
2278 | #define BM_20_40 BM_40_20 | ||
2279 | #define BM_41_20 0x000003fffff00000 | ||
2280 | #define BM_20_41 BM_41_20 | ||
2281 | #define BM_42_20 0x000007fffff00000 | ||
2282 | #define BM_20_42 BM_42_20 | ||
2283 | #define BM_43_20 0x00000ffffff00000 | ||
2284 | #define BM_20_43 BM_43_20 | ||
2285 | #define BM_44_20 0x00001ffffff00000 | ||
2286 | #define BM_20_44 BM_44_20 | ||
2287 | #define BM_45_20 0x00003ffffff00000 | ||
2288 | #define BM_20_45 BM_45_20 | ||
2289 | #define BM_46_20 0x00007ffffff00000 | ||
2290 | #define BM_20_46 BM_46_20 | ||
2291 | #define BM_47_20 0x0000fffffff00000 | ||
2292 | #define BM_20_47 BM_47_20 | ||
2293 | #define BM_48_20 0x0001fffffff00000 | ||
2294 | #define BM_20_48 BM_48_20 | ||
2295 | #define BM_49_20 0x0003fffffff00000 | ||
2296 | #define BM_20_49 BM_49_20 | ||
2297 | #define BM_50_20 0x0007fffffff00000 | ||
2298 | #define BM_20_50 BM_50_20 | ||
2299 | #define BM_51_20 0x000ffffffff00000 | ||
2300 | #define BM_20_51 BM_51_20 | ||
2301 | #define BM_52_20 0x001ffffffff00000 | ||
2302 | #define BM_20_52 BM_52_20 | ||
2303 | #define BM_53_20 0x003ffffffff00000 | ||
2304 | #define BM_20_53 BM_53_20 | ||
2305 | #define BM_54_20 0x007ffffffff00000 | ||
2306 | #define BM_20_54 BM_54_20 | ||
2307 | #define BM_55_20 0x00fffffffff00000 | ||
2308 | #define BM_20_55 BM_55_20 | ||
2309 | #define BM_56_20 0x01fffffffff00000 | ||
2310 | #define BM_20_56 BM_56_20 | ||
2311 | #define BM_57_20 0x03fffffffff00000 | ||
2312 | #define BM_20_57 BM_57_20 | ||
2313 | #define BM_58_20 0x07fffffffff00000 | ||
2314 | #define BM_20_58 BM_58_20 | ||
2315 | #define BM_59_20 0x0ffffffffff00000 | ||
2316 | #define BM_20_59 BM_59_20 | ||
2317 | #define BM_60_20 0x1ffffffffff00000 | ||
2318 | #define BM_20_60 BM_60_20 | ||
2319 | #define BM_61_20 0x3ffffffffff00000 | ||
2320 | #define BM_20_61 BM_61_20 | ||
2321 | #define BM_62_20 0x7ffffffffff00000 | ||
2322 | #define BM_20_62 BM_62_20 | ||
2323 | #define BM_63_20 0xfffffffffff00000 | ||
2324 | #define BM_20_63 BM_63_20 | ||
2325 | #define BM_21_21 0x0000000000200000 | ||
2326 | #define BM_22_21 0x0000000000600000 | ||
2327 | #define BM_21_22 BM_22_21 | ||
2328 | #define BM_23_21 0x0000000000e00000 | ||
2329 | #define BM_21_23 BM_23_21 | ||
2330 | #define BM_24_21 0x0000000001e00000 | ||
2331 | #define BM_21_24 BM_24_21 | ||
2332 | #define BM_25_21 0x0000000003e00000 | ||
2333 | #define BM_21_25 BM_25_21 | ||
2334 | #define BM_26_21 0x0000000007e00000 | ||
2335 | #define BM_21_26 BM_26_21 | ||
2336 | #define BM_27_21 0x000000000fe00000 | ||
2337 | #define BM_21_27 BM_27_21 | ||
2338 | #define BM_28_21 0x000000001fe00000 | ||
2339 | #define BM_21_28 BM_28_21 | ||
2340 | #define BM_29_21 0x000000003fe00000 | ||
2341 | #define BM_21_29 BM_29_21 | ||
2342 | #define BM_30_21 0x000000007fe00000 | ||
2343 | #define BM_21_30 BM_30_21 | ||
2344 | #define BM_31_21 0x00000000ffe00000 | ||
2345 | #define BM_21_31 BM_31_21 | ||
2346 | #define BM_32_21 0x00000001ffe00000 | ||
2347 | #define BM_21_32 BM_32_21 | ||
2348 | #define BM_33_21 0x00000003ffe00000 | ||
2349 | #define BM_21_33 BM_33_21 | ||
2350 | #define BM_34_21 0x00000007ffe00000 | ||
2351 | #define BM_21_34 BM_34_21 | ||
2352 | #define BM_35_21 0x0000000fffe00000 | ||
2353 | #define BM_21_35 BM_35_21 | ||
2354 | #define BM_36_21 0x0000001fffe00000 | ||
2355 | #define BM_21_36 BM_36_21 | ||
2356 | #define BM_37_21 0x0000003fffe00000 | ||
2357 | #define BM_21_37 BM_37_21 | ||
2358 | #define BM_38_21 0x0000007fffe00000 | ||
2359 | #define BM_21_38 BM_38_21 | ||
2360 | #define BM_39_21 0x000000ffffe00000 | ||
2361 | #define BM_21_39 BM_39_21 | ||
2362 | #define BM_40_21 0x000001ffffe00000 | ||
2363 | #define BM_21_40 BM_40_21 | ||
2364 | #define BM_41_21 0x000003ffffe00000 | ||
2365 | #define BM_21_41 BM_41_21 | ||
2366 | #define BM_42_21 0x000007ffffe00000 | ||
2367 | #define BM_21_42 BM_42_21 | ||
2368 | #define BM_43_21 0x00000fffffe00000 | ||
2369 | #define BM_21_43 BM_43_21 | ||
2370 | #define BM_44_21 0x00001fffffe00000 | ||
2371 | #define BM_21_44 BM_44_21 | ||
2372 | #define BM_45_21 0x00003fffffe00000 | ||
2373 | #define BM_21_45 BM_45_21 | ||
2374 | #define BM_46_21 0x00007fffffe00000 | ||
2375 | #define BM_21_46 BM_46_21 | ||
2376 | #define BM_47_21 0x0000ffffffe00000 | ||
2377 | #define BM_21_47 BM_47_21 | ||
2378 | #define BM_48_21 0x0001ffffffe00000 | ||
2379 | #define BM_21_48 BM_48_21 | ||
2380 | #define BM_49_21 0x0003ffffffe00000 | ||
2381 | #define BM_21_49 BM_49_21 | ||
2382 | #define BM_50_21 0x0007ffffffe00000 | ||
2383 | #define BM_21_50 BM_50_21 | ||
2384 | #define BM_51_21 0x000fffffffe00000 | ||
2385 | #define BM_21_51 BM_51_21 | ||
2386 | #define BM_52_21 0x001fffffffe00000 | ||
2387 | #define BM_21_52 BM_52_21 | ||
2388 | #define BM_53_21 0x003fffffffe00000 | ||
2389 | #define BM_21_53 BM_53_21 | ||
2390 | #define BM_54_21 0x007fffffffe00000 | ||
2391 | #define BM_21_54 BM_54_21 | ||
2392 | #define BM_55_21 0x00ffffffffe00000 | ||
2393 | #define BM_21_55 BM_55_21 | ||
2394 | #define BM_56_21 0x01ffffffffe00000 | ||
2395 | #define BM_21_56 BM_56_21 | ||
2396 | #define BM_57_21 0x03ffffffffe00000 | ||
2397 | #define BM_21_57 BM_57_21 | ||
2398 | #define BM_58_21 0x07ffffffffe00000 | ||
2399 | #define BM_21_58 BM_58_21 | ||
2400 | #define BM_59_21 0x0fffffffffe00000 | ||
2401 | #define BM_21_59 BM_59_21 | ||
2402 | #define BM_60_21 0x1fffffffffe00000 | ||
2403 | #define BM_21_60 BM_60_21 | ||
2404 | #define BM_61_21 0x3fffffffffe00000 | ||
2405 | #define BM_21_61 BM_61_21 | ||
2406 | #define BM_62_21 0x7fffffffffe00000 | ||
2407 | #define BM_21_62 BM_62_21 | ||
2408 | #define BM_63_21 0xffffffffffe00000 | ||
2409 | #define BM_21_63 BM_63_21 | ||
2410 | #define BM_22_22 0x0000000000400000 | ||
2411 | #define BM_23_22 0x0000000000c00000 | ||
2412 | #define BM_22_23 BM_23_22 | ||
2413 | #define BM_24_22 0x0000000001c00000 | ||
2414 | #define BM_22_24 BM_24_22 | ||
2415 | #define BM_25_22 0x0000000003c00000 | ||
2416 | #define BM_22_25 BM_25_22 | ||
2417 | #define BM_26_22 0x0000000007c00000 | ||
2418 | #define BM_22_26 BM_26_22 | ||
2419 | #define BM_27_22 0x000000000fc00000 | ||
2420 | #define BM_22_27 BM_27_22 | ||
2421 | #define BM_28_22 0x000000001fc00000 | ||
2422 | #define BM_22_28 BM_28_22 | ||
2423 | #define BM_29_22 0x000000003fc00000 | ||
2424 | #define BM_22_29 BM_29_22 | ||
2425 | #define BM_30_22 0x000000007fc00000 | ||
2426 | #define BM_22_30 BM_30_22 | ||
2427 | #define BM_31_22 0x00000000ffc00000 | ||
2428 | #define BM_22_31 BM_31_22 | ||
2429 | #define BM_32_22 0x00000001ffc00000 | ||
2430 | #define BM_22_32 BM_32_22 | ||
2431 | #define BM_33_22 0x00000003ffc00000 | ||
2432 | #define BM_22_33 BM_33_22 | ||
2433 | #define BM_34_22 0x00000007ffc00000 | ||
2434 | #define BM_22_34 BM_34_22 | ||
2435 | #define BM_35_22 0x0000000fffc00000 | ||
2436 | #define BM_22_35 BM_35_22 | ||
2437 | #define BM_36_22 0x0000001fffc00000 | ||
2438 | #define BM_22_36 BM_36_22 | ||
2439 | #define BM_37_22 0x0000003fffc00000 | ||
2440 | #define BM_22_37 BM_37_22 | ||
2441 | #define BM_38_22 0x0000007fffc00000 | ||
2442 | #define BM_22_38 BM_38_22 | ||
2443 | #define BM_39_22 0x000000ffffc00000 | ||
2444 | #define BM_22_39 BM_39_22 | ||
2445 | #define BM_40_22 0x000001ffffc00000 | ||
2446 | #define BM_22_40 BM_40_22 | ||
2447 | #define BM_41_22 0x000003ffffc00000 | ||
2448 | #define BM_22_41 BM_41_22 | ||
2449 | #define BM_42_22 0x000007ffffc00000 | ||
2450 | #define BM_22_42 BM_42_22 | ||
2451 | #define BM_43_22 0x00000fffffc00000 | ||
2452 | #define BM_22_43 BM_43_22 | ||
2453 | #define BM_44_22 0x00001fffffc00000 | ||
2454 | #define BM_22_44 BM_44_22 | ||
2455 | #define BM_45_22 0x00003fffffc00000 | ||
2456 | #define BM_22_45 BM_45_22 | ||
2457 | #define BM_46_22 0x00007fffffc00000 | ||
2458 | #define BM_22_46 BM_46_22 | ||
2459 | #define BM_47_22 0x0000ffffffc00000 | ||
2460 | #define BM_22_47 BM_47_22 | ||
2461 | #define BM_48_22 0x0001ffffffc00000 | ||
2462 | #define BM_22_48 BM_48_22 | ||
2463 | #define BM_49_22 0x0003ffffffc00000 | ||
2464 | #define BM_22_49 BM_49_22 | ||
2465 | #define BM_50_22 0x0007ffffffc00000 | ||
2466 | #define BM_22_50 BM_50_22 | ||
2467 | #define BM_51_22 0x000fffffffc00000 | ||
2468 | #define BM_22_51 BM_51_22 | ||
2469 | #define BM_52_22 0x001fffffffc00000 | ||
2470 | #define BM_22_52 BM_52_22 | ||
2471 | #define BM_53_22 0x003fffffffc00000 | ||
2472 | #define BM_22_53 BM_53_22 | ||
2473 | #define BM_54_22 0x007fffffffc00000 | ||
2474 | #define BM_22_54 BM_54_22 | ||
2475 | #define BM_55_22 0x00ffffffffc00000 | ||
2476 | #define BM_22_55 BM_55_22 | ||
2477 | #define BM_56_22 0x01ffffffffc00000 | ||
2478 | #define BM_22_56 BM_56_22 | ||
2479 | #define BM_57_22 0x03ffffffffc00000 | ||
2480 | #define BM_22_57 BM_57_22 | ||
2481 | #define BM_58_22 0x07ffffffffc00000 | ||
2482 | #define BM_22_58 BM_58_22 | ||
2483 | #define BM_59_22 0x0fffffffffc00000 | ||
2484 | #define BM_22_59 BM_59_22 | ||
2485 | #define BM_60_22 0x1fffffffffc00000 | ||
2486 | #define BM_22_60 BM_60_22 | ||
2487 | #define BM_61_22 0x3fffffffffc00000 | ||
2488 | #define BM_22_61 BM_61_22 | ||
2489 | #define BM_62_22 0x7fffffffffc00000 | ||
2490 | #define BM_22_62 BM_62_22 | ||
2491 | #define BM_63_22 0xffffffffffc00000 | ||
2492 | #define BM_22_63 BM_63_22 | ||
2493 | #define BM_23_23 0x0000000000800000 | ||
2494 | #define BM_24_23 0x0000000001800000 | ||
2495 | #define BM_23_24 BM_24_23 | ||
2496 | #define BM_25_23 0x0000000003800000 | ||
2497 | #define BM_23_25 BM_25_23 | ||
2498 | #define BM_26_23 0x0000000007800000 | ||
2499 | #define BM_23_26 BM_26_23 | ||
2500 | #define BM_27_23 0x000000000f800000 | ||
2501 | #define BM_23_27 BM_27_23 | ||
2502 | #define BM_28_23 0x000000001f800000 | ||
2503 | #define BM_23_28 BM_28_23 | ||
2504 | #define BM_29_23 0x000000003f800000 | ||
2505 | #define BM_23_29 BM_29_23 | ||
2506 | #define BM_30_23 0x000000007f800000 | ||
2507 | #define BM_23_30 BM_30_23 | ||
2508 | #define BM_31_23 0x00000000ff800000 | ||
2509 | #define BM_23_31 BM_31_23 | ||
2510 | #define BM_32_23 0x00000001ff800000 | ||
2511 | #define BM_23_32 BM_32_23 | ||
2512 | #define BM_33_23 0x00000003ff800000 | ||
2513 | #define BM_23_33 BM_33_23 | ||
2514 | #define BM_34_23 0x00000007ff800000 | ||
2515 | #define BM_23_34 BM_34_23 | ||
2516 | #define BM_35_23 0x0000000fff800000 | ||
2517 | #define BM_23_35 BM_35_23 | ||
2518 | #define BM_36_23 0x0000001fff800000 | ||
2519 | #define BM_23_36 BM_36_23 | ||
2520 | #define BM_37_23 0x0000003fff800000 | ||
2521 | #define BM_23_37 BM_37_23 | ||
2522 | #define BM_38_23 0x0000007fff800000 | ||
2523 | #define BM_23_38 BM_38_23 | ||
2524 | #define BM_39_23 0x000000ffff800000 | ||
2525 | #define BM_23_39 BM_39_23 | ||
2526 | #define BM_40_23 0x000001ffff800000 | ||
2527 | #define BM_23_40 BM_40_23 | ||
2528 | #define BM_41_23 0x000003ffff800000 | ||
2529 | #define BM_23_41 BM_41_23 | ||
2530 | #define BM_42_23 0x000007ffff800000 | ||
2531 | #define BM_23_42 BM_42_23 | ||
2532 | #define BM_43_23 0x00000fffff800000 | ||
2533 | #define BM_23_43 BM_43_23 | ||
2534 | #define BM_44_23 0x00001fffff800000 | ||
2535 | #define BM_23_44 BM_44_23 | ||
2536 | #define BM_45_23 0x00003fffff800000 | ||
2537 | #define BM_23_45 BM_45_23 | ||
2538 | #define BM_46_23 0x00007fffff800000 | ||
2539 | #define BM_23_46 BM_46_23 | ||
2540 | #define BM_47_23 0x0000ffffff800000 | ||
2541 | #define BM_23_47 BM_47_23 | ||
2542 | #define BM_48_23 0x0001ffffff800000 | ||
2543 | #define BM_23_48 BM_48_23 | ||
2544 | #define BM_49_23 0x0003ffffff800000 | ||
2545 | #define BM_23_49 BM_49_23 | ||
2546 | #define BM_50_23 0x0007ffffff800000 | ||
2547 | #define BM_23_50 BM_50_23 | ||
2548 | #define BM_51_23 0x000fffffff800000 | ||
2549 | #define BM_23_51 BM_51_23 | ||
2550 | #define BM_52_23 0x001fffffff800000 | ||
2551 | #define BM_23_52 BM_52_23 | ||
2552 | #define BM_53_23 0x003fffffff800000 | ||
2553 | #define BM_23_53 BM_53_23 | ||
2554 | #define BM_54_23 0x007fffffff800000 | ||
2555 | #define BM_23_54 BM_54_23 | ||
2556 | #define BM_55_23 0x00ffffffff800000 | ||
2557 | #define BM_23_55 BM_55_23 | ||
2558 | #define BM_56_23 0x01ffffffff800000 | ||
2559 | #define BM_23_56 BM_56_23 | ||
2560 | #define BM_57_23 0x03ffffffff800000 | ||
2561 | #define BM_23_57 BM_57_23 | ||
2562 | #define BM_58_23 0x07ffffffff800000 | ||
2563 | #define BM_23_58 BM_58_23 | ||
2564 | #define BM_59_23 0x0fffffffff800000 | ||
2565 | #define BM_23_59 BM_59_23 | ||
2566 | #define BM_60_23 0x1fffffffff800000 | ||
2567 | #define BM_23_60 BM_60_23 | ||
2568 | #define BM_61_23 0x3fffffffff800000 | ||
2569 | #define BM_23_61 BM_61_23 | ||
2570 | #define BM_62_23 0x7fffffffff800000 | ||
2571 | #define BM_23_62 BM_62_23 | ||
2572 | #define BM_63_23 0xffffffffff800000 | ||
2573 | #define BM_23_63 BM_63_23 | ||
2574 | #define BM_24_24 0x0000000001000000 | ||
2575 | #define BM_25_24 0x0000000003000000 | ||
2576 | #define BM_24_25 BM_25_24 | ||
2577 | #define BM_26_24 0x0000000007000000 | ||
2578 | #define BM_24_26 BM_26_24 | ||
2579 | #define BM_27_24 0x000000000f000000 | ||
2580 | #define BM_24_27 BM_27_24 | ||
2581 | #define BM_28_24 0x000000001f000000 | ||
2582 | #define BM_24_28 BM_28_24 | ||
2583 | #define BM_29_24 0x000000003f000000 | ||
2584 | #define BM_24_29 BM_29_24 | ||
2585 | #define BM_30_24 0x000000007f000000 | ||
2586 | #define BM_24_30 BM_30_24 | ||
2587 | #define BM_31_24 0x00000000ff000000 | ||
2588 | #define BM_24_31 BM_31_24 | ||
2589 | #define BM_32_24 0x00000001ff000000 | ||
2590 | #define BM_24_32 BM_32_24 | ||
2591 | #define BM_33_24 0x00000003ff000000 | ||
2592 | #define BM_24_33 BM_33_24 | ||
2593 | #define BM_34_24 0x00000007ff000000 | ||
2594 | #define BM_24_34 BM_34_24 | ||
2595 | #define BM_35_24 0x0000000fff000000 | ||
2596 | #define BM_24_35 BM_35_24 | ||
2597 | #define BM_36_24 0x0000001fff000000 | ||
2598 | #define BM_24_36 BM_36_24 | ||
2599 | #define BM_37_24 0x0000003fff000000 | ||
2600 | #define BM_24_37 BM_37_24 | ||
2601 | #define BM_38_24 0x0000007fff000000 | ||
2602 | #define BM_24_38 BM_38_24 | ||
2603 | #define BM_39_24 0x000000ffff000000 | ||
2604 | #define BM_24_39 BM_39_24 | ||
2605 | #define BM_40_24 0x000001ffff000000 | ||
2606 | #define BM_24_40 BM_40_24 | ||
2607 | #define BM_41_24 0x000003ffff000000 | ||
2608 | #define BM_24_41 BM_41_24 | ||
2609 | #define BM_42_24 0x000007ffff000000 | ||
2610 | #define BM_24_42 BM_42_24 | ||
2611 | #define BM_43_24 0x00000fffff000000 | ||
2612 | #define BM_24_43 BM_43_24 | ||
2613 | #define BM_44_24 0x00001fffff000000 | ||
2614 | #define BM_24_44 BM_44_24 | ||
2615 | #define BM_45_24 0x00003fffff000000 | ||
2616 | #define BM_24_45 BM_45_24 | ||
2617 | #define BM_46_24 0x00007fffff000000 | ||
2618 | #define BM_24_46 BM_46_24 | ||
2619 | #define BM_47_24 0x0000ffffff000000 | ||
2620 | #define BM_24_47 BM_47_24 | ||
2621 | #define BM_48_24 0x0001ffffff000000 | ||
2622 | #define BM_24_48 BM_48_24 | ||
2623 | #define BM_49_24 0x0003ffffff000000 | ||
2624 | #define BM_24_49 BM_49_24 | ||
2625 | #define BM_50_24 0x0007ffffff000000 | ||
2626 | #define BM_24_50 BM_50_24 | ||
2627 | #define BM_51_24 0x000fffffff000000 | ||
2628 | #define BM_24_51 BM_51_24 | ||
2629 | #define BM_52_24 0x001fffffff000000 | ||
2630 | #define BM_24_52 BM_52_24 | ||
2631 | #define BM_53_24 0x003fffffff000000 | ||
2632 | #define BM_24_53 BM_53_24 | ||
2633 | #define BM_54_24 0x007fffffff000000 | ||
2634 | #define BM_24_54 BM_54_24 | ||
2635 | #define BM_55_24 0x00ffffffff000000 | ||
2636 | #define BM_24_55 BM_55_24 | ||
2637 | #define BM_56_24 0x01ffffffff000000 | ||
2638 | #define BM_24_56 BM_56_24 | ||
2639 | #define BM_57_24 0x03ffffffff000000 | ||
2640 | #define BM_24_57 BM_57_24 | ||
2641 | #define BM_58_24 0x07ffffffff000000 | ||
2642 | #define BM_24_58 BM_58_24 | ||
2643 | #define BM_59_24 0x0fffffffff000000 | ||
2644 | #define BM_24_59 BM_59_24 | ||
2645 | #define BM_60_24 0x1fffffffff000000 | ||
2646 | #define BM_24_60 BM_60_24 | ||
2647 | #define BM_61_24 0x3fffffffff000000 | ||
2648 | #define BM_24_61 BM_61_24 | ||
2649 | #define BM_62_24 0x7fffffffff000000 | ||
2650 | #define BM_24_62 BM_62_24 | ||
2651 | #define BM_63_24 0xffffffffff000000 | ||
2652 | #define BM_24_63 BM_63_24 | ||
2653 | #define BM_25_25 0x0000000002000000 | ||
2654 | #define BM_26_25 0x0000000006000000 | ||
2655 | #define BM_25_26 BM_26_25 | ||
2656 | #define BM_27_25 0x000000000e000000 | ||
2657 | #define BM_25_27 BM_27_25 | ||
2658 | #define BM_28_25 0x000000001e000000 | ||
2659 | #define BM_25_28 BM_28_25 | ||
2660 | #define BM_29_25 0x000000003e000000 | ||
2661 | #define BM_25_29 BM_29_25 | ||
2662 | #define BM_30_25 0x000000007e000000 | ||
2663 | #define BM_25_30 BM_30_25 | ||
2664 | #define BM_31_25 0x00000000fe000000 | ||
2665 | #define BM_25_31 BM_31_25 | ||
2666 | #define BM_32_25 0x00000001fe000000 | ||
2667 | #define BM_25_32 BM_32_25 | ||
2668 | #define BM_33_25 0x00000003fe000000 | ||
2669 | #define BM_25_33 BM_33_25 | ||
2670 | #define BM_34_25 0x00000007fe000000 | ||
2671 | #define BM_25_34 BM_34_25 | ||
2672 | #define BM_35_25 0x0000000ffe000000 | ||
2673 | #define BM_25_35 BM_35_25 | ||
2674 | #define BM_36_25 0x0000001ffe000000 | ||
2675 | #define BM_25_36 BM_36_25 | ||
2676 | #define BM_37_25 0x0000003ffe000000 | ||
2677 | #define BM_25_37 BM_37_25 | ||
2678 | #define BM_38_25 0x0000007ffe000000 | ||
2679 | #define BM_25_38 BM_38_25 | ||
2680 | #define BM_39_25 0x000000fffe000000 | ||
2681 | #define BM_25_39 BM_39_25 | ||
2682 | #define BM_40_25 0x000001fffe000000 | ||
2683 | #define BM_25_40 BM_40_25 | ||
2684 | #define BM_41_25 0x000003fffe000000 | ||
2685 | #define BM_25_41 BM_41_25 | ||
2686 | #define BM_42_25 0x000007fffe000000 | ||
2687 | #define BM_25_42 BM_42_25 | ||
2688 | #define BM_43_25 0x00000ffffe000000 | ||
2689 | #define BM_25_43 BM_43_25 | ||
2690 | #define BM_44_25 0x00001ffffe000000 | ||
2691 | #define BM_25_44 BM_44_25 | ||
2692 | #define BM_45_25 0x00003ffffe000000 | ||
2693 | #define BM_25_45 BM_45_25 | ||
2694 | #define BM_46_25 0x00007ffffe000000 | ||
2695 | #define BM_25_46 BM_46_25 | ||
2696 | #define BM_47_25 0x0000fffffe000000 | ||
2697 | #define BM_25_47 BM_47_25 | ||
2698 | #define BM_48_25 0x0001fffffe000000 | ||
2699 | #define BM_25_48 BM_48_25 | ||
2700 | #define BM_49_25 0x0003fffffe000000 | ||
2701 | #define BM_25_49 BM_49_25 | ||
2702 | #define BM_50_25 0x0007fffffe000000 | ||
2703 | #define BM_25_50 BM_50_25 | ||
2704 | #define BM_51_25 0x000ffffffe000000 | ||
2705 | #define BM_25_51 BM_51_25 | ||
2706 | #define BM_52_25 0x001ffffffe000000 | ||
2707 | #define BM_25_52 BM_52_25 | ||
2708 | #define BM_53_25 0x003ffffffe000000 | ||
2709 | #define BM_25_53 BM_53_25 | ||
2710 | #define BM_54_25 0x007ffffffe000000 | ||
2711 | #define BM_25_54 BM_54_25 | ||
2712 | #define BM_55_25 0x00fffffffe000000 | ||
2713 | #define BM_25_55 BM_55_25 | ||
2714 | #define BM_56_25 0x01fffffffe000000 | ||
2715 | #define BM_25_56 BM_56_25 | ||
2716 | #define BM_57_25 0x03fffffffe000000 | ||
2717 | #define BM_25_57 BM_57_25 | ||
2718 | #define BM_58_25 0x07fffffffe000000 | ||
2719 | #define BM_25_58 BM_58_25 | ||
2720 | #define BM_59_25 0x0ffffffffe000000 | ||
2721 | #define BM_25_59 BM_59_25 | ||
2722 | #define BM_60_25 0x1ffffffffe000000 | ||
2723 | #define BM_25_60 BM_60_25 | ||
2724 | #define BM_61_25 0x3ffffffffe000000 | ||
2725 | #define BM_25_61 BM_61_25 | ||
2726 | #define BM_62_25 0x7ffffffffe000000 | ||
2727 | #define BM_25_62 BM_62_25 | ||
2728 | #define BM_63_25 0xfffffffffe000000 | ||
2729 | #define BM_25_63 BM_63_25 | ||
2730 | #define BM_26_26 0x0000000004000000 | ||
2731 | #define BM_27_26 0x000000000c000000 | ||
2732 | #define BM_26_27 BM_27_26 | ||
2733 | #define BM_28_26 0x000000001c000000 | ||
2734 | #define BM_26_28 BM_28_26 | ||
2735 | #define BM_29_26 0x000000003c000000 | ||
2736 | #define BM_26_29 BM_29_26 | ||
2737 | #define BM_30_26 0x000000007c000000 | ||
2738 | #define BM_26_30 BM_30_26 | ||
2739 | #define BM_31_26 0x00000000fc000000 | ||
2740 | #define BM_26_31 BM_31_26 | ||
2741 | #define BM_32_26 0x00000001fc000000 | ||
2742 | #define BM_26_32 BM_32_26 | ||
2743 | #define BM_33_26 0x00000003fc000000 | ||
2744 | #define BM_26_33 BM_33_26 | ||
2745 | #define BM_34_26 0x00000007fc000000 | ||
2746 | #define BM_26_34 BM_34_26 | ||
2747 | #define BM_35_26 0x0000000ffc000000 | ||
2748 | #define BM_26_35 BM_35_26 | ||
2749 | #define BM_36_26 0x0000001ffc000000 | ||
2750 | #define BM_26_36 BM_36_26 | ||
2751 | #define BM_37_26 0x0000003ffc000000 | ||
2752 | #define BM_26_37 BM_37_26 | ||
2753 | #define BM_38_26 0x0000007ffc000000 | ||
2754 | #define BM_26_38 BM_38_26 | ||
2755 | #define BM_39_26 0x000000fffc000000 | ||
2756 | #define BM_26_39 BM_39_26 | ||
2757 | #define BM_40_26 0x000001fffc000000 | ||
2758 | #define BM_26_40 BM_40_26 | ||
2759 | #define BM_41_26 0x000003fffc000000 | ||
2760 | #define BM_26_41 BM_41_26 | ||
2761 | #define BM_42_26 0x000007fffc000000 | ||
2762 | #define BM_26_42 BM_42_26 | ||
2763 | #define BM_43_26 0x00000ffffc000000 | ||
2764 | #define BM_26_43 BM_43_26 | ||
2765 | #define BM_44_26 0x00001ffffc000000 | ||
2766 | #define BM_26_44 BM_44_26 | ||
2767 | #define BM_45_26 0x00003ffffc000000 | ||
2768 | #define BM_26_45 BM_45_26 | ||
2769 | #define BM_46_26 0x00007ffffc000000 | ||
2770 | #define BM_26_46 BM_46_26 | ||
2771 | #define BM_47_26 0x0000fffffc000000 | ||
2772 | #define BM_26_47 BM_47_26 | ||
2773 | #define BM_48_26 0x0001fffffc000000 | ||
2774 | #define BM_26_48 BM_48_26 | ||
2775 | #define BM_49_26 0x0003fffffc000000 | ||
2776 | #define BM_26_49 BM_49_26 | ||
2777 | #define BM_50_26 0x0007fffffc000000 | ||
2778 | #define BM_26_50 BM_50_26 | ||
2779 | #define BM_51_26 0x000ffffffc000000 | ||
2780 | #define BM_26_51 BM_51_26 | ||
2781 | #define BM_52_26 0x001ffffffc000000 | ||
2782 | #define BM_26_52 BM_52_26 | ||
2783 | #define BM_53_26 0x003ffffffc000000 | ||
2784 | #define BM_26_53 BM_53_26 | ||
2785 | #define BM_54_26 0x007ffffffc000000 | ||
2786 | #define BM_26_54 BM_54_26 | ||
2787 | #define BM_55_26 0x00fffffffc000000 | ||
2788 | #define BM_26_55 BM_55_26 | ||
2789 | #define BM_56_26 0x01fffffffc000000 | ||
2790 | #define BM_26_56 BM_56_26 | ||
2791 | #define BM_57_26 0x03fffffffc000000 | ||
2792 | #define BM_26_57 BM_57_26 | ||
2793 | #define BM_58_26 0x07fffffffc000000 | ||
2794 | #define BM_26_58 BM_58_26 | ||
2795 | #define BM_59_26 0x0ffffffffc000000 | ||
2796 | #define BM_26_59 BM_59_26 | ||
2797 | #define BM_60_26 0x1ffffffffc000000 | ||
2798 | #define BM_26_60 BM_60_26 | ||
2799 | #define BM_61_26 0x3ffffffffc000000 | ||
2800 | #define BM_26_61 BM_61_26 | ||
2801 | #define BM_62_26 0x7ffffffffc000000 | ||
2802 | #define BM_26_62 BM_62_26 | ||
2803 | #define BM_63_26 0xfffffffffc000000 | ||
2804 | #define BM_26_63 BM_63_26 | ||
2805 | #define BM_27_27 0x0000000008000000 | ||
2806 | #define BM_28_27 0x0000000018000000 | ||
2807 | #define BM_27_28 BM_28_27 | ||
2808 | #define BM_29_27 0x0000000038000000 | ||
2809 | #define BM_27_29 BM_29_27 | ||
2810 | #define BM_30_27 0x0000000078000000 | ||
2811 | #define BM_27_30 BM_30_27 | ||
2812 | #define BM_31_27 0x00000000f8000000 | ||
2813 | #define BM_27_31 BM_31_27 | ||
2814 | #define BM_32_27 0x00000001f8000000 | ||
2815 | #define BM_27_32 BM_32_27 | ||
2816 | #define BM_33_27 0x00000003f8000000 | ||
2817 | #define BM_27_33 BM_33_27 | ||
2818 | #define BM_34_27 0x00000007f8000000 | ||
2819 | #define BM_27_34 BM_34_27 | ||
2820 | #define BM_35_27 0x0000000ff8000000 | ||
2821 | #define BM_27_35 BM_35_27 | ||
2822 | #define BM_36_27 0x0000001ff8000000 | ||
2823 | #define BM_27_36 BM_36_27 | ||
2824 | #define BM_37_27 0x0000003ff8000000 | ||
2825 | #define BM_27_37 BM_37_27 | ||
2826 | #define BM_38_27 0x0000007ff8000000 | ||
2827 | #define BM_27_38 BM_38_27 | ||
2828 | #define BM_39_27 0x000000fff8000000 | ||
2829 | #define BM_27_39 BM_39_27 | ||
2830 | #define BM_40_27 0x000001fff8000000 | ||
2831 | #define BM_27_40 BM_40_27 | ||
2832 | #define BM_41_27 0x000003fff8000000 | ||
2833 | #define BM_27_41 BM_41_27 | ||
2834 | #define BM_42_27 0x000007fff8000000 | ||
2835 | #define BM_27_42 BM_42_27 | ||
2836 | #define BM_43_27 0x00000ffff8000000 | ||
2837 | #define BM_27_43 BM_43_27 | ||
2838 | #define BM_44_27 0x00001ffff8000000 | ||
2839 | #define BM_27_44 BM_44_27 | ||
2840 | #define BM_45_27 0x00003ffff8000000 | ||
2841 | #define BM_27_45 BM_45_27 | ||
2842 | #define BM_46_27 0x00007ffff8000000 | ||
2843 | #define BM_27_46 BM_46_27 | ||
2844 | #define BM_47_27 0x0000fffff8000000 | ||
2845 | #define BM_27_47 BM_47_27 | ||
2846 | #define BM_48_27 0x0001fffff8000000 | ||
2847 | #define BM_27_48 BM_48_27 | ||
2848 | #define BM_49_27 0x0003fffff8000000 | ||
2849 | #define BM_27_49 BM_49_27 | ||
2850 | #define BM_50_27 0x0007fffff8000000 | ||
2851 | #define BM_27_50 BM_50_27 | ||
2852 | #define BM_51_27 0x000ffffff8000000 | ||
2853 | #define BM_27_51 BM_51_27 | ||
2854 | #define BM_52_27 0x001ffffff8000000 | ||
2855 | #define BM_27_52 BM_52_27 | ||
2856 | #define BM_53_27 0x003ffffff8000000 | ||
2857 | #define BM_27_53 BM_53_27 | ||
2858 | #define BM_54_27 0x007ffffff8000000 | ||
2859 | #define BM_27_54 BM_54_27 | ||
2860 | #define BM_55_27 0x00fffffff8000000 | ||
2861 | #define BM_27_55 BM_55_27 | ||
2862 | #define BM_56_27 0x01fffffff8000000 | ||
2863 | #define BM_27_56 BM_56_27 | ||
2864 | #define BM_57_27 0x03fffffff8000000 | ||
2865 | #define BM_27_57 BM_57_27 | ||
2866 | #define BM_58_27 0x07fffffff8000000 | ||
2867 | #define BM_27_58 BM_58_27 | ||
2868 | #define BM_59_27 0x0ffffffff8000000 | ||
2869 | #define BM_27_59 BM_59_27 | ||
2870 | #define BM_60_27 0x1ffffffff8000000 | ||
2871 | #define BM_27_60 BM_60_27 | ||
2872 | #define BM_61_27 0x3ffffffff8000000 | ||
2873 | #define BM_27_61 BM_61_27 | ||
2874 | #define BM_62_27 0x7ffffffff8000000 | ||
2875 | #define BM_27_62 BM_62_27 | ||
2876 | #define BM_63_27 0xfffffffff8000000 | ||
2877 | #define BM_27_63 BM_63_27 | ||
2878 | #define BM_28_28 0x0000000010000000 | ||
2879 | #define BM_29_28 0x0000000030000000 | ||
2880 | #define BM_28_29 BM_29_28 | ||
2881 | #define BM_30_28 0x0000000070000000 | ||
2882 | #define BM_28_30 BM_30_28 | ||
2883 | #define BM_31_28 0x00000000f0000000 | ||
2884 | #define BM_28_31 BM_31_28 | ||
2885 | #define BM_32_28 0x00000001f0000000 | ||
2886 | #define BM_28_32 BM_32_28 | ||
2887 | #define BM_33_28 0x00000003f0000000 | ||
2888 | #define BM_28_33 BM_33_28 | ||
2889 | #define BM_34_28 0x00000007f0000000 | ||
2890 | #define BM_28_34 BM_34_28 | ||
2891 | #define BM_35_28 0x0000000ff0000000 | ||
2892 | #define BM_28_35 BM_35_28 | ||
2893 | #define BM_36_28 0x0000001ff0000000 | ||
2894 | #define BM_28_36 BM_36_28 | ||
2895 | #define BM_37_28 0x0000003ff0000000 | ||
2896 | #define BM_28_37 BM_37_28 | ||
2897 | #define BM_38_28 0x0000007ff0000000 | ||
2898 | #define BM_28_38 BM_38_28 | ||
2899 | #define BM_39_28 0x000000fff0000000 | ||
2900 | #define BM_28_39 BM_39_28 | ||
2901 | #define BM_40_28 0x000001fff0000000 | ||
2902 | #define BM_28_40 BM_40_28 | ||
2903 | #define BM_41_28 0x000003fff0000000 | ||
2904 | #define BM_28_41 BM_41_28 | ||
2905 | #define BM_42_28 0x000007fff0000000 | ||
2906 | #define BM_28_42 BM_42_28 | ||
2907 | #define BM_43_28 0x00000ffff0000000 | ||
2908 | #define BM_28_43 BM_43_28 | ||
2909 | #define BM_44_28 0x00001ffff0000000 | ||
2910 | #define BM_28_44 BM_44_28 | ||
2911 | #define BM_45_28 0x00003ffff0000000 | ||
2912 | #define BM_28_45 BM_45_28 | ||
2913 | #define BM_46_28 0x00007ffff0000000 | ||
2914 | #define BM_28_46 BM_46_28 | ||
2915 | #define BM_47_28 0x0000fffff0000000 | ||
2916 | #define BM_28_47 BM_47_28 | ||
2917 | #define BM_48_28 0x0001fffff0000000 | ||
2918 | #define BM_28_48 BM_48_28 | ||
2919 | #define BM_49_28 0x0003fffff0000000 | ||
2920 | #define BM_28_49 BM_49_28 | ||
2921 | #define BM_50_28 0x0007fffff0000000 | ||
2922 | #define BM_28_50 BM_50_28 | ||
2923 | #define BM_51_28 0x000ffffff0000000 | ||
2924 | #define BM_28_51 BM_51_28 | ||
2925 | #define BM_52_28 0x001ffffff0000000 | ||
2926 | #define BM_28_52 BM_52_28 | ||
2927 | #define BM_53_28 0x003ffffff0000000 | ||
2928 | #define BM_28_53 BM_53_28 | ||
2929 | #define BM_54_28 0x007ffffff0000000 | ||
2930 | #define BM_28_54 BM_54_28 | ||
2931 | #define BM_55_28 0x00fffffff0000000 | ||
2932 | #define BM_28_55 BM_55_28 | ||
2933 | #define BM_56_28 0x01fffffff0000000 | ||
2934 | #define BM_28_56 BM_56_28 | ||
2935 | #define BM_57_28 0x03fffffff0000000 | ||
2936 | #define BM_28_57 BM_57_28 | ||
2937 | #define BM_58_28 0x07fffffff0000000 | ||
2938 | #define BM_28_58 BM_58_28 | ||
2939 | #define BM_59_28 0x0ffffffff0000000 | ||
2940 | #define BM_28_59 BM_59_28 | ||
2941 | #define BM_60_28 0x1ffffffff0000000 | ||
2942 | #define BM_28_60 BM_60_28 | ||
2943 | #define BM_61_28 0x3ffffffff0000000 | ||
2944 | #define BM_28_61 BM_61_28 | ||
2945 | #define BM_62_28 0x7ffffffff0000000 | ||
2946 | #define BM_28_62 BM_62_28 | ||
2947 | #define BM_63_28 0xfffffffff0000000 | ||
2948 | #define BM_28_63 BM_63_28 | ||
2949 | #define BM_29_29 0x0000000020000000 | ||
2950 | #define BM_30_29 0x0000000060000000 | ||
2951 | #define BM_29_30 BM_30_29 | ||
2952 | #define BM_31_29 0x00000000e0000000 | ||
2953 | #define BM_29_31 BM_31_29 | ||
2954 | #define BM_32_29 0x00000001e0000000 | ||
2955 | #define BM_29_32 BM_32_29 | ||
2956 | #define BM_33_29 0x00000003e0000000 | ||
2957 | #define BM_29_33 BM_33_29 | ||
2958 | #define BM_34_29 0x00000007e0000000 | ||
2959 | #define BM_29_34 BM_34_29 | ||
2960 | #define BM_35_29 0x0000000fe0000000 | ||
2961 | #define BM_29_35 BM_35_29 | ||
2962 | #define BM_36_29 0x0000001fe0000000 | ||
2963 | #define BM_29_36 BM_36_29 | ||
2964 | #define BM_37_29 0x0000003fe0000000 | ||
2965 | #define BM_29_37 BM_37_29 | ||
2966 | #define BM_38_29 0x0000007fe0000000 | ||
2967 | #define BM_29_38 BM_38_29 | ||
2968 | #define BM_39_29 0x000000ffe0000000 | ||
2969 | #define BM_29_39 BM_39_29 | ||
2970 | #define BM_40_29 0x000001ffe0000000 | ||
2971 | #define BM_29_40 BM_40_29 | ||
2972 | #define BM_41_29 0x000003ffe0000000 | ||
2973 | #define BM_29_41 BM_41_29 | ||
2974 | #define BM_42_29 0x000007ffe0000000 | ||
2975 | #define BM_29_42 BM_42_29 | ||
2976 | #define BM_43_29 0x00000fffe0000000 | ||
2977 | #define BM_29_43 BM_43_29 | ||
2978 | #define BM_44_29 0x00001fffe0000000 | ||
2979 | #define BM_29_44 BM_44_29 | ||
2980 | #define BM_45_29 0x00003fffe0000000 | ||
2981 | #define BM_29_45 BM_45_29 | ||
2982 | #define BM_46_29 0x00007fffe0000000 | ||
2983 | #define BM_29_46 BM_46_29 | ||
2984 | #define BM_47_29 0x0000ffffe0000000 | ||
2985 | #define BM_29_47 BM_47_29 | ||
2986 | #define BM_48_29 0x0001ffffe0000000 | ||
2987 | #define BM_29_48 BM_48_29 | ||
2988 | #define BM_49_29 0x0003ffffe0000000 | ||
2989 | #define BM_29_49 BM_49_29 | ||
2990 | #define BM_50_29 0x0007ffffe0000000 | ||
2991 | #define BM_29_50 BM_50_29 | ||
2992 | #define BM_51_29 0x000fffffe0000000 | ||
2993 | #define BM_29_51 BM_51_29 | ||
2994 | #define BM_52_29 0x001fffffe0000000 | ||
2995 | #define BM_29_52 BM_52_29 | ||
2996 | #define BM_53_29 0x003fffffe0000000 | ||
2997 | #define BM_29_53 BM_53_29 | ||
2998 | #define BM_54_29 0x007fffffe0000000 | ||
2999 | #define BM_29_54 BM_54_29 | ||
3000 | #define BM_55_29 0x00ffffffe0000000 | ||
3001 | #define BM_29_55 BM_55_29 | ||
3002 | #define BM_56_29 0x01ffffffe0000000 | ||
3003 | #define BM_29_56 BM_56_29 | ||
3004 | #define BM_57_29 0x03ffffffe0000000 | ||
3005 | #define BM_29_57 BM_57_29 | ||
3006 | #define BM_58_29 0x07ffffffe0000000 | ||
3007 | #define BM_29_58 BM_58_29 | ||
3008 | #define BM_59_29 0x0fffffffe0000000 | ||
3009 | #define BM_29_59 BM_59_29 | ||
3010 | #define BM_60_29 0x1fffffffe0000000 | ||
3011 | #define BM_29_60 BM_60_29 | ||
3012 | #define BM_61_29 0x3fffffffe0000000 | ||
3013 | #define BM_29_61 BM_61_29 | ||
3014 | #define BM_62_29 0x7fffffffe0000000 | ||
3015 | #define BM_29_62 BM_62_29 | ||
3016 | #define BM_63_29 0xffffffffe0000000 | ||
3017 | #define BM_29_63 BM_63_29 | ||
3018 | #define BM_30_30 0x0000000040000000 | ||
3019 | #define BM_31_30 0x00000000c0000000 | ||
3020 | #define BM_30_31 BM_31_30 | ||
3021 | #define BM_32_30 0x00000001c0000000 | ||
3022 | #define BM_30_32 BM_32_30 | ||
3023 | #define BM_33_30 0x00000003c0000000 | ||
3024 | #define BM_30_33 BM_33_30 | ||
3025 | #define BM_34_30 0x00000007c0000000 | ||
3026 | #define BM_30_34 BM_34_30 | ||
3027 | #define BM_35_30 0x0000000fc0000000 | ||
3028 | #define BM_30_35 BM_35_30 | ||
3029 | #define BM_36_30 0x0000001fc0000000 | ||
3030 | #define BM_30_36 BM_36_30 | ||
3031 | #define BM_37_30 0x0000003fc0000000 | ||
3032 | #define BM_30_37 BM_37_30 | ||
3033 | #define BM_38_30 0x0000007fc0000000 | ||
3034 | #define BM_30_38 BM_38_30 | ||
3035 | #define BM_39_30 0x000000ffc0000000 | ||
3036 | #define BM_30_39 BM_39_30 | ||
3037 | #define BM_40_30 0x000001ffc0000000 | ||
3038 | #define BM_30_40 BM_40_30 | ||
3039 | #define BM_41_30 0x000003ffc0000000 | ||
3040 | #define BM_30_41 BM_41_30 | ||
3041 | #define BM_42_30 0x000007ffc0000000 | ||
3042 | #define BM_30_42 BM_42_30 | ||
3043 | #define BM_43_30 0x00000fffc0000000 | ||
3044 | #define BM_30_43 BM_43_30 | ||
3045 | #define BM_44_30 0x00001fffc0000000 | ||
3046 | #define BM_30_44 BM_44_30 | ||
3047 | #define BM_45_30 0x00003fffc0000000 | ||
3048 | #define BM_30_45 BM_45_30 | ||
3049 | #define BM_46_30 0x00007fffc0000000 | ||
3050 | #define BM_30_46 BM_46_30 | ||
3051 | #define BM_47_30 0x0000ffffc0000000 | ||
3052 | #define BM_30_47 BM_47_30 | ||
3053 | #define BM_48_30 0x0001ffffc0000000 | ||
3054 | #define BM_30_48 BM_48_30 | ||
3055 | #define BM_49_30 0x0003ffffc0000000 | ||
3056 | #define BM_30_49 BM_49_30 | ||
3057 | #define BM_50_30 0x0007ffffc0000000 | ||
3058 | #define BM_30_50 BM_50_30 | ||
3059 | #define BM_51_30 0x000fffffc0000000 | ||
3060 | #define BM_30_51 BM_51_30 | ||
3061 | #define BM_52_30 0x001fffffc0000000 | ||
3062 | #define BM_30_52 BM_52_30 | ||
3063 | #define BM_53_30 0x003fffffc0000000 | ||
3064 | #define BM_30_53 BM_53_30 | ||
3065 | #define BM_54_30 0x007fffffc0000000 | ||
3066 | #define BM_30_54 BM_54_30 | ||
3067 | #define BM_55_30 0x00ffffffc0000000 | ||
3068 | #define BM_30_55 BM_55_30 | ||
3069 | #define BM_56_30 0x01ffffffc0000000 | ||
3070 | #define BM_30_56 BM_56_30 | ||
3071 | #define BM_57_30 0x03ffffffc0000000 | ||
3072 | #define BM_30_57 BM_57_30 | ||
3073 | #define BM_58_30 0x07ffffffc0000000 | ||
3074 | #define BM_30_58 BM_58_30 | ||
3075 | #define BM_59_30 0x0fffffffc0000000 | ||
3076 | #define BM_30_59 BM_59_30 | ||
3077 | #define BM_60_30 0x1fffffffc0000000 | ||
3078 | #define BM_30_60 BM_60_30 | ||
3079 | #define BM_61_30 0x3fffffffc0000000 | ||
3080 | #define BM_30_61 BM_61_30 | ||
3081 | #define BM_62_30 0x7fffffffc0000000 | ||
3082 | #define BM_30_62 BM_62_30 | ||
3083 | #define BM_63_30 0xffffffffc0000000 | ||
3084 | #define BM_30_63 BM_63_30 | ||
3085 | #define BM_31_31 0x0000000080000000 | ||
3086 | #define BM_32_31 0x0000000180000000 | ||
3087 | #define BM_31_32 BM_32_31 | ||
3088 | #define BM_33_31 0x0000000380000000 | ||
3089 | #define BM_31_33 BM_33_31 | ||
3090 | #define BM_34_31 0x0000000780000000 | ||
3091 | #define BM_31_34 BM_34_31 | ||
3092 | #define BM_35_31 0x0000000f80000000 | ||
3093 | #define BM_31_35 BM_35_31 | ||
3094 | #define BM_36_31 0x0000001f80000000 | ||
3095 | #define BM_31_36 BM_36_31 | ||
3096 | #define BM_37_31 0x0000003f80000000 | ||
3097 | #define BM_31_37 BM_37_31 | ||
3098 | #define BM_38_31 0x0000007f80000000 | ||
3099 | #define BM_31_38 BM_38_31 | ||
3100 | #define BM_39_31 0x000000ff80000000 | ||
3101 | #define BM_31_39 BM_39_31 | ||
3102 | #define BM_40_31 0x000001ff80000000 | ||
3103 | #define BM_31_40 BM_40_31 | ||
3104 | #define BM_41_31 0x000003ff80000000 | ||
3105 | #define BM_31_41 BM_41_31 | ||
3106 | #define BM_42_31 0x000007ff80000000 | ||
3107 | #define BM_31_42 BM_42_31 | ||
3108 | #define BM_43_31 0x00000fff80000000 | ||
3109 | #define BM_31_43 BM_43_31 | ||
3110 | #define BM_44_31 0x00001fff80000000 | ||
3111 | #define BM_31_44 BM_44_31 | ||
3112 | #define BM_45_31 0x00003fff80000000 | ||
3113 | #define BM_31_45 BM_45_31 | ||
3114 | #define BM_46_31 0x00007fff80000000 | ||
3115 | #define BM_31_46 BM_46_31 | ||
3116 | #define BM_47_31 0x0000ffff80000000 | ||
3117 | #define BM_31_47 BM_47_31 | ||
3118 | #define BM_48_31 0x0001ffff80000000 | ||
3119 | #define BM_31_48 BM_48_31 | ||
3120 | #define BM_49_31 0x0003ffff80000000 | ||
3121 | #define BM_31_49 BM_49_31 | ||
3122 | #define BM_50_31 0x0007ffff80000000 | ||
3123 | #define BM_31_50 BM_50_31 | ||
3124 | #define BM_51_31 0x000fffff80000000 | ||
3125 | #define BM_31_51 BM_51_31 | ||
3126 | #define BM_52_31 0x001fffff80000000 | ||
3127 | #define BM_31_52 BM_52_31 | ||
3128 | #define BM_53_31 0x003fffff80000000 | ||
3129 | #define BM_31_53 BM_53_31 | ||
3130 | #define BM_54_31 0x007fffff80000000 | ||
3131 | #define BM_31_54 BM_54_31 | ||
3132 | #define BM_55_31 0x00ffffff80000000 | ||
3133 | #define BM_31_55 BM_55_31 | ||
3134 | #define BM_56_31 0x01ffffff80000000 | ||
3135 | #define BM_31_56 BM_56_31 | ||
3136 | #define BM_57_31 0x03ffffff80000000 | ||
3137 | #define BM_31_57 BM_57_31 | ||
3138 | #define BM_58_31 0x07ffffff80000000 | ||
3139 | #define BM_31_58 BM_58_31 | ||
3140 | #define BM_59_31 0x0fffffff80000000 | ||
3141 | #define BM_31_59 BM_59_31 | ||
3142 | #define BM_60_31 0x1fffffff80000000 | ||
3143 | #define BM_31_60 BM_60_31 | ||
3144 | #define BM_61_31 0x3fffffff80000000 | ||
3145 | #define BM_31_61 BM_61_31 | ||
3146 | #define BM_62_31 0x7fffffff80000000 | ||
3147 | #define BM_31_62 BM_62_31 | ||
3148 | #define BM_63_31 0xffffffff80000000 | ||
3149 | #define BM_31_63 BM_63_31 | ||
3150 | #define BM_32_32 0x0000000100000000 | ||
3151 | #define BM_33_32 0x0000000300000000 | ||
3152 | #define BM_32_33 BM_33_32 | ||
3153 | #define BM_34_32 0x0000000700000000 | ||
3154 | #define BM_32_34 BM_34_32 | ||
3155 | #define BM_35_32 0x0000000f00000000 | ||
3156 | #define BM_32_35 BM_35_32 | ||
3157 | #define BM_36_32 0x0000001f00000000 | ||
3158 | #define BM_32_36 BM_36_32 | ||
3159 | #define BM_37_32 0x0000003f00000000 | ||
3160 | #define BM_32_37 BM_37_32 | ||
3161 | #define BM_38_32 0x0000007f00000000 | ||
3162 | #define BM_32_38 BM_38_32 | ||
3163 | #define BM_39_32 0x000000ff00000000 | ||
3164 | #define BM_32_39 BM_39_32 | ||
3165 | #define BM_40_32 0x000001ff00000000 | ||
3166 | #define BM_32_40 BM_40_32 | ||
3167 | #define BM_41_32 0x000003ff00000000 | ||
3168 | #define BM_32_41 BM_41_32 | ||
3169 | #define BM_42_32 0x000007ff00000000 | ||
3170 | #define BM_32_42 BM_42_32 | ||
3171 | #define BM_43_32 0x00000fff00000000 | ||
3172 | #define BM_32_43 BM_43_32 | ||
3173 | #define BM_44_32 0x00001fff00000000 | ||
3174 | #define BM_32_44 BM_44_32 | ||
3175 | #define BM_45_32 0x00003fff00000000 | ||
3176 | #define BM_32_45 BM_45_32 | ||
3177 | #define BM_46_32 0x00007fff00000000 | ||
3178 | #define BM_32_46 BM_46_32 | ||
3179 | #define BM_47_32 0x0000ffff00000000 | ||
3180 | #define BM_32_47 BM_47_32 | ||
3181 | #define BM_48_32 0x0001ffff00000000 | ||
3182 | #define BM_32_48 BM_48_32 | ||
3183 | #define BM_49_32 0x0003ffff00000000 | ||
3184 | #define BM_32_49 BM_49_32 | ||
3185 | #define BM_50_32 0x0007ffff00000000 | ||
3186 | #define BM_32_50 BM_50_32 | ||
3187 | #define BM_51_32 0x000fffff00000000 | ||
3188 | #define BM_32_51 BM_51_32 | ||
3189 | #define BM_52_32 0x001fffff00000000 | ||
3190 | #define BM_32_52 BM_52_32 | ||
3191 | #define BM_53_32 0x003fffff00000000 | ||
3192 | #define BM_32_53 BM_53_32 | ||
3193 | #define BM_54_32 0x007fffff00000000 | ||
3194 | #define BM_32_54 BM_54_32 | ||
3195 | #define BM_55_32 0x00ffffff00000000 | ||
3196 | #define BM_32_55 BM_55_32 | ||
3197 | #define BM_56_32 0x01ffffff00000000 | ||
3198 | #define BM_32_56 BM_56_32 | ||
3199 | #define BM_57_32 0x03ffffff00000000 | ||
3200 | #define BM_32_57 BM_57_32 | ||
3201 | #define BM_58_32 0x07ffffff00000000 | ||
3202 | #define BM_32_58 BM_58_32 | ||
3203 | #define BM_59_32 0x0fffffff00000000 | ||
3204 | #define BM_32_59 BM_59_32 | ||
3205 | #define BM_60_32 0x1fffffff00000000 | ||
3206 | #define BM_32_60 BM_60_32 | ||
3207 | #define BM_61_32 0x3fffffff00000000 | ||
3208 | #define BM_32_61 BM_61_32 | ||
3209 | #define BM_62_32 0x7fffffff00000000 | ||
3210 | #define BM_32_62 BM_62_32 | ||
3211 | #define BM_63_32 0xffffffff00000000 | ||
3212 | #define BM_32_63 BM_63_32 | ||
3213 | #define BM_33_33 0x0000000200000000 | ||
3214 | #define BM_34_33 0x0000000600000000 | ||
3215 | #define BM_33_34 BM_34_33 | ||
3216 | #define BM_35_33 0x0000000e00000000 | ||
3217 | #define BM_33_35 BM_35_33 | ||
3218 | #define BM_36_33 0x0000001e00000000 | ||
3219 | #define BM_33_36 BM_36_33 | ||
3220 | #define BM_37_33 0x0000003e00000000 | ||
3221 | #define BM_33_37 BM_37_33 | ||
3222 | #define BM_38_33 0x0000007e00000000 | ||
3223 | #define BM_33_38 BM_38_33 | ||
3224 | #define BM_39_33 0x000000fe00000000 | ||
3225 | #define BM_33_39 BM_39_33 | ||
3226 | #define BM_40_33 0x000001fe00000000 | ||
3227 | #define BM_33_40 BM_40_33 | ||
3228 | #define BM_41_33 0x000003fe00000000 | ||
3229 | #define BM_33_41 BM_41_33 | ||
3230 | #define BM_42_33 0x000007fe00000000 | ||
3231 | #define BM_33_42 BM_42_33 | ||
3232 | #define BM_43_33 0x00000ffe00000000 | ||
3233 | #define BM_33_43 BM_43_33 | ||
3234 | #define BM_44_33 0x00001ffe00000000 | ||
3235 | #define BM_33_44 BM_44_33 | ||
3236 | #define BM_45_33 0x00003ffe00000000 | ||
3237 | #define BM_33_45 BM_45_33 | ||
3238 | #define BM_46_33 0x00007ffe00000000 | ||
3239 | #define BM_33_46 BM_46_33 | ||
3240 | #define BM_47_33 0x0000fffe00000000 | ||
3241 | #define BM_33_47 BM_47_33 | ||
3242 | #define BM_48_33 0x0001fffe00000000 | ||
3243 | #define BM_33_48 BM_48_33 | ||
3244 | #define BM_49_33 0x0003fffe00000000 | ||
3245 | #define BM_33_49 BM_49_33 | ||
3246 | #define BM_50_33 0x0007fffe00000000 | ||
3247 | #define BM_33_50 BM_50_33 | ||
3248 | #define BM_51_33 0x000ffffe00000000 | ||
3249 | #define BM_33_51 BM_51_33 | ||
3250 | #define BM_52_33 0x001ffffe00000000 | ||
3251 | #define BM_33_52 BM_52_33 | ||
3252 | #define BM_53_33 0x003ffffe00000000 | ||
3253 | #define BM_33_53 BM_53_33 | ||
3254 | #define BM_54_33 0x007ffffe00000000 | ||
3255 | #define BM_33_54 BM_54_33 | ||
3256 | #define BM_55_33 0x00fffffe00000000 | ||
3257 | #define BM_33_55 BM_55_33 | ||
3258 | #define BM_56_33 0x01fffffe00000000 | ||
3259 | #define BM_33_56 BM_56_33 | ||
3260 | #define BM_57_33 0x03fffffe00000000 | ||
3261 | #define BM_33_57 BM_57_33 | ||
3262 | #define BM_58_33 0x07fffffe00000000 | ||
3263 | #define BM_33_58 BM_58_33 | ||
3264 | #define BM_59_33 0x0ffffffe00000000 | ||
3265 | #define BM_33_59 BM_59_33 | ||
3266 | #define BM_60_33 0x1ffffffe00000000 | ||
3267 | #define BM_33_60 BM_60_33 | ||
3268 | #define BM_61_33 0x3ffffffe00000000 | ||
3269 | #define BM_33_61 BM_61_33 | ||
3270 | #define BM_62_33 0x7ffffffe00000000 | ||
3271 | #define BM_33_62 BM_62_33 | ||
3272 | #define BM_63_33 0xfffffffe00000000 | ||
3273 | #define BM_33_63 BM_63_33 | ||
3274 | #define BM_34_34 0x0000000400000000 | ||
3275 | #define BM_35_34 0x0000000c00000000 | ||
3276 | #define BM_34_35 BM_35_34 | ||
3277 | #define BM_36_34 0x0000001c00000000 | ||
3278 | #define BM_34_36 BM_36_34 | ||
3279 | #define BM_37_34 0x0000003c00000000 | ||
3280 | #define BM_34_37 BM_37_34 | ||
3281 | #define BM_38_34 0x0000007c00000000 | ||
3282 | #define BM_34_38 BM_38_34 | ||
3283 | #define BM_39_34 0x000000fc00000000 | ||
3284 | #define BM_34_39 BM_39_34 | ||
3285 | #define BM_40_34 0x000001fc00000000 | ||
3286 | #define BM_34_40 BM_40_34 | ||
3287 | #define BM_41_34 0x000003fc00000000 | ||
3288 | #define BM_34_41 BM_41_34 | ||
3289 | #define BM_42_34 0x000007fc00000000 | ||
3290 | #define BM_34_42 BM_42_34 | ||
3291 | #define BM_43_34 0x00000ffc00000000 | ||
3292 | #define BM_34_43 BM_43_34 | ||
3293 | #define BM_44_34 0x00001ffc00000000 | ||
3294 | #define BM_34_44 BM_44_34 | ||
3295 | #define BM_45_34 0x00003ffc00000000 | ||
3296 | #define BM_34_45 BM_45_34 | ||
3297 | #define BM_46_34 0x00007ffc00000000 | ||
3298 | #define BM_34_46 BM_46_34 | ||
3299 | #define BM_47_34 0x0000fffc00000000 | ||
3300 | #define BM_34_47 BM_47_34 | ||
3301 | #define BM_48_34 0x0001fffc00000000 | ||
3302 | #define BM_34_48 BM_48_34 | ||
3303 | #define BM_49_34 0x0003fffc00000000 | ||
3304 | #define BM_34_49 BM_49_34 | ||
3305 | #define BM_50_34 0x0007fffc00000000 | ||
3306 | #define BM_34_50 BM_50_34 | ||
3307 | #define BM_51_34 0x000ffffc00000000 | ||
3308 | #define BM_34_51 BM_51_34 | ||
3309 | #define BM_52_34 0x001ffffc00000000 | ||
3310 | #define BM_34_52 BM_52_34 | ||
3311 | #define BM_53_34 0x003ffffc00000000 | ||
3312 | #define BM_34_53 BM_53_34 | ||
3313 | #define BM_54_34 0x007ffffc00000000 | ||
3314 | #define BM_34_54 BM_54_34 | ||
3315 | #define BM_55_34 0x00fffffc00000000 | ||
3316 | #define BM_34_55 BM_55_34 | ||
3317 | #define BM_56_34 0x01fffffc00000000 | ||
3318 | #define BM_34_56 BM_56_34 | ||
3319 | #define BM_57_34 0x03fffffc00000000 | ||
3320 | #define BM_34_57 BM_57_34 | ||
3321 | #define BM_58_34 0x07fffffc00000000 | ||
3322 | #define BM_34_58 BM_58_34 | ||
3323 | #define BM_59_34 0x0ffffffc00000000 | ||
3324 | #define BM_34_59 BM_59_34 | ||
3325 | #define BM_60_34 0x1ffffffc00000000 | ||
3326 | #define BM_34_60 BM_60_34 | ||
3327 | #define BM_61_34 0x3ffffffc00000000 | ||
3328 | #define BM_34_61 BM_61_34 | ||
3329 | #define BM_62_34 0x7ffffffc00000000 | ||
3330 | #define BM_34_62 BM_62_34 | ||
3331 | #define BM_63_34 0xfffffffc00000000 | ||
3332 | #define BM_34_63 BM_63_34 | ||
3333 | #define BM_35_35 0x0000000800000000 | ||
3334 | #define BM_36_35 0x0000001800000000 | ||
3335 | #define BM_35_36 BM_36_35 | ||
3336 | #define BM_37_35 0x0000003800000000 | ||
3337 | #define BM_35_37 BM_37_35 | ||
3338 | #define BM_38_35 0x0000007800000000 | ||
3339 | #define BM_35_38 BM_38_35 | ||
3340 | #define BM_39_35 0x000000f800000000 | ||
3341 | #define BM_35_39 BM_39_35 | ||
3342 | #define BM_40_35 0x000001f800000000 | ||
3343 | #define BM_35_40 BM_40_35 | ||
3344 | #define BM_41_35 0x000003f800000000 | ||
3345 | #define BM_35_41 BM_41_35 | ||
3346 | #define BM_42_35 0x000007f800000000 | ||
3347 | #define BM_35_42 BM_42_35 | ||
3348 | #define BM_43_35 0x00000ff800000000 | ||
3349 | #define BM_35_43 BM_43_35 | ||
3350 | #define BM_44_35 0x00001ff800000000 | ||
3351 | #define BM_35_44 BM_44_35 | ||
3352 | #define BM_45_35 0x00003ff800000000 | ||
3353 | #define BM_35_45 BM_45_35 | ||
3354 | #define BM_46_35 0x00007ff800000000 | ||
3355 | #define BM_35_46 BM_46_35 | ||
3356 | #define BM_47_35 0x0000fff800000000 | ||
3357 | #define BM_35_47 BM_47_35 | ||
3358 | #define BM_48_35 0x0001fff800000000 | ||
3359 | #define BM_35_48 BM_48_35 | ||
3360 | #define BM_49_35 0x0003fff800000000 | ||
3361 | #define BM_35_49 BM_49_35 | ||
3362 | #define BM_50_35 0x0007fff800000000 | ||
3363 | #define BM_35_50 BM_50_35 | ||
3364 | #define BM_51_35 0x000ffff800000000 | ||
3365 | #define BM_35_51 BM_51_35 | ||
3366 | #define BM_52_35 0x001ffff800000000 | ||
3367 | #define BM_35_52 BM_52_35 | ||
3368 | #define BM_53_35 0x003ffff800000000 | ||
3369 | #define BM_35_53 BM_53_35 | ||
3370 | #define BM_54_35 0x007ffff800000000 | ||
3371 | #define BM_35_54 BM_54_35 | ||
3372 | #define BM_55_35 0x00fffff800000000 | ||
3373 | #define BM_35_55 BM_55_35 | ||
3374 | #define BM_56_35 0x01fffff800000000 | ||
3375 | #define BM_35_56 BM_56_35 | ||
3376 | #define BM_57_35 0x03fffff800000000 | ||
3377 | #define BM_35_57 BM_57_35 | ||
3378 | #define BM_58_35 0x07fffff800000000 | ||
3379 | #define BM_35_58 BM_58_35 | ||
3380 | #define BM_59_35 0x0ffffff800000000 | ||
3381 | #define BM_35_59 BM_59_35 | ||
3382 | #define BM_60_35 0x1ffffff800000000 | ||
3383 | #define BM_35_60 BM_60_35 | ||
3384 | #define BM_61_35 0x3ffffff800000000 | ||
3385 | #define BM_35_61 BM_61_35 | ||
3386 | #define BM_62_35 0x7ffffff800000000 | ||
3387 | #define BM_35_62 BM_62_35 | ||
3388 | #define BM_63_35 0xfffffff800000000 | ||
3389 | #define BM_35_63 BM_63_35 | ||
3390 | #define BM_36_36 0x0000001000000000 | ||
3391 | #define BM_37_36 0x0000003000000000 | ||
3392 | #define BM_36_37 BM_37_36 | ||
3393 | #define BM_38_36 0x0000007000000000 | ||
3394 | #define BM_36_38 BM_38_36 | ||
3395 | #define BM_39_36 0x000000f000000000 | ||
3396 | #define BM_36_39 BM_39_36 | ||
3397 | #define BM_40_36 0x000001f000000000 | ||
3398 | #define BM_36_40 BM_40_36 | ||
3399 | #define BM_41_36 0x000003f000000000 | ||
3400 | #define BM_36_41 BM_41_36 | ||
3401 | #define BM_42_36 0x000007f000000000 | ||
3402 | #define BM_36_42 BM_42_36 | ||
3403 | #define BM_43_36 0x00000ff000000000 | ||
3404 | #define BM_36_43 BM_43_36 | ||
3405 | #define BM_44_36 0x00001ff000000000 | ||
3406 | #define BM_36_44 BM_44_36 | ||
3407 | #define BM_45_36 0x00003ff000000000 | ||
3408 | #define BM_36_45 BM_45_36 | ||
3409 | #define BM_46_36 0x00007ff000000000 | ||
3410 | #define BM_36_46 BM_46_36 | ||
3411 | #define BM_47_36 0x0000fff000000000 | ||
3412 | #define BM_36_47 BM_47_36 | ||
3413 | #define BM_48_36 0x0001fff000000000 | ||
3414 | #define BM_36_48 BM_48_36 | ||
3415 | #define BM_49_36 0x0003fff000000000 | ||
3416 | #define BM_36_49 BM_49_36 | ||
3417 | #define BM_50_36 0x0007fff000000000 | ||
3418 | #define BM_36_50 BM_50_36 | ||
3419 | #define BM_51_36 0x000ffff000000000 | ||
3420 | #define BM_36_51 BM_51_36 | ||
3421 | #define BM_52_36 0x001ffff000000000 | ||
3422 | #define BM_36_52 BM_52_36 | ||
3423 | #define BM_53_36 0x003ffff000000000 | ||
3424 | #define BM_36_53 BM_53_36 | ||
3425 | #define BM_54_36 0x007ffff000000000 | ||
3426 | #define BM_36_54 BM_54_36 | ||
3427 | #define BM_55_36 0x00fffff000000000 | ||
3428 | #define BM_36_55 BM_55_36 | ||
3429 | #define BM_56_36 0x01fffff000000000 | ||
3430 | #define BM_36_56 BM_56_36 | ||
3431 | #define BM_57_36 0x03fffff000000000 | ||
3432 | #define BM_36_57 BM_57_36 | ||
3433 | #define BM_58_36 0x07fffff000000000 | ||
3434 | #define BM_36_58 BM_58_36 | ||
3435 | #define BM_59_36 0x0ffffff000000000 | ||
3436 | #define BM_36_59 BM_59_36 | ||
3437 | #define BM_60_36 0x1ffffff000000000 | ||
3438 | #define BM_36_60 BM_60_36 | ||
3439 | #define BM_61_36 0x3ffffff000000000 | ||
3440 | #define BM_36_61 BM_61_36 | ||
3441 | #define BM_62_36 0x7ffffff000000000 | ||
3442 | #define BM_36_62 BM_62_36 | ||
3443 | #define BM_63_36 0xfffffff000000000 | ||
3444 | #define BM_36_63 BM_63_36 | ||
3445 | #define BM_37_37 0x0000002000000000 | ||
3446 | #define BM_38_37 0x0000006000000000 | ||
3447 | #define BM_37_38 BM_38_37 | ||
3448 | #define BM_39_37 0x000000e000000000 | ||
3449 | #define BM_37_39 BM_39_37 | ||
3450 | #define BM_40_37 0x000001e000000000 | ||
3451 | #define BM_37_40 BM_40_37 | ||
3452 | #define BM_41_37 0x000003e000000000 | ||
3453 | #define BM_37_41 BM_41_37 | ||
3454 | #define BM_42_37 0x000007e000000000 | ||
3455 | #define BM_37_42 BM_42_37 | ||
3456 | #define BM_43_37 0x00000fe000000000 | ||
3457 | #define BM_37_43 BM_43_37 | ||
3458 | #define BM_44_37 0x00001fe000000000 | ||
3459 | #define BM_37_44 BM_44_37 | ||
3460 | #define BM_45_37 0x00003fe000000000 | ||
3461 | #define BM_37_45 BM_45_37 | ||
3462 | #define BM_46_37 0x00007fe000000000 | ||
3463 | #define BM_37_46 BM_46_37 | ||
3464 | #define BM_47_37 0x0000ffe000000000 | ||
3465 | #define BM_37_47 BM_47_37 | ||
3466 | #define BM_48_37 0x0001ffe000000000 | ||
3467 | #define BM_37_48 BM_48_37 | ||
3468 | #define BM_49_37 0x0003ffe000000000 | ||
3469 | #define BM_37_49 BM_49_37 | ||
3470 | #define BM_50_37 0x0007ffe000000000 | ||
3471 | #define BM_37_50 BM_50_37 | ||
3472 | #define BM_51_37 0x000fffe000000000 | ||
3473 | #define BM_37_51 BM_51_37 | ||
3474 | #define BM_52_37 0x001fffe000000000 | ||
3475 | #define BM_37_52 BM_52_37 | ||
3476 | #define BM_53_37 0x003fffe000000000 | ||
3477 | #define BM_37_53 BM_53_37 | ||
3478 | #define BM_54_37 0x007fffe000000000 | ||
3479 | #define BM_37_54 BM_54_37 | ||
3480 | #define BM_55_37 0x00ffffe000000000 | ||
3481 | #define BM_37_55 BM_55_37 | ||
3482 | #define BM_56_37 0x01ffffe000000000 | ||
3483 | #define BM_37_56 BM_56_37 | ||
3484 | #define BM_57_37 0x03ffffe000000000 | ||
3485 | #define BM_37_57 BM_57_37 | ||
3486 | #define BM_58_37 0x07ffffe000000000 | ||
3487 | #define BM_37_58 BM_58_37 | ||
3488 | #define BM_59_37 0x0fffffe000000000 | ||
3489 | #define BM_37_59 BM_59_37 | ||
3490 | #define BM_60_37 0x1fffffe000000000 | ||
3491 | #define BM_37_60 BM_60_37 | ||
3492 | #define BM_61_37 0x3fffffe000000000 | ||
3493 | #define BM_37_61 BM_61_37 | ||
3494 | #define BM_62_37 0x7fffffe000000000 | ||
3495 | #define BM_37_62 BM_62_37 | ||
3496 | #define BM_63_37 0xffffffe000000000 | ||
3497 | #define BM_37_63 BM_63_37 | ||
3498 | #define BM_38_38 0x0000004000000000 | ||
3499 | #define BM_39_38 0x000000c000000000 | ||
3500 | #define BM_38_39 BM_39_38 | ||
3501 | #define BM_40_38 0x000001c000000000 | ||
3502 | #define BM_38_40 BM_40_38 | ||
3503 | #define BM_41_38 0x000003c000000000 | ||
3504 | #define BM_38_41 BM_41_38 | ||
3505 | #define BM_42_38 0x000007c000000000 | ||
3506 | #define BM_38_42 BM_42_38 | ||
3507 | #define BM_43_38 0x00000fc000000000 | ||
3508 | #define BM_38_43 BM_43_38 | ||
3509 | #define BM_44_38 0x00001fc000000000 | ||
3510 | #define BM_38_44 BM_44_38 | ||
3511 | #define BM_45_38 0x00003fc000000000 | ||
3512 | #define BM_38_45 BM_45_38 | ||
3513 | #define BM_46_38 0x00007fc000000000 | ||
3514 | #define BM_38_46 BM_46_38 | ||
3515 | #define BM_47_38 0x0000ffc000000000 | ||
3516 | #define BM_38_47 BM_47_38 | ||
3517 | #define BM_48_38 0x0001ffc000000000 | ||
3518 | #define BM_38_48 BM_48_38 | ||
3519 | #define BM_49_38 0x0003ffc000000000 | ||
3520 | #define BM_38_49 BM_49_38 | ||
3521 | #define BM_50_38 0x0007ffc000000000 | ||
3522 | #define BM_38_50 BM_50_38 | ||
3523 | #define BM_51_38 0x000fffc000000000 | ||
3524 | #define BM_38_51 BM_51_38 | ||
3525 | #define BM_52_38 0x001fffc000000000 | ||
3526 | #define BM_38_52 BM_52_38 | ||
3527 | #define BM_53_38 0x003fffc000000000 | ||
3528 | #define BM_38_53 BM_53_38 | ||
3529 | #define BM_54_38 0x007fffc000000000 | ||
3530 | #define BM_38_54 BM_54_38 | ||
3531 | #define BM_55_38 0x00ffffc000000000 | ||
3532 | #define BM_38_55 BM_55_38 | ||
3533 | #define BM_56_38 0x01ffffc000000000 | ||
3534 | #define BM_38_56 BM_56_38 | ||
3535 | #define BM_57_38 0x03ffffc000000000 | ||
3536 | #define BM_38_57 BM_57_38 | ||
3537 | #define BM_58_38 0x07ffffc000000000 | ||
3538 | #define BM_38_58 BM_58_38 | ||
3539 | #define BM_59_38 0x0fffffc000000000 | ||
3540 | #define BM_38_59 BM_59_38 | ||
3541 | #define BM_60_38 0x1fffffc000000000 | ||
3542 | #define BM_38_60 BM_60_38 | ||
3543 | #define BM_61_38 0x3fffffc000000000 | ||
3544 | #define BM_38_61 BM_61_38 | ||
3545 | #define BM_62_38 0x7fffffc000000000 | ||
3546 | #define BM_38_62 BM_62_38 | ||
3547 | #define BM_63_38 0xffffffc000000000 | ||
3548 | #define BM_38_63 BM_63_38 | ||
3549 | #define BM_39_39 0x0000008000000000 | ||
3550 | #define BM_40_39 0x0000018000000000 | ||
3551 | #define BM_39_40 BM_40_39 | ||
3552 | #define BM_41_39 0x0000038000000000 | ||
3553 | #define BM_39_41 BM_41_39 | ||
3554 | #define BM_42_39 0x0000078000000000 | ||
3555 | #define BM_39_42 BM_42_39 | ||
3556 | #define BM_43_39 0x00000f8000000000 | ||
3557 | #define BM_39_43 BM_43_39 | ||
3558 | #define BM_44_39 0x00001f8000000000 | ||
3559 | #define BM_39_44 BM_44_39 | ||
3560 | #define BM_45_39 0x00003f8000000000 | ||
3561 | #define BM_39_45 BM_45_39 | ||
3562 | #define BM_46_39 0x00007f8000000000 | ||
3563 | #define BM_39_46 BM_46_39 | ||
3564 | #define BM_47_39 0x0000ff8000000000 | ||
3565 | #define BM_39_47 BM_47_39 | ||
3566 | #define BM_48_39 0x0001ff8000000000 | ||
3567 | #define BM_39_48 BM_48_39 | ||
3568 | #define BM_49_39 0x0003ff8000000000 | ||
3569 | #define BM_39_49 BM_49_39 | ||
3570 | #define BM_50_39 0x0007ff8000000000 | ||
3571 | #define BM_39_50 BM_50_39 | ||
3572 | #define BM_51_39 0x000fff8000000000 | ||
3573 | #define BM_39_51 BM_51_39 | ||
3574 | #define BM_52_39 0x001fff8000000000 | ||
3575 | #define BM_39_52 BM_52_39 | ||
3576 | #define BM_53_39 0x003fff8000000000 | ||
3577 | #define BM_39_53 BM_53_39 | ||
3578 | #define BM_54_39 0x007fff8000000000 | ||
3579 | #define BM_39_54 BM_54_39 | ||
3580 | #define BM_55_39 0x00ffff8000000000 | ||
3581 | #define BM_39_55 BM_55_39 | ||
3582 | #define BM_56_39 0x01ffff8000000000 | ||
3583 | #define BM_39_56 BM_56_39 | ||
3584 | #define BM_57_39 0x03ffff8000000000 | ||
3585 | #define BM_39_57 BM_57_39 | ||
3586 | #define BM_58_39 0x07ffff8000000000 | ||
3587 | #define BM_39_58 BM_58_39 | ||
3588 | #define BM_59_39 0x0fffff8000000000 | ||
3589 | #define BM_39_59 BM_59_39 | ||
3590 | #define BM_60_39 0x1fffff8000000000 | ||
3591 | #define BM_39_60 BM_60_39 | ||
3592 | #define BM_61_39 0x3fffff8000000000 | ||
3593 | #define BM_39_61 BM_61_39 | ||
3594 | #define BM_62_39 0x7fffff8000000000 | ||
3595 | #define BM_39_62 BM_62_39 | ||
3596 | #define BM_63_39 0xffffff8000000000 | ||
3597 | #define BM_39_63 BM_63_39 | ||
3598 | #define BM_40_40 0x0000010000000000 | ||
3599 | #define BM_41_40 0x0000030000000000 | ||
3600 | #define BM_40_41 BM_41_40 | ||
3601 | #define BM_42_40 0x0000070000000000 | ||
3602 | #define BM_40_42 BM_42_40 | ||
3603 | #define BM_43_40 0x00000f0000000000 | ||
3604 | #define BM_40_43 BM_43_40 | ||
3605 | #define BM_44_40 0x00001f0000000000 | ||
3606 | #define BM_40_44 BM_44_40 | ||
3607 | #define BM_45_40 0x00003f0000000000 | ||
3608 | #define BM_40_45 BM_45_40 | ||
3609 | #define BM_46_40 0x00007f0000000000 | ||
3610 | #define BM_40_46 BM_46_40 | ||
3611 | #define BM_47_40 0x0000ff0000000000 | ||
3612 | #define BM_40_47 BM_47_40 | ||
3613 | #define BM_48_40 0x0001ff0000000000 | ||
3614 | #define BM_40_48 BM_48_40 | ||
3615 | #define BM_49_40 0x0003ff0000000000 | ||
3616 | #define BM_40_49 BM_49_40 | ||
3617 | #define BM_50_40 0x0007ff0000000000 | ||
3618 | #define BM_40_50 BM_50_40 | ||
3619 | #define BM_51_40 0x000fff0000000000 | ||
3620 | #define BM_40_51 BM_51_40 | ||
3621 | #define BM_52_40 0x001fff0000000000 | ||
3622 | #define BM_40_52 BM_52_40 | ||
3623 | #define BM_53_40 0x003fff0000000000 | ||
3624 | #define BM_40_53 BM_53_40 | ||
3625 | #define BM_54_40 0x007fff0000000000 | ||
3626 | #define BM_40_54 BM_54_40 | ||
3627 | #define BM_55_40 0x00ffff0000000000 | ||
3628 | #define BM_40_55 BM_55_40 | ||
3629 | #define BM_56_40 0x01ffff0000000000 | ||
3630 | #define BM_40_56 BM_56_40 | ||
3631 | #define BM_57_40 0x03ffff0000000000 | ||
3632 | #define BM_40_57 BM_57_40 | ||
3633 | #define BM_58_40 0x07ffff0000000000 | ||
3634 | #define BM_40_58 BM_58_40 | ||
3635 | #define BM_59_40 0x0fffff0000000000 | ||
3636 | #define BM_40_59 BM_59_40 | ||
3637 | #define BM_60_40 0x1fffff0000000000 | ||
3638 | #define BM_40_60 BM_60_40 | ||
3639 | #define BM_61_40 0x3fffff0000000000 | ||
3640 | #define BM_40_61 BM_61_40 | ||
3641 | #define BM_62_40 0x7fffff0000000000 | ||
3642 | #define BM_40_62 BM_62_40 | ||
3643 | #define BM_63_40 0xffffff0000000000 | ||
3644 | #define BM_40_63 BM_63_40 | ||
3645 | #define BM_41_41 0x0000020000000000 | ||
3646 | #define BM_42_41 0x0000060000000000 | ||
3647 | #define BM_41_42 BM_42_41 | ||
3648 | #define BM_43_41 0x00000e0000000000 | ||
3649 | #define BM_41_43 BM_43_41 | ||
3650 | #define BM_44_41 0x00001e0000000000 | ||
3651 | #define BM_41_44 BM_44_41 | ||
3652 | #define BM_45_41 0x00003e0000000000 | ||
3653 | #define BM_41_45 BM_45_41 | ||
3654 | #define BM_46_41 0x00007e0000000000 | ||
3655 | #define BM_41_46 BM_46_41 | ||
3656 | #define BM_47_41 0x0000fe0000000000 | ||
3657 | #define BM_41_47 BM_47_41 | ||
3658 | #define BM_48_41 0x0001fe0000000000 | ||
3659 | #define BM_41_48 BM_48_41 | ||
3660 | #define BM_49_41 0x0003fe0000000000 | ||
3661 | #define BM_41_49 BM_49_41 | ||
3662 | #define BM_50_41 0x0007fe0000000000 | ||
3663 | #define BM_41_50 BM_50_41 | ||
3664 | #define BM_51_41 0x000ffe0000000000 | ||
3665 | #define BM_41_51 BM_51_41 | ||
3666 | #define BM_52_41 0x001ffe0000000000 | ||
3667 | #define BM_41_52 BM_52_41 | ||
3668 | #define BM_53_41 0x003ffe0000000000 | ||
3669 | #define BM_41_53 BM_53_41 | ||
3670 | #define BM_54_41 0x007ffe0000000000 | ||
3671 | #define BM_41_54 BM_54_41 | ||
3672 | #define BM_55_41 0x00fffe0000000000 | ||
3673 | #define BM_41_55 BM_55_41 | ||
3674 | #define BM_56_41 0x01fffe0000000000 | ||
3675 | #define BM_41_56 BM_56_41 | ||
3676 | #define BM_57_41 0x03fffe0000000000 | ||
3677 | #define BM_41_57 BM_57_41 | ||
3678 | #define BM_58_41 0x07fffe0000000000 | ||
3679 | #define BM_41_58 BM_58_41 | ||
3680 | #define BM_59_41 0x0ffffe0000000000 | ||
3681 | #define BM_41_59 BM_59_41 | ||
3682 | #define BM_60_41 0x1ffffe0000000000 | ||
3683 | #define BM_41_60 BM_60_41 | ||
3684 | #define BM_61_41 0x3ffffe0000000000 | ||
3685 | #define BM_41_61 BM_61_41 | ||
3686 | #define BM_62_41 0x7ffffe0000000000 | ||
3687 | #define BM_41_62 BM_62_41 | ||
3688 | #define BM_63_41 0xfffffe0000000000 | ||
3689 | #define BM_41_63 BM_63_41 | ||
3690 | #define BM_42_42 0x0000040000000000 | ||
3691 | #define BM_43_42 0x00000c0000000000 | ||
3692 | #define BM_42_43 BM_43_42 | ||
3693 | #define BM_44_42 0x00001c0000000000 | ||
3694 | #define BM_42_44 BM_44_42 | ||
3695 | #define BM_45_42 0x00003c0000000000 | ||
3696 | #define BM_42_45 BM_45_42 | ||
3697 | #define BM_46_42 0x00007c0000000000 | ||
3698 | #define BM_42_46 BM_46_42 | ||
3699 | #define BM_47_42 0x0000fc0000000000 | ||
3700 | #define BM_42_47 BM_47_42 | ||
3701 | #define BM_48_42 0x0001fc0000000000 | ||
3702 | #define BM_42_48 BM_48_42 | ||
3703 | #define BM_49_42 0x0003fc0000000000 | ||
3704 | #define BM_42_49 BM_49_42 | ||
3705 | #define BM_50_42 0x0007fc0000000000 | ||
3706 | #define BM_42_50 BM_50_42 | ||
3707 | #define BM_51_42 0x000ffc0000000000 | ||
3708 | #define BM_42_51 BM_51_42 | ||
3709 | #define BM_52_42 0x001ffc0000000000 | ||
3710 | #define BM_42_52 BM_52_42 | ||
3711 | #define BM_53_42 0x003ffc0000000000 | ||
3712 | #define BM_42_53 BM_53_42 | ||
3713 | #define BM_54_42 0x007ffc0000000000 | ||
3714 | #define BM_42_54 BM_54_42 | ||
3715 | #define BM_55_42 0x00fffc0000000000 | ||
3716 | #define BM_42_55 BM_55_42 | ||
3717 | #define BM_56_42 0x01fffc0000000000 | ||
3718 | #define BM_42_56 BM_56_42 | ||
3719 | #define BM_57_42 0x03fffc0000000000 | ||
3720 | #define BM_42_57 BM_57_42 | ||
3721 | #define BM_58_42 0x07fffc0000000000 | ||
3722 | #define BM_42_58 BM_58_42 | ||
3723 | #define BM_59_42 0x0ffffc0000000000 | ||
3724 | #define BM_42_59 BM_59_42 | ||
3725 | #define BM_60_42 0x1ffffc0000000000 | ||
3726 | #define BM_42_60 BM_60_42 | ||
3727 | #define BM_61_42 0x3ffffc0000000000 | ||
3728 | #define BM_42_61 BM_61_42 | ||
3729 | #define BM_62_42 0x7ffffc0000000000 | ||
3730 | #define BM_42_62 BM_62_42 | ||
3731 | #define BM_63_42 0xfffffc0000000000 | ||
3732 | #define BM_42_63 BM_63_42 | ||
3733 | #define BM_43_43 0x0000080000000000 | ||
3734 | #define BM_44_43 0x0000180000000000 | ||
3735 | #define BM_43_44 BM_44_43 | ||
3736 | #define BM_45_43 0x0000380000000000 | ||
3737 | #define BM_43_45 BM_45_43 | ||
3738 | #define BM_46_43 0x0000780000000000 | ||
3739 | #define BM_43_46 BM_46_43 | ||
3740 | #define BM_47_43 0x0000f80000000000 | ||
3741 | #define BM_43_47 BM_47_43 | ||
3742 | #define BM_48_43 0x0001f80000000000 | ||
3743 | #define BM_43_48 BM_48_43 | ||
3744 | #define BM_49_43 0x0003f80000000000 | ||
3745 | #define BM_43_49 BM_49_43 | ||
3746 | #define BM_50_43 0x0007f80000000000 | ||
3747 | #define BM_43_50 BM_50_43 | ||
3748 | #define BM_51_43 0x000ff80000000000 | ||
3749 | #define BM_43_51 BM_51_43 | ||
3750 | #define BM_52_43 0x001ff80000000000 | ||
3751 | #define BM_43_52 BM_52_43 | ||
3752 | #define BM_53_43 0x003ff80000000000 | ||
3753 | #define BM_43_53 BM_53_43 | ||
3754 | #define BM_54_43 0x007ff80000000000 | ||
3755 | #define BM_43_54 BM_54_43 | ||
3756 | #define BM_55_43 0x00fff80000000000 | ||
3757 | #define BM_43_55 BM_55_43 | ||
3758 | #define BM_56_43 0x01fff80000000000 | ||
3759 | #define BM_43_56 BM_56_43 | ||
3760 | #define BM_57_43 0x03fff80000000000 | ||
3761 | #define BM_43_57 BM_57_43 | ||
3762 | #define BM_58_43 0x07fff80000000000 | ||
3763 | #define BM_43_58 BM_58_43 | ||
3764 | #define BM_59_43 0x0ffff80000000000 | ||
3765 | #define BM_43_59 BM_59_43 | ||
3766 | #define BM_60_43 0x1ffff80000000000 | ||
3767 | #define BM_43_60 BM_60_43 | ||
3768 | #define BM_61_43 0x3ffff80000000000 | ||
3769 | #define BM_43_61 BM_61_43 | ||
3770 | #define BM_62_43 0x7ffff80000000000 | ||
3771 | #define BM_43_62 BM_62_43 | ||
3772 | #define BM_63_43 0xfffff80000000000 | ||
3773 | #define BM_43_63 BM_63_43 | ||
3774 | #define BM_44_44 0x0000100000000000 | ||
3775 | #define BM_45_44 0x0000300000000000 | ||
3776 | #define BM_44_45 BM_45_44 | ||
3777 | #define BM_46_44 0x0000700000000000 | ||
3778 | #define BM_44_46 BM_46_44 | ||
3779 | #define BM_47_44 0x0000f00000000000 | ||
3780 | #define BM_44_47 BM_47_44 | ||
3781 | #define BM_48_44 0x0001f00000000000 | ||
3782 | #define BM_44_48 BM_48_44 | ||
3783 | #define BM_49_44 0x0003f00000000000 | ||
3784 | #define BM_44_49 BM_49_44 | ||
3785 | #define BM_50_44 0x0007f00000000000 | ||
3786 | #define BM_44_50 BM_50_44 | ||
3787 | #define BM_51_44 0x000ff00000000000 | ||
3788 | #define BM_44_51 BM_51_44 | ||
3789 | #define BM_52_44 0x001ff00000000000 | ||
3790 | #define BM_44_52 BM_52_44 | ||
3791 | #define BM_53_44 0x003ff00000000000 | ||
3792 | #define BM_44_53 BM_53_44 | ||
3793 | #define BM_54_44 0x007ff00000000000 | ||
3794 | #define BM_44_54 BM_54_44 | ||
3795 | #define BM_55_44 0x00fff00000000000 | ||
3796 | #define BM_44_55 BM_55_44 | ||
3797 | #define BM_56_44 0x01fff00000000000 | ||
3798 | #define BM_44_56 BM_56_44 | ||
3799 | #define BM_57_44 0x03fff00000000000 | ||
3800 | #define BM_44_57 BM_57_44 | ||
3801 | #define BM_58_44 0x07fff00000000000 | ||
3802 | #define BM_44_58 BM_58_44 | ||
3803 | #define BM_59_44 0x0ffff00000000000 | ||
3804 | #define BM_44_59 BM_59_44 | ||
3805 | #define BM_60_44 0x1ffff00000000000 | ||
3806 | #define BM_44_60 BM_60_44 | ||
3807 | #define BM_61_44 0x3ffff00000000000 | ||
3808 | #define BM_44_61 BM_61_44 | ||
3809 | #define BM_62_44 0x7ffff00000000000 | ||
3810 | #define BM_44_62 BM_62_44 | ||
3811 | #define BM_63_44 0xfffff00000000000 | ||
3812 | #define BM_44_63 BM_63_44 | ||
3813 | #define BM_45_45 0x0000200000000000 | ||
3814 | #define BM_46_45 0x0000600000000000 | ||
3815 | #define BM_45_46 BM_46_45 | ||
3816 | #define BM_47_45 0x0000e00000000000 | ||
3817 | #define BM_45_47 BM_47_45 | ||
3818 | #define BM_48_45 0x0001e00000000000 | ||
3819 | #define BM_45_48 BM_48_45 | ||
3820 | #define BM_49_45 0x0003e00000000000 | ||
3821 | #define BM_45_49 BM_49_45 | ||
3822 | #define BM_50_45 0x0007e00000000000 | ||
3823 | #define BM_45_50 BM_50_45 | ||
3824 | #define BM_51_45 0x000fe00000000000 | ||
3825 | #define BM_45_51 BM_51_45 | ||
3826 | #define BM_52_45 0x001fe00000000000 | ||
3827 | #define BM_45_52 BM_52_45 | ||
3828 | #define BM_53_45 0x003fe00000000000 | ||
3829 | #define BM_45_53 BM_53_45 | ||
3830 | #define BM_54_45 0x007fe00000000000 | ||
3831 | #define BM_45_54 BM_54_45 | ||
3832 | #define BM_55_45 0x00ffe00000000000 | ||
3833 | #define BM_45_55 BM_55_45 | ||
3834 | #define BM_56_45 0x01ffe00000000000 | ||
3835 | #define BM_45_56 BM_56_45 | ||
3836 | #define BM_57_45 0x03ffe00000000000 | ||
3837 | #define BM_45_57 BM_57_45 | ||
3838 | #define BM_58_45 0x07ffe00000000000 | ||
3839 | #define BM_45_58 BM_58_45 | ||
3840 | #define BM_59_45 0x0fffe00000000000 | ||
3841 | #define BM_45_59 BM_59_45 | ||
3842 | #define BM_60_45 0x1fffe00000000000 | ||
3843 | #define BM_45_60 BM_60_45 | ||
3844 | #define BM_61_45 0x3fffe00000000000 | ||
3845 | #define BM_45_61 BM_61_45 | ||
3846 | #define BM_62_45 0x7fffe00000000000 | ||
3847 | #define BM_45_62 BM_62_45 | ||
3848 | #define BM_63_45 0xffffe00000000000 | ||
3849 | #define BM_45_63 BM_63_45 | ||
3850 | #define BM_46_46 0x0000400000000000 | ||
3851 | #define BM_47_46 0x0000c00000000000 | ||
3852 | #define BM_46_47 BM_47_46 | ||
3853 | #define BM_48_46 0x0001c00000000000 | ||
3854 | #define BM_46_48 BM_48_46 | ||
3855 | #define BM_49_46 0x0003c00000000000 | ||
3856 | #define BM_46_49 BM_49_46 | ||
3857 | #define BM_50_46 0x0007c00000000000 | ||
3858 | #define BM_46_50 BM_50_46 | ||
3859 | #define BM_51_46 0x000fc00000000000 | ||
3860 | #define BM_46_51 BM_51_46 | ||
3861 | #define BM_52_46 0x001fc00000000000 | ||
3862 | #define BM_46_52 BM_52_46 | ||
3863 | #define BM_53_46 0x003fc00000000000 | ||
3864 | #define BM_46_53 BM_53_46 | ||
3865 | #define BM_54_46 0x007fc00000000000 | ||
3866 | #define BM_46_54 BM_54_46 | ||
3867 | #define BM_55_46 0x00ffc00000000000 | ||
3868 | #define BM_46_55 BM_55_46 | ||
3869 | #define BM_56_46 0x01ffc00000000000 | ||
3870 | #define BM_46_56 BM_56_46 | ||
3871 | #define BM_57_46 0x03ffc00000000000 | ||
3872 | #define BM_46_57 BM_57_46 | ||
3873 | #define BM_58_46 0x07ffc00000000000 | ||
3874 | #define BM_46_58 BM_58_46 | ||
3875 | #define BM_59_46 0x0fffc00000000000 | ||
3876 | #define BM_46_59 BM_59_46 | ||
3877 | #define BM_60_46 0x1fffc00000000000 | ||
3878 | #define BM_46_60 BM_60_46 | ||
3879 | #define BM_61_46 0x3fffc00000000000 | ||
3880 | #define BM_46_61 BM_61_46 | ||
3881 | #define BM_62_46 0x7fffc00000000000 | ||
3882 | #define BM_46_62 BM_62_46 | ||
3883 | #define BM_63_46 0xffffc00000000000 | ||
3884 | #define BM_46_63 BM_63_46 | ||
3885 | #define BM_47_47 0x0000800000000000 | ||
3886 | #define BM_48_47 0x0001800000000000 | ||
3887 | #define BM_47_48 BM_48_47 | ||
3888 | #define BM_49_47 0x0003800000000000 | ||
3889 | #define BM_47_49 BM_49_47 | ||
3890 | #define BM_50_47 0x0007800000000000 | ||
3891 | #define BM_47_50 BM_50_47 | ||
3892 | #define BM_51_47 0x000f800000000000 | ||
3893 | #define BM_47_51 BM_51_47 | ||
3894 | #define BM_52_47 0x001f800000000000 | ||
3895 | #define BM_47_52 BM_52_47 | ||
3896 | #define BM_53_47 0x003f800000000000 | ||
3897 | #define BM_47_53 BM_53_47 | ||
3898 | #define BM_54_47 0x007f800000000000 | ||
3899 | #define BM_47_54 BM_54_47 | ||
3900 | #define BM_55_47 0x00ff800000000000 | ||
3901 | #define BM_47_55 BM_55_47 | ||
3902 | #define BM_56_47 0x01ff800000000000 | ||
3903 | #define BM_47_56 BM_56_47 | ||
3904 | #define BM_57_47 0x03ff800000000000 | ||
3905 | #define BM_47_57 BM_57_47 | ||
3906 | #define BM_58_47 0x07ff800000000000 | ||
3907 | #define BM_47_58 BM_58_47 | ||
3908 | #define BM_59_47 0x0fff800000000000 | ||
3909 | #define BM_47_59 BM_59_47 | ||
3910 | #define BM_60_47 0x1fff800000000000 | ||
3911 | #define BM_47_60 BM_60_47 | ||
3912 | #define BM_61_47 0x3fff800000000000 | ||
3913 | #define BM_47_61 BM_61_47 | ||
3914 | #define BM_62_47 0x7fff800000000000 | ||
3915 | #define BM_47_62 BM_62_47 | ||
3916 | #define BM_63_47 0xffff800000000000 | ||
3917 | #define BM_47_63 BM_63_47 | ||
3918 | #define BM_48_48 0x0001000000000000 | ||
3919 | #define BM_49_48 0x0003000000000000 | ||
3920 | #define BM_48_49 BM_49_48 | ||
3921 | #define BM_50_48 0x0007000000000000 | ||
3922 | #define BM_48_50 BM_50_48 | ||
3923 | #define BM_51_48 0x000f000000000000 | ||
3924 | #define BM_48_51 BM_51_48 | ||
3925 | #define BM_52_48 0x001f000000000000 | ||
3926 | #define BM_48_52 BM_52_48 | ||
3927 | #define BM_53_48 0x003f000000000000 | ||
3928 | #define BM_48_53 BM_53_48 | ||
3929 | #define BM_54_48 0x007f000000000000 | ||
3930 | #define BM_48_54 BM_54_48 | ||
3931 | #define BM_55_48 0x00ff000000000000 | ||
3932 | #define BM_48_55 BM_55_48 | ||
3933 | #define BM_56_48 0x01ff000000000000 | ||
3934 | #define BM_48_56 BM_56_48 | ||
3935 | #define BM_57_48 0x03ff000000000000 | ||
3936 | #define BM_48_57 BM_57_48 | ||
3937 | #define BM_58_48 0x07ff000000000000 | ||
3938 | #define BM_48_58 BM_58_48 | ||
3939 | #define BM_59_48 0x0fff000000000000 | ||
3940 | #define BM_48_59 BM_59_48 | ||
3941 | #define BM_60_48 0x1fff000000000000 | ||
3942 | #define BM_48_60 BM_60_48 | ||
3943 | #define BM_61_48 0x3fff000000000000 | ||
3944 | #define BM_48_61 BM_61_48 | ||
3945 | #define BM_62_48 0x7fff000000000000 | ||
3946 | #define BM_48_62 BM_62_48 | ||
3947 | #define BM_63_48 0xffff000000000000 | ||
3948 | #define BM_48_63 BM_63_48 | ||
3949 | #define BM_49_49 0x0002000000000000 | ||
3950 | #define BM_50_49 0x0006000000000000 | ||
3951 | #define BM_49_50 BM_50_49 | ||
3952 | #define BM_51_49 0x000e000000000000 | ||
3953 | #define BM_49_51 BM_51_49 | ||
3954 | #define BM_52_49 0x001e000000000000 | ||
3955 | #define BM_49_52 BM_52_49 | ||
3956 | #define BM_53_49 0x003e000000000000 | ||
3957 | #define BM_49_53 BM_53_49 | ||
3958 | #define BM_54_49 0x007e000000000000 | ||
3959 | #define BM_49_54 BM_54_49 | ||
3960 | #define BM_55_49 0x00fe000000000000 | ||
3961 | #define BM_49_55 BM_55_49 | ||
3962 | #define BM_56_49 0x01fe000000000000 | ||
3963 | #define BM_49_56 BM_56_49 | ||
3964 | #define BM_57_49 0x03fe000000000000 | ||
3965 | #define BM_49_57 BM_57_49 | ||
3966 | #define BM_58_49 0x07fe000000000000 | ||
3967 | #define BM_49_58 BM_58_49 | ||
3968 | #define BM_59_49 0x0ffe000000000000 | ||
3969 | #define BM_49_59 BM_59_49 | ||
3970 | #define BM_60_49 0x1ffe000000000000 | ||
3971 | #define BM_49_60 BM_60_49 | ||
3972 | #define BM_61_49 0x3ffe000000000000 | ||
3973 | #define BM_49_61 BM_61_49 | ||
3974 | #define BM_62_49 0x7ffe000000000000 | ||
3975 | #define BM_49_62 BM_62_49 | ||
3976 | #define BM_63_49 0xfffe000000000000 | ||
3977 | #define BM_49_63 BM_63_49 | ||
3978 | #define BM_50_50 0x0004000000000000 | ||
3979 | #define BM_51_50 0x000c000000000000 | ||
3980 | #define BM_50_51 BM_51_50 | ||
3981 | #define BM_52_50 0x001c000000000000 | ||
3982 | #define BM_50_52 BM_52_50 | ||
3983 | #define BM_53_50 0x003c000000000000 | ||
3984 | #define BM_50_53 BM_53_50 | ||
3985 | #define BM_54_50 0x007c000000000000 | ||
3986 | #define BM_50_54 BM_54_50 | ||
3987 | #define BM_55_50 0x00fc000000000000 | ||
3988 | #define BM_50_55 BM_55_50 | ||
3989 | #define BM_56_50 0x01fc000000000000 | ||
3990 | #define BM_50_56 BM_56_50 | ||
3991 | #define BM_57_50 0x03fc000000000000 | ||
3992 | #define BM_50_57 BM_57_50 | ||
3993 | #define BM_58_50 0x07fc000000000000 | ||
3994 | #define BM_50_58 BM_58_50 | ||
3995 | #define BM_59_50 0x0ffc000000000000 | ||
3996 | #define BM_50_59 BM_59_50 | ||
3997 | #define BM_60_50 0x1ffc000000000000 | ||
3998 | #define BM_50_60 BM_60_50 | ||
3999 | #define BM_61_50 0x3ffc000000000000 | ||
4000 | #define BM_50_61 BM_61_50 | ||
4001 | #define BM_62_50 0x7ffc000000000000 | ||
4002 | #define BM_50_62 BM_62_50 | ||
4003 | #define BM_63_50 0xfffc000000000000 | ||
4004 | #define BM_50_63 BM_63_50 | ||
4005 | #define BM_51_51 0x0008000000000000 | ||
4006 | #define BM_52_51 0x0018000000000000 | ||
4007 | #define BM_51_52 BM_52_51 | ||
4008 | #define BM_53_51 0x0038000000000000 | ||
4009 | #define BM_51_53 BM_53_51 | ||
4010 | #define BM_54_51 0x0078000000000000 | ||
4011 | #define BM_51_54 BM_54_51 | ||
4012 | #define BM_55_51 0x00f8000000000000 | ||
4013 | #define BM_51_55 BM_55_51 | ||
4014 | #define BM_56_51 0x01f8000000000000 | ||
4015 | #define BM_51_56 BM_56_51 | ||
4016 | #define BM_57_51 0x03f8000000000000 | ||
4017 | #define BM_51_57 BM_57_51 | ||
4018 | #define BM_58_51 0x07f8000000000000 | ||
4019 | #define BM_51_58 BM_58_51 | ||
4020 | #define BM_59_51 0x0ff8000000000000 | ||
4021 | #define BM_51_59 BM_59_51 | ||
4022 | #define BM_60_51 0x1ff8000000000000 | ||
4023 | #define BM_51_60 BM_60_51 | ||
4024 | #define BM_61_51 0x3ff8000000000000 | ||
4025 | #define BM_51_61 BM_61_51 | ||
4026 | #define BM_62_51 0x7ff8000000000000 | ||
4027 | #define BM_51_62 BM_62_51 | ||
4028 | #define BM_63_51 0xfff8000000000000 | ||
4029 | #define BM_51_63 BM_63_51 | ||
4030 | #define BM_52_52 0x0010000000000000 | ||
4031 | #define BM_53_52 0x0030000000000000 | ||
4032 | #define BM_52_53 BM_53_52 | ||
4033 | #define BM_54_52 0x0070000000000000 | ||
4034 | #define BM_52_54 BM_54_52 | ||
4035 | #define BM_55_52 0x00f0000000000000 | ||
4036 | #define BM_52_55 BM_55_52 | ||
4037 | #define BM_56_52 0x01f0000000000000 | ||
4038 | #define BM_52_56 BM_56_52 | ||
4039 | #define BM_57_52 0x03f0000000000000 | ||
4040 | #define BM_52_57 BM_57_52 | ||
4041 | #define BM_58_52 0x07f0000000000000 | ||
4042 | #define BM_52_58 BM_58_52 | ||
4043 | #define BM_59_52 0x0ff0000000000000 | ||
4044 | #define BM_52_59 BM_59_52 | ||
4045 | #define BM_60_52 0x1ff0000000000000 | ||
4046 | #define BM_52_60 BM_60_52 | ||
4047 | #define BM_61_52 0x3ff0000000000000 | ||
4048 | #define BM_52_61 BM_61_52 | ||
4049 | #define BM_62_52 0x7ff0000000000000 | ||
4050 | #define BM_52_62 BM_62_52 | ||
4051 | #define BM_63_52 0xfff0000000000000 | ||
4052 | #define BM_52_63 BM_63_52 | ||
4053 | #define BM_53_53 0x0020000000000000 | ||
4054 | #define BM_54_53 0x0060000000000000 | ||
4055 | #define BM_53_54 BM_54_53 | ||
4056 | #define BM_55_53 0x00e0000000000000 | ||
4057 | #define BM_53_55 BM_55_53 | ||
4058 | #define BM_56_53 0x01e0000000000000 | ||
4059 | #define BM_53_56 BM_56_53 | ||
4060 | #define BM_57_53 0x03e0000000000000 | ||
4061 | #define BM_53_57 BM_57_53 | ||
4062 | #define BM_58_53 0x07e0000000000000 | ||
4063 | #define BM_53_58 BM_58_53 | ||
4064 | #define BM_59_53 0x0fe0000000000000 | ||
4065 | #define BM_53_59 BM_59_53 | ||
4066 | #define BM_60_53 0x1fe0000000000000 | ||
4067 | #define BM_53_60 BM_60_53 | ||
4068 | #define BM_61_53 0x3fe0000000000000 | ||
4069 | #define BM_53_61 BM_61_53 | ||
4070 | #define BM_62_53 0x7fe0000000000000 | ||
4071 | #define BM_53_62 BM_62_53 | ||
4072 | #define BM_63_53 0xffe0000000000000 | ||
4073 | #define BM_53_63 BM_63_53 | ||
4074 | #define BM_54_54 0x0040000000000000 | ||
4075 | #define BM_55_54 0x00c0000000000000 | ||
4076 | #define BM_54_55 BM_55_54 | ||
4077 | #define BM_56_54 0x01c0000000000000 | ||
4078 | #define BM_54_56 BM_56_54 | ||
4079 | #define BM_57_54 0x03c0000000000000 | ||
4080 | #define BM_54_57 BM_57_54 | ||
4081 | #define BM_58_54 0x07c0000000000000 | ||
4082 | #define BM_54_58 BM_58_54 | ||
4083 | #define BM_59_54 0x0fc0000000000000 | ||
4084 | #define BM_54_59 BM_59_54 | ||
4085 | #define BM_60_54 0x1fc0000000000000 | ||
4086 | #define BM_54_60 BM_60_54 | ||
4087 | #define BM_61_54 0x3fc0000000000000 | ||
4088 | #define BM_54_61 BM_61_54 | ||
4089 | #define BM_62_54 0x7fc0000000000000 | ||
4090 | #define BM_54_62 BM_62_54 | ||
4091 | #define BM_63_54 0xffc0000000000000 | ||
4092 | #define BM_54_63 BM_63_54 | ||
4093 | #define BM_55_55 0x0080000000000000 | ||
4094 | #define BM_56_55 0x0180000000000000 | ||
4095 | #define BM_55_56 BM_56_55 | ||
4096 | #define BM_57_55 0x0380000000000000 | ||
4097 | #define BM_55_57 BM_57_55 | ||
4098 | #define BM_58_55 0x0780000000000000 | ||
4099 | #define BM_55_58 BM_58_55 | ||
4100 | #define BM_59_55 0x0f80000000000000 | ||
4101 | #define BM_55_59 BM_59_55 | ||
4102 | #define BM_60_55 0x1f80000000000000 | ||
4103 | #define BM_55_60 BM_60_55 | ||
4104 | #define BM_61_55 0x3f80000000000000 | ||
4105 | #define BM_55_61 BM_61_55 | ||
4106 | #define BM_62_55 0x7f80000000000000 | ||
4107 | #define BM_55_62 BM_62_55 | ||
4108 | #define BM_63_55 0xff80000000000000 | ||
4109 | #define BM_55_63 BM_63_55 | ||
4110 | #define BM_56_56 0x0100000000000000 | ||
4111 | #define BM_57_56 0x0300000000000000 | ||
4112 | #define BM_56_57 BM_57_56 | ||
4113 | #define BM_58_56 0x0700000000000000 | ||
4114 | #define BM_56_58 BM_58_56 | ||
4115 | #define BM_59_56 0x0f00000000000000 | ||
4116 | #define BM_56_59 BM_59_56 | ||
4117 | #define BM_60_56 0x1f00000000000000 | ||
4118 | #define BM_56_60 BM_60_56 | ||
4119 | #define BM_61_56 0x3f00000000000000 | ||
4120 | #define BM_56_61 BM_61_56 | ||
4121 | #define BM_62_56 0x7f00000000000000 | ||
4122 | #define BM_56_62 BM_62_56 | ||
4123 | #define BM_63_56 0xff00000000000000 | ||
4124 | #define BM_56_63 BM_63_56 | ||
4125 | #define BM_57_57 0x0200000000000000 | ||
4126 | #define BM_58_57 0x0600000000000000 | ||
4127 | #define BM_57_58 BM_58_57 | ||
4128 | #define BM_59_57 0x0e00000000000000 | ||
4129 | #define BM_57_59 BM_59_57 | ||
4130 | #define BM_60_57 0x1e00000000000000 | ||
4131 | #define BM_57_60 BM_60_57 | ||
4132 | #define BM_61_57 0x3e00000000000000 | ||
4133 | #define BM_57_61 BM_61_57 | ||
4134 | #define BM_62_57 0x7e00000000000000 | ||
4135 | #define BM_57_62 BM_62_57 | ||
4136 | #define BM_63_57 0xfe00000000000000 | ||
4137 | #define BM_57_63 BM_63_57 | ||
4138 | #define BM_58_58 0x0400000000000000 | ||
4139 | #define BM_59_58 0x0c00000000000000 | ||
4140 | #define BM_58_59 BM_59_58 | ||
4141 | #define BM_60_58 0x1c00000000000000 | ||
4142 | #define BM_58_60 BM_60_58 | ||
4143 | #define BM_61_58 0x3c00000000000000 | ||
4144 | #define BM_58_61 BM_61_58 | ||
4145 | #define BM_62_58 0x7c00000000000000 | ||
4146 | #define BM_58_62 BM_62_58 | ||
4147 | #define BM_63_58 0xfc00000000000000 | ||
4148 | #define BM_58_63 BM_63_58 | ||
4149 | #define BM_59_59 0x0800000000000000 | ||
4150 | #define BM_60_59 0x1800000000000000 | ||
4151 | #define BM_59_60 BM_60_59 | ||
4152 | #define BM_61_59 0x3800000000000000 | ||
4153 | #define BM_59_61 BM_61_59 | ||
4154 | #define BM_62_59 0x7800000000000000 | ||
4155 | #define BM_59_62 BM_62_59 | ||
4156 | #define BM_63_59 0xf800000000000000 | ||
4157 | #define BM_59_63 BM_63_59 | ||
4158 | #define BM_60_60 0x1000000000000000 | ||
4159 | #define BM_61_60 0x3000000000000000 | ||
4160 | #define BM_60_61 BM_61_60 | ||
4161 | #define BM_62_60 0x7000000000000000 | ||
4162 | #define BM_60_62 BM_62_60 | ||
4163 | #define BM_63_60 0xf000000000000000 | ||
4164 | #define BM_60_63 BM_63_60 | ||
4165 | #define BM_61_61 0x2000000000000000 | ||
4166 | #define BM_62_61 0x6000000000000000 | ||
4167 | #define BM_61_62 BM_62_61 | ||
4168 | #define BM_63_61 0xe000000000000000 | ||
4169 | #define BM_61_63 BM_63_61 | ||
4170 | #define BM_62_62 0x4000000000000000 | ||
4171 | #define BM_63_62 0xc000000000000000 | ||
4172 | #define BM_62_63 BM_63_62 | ||
4173 | #define BM_63_63 0x8000000000000000 | ||
4174 | |||
4175 | #endif | ||
4176 | |||
4177 | #endif /* __ASM_TX4927_TX4927_MIPS_H */ | ||
diff --git a/include/asm-mips/tx4938/rbtx4938.h b/include/asm-mips/tx4938/rbtx4938.h index b14acb575be2..b180488dcdc4 100644 --- a/include/asm-mips/tx4938/rbtx4938.h +++ b/include/asm-mips/tx4938/rbtx4938.h | |||
@@ -153,7 +153,7 @@ | |||
153 | #define RBTX4938_IRQ_IRC_WTOERR (RBTX4938_IRQ_IRC + TX4938_IR_WTOERR) | 153 | #define RBTX4938_IRQ_IRC_WTOERR (RBTX4938_IRQ_IRC + TX4938_IR_WTOERR) |
154 | #define RBTX4938_IRQ_IRC_INT(n) (RBTX4938_IRQ_IRC + TX4938_IR_INT(n)) | 154 | #define RBTX4938_IRQ_IRC_INT(n) (RBTX4938_IRQ_IRC + TX4938_IR_INT(n)) |
155 | #define RBTX4938_IRQ_IRC_SIO(n) (RBTX4938_IRQ_IRC + TX4938_IR_SIO(n)) | 155 | #define RBTX4938_IRQ_IRC_SIO(n) (RBTX4938_IRQ_IRC + TX4938_IR_SIO(n)) |
156 | #define RBTX4938_IRQ_IRC_DMA(ch,n) (RBTX4938_IRQ_IRC + TX4938_IR_DMA(ch,n)) | 156 | #define RBTX4938_IRQ_IRC_DMA(ch, n) (RBTX4938_IRQ_IRC + TX4938_IR_DMA(ch, n)) |
157 | #define RBTX4938_IRQ_IRC_PIO (RBTX4938_IRQ_IRC + TX4938_IR_PIO) | 157 | #define RBTX4938_IRQ_IRC_PIO (RBTX4938_IRQ_IRC + TX4938_IR_PIO) |
158 | #define RBTX4938_IRQ_IRC_PDMAC (RBTX4938_IRQ_IRC + TX4938_IR_PDMAC) | 158 | #define RBTX4938_IRQ_IRC_PDMAC (RBTX4938_IRQ_IRC + TX4938_IR_PDMAC) |
159 | #define RBTX4938_IRQ_IRC_PCIC (RBTX4938_IRQ_IRC + TX4938_IR_PCIC) | 159 | #define RBTX4938_IRQ_IRC_PCIC (RBTX4938_IRQ_IRC + TX4938_IR_PCIC) |
diff --git a/include/asm-mips/tx4938/tx4938.h b/include/asm-mips/tx4938/tx4938.h index afdb19813ca1..650b010761f9 100644 --- a/include/asm-mips/tx4938/tx4938.h +++ b/include/asm-mips/tx4938/tx4938.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <asm/tx4938/tx4938_mips.h> | 16 | #include <asm/tx4938/tx4938_mips.h> |
17 | 17 | ||
18 | #define tx4938_read_nfmc(addr) (*(volatile unsigned int *)(addr)) | 18 | #define tx4938_read_nfmc(addr) (*(volatile unsigned int *)(addr)) |
19 | #define tx4938_write_nfmc(b,addr) (*(volatile unsigned int *)(addr)) = (b) | 19 | #define tx4938_write_nfmc(b, addr) (*(volatile unsigned int *)(addr)) = (b) |
20 | 20 | ||
21 | #define TX4938_NR_IRQ_LOCAL TX4938_IRQ_PIC_BEG | 21 | #define TX4938_NR_IRQ_LOCAL TX4938_IRQ_PIC_BEG |
22 | 22 | ||
@@ -84,27 +84,27 @@ | |||
84 | #include <asm/byteorder.h> | 84 | #include <asm/byteorder.h> |
85 | 85 | ||
86 | #ifdef __BIG_ENDIAN | 86 | #ifdef __BIG_ENDIAN |
87 | #define endian_def_l2(e1,e2) \ | 87 | #define endian_def_l2(e1, e2) \ |
88 | volatile unsigned long e1,e2 | 88 | volatile unsigned long e1, e2 |
89 | #define endian_def_s2(e1,e2) \ | 89 | #define endian_def_s2(e1, e2) \ |
90 | volatile unsigned short e1,e2 | 90 | volatile unsigned short e1, e2 |
91 | #define endian_def_sb2(e1,e2,e3) \ | 91 | #define endian_def_sb2(e1, e2, e3) \ |
92 | volatile unsigned short e1;volatile unsigned char e2,e3 | 92 | volatile unsigned short e1;volatile unsigned char e2, e3 |
93 | #define endian_def_b2s(e1,e2,e3) \ | 93 | #define endian_def_b2s(e1, e2, e3) \ |
94 | volatile unsigned char e1,e2;volatile unsigned short e3 | 94 | volatile unsigned char e1, e2;volatile unsigned short e3 |
95 | #define endian_def_b4(e1,e2,e3,e4) \ | 95 | #define endian_def_b4(e1, e2, e3, e4) \ |
96 | volatile unsigned char e1,e2,e3,e4 | 96 | volatile unsigned char e1, e2, e3, e4 |
97 | #else | 97 | #else |
98 | #define endian_def_l2(e1,e2) \ | 98 | #define endian_def_l2(e1, e2) \ |
99 | volatile unsigned long e2,e1 | 99 | volatile unsigned long e2, e1 |
100 | #define endian_def_s2(e1,e2) \ | 100 | #define endian_def_s2(e1, e2) \ |
101 | volatile unsigned short e2,e1 | 101 | volatile unsigned short e2, e1 |
102 | #define endian_def_sb2(e1,e2,e3) \ | 102 | #define endian_def_sb2(e1, e2, e3) \ |
103 | volatile unsigned char e3,e2;volatile unsigned short e1 | 103 | volatile unsigned char e3, e2;volatile unsigned short e1 |
104 | #define endian_def_b2s(e1,e2,e3) \ | 104 | #define endian_def_b2s(e1, e2, e3) \ |
105 | volatile unsigned short e3;volatile unsigned char e2,e1 | 105 | volatile unsigned short e3;volatile unsigned char e2, e1 |
106 | #define endian_def_b4(e1,e2,e3,e4) \ | 106 | #define endian_def_b4(e1, e2, e3, e4) \ |
107 | volatile unsigned char e4,e3,e2,e1 | 107 | volatile unsigned char e4, e3, e2, e1 |
108 | #endif | 108 | #endif |
109 | 109 | ||
110 | 110 | ||
@@ -354,7 +354,7 @@ struct tx4938_ccfg_reg { | |||
354 | #define TX4938_NUM_IR_SIO 2 | 354 | #define TX4938_NUM_IR_SIO 2 |
355 | #define TX4938_IR_SIO(n) (8 + (n)) | 355 | #define TX4938_IR_SIO(n) (8 + (n)) |
356 | #define TX4938_NUM_IR_DMA 4 | 356 | #define TX4938_NUM_IR_DMA 4 |
357 | #define TX4938_IR_DMA(ch,n) ((ch ? 27 : 10) + (n)) /* 10-13,27-30 */ | 357 | #define TX4938_IR_DMA(ch, n) ((ch ? 27 : 10) + (n)) /* 10-13, 27-30 */ |
358 | #define TX4938_IR_PIO 14 | 358 | #define TX4938_IR_PIO 14 |
359 | #define TX4938_IR_PDMAC 15 | 359 | #define TX4938_IR_PDMAC 15 |
360 | #define TX4938_IR_PCIC 16 | 360 | #define TX4938_IR_PCIC 16 |
diff --git a/include/asm-mips/tx4938/tx4938_mips.h b/include/asm-mips/tx4938/tx4938_mips.h index 5f8498fef005..f346ff58b947 100644 --- a/include/asm-mips/tx4938/tx4938_mips.h +++ b/include/asm-mips/tx4938/tx4938_mips.h | |||
@@ -19,10 +19,10 @@ | |||
19 | #define reg_rd32(r) ((u32)(*((vu32*)(r)))) | 19 | #define reg_rd32(r) ((u32)(*((vu32*)(r)))) |
20 | #define reg_rd64(r) ((u64)(*((vu64*)(r)))) | 20 | #define reg_rd64(r) ((u64)(*((vu64*)(r)))) |
21 | 21 | ||
22 | #define reg_wr08(r,v) ((*((vu8 *)(r)))=((u8 )(v))) | 22 | #define reg_wr08(r, v) ((*((vu8 *)(r)))=((u8 )(v))) |
23 | #define reg_wr16(r,v) ((*((vu16*)(r)))=((u16)(v))) | 23 | #define reg_wr16(r, v) ((*((vu16*)(r)))=((u16)(v))) |
24 | #define reg_wr32(r,v) ((*((vu32*)(r)))=((u32)(v))) | 24 | #define reg_wr32(r, v) ((*((vu32*)(r)))=((u32)(v))) |
25 | #define reg_wr64(r,v) ((*((vu64*)(r)))=((u64)(v))) | 25 | #define reg_wr64(r, v) ((*((vu64*)(r)))=((u64)(v))) |
26 | 26 | ||
27 | typedef volatile __signed char vs8; | 27 | typedef volatile __signed char vs8; |
28 | typedef volatile unsigned char vu8; | 28 | typedef volatile unsigned char vu8; |
diff --git a/include/asm-mips/uaccess.h b/include/asm-mips/uaccess.h index b25511787ee0..c30c718994c9 100644 --- a/include/asm-mips/uaccess.h +++ b/include/asm-mips/uaccess.h | |||
@@ -63,7 +63,7 @@ | |||
63 | #define get_fs() (current_thread_info()->addr_limit) | 63 | #define get_fs() (current_thread_info()->addr_limit) |
64 | #define set_fs(x) (current_thread_info()->addr_limit = (x)) | 64 | #define set_fs(x) (current_thread_info()->addr_limit = (x)) |
65 | 65 | ||
66 | #define segment_eq(a,b) ((a).seg == (b).seg) | 66 | #define segment_eq(a, b) ((a).seg == (b).seg) |
67 | 67 | ||
68 | 68 | ||
69 | /* | 69 | /* |
@@ -108,7 +108,7 @@ | |||
108 | (((signed long)((mask) & ((addr) | ((addr) + (size)) | __ua_size(size)))) == 0) | 108 | (((signed long)((mask) & ((addr) | ((addr) + (size)) | __ua_size(size)))) == 0) |
109 | 109 | ||
110 | #define access_ok(type, addr, size) \ | 110 | #define access_ok(type, addr, size) \ |
111 | likely(__access_ok((unsigned long)(addr), (size),__access_mask)) | 111 | likely(__access_ok((unsigned long)(addr), (size), __access_mask)) |
112 | 112 | ||
113 | /* | 113 | /* |
114 | * put_user: - Write a simple value into user space. | 114 | * put_user: - Write a simple value into user space. |
@@ -127,7 +127,7 @@ | |||
127 | * Returns zero on success, or -EFAULT on error. | 127 | * Returns zero on success, or -EFAULT on error. |
128 | */ | 128 | */ |
129 | #define put_user(x,ptr) \ | 129 | #define put_user(x,ptr) \ |
130 | __put_user_check((x),(ptr),sizeof(*(ptr))) | 130 | __put_user_check((x), (ptr), sizeof(*(ptr))) |
131 | 131 | ||
132 | /* | 132 | /* |
133 | * get_user: - Get a simple variable from user space. | 133 | * get_user: - Get a simple variable from user space. |
@@ -147,7 +147,7 @@ | |||
147 | * On error, the variable @x is set to zero. | 147 | * On error, the variable @x is set to zero. |
148 | */ | 148 | */ |
149 | #define get_user(x,ptr) \ | 149 | #define get_user(x,ptr) \ |
150 | __get_user_check((x),(ptr),sizeof(*(ptr))) | 150 | __get_user_check((x), (ptr), sizeof(*(ptr))) |
151 | 151 | ||
152 | /* | 152 | /* |
153 | * __put_user: - Write a simple value into user space, with less checking. | 153 | * __put_user: - Write a simple value into user space, with less checking. |
@@ -169,7 +169,7 @@ | |||
169 | * Returns zero on success, or -EFAULT on error. | 169 | * Returns zero on success, or -EFAULT on error. |
170 | */ | 170 | */ |
171 | #define __put_user(x,ptr) \ | 171 | #define __put_user(x,ptr) \ |
172 | __put_user_nocheck((x),(ptr),sizeof(*(ptr))) | 172 | __put_user_nocheck((x), (ptr), sizeof(*(ptr))) |
173 | 173 | ||
174 | /* | 174 | /* |
175 | * __get_user: - Get a simple variable from user space, with less checking. | 175 | * __get_user: - Get a simple variable from user space, with less checking. |
@@ -192,7 +192,7 @@ | |||
192 | * On error, the variable @x is set to zero. | 192 | * On error, the variable @x is set to zero. |
193 | */ | 193 | */ |
194 | #define __get_user(x,ptr) \ | 194 | #define __get_user(x,ptr) \ |
195 | __get_user_nocheck((x),(ptr),sizeof(*(ptr))) | 195 | __get_user_nocheck((x), (ptr), sizeof(*(ptr))) |
196 | 196 | ||
197 | struct __large_struct { unsigned long buf[100]; }; | 197 | struct __large_struct { unsigned long buf[100]; }; |
198 | #define __m(x) (*(struct __large_struct __user *)(x)) | 198 | #define __m(x) (*(struct __large_struct __user *)(x)) |
@@ -221,7 +221,7 @@ do { \ | |||
221 | } \ | 221 | } \ |
222 | } while (0) | 222 | } while (0) |
223 | 223 | ||
224 | #define __get_user_nocheck(x,ptr,size) \ | 224 | #define __get_user_nocheck(x, ptr, size) \ |
225 | ({ \ | 225 | ({ \ |
226 | long __gu_err; \ | 226 | long __gu_err; \ |
227 | \ | 227 | \ |
@@ -229,7 +229,7 @@ do { \ | |||
229 | __gu_err; \ | 229 | __gu_err; \ |
230 | }) | 230 | }) |
231 | 231 | ||
232 | #define __get_user_check(x,ptr,size) \ | 232 | #define __get_user_check(x, ptr, size) \ |
233 | ({ \ | 233 | ({ \ |
234 | long __gu_err = -EFAULT; \ | 234 | long __gu_err = -EFAULT; \ |
235 | const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ | 235 | const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \ |
@@ -300,7 +300,7 @@ do { \ | |||
300 | #define __PUT_USER_DW(ptr) __put_user_asm("sd", ptr) | 300 | #define __PUT_USER_DW(ptr) __put_user_asm("sd", ptr) |
301 | #endif | 301 | #endif |
302 | 302 | ||
303 | #define __put_user_nocheck(x,ptr,size) \ | 303 | #define __put_user_nocheck(x, ptr, size) \ |
304 | ({ \ | 304 | ({ \ |
305 | __typeof__(*(ptr)) __pu_val; \ | 305 | __typeof__(*(ptr)) __pu_val; \ |
306 | long __pu_err = 0; \ | 306 | long __pu_err = 0; \ |
@@ -316,7 +316,7 @@ do { \ | |||
316 | __pu_err; \ | 316 | __pu_err; \ |
317 | }) | 317 | }) |
318 | 318 | ||
319 | #define __put_user_check(x,ptr,size) \ | 319 | #define __put_user_check(x, ptr, size) \ |
320 | ({ \ | 320 | ({ \ |
321 | __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ | 321 | __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ |
322 | __typeof__(*(ptr)) __pu_val = (x); \ | 322 | __typeof__(*(ptr)) __pu_val = (x); \ |
@@ -389,11 +389,11 @@ extern void __put_user_unknown(void); | |||
389 | 389 | ||
390 | extern size_t __copy_user(void *__to, const void *__from, size_t __n); | 390 | extern size_t __copy_user(void *__to, const void *__from, size_t __n); |
391 | 391 | ||
392 | #define __invoke_copy_to_user(to,from,n) \ | 392 | #define __invoke_copy_to_user(to, from, n) \ |
393 | ({ \ | 393 | ({ \ |
394 | register void __user *__cu_to_r __asm__ ("$4"); \ | 394 | register void __user *__cu_to_r __asm__("$4"); \ |
395 | register const void *__cu_from_r __asm__ ("$5"); \ | 395 | register const void *__cu_from_r __asm__("$5"); \ |
396 | register long __cu_len_r __asm__ ("$6"); \ | 396 | register long __cu_len_r __asm__("$6"); \ |
397 | \ | 397 | \ |
398 | __cu_to_r = (to); \ | 398 | __cu_to_r = (to); \ |
399 | __cu_from_r = (from); \ | 399 | __cu_from_r = (from); \ |
@@ -421,7 +421,7 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n); | |||
421 | * Returns number of bytes that could not be copied. | 421 | * Returns number of bytes that could not be copied. |
422 | * On success, this will be zero. | 422 | * On success, this will be zero. |
423 | */ | 423 | */ |
424 | #define __copy_to_user(to,from,n) \ | 424 | #define __copy_to_user(to, from, n) \ |
425 | ({ \ | 425 | ({ \ |
426 | void __user *__cu_to; \ | 426 | void __user *__cu_to; \ |
427 | const void *__cu_from; \ | 427 | const void *__cu_from; \ |
@@ -437,7 +437,7 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n); | |||
437 | 437 | ||
438 | extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | 438 | extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); |
439 | 439 | ||
440 | #define __copy_to_user_inatomic(to,from,n) \ | 440 | #define __copy_to_user_inatomic(to, from, n) \ |
441 | ({ \ | 441 | ({ \ |
442 | void __user *__cu_to; \ | 442 | void __user *__cu_to; \ |
443 | const void *__cu_from; \ | 443 | const void *__cu_from; \ |
@@ -450,7 +450,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
450 | __cu_len; \ | 450 | __cu_len; \ |
451 | }) | 451 | }) |
452 | 452 | ||
453 | #define __copy_from_user_inatomic(to,from,n) \ | 453 | #define __copy_from_user_inatomic(to, from, n) \ |
454 | ({ \ | 454 | ({ \ |
455 | void *__cu_to; \ | 455 | void *__cu_to; \ |
456 | const void __user *__cu_from; \ | 456 | const void __user *__cu_from; \ |
@@ -477,7 +477,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
477 | * Returns number of bytes that could not be copied. | 477 | * Returns number of bytes that could not be copied. |
478 | * On success, this will be zero. | 478 | * On success, this will be zero. |
479 | */ | 479 | */ |
480 | #define copy_to_user(to,from,n) \ | 480 | #define copy_to_user(to, from, n) \ |
481 | ({ \ | 481 | ({ \ |
482 | void __user *__cu_to; \ | 482 | void __user *__cu_to; \ |
483 | const void *__cu_from; \ | 483 | const void *__cu_from; \ |
@@ -493,11 +493,11 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
493 | __cu_len; \ | 493 | __cu_len; \ |
494 | }) | 494 | }) |
495 | 495 | ||
496 | #define __invoke_copy_from_user(to,from,n) \ | 496 | #define __invoke_copy_from_user(to, from, n) \ |
497 | ({ \ | 497 | ({ \ |
498 | register void *__cu_to_r __asm__ ("$4"); \ | 498 | register void *__cu_to_r __asm__("$4"); \ |
499 | register const void __user *__cu_from_r __asm__ ("$5"); \ | 499 | register const void __user *__cu_from_r __asm__("$5"); \ |
500 | register long __cu_len_r __asm__ ("$6"); \ | 500 | register long __cu_len_r __asm__("$6"); \ |
501 | \ | 501 | \ |
502 | __cu_to_r = (to); \ | 502 | __cu_to_r = (to); \ |
503 | __cu_from_r = (from); \ | 503 | __cu_from_r = (from); \ |
@@ -516,11 +516,11 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
516 | __cu_len_r; \ | 516 | __cu_len_r; \ |
517 | }) | 517 | }) |
518 | 518 | ||
519 | #define __invoke_copy_from_user_inatomic(to,from,n) \ | 519 | #define __invoke_copy_from_user_inatomic(to, from, n) \ |
520 | ({ \ | 520 | ({ \ |
521 | register void *__cu_to_r __asm__ ("$4"); \ | 521 | register void *__cu_to_r __asm__("$4"); \ |
522 | register const void __user *__cu_from_r __asm__ ("$5"); \ | 522 | register const void __user *__cu_from_r __asm__("$5"); \ |
523 | register long __cu_len_r __asm__ ("$6"); \ | 523 | register long __cu_len_r __asm__("$6"); \ |
524 | \ | 524 | \ |
525 | __cu_to_r = (to); \ | 525 | __cu_to_r = (to); \ |
526 | __cu_from_r = (from); \ | 526 | __cu_from_r = (from); \ |
@@ -556,7 +556,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
556 | * If some data could not be copied, this function will pad the copied | 556 | * If some data could not be copied, this function will pad the copied |
557 | * data to the requested size using zero bytes. | 557 | * data to the requested size using zero bytes. |
558 | */ | 558 | */ |
559 | #define __copy_from_user(to,from,n) \ | 559 | #define __copy_from_user(to, from, n) \ |
560 | ({ \ | 560 | ({ \ |
561 | void *__cu_to; \ | 561 | void *__cu_to; \ |
562 | const void __user *__cu_from; \ | 562 | const void __user *__cu_from; \ |
@@ -587,7 +587,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
587 | * If some data could not be copied, this function will pad the copied | 587 | * If some data could not be copied, this function will pad the copied |
588 | * data to the requested size using zero bytes. | 588 | * data to the requested size using zero bytes. |
589 | */ | 589 | */ |
590 | #define copy_from_user(to,from,n) \ | 590 | #define copy_from_user(to, from, n) \ |
591 | ({ \ | 591 | ({ \ |
592 | void *__cu_to; \ | 592 | void *__cu_to; \ |
593 | const void __user *__cu_from; \ | 593 | const void __user *__cu_from; \ |
@@ -605,7 +605,7 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n); | |||
605 | 605 | ||
606 | #define __copy_in_user(to, from, n) __copy_from_user(to, from, n) | 606 | #define __copy_in_user(to, from, n) __copy_from_user(to, from, n) |
607 | 607 | ||
608 | #define copy_in_user(to,from,n) \ | 608 | #define copy_in_user(to, from, n) \ |
609 | ({ \ | 609 | ({ \ |
610 | void __user *__cu_to; \ | 610 | void __user *__cu_to; \ |
611 | const void __user *__cu_from; \ | 611 | const void __user *__cu_from; \ |
diff --git a/include/asm-mips/unaligned.h b/include/asm-mips/unaligned.h index a0042563838a..3249049e93aa 100644 --- a/include/asm-mips/unaligned.h +++ b/include/asm-mips/unaligned.h | |||
@@ -3,12 +3,27 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 1996, 1999, 2000, 2001, 2003 by Ralf Baechle | 6 | * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org) |
7 | * Copyright (C) 1999, 2000, 2001 Silicon Graphics, Inc. | ||
8 | */ | 7 | */ |
9 | #ifndef _ASM_UNALIGNED_H | 8 | #ifndef __ASM_GENERIC_UNALIGNED_H |
10 | #define _ASM_UNALIGNED_H | 9 | #define __ASM_GENERIC_UNALIGNED_H |
11 | 10 | ||
12 | #include <asm-generic/unaligned.h> | 11 | #include <linux/compiler.h> |
13 | 12 | ||
14 | #endif /* _ASM_UNALIGNED_H */ | 13 | #define get_unaligned(ptr) \ |
14 | ({ \ | ||
15 | struct __packed { \ | ||
16 | typeof(*(ptr)) __v; \ | ||
17 | } *__p = (void *) (ptr); \ | ||
18 | __p->__v; \ | ||
19 | }) | ||
20 | |||
21 | #define put_unaligned(val, ptr) \ | ||
22 | do { \ | ||
23 | struct __packed { \ | ||
24 | typeof(*(ptr)) __v; \ | ||
25 | } *__p = (void *) (ptr); \ | ||
26 | __p->__v = (val); \ | ||
27 | } while(0) | ||
28 | |||
29 | #endif /* __ASM_GENERIC_UNALIGNED_H */ | ||
diff --git a/include/asm-mips/vga.h b/include/asm-mips/vga.h index c1dd0b10bc27..f4cff7e4fa8a 100644 --- a/include/asm-mips/vga.h +++ b/include/asm-mips/vga.h | |||
@@ -13,10 +13,10 @@ | |||
13 | * access the videoram directly without any black magic. | 13 | * access the videoram directly without any black magic. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | #define VGA_MAP_MEM(x,s) (0xb0000000L + (unsigned long)(x)) | 16 | #define VGA_MAP_MEM(x, s) (0xb0000000L + (unsigned long)(x)) |
17 | 17 | ||
18 | #define vga_readb(x) (*(x)) | 18 | #define vga_readb(x) (*(x)) |
19 | #define vga_writeb(x,y) (*(y) = (x)) | 19 | #define vga_writeb(x, y) (*(y) = (x)) |
20 | 20 | ||
21 | #define VT_BUF_HAVE_RW | 21 | #define VT_BUF_HAVE_RW |
22 | /* | 22 | /* |
diff --git a/include/asm-mips/war.h b/include/asm-mips/war.h index c0715d0a6b28..d2808edfd4e9 100644 --- a/include/asm-mips/war.h +++ b/include/asm-mips/war.h | |||
@@ -3,20 +3,22 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 2002, 2004 by Ralf Baechle | 6 | * Copyright (C) 2002, 2004, 2007 by Ralf Baechle |
7 | */ | 7 | */ |
8 | #ifndef _ASM_WAR_H | 8 | #ifndef _ASM_WAR_H |
9 | #define _ASM_WAR_H | 9 | #define _ASM_WAR_H |
10 | 10 | ||
11 | #include <war.h> | ||
11 | 12 | ||
12 | /* | 13 | /* |
13 | * Another R4600 erratum. Due to the lack of errata information the exact | 14 | * Another R4600 erratum. Due to the lack of errata information the exact |
14 | * technical details aren't known. I've experimentally found that disabling | 15 | * technical details aren't known. I've experimentally found that disabling |
15 | * interrupts during indexed I-cache flushes seems to be sufficient to deal | 16 | * interrupts during indexed I-cache flushes seems to be sufficient to deal |
16 | * with the issue. | 17 | * with the issue. |
17 | * | ||
18 | * #define R4600_V1_INDEX_ICACHEOP_WAR 1 | ||
19 | */ | 18 | */ |
19 | #ifndef R4600_V1_INDEX_ICACHEOP_WAR | ||
20 | #error Check setting of R4600_V1_INDEX_ICACHEOP_WAR for your platform | ||
21 | #endif | ||
20 | 22 | ||
21 | /* | 23 | /* |
22 | * Pleasures of the R4600 V1.x. Cite from the IDT R4600 V1.7 errata: | 24 | * Pleasures of the R4600 V1.x. Cite from the IDT R4600 V1.7 errata: |
@@ -43,9 +45,10 @@ | |||
43 | * nop | 45 | * nop |
44 | * nop | 46 | * nop |
45 | * cache Hit_Writeback_Invalidate_D | 47 | * cache Hit_Writeback_Invalidate_D |
46 | * | ||
47 | * #define R4600_V1_HIT_CACHEOP_WAR 1 | ||
48 | */ | 48 | */ |
49 | #ifndef R4600_V1_HIT_CACHEOP_WAR | ||
50 | #error Check setting of R4600_V1_HIT_CACHEOP_WAR for your platform | ||
51 | #endif | ||
49 | 52 | ||
50 | 53 | ||
51 | /* | 54 | /* |
@@ -58,32 +61,11 @@ | |||
58 | * by a load instruction to an uncached address to empty the response buffer." | 61 | * by a load instruction to an uncached address to empty the response buffer." |
59 | * (Revision 2.0 device errata from IDT available on http://www.idt.com/ | 62 | * (Revision 2.0 device errata from IDT available on http://www.idt.com/ |
60 | * in .pdf format.) | 63 | * in .pdf format.) |
61 | * | ||
62 | * #define R4600_V2_HIT_CACHEOP_WAR 1 | ||
63 | */ | ||
64 | |||
65 | /* | ||
66 | * R4600 CPU modules for the Indy come with both V1.7 and V2.0 processors. | ||
67 | */ | ||
68 | #ifdef CONFIG_SGI_IP22 | ||
69 | |||
70 | #define R4600_V1_INDEX_ICACHEOP_WAR 1 | ||
71 | #define R4600_V1_HIT_CACHEOP_WAR 1 | ||
72 | #define R4600_V2_HIT_CACHEOP_WAR 1 | ||
73 | |||
74 | #endif | ||
75 | |||
76 | /* | ||
77 | * But the RM200C seems to have been shipped only with V2.0 R4600s | ||
78 | */ | 64 | */ |
79 | #ifdef CONFIG_SNI_RM | 65 | #ifndef R4600_V2_HIT_CACHEOP_WAR |
80 | 66 | #error Check setting of R4600_V2_HIT_CACHEOP_WAR for your platform | |
81 | #define R4600_V2_HIT_CACHEOP_WAR 1 | ||
82 | |||
83 | #endif | 67 | #endif |
84 | 68 | ||
85 | #ifdef CONFIG_CPU_R5432 | ||
86 | |||
87 | /* | 69 | /* |
88 | * When an interrupt happens on a CP0 register read instruction, CPU may | 70 | * When an interrupt happens on a CP0 register read instruction, CPU may |
89 | * lock up or read corrupted values of CP0 registers after it enters | 71 | * lock up or read corrupted values of CP0 registers after it enters |
@@ -93,13 +75,10 @@ | |||
93 | * first thing in the exception handler, which breaks one of the | 75 | * first thing in the exception handler, which breaks one of the |
94 | * pre-conditions for this problem. | 76 | * pre-conditions for this problem. |
95 | */ | 77 | */ |
96 | #define R5432_CP0_INTERRUPT_WAR 1 | 78 | #ifndef R5432_CP0_INTERRUPT_WAR |
97 | 79 | #error Check setting of R5432_CP0_INTERRUPT_WAR for your platform | |
98 | #endif | 80 | #endif |
99 | 81 | ||
100 | #if defined(CONFIG_SB1_PASS_1_WORKAROUNDS) || \ | ||
101 | defined(CONFIG_SB1_PASS_2_WORKAROUNDS) | ||
102 | |||
103 | /* | 82 | /* |
104 | * Workaround for the Sibyte M3 errata the text of which can be found at | 83 | * Workaround for the Sibyte M3 errata the text of which can be found at |
105 | * | 84 | * |
@@ -110,13 +89,15 @@ | |||
110 | * will just return and take the exception again if the information was | 89 | * will just return and take the exception again if the information was |
111 | * found to be inconsistent. | 90 | * found to be inconsistent. |
112 | */ | 91 | */ |
113 | #define BCM1250_M3_WAR 1 | 92 | #ifndef BCM1250_M3_WAR |
93 | #error Check setting of BCM1250_M3_WAR for your platform | ||
94 | #endif | ||
114 | 95 | ||
115 | /* | 96 | /* |
116 | * This is a DUART workaround related to glitches around register accesses | 97 | * This is a DUART workaround related to glitches around register accesses |
117 | */ | 98 | */ |
118 | #define SIBYTE_1956_WAR 1 | 99 | #ifndef SIBYTE_1956_WAR |
119 | 100 | #error Check setting of SIBYTE_1956_WAR for your platform | |
120 | #endif | 101 | #endif |
121 | 102 | ||
122 | /* | 103 | /* |
@@ -131,9 +112,8 @@ | |||
131 | * Affects: | 112 | * Affects: |
132 | * MIPS 4K RTL revision <3.0, PRID revision <4 | 113 | * MIPS 4K RTL revision <3.0, PRID revision <4 |
133 | */ | 114 | */ |
134 | #if defined(CONFIG_MIPS_MALTA) || defined(CONFIG_MIPS_ATLAS) || \ | 115 | #ifndef MIPS4K_ICACHE_REFILL_WAR |
135 | defined(CONFIG_MIPS_SEAD) | 116 | #error Check setting of MIPS4K_ICACHE_REFILL_WAR for your platform |
136 | #define MIPS4K_ICACHE_REFILL_WAR 1 | ||
137 | #endif | 117 | #endif |
138 | 118 | ||
139 | /* | 119 | /* |
@@ -151,9 +131,8 @@ | |||
151 | * MIPS 5Kc,5Kf RTL revision <2.3, PRID revision <8 | 131 | * MIPS 5Kc,5Kf RTL revision <2.3, PRID revision <8 |
152 | * MIPS 20Kc RTL revision <4.0, PRID revision <? | 132 | * MIPS 20Kc RTL revision <4.0, PRID revision <? |
153 | */ | 133 | */ |
154 | #if defined(CONFIG_MIPS_MALTA) || defined(CONFIG_MIPS_ATLAS) || \ | 134 | #ifndef MIPS_CACHE_SYNC_WAR |
155 | defined(CONFIG_MIPS_SEAD) | 135 | #error Check setting of MIPS_CACHE_SYNC_WAR for your platform |
156 | #define MIPS_CACHE_SYNC_WAR 1 | ||
157 | #endif | 136 | #endif |
158 | 137 | ||
159 | /* | 138 | /* |
@@ -163,16 +142,16 @@ | |||
163 | * | 142 | * |
164 | * Workaround: do two phase flushing for Index_Invalidate_I | 143 | * Workaround: do two phase flushing for Index_Invalidate_I |
165 | */ | 144 | */ |
166 | #ifdef CONFIG_CPU_TX49XX | 145 | #ifndef TX49XX_ICACHE_INDEX_INV_WAR |
167 | #define TX49XX_ICACHE_INDEX_INV_WAR 1 | 146 | #error Check setting of TX49XX_ICACHE_INDEX_INV_WAR for your platform |
168 | #endif | 147 | #endif |
169 | 148 | ||
170 | /* | 149 | /* |
171 | * On the RM9000 there is a problem which makes the CreateDirtyExclusive | 150 | * On the RM9000 there is a problem which makes the CreateDirtyExclusive |
172 | * eache operation unusable on SMP systems. | 151 | * eache operation unusable on SMP systems. |
173 | */ | 152 | */ |
174 | #if defined(CONFIG_PMC_YOSEMITE) || defined(CONFIG_BASLER_EXCITE) | 153 | #ifndef RM9000_CDEX_SMP_WAR |
175 | #define RM9000_CDEX_SMP_WAR 1 | 154 | #error Check setting of RM9000_CDEX_SMP_WAR for your platform |
176 | #endif | 155 | #endif |
177 | 156 | ||
178 | /* | 157 | /* |
@@ -181,69 +160,23 @@ | |||
181 | * I-cache line worth of instructions being fetched may case spurious | 160 | * I-cache line worth of instructions being fetched may case spurious |
182 | * exceptions. | 161 | * exceptions. |
183 | */ | 162 | */ |
184 | #if defined(CONFIG_BASLER_EXCITE) || defined(CONFIG_MIPS_ATLAS) || \ | 163 | #ifndef ICACHE_REFILLS_WORKAROUND_WAR |
185 | defined(CONFIG_MIPS_MALTA) || defined(CONFIG_PMC_YOSEMITE) || \ | 164 | #error Check setting of ICACHE_REFILLS_WORKAROUND_WAR for your platform |
186 | defined(CONFIG_SGI_IP32) || defined(CONFIG_WR_PPMC) | ||
187 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | ||
188 | #endif | 165 | #endif |
189 | 166 | ||
190 | /* | 167 | /* |
191 | * On the R10000 upto version 2.6 (not sure about 2.7) there is a bug that | 168 | * On the R10000 upto version 2.6 (not sure about 2.7) there is a bug that |
192 | * may cause ll / sc and lld / scd sequences to execute non-atomically. | 169 | * may cause ll / sc and lld / scd sequences to execute non-atomically. |
193 | */ | 170 | */ |
194 | #ifdef CONFIG_SGI_IP27 | 171 | #ifndef R10000_LLSC_WAR |
195 | #define R10000_LLSC_WAR 1 | 172 | #error Check setting of R10000_LLSC_WAR for your platform |
196 | #endif | 173 | #endif |
197 | 174 | ||
198 | /* | 175 | /* |
199 | * 34K core erratum: "Problems Executing the TLBR Instruction" | 176 | * 34K core erratum: "Problems Executing the TLBR Instruction" |
200 | */ | 177 | */ |
201 | #if defined(CONFIG_PMC_MSP7120_EVAL) || defined(CONFIG_PMC_MSP7120_GW) || \ | ||
202 | defined(CONFIG_PMC_MSP7120_FPGA) | ||
203 | #define MIPS34K_MISSED_ITLB_WAR 1 | ||
204 | #endif | ||
205 | |||
206 | /* | ||
207 | * Workarounds default to off | ||
208 | */ | ||
209 | #ifndef ICACHE_REFILLS_WORKAROUND_WAR | ||
210 | #define ICACHE_REFILLS_WORKAROUND_WAR 0 | ||
211 | #endif | ||
212 | #ifndef R4600_V1_INDEX_ICACHEOP_WAR | ||
213 | #define R4600_V1_INDEX_ICACHEOP_WAR 0 | ||
214 | #endif | ||
215 | #ifndef R4600_V1_HIT_CACHEOP_WAR | ||
216 | #define R4600_V1_HIT_CACHEOP_WAR 0 | ||
217 | #endif | ||
218 | #ifndef R4600_V2_HIT_CACHEOP_WAR | ||
219 | #define R4600_V2_HIT_CACHEOP_WAR 0 | ||
220 | #endif | ||
221 | #ifndef R5432_CP0_INTERRUPT_WAR | ||
222 | #define R5432_CP0_INTERRUPT_WAR 0 | ||
223 | #endif | ||
224 | #ifndef BCM1250_M3_WAR | ||
225 | #define BCM1250_M3_WAR 0 | ||
226 | #endif | ||
227 | #ifndef SIBYTE_1956_WAR | ||
228 | #define SIBYTE_1956_WAR 0 | ||
229 | #endif | ||
230 | #ifndef MIPS4K_ICACHE_REFILL_WAR | ||
231 | #define MIPS4K_ICACHE_REFILL_WAR 0 | ||
232 | #endif | ||
233 | #ifndef MIPS_CACHE_SYNC_WAR | ||
234 | #define MIPS_CACHE_SYNC_WAR 0 | ||
235 | #endif | ||
236 | #ifndef TX49XX_ICACHE_INDEX_INV_WAR | ||
237 | #define TX49XX_ICACHE_INDEX_INV_WAR 0 | ||
238 | #endif | ||
239 | #ifndef RM9000_CDEX_SMP_WAR | ||
240 | #define RM9000_CDEX_SMP_WAR 0 | ||
241 | #endif | ||
242 | #ifndef R10000_LLSC_WAR | ||
243 | #define R10000_LLSC_WAR 0 | ||
244 | #endif | ||
245 | #ifndef MIPS34K_MISSED_ITLB_WAR | 178 | #ifndef MIPS34K_MISSED_ITLB_WAR |
246 | #define MIPS34K_MISSED_ITLB_WAR 0 | 179 | #error Check setting of MIPS34K_MISSED_ITLB_WAR for your platform |
247 | #endif | 180 | #endif |
248 | 181 | ||
249 | #endif /* _ASM_WAR_H */ | 182 | #endif /* _ASM_WAR_H */ |
diff --git a/include/asm-mips/xtalk/xtalk.h b/include/asm-mips/xtalk/xtalk.h index 4a60f27c8817..79bac882a739 100644 --- a/include/asm-mips/xtalk/xtalk.h +++ b/include/asm-mips/xtalk/xtalk.h | |||
@@ -45,7 +45,7 @@ typedef struct xtalk_piomap_s *xtalk_piomap_t; | |||
45 | #define XIO_PACKED(x) (((x)&XIO_PORT_BITS) != 0) | 45 | #define XIO_PACKED(x) (((x)&XIO_PORT_BITS) != 0) |
46 | #define XIO_ADDR(x) ((x)&XIO_ADDR_BITS) | 46 | #define XIO_ADDR(x) ((x)&XIO_ADDR_BITS) |
47 | #define XIO_PORT(x) ((xwidgetnum_t)(((x)&XIO_PORT_BITS) >> XIO_PORT_SHIFT)) | 47 | #define XIO_PORT(x) ((xwidgetnum_t)(((x)&XIO_PORT_BITS) >> XIO_PORT_SHIFT)) |
48 | #define XIO_PACK(p,o) ((((uint64_t)(p))<<XIO_PORT_SHIFT) | ((o)&XIO_ADDR_BITS)) | 48 | #define XIO_PACK(p, o) ((((uint64_t)(p))<<XIO_PORT_SHIFT) | ((o)&XIO_ADDR_BITS)) |
49 | 49 | ||
50 | #endif /* !__ASSEMBLY__ */ | 50 | #endif /* !__ASSEMBLY__ */ |
51 | 51 | ||
diff --git a/include/asm-sh/flat.h b/include/asm-sh/flat.h index 0d5cc04ab005..dc4f5950dafa 100644 --- a/include/asm-sh/flat.h +++ b/include/asm-sh/flat.h | |||
@@ -16,8 +16,9 @@ | |||
16 | #define flat_argvp_envp_on_stack() 0 | 16 | #define flat_argvp_envp_on_stack() 0 |
17 | #define flat_old_ram_flag(flags) (flags) | 17 | #define flat_old_ram_flag(flags) (flags) |
18 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) | 18 | #define flat_reloc_valid(reloc, size) ((reloc) <= (size)) |
19 | #define flat_get_addr_from_rp(rp, relval, flags) get_unaligned(rp) | 19 | #define flat_get_addr_from_rp(rp, relval, flags, p) get_unaligned(rp) |
20 | #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) | 20 | #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) |
21 | #define flat_get_relocate_addr(rel) (rel) | 21 | #define flat_get_relocate_addr(rel) (rel) |
22 | #define flat_set_persistent(relval, p) 0 | ||
22 | 23 | ||
23 | #endif /* __ASM_SH_FLAT_H */ | 24 | #endif /* __ASM_SH_FLAT_H */ |
diff --git a/include/asm-sh/mpc1211/mc146818rtc.h b/include/asm-sh/mpc1211/mc146818rtc.h index 0ec78f66cea4..e245f2a3cd78 100644 --- a/include/asm-sh/mpc1211/mc146818rtc.h +++ b/include/asm-sh/mpc1211/mc146818rtc.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * MPC1211 uses PC/AT style RTC definitions. | 2 | * MPC1211 uses PC/AT style RTC definitions. |
3 | */ | 3 | */ |
4 | #include <asm-i386/mc146818rtc.h> | 4 | #include <asm-x86/mc146818rtc_32.h> |
5 | 5 | ||
6 | 6 | ||
diff --git a/include/asm-v850/flat.h b/include/asm-v850/flat.h index 3888f59d6881..17f0ea566611 100644 --- a/include/asm-v850/flat.h +++ b/include/asm-v850/flat.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define flat_stack_align(sp) /* nothing needed */ | 25 | #define flat_stack_align(sp) /* nothing needed */ |
26 | #define flat_argvp_envp_on_stack() 0 | 26 | #define flat_argvp_envp_on_stack() 0 |
27 | #define flat_old_ram_flag(flags) (flags) | 27 | #define flat_old_ram_flag(flags) (flags) |
28 | #define flat_set_persistent(relval, p) 0 | ||
28 | 29 | ||
29 | /* We store the type of relocation in the top 4 bits of the `relval.' */ | 30 | /* We store the type of relocation in the top 4 bits of the `relval.' */ |
30 | 31 | ||
@@ -46,7 +47,8 @@ flat_get_relocate_addr (unsigned long relval) | |||
46 | For the v850, RP should always be half-word aligned. */ | 47 | For the v850, RP should always be half-word aligned. */ |
47 | static inline unsigned long flat_get_addr_from_rp (unsigned long *rp, | 48 | static inline unsigned long flat_get_addr_from_rp (unsigned long *rp, |
48 | unsigned long relval, | 49 | unsigned long relval, |
49 | unsigned long flags) | 50 | unsigned long flags, |
51 | unsigned long *persistent) | ||
50 | { | 52 | { |
51 | short *srp = (short *)rp; | 53 | short *srp = (short *)rp; |
52 | 54 | ||
diff --git a/include/asm-x86/8253pit.h b/include/asm-x86/8253pit.h new file mode 100644 index 000000000000..d3c2b38a6618 --- /dev/null +++ b/include/asm-x86/8253pit.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "8253pit_32.h" | ||
3 | #else | ||
4 | # include "8253pit_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/8253pit.h b/include/asm-x86/8253pit_32.h index 96c7c3592daf..96c7c3592daf 100644 --- a/include/asm-i386/8253pit.h +++ b/include/asm-x86/8253pit_32.h | |||
diff --git a/include/asm-x86_64/8253pit.h b/include/asm-x86/8253pit_64.h index 285f78488ccb..285f78488ccb 100644 --- a/include/asm-x86_64/8253pit.h +++ b/include/asm-x86/8253pit_64.h | |||
diff --git a/include/asm-x86/Kbuild b/include/asm-x86/Kbuild new file mode 100644 index 000000000000..c5e43cb39874 --- /dev/null +++ b/include/asm-x86/Kbuild | |||
@@ -0,0 +1,88 @@ | |||
1 | include include/asm-generic/Kbuild.asm | ||
2 | |||
3 | header-y += boot.h | ||
4 | header-y += bootsetup.h | ||
5 | header-y += debugreg_32.h | ||
6 | header-y += debugreg_64.h | ||
7 | header-y += debugreg.h | ||
8 | header-y += ldt_32.h | ||
9 | header-y += ldt_64.h | ||
10 | header-y += ldt.h | ||
11 | header-y += msr-index.h | ||
12 | header-y += prctl.h | ||
13 | header-y += ptrace-abi_32.h | ||
14 | header-y += ptrace-abi_64.h | ||
15 | header-y += ptrace-abi.h | ||
16 | header-y += sigcontext32.h | ||
17 | header-y += ucontext_32.h | ||
18 | header-y += ucontext_64.h | ||
19 | header-y += ucontext.h | ||
20 | header-y += vsyscall32.h | ||
21 | |||
22 | unifdef-y += a.out_32.h | ||
23 | unifdef-y += a.out_64.h | ||
24 | unifdef-y += auxvec_32.h | ||
25 | unifdef-y += auxvec_64.h | ||
26 | unifdef-y += byteorder_32.h | ||
27 | unifdef-y += byteorder_64.h | ||
28 | unifdef-y += elf_32.h | ||
29 | unifdef-y += elf_64.h | ||
30 | unifdef-y += errno_32.h | ||
31 | unifdef-y += errno_64.h | ||
32 | unifdef-y += ioctls_32.h | ||
33 | unifdef-y += ioctls_64.h | ||
34 | unifdef-y += ipcbuf_32.h | ||
35 | unifdef-y += ipcbuf_64.h | ||
36 | unifdef-y += mce.h | ||
37 | unifdef-y += mman_32.h | ||
38 | unifdef-y += mman_64.h | ||
39 | unifdef-y += msgbuf_32.h | ||
40 | unifdef-y += msgbuf_64.h | ||
41 | unifdef-y += msr_32.h | ||
42 | unifdef-y += msr_64.h | ||
43 | unifdef-y += msr.h | ||
44 | unifdef-y += mtrr_32.h | ||
45 | unifdef-y += mtrr_64.h | ||
46 | unifdef-y += mtrr.h | ||
47 | unifdef-y += page_32.h | ||
48 | unifdef-y += page_64.h | ||
49 | unifdef-y += param_32.h | ||
50 | unifdef-y += param_64.h | ||
51 | unifdef-y += posix_types_32.h | ||
52 | unifdef-y += posix_types_64.h | ||
53 | unifdef-y += ptrace_32.h | ||
54 | unifdef-y += ptrace_64.h | ||
55 | unifdef-y += resource_32.h | ||
56 | unifdef-y += resource_64.h | ||
57 | unifdef-y += sembuf_32.h | ||
58 | unifdef-y += sembuf_64.h | ||
59 | unifdef-y += setup_32.h | ||
60 | unifdef-y += setup_64.h | ||
61 | unifdef-y += shmbuf_32.h | ||
62 | unifdef-y += shmbuf_64.h | ||
63 | unifdef-y += shmparam_32.h | ||
64 | unifdef-y += shmparam_64.h | ||
65 | unifdef-y += sigcontext_32.h | ||
66 | unifdef-y += sigcontext_64.h | ||
67 | unifdef-y += siginfo_32.h | ||
68 | unifdef-y += siginfo_64.h | ||
69 | unifdef-y += signal_32.h | ||
70 | unifdef-y += signal_64.h | ||
71 | unifdef-y += sockios_32.h | ||
72 | unifdef-y += sockios_64.h | ||
73 | unifdef-y += stat_32.h | ||
74 | unifdef-y += stat_64.h | ||
75 | unifdef-y += statfs_32.h | ||
76 | unifdef-y += statfs_64.h | ||
77 | unifdef-y += termbits_32.h | ||
78 | unifdef-y += termbits_64.h | ||
79 | unifdef-y += termios_32.h | ||
80 | unifdef-y += termios_64.h | ||
81 | unifdef-y += types_32.h | ||
82 | unifdef-y += types_64.h | ||
83 | unifdef-y += unistd_32.h | ||
84 | unifdef-y += unistd_64.h | ||
85 | unifdef-y += user_32.h | ||
86 | unifdef-y += user_64.h | ||
87 | unifdef-y += vm86.h | ||
88 | unifdef-y += vsyscall.h | ||
diff --git a/include/asm-x86/a.out.h b/include/asm-x86/a.out.h new file mode 100644 index 000000000000..5bc9b1d3b227 --- /dev/null +++ b/include/asm-x86/a.out.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "a.out_32.h" | ||
4 | # else | ||
5 | # include "a.out_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "a.out_32.h" | ||
10 | # else | ||
11 | # include "a.out_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/a.out.h b/include/asm-x86/a.out_32.h index 851a60f8258c..851a60f8258c 100644 --- a/include/asm-i386/a.out.h +++ b/include/asm-x86/a.out_32.h | |||
diff --git a/include/asm-x86_64/a.out.h b/include/asm-x86/a.out_64.h index e789300e41a5..e789300e41a5 100644 --- a/include/asm-x86_64/a.out.h +++ b/include/asm-x86/a.out_64.h | |||
diff --git a/include/asm-x86/acpi.h b/include/asm-x86/acpi.h new file mode 100644 index 000000000000..0693689d4146 --- /dev/null +++ b/include/asm-x86/acpi.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "acpi_32.h" | ||
3 | #else | ||
4 | # include "acpi_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/acpi.h b/include/asm-x86/acpi_32.h index 125179adf044..125179adf044 100644 --- a/include/asm-i386/acpi.h +++ b/include/asm-x86/acpi_32.h | |||
diff --git a/include/asm-x86_64/acpi.h b/include/asm-x86/acpi_64.h index 98173357dd89..98173357dd89 100644 --- a/include/asm-x86_64/acpi.h +++ b/include/asm-x86/acpi_64.h | |||
diff --git a/include/asm-x86/agp.h b/include/asm-x86/agp.h new file mode 100644 index 000000000000..9348f1e4f6f1 --- /dev/null +++ b/include/asm-x86/agp.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "agp_32.h" | ||
3 | #else | ||
4 | # include "agp_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/agp.h b/include/asm-x86/agp_32.h index 6af173dbf123..6af173dbf123 100644 --- a/include/asm-i386/agp.h +++ b/include/asm-x86/agp_32.h | |||
diff --git a/include/asm-x86_64/agp.h b/include/asm-x86/agp_64.h index de338666f3f9..de338666f3f9 100644 --- a/include/asm-x86_64/agp.h +++ b/include/asm-x86/agp_64.h | |||
diff --git a/include/asm-x86/alternative-asm.i b/include/asm-x86/alternative-asm.i new file mode 100644 index 000000000000..4f360cd3c888 --- /dev/null +++ b/include/asm-x86/alternative-asm.i | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "alternative-asm_32.i" | ||
3 | #else | ||
4 | # include "alternative-asm_64.i" | ||
5 | #endif | ||
diff --git a/include/asm-i386/alternative-asm.i b/include/asm-x86/alternative-asm_32.i index f0510209ccbe..f0510209ccbe 100644 --- a/include/asm-i386/alternative-asm.i +++ b/include/asm-x86/alternative-asm_32.i | |||
diff --git a/include/asm-x86_64/alternative-asm.i b/include/asm-x86/alternative-asm_64.i index 0b3f1a2bb2cb..0b3f1a2bb2cb 100644 --- a/include/asm-x86_64/alternative-asm.i +++ b/include/asm-x86/alternative-asm_64.i | |||
diff --git a/include/asm-x86/alternative.h b/include/asm-x86/alternative.h new file mode 100644 index 000000000000..9eef6a32a130 --- /dev/null +++ b/include/asm-x86/alternative.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "alternative_32.h" | ||
3 | #else | ||
4 | # include "alternative_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/alternative.h b/include/asm-x86/alternative_32.h index bda6c810c0f4..bda6c810c0f4 100644 --- a/include/asm-i386/alternative.h +++ b/include/asm-x86/alternative_32.h | |||
diff --git a/include/asm-x86_64/alternative.h b/include/asm-x86/alternative_64.h index ab161e810151..ab161e810151 100644 --- a/include/asm-x86_64/alternative.h +++ b/include/asm-x86/alternative_64.h | |||
diff --git a/include/asm-x86/apic.h b/include/asm-x86/apic.h new file mode 100644 index 000000000000..9fbcc0bd2ac4 --- /dev/null +++ b/include/asm-x86/apic.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "apic_32.h" | ||
3 | #else | ||
4 | # include "apic_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/apic.h b/include/asm-x86/apic_32.h index 4091b33dcb10..4091b33dcb10 100644 --- a/include/asm-i386/apic.h +++ b/include/asm-x86/apic_32.h | |||
diff --git a/include/asm-x86_64/apic.h b/include/asm-x86/apic_64.h index 85125ef3c414..85125ef3c414 100644 --- a/include/asm-x86_64/apic.h +++ b/include/asm-x86/apic_64.h | |||
diff --git a/include/asm-x86/apicdef.h b/include/asm-x86/apicdef.h new file mode 100644 index 000000000000..4542c220bf4d --- /dev/null +++ b/include/asm-x86/apicdef.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "apicdef_32.h" | ||
3 | #else | ||
4 | # include "apicdef_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/apicdef.h b/include/asm-x86/apicdef_32.h index 9f6995341fdc..9f6995341fdc 100644 --- a/include/asm-i386/apicdef.h +++ b/include/asm-x86/apicdef_32.h | |||
diff --git a/include/asm-x86_64/apicdef.h b/include/asm-x86/apicdef_64.h index 1dd40067c67c..1dd40067c67c 100644 --- a/include/asm-x86_64/apicdef.h +++ b/include/asm-x86/apicdef_64.h | |||
diff --git a/include/asm-i386/arch_hooks.h b/include/asm-x86/arch_hooks.h index a8c1fca9726d..a8c1fca9726d 100644 --- a/include/asm-i386/arch_hooks.h +++ b/include/asm-x86/arch_hooks.h | |||
diff --git a/include/asm-x86/atomic.h b/include/asm-x86/atomic.h new file mode 100644 index 000000000000..4e1b8873c474 --- /dev/null +++ b/include/asm-x86/atomic.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "atomic_32.h" | ||
3 | #else | ||
4 | # include "atomic_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/atomic.h b/include/asm-x86/atomic_32.h index 437aac801711..437aac801711 100644 --- a/include/asm-i386/atomic.h +++ b/include/asm-x86/atomic_32.h | |||
diff --git a/include/asm-x86_64/atomic.h b/include/asm-x86/atomic_64.h index f2e64634fa48..f2e64634fa48 100644 --- a/include/asm-x86_64/atomic.h +++ b/include/asm-x86/atomic_64.h | |||
diff --git a/include/asm-x86/auxvec.h b/include/asm-x86/auxvec.h new file mode 100644 index 000000000000..7ff866f829ca --- /dev/null +++ b/include/asm-x86/auxvec.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "auxvec_32.h" | ||
4 | # else | ||
5 | # include "auxvec_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "auxvec_32.h" | ||
10 | # else | ||
11 | # include "auxvec_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/auxvec.h b/include/asm-x86/auxvec_32.h index 395e13016bfb..395e13016bfb 100644 --- a/include/asm-i386/auxvec.h +++ b/include/asm-x86/auxvec_32.h | |||
diff --git a/include/asm-x86_64/auxvec.h b/include/asm-x86/auxvec_64.h index 1d5ab0d03950..1d5ab0d03950 100644 --- a/include/asm-x86_64/auxvec.h +++ b/include/asm-x86/auxvec_64.h | |||
diff --git a/include/asm-x86/bitops.h b/include/asm-x86/bitops.h new file mode 100644 index 000000000000..07e3f6d4fe47 --- /dev/null +++ b/include/asm-x86/bitops.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "bitops_32.h" | ||
3 | #else | ||
4 | # include "bitops_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/bitops.h b/include/asm-x86/bitops_32.h index a20fe9822f60..a20fe9822f60 100644 --- a/include/asm-i386/bitops.h +++ b/include/asm-x86/bitops_32.h | |||
diff --git a/include/asm-x86_64/bitops.h b/include/asm-x86/bitops_64.h index d4dbbe5f7bd9..d4dbbe5f7bd9 100644 --- a/include/asm-x86_64/bitops.h +++ b/include/asm-x86/bitops_64.h | |||
diff --git a/include/asm-i386/boot.h b/include/asm-x86/boot.h index ed8affbf96cb..ed8affbf96cb 100644 --- a/include/asm-i386/boot.h +++ b/include/asm-x86/boot.h | |||
diff --git a/include/asm-i386/bootparam.h b/include/asm-x86/bootparam.h index b91b01783e4b..b91b01783e4b 100644 --- a/include/asm-i386/bootparam.h +++ b/include/asm-x86/bootparam.h | |||
diff --git a/include/asm-x86_64/bootsetup.h b/include/asm-x86/bootsetup.h index 7b1c3ad155fd..7b1c3ad155fd 100644 --- a/include/asm-x86_64/bootsetup.h +++ b/include/asm-x86/bootsetup.h | |||
diff --git a/include/asm-x86/bug.h b/include/asm-x86/bug.h new file mode 100644 index 000000000000..c655d7f3a5e0 --- /dev/null +++ b/include/asm-x86/bug.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "bug_32.h" | ||
3 | #else | ||
4 | # include "bug_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/bug.h b/include/asm-x86/bug_32.h index b0fd78ca2619..b0fd78ca2619 100644 --- a/include/asm-i386/bug.h +++ b/include/asm-x86/bug_32.h | |||
diff --git a/include/asm-x86_64/bug.h b/include/asm-x86/bug_64.h index 682606414913..682606414913 100644 --- a/include/asm-x86_64/bug.h +++ b/include/asm-x86/bug_64.h | |||
diff --git a/include/asm-x86/bugs.h b/include/asm-x86/bugs.h new file mode 100644 index 000000000000..ddf42d36dd50 --- /dev/null +++ b/include/asm-x86/bugs.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "bugs_32.h" | ||
3 | #else | ||
4 | # include "bugs_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/bugs.h b/include/asm-x86/bugs_32.h index d28979ff73be..d28979ff73be 100644 --- a/include/asm-i386/bugs.h +++ b/include/asm-x86/bugs_32.h | |||
diff --git a/include/asm-x86_64/bugs.h b/include/asm-x86/bugs_64.h index b33dc04d8f42..b33dc04d8f42 100644 --- a/include/asm-x86_64/bugs.h +++ b/include/asm-x86/bugs_64.h | |||
diff --git a/include/asm-x86/byteorder.h b/include/asm-x86/byteorder.h new file mode 100644 index 000000000000..eb14b1870ed7 --- /dev/null +++ b/include/asm-x86/byteorder.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "byteorder_32.h" | ||
4 | # else | ||
5 | # include "byteorder_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "byteorder_32.h" | ||
10 | # else | ||
11 | # include "byteorder_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/byteorder.h b/include/asm-x86/byteorder_32.h index a45470a8b74a..a45470a8b74a 100644 --- a/include/asm-i386/byteorder.h +++ b/include/asm-x86/byteorder_32.h | |||
diff --git a/include/asm-x86_64/byteorder.h b/include/asm-x86/byteorder_64.h index 5e86c868c75e..5e86c868c75e 100644 --- a/include/asm-x86_64/byteorder.h +++ b/include/asm-x86/byteorder_64.h | |||
diff --git a/include/asm-x86/cache.h b/include/asm-x86/cache.h new file mode 100644 index 000000000000..c36d190ac9d8 --- /dev/null +++ b/include/asm-x86/cache.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "cache_32.h" | ||
3 | #else | ||
4 | # include "cache_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/cache.h b/include/asm-x86/cache_32.h index 57c62f414158..57c62f414158 100644 --- a/include/asm-i386/cache.h +++ b/include/asm-x86/cache_32.h | |||
diff --git a/include/asm-x86_64/cache.h b/include/asm-x86/cache_64.h index 052df758ae61..052df758ae61 100644 --- a/include/asm-x86_64/cache.h +++ b/include/asm-x86/cache_64.h | |||
diff --git a/include/asm-x86/cacheflush.h b/include/asm-x86/cacheflush.h new file mode 100644 index 000000000000..e2df3b55034a --- /dev/null +++ b/include/asm-x86/cacheflush.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "cacheflush_32.h" | ||
3 | #else | ||
4 | # include "cacheflush_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/cacheflush.h b/include/asm-x86/cacheflush_32.h index 74e03c8f2e51..74e03c8f2e51 100644 --- a/include/asm-i386/cacheflush.h +++ b/include/asm-x86/cacheflush_32.h | |||
diff --git a/include/asm-x86_64/cacheflush.h b/include/asm-x86/cacheflush_64.h index ab1cb5c7dc92..ab1cb5c7dc92 100644 --- a/include/asm-x86_64/cacheflush.h +++ b/include/asm-x86/cacheflush_64.h | |||
diff --git a/include/asm-x86_64/calgary.h b/include/asm-x86/calgary.h index 67f60406e2d8..67f60406e2d8 100644 --- a/include/asm-x86_64/calgary.h +++ b/include/asm-x86/calgary.h | |||
diff --git a/include/asm-x86_64/calling.h b/include/asm-x86/calling.h index 6f4f63af96e1..6f4f63af96e1 100644 --- a/include/asm-x86_64/calling.h +++ b/include/asm-x86/calling.h | |||
diff --git a/include/asm-x86/checksum.h b/include/asm-x86/checksum.h new file mode 100644 index 000000000000..848850fd7d62 --- /dev/null +++ b/include/asm-x86/checksum.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "checksum_32.h" | ||
3 | #else | ||
4 | # include "checksum_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/checksum.h b/include/asm-x86/checksum_32.h index 75194abbe8ee..75194abbe8ee 100644 --- a/include/asm-i386/checksum.h +++ b/include/asm-x86/checksum_32.h | |||
diff --git a/include/asm-x86_64/checksum.h b/include/asm-x86/checksum_64.h index 419fe88a0342..419fe88a0342 100644 --- a/include/asm-x86_64/checksum.h +++ b/include/asm-x86/checksum_64.h | |||
diff --git a/include/asm-x86/cmpxchg.h b/include/asm-x86/cmpxchg.h new file mode 100644 index 000000000000..a460fa088d4c --- /dev/null +++ b/include/asm-x86/cmpxchg.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "cmpxchg_32.h" | ||
3 | #else | ||
4 | # include "cmpxchg_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/cmpxchg.h b/include/asm-x86/cmpxchg_32.h index f86ede28f6dc..f86ede28f6dc 100644 --- a/include/asm-i386/cmpxchg.h +++ b/include/asm-x86/cmpxchg_32.h | |||
diff --git a/include/asm-x86_64/cmpxchg.h b/include/asm-x86/cmpxchg_64.h index 5e182062e6ec..5e182062e6ec 100644 --- a/include/asm-x86_64/cmpxchg.h +++ b/include/asm-x86/cmpxchg_64.h | |||
diff --git a/include/asm-x86_64/compat.h b/include/asm-x86/compat.h index 53cb96b68a62..53cb96b68a62 100644 --- a/include/asm-x86_64/compat.h +++ b/include/asm-x86/compat.h | |||
diff --git a/include/asm-i386/cpu.h b/include/asm-x86/cpu.h index 9d914e1e4aad..9d914e1e4aad 100644 --- a/include/asm-i386/cpu.h +++ b/include/asm-x86/cpu.h | |||
diff --git a/include/asm-x86/cpufeature.h b/include/asm-x86/cpufeature.h new file mode 100644 index 000000000000..b7160a4598d7 --- /dev/null +++ b/include/asm-x86/cpufeature.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "cpufeature_32.h" | ||
3 | #else | ||
4 | # include "cpufeature_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/cpufeature.h b/include/asm-x86/cpufeature_32.h index 7b3aa28ebc6e..7b3aa28ebc6e 100644 --- a/include/asm-i386/cpufeature.h +++ b/include/asm-x86/cpufeature_32.h | |||
diff --git a/include/asm-x86_64/cpufeature.h b/include/asm-x86/cpufeature_64.h index 8baefc3beb2e..2983501e8b3e 100644 --- a/include/asm-x86_64/cpufeature.h +++ b/include/asm-x86/cpufeature_64.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * cpufeature.h | 2 | * cpufeature_32.h |
3 | * | 3 | * |
4 | * Defines x86 CPU feature bits | 4 | * Defines x86 CPU feature bits |
5 | */ | 5 | */ |
@@ -7,7 +7,7 @@ | |||
7 | #ifndef __ASM_X8664_CPUFEATURE_H | 7 | #ifndef __ASM_X8664_CPUFEATURE_H |
8 | #define __ASM_X8664_CPUFEATURE_H | 8 | #define __ASM_X8664_CPUFEATURE_H |
9 | 9 | ||
10 | #include <asm-i386/cpufeature.h> | 10 | #include <asm/cpufeature_32.h> |
11 | 11 | ||
12 | #undef cpu_has_vme | 12 | #undef cpu_has_vme |
13 | #define cpu_has_vme 0 | 13 | #define cpu_has_vme 0 |
diff --git a/include/asm-x86/cputime.h b/include/asm-x86/cputime.h new file mode 100644 index 000000000000..87c37cf6b707 --- /dev/null +++ b/include/asm-x86/cputime.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "cputime_32.h" | ||
3 | #else | ||
4 | # include "cputime_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/cputime.h b/include/asm-x86/cputime_32.h index 398ed7cd171d..398ed7cd171d 100644 --- a/include/asm-i386/cputime.h +++ b/include/asm-x86/cputime_32.h | |||
diff --git a/include/asm-x86_64/cputime.h b/include/asm-x86/cputime_64.h index a07012dc5a3c..a07012dc5a3c 100644 --- a/include/asm-x86_64/cputime.h +++ b/include/asm-x86/cputime_64.h | |||
diff --git a/include/asm-x86/current.h b/include/asm-x86/current.h new file mode 100644 index 000000000000..d2526d3f7346 --- /dev/null +++ b/include/asm-x86/current.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "current_32.h" | ||
3 | #else | ||
4 | # include "current_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/current.h b/include/asm-x86/current_32.h index d35248539912..d35248539912 100644 --- a/include/asm-i386/current.h +++ b/include/asm-x86/current_32.h | |||
diff --git a/include/asm-x86_64/current.h b/include/asm-x86/current_64.h index bc8adecee66d..bc8adecee66d 100644 --- a/include/asm-x86_64/current.h +++ b/include/asm-x86/current_64.h | |||
diff --git a/include/asm-x86/debugreg.h b/include/asm-x86/debugreg.h new file mode 100644 index 000000000000..b6ce7e4fa002 --- /dev/null +++ b/include/asm-x86/debugreg.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "debugreg_32.h" | ||
4 | # else | ||
5 | # include "debugreg_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "debugreg_32.h" | ||
10 | # else | ||
11 | # include "debugreg_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/debugreg.h b/include/asm-x86/debugreg_32.h index f0b2b06ae0f7..f0b2b06ae0f7 100644 --- a/include/asm-i386/debugreg.h +++ b/include/asm-x86/debugreg_32.h | |||
diff --git a/include/asm-x86_64/debugreg.h b/include/asm-x86/debugreg_64.h index bd1aab1d8c4a..bd1aab1d8c4a 100644 --- a/include/asm-x86_64/debugreg.h +++ b/include/asm-x86/debugreg_64.h | |||
diff --git a/include/asm-x86/delay.h b/include/asm-x86/delay.h new file mode 100644 index 000000000000..10f2c71d622b --- /dev/null +++ b/include/asm-x86/delay.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "delay_32.h" | ||
3 | #else | ||
4 | # include "delay_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/delay.h b/include/asm-x86/delay_32.h index 9ae5e3782ed8..9ae5e3782ed8 100644 --- a/include/asm-i386/delay.h +++ b/include/asm-x86/delay_32.h | |||
diff --git a/include/asm-x86_64/delay.h b/include/asm-x86/delay_64.h index c2669f1f5529..c2669f1f5529 100644 --- a/include/asm-x86_64/delay.h +++ b/include/asm-x86/delay_64.h | |||
diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h new file mode 100644 index 000000000000..6065c5092265 --- /dev/null +++ b/include/asm-x86/desc.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "desc_32.h" | ||
3 | #else | ||
4 | # include "desc_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/desc.h b/include/asm-x86/desc_32.h index c547403f341d..c547403f341d 100644 --- a/include/asm-i386/desc.h +++ b/include/asm-x86/desc_32.h | |||
diff --git a/include/asm-x86_64/desc.h b/include/asm-x86/desc_64.h index ac991b5ca0fd..ac991b5ca0fd 100644 --- a/include/asm-x86_64/desc.h +++ b/include/asm-x86/desc_64.h | |||
diff --git a/include/asm-x86_64/desc_defs.h b/include/asm-x86/desc_defs.h index 089004070099..089004070099 100644 --- a/include/asm-x86_64/desc_defs.h +++ b/include/asm-x86/desc_defs.h | |||
diff --git a/include/asm-x86/device.h b/include/asm-x86/device.h new file mode 100644 index 000000000000..e2bcf7c7dcee --- /dev/null +++ b/include/asm-x86/device.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "device_32.h" | ||
3 | #else | ||
4 | # include "device_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/device.h b/include/asm-x86/device_32.h index 849604c70e6b..849604c70e6b 100644 --- a/include/asm-i386/device.h +++ b/include/asm-x86/device_32.h | |||
diff --git a/include/asm-x86_64/device.h b/include/asm-x86/device_64.h index 3afa03f33a36..3afa03f33a36 100644 --- a/include/asm-x86_64/device.h +++ b/include/asm-x86/device_64.h | |||
diff --git a/include/asm-x86/div64.h b/include/asm-x86/div64.h new file mode 100644 index 000000000000..8ac7da6ca284 --- /dev/null +++ b/include/asm-x86/div64.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "div64_32.h" | ||
3 | #else | ||
4 | # include "div64_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/div64.h b/include/asm-x86/div64_32.h index 438e980068bd..438e980068bd 100644 --- a/include/asm-i386/div64.h +++ b/include/asm-x86/div64_32.h | |||
diff --git a/include/asm-x86_64/div64.h b/include/asm-x86/div64_64.h index 6cd978cefb28..6cd978cefb28 100644 --- a/include/asm-x86_64/div64.h +++ b/include/asm-x86/div64_64.h | |||
diff --git a/include/asm-x86/dma-mapping.h b/include/asm-x86/dma-mapping.h new file mode 100644 index 000000000000..58f790f4df52 --- /dev/null +++ b/include/asm-x86/dma-mapping.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "dma-mapping_32.h" | ||
3 | #else | ||
4 | # include "dma-mapping_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/dma-mapping.h b/include/asm-x86/dma-mapping_32.h index f1d72d177f68..f1d72d177f68 100644 --- a/include/asm-i386/dma-mapping.h +++ b/include/asm-x86/dma-mapping_32.h | |||
diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86/dma-mapping_64.h index 6897e2a436e5..6897e2a436e5 100644 --- a/include/asm-x86_64/dma-mapping.h +++ b/include/asm-x86/dma-mapping_64.h | |||
diff --git a/include/asm-x86/dma.h b/include/asm-x86/dma.h new file mode 100644 index 000000000000..9f936c61a4e5 --- /dev/null +++ b/include/asm-x86/dma.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "dma_32.h" | ||
3 | #else | ||
4 | # include "dma_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/dma.h b/include/asm-x86/dma_32.h index d23aac8e1a50..d23aac8e1a50 100644 --- a/include/asm-i386/dma.h +++ b/include/asm-x86/dma_32.h | |||
diff --git a/include/asm-x86_64/dma.h b/include/asm-x86/dma_64.h index a37c16f06289..a37c16f06289 100644 --- a/include/asm-x86_64/dma.h +++ b/include/asm-x86/dma_64.h | |||
diff --git a/include/asm-x86/dmi.h b/include/asm-x86/dmi.h new file mode 100644 index 000000000000..c9e4e8ebc270 --- /dev/null +++ b/include/asm-x86/dmi.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "dmi_32.h" | ||
3 | #else | ||
4 | # include "dmi_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/dmi.h b/include/asm-x86/dmi_32.h index 38d4eeb7fc7e..38d4eeb7fc7e 100644 --- a/include/asm-i386/dmi.h +++ b/include/asm-x86/dmi_32.h | |||
diff --git a/include/asm-x86_64/dmi.h b/include/asm-x86/dmi_64.h index d02e32e3c3f0..d02e32e3c3f0 100644 --- a/include/asm-x86_64/dmi.h +++ b/include/asm-x86/dmi_64.h | |||
diff --git a/include/asm-x86/dwarf2.h b/include/asm-x86/dwarf2.h new file mode 100644 index 000000000000..b3cbb0ccae18 --- /dev/null +++ b/include/asm-x86/dwarf2.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "dwarf2_32.h" | ||
3 | #else | ||
4 | # include "dwarf2_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/dwarf2.h b/include/asm-x86/dwarf2_32.h index 6d66398a307d..6d66398a307d 100644 --- a/include/asm-i386/dwarf2.h +++ b/include/asm-x86/dwarf2_32.h | |||
diff --git a/include/asm-x86_64/dwarf2.h b/include/asm-x86/dwarf2_64.h index eedc08526b0b..eedc08526b0b 100644 --- a/include/asm-x86_64/dwarf2.h +++ b/include/asm-x86/dwarf2_64.h | |||
diff --git a/include/asm-x86/e820.h b/include/asm-x86/e820.h new file mode 100644 index 000000000000..5d4d2183e5db --- /dev/null +++ b/include/asm-x86/e820.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "e820_32.h" | ||
3 | #else | ||
4 | # include "e820_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/e820.h b/include/asm-x86/e820_32.h index cf67dbb1db79..cf67dbb1db79 100644 --- a/include/asm-i386/e820.h +++ b/include/asm-x86/e820_32.h | |||
diff --git a/include/asm-x86_64/e820.h b/include/asm-x86/e820_64.h index 3486e701bd86..3486e701bd86 100644 --- a/include/asm-x86_64/e820.h +++ b/include/asm-x86/e820_64.h | |||
diff --git a/include/asm-x86/edac.h b/include/asm-x86/edac.h new file mode 100644 index 000000000000..f8b888e140b0 --- /dev/null +++ b/include/asm-x86/edac.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "edac_32.h" | ||
3 | #else | ||
4 | # include "edac_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/edac.h b/include/asm-x86/edac_32.h index 3e7dd0ab68ce..3e7dd0ab68ce 100644 --- a/include/asm-i386/edac.h +++ b/include/asm-x86/edac_32.h | |||
diff --git a/include/asm-x86_64/edac.h b/include/asm-x86/edac_64.h index cad1cd42b4ee..cad1cd42b4ee 100644 --- a/include/asm-x86_64/edac.h +++ b/include/asm-x86/edac_64.h | |||
diff --git a/include/asm-x86/elf.h b/include/asm-x86/elf.h new file mode 100644 index 000000000000..ed6bb6e546b9 --- /dev/null +++ b/include/asm-x86/elf.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "elf_32.h" | ||
4 | # else | ||
5 | # include "elf_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "elf_32.h" | ||
10 | # else | ||
11 | # include "elf_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/elf.h b/include/asm-x86/elf_32.h index b32df3a332da..b32df3a332da 100644 --- a/include/asm-i386/elf.h +++ b/include/asm-x86/elf_32.h | |||
diff --git a/include/asm-x86_64/elf.h b/include/asm-x86/elf_64.h index b4fbe47f6ccd..b4fbe47f6ccd 100644 --- a/include/asm-x86_64/elf.h +++ b/include/asm-x86/elf_64.h | |||
diff --git a/include/asm-i386/emergency-restart.h b/include/asm-x86/emergency-restart.h index 680c39563345..680c39563345 100644 --- a/include/asm-i386/emergency-restart.h +++ b/include/asm-x86/emergency-restart.h | |||
diff --git a/include/asm-x86/errno.h b/include/asm-x86/errno.h new file mode 100644 index 000000000000..9d511be8e573 --- /dev/null +++ b/include/asm-x86/errno.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "errno_32.h" | ||
4 | # else | ||
5 | # include "errno_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "errno_32.h" | ||
10 | # else | ||
11 | # include "errno_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/errno.h b/include/asm-x86/errno_32.h index 969b34374728..969b34374728 100644 --- a/include/asm-i386/errno.h +++ b/include/asm-x86/errno_32.h | |||
diff --git a/include/asm-x86_64/errno.h b/include/asm-x86/errno_64.h index 311182129e32..311182129e32 100644 --- a/include/asm-x86_64/errno.h +++ b/include/asm-x86/errno_64.h | |||
diff --git a/include/asm-x86/fb.h b/include/asm-x86/fb.h new file mode 100644 index 000000000000..238c7ca45877 --- /dev/null +++ b/include/asm-x86/fb.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "fb_32.h" | ||
3 | #else | ||
4 | # include "fb_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/fb.h b/include/asm-x86/fb_32.h index d1c6297d4a61..d1c6297d4a61 100644 --- a/include/asm-i386/fb.h +++ b/include/asm-x86/fb_32.h | |||
diff --git a/include/asm-x86_64/fb.h b/include/asm-x86/fb_64.h index 60548e651d12..60548e651d12 100644 --- a/include/asm-x86_64/fb.h +++ b/include/asm-x86/fb_64.h | |||
diff --git a/include/asm-i386/fcntl.h b/include/asm-x86/fcntl.h index 46ab12db5739..46ab12db5739 100644 --- a/include/asm-i386/fcntl.h +++ b/include/asm-x86/fcntl.h | |||
diff --git a/include/asm-x86/fixmap.h b/include/asm-x86/fixmap.h new file mode 100644 index 000000000000..382eb271a892 --- /dev/null +++ b/include/asm-x86/fixmap.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "fixmap_32.h" | ||
3 | #else | ||
4 | # include "fixmap_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/fixmap.h b/include/asm-x86/fixmap_32.h index 249e753ac805..249e753ac805 100644 --- a/include/asm-i386/fixmap.h +++ b/include/asm-x86/fixmap_32.h | |||
diff --git a/include/asm-x86_64/fixmap.h b/include/asm-x86/fixmap_64.h index cdfbe4a6ae6f..cdfbe4a6ae6f 100644 --- a/include/asm-x86_64/fixmap.h +++ b/include/asm-x86/fixmap_64.h | |||
diff --git a/include/asm-x86/floppy.h b/include/asm-x86/floppy.h new file mode 100644 index 000000000000..aecbb6dca21d --- /dev/null +++ b/include/asm-x86/floppy.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "floppy_32.h" | ||
3 | #else | ||
4 | # include "floppy_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/floppy.h b/include/asm-x86/floppy_32.h index 44ef2f55a8e9..44ef2f55a8e9 100644 --- a/include/asm-i386/floppy.h +++ b/include/asm-x86/floppy_32.h | |||
diff --git a/include/asm-x86_64/floppy.h b/include/asm-x86/floppy_64.h index 6ea13c3806f3..6ea13c3806f3 100644 --- a/include/asm-x86_64/floppy.h +++ b/include/asm-x86/floppy_64.h | |||
diff --git a/include/asm-x86_64/fpu32.h b/include/asm-x86/fpu32.h index 4153db5c0c31..4153db5c0c31 100644 --- a/include/asm-x86_64/fpu32.h +++ b/include/asm-x86/fpu32.h | |||
diff --git a/include/asm-i386/frame.i b/include/asm-x86/frame.i index 03620251ae17..03620251ae17 100644 --- a/include/asm-i386/frame.i +++ b/include/asm-x86/frame.i | |||
diff --git a/include/asm-x86/futex.h b/include/asm-x86/futex.h new file mode 100644 index 000000000000..1f4610e0c613 --- /dev/null +++ b/include/asm-x86/futex.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "futex_32.h" | ||
3 | #else | ||
4 | # include "futex_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/futex.h b/include/asm-x86/futex_32.h index 438ef0ec7101..438ef0ec7101 100644 --- a/include/asm-i386/futex.h +++ b/include/asm-x86/futex_32.h | |||
diff --git a/include/asm-x86_64/futex.h b/include/asm-x86/futex_64.h index 5cdfb08013c3..5cdfb08013c3 100644 --- a/include/asm-x86_64/futex.h +++ b/include/asm-x86/futex_64.h | |||
diff --git a/include/asm-x86/genapic.h b/include/asm-x86/genapic.h new file mode 100644 index 000000000000..d48bee663a6f --- /dev/null +++ b/include/asm-x86/genapic.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "genapic_32.h" | ||
3 | #else | ||
4 | # include "genapic_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/genapic.h b/include/asm-x86/genapic_32.h index 33e3ffe1766c..33e3ffe1766c 100644 --- a/include/asm-i386/genapic.h +++ b/include/asm-x86/genapic_32.h | |||
diff --git a/include/asm-x86_64/genapic.h b/include/asm-x86/genapic_64.h index d7e516ccbaa4..d7e516ccbaa4 100644 --- a/include/asm-x86_64/genapic.h +++ b/include/asm-x86/genapic_64.h | |||
diff --git a/include/asm-i386/geode.h b/include/asm-x86/geode.h index 6da4bbbea3dc..6da4bbbea3dc 100644 --- a/include/asm-i386/geode.h +++ b/include/asm-x86/geode.h | |||
diff --git a/include/asm-x86/hardirq.h b/include/asm-x86/hardirq.h new file mode 100644 index 000000000000..314434d664e7 --- /dev/null +++ b/include/asm-x86/hardirq.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "hardirq_32.h" | ||
3 | #else | ||
4 | # include "hardirq_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/hardirq.h b/include/asm-x86/hardirq_32.h index 0e358dc405f8..0e358dc405f8 100644 --- a/include/asm-i386/hardirq.h +++ b/include/asm-x86/hardirq_32.h | |||
diff --git a/include/asm-x86_64/hardirq.h b/include/asm-x86/hardirq_64.h index 95d5e090ed89..95d5e090ed89 100644 --- a/include/asm-x86_64/hardirq.h +++ b/include/asm-x86/hardirq_64.h | |||
diff --git a/include/asm-i386/highmem.h b/include/asm-x86/highmem.h index 13cdcd66fff2..13cdcd66fff2 100644 --- a/include/asm-i386/highmem.h +++ b/include/asm-x86/highmem.h | |||
diff --git a/include/asm-x86/hpet.h b/include/asm-x86/hpet.h new file mode 100644 index 000000000000..9eff48601254 --- /dev/null +++ b/include/asm-x86/hpet.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "hpet_32.h" | ||
3 | #else | ||
4 | # include "hpet_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/hpet.h b/include/asm-x86/hpet_32.h index c82dc7ed96b3..c82dc7ed96b3 100644 --- a/include/asm-i386/hpet.h +++ b/include/asm-x86/hpet_32.h | |||
diff --git a/include/asm-x86_64/hpet.h b/include/asm-x86/hpet_64.h index 79bb950f82c5..fd4decac93a8 100644 --- a/include/asm-x86_64/hpet.h +++ b/include/asm-x86/hpet_64.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _ASM_X8664_HPET_H | 1 | #ifndef _ASM_X8664_HPET_H |
2 | #define _ASM_X8664_HPET_H 1 | 2 | #define _ASM_X8664_HPET_H 1 |
3 | 3 | ||
4 | #include <asm-i386/hpet.h> | 4 | #include <asm/hpet_32.h> |
5 | 5 | ||
6 | #define HPET_TICK_RATE (HZ * 100000UL) | 6 | #define HPET_TICK_RATE (HZ * 100000UL) |
7 | 7 | ||
diff --git a/include/asm-x86/hw_irq.h b/include/asm-x86/hw_irq.h new file mode 100644 index 000000000000..bf025399d939 --- /dev/null +++ b/include/asm-x86/hw_irq.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "hw_irq_32.h" | ||
3 | #else | ||
4 | # include "hw_irq_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/hw_irq.h b/include/asm-x86/hw_irq_32.h index 0bedbdf5e907..0bedbdf5e907 100644 --- a/include/asm-i386/hw_irq.h +++ b/include/asm-x86/hw_irq_32.h | |||
diff --git a/include/asm-x86_64/hw_irq.h b/include/asm-x86/hw_irq_64.h index 09dfc18a6dd0..09dfc18a6dd0 100644 --- a/include/asm-x86_64/hw_irq.h +++ b/include/asm-x86/hw_irq_64.h | |||
diff --git a/include/asm-i386/hypertransport.h b/include/asm-x86/hypertransport.h index c16c6ff4bdd7..c16c6ff4bdd7 100644 --- a/include/asm-i386/hypertransport.h +++ b/include/asm-x86/hypertransport.h | |||
diff --git a/include/asm-x86/i387.h b/include/asm-x86/i387.h new file mode 100644 index 000000000000..a8bbed349664 --- /dev/null +++ b/include/asm-x86/i387.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "i387_32.h" | ||
3 | #else | ||
4 | # include "i387_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/i387.h b/include/asm-x86/i387_32.h index cdd1e248e3b4..cdd1e248e3b4 100644 --- a/include/asm-i386/i387.h +++ b/include/asm-x86/i387_32.h | |||
diff --git a/include/asm-x86_64/i387.h b/include/asm-x86/i387_64.h index 0217b74cc9fc..0217b74cc9fc 100644 --- a/include/asm-x86_64/i387.h +++ b/include/asm-x86/i387_64.h | |||
diff --git a/include/asm-x86/i8253.h b/include/asm-x86/i8253.h new file mode 100644 index 000000000000..b2a4f995a33f --- /dev/null +++ b/include/asm-x86/i8253.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "i8253_32.h" | ||
3 | #else | ||
4 | # include "i8253_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/i8253.h b/include/asm-x86/i8253_32.h index 7577d058d86e..7577d058d86e 100644 --- a/include/asm-i386/i8253.h +++ b/include/asm-x86/i8253_32.h | |||
diff --git a/include/asm-x86_64/i8253.h b/include/asm-x86/i8253_64.h index 015d8df07690..015d8df07690 100644 --- a/include/asm-x86_64/i8253.h +++ b/include/asm-x86/i8253_64.h | |||
diff --git a/include/asm-i386/i8259.h b/include/asm-x86/i8259.h index 29d8f9a6b3fc..29d8f9a6b3fc 100644 --- a/include/asm-i386/i8259.h +++ b/include/asm-x86/i8259.h | |||
diff --git a/include/asm-x86_64/ia32.h b/include/asm-x86/ia32.h index 0190b7c4e319..0190b7c4e319 100644 --- a/include/asm-x86_64/ia32.h +++ b/include/asm-x86/ia32.h | |||
diff --git a/include/asm-x86_64/ia32_unistd.h b/include/asm-x86/ia32_unistd.h index 5b52ce507338..5b52ce507338 100644 --- a/include/asm-x86_64/ia32_unistd.h +++ b/include/asm-x86/ia32_unistd.h | |||
diff --git a/include/asm-i386/ide.h b/include/asm-x86/ide.h index e7817a3d6578..e7817a3d6578 100644 --- a/include/asm-i386/ide.h +++ b/include/asm-x86/ide.h | |||
diff --git a/include/asm-x86_64/idle.h b/include/asm-x86/idle.h index 6bd47dcf2067..6bd47dcf2067 100644 --- a/include/asm-x86_64/idle.h +++ b/include/asm-x86/idle.h | |||
diff --git a/include/asm-x86/intel_arch_perfmon.h b/include/asm-x86/intel_arch_perfmon.h new file mode 100644 index 000000000000..4f6d4e6bf57e --- /dev/null +++ b/include/asm-x86/intel_arch_perfmon.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "intel_arch_perfmon_32.h" | ||
3 | #else | ||
4 | # include "intel_arch_perfmon_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/intel_arch_perfmon.h b/include/asm-x86/intel_arch_perfmon_32.h index b52cd60a075b..b52cd60a075b 100644 --- a/include/asm-i386/intel_arch_perfmon.h +++ b/include/asm-x86/intel_arch_perfmon_32.h | |||
diff --git a/include/asm-x86_64/intel_arch_perfmon.h b/include/asm-x86/intel_arch_perfmon_64.h index 8633331420ec..8633331420ec 100644 --- a/include/asm-x86_64/intel_arch_perfmon.h +++ b/include/asm-x86/intel_arch_perfmon_64.h | |||
diff --git a/include/asm-x86/io.h b/include/asm-x86/io.h new file mode 100644 index 000000000000..5a58b176dd61 --- /dev/null +++ b/include/asm-x86/io.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "io_32.h" | ||
3 | #else | ||
4 | # include "io_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/io.h b/include/asm-x86/io_32.h index e8e0bd641120..e8e0bd641120 100644 --- a/include/asm-i386/io.h +++ b/include/asm-x86/io_32.h | |||
diff --git a/include/asm-x86_64/io.h b/include/asm-x86/io_64.h index 7475095c5061..7475095c5061 100644 --- a/include/asm-x86_64/io.h +++ b/include/asm-x86/io_64.h | |||
diff --git a/include/asm-x86/io_apic.h b/include/asm-x86/io_apic.h new file mode 100644 index 000000000000..88494966beeb --- /dev/null +++ b/include/asm-x86/io_apic.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "io_apic_32.h" | ||
3 | #else | ||
4 | # include "io_apic_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/io_apic.h b/include/asm-x86/io_apic_32.h index dbe734ddf2af..dbe734ddf2af 100644 --- a/include/asm-i386/io_apic.h +++ b/include/asm-x86/io_apic_32.h | |||
diff --git a/include/asm-x86_64/io_apic.h b/include/asm-x86/io_apic_64.h index d9f2e54324d5..d9f2e54324d5 100644 --- a/include/asm-x86_64/io_apic.h +++ b/include/asm-x86/io_apic_64.h | |||
diff --git a/include/asm-i386/ioctl.h b/include/asm-x86/ioctl.h index b279fe06dfe5..b279fe06dfe5 100644 --- a/include/asm-i386/ioctl.h +++ b/include/asm-x86/ioctl.h | |||
diff --git a/include/asm-x86/ioctls.h b/include/asm-x86/ioctls.h new file mode 100644 index 000000000000..1e0fd48f18bc --- /dev/null +++ b/include/asm-x86/ioctls.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ioctls_32.h" | ||
4 | # else | ||
5 | # include "ioctls_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ioctls_32.h" | ||
10 | # else | ||
11 | # include "ioctls_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ioctls.h b/include/asm-x86/ioctls_32.h index ef5878762dc9..ef5878762dc9 100644 --- a/include/asm-i386/ioctls.h +++ b/include/asm-x86/ioctls_32.h | |||
diff --git a/include/asm-x86_64/ioctls.h b/include/asm-x86/ioctls_64.h index 3fc0b15a0d7e..3fc0b15a0d7e 100644 --- a/include/asm-x86_64/ioctls.h +++ b/include/asm-x86/ioctls_64.h | |||
diff --git a/include/asm-x86_64/iommu.h b/include/asm-x86/iommu.h index 5af471f228ee..5af471f228ee 100644 --- a/include/asm-x86_64/iommu.h +++ b/include/asm-x86/iommu.h | |||
diff --git a/include/asm-i386/ipc.h b/include/asm-x86/ipc.h index a46e3d9c2a3f..a46e3d9c2a3f 100644 --- a/include/asm-i386/ipc.h +++ b/include/asm-x86/ipc.h | |||
diff --git a/include/asm-x86/ipcbuf.h b/include/asm-x86/ipcbuf.h new file mode 100644 index 000000000000..eb2e448c6e28 --- /dev/null +++ b/include/asm-x86/ipcbuf.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ipcbuf_32.h" | ||
4 | # else | ||
5 | # include "ipcbuf_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ipcbuf_32.h" | ||
10 | # else | ||
11 | # include "ipcbuf_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ipcbuf.h b/include/asm-x86/ipcbuf_32.h index 0dcad4f84c2a..0dcad4f84c2a 100644 --- a/include/asm-i386/ipcbuf.h +++ b/include/asm-x86/ipcbuf_32.h | |||
diff --git a/include/asm-x86_64/ipcbuf.h b/include/asm-x86/ipcbuf_64.h index 470cf85e3ba8..470cf85e3ba8 100644 --- a/include/asm-x86_64/ipcbuf.h +++ b/include/asm-x86/ipcbuf_64.h | |||
diff --git a/include/asm-x86_64/ipi.h b/include/asm-x86/ipi.h index a7c75ea408a8..a7c75ea408a8 100644 --- a/include/asm-x86_64/ipi.h +++ b/include/asm-x86/ipi.h | |||
diff --git a/include/asm-x86/irq.h b/include/asm-x86/irq.h new file mode 100644 index 000000000000..7ba905465a53 --- /dev/null +++ b/include/asm-x86/irq.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "irq_32.h" | ||
3 | #else | ||
4 | # include "irq_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/irq.h b/include/asm-x86/irq_32.h index 36f310632c49..36f310632c49 100644 --- a/include/asm-i386/irq.h +++ b/include/asm-x86/irq_32.h | |||
diff --git a/include/asm-x86_64/irq.h b/include/asm-x86/irq_64.h index 5006c6e75656..5006c6e75656 100644 --- a/include/asm-x86_64/irq.h +++ b/include/asm-x86/irq_64.h | |||
diff --git a/include/asm-x86/irq_regs.h b/include/asm-x86/irq_regs.h new file mode 100644 index 000000000000..89c898ab298b --- /dev/null +++ b/include/asm-x86/irq_regs.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "irq_regs_32.h" | ||
3 | #else | ||
4 | # include "irq_regs_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/irq_regs.h b/include/asm-x86/irq_regs_32.h index 3368b20c0b48..3368b20c0b48 100644 --- a/include/asm-i386/irq_regs.h +++ b/include/asm-x86/irq_regs_32.h | |||
diff --git a/include/asm-x86_64/irq_regs.h b/include/asm-x86/irq_regs_64.h index 3dd9c0b70270..3dd9c0b70270 100644 --- a/include/asm-x86_64/irq_regs.h +++ b/include/asm-x86/irq_regs_64.h | |||
diff --git a/include/asm-x86/irqflags.h b/include/asm-x86/irqflags.h new file mode 100644 index 000000000000..1b695ff52687 --- /dev/null +++ b/include/asm-x86/irqflags.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "irqflags_32.h" | ||
3 | #else | ||
4 | # include "irqflags_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/irqflags.h b/include/asm-x86/irqflags_32.h index eff8585cb741..eff8585cb741 100644 --- a/include/asm-i386/irqflags.h +++ b/include/asm-x86/irqflags_32.h | |||
diff --git a/include/asm-x86_64/irqflags.h b/include/asm-x86/irqflags_64.h index 86e70fe23659..86e70fe23659 100644 --- a/include/asm-x86_64/irqflags.h +++ b/include/asm-x86/irqflags_64.h | |||
diff --git a/include/asm-i386/ist.h b/include/asm-x86/ist.h index ef2003ebc6f9..ef2003ebc6f9 100644 --- a/include/asm-i386/ist.h +++ b/include/asm-x86/ist.h | |||
diff --git a/include/asm-x86_64/k8.h b/include/asm-x86/k8.h index 699dd6961eda..699dd6961eda 100644 --- a/include/asm-x86_64/k8.h +++ b/include/asm-x86/k8.h | |||
diff --git a/include/asm-x86/kdebug.h b/include/asm-x86/kdebug.h new file mode 100644 index 000000000000..38479106c259 --- /dev/null +++ b/include/asm-x86/kdebug.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "kdebug_32.h" | ||
3 | #else | ||
4 | # include "kdebug_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/kdebug.h b/include/asm-x86/kdebug_32.h index a185b5f73e7f..a185b5f73e7f 100644 --- a/include/asm-i386/kdebug.h +++ b/include/asm-x86/kdebug_32.h | |||
diff --git a/include/asm-x86_64/kdebug.h b/include/asm-x86/kdebug_64.h index d7e2bcf49e4f..d7e2bcf49e4f 100644 --- a/include/asm-x86_64/kdebug.h +++ b/include/asm-x86/kdebug_64.h | |||
diff --git a/include/asm-x86/kexec.h b/include/asm-x86/kexec.h new file mode 100644 index 000000000000..718ddbfb9516 --- /dev/null +++ b/include/asm-x86/kexec.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "kexec_32.h" | ||
3 | #else | ||
4 | # include "kexec_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/kexec.h b/include/asm-x86/kexec_32.h index 4b9dc9e6b701..4b9dc9e6b701 100644 --- a/include/asm-i386/kexec.h +++ b/include/asm-x86/kexec_32.h | |||
diff --git a/include/asm-x86_64/kexec.h b/include/asm-x86/kexec_64.h index 738e581b67f8..738e581b67f8 100644 --- a/include/asm-x86_64/kexec.h +++ b/include/asm-x86/kexec_64.h | |||
diff --git a/include/asm-x86/kmap_types.h b/include/asm-x86/kmap_types.h new file mode 100644 index 000000000000..e4ec724b298e --- /dev/null +++ b/include/asm-x86/kmap_types.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "kmap_types_32.h" | ||
3 | #else | ||
4 | # include "kmap_types_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/kmap_types.h b/include/asm-x86/kmap_types_32.h index 806aae3c5338..806aae3c5338 100644 --- a/include/asm-i386/kmap_types.h +++ b/include/asm-x86/kmap_types_32.h | |||
diff --git a/include/asm-x86_64/kmap_types.h b/include/asm-x86/kmap_types_64.h index 7486338c6cea..7486338c6cea 100644 --- a/include/asm-x86_64/kmap_types.h +++ b/include/asm-x86/kmap_types_64.h | |||
diff --git a/include/asm-x86/kprobes.h b/include/asm-x86/kprobes.h new file mode 100644 index 000000000000..b7bbd25ba2a6 --- /dev/null +++ b/include/asm-x86/kprobes.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "kprobes_32.h" | ||
3 | #else | ||
4 | # include "kprobes_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/kprobes.h b/include/asm-x86/kprobes_32.h index 06f7303c30ca..06f7303c30ca 100644 --- a/include/asm-i386/kprobes.h +++ b/include/asm-x86/kprobes_32.h | |||
diff --git a/include/asm-x86_64/kprobes.h b/include/asm-x86/kprobes_64.h index 7db825403e01..7db825403e01 100644 --- a/include/asm-x86_64/kprobes.h +++ b/include/asm-x86/kprobes_64.h | |||
diff --git a/include/asm-x86/ldt.h b/include/asm-x86/ldt.h new file mode 100644 index 000000000000..3d9cc20d2ba4 --- /dev/null +++ b/include/asm-x86/ldt.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ldt_32.h" | ||
4 | # else | ||
5 | # include "ldt_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ldt_32.h" | ||
10 | # else | ||
11 | # include "ldt_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ldt.h b/include/asm-x86/ldt_32.h index e9d3de1dee6c..e9d3de1dee6c 100644 --- a/include/asm-i386/ldt.h +++ b/include/asm-x86/ldt_32.h | |||
diff --git a/include/asm-x86_64/ldt.h b/include/asm-x86/ldt_64.h index 9ef647b890d2..9ef647b890d2 100644 --- a/include/asm-x86_64/ldt.h +++ b/include/asm-x86/ldt_64.h | |||
diff --git a/include/asm-x86/linkage.h b/include/asm-x86/linkage.h new file mode 100644 index 000000000000..94b257fa8701 --- /dev/null +++ b/include/asm-x86/linkage.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "linkage_32.h" | ||
3 | #else | ||
4 | # include "linkage_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/linkage.h b/include/asm-x86/linkage_32.h index f4a6ebac0247..f4a6ebac0247 100644 --- a/include/asm-i386/linkage.h +++ b/include/asm-x86/linkage_32.h | |||
diff --git a/include/asm-x86_64/linkage.h b/include/asm-x86/linkage_64.h index b5f39d0189ce..b5f39d0189ce 100644 --- a/include/asm-x86_64/linkage.h +++ b/include/asm-x86/linkage_64.h | |||
diff --git a/include/asm-x86/local.h b/include/asm-x86/local.h new file mode 100644 index 000000000000..c7a1b1c66c96 --- /dev/null +++ b/include/asm-x86/local.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "local_32.h" | ||
3 | #else | ||
4 | # include "local_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/local.h b/include/asm-x86/local_32.h index 6e85975b9ed2..6e85975b9ed2 100644 --- a/include/asm-i386/local.h +++ b/include/asm-x86/local_32.h | |||
diff --git a/include/asm-x86_64/local.h b/include/asm-x86/local_64.h index e87492bb0693..e87492bb0693 100644 --- a/include/asm-x86_64/local.h +++ b/include/asm-x86/local_64.h | |||
diff --git a/include/asm-i386/mach-bigsmp/mach_apic.h b/include/asm-x86/mach-bigsmp/mach_apic.h index ebd319f838ab..ebd319f838ab 100644 --- a/include/asm-i386/mach-bigsmp/mach_apic.h +++ b/include/asm-x86/mach-bigsmp/mach_apic.h | |||
diff --git a/include/asm-i386/mach-bigsmp/mach_apicdef.h b/include/asm-x86/mach-bigsmp/mach_apicdef.h index a58ab5a75c8c..a58ab5a75c8c 100644 --- a/include/asm-i386/mach-bigsmp/mach_apicdef.h +++ b/include/asm-x86/mach-bigsmp/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-bigsmp/mach_ipi.h b/include/asm-x86/mach-bigsmp/mach_ipi.h index 9404c535b7ec..9404c535b7ec 100644 --- a/include/asm-i386/mach-bigsmp/mach_ipi.h +++ b/include/asm-x86/mach-bigsmp/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-bigsmp/mach_mpspec.h b/include/asm-x86/mach-bigsmp/mach_mpspec.h index 6b5dadcf1d0e..6b5dadcf1d0e 100644 --- a/include/asm-i386/mach-bigsmp/mach_mpspec.h +++ b/include/asm-x86/mach-bigsmp/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-default/apm.h b/include/asm-x86/mach-default/apm.h index 1f730b8bd1fd..1f730b8bd1fd 100644 --- a/include/asm-i386/mach-default/apm.h +++ b/include/asm-x86/mach-default/apm.h | |||
diff --git a/include/asm-i386/mach-default/bios_ebda.h b/include/asm-x86/mach-default/bios_ebda.h index 9cbd9a668af8..9cbd9a668af8 100644 --- a/include/asm-i386/mach-default/bios_ebda.h +++ b/include/asm-x86/mach-default/bios_ebda.h | |||
diff --git a/include/asm-i386/mach-default/do_timer.h b/include/asm-x86/mach-default/do_timer.h index 23ecda0b28a0..23ecda0b28a0 100644 --- a/include/asm-i386/mach-default/do_timer.h +++ b/include/asm-x86/mach-default/do_timer.h | |||
diff --git a/include/asm-i386/mach-default/entry_arch.h b/include/asm-x86/mach-default/entry_arch.h index bc861469bdba..bc861469bdba 100644 --- a/include/asm-i386/mach-default/entry_arch.h +++ b/include/asm-x86/mach-default/entry_arch.h | |||
diff --git a/include/asm-i386/mach-default/io_ports.h b/include/asm-x86/mach-default/io_ports.h index 48540ba97166..48540ba97166 100644 --- a/include/asm-i386/mach-default/io_ports.h +++ b/include/asm-x86/mach-default/io_ports.h | |||
diff --git a/include/asm-i386/mach-default/irq_vectors.h b/include/asm-x86/mach-default/irq_vectors.h index 881c63ca61ad..881c63ca61ad 100644 --- a/include/asm-i386/mach-default/irq_vectors.h +++ b/include/asm-x86/mach-default/irq_vectors.h | |||
diff --git a/include/asm-i386/mach-default/irq_vectors_limits.h b/include/asm-x86/mach-default/irq_vectors_limits.h index a90c7a60109f..a90c7a60109f 100644 --- a/include/asm-i386/mach-default/irq_vectors_limits.h +++ b/include/asm-x86/mach-default/irq_vectors_limits.h | |||
diff --git a/include/asm-i386/mach-default/mach_apic.h b/include/asm-x86/mach-default/mach_apic.h index 6db1c3babe9a..6db1c3babe9a 100644 --- a/include/asm-i386/mach-default/mach_apic.h +++ b/include/asm-x86/mach-default/mach_apic.h | |||
diff --git a/include/asm-i386/mach-default/mach_apicdef.h b/include/asm-x86/mach-default/mach_apicdef.h index 7bcb350c3ee8..7bcb350c3ee8 100644 --- a/include/asm-i386/mach-default/mach_apicdef.h +++ b/include/asm-x86/mach-default/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-default/mach_ipi.h b/include/asm-x86/mach-default/mach_ipi.h index 0dba244c86db..0dba244c86db 100644 --- a/include/asm-i386/mach-default/mach_ipi.h +++ b/include/asm-x86/mach-default/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-default/mach_mpparse.h b/include/asm-x86/mach-default/mach_mpparse.h index 1d3832482580..1d3832482580 100644 --- a/include/asm-i386/mach-default/mach_mpparse.h +++ b/include/asm-x86/mach-default/mach_mpparse.h | |||
diff --git a/include/asm-i386/mach-default/mach_mpspec.h b/include/asm-x86/mach-default/mach_mpspec.h index 51c9a9775932..51c9a9775932 100644 --- a/include/asm-i386/mach-default/mach_mpspec.h +++ b/include/asm-x86/mach-default/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-default/mach_reboot.h b/include/asm-x86/mach-default/mach_reboot.h index e23fd9fbebb3..e23fd9fbebb3 100644 --- a/include/asm-i386/mach-default/mach_reboot.h +++ b/include/asm-x86/mach-default/mach_reboot.h | |||
diff --git a/include/asm-i386/mach-default/mach_time.h b/include/asm-x86/mach-default/mach_time.h index 31eb5de6f3dc..31eb5de6f3dc 100644 --- a/include/asm-i386/mach-default/mach_time.h +++ b/include/asm-x86/mach-default/mach_time.h | |||
diff --git a/include/asm-i386/mach-default/mach_timer.h b/include/asm-x86/mach-default/mach_timer.h index 807992fd4171..807992fd4171 100644 --- a/include/asm-i386/mach-default/mach_timer.h +++ b/include/asm-x86/mach-default/mach_timer.h | |||
diff --git a/include/asm-i386/mach-default/mach_traps.h b/include/asm-x86/mach-default/mach_traps.h index 625438b8a6eb..625438b8a6eb 100644 --- a/include/asm-i386/mach-default/mach_traps.h +++ b/include/asm-x86/mach-default/mach_traps.h | |||
diff --git a/include/asm-i386/mach-default/mach_wakecpu.h b/include/asm-x86/mach-default/mach_wakecpu.h index 3ebb17893aa5..3ebb17893aa5 100644 --- a/include/asm-i386/mach-default/mach_wakecpu.h +++ b/include/asm-x86/mach-default/mach_wakecpu.h | |||
diff --git a/include/asm-i386/mach-default/pci-functions.h b/include/asm-x86/mach-default/pci-functions.h index ed0bab427354..ed0bab427354 100644 --- a/include/asm-i386/mach-default/pci-functions.h +++ b/include/asm-x86/mach-default/pci-functions.h | |||
diff --git a/include/asm-i386/mach-default/setup_arch.h b/include/asm-x86/mach-default/setup_arch.h index 605e3ccb991b..605e3ccb991b 100644 --- a/include/asm-i386/mach-default/setup_arch.h +++ b/include/asm-x86/mach-default/setup_arch.h | |||
diff --git a/include/asm-i386/mach-default/smpboot_hooks.h b/include/asm-x86/mach-default/smpboot_hooks.h index 7f45f6311059..7f45f6311059 100644 --- a/include/asm-i386/mach-default/smpboot_hooks.h +++ b/include/asm-x86/mach-default/smpboot_hooks.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_apic.h b/include/asm-x86/mach-es7000/mach_apic.h index caec64be516d..caec64be516d 100644 --- a/include/asm-i386/mach-es7000/mach_apic.h +++ b/include/asm-x86/mach-es7000/mach_apic.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_apicdef.h b/include/asm-x86/mach-es7000/mach_apicdef.h index a58ab5a75c8c..a58ab5a75c8c 100644 --- a/include/asm-i386/mach-es7000/mach_apicdef.h +++ b/include/asm-x86/mach-es7000/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_ipi.h b/include/asm-x86/mach-es7000/mach_ipi.h index 5e61bd220b06..5e61bd220b06 100644 --- a/include/asm-i386/mach-es7000/mach_ipi.h +++ b/include/asm-x86/mach-es7000/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_mpparse.h b/include/asm-x86/mach-es7000/mach_mpparse.h index 8aa10547b4b1..8aa10547b4b1 100644 --- a/include/asm-i386/mach-es7000/mach_mpparse.h +++ b/include/asm-x86/mach-es7000/mach_mpparse.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_mpspec.h b/include/asm-x86/mach-es7000/mach_mpspec.h index b1f5039d4506..b1f5039d4506 100644 --- a/include/asm-i386/mach-es7000/mach_mpspec.h +++ b/include/asm-x86/mach-es7000/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-es7000/mach_wakecpu.h b/include/asm-x86/mach-es7000/mach_wakecpu.h index 84ff58314501..84ff58314501 100644 --- a/include/asm-i386/mach-es7000/mach_wakecpu.h +++ b/include/asm-x86/mach-es7000/mach_wakecpu.h | |||
diff --git a/include/asm-i386/mach-generic/irq_vectors_limits.h b/include/asm-x86/mach-generic/irq_vectors_limits.h index 890ce3f5e09a..890ce3f5e09a 100644 --- a/include/asm-i386/mach-generic/irq_vectors_limits.h +++ b/include/asm-x86/mach-generic/irq_vectors_limits.h | |||
diff --git a/include/asm-i386/mach-generic/mach_apic.h b/include/asm-x86/mach-generic/mach_apic.h index a236e7021528..a236e7021528 100644 --- a/include/asm-i386/mach-generic/mach_apic.h +++ b/include/asm-x86/mach-generic/mach_apic.h | |||
diff --git a/include/asm-i386/mach-generic/mach_apicdef.h b/include/asm-x86/mach-generic/mach_apicdef.h index 28ed98972ca8..28ed98972ca8 100644 --- a/include/asm-i386/mach-generic/mach_apicdef.h +++ b/include/asm-x86/mach-generic/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-generic/mach_ipi.h b/include/asm-x86/mach-generic/mach_ipi.h index 441b0fe3ed1d..441b0fe3ed1d 100644 --- a/include/asm-i386/mach-generic/mach_ipi.h +++ b/include/asm-x86/mach-generic/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-generic/mach_mpparse.h b/include/asm-x86/mach-generic/mach_mpparse.h index dbd9fce54f4d..dbd9fce54f4d 100644 --- a/include/asm-i386/mach-generic/mach_mpparse.h +++ b/include/asm-x86/mach-generic/mach_mpparse.h | |||
diff --git a/include/asm-i386/mach-generic/mach_mpspec.h b/include/asm-x86/mach-generic/mach_mpspec.h index 9ef0b941bb22..9ef0b941bb22 100644 --- a/include/asm-i386/mach-generic/mach_mpspec.h +++ b/include/asm-x86/mach-generic/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_apic.h b/include/asm-x86/mach-numaq/mach_apic.h index 5e5e7dd2692e..5e5e7dd2692e 100644 --- a/include/asm-i386/mach-numaq/mach_apic.h +++ b/include/asm-x86/mach-numaq/mach_apic.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_apicdef.h b/include/asm-x86/mach-numaq/mach_apicdef.h index bf439d0690f5..bf439d0690f5 100644 --- a/include/asm-i386/mach-numaq/mach_apicdef.h +++ b/include/asm-x86/mach-numaq/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_ipi.h b/include/asm-x86/mach-numaq/mach_ipi.h index c6044488e9e6..c6044488e9e6 100644 --- a/include/asm-i386/mach-numaq/mach_ipi.h +++ b/include/asm-x86/mach-numaq/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_mpparse.h b/include/asm-x86/mach-numaq/mach_mpparse.h index 51bbac8fc0c2..51bbac8fc0c2 100644 --- a/include/asm-i386/mach-numaq/mach_mpparse.h +++ b/include/asm-x86/mach-numaq/mach_mpparse.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_mpspec.h b/include/asm-x86/mach-numaq/mach_mpspec.h index dffb09856f8f..dffb09856f8f 100644 --- a/include/asm-i386/mach-numaq/mach_mpspec.h +++ b/include/asm-x86/mach-numaq/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-numaq/mach_wakecpu.h b/include/asm-x86/mach-numaq/mach_wakecpu.h index 00530041a991..00530041a991 100644 --- a/include/asm-i386/mach-numaq/mach_wakecpu.h +++ b/include/asm-x86/mach-numaq/mach_wakecpu.h | |||
diff --git a/include/asm-i386/mach-summit/irq_vectors_limits.h b/include/asm-x86/mach-summit/irq_vectors_limits.h index 890ce3f5e09a..890ce3f5e09a 100644 --- a/include/asm-i386/mach-summit/irq_vectors_limits.h +++ b/include/asm-x86/mach-summit/irq_vectors_limits.h | |||
diff --git a/include/asm-i386/mach-summit/mach_apic.h b/include/asm-x86/mach-summit/mach_apic.h index 732f776aab8e..732f776aab8e 100644 --- a/include/asm-i386/mach-summit/mach_apic.h +++ b/include/asm-x86/mach-summit/mach_apic.h | |||
diff --git a/include/asm-i386/mach-summit/mach_apicdef.h b/include/asm-x86/mach-summit/mach_apicdef.h index a58ab5a75c8c..a58ab5a75c8c 100644 --- a/include/asm-i386/mach-summit/mach_apicdef.h +++ b/include/asm-x86/mach-summit/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-summit/mach_ipi.h b/include/asm-x86/mach-summit/mach_ipi.h index 9404c535b7ec..9404c535b7ec 100644 --- a/include/asm-i386/mach-summit/mach_ipi.h +++ b/include/asm-x86/mach-summit/mach_ipi.h | |||
diff --git a/include/asm-i386/mach-summit/mach_mpparse.h b/include/asm-x86/mach-summit/mach_mpparse.h index c2520539d934..c2520539d934 100644 --- a/include/asm-i386/mach-summit/mach_mpparse.h +++ b/include/asm-x86/mach-summit/mach_mpparse.h | |||
diff --git a/include/asm-i386/mach-summit/mach_mpspec.h b/include/asm-x86/mach-summit/mach_mpspec.h index bd765523511a..bd765523511a 100644 --- a/include/asm-i386/mach-summit/mach_mpspec.h +++ b/include/asm-x86/mach-summit/mach_mpspec.h | |||
diff --git a/include/asm-i386/mach-visws/cobalt.h b/include/asm-x86/mach-visws/cobalt.h index 33c36225a042..33c36225a042 100644 --- a/include/asm-i386/mach-visws/cobalt.h +++ b/include/asm-x86/mach-visws/cobalt.h | |||
diff --git a/include/asm-i386/mach-visws/entry_arch.h b/include/asm-x86/mach-visws/entry_arch.h index b183fa6d83d9..b183fa6d83d9 100644 --- a/include/asm-i386/mach-visws/entry_arch.h +++ b/include/asm-x86/mach-visws/entry_arch.h | |||
diff --git a/include/asm-i386/mach-visws/irq_vectors.h b/include/asm-x86/mach-visws/irq_vectors.h index cb572d8db505..cb572d8db505 100644 --- a/include/asm-i386/mach-visws/irq_vectors.h +++ b/include/asm-x86/mach-visws/irq_vectors.h | |||
diff --git a/include/asm-i386/mach-visws/lithium.h b/include/asm-x86/mach-visws/lithium.h index d443e68d0066..d443e68d0066 100644 --- a/include/asm-i386/mach-visws/lithium.h +++ b/include/asm-x86/mach-visws/lithium.h | |||
diff --git a/include/asm-i386/mach-visws/mach_apic.h b/include/asm-x86/mach-visws/mach_apic.h index efac6f0d139f..efac6f0d139f 100644 --- a/include/asm-i386/mach-visws/mach_apic.h +++ b/include/asm-x86/mach-visws/mach_apic.h | |||
diff --git a/include/asm-i386/mach-visws/mach_apicdef.h b/include/asm-x86/mach-visws/mach_apicdef.h index 826cfa97d778..826cfa97d778 100644 --- a/include/asm-i386/mach-visws/mach_apicdef.h +++ b/include/asm-x86/mach-visws/mach_apicdef.h | |||
diff --git a/include/asm-i386/mach-visws/piix4.h b/include/asm-x86/mach-visws/piix4.h index 83ea4f46e419..83ea4f46e419 100644 --- a/include/asm-i386/mach-visws/piix4.h +++ b/include/asm-x86/mach-visws/piix4.h | |||
diff --git a/include/asm-i386/mach-visws/setup_arch.h b/include/asm-x86/mach-visws/setup_arch.h index 33f700ef6831..33f700ef6831 100644 --- a/include/asm-i386/mach-visws/setup_arch.h +++ b/include/asm-x86/mach-visws/setup_arch.h | |||
diff --git a/include/asm-i386/mach-visws/smpboot_hooks.h b/include/asm-x86/mach-visws/smpboot_hooks.h index d926471fa359..d926471fa359 100644 --- a/include/asm-i386/mach-visws/smpboot_hooks.h +++ b/include/asm-x86/mach-visws/smpboot_hooks.h | |||
diff --git a/include/asm-i386/mach-voyager/do_timer.h b/include/asm-x86/mach-voyager/do_timer.h index bc2b58926308..bc2b58926308 100644 --- a/include/asm-i386/mach-voyager/do_timer.h +++ b/include/asm-x86/mach-voyager/do_timer.h | |||
diff --git a/include/asm-i386/mach-voyager/entry_arch.h b/include/asm-x86/mach-voyager/entry_arch.h index 4a1e1e8c10b6..4a1e1e8c10b6 100644 --- a/include/asm-i386/mach-voyager/entry_arch.h +++ b/include/asm-x86/mach-voyager/entry_arch.h | |||
diff --git a/include/asm-i386/mach-voyager/irq_vectors.h b/include/asm-x86/mach-voyager/irq_vectors.h index 165421f5821c..165421f5821c 100644 --- a/include/asm-i386/mach-voyager/irq_vectors.h +++ b/include/asm-x86/mach-voyager/irq_vectors.h | |||
diff --git a/include/asm-i386/mach-voyager/setup_arch.h b/include/asm-x86/mach-voyager/setup_arch.h index 84d01ad33459..84d01ad33459 100644 --- a/include/asm-i386/mach-voyager/setup_arch.h +++ b/include/asm-x86/mach-voyager/setup_arch.h | |||
diff --git a/include/asm-x86_64/mach_apic.h b/include/asm-x86/mach_apic.h index 7b7115a0c1c9..7b7115a0c1c9 100644 --- a/include/asm-x86_64/mach_apic.h +++ b/include/asm-x86/mach_apic.h | |||
diff --git a/include/asm-i386/math_emu.h b/include/asm-x86/math_emu.h index a4b0aa3320e6..a4b0aa3320e6 100644 --- a/include/asm-i386/math_emu.h +++ b/include/asm-x86/math_emu.h | |||
diff --git a/include/asm-x86/mc146818rtc.h b/include/asm-x86/mc146818rtc.h new file mode 100644 index 000000000000..5c2bb66caf17 --- /dev/null +++ b/include/asm-x86/mc146818rtc.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mc146818rtc_32.h" | ||
3 | #else | ||
4 | # include "mc146818rtc_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mc146818rtc.h b/include/asm-x86/mc146818rtc_32.h index 1613b42eaf58..1613b42eaf58 100644 --- a/include/asm-i386/mc146818rtc.h +++ b/include/asm-x86/mc146818rtc_32.h | |||
diff --git a/include/asm-x86_64/mc146818rtc.h b/include/asm-x86/mc146818rtc_64.h index d6e3009430c1..d6e3009430c1 100644 --- a/include/asm-x86_64/mc146818rtc.h +++ b/include/asm-x86/mc146818rtc_64.h | |||
diff --git a/include/asm-i386/mca.h b/include/asm-x86/mca.h index 09adf2eac4dc..09adf2eac4dc 100644 --- a/include/asm-i386/mca.h +++ b/include/asm-x86/mca.h | |||
diff --git a/include/asm-i386/mca_dma.h b/include/asm-x86/mca_dma.h index fbb1f3b71279..fbb1f3b71279 100644 --- a/include/asm-i386/mca_dma.h +++ b/include/asm-x86/mca_dma.h | |||
diff --git a/include/asm-x86/mce.h b/include/asm-x86/mce.h new file mode 100644 index 000000000000..cc8ca389912e --- /dev/null +++ b/include/asm-x86/mce.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mce_32.h" | ||
3 | #else | ||
4 | # include "mce_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mce.h b/include/asm-x86/mce_32.h index d56d89742e8f..d56d89742e8f 100644 --- a/include/asm-i386/mce.h +++ b/include/asm-x86/mce_32.h | |||
diff --git a/include/asm-x86_64/mce.h b/include/asm-x86/mce_64.h index 7bc030a1996d..7bc030a1996d 100644 --- a/include/asm-x86_64/mce.h +++ b/include/asm-x86/mce_64.h | |||
diff --git a/include/asm-x86/mman.h b/include/asm-x86/mman.h new file mode 100644 index 000000000000..322db07e82c3 --- /dev/null +++ b/include/asm-x86/mman.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "mman_32.h" | ||
4 | # else | ||
5 | # include "mman_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "mman_32.h" | ||
10 | # else | ||
11 | # include "mman_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/mman.h b/include/asm-x86/mman_32.h index 8fd9d7ab7faf..8fd9d7ab7faf 100644 --- a/include/asm-i386/mman.h +++ b/include/asm-x86/mman_32.h | |||
diff --git a/include/asm-x86_64/mman.h b/include/asm-x86/mman_64.h index dd5cb0534d37..dd5cb0534d37 100644 --- a/include/asm-x86_64/mman.h +++ b/include/asm-x86/mman_64.h | |||
diff --git a/include/asm-x86_64/mmsegment.h b/include/asm-x86/mmsegment.h index d3f80c996330..d3f80c996330 100644 --- a/include/asm-x86_64/mmsegment.h +++ b/include/asm-x86/mmsegment.h | |||
diff --git a/include/asm-x86/mmu.h b/include/asm-x86/mmu.h new file mode 100644 index 000000000000..9c628cd70e23 --- /dev/null +++ b/include/asm-x86/mmu.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mmu_32.h" | ||
3 | #else | ||
4 | # include "mmu_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mmu.h b/include/asm-x86/mmu_32.h index 8358dd3df7aa..8358dd3df7aa 100644 --- a/include/asm-i386/mmu.h +++ b/include/asm-x86/mmu_32.h | |||
diff --git a/include/asm-x86_64/mmu.h b/include/asm-x86/mmu_64.h index d2cd4a9d984d..d2cd4a9d984d 100644 --- a/include/asm-x86_64/mmu.h +++ b/include/asm-x86/mmu_64.h | |||
diff --git a/include/asm-x86/mmu_context.h b/include/asm-x86/mmu_context.h new file mode 100644 index 000000000000..6598450da6c6 --- /dev/null +++ b/include/asm-x86/mmu_context.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mmu_context_32.h" | ||
3 | #else | ||
4 | # include "mmu_context_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mmu_context.h b/include/asm-x86/mmu_context_32.h index 7eb0b0b1fb3c..7eb0b0b1fb3c 100644 --- a/include/asm-i386/mmu_context.h +++ b/include/asm-x86/mmu_context_32.h | |||
diff --git a/include/asm-x86_64/mmu_context.h b/include/asm-x86/mmu_context_64.h index 0cce83a78378..0cce83a78378 100644 --- a/include/asm-x86_64/mmu_context.h +++ b/include/asm-x86/mmu_context_64.h | |||
diff --git a/include/asm-i386/mmx.h b/include/asm-x86/mmx.h index 46b71da99869..46b71da99869 100644 --- a/include/asm-i386/mmx.h +++ b/include/asm-x86/mmx.h | |||
diff --git a/include/asm-x86/mmzone.h b/include/asm-x86/mmzone.h new file mode 100644 index 000000000000..64217ea16a36 --- /dev/null +++ b/include/asm-x86/mmzone.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mmzone_32.h" | ||
3 | #else | ||
4 | # include "mmzone_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mmzone.h b/include/asm-x86/mmzone_32.h index 118e9812778f..118e9812778f 100644 --- a/include/asm-i386/mmzone.h +++ b/include/asm-x86/mmzone_32.h | |||
diff --git a/include/asm-x86_64/mmzone.h b/include/asm-x86/mmzone_64.h index 19a89377b123..19a89377b123 100644 --- a/include/asm-x86_64/mmzone.h +++ b/include/asm-x86/mmzone_64.h | |||
diff --git a/include/asm-x86/module.h b/include/asm-x86/module.h new file mode 100644 index 000000000000..2b2f18d8a531 --- /dev/null +++ b/include/asm-x86/module.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "module_32.h" | ||
3 | #else | ||
4 | # include "module_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/module.h b/include/asm-x86/module_32.h index 7e5fda6c3976..7e5fda6c3976 100644 --- a/include/asm-i386/module.h +++ b/include/asm-x86/module_32.h | |||
diff --git a/include/asm-x86_64/module.h b/include/asm-x86/module_64.h index 67f8f69fa7b1..67f8f69fa7b1 100644 --- a/include/asm-x86_64/module.h +++ b/include/asm-x86/module_64.h | |||
diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h new file mode 100644 index 000000000000..8f268e8fd2e9 --- /dev/null +++ b/include/asm-x86/mpspec.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mpspec_32.h" | ||
3 | #else | ||
4 | # include "mpspec_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mpspec.h b/include/asm-x86/mpspec_32.h index f21349399d14..f21349399d14 100644 --- a/include/asm-i386/mpspec.h +++ b/include/asm-x86/mpspec_32.h | |||
diff --git a/include/asm-x86_64/mpspec.h b/include/asm-x86/mpspec_64.h index 017fddb61dc5..017fddb61dc5 100644 --- a/include/asm-x86_64/mpspec.h +++ b/include/asm-x86/mpspec_64.h | |||
diff --git a/include/asm-i386/mpspec_def.h b/include/asm-x86/mpspec_def.h index 13bafb16e7af..13bafb16e7af 100644 --- a/include/asm-i386/mpspec_def.h +++ b/include/asm-x86/mpspec_def.h | |||
diff --git a/include/asm-x86/msgbuf.h b/include/asm-x86/msgbuf.h new file mode 100644 index 000000000000..154f7d64e862 --- /dev/null +++ b/include/asm-x86/msgbuf.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "msgbuf_32.h" | ||
4 | # else | ||
5 | # include "msgbuf_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "msgbuf_32.h" | ||
10 | # else | ||
11 | # include "msgbuf_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/msgbuf.h b/include/asm-x86/msgbuf_32.h index b8d659c157ae..b8d659c157ae 100644 --- a/include/asm-i386/msgbuf.h +++ b/include/asm-x86/msgbuf_32.h | |||
diff --git a/include/asm-x86_64/msgbuf.h b/include/asm-x86/msgbuf_64.h index cd6f95dd54da..cd6f95dd54da 100644 --- a/include/asm-x86_64/msgbuf.h +++ b/include/asm-x86/msgbuf_64.h | |||
diff --git a/include/asm-i386/msidef.h b/include/asm-x86/msidef.h index 5b8acddb70fb..5b8acddb70fb 100644 --- a/include/asm-i386/msidef.h +++ b/include/asm-x86/msidef.h | |||
diff --git a/include/asm-i386/msr-index.h b/include/asm-x86/msr-index.h index a02eb2991349..a02eb2991349 100644 --- a/include/asm-i386/msr-index.h +++ b/include/asm-x86/msr-index.h | |||
diff --git a/include/asm-x86/msr.h b/include/asm-x86/msr.h new file mode 100644 index 000000000000..2f87ce007002 --- /dev/null +++ b/include/asm-x86/msr.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "msr_32.h" | ||
4 | # else | ||
5 | # include "msr_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "msr_32.h" | ||
10 | # else | ||
11 | # include "msr_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/msr.h b/include/asm-x86/msr_32.h index df21ea049369..df21ea049369 100644 --- a/include/asm-i386/msr.h +++ b/include/asm-x86/msr_32.h | |||
diff --git a/include/asm-x86_64/msr.h b/include/asm-x86/msr_64.h index d5c55b80da54..d5c55b80da54 100644 --- a/include/asm-x86_64/msr.h +++ b/include/asm-x86/msr_64.h | |||
diff --git a/include/asm-x86/mtrr.h b/include/asm-x86/mtrr.h new file mode 100644 index 000000000000..34f633b3e00c --- /dev/null +++ b/include/asm-x86/mtrr.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "mtrr_32.h" | ||
4 | # else | ||
5 | # include "mtrr_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "mtrr_32.h" | ||
10 | # else | ||
11 | # include "mtrr_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/mtrr.h b/include/asm-x86/mtrr_32.h index 7e9c7ccbdcfe..7e9c7ccbdcfe 100644 --- a/include/asm-i386/mtrr.h +++ b/include/asm-x86/mtrr_32.h | |||
diff --git a/include/asm-x86_64/mtrr.h b/include/asm-x86/mtrr_64.h index b557c486bef8..b557c486bef8 100644 --- a/include/asm-x86_64/mtrr.h +++ b/include/asm-x86/mtrr_64.h | |||
diff --git a/include/asm-x86/mutex.h b/include/asm-x86/mutex.h new file mode 100644 index 000000000000..a731b9c573a6 --- /dev/null +++ b/include/asm-x86/mutex.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "mutex_32.h" | ||
3 | #else | ||
4 | # include "mutex_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/mutex.h b/include/asm-x86/mutex_32.h index 7a17d9e58ad6..7a17d9e58ad6 100644 --- a/include/asm-i386/mutex.h +++ b/include/asm-x86/mutex_32.h | |||
diff --git a/include/asm-x86_64/mutex.h b/include/asm-x86/mutex_64.h index 6c2949a3c677..6c2949a3c677 100644 --- a/include/asm-x86_64/mutex.h +++ b/include/asm-x86/mutex_64.h | |||
diff --git a/include/asm-x86/namei.h b/include/asm-x86/namei.h new file mode 100644 index 000000000000..732f8f0b3dcd --- /dev/null +++ b/include/asm-x86/namei.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "namei_32.h" | ||
3 | #else | ||
4 | # include "namei_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/namei.h b/include/asm-x86/namei_32.h index 814865088617..814865088617 100644 --- a/include/asm-i386/namei.h +++ b/include/asm-x86/namei_32.h | |||
diff --git a/include/asm-x86_64/namei.h b/include/asm-x86/namei_64.h index bef239f5318f..bef239f5318f 100644 --- a/include/asm-x86_64/namei.h +++ b/include/asm-x86/namei_64.h | |||
diff --git a/include/asm-x86/nmi.h b/include/asm-x86/nmi.h new file mode 100644 index 000000000000..53ccac14cead --- /dev/null +++ b/include/asm-x86/nmi.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "nmi_32.h" | ||
3 | #else | ||
4 | # include "nmi_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/nmi.h b/include/asm-x86/nmi_32.h index 70a958a8e381..70a958a8e381 100644 --- a/include/asm-i386/nmi.h +++ b/include/asm-x86/nmi_32.h | |||
diff --git a/include/asm-x86_64/nmi.h b/include/asm-x86/nmi_64.h index 65b6acf3bb59..65b6acf3bb59 100644 --- a/include/asm-x86_64/nmi.h +++ b/include/asm-x86/nmi_64.h | |||
diff --git a/include/asm-x86/numa.h b/include/asm-x86/numa.h new file mode 100644 index 000000000000..27da400d3138 --- /dev/null +++ b/include/asm-x86/numa.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "numa_32.h" | ||
3 | #else | ||
4 | # include "numa_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/numa.h b/include/asm-x86/numa_32.h index 96fcb157db1d..96fcb157db1d 100644 --- a/include/asm-i386/numa.h +++ b/include/asm-x86/numa_32.h | |||
diff --git a/include/asm-x86_64/numa.h b/include/asm-x86/numa_64.h index 933ff11ece15..933ff11ece15 100644 --- a/include/asm-x86_64/numa.h +++ b/include/asm-x86/numa_64.h | |||
diff --git a/include/asm-i386/numaq.h b/include/asm-x86/numaq.h index 38f710dc37f2..38f710dc37f2 100644 --- a/include/asm-i386/numaq.h +++ b/include/asm-x86/numaq.h | |||
diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h new file mode 100644 index 000000000000..a757eb26141d --- /dev/null +++ b/include/asm-x86/page.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "page_32.h" | ||
4 | # else | ||
5 | # include "page_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "page_32.h" | ||
10 | # else | ||
11 | # include "page_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/page.h b/include/asm-x86/page_32.h index 80ecc66b6d86..80ecc66b6d86 100644 --- a/include/asm-i386/page.h +++ b/include/asm-x86/page_32.h | |||
diff --git a/include/asm-x86_64/page.h b/include/asm-x86/page_64.h index 88adf1afb0a2..88adf1afb0a2 100644 --- a/include/asm-x86_64/page.h +++ b/include/asm-x86/page_64.h | |||
diff --git a/include/asm-x86/param.h b/include/asm-x86/param.h new file mode 100644 index 000000000000..640851bab124 --- /dev/null +++ b/include/asm-x86/param.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "param_32.h" | ||
4 | # else | ||
5 | # include "param_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "param_32.h" | ||
10 | # else | ||
11 | # include "param_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/param.h b/include/asm-x86/param_32.h index 21b32466fcdc..21b32466fcdc 100644 --- a/include/asm-i386/param.h +++ b/include/asm-x86/param_32.h | |||
diff --git a/include/asm-x86_64/param.h b/include/asm-x86/param_64.h index a728786c3c7c..a728786c3c7c 100644 --- a/include/asm-x86_64/param.h +++ b/include/asm-x86/param_64.h | |||
diff --git a/include/asm-i386/paravirt.h b/include/asm-x86/paravirt.h index 9fa3fa9e62d1..9fa3fa9e62d1 100644 --- a/include/asm-i386/paravirt.h +++ b/include/asm-x86/paravirt.h | |||
diff --git a/include/asm-x86/parport.h b/include/asm-x86/parport.h new file mode 100644 index 000000000000..2a31157349c9 --- /dev/null +++ b/include/asm-x86/parport.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "parport_32.h" | ||
3 | #else | ||
4 | # include "parport_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/parport.h b/include/asm-x86/parport_32.h index fa0e321e498e..fa0e321e498e 100644 --- a/include/asm-i386/parport.h +++ b/include/asm-x86/parport_32.h | |||
diff --git a/include/asm-x86_64/parport.h b/include/asm-x86/parport_64.h index 7135ef977c96..7135ef977c96 100644 --- a/include/asm-x86_64/parport.h +++ b/include/asm-x86/parport_64.h | |||
diff --git a/include/asm-x86_64/pci-direct.h b/include/asm-x86/pci-direct.h index 6823fa4f1afa..6823fa4f1afa 100644 --- a/include/asm-x86_64/pci-direct.h +++ b/include/asm-x86/pci-direct.h | |||
diff --git a/include/asm-x86/pci.h b/include/asm-x86/pci.h new file mode 100644 index 000000000000..a8cac8c2cde7 --- /dev/null +++ b/include/asm-x86/pci.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "pci_32.h" | ||
3 | #else | ||
4 | # include "pci_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/pci.h b/include/asm-x86/pci_32.h index 4fcacc711385..4fcacc711385 100644 --- a/include/asm-i386/pci.h +++ b/include/asm-x86/pci_32.h | |||
diff --git a/include/asm-x86_64/pci.h b/include/asm-x86/pci_64.h index 5da8cb0c0599..5da8cb0c0599 100644 --- a/include/asm-x86_64/pci.h +++ b/include/asm-x86/pci_64.h | |||
diff --git a/include/asm-x86_64/pda.h b/include/asm-x86/pda.h index 5642634843c4..5642634843c4 100644 --- a/include/asm-x86_64/pda.h +++ b/include/asm-x86/pda.h | |||
diff --git a/include/asm-x86/percpu.h b/include/asm-x86/percpu.h new file mode 100644 index 000000000000..a1aaad274cca --- /dev/null +++ b/include/asm-x86/percpu.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "percpu_32.h" | ||
3 | #else | ||
4 | # include "percpu_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/percpu.h b/include/asm-x86/percpu_32.h index a7ebd436f3cc..a7ebd436f3cc 100644 --- a/include/asm-i386/percpu.h +++ b/include/asm-x86/percpu_32.h | |||
diff --git a/include/asm-x86_64/percpu.h b/include/asm-x86/percpu_64.h index 5abd48270101..5abd48270101 100644 --- a/include/asm-x86_64/percpu.h +++ b/include/asm-x86/percpu_64.h | |||
diff --git a/include/asm-x86/pgalloc.h b/include/asm-x86/pgalloc.h new file mode 100644 index 000000000000..5886eed05886 --- /dev/null +++ b/include/asm-x86/pgalloc.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "pgalloc_32.h" | ||
3 | #else | ||
4 | # include "pgalloc_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/pgalloc.h b/include/asm-x86/pgalloc_32.h index f2fc33ceb9f2..f2fc33ceb9f2 100644 --- a/include/asm-i386/pgalloc.h +++ b/include/asm-x86/pgalloc_32.h | |||
diff --git a/include/asm-x86_64/pgalloc.h b/include/asm-x86/pgalloc_64.h index 8bb564687860..8bb564687860 100644 --- a/include/asm-x86_64/pgalloc.h +++ b/include/asm-x86/pgalloc_64.h | |||
diff --git a/include/asm-i386/pgtable-2level-defs.h b/include/asm-x86/pgtable-2level-defs.h index 0f71c9f13da4..0f71c9f13da4 100644 --- a/include/asm-i386/pgtable-2level-defs.h +++ b/include/asm-x86/pgtable-2level-defs.h | |||
diff --git a/include/asm-i386/pgtable-2level.h b/include/asm-x86/pgtable-2level.h index 84b03cf56a79..84b03cf56a79 100644 --- a/include/asm-i386/pgtable-2level.h +++ b/include/asm-x86/pgtable-2level.h | |||
diff --git a/include/asm-i386/pgtable-3level-defs.h b/include/asm-x86/pgtable-3level-defs.h index c0df89f66e8b..c0df89f66e8b 100644 --- a/include/asm-i386/pgtable-3level-defs.h +++ b/include/asm-x86/pgtable-3level-defs.h | |||
diff --git a/include/asm-i386/pgtable-3level.h b/include/asm-x86/pgtable-3level.h index 948a33414118..948a33414118 100644 --- a/include/asm-i386/pgtable-3level.h +++ b/include/asm-x86/pgtable-3level.h | |||
diff --git a/include/asm-x86/pgtable.h b/include/asm-x86/pgtable.h new file mode 100644 index 000000000000..1039140652af --- /dev/null +++ b/include/asm-x86/pgtable.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "pgtable_32.h" | ||
3 | #else | ||
4 | # include "pgtable_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/pgtable.h b/include/asm-x86/pgtable_32.h index c7fefa6b12fd..c7fefa6b12fd 100644 --- a/include/asm-i386/pgtable.h +++ b/include/asm-x86/pgtable_32.h | |||
diff --git a/include/asm-x86_64/pgtable.h b/include/asm-x86/pgtable_64.h index 57dd6b3107ea..57dd6b3107ea 100644 --- a/include/asm-x86_64/pgtable.h +++ b/include/asm-x86/pgtable_64.h | |||
diff --git a/include/asm-i386/poll.h b/include/asm-x86/poll.h index c98509d3149e..c98509d3149e 100644 --- a/include/asm-i386/poll.h +++ b/include/asm-x86/poll.h | |||
diff --git a/include/asm-x86/posix_types.h b/include/asm-x86/posix_types.h new file mode 100644 index 000000000000..bb7133dc155d --- /dev/null +++ b/include/asm-x86/posix_types.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "posix_types_32.h" | ||
4 | # else | ||
5 | # include "posix_types_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "posix_types_32.h" | ||
10 | # else | ||
11 | # include "posix_types_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/posix_types.h b/include/asm-x86/posix_types_32.h index 133e31e7dfde..133e31e7dfde 100644 --- a/include/asm-i386/posix_types.h +++ b/include/asm-x86/posix_types_32.h | |||
diff --git a/include/asm-x86_64/posix_types.h b/include/asm-x86/posix_types_64.h index 9926aa43775b..9926aa43775b 100644 --- a/include/asm-x86_64/posix_types.h +++ b/include/asm-x86/posix_types_64.h | |||
diff --git a/include/asm-x86_64/prctl.h b/include/asm-x86/prctl.h index 52952adef1ca..52952adef1ca 100644 --- a/include/asm-x86_64/prctl.h +++ b/include/asm-x86/prctl.h | |||
diff --git a/include/asm-i386/processor-cyrix.h b/include/asm-x86/processor-cyrix.h index 97568ada1f97..97568ada1f97 100644 --- a/include/asm-i386/processor-cyrix.h +++ b/include/asm-x86/processor-cyrix.h | |||
diff --git a/include/asm-i386/processor-flags.h b/include/asm-x86/processor-flags.h index 5404e90edd57..5404e90edd57 100644 --- a/include/asm-i386/processor-flags.h +++ b/include/asm-x86/processor-flags.h | |||
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h new file mode 100644 index 000000000000..46e1c04e309c --- /dev/null +++ b/include/asm-x86/processor.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "processor_32.h" | ||
3 | #else | ||
4 | # include "processor_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/processor.h b/include/asm-x86/processor_32.h index 3845fe72383e..3845fe72383e 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-x86/processor_32.h | |||
diff --git a/include/asm-x86_64/processor.h b/include/asm-x86/processor_64.h index 19525175b91c..31f579b828f2 100644 --- a/include/asm-x86_64/processor.h +++ b/include/asm-x86/processor_64.h | |||
@@ -371,7 +371,7 @@ static inline void sync_core(void) | |||
371 | #define ARCH_HAS_PREFETCH | 371 | #define ARCH_HAS_PREFETCH |
372 | static inline void prefetch(void *x) | 372 | static inline void prefetch(void *x) |
373 | { | 373 | { |
374 | asm volatile("prefetcht0 %0" :: "m" (*(unsigned long *)x)); | 374 | asm volatile("prefetcht0 (%0)" :: "r" (x)); |
375 | } | 375 | } |
376 | 376 | ||
377 | #define ARCH_HAS_PREFETCHW 1 | 377 | #define ARCH_HAS_PREFETCHW 1 |
diff --git a/include/asm-x86_64/proto.h b/include/asm-x86/proto.h index 31f20ad65876..31f20ad65876 100644 --- a/include/asm-x86_64/proto.h +++ b/include/asm-x86/proto.h | |||
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h new file mode 100644 index 000000000000..6824c49def1c --- /dev/null +++ b/include/asm-x86/ptrace-abi.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ptrace-abi_32.h" | ||
4 | # else | ||
5 | # include "ptrace-abi_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ptrace-abi_32.h" | ||
10 | # else | ||
11 | # include "ptrace-abi_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ptrace-abi.h b/include/asm-x86/ptrace-abi_32.h index a44901817a26..a44901817a26 100644 --- a/include/asm-i386/ptrace-abi.h +++ b/include/asm-x86/ptrace-abi_32.h | |||
diff --git a/include/asm-x86_64/ptrace-abi.h b/include/asm-x86/ptrace-abi_64.h index 19184b0806b1..19184b0806b1 100644 --- a/include/asm-x86_64/ptrace-abi.h +++ b/include/asm-x86/ptrace-abi_64.h | |||
diff --git a/include/asm-x86/ptrace.h b/include/asm-x86/ptrace.h new file mode 100644 index 000000000000..bc4d64a87689 --- /dev/null +++ b/include/asm-x86/ptrace.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ptrace_32.h" | ||
4 | # else | ||
5 | # include "ptrace_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ptrace_32.h" | ||
10 | # else | ||
11 | # include "ptrace_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ptrace.h b/include/asm-x86/ptrace_32.h index 6002597b9e12..6002597b9e12 100644 --- a/include/asm-i386/ptrace.h +++ b/include/asm-x86/ptrace_32.h | |||
diff --git a/include/asm-x86_64/ptrace.h b/include/asm-x86/ptrace_64.h index 7f166ccb0606..7f166ccb0606 100644 --- a/include/asm-x86_64/ptrace.h +++ b/include/asm-x86/ptrace_64.h | |||
diff --git a/include/asm-i386/reboot.h b/include/asm-x86/reboot.h index e9e3ffc22c07..e9e3ffc22c07 100644 --- a/include/asm-i386/reboot.h +++ b/include/asm-x86/reboot.h | |||
diff --git a/include/asm-i386/reboot_fixups.h b/include/asm-x86/reboot_fixups.h index 0cb7d87c2b68..0cb7d87c2b68 100644 --- a/include/asm-i386/reboot_fixups.h +++ b/include/asm-x86/reboot_fixups.h | |||
diff --git a/include/asm-x86/required-features.h b/include/asm-x86/required-features.h new file mode 100644 index 000000000000..8b64f3ea2b78 --- /dev/null +++ b/include/asm-x86/required-features.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "required-features_32.h" | ||
3 | #else | ||
4 | # include "required-features_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/required-features.h b/include/asm-x86/required-features_32.h index 618feb98f9f5..618feb98f9f5 100644 --- a/include/asm-i386/required-features.h +++ b/include/asm-x86/required-features_32.h | |||
diff --git a/include/asm-x86_64/required-features.h b/include/asm-x86/required-features_64.h index e80d5761b00a..e80d5761b00a 100644 --- a/include/asm-x86_64/required-features.h +++ b/include/asm-x86/required-features_64.h | |||
diff --git a/include/asm-x86/resource.h b/include/asm-x86/resource.h new file mode 100644 index 000000000000..732410a8c02a --- /dev/null +++ b/include/asm-x86/resource.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "resource_32.h" | ||
4 | # else | ||
5 | # include "resource_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "resource_32.h" | ||
10 | # else | ||
11 | # include "resource_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/resource.h b/include/asm-x86/resource_32.h index 6c1ea37c7718..6c1ea37c7718 100644 --- a/include/asm-i386/resource.h +++ b/include/asm-x86/resource_32.h | |||
diff --git a/include/asm-x86_64/resource.h b/include/asm-x86/resource_64.h index f40b40623234..f40b40623234 100644 --- a/include/asm-x86_64/resource.h +++ b/include/asm-x86/resource_64.h | |||
diff --git a/include/asm-x86/resume-trace.h b/include/asm-x86/resume-trace.h new file mode 100644 index 000000000000..9b6dd093a9f7 --- /dev/null +++ b/include/asm-x86/resume-trace.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "resume-trace_32.h" | ||
3 | #else | ||
4 | # include "resume-trace_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/resume-trace.h b/include/asm-x86/resume-trace_32.h index ec9cfd656230..ec9cfd656230 100644 --- a/include/asm-i386/resume-trace.h +++ b/include/asm-x86/resume-trace_32.h | |||
diff --git a/include/asm-x86_64/resume-trace.h b/include/asm-x86/resume-trace_64.h index 34bf998fdf62..34bf998fdf62 100644 --- a/include/asm-x86_64/resume-trace.h +++ b/include/asm-x86/resume-trace_64.h | |||
diff --git a/include/asm-x86_64/rio.h b/include/asm-x86/rio.h index c7350f6d2015..c7350f6d2015 100644 --- a/include/asm-x86_64/rio.h +++ b/include/asm-x86/rio.h | |||
diff --git a/include/asm-x86/rtc.h b/include/asm-x86/rtc.h new file mode 100644 index 000000000000..1f0c98eb2e38 --- /dev/null +++ b/include/asm-x86/rtc.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "rtc_32.h" | ||
3 | #else | ||
4 | # include "rtc_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/rtc.h b/include/asm-x86/rtc_32.h index ffd02109a0e5..ffd02109a0e5 100644 --- a/include/asm-i386/rtc.h +++ b/include/asm-x86/rtc_32.h | |||
diff --git a/include/asm-x86_64/rtc.h b/include/asm-x86/rtc_64.h index 18ed713ac7de..18ed713ac7de 100644 --- a/include/asm-x86_64/rtc.h +++ b/include/asm-x86/rtc_64.h | |||
diff --git a/include/asm-x86/rwlock.h b/include/asm-x86/rwlock.h new file mode 100644 index 000000000000..a3be7d8364af --- /dev/null +++ b/include/asm-x86/rwlock.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "rwlock_32.h" | ||
3 | #else | ||
4 | # include "rwlock_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/rwlock.h b/include/asm-x86/rwlock_32.h index c3e5db32fa48..c3e5db32fa48 100644 --- a/include/asm-i386/rwlock.h +++ b/include/asm-x86/rwlock_32.h | |||
diff --git a/include/asm-x86_64/rwlock.h b/include/asm-x86/rwlock_64.h index 72aeebed920b..72aeebed920b 100644 --- a/include/asm-x86_64/rwlock.h +++ b/include/asm-x86/rwlock_64.h | |||
diff --git a/include/asm-i386/rwsem.h b/include/asm-x86/rwsem.h index 041906f3c6df..041906f3c6df 100644 --- a/include/asm-i386/rwsem.h +++ b/include/asm-x86/rwsem.h | |||
diff --git a/include/asm-x86/scatterlist.h b/include/asm-x86/scatterlist.h new file mode 100644 index 000000000000..3a1e76257a27 --- /dev/null +++ b/include/asm-x86/scatterlist.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "scatterlist_32.h" | ||
3 | #else | ||
4 | # include "scatterlist_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/scatterlist.h b/include/asm-x86/scatterlist_32.h index d7e45a8f1aae..d7e45a8f1aae 100644 --- a/include/asm-i386/scatterlist.h +++ b/include/asm-x86/scatterlist_32.h | |||
diff --git a/include/asm-x86_64/scatterlist.h b/include/asm-x86/scatterlist_64.h index eaf7ada27e14..eaf7ada27e14 100644 --- a/include/asm-x86_64/scatterlist.h +++ b/include/asm-x86/scatterlist_64.h | |||
diff --git a/include/asm-x86/seccomp.h b/include/asm-x86/seccomp.h new file mode 100644 index 000000000000..c62e58a5a90d --- /dev/null +++ b/include/asm-x86/seccomp.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "seccomp_32.h" | ||
3 | #else | ||
4 | # include "seccomp_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/seccomp.h b/include/asm-x86/seccomp_32.h index 18da19e89bff..18da19e89bff 100644 --- a/include/asm-i386/seccomp.h +++ b/include/asm-x86/seccomp_32.h | |||
diff --git a/include/asm-x86_64/seccomp.h b/include/asm-x86/seccomp_64.h index 553af65a2287..553af65a2287 100644 --- a/include/asm-x86_64/seccomp.h +++ b/include/asm-x86/seccomp_64.h | |||
diff --git a/include/asm-x86/sections.h b/include/asm-x86/sections.h new file mode 100644 index 000000000000..ae6c69d9be3f --- /dev/null +++ b/include/asm-x86/sections.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "sections_32.h" | ||
3 | #else | ||
4 | # include "sections_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/sections.h b/include/asm-x86/sections_32.h index 2dcbb92918b2..2dcbb92918b2 100644 --- a/include/asm-i386/sections.h +++ b/include/asm-x86/sections_32.h | |||
diff --git a/include/asm-x86_64/sections.h b/include/asm-x86/sections_64.h index c746d9f1e70c..c746d9f1e70c 100644 --- a/include/asm-x86_64/sections.h +++ b/include/asm-x86/sections_64.h | |||
diff --git a/include/asm-x86/segment.h b/include/asm-x86/segment.h new file mode 100644 index 000000000000..605068280e28 --- /dev/null +++ b/include/asm-x86/segment.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "segment_32.h" | ||
3 | #else | ||
4 | # include "segment_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/segment.h b/include/asm-x86/segment_32.h index 597a47c2515f..597a47c2515f 100644 --- a/include/asm-i386/segment.h +++ b/include/asm-x86/segment_32.h | |||
diff --git a/include/asm-x86_64/segment.h b/include/asm-x86/segment_64.h index 04b8ab21328f..04b8ab21328f 100644 --- a/include/asm-x86_64/segment.h +++ b/include/asm-x86/segment_64.h | |||
diff --git a/include/asm-x86/semaphore.h b/include/asm-x86/semaphore.h new file mode 100644 index 000000000000..572c0b67a6b0 --- /dev/null +++ b/include/asm-x86/semaphore.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "semaphore_32.h" | ||
3 | #else | ||
4 | # include "semaphore_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/semaphore.h b/include/asm-x86/semaphore_32.h index 4e34a468c383..4e34a468c383 100644 --- a/include/asm-i386/semaphore.h +++ b/include/asm-x86/semaphore_32.h | |||
diff --git a/include/asm-x86_64/semaphore.h b/include/asm-x86/semaphore_64.h index 1194888536b9..1194888536b9 100644 --- a/include/asm-x86_64/semaphore.h +++ b/include/asm-x86/semaphore_64.h | |||
diff --git a/include/asm-x86/sembuf.h b/include/asm-x86/sembuf.h new file mode 100644 index 000000000000..e42c971e383f --- /dev/null +++ b/include/asm-x86/sembuf.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "sembuf_32.h" | ||
4 | # else | ||
5 | # include "sembuf_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "sembuf_32.h" | ||
10 | # else | ||
11 | # include "sembuf_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/sembuf.h b/include/asm-x86/sembuf_32.h index 323835166c14..323835166c14 100644 --- a/include/asm-i386/sembuf.h +++ b/include/asm-x86/sembuf_32.h | |||
diff --git a/include/asm-x86_64/sembuf.h b/include/asm-x86/sembuf_64.h index 63b52925ae2a..63b52925ae2a 100644 --- a/include/asm-x86_64/sembuf.h +++ b/include/asm-x86/sembuf_64.h | |||
diff --git a/include/asm-x86/serial.h b/include/asm-x86/serial.h new file mode 100644 index 000000000000..cf1b05227b29 --- /dev/null +++ b/include/asm-x86/serial.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "serial_32.h" | ||
3 | #else | ||
4 | # include "serial_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/serial.h b/include/asm-x86/serial_32.h index bd67480ca109..bd67480ca109 100644 --- a/include/asm-i386/serial.h +++ b/include/asm-x86/serial_32.h | |||
diff --git a/include/asm-x86_64/serial.h b/include/asm-x86/serial_64.h index b0496e0d72a6..b0496e0d72a6 100644 --- a/include/asm-x86_64/serial.h +++ b/include/asm-x86/serial_64.h | |||
diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h new file mode 100644 index 000000000000..81c0d98bb1c8 --- /dev/null +++ b/include/asm-x86/setup.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "setup_32.h" | ||
4 | # else | ||
5 | # include "setup_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "setup_32.h" | ||
10 | # else | ||
11 | # include "setup_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/setup.h b/include/asm-x86/setup_32.h index 7862fe858a9e..7862fe858a9e 100644 --- a/include/asm-i386/setup.h +++ b/include/asm-x86/setup_32.h | |||
diff --git a/include/asm-x86_64/setup.h b/include/asm-x86/setup_64.h index eaeff73d6c10..eaeff73d6c10 100644 --- a/include/asm-x86_64/setup.h +++ b/include/asm-x86/setup_64.h | |||
diff --git a/include/asm-x86/shmbuf.h b/include/asm-x86/shmbuf.h new file mode 100644 index 000000000000..e85f1cb11217 --- /dev/null +++ b/include/asm-x86/shmbuf.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "shmbuf_32.h" | ||
4 | # else | ||
5 | # include "shmbuf_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "shmbuf_32.h" | ||
10 | # else | ||
11 | # include "shmbuf_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/shmbuf.h b/include/asm-x86/shmbuf_32.h index d1cdc3cb079b..d1cdc3cb079b 100644 --- a/include/asm-i386/shmbuf.h +++ b/include/asm-x86/shmbuf_32.h | |||
diff --git a/include/asm-x86_64/shmbuf.h b/include/asm-x86/shmbuf_64.h index 5a6d6dda7c48..5a6d6dda7c48 100644 --- a/include/asm-x86_64/shmbuf.h +++ b/include/asm-x86/shmbuf_64.h | |||
diff --git a/include/asm-x86/shmparam.h b/include/asm-x86/shmparam.h new file mode 100644 index 000000000000..165627cc5345 --- /dev/null +++ b/include/asm-x86/shmparam.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "shmparam_32.h" | ||
4 | # else | ||
5 | # include "shmparam_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "shmparam_32.h" | ||
10 | # else | ||
11 | # include "shmparam_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/shmparam.h b/include/asm-x86/shmparam_32.h index 786243a5b319..786243a5b319 100644 --- a/include/asm-i386/shmparam.h +++ b/include/asm-x86/shmparam_32.h | |||
diff --git a/include/asm-x86_64/shmparam.h b/include/asm-x86/shmparam_64.h index d7021620dcb7..d7021620dcb7 100644 --- a/include/asm-x86_64/shmparam.h +++ b/include/asm-x86/shmparam_64.h | |||
diff --git a/include/asm-x86/sigcontext.h b/include/asm-x86/sigcontext.h new file mode 100644 index 000000000000..0d16ceff1599 --- /dev/null +++ b/include/asm-x86/sigcontext.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "sigcontext_32.h" | ||
4 | # else | ||
5 | # include "sigcontext_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "sigcontext_32.h" | ||
10 | # else | ||
11 | # include "sigcontext_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-x86_64/sigcontext32.h b/include/asm-x86/sigcontext32.h index 3d657038ab7c..3d657038ab7c 100644 --- a/include/asm-x86_64/sigcontext32.h +++ b/include/asm-x86/sigcontext32.h | |||
diff --git a/include/asm-i386/sigcontext.h b/include/asm-x86/sigcontext_32.h index aaef089a7787..aaef089a7787 100644 --- a/include/asm-i386/sigcontext.h +++ b/include/asm-x86/sigcontext_32.h | |||
diff --git a/include/asm-x86_64/sigcontext.h b/include/asm-x86/sigcontext_64.h index b4e40236666c..b4e40236666c 100644 --- a/include/asm-x86_64/sigcontext.h +++ b/include/asm-x86/sigcontext_64.h | |||
diff --git a/include/asm-x86/siginfo.h b/include/asm-x86/siginfo.h new file mode 100644 index 000000000000..0b8e4bb47d25 --- /dev/null +++ b/include/asm-x86/siginfo.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "siginfo_32.h" | ||
4 | # else | ||
5 | # include "siginfo_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "siginfo_32.h" | ||
10 | # else | ||
11 | # include "siginfo_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/siginfo.h b/include/asm-x86/siginfo_32.h index fe18f98fccfa..fe18f98fccfa 100644 --- a/include/asm-i386/siginfo.h +++ b/include/asm-x86/siginfo_32.h | |||
diff --git a/include/asm-x86_64/siginfo.h b/include/asm-x86/siginfo_64.h index d09a1e6e7246..d09a1e6e7246 100644 --- a/include/asm-x86_64/siginfo.h +++ b/include/asm-x86/siginfo_64.h | |||
diff --git a/include/asm-x86/signal.h b/include/asm-x86/signal.h new file mode 100644 index 000000000000..bf5a63f457da --- /dev/null +++ b/include/asm-x86/signal.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "signal_32.h" | ||
4 | # else | ||
5 | # include "signal_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "signal_32.h" | ||
10 | # else | ||
11 | # include "signal_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/signal.h b/include/asm-x86/signal_32.h index c3e8adec5918..c3e8adec5918 100644 --- a/include/asm-i386/signal.h +++ b/include/asm-x86/signal_32.h | |||
diff --git a/include/asm-x86_64/signal.h b/include/asm-x86/signal_64.h index 4581f978b299..4581f978b299 100644 --- a/include/asm-x86_64/signal.h +++ b/include/asm-x86/signal_64.h | |||
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h new file mode 100644 index 000000000000..f2e8319a6b0b --- /dev/null +++ b/include/asm-x86/smp.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "smp_32.h" | ||
3 | #else | ||
4 | # include "smp_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/smp.h b/include/asm-x86/smp_32.h index 1f73bde165b1..1f73bde165b1 100644 --- a/include/asm-i386/smp.h +++ b/include/asm-x86/smp_32.h | |||
diff --git a/include/asm-x86_64/smp.h b/include/asm-x86/smp_64.h index 3f303d2365ed..3f303d2365ed 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86/smp_64.h | |||
diff --git a/include/asm-i386/socket.h b/include/asm-x86/socket.h index 99ca648b94c5..99ca648b94c5 100644 --- a/include/asm-i386/socket.h +++ b/include/asm-x86/socket.h | |||
diff --git a/include/asm-x86/sockios.h b/include/asm-x86/sockios.h new file mode 100644 index 000000000000..5a134fc70b9c --- /dev/null +++ b/include/asm-x86/sockios.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "sockios_32.h" | ||
4 | # else | ||
5 | # include "sockios_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "sockios_32.h" | ||
10 | # else | ||
11 | # include "sockios_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/sockios.h b/include/asm-x86/sockios_32.h index ff528c7d255c..ff528c7d255c 100644 --- a/include/asm-i386/sockios.h +++ b/include/asm-x86/sockios_32.h | |||
diff --git a/include/asm-x86_64/sockios.h b/include/asm-x86/sockios_64.h index d726ba2513e3..d726ba2513e3 100644 --- a/include/asm-x86_64/sockios.h +++ b/include/asm-x86/sockios_64.h | |||
diff --git a/include/asm-x86/sparsemem.h b/include/asm-x86/sparsemem.h new file mode 100644 index 000000000000..3f203b1d9ee8 --- /dev/null +++ b/include/asm-x86/sparsemem.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "sparsemem_32.h" | ||
3 | #else | ||
4 | # include "sparsemem_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/sparsemem.h b/include/asm-x86/sparsemem_32.h index cfeed990585f..cfeed990585f 100644 --- a/include/asm-i386/sparsemem.h +++ b/include/asm-x86/sparsemem_32.h | |||
diff --git a/include/asm-x86_64/sparsemem.h b/include/asm-x86/sparsemem_64.h index dabb16714a71..dabb16714a71 100644 --- a/include/asm-x86_64/sparsemem.h +++ b/include/asm-x86/sparsemem_64.h | |||
diff --git a/include/asm-x86/spinlock.h b/include/asm-x86/spinlock.h new file mode 100644 index 000000000000..d74d85e71dcb --- /dev/null +++ b/include/asm-x86/spinlock.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "spinlock_32.h" | ||
3 | #else | ||
4 | # include "spinlock_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/spinlock.h b/include/asm-x86/spinlock_32.h index d3bcebed60ca..d3bcebed60ca 100644 --- a/include/asm-i386/spinlock.h +++ b/include/asm-x86/spinlock_32.h | |||
diff --git a/include/asm-x86_64/spinlock.h b/include/asm-x86/spinlock_64.h index 88bf981e73cf..88bf981e73cf 100644 --- a/include/asm-x86_64/spinlock.h +++ b/include/asm-x86/spinlock_64.h | |||
diff --git a/include/asm-i386/spinlock_types.h b/include/asm-x86/spinlock_types.h index 4da9345c1500..4da9345c1500 100644 --- a/include/asm-i386/spinlock_types.h +++ b/include/asm-x86/spinlock_types.h | |||
diff --git a/include/asm-i386/srat.h b/include/asm-x86/srat.h index 165ab4bdc02b..165ab4bdc02b 100644 --- a/include/asm-i386/srat.h +++ b/include/asm-x86/srat.h | |||
diff --git a/include/asm-x86_64/stacktrace.h b/include/asm-x86/stacktrace.h index 6f0b54594307..6f0b54594307 100644 --- a/include/asm-x86_64/stacktrace.h +++ b/include/asm-x86/stacktrace.h | |||
diff --git a/include/asm-x86/stat.h b/include/asm-x86/stat.h new file mode 100644 index 000000000000..3ff6b50ef833 --- /dev/null +++ b/include/asm-x86/stat.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "stat_32.h" | ||
4 | # else | ||
5 | # include "stat_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "stat_32.h" | ||
10 | # else | ||
11 | # include "stat_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/stat.h b/include/asm-x86/stat_32.h index 67eae78323ba..67eae78323ba 100644 --- a/include/asm-i386/stat.h +++ b/include/asm-x86/stat_32.h | |||
diff --git a/include/asm-x86_64/stat.h b/include/asm-x86/stat_64.h index fd9f00d560f8..fd9f00d560f8 100644 --- a/include/asm-x86_64/stat.h +++ b/include/asm-x86/stat_64.h | |||
diff --git a/include/asm-x86/statfs.h b/include/asm-x86/statfs.h new file mode 100644 index 000000000000..327fb5d7a148 --- /dev/null +++ b/include/asm-x86/statfs.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "statfs_32.h" | ||
4 | # else | ||
5 | # include "statfs_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "statfs_32.h" | ||
10 | # else | ||
11 | # include "statfs_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/statfs.h b/include/asm-x86/statfs_32.h index 24972c175132..24972c175132 100644 --- a/include/asm-i386/statfs.h +++ b/include/asm-x86/statfs_32.h | |||
diff --git a/include/asm-x86_64/statfs.h b/include/asm-x86/statfs_64.h index b3f4718af30b..b3f4718af30b 100644 --- a/include/asm-x86_64/statfs.h +++ b/include/asm-x86/statfs_64.h | |||
diff --git a/include/asm-x86/string.h b/include/asm-x86/string.h new file mode 100644 index 000000000000..6dfd6d9373a0 --- /dev/null +++ b/include/asm-x86/string.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "string_32.h" | ||
3 | #else | ||
4 | # include "string_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/string.h b/include/asm-x86/string_32.h index a9b64453bdf5..a9b64453bdf5 100644 --- a/include/asm-i386/string.h +++ b/include/asm-x86/string_32.h | |||
diff --git a/include/asm-x86_64/string.h b/include/asm-x86/string_64.h index e583da7918fb..e583da7918fb 100644 --- a/include/asm-x86_64/string.h +++ b/include/asm-x86/string_64.h | |||
diff --git a/include/asm-x86/suspend.h b/include/asm-x86/suspend.h new file mode 100644 index 000000000000..9bd521fe4570 --- /dev/null +++ b/include/asm-x86/suspend.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "suspend_32.h" | ||
3 | #else | ||
4 | # include "suspend_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/suspend.h b/include/asm-x86/suspend_32.h index a2520732ffd6..a2520732ffd6 100644 --- a/include/asm-i386/suspend.h +++ b/include/asm-x86/suspend_32.h | |||
diff --git a/include/asm-x86_64/suspend.h b/include/asm-x86/suspend_64.h index b897e8cb55fb..b897e8cb55fb 100644 --- a/include/asm-x86_64/suspend.h +++ b/include/asm-x86/suspend_64.h | |||
diff --git a/include/asm-x86_64/swiotlb.h b/include/asm-x86/swiotlb.h index f9c589539a82..f9c589539a82 100644 --- a/include/asm-x86_64/swiotlb.h +++ b/include/asm-x86/swiotlb.h | |||
diff --git a/include/asm-i386/sync_bitops.h b/include/asm-x86/sync_bitops.h index cbce08a2d135..cbce08a2d135 100644 --- a/include/asm-i386/sync_bitops.h +++ b/include/asm-x86/sync_bitops.h | |||
diff --git a/include/asm-x86/system.h b/include/asm-x86/system.h new file mode 100644 index 000000000000..692562b48f2a --- /dev/null +++ b/include/asm-x86/system.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "system_32.h" | ||
3 | #else | ||
4 | # include "system_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/system.h b/include/asm-x86/system_32.h index d69ba937e092..d69ba937e092 100644 --- a/include/asm-i386/system.h +++ b/include/asm-x86/system_32.h | |||
diff --git a/include/asm-x86_64/system.h b/include/asm-x86/system_64.h index 02175aa1d16a..02175aa1d16a 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86/system_64.h | |||
diff --git a/include/asm-x86_64/tce.h b/include/asm-x86/tce.h index cd955d3d112f..cd955d3d112f 100644 --- a/include/asm-x86_64/tce.h +++ b/include/asm-x86/tce.h | |||
diff --git a/include/asm-x86/termbits.h b/include/asm-x86/termbits.h new file mode 100644 index 000000000000..69f3080e2a1d --- /dev/null +++ b/include/asm-x86/termbits.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "termbits_32.h" | ||
4 | # else | ||
5 | # include "termbits_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "termbits_32.h" | ||
10 | # else | ||
11 | # include "termbits_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/termbits.h b/include/asm-x86/termbits_32.h index a21700352e7b..a21700352e7b 100644 --- a/include/asm-i386/termbits.h +++ b/include/asm-x86/termbits_32.h | |||
diff --git a/include/asm-x86_64/termbits.h b/include/asm-x86/termbits_64.h index 7405756dd41b..7405756dd41b 100644 --- a/include/asm-x86_64/termbits.h +++ b/include/asm-x86/termbits_64.h | |||
diff --git a/include/asm-x86/termios.h b/include/asm-x86/termios.h new file mode 100644 index 000000000000..a4f4ae20a591 --- /dev/null +++ b/include/asm-x86/termios.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "termios_32.h" | ||
4 | # else | ||
5 | # include "termios_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "termios_32.h" | ||
10 | # else | ||
11 | # include "termios_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/termios.h b/include/asm-x86/termios_32.h index f520b7c16fa2..6fdb2c841b73 100644 --- a/include/asm-i386/termios.h +++ b/include/asm-x86/termios_32.h | |||
@@ -40,7 +40,6 @@ struct termio { | |||
40 | /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ | 40 | /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ |
41 | 41 | ||
42 | #ifdef __KERNEL__ | 42 | #ifdef __KERNEL__ |
43 | #include <linux/module.h> | ||
44 | 43 | ||
45 | /* intr=^C quit=^\ erase=del kill=^U | 44 | /* intr=^C quit=^\ erase=del kill=^U |
46 | eof=^D vtime=\0 vmin=\1 sxtc=\0 | 45 | eof=^D vtime=\0 vmin=\1 sxtc=\0 |
diff --git a/include/asm-x86_64/termios.h b/include/asm-x86/termios_64.h index 35ee59b78329..35ee59b78329 100644 --- a/include/asm-x86_64/termios.h +++ b/include/asm-x86/termios_64.h | |||
diff --git a/include/asm-i386/therm_throt.h b/include/asm-x86/therm_throt.h index 399bf6026b16..399bf6026b16 100644 --- a/include/asm-i386/therm_throt.h +++ b/include/asm-x86/therm_throt.h | |||
diff --git a/include/asm-x86/thread_info.h b/include/asm-x86/thread_info.h new file mode 100644 index 000000000000..d5fd12f2abdb --- /dev/null +++ b/include/asm-x86/thread_info.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "thread_info_32.h" | ||
3 | #else | ||
4 | # include "thread_info_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/thread_info.h b/include/asm-x86/thread_info_32.h index 22a8cbcd35e2..22a8cbcd35e2 100644 --- a/include/asm-i386/thread_info.h +++ b/include/asm-x86/thread_info_32.h | |||
diff --git a/include/asm-x86_64/thread_info.h b/include/asm-x86/thread_info_64.h index beae2bfb62ca..beae2bfb62ca 100644 --- a/include/asm-x86_64/thread_info.h +++ b/include/asm-x86/thread_info_64.h | |||
diff --git a/include/asm-i386/time.h b/include/asm-x86/time.h index eac011366dc2..eac011366dc2 100644 --- a/include/asm-i386/time.h +++ b/include/asm-x86/time.h | |||
diff --git a/include/asm-i386/timer.h b/include/asm-x86/timer.h index 0db7e994fb8b..0db7e994fb8b 100644 --- a/include/asm-i386/timer.h +++ b/include/asm-x86/timer.h | |||
diff --git a/include/asm-x86/timex.h b/include/asm-x86/timex.h new file mode 100644 index 000000000000..d01c18cfccef --- /dev/null +++ b/include/asm-x86/timex.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "timex_32.h" | ||
3 | #else | ||
4 | # include "timex_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/timex.h b/include/asm-x86/timex_32.h index 3666044409f0..3666044409f0 100644 --- a/include/asm-i386/timex.h +++ b/include/asm-x86/timex_32.h | |||
diff --git a/include/asm-x86_64/timex.h b/include/asm-x86/timex_64.h index 6ed21f44d308..6ed21f44d308 100644 --- a/include/asm-x86_64/timex.h +++ b/include/asm-x86/timex_64.h | |||
diff --git a/include/asm-x86/tlb.h b/include/asm-x86/tlb.h new file mode 100644 index 000000000000..7d55c3762b43 --- /dev/null +++ b/include/asm-x86/tlb.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "tlb_32.h" | ||
3 | #else | ||
4 | # include "tlb_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/tlb.h b/include/asm-x86/tlb_32.h index c006c5c92bea..c006c5c92bea 100644 --- a/include/asm-i386/tlb.h +++ b/include/asm-x86/tlb_32.h | |||
diff --git a/include/asm-x86_64/tlb.h b/include/asm-x86/tlb_64.h index cd4c3c590a0e..cd4c3c590a0e 100644 --- a/include/asm-x86_64/tlb.h +++ b/include/asm-x86/tlb_64.h | |||
diff --git a/include/asm-x86/tlbflush.h b/include/asm-x86/tlbflush.h new file mode 100644 index 000000000000..9af4cc83a1af --- /dev/null +++ b/include/asm-x86/tlbflush.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "tlbflush_32.h" | ||
3 | #else | ||
4 | # include "tlbflush_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/tlbflush.h b/include/asm-x86/tlbflush_32.h index a50fa6741486..a50fa6741486 100644 --- a/include/asm-i386/tlbflush.h +++ b/include/asm-x86/tlbflush_32.h | |||
diff --git a/include/asm-x86_64/tlbflush.h b/include/asm-x86/tlbflush_64.h index 888eb4abdd07..888eb4abdd07 100644 --- a/include/asm-x86_64/tlbflush.h +++ b/include/asm-x86/tlbflush_64.h | |||
diff --git a/include/asm-x86/topology.h b/include/asm-x86/topology.h new file mode 100644 index 000000000000..b10fde9798ea --- /dev/null +++ b/include/asm-x86/topology.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "topology_32.h" | ||
3 | #else | ||
4 | # include "topology_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/topology.h b/include/asm-x86/topology_32.h index 19b2dafd0c81..19b2dafd0c81 100644 --- a/include/asm-i386/topology.h +++ b/include/asm-x86/topology_32.h | |||
diff --git a/include/asm-x86_64/topology.h b/include/asm-x86/topology_64.h index 36e52fba7960..36e52fba7960 100644 --- a/include/asm-x86_64/topology.h +++ b/include/asm-x86/topology_64.h | |||
diff --git a/include/asm-i386/tsc.h b/include/asm-x86/tsc.h index a4d806610b7f..a4d806610b7f 100644 --- a/include/asm-i386/tsc.h +++ b/include/asm-x86/tsc.h | |||
diff --git a/include/asm-x86/types.h b/include/asm-x86/types.h new file mode 100644 index 000000000000..a777a9b83974 --- /dev/null +++ b/include/asm-x86/types.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "types_32.h" | ||
4 | # else | ||
5 | # include "types_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "types_32.h" | ||
10 | # else | ||
11 | # include "types_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/types.h b/include/asm-x86/types_32.h index ad0a55bd782f..ad0a55bd782f 100644 --- a/include/asm-i386/types.h +++ b/include/asm-x86/types_32.h | |||
diff --git a/include/asm-x86_64/types.h b/include/asm-x86/types_64.h index 2d4491aae281..2d4491aae281 100644 --- a/include/asm-x86_64/types.h +++ b/include/asm-x86/types_64.h | |||
diff --git a/include/asm-x86/uaccess.h b/include/asm-x86/uaccess.h new file mode 100644 index 000000000000..9fefd2947e78 --- /dev/null +++ b/include/asm-x86/uaccess.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "uaccess_32.h" | ||
3 | #else | ||
4 | # include "uaccess_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/uaccess.h b/include/asm-x86/uaccess_32.h index d2a4f7be9c2c..d2a4f7be9c2c 100644 --- a/include/asm-i386/uaccess.h +++ b/include/asm-x86/uaccess_32.h | |||
diff --git a/include/asm-x86_64/uaccess.h b/include/asm-x86/uaccess_64.h index f4ce8768ad44..f4ce8768ad44 100644 --- a/include/asm-x86_64/uaccess.h +++ b/include/asm-x86/uaccess_64.h | |||
diff --git a/include/asm-x86/ucontext.h b/include/asm-x86/ucontext.h new file mode 100644 index 000000000000..175c8cb59731 --- /dev/null +++ b/include/asm-x86/ucontext.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "ucontext_32.h" | ||
4 | # else | ||
5 | # include "ucontext_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "ucontext_32.h" | ||
10 | # else | ||
11 | # include "ucontext_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/ucontext.h b/include/asm-x86/ucontext_32.h index b0db36925f55..b0db36925f55 100644 --- a/include/asm-i386/ucontext.h +++ b/include/asm-x86/ucontext_32.h | |||
diff --git a/include/asm-x86_64/ucontext.h b/include/asm-x86/ucontext_64.h index 159a3da9e112..159a3da9e112 100644 --- a/include/asm-x86_64/ucontext.h +++ b/include/asm-x86/ucontext_64.h | |||
diff --git a/include/asm-x86/unaligned.h b/include/asm-x86/unaligned.h new file mode 100644 index 000000000000..68067150fbcb --- /dev/null +++ b/include/asm-x86/unaligned.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "unaligned_32.h" | ||
3 | #else | ||
4 | # include "unaligned_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/unaligned.h b/include/asm-x86/unaligned_32.h index 7acd7957621e..7acd7957621e 100644 --- a/include/asm-i386/unaligned.h +++ b/include/asm-x86/unaligned_32.h | |||
diff --git a/include/asm-x86_64/unaligned.h b/include/asm-x86/unaligned_64.h index d4bf78dc6f39..d4bf78dc6f39 100644 --- a/include/asm-x86_64/unaligned.h +++ b/include/asm-x86/unaligned_64.h | |||
diff --git a/include/asm-x86/unistd.h b/include/asm-x86/unistd.h new file mode 100644 index 000000000000..2a58ed3e51d8 --- /dev/null +++ b/include/asm-x86/unistd.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "unistd_32.h" | ||
4 | # else | ||
5 | # include "unistd_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "unistd_32.h" | ||
10 | # else | ||
11 | # include "unistd_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-i386/unistd.h b/include/asm-x86/unistd_32.h index 9b15545eb9b5..9b15545eb9b5 100644 --- a/include/asm-i386/unistd.h +++ b/include/asm-x86/unistd_32.h | |||
diff --git a/include/asm-x86_64/unistd.h b/include/asm-x86/unistd_64.h index fc4e73f5f1fa..fc4e73f5f1fa 100644 --- a/include/asm-x86_64/unistd.h +++ b/include/asm-x86/unistd_64.h | |||
diff --git a/include/asm-x86/unwind.h b/include/asm-x86/unwind.h new file mode 100644 index 000000000000..7e4d7ad55208 --- /dev/null +++ b/include/asm-x86/unwind.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "unwind_32.h" | ||
3 | #else | ||
4 | # include "unwind_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/unwind.h b/include/asm-x86/unwind_32.h index 43c70c3de2f9..43c70c3de2f9 100644 --- a/include/asm-i386/unwind.h +++ b/include/asm-x86/unwind_32.h | |||
diff --git a/include/asm-x86_64/unwind.h b/include/asm-x86/unwind_64.h index 02710f6a4560..02710f6a4560 100644 --- a/include/asm-x86_64/unwind.h +++ b/include/asm-x86/unwind_64.h | |||
diff --git a/include/asm-x86/user.h b/include/asm-x86/user.h new file mode 100644 index 000000000000..484715abe74a --- /dev/null +++ b/include/asm-x86/user.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifdef __KERNEL__ | ||
2 | # ifdef CONFIG_X86_32 | ||
3 | # include "user_32.h" | ||
4 | # else | ||
5 | # include "user_64.h" | ||
6 | # endif | ||
7 | #else | ||
8 | # ifdef __i386__ | ||
9 | # include "user_32.h" | ||
10 | # else | ||
11 | # include "user_64.h" | ||
12 | # endif | ||
13 | #endif | ||
diff --git a/include/asm-x86_64/user32.h b/include/asm-x86/user32.h index f769872debea..f769872debea 100644 --- a/include/asm-x86_64/user32.h +++ b/include/asm-x86/user32.h | |||
diff --git a/include/asm-i386/user.h b/include/asm-x86/user_32.h index 0e85d2a5e33a..0e85d2a5e33a 100644 --- a/include/asm-i386/user.h +++ b/include/asm-x86/user_32.h | |||
diff --git a/include/asm-x86_64/user.h b/include/asm-x86/user_64.h index 12785c649ac5..12785c649ac5 100644 --- a/include/asm-x86_64/user.h +++ b/include/asm-x86/user_64.h | |||
diff --git a/include/asm-i386/vga.h b/include/asm-x86/vga.h index 0ecf68ac03aa..0ecf68ac03aa 100644 --- a/include/asm-i386/vga.h +++ b/include/asm-x86/vga.h | |||
diff --git a/include/asm-x86_64/vgtod.h b/include/asm-x86/vgtod.h index 3301f0929342..3301f0929342 100644 --- a/include/asm-x86_64/vgtod.h +++ b/include/asm-x86/vgtod.h | |||
diff --git a/include/asm-i386/vic.h b/include/asm-x86/vic.h index 53100f353612..53100f353612 100644 --- a/include/asm-i386/vic.h +++ b/include/asm-x86/vic.h | |||
diff --git a/include/asm-i386/vm86.h b/include/asm-x86/vm86.h index a5edf517b992..a5edf517b992 100644 --- a/include/asm-i386/vm86.h +++ b/include/asm-x86/vm86.h | |||
diff --git a/include/asm-i386/vmi.h b/include/asm-x86/vmi.h index eb8bd892c01e..eb8bd892c01e 100644 --- a/include/asm-i386/vmi.h +++ b/include/asm-x86/vmi.h | |||
diff --git a/include/asm-i386/vmi_time.h b/include/asm-x86/vmi_time.h index 478188130328..478188130328 100644 --- a/include/asm-i386/vmi_time.h +++ b/include/asm-x86/vmi_time.h | |||
diff --git a/include/asm-i386/voyager.h b/include/asm-x86/voyager.h index 91a9932937ab..91a9932937ab 100644 --- a/include/asm-i386/voyager.h +++ b/include/asm-x86/voyager.h | |||
diff --git a/include/asm-x86_64/vsyscall.h b/include/asm-x86/vsyscall.h index 3b8ceb4af2cf..3b8ceb4af2cf 100644 --- a/include/asm-x86_64/vsyscall.h +++ b/include/asm-x86/vsyscall.h | |||
diff --git a/include/asm-x86_64/vsyscall32.h b/include/asm-x86/vsyscall32.h index c631c082f8f7..c631c082f8f7 100644 --- a/include/asm-x86_64/vsyscall32.h +++ b/include/asm-x86/vsyscall32.h | |||
diff --git a/include/asm-i386/xen/hypercall.h b/include/asm-x86/xen/hypercall.h index bc0ee7d961ca..bc0ee7d961ca 100644 --- a/include/asm-i386/xen/hypercall.h +++ b/include/asm-x86/xen/hypercall.h | |||
diff --git a/include/asm-i386/xen/hypervisor.h b/include/asm-x86/xen/hypervisor.h index 8e15dd28c91f..8e15dd28c91f 100644 --- a/include/asm-i386/xen/hypervisor.h +++ b/include/asm-x86/xen/hypervisor.h | |||
diff --git a/include/asm-i386/xen/interface.h b/include/asm-x86/xen/interface.h index 165c3968e138..165c3968e138 100644 --- a/include/asm-i386/xen/interface.h +++ b/include/asm-x86/xen/interface.h | |||
diff --git a/include/asm-x86/xor.h b/include/asm-x86/xor.h new file mode 100644 index 000000000000..11b3bb86e17b --- /dev/null +++ b/include/asm-x86/xor.h | |||
@@ -0,0 +1,5 @@ | |||
1 | #ifdef CONFIG_X86_32 | ||
2 | # include "xor_32.h" | ||
3 | #else | ||
4 | # include "xor_64.h" | ||
5 | #endif | ||
diff --git a/include/asm-i386/xor.h b/include/asm-x86/xor_32.h index 23c86cef3b25..23c86cef3b25 100644 --- a/include/asm-i386/xor.h +++ b/include/asm-x86/xor_32.h | |||
diff --git a/include/asm-x86_64/xor.h b/include/asm-x86/xor_64.h index f942fcc21831..f942fcc21831 100644 --- a/include/asm-x86_64/xor.h +++ b/include/asm-x86/xor_64.h | |||
diff --git a/include/asm-x86_64/Kbuild b/include/asm-x86_64/Kbuild deleted file mode 100644 index 75a2deffca68..000000000000 --- a/include/asm-x86_64/Kbuild +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | include include/asm-generic/Kbuild.asm | ||
2 | |||
3 | ALTARCH := i386 | ||
4 | ARCHDEF := defined __x86_64__ | ||
5 | ALTARCHDEF := defined __i386__ | ||
6 | |||
7 | header-y += boot.h | ||
8 | header-y += bootsetup.h | ||
9 | header-y += debugreg.h | ||
10 | header-y += ldt.h | ||
11 | header-y += msr-index.h | ||
12 | header-y += prctl.h | ||
13 | header-y += ptrace-abi.h | ||
14 | header-y += sigcontext32.h | ||
15 | header-y += ucontext.h | ||
16 | header-y += vsyscall32.h | ||
17 | |||
18 | unifdef-y += mce.h | ||
19 | unifdef-y += msr.h | ||
20 | unifdef-y += mtrr.h | ||
21 | unifdef-y += vsyscall.h | ||
diff --git a/include/asm-x86_64/boot.h b/include/asm-x86_64/boot.h deleted file mode 100644 index 3c46cea8db7f..000000000000 --- a/include/asm-x86_64/boot.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/boot.h> | ||
diff --git a/include/asm-x86_64/bootparam.h b/include/asm-x86_64/bootparam.h deleted file mode 100644 index aa82e5238d82..000000000000 --- a/include/asm-x86_64/bootparam.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/bootparam.h> | ||
diff --git a/include/asm-x86_64/cpu.h b/include/asm-x86_64/cpu.h deleted file mode 100644 index 8eea076525a4..000000000000 --- a/include/asm-x86_64/cpu.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/cpu.h> | ||
diff --git a/include/asm-x86_64/emergency-restart.h b/include/asm-x86_64/emergency-restart.h deleted file mode 100644 index 680c39563345..000000000000 --- a/include/asm-x86_64/emergency-restart.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _ASM_EMERGENCY_RESTART_H | ||
2 | #define _ASM_EMERGENCY_RESTART_H | ||
3 | |||
4 | extern void machine_emergency_restart(void); | ||
5 | |||
6 | #endif /* _ASM_EMERGENCY_RESTART_H */ | ||
diff --git a/include/asm-x86_64/fcntl.h b/include/asm-x86_64/fcntl.h deleted file mode 100644 index 46ab12db5739..000000000000 --- a/include/asm-x86_64/fcntl.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/fcntl.h> | ||
diff --git a/include/asm-x86_64/hypertransport.h b/include/asm-x86_64/hypertransport.h deleted file mode 100644 index 5cbf9fa5e0b5..000000000000 --- a/include/asm-x86_64/hypertransport.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/hypertransport.h> | ||
diff --git a/include/asm-x86_64/ide.h b/include/asm-x86_64/ide.h deleted file mode 100644 index 4cef0ef61878..000000000000 --- a/include/asm-x86_64/ide.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/ide.h> | ||
diff --git a/include/asm-x86_64/ioctl.h b/include/asm-x86_64/ioctl.h deleted file mode 100644 index b279fe06dfe5..000000000000 --- a/include/asm-x86_64/ioctl.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/ioctl.h> | ||
diff --git a/include/asm-x86_64/ist.h b/include/asm-x86_64/ist.h deleted file mode 100644 index 338857ecbc68..000000000000 --- a/include/asm-x86_64/ist.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/ist.h> | ||
diff --git a/include/asm-x86_64/msidef.h b/include/asm-x86_64/msidef.h deleted file mode 100644 index 083ad5827e48..000000000000 --- a/include/asm-x86_64/msidef.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/msidef.h> | ||
diff --git a/include/asm-x86_64/msr-index.h b/include/asm-x86_64/msr-index.h deleted file mode 100644 index d77a63f1ddf2..000000000000 --- a/include/asm-x86_64/msr-index.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/msr-index.h> | ||
diff --git a/include/asm-x86_64/node.h b/include/asm-x86_64/node.h deleted file mode 100644 index 0ee6f88db048..000000000000 --- a/include/asm-x86_64/node.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/node.h> | ||
diff --git a/include/asm-x86_64/poll.h b/include/asm-x86_64/poll.h deleted file mode 100644 index c98509d3149e..000000000000 --- a/include/asm-x86_64/poll.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/poll.h> | ||
diff --git a/include/asm-x86_64/processor-flags.h b/include/asm-x86_64/processor-flags.h deleted file mode 100644 index ec99a57b2c6a..000000000000 --- a/include/asm-x86_64/processor-flags.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/processor-flags.h> | ||
diff --git a/include/asm-x86_64/socket.h b/include/asm-x86_64/socket.h deleted file mode 100644 index 90af60cf3c0e..000000000000 --- a/include/asm-x86_64/socket.h +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | #ifndef _ASM_SOCKET_H | ||
2 | #define _ASM_SOCKET_H | ||
3 | |||
4 | #include <asm/sockios.h> | ||
5 | |||
6 | /* For setsockopt(2) */ | ||
7 | #define SOL_SOCKET 1 | ||
8 | |||
9 | #define SO_DEBUG 1 | ||
10 | #define SO_REUSEADDR 2 | ||
11 | #define SO_TYPE 3 | ||
12 | #define SO_ERROR 4 | ||
13 | #define SO_DONTROUTE 5 | ||
14 | #define SO_BROADCAST 6 | ||
15 | #define SO_SNDBUF 7 | ||
16 | #define SO_RCVBUF 8 | ||
17 | #define SO_SNDBUFFORCE 32 | ||
18 | #define SO_RCVBUFFORCE 33 | ||
19 | #define SO_KEEPALIVE 9 | ||
20 | #define SO_OOBINLINE 10 | ||
21 | #define SO_NO_CHECK 11 | ||
22 | #define SO_PRIORITY 12 | ||
23 | #define SO_LINGER 13 | ||
24 | #define SO_BSDCOMPAT 14 | ||
25 | /* To add :#define SO_REUSEPORT 15 */ | ||
26 | #define SO_PASSCRED 16 | ||
27 | #define SO_PEERCRED 17 | ||
28 | #define SO_RCVLOWAT 18 | ||
29 | #define SO_SNDLOWAT 19 | ||
30 | #define SO_RCVTIMEO 20 | ||
31 | #define SO_SNDTIMEO 21 | ||
32 | |||
33 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | ||
34 | #define SO_SECURITY_AUTHENTICATION 22 | ||
35 | #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 | ||
36 | #define SO_SECURITY_ENCRYPTION_NETWORK 24 | ||
37 | |||
38 | #define SO_BINDTODEVICE 25 | ||
39 | |||
40 | /* Socket filtering */ | ||
41 | #define SO_ATTACH_FILTER 26 | ||
42 | #define SO_DETACH_FILTER 27 | ||
43 | |||
44 | #define SO_PEERNAME 28 | ||
45 | #define SO_TIMESTAMP 29 | ||
46 | #define SCM_TIMESTAMP SO_TIMESTAMP | ||
47 | |||
48 | #define SO_ACCEPTCONN 30 | ||
49 | |||
50 | #define SO_PEERSEC 31 | ||
51 | #define SO_PASSSEC 34 | ||
52 | #define SO_TIMESTAMPNS 35 | ||
53 | #define SCM_TIMESTAMPNS SO_TIMESTAMPNS | ||
54 | |||
55 | #endif /* _ASM_SOCKET_H */ | ||
diff --git a/include/asm-x86_64/spinlock_types.h b/include/asm-x86_64/spinlock_types.h deleted file mode 100644 index 4da9345c1500..000000000000 --- a/include/asm-x86_64/spinlock_types.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef __ASM_SPINLOCK_TYPES_H | ||
2 | #define __ASM_SPINLOCK_TYPES_H | ||
3 | |||
4 | #ifndef __LINUX_SPINLOCK_TYPES_H | ||
5 | # error "please don't include this file directly" | ||
6 | #endif | ||
7 | |||
8 | typedef struct { | ||
9 | unsigned int slock; | ||
10 | } raw_spinlock_t; | ||
11 | |||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 1 } | ||
13 | |||
14 | typedef struct { | ||
15 | unsigned int lock; | ||
16 | } raw_rwlock_t; | ||
17 | |||
18 | #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } | ||
19 | |||
20 | #endif | ||
diff --git a/include/asm-x86_64/therm_throt.h b/include/asm-x86_64/therm_throt.h deleted file mode 100644 index 5aac059007ba..000000000000 --- a/include/asm-x86_64/therm_throt.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/therm_throt.h> | ||
diff --git a/include/asm-x86_64/tsc.h b/include/asm-x86_64/tsc.h deleted file mode 100644 index d66ba6ef25f6..000000000000 --- a/include/asm-x86_64/tsc.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-i386/tsc.h> | ||
diff --git a/include/asm-x86_64/vga.h b/include/asm-x86_64/vga.h deleted file mode 100644 index 0ecf68ac03aa..000000000000 --- a/include/asm-x86_64/vga.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * Access to VGA videoram | ||
3 | * | ||
4 | * (c) 1998 Martin Mares <mj@ucw.cz> | ||
5 | */ | ||
6 | |||
7 | #ifndef _LINUX_ASM_VGA_H_ | ||
8 | #define _LINUX_ASM_VGA_H_ | ||
9 | |||
10 | /* | ||
11 | * On the PC, we can just recalculate addresses and then | ||
12 | * access the videoram directly without any black magic. | ||
13 | */ | ||
14 | |||
15 | #define VGA_MAP_MEM(x,s) (unsigned long)phys_to_virt(x) | ||
16 | |||
17 | #define vga_readb(x) (*(x)) | ||
18 | #define vga_writeb(x,y) (*(y) = (x)) | ||
19 | |||
20 | #endif | ||
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index b2b1e6efd812..b9b05d399d2b 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h | |||
@@ -91,9 +91,11 @@ struct blkcipher_walk { | |||
91 | u8 *iv; | 91 | u8 *iv; |
92 | 92 | ||
93 | int flags; | 93 | int flags; |
94 | unsigned int blocksize; | ||
94 | }; | 95 | }; |
95 | 96 | ||
96 | extern const struct crypto_type crypto_ablkcipher_type; | 97 | extern const struct crypto_type crypto_ablkcipher_type; |
98 | extern const struct crypto_type crypto_aead_type; | ||
97 | extern const struct crypto_type crypto_blkcipher_type; | 99 | extern const struct crypto_type crypto_blkcipher_type; |
98 | extern const struct crypto_type crypto_hash_type; | 100 | extern const struct crypto_type crypto_hash_type; |
99 | 101 | ||
@@ -111,7 +113,8 @@ struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, | |||
111 | 113 | ||
112 | struct crypto_attr_type *crypto_get_attr_type(struct rtattr **tb); | 114 | struct crypto_attr_type *crypto_get_attr_type(struct rtattr **tb); |
113 | int crypto_check_attr_type(struct rtattr **tb, u32 type); | 115 | int crypto_check_attr_type(struct rtattr **tb, u32 type); |
114 | struct crypto_alg *crypto_get_attr_alg(struct rtattr **tb, u32 type, u32 mask); | 116 | struct crypto_alg *crypto_attr_alg(struct rtattr *rta, u32 type, u32 mask); |
117 | int crypto_attr_u32(struct rtattr *rta, u32 *num); | ||
115 | struct crypto_instance *crypto_alloc_instance(const char *name, | 118 | struct crypto_instance *crypto_alloc_instance(const char *name, |
116 | struct crypto_alg *alg); | 119 | struct crypto_alg *alg); |
117 | 120 | ||
@@ -127,6 +130,9 @@ int blkcipher_walk_virt(struct blkcipher_desc *desc, | |||
127 | struct blkcipher_walk *walk); | 130 | struct blkcipher_walk *walk); |
128 | int blkcipher_walk_phys(struct blkcipher_desc *desc, | 131 | int blkcipher_walk_phys(struct blkcipher_desc *desc, |
129 | struct blkcipher_walk *walk); | 132 | struct blkcipher_walk *walk); |
133 | int blkcipher_walk_virt_block(struct blkcipher_desc *desc, | ||
134 | struct blkcipher_walk *walk, | ||
135 | unsigned int blocksize); | ||
130 | 136 | ||
131 | static inline void *crypto_tfm_ctx_aligned(struct crypto_tfm *tfm) | 137 | static inline void *crypto_tfm_ctx_aligned(struct crypto_tfm *tfm) |
132 | { | 138 | { |
@@ -160,6 +166,36 @@ static inline void *crypto_ablkcipher_ctx(struct crypto_ablkcipher *tfm) | |||
160 | return crypto_tfm_ctx(&tfm->base); | 166 | return crypto_tfm_ctx(&tfm->base); |
161 | } | 167 | } |
162 | 168 | ||
169 | static inline void *crypto_ablkcipher_ctx_aligned(struct crypto_ablkcipher *tfm) | ||
170 | { | ||
171 | return crypto_tfm_ctx_aligned(&tfm->base); | ||
172 | } | ||
173 | |||
174 | static inline struct aead_alg *crypto_aead_alg(struct crypto_aead *tfm) | ||
175 | { | ||
176 | return &crypto_aead_tfm(tfm)->__crt_alg->cra_aead; | ||
177 | } | ||
178 | |||
179 | static inline void *crypto_aead_ctx(struct crypto_aead *tfm) | ||
180 | { | ||
181 | return crypto_tfm_ctx(&tfm->base); | ||
182 | } | ||
183 | |||
184 | static inline struct crypto_instance *crypto_aead_alg_instance( | ||
185 | struct crypto_aead *aead) | ||
186 | { | ||
187 | return crypto_tfm_alg_instance(&aead->base); | ||
188 | } | ||
189 | |||
190 | static inline struct crypto_ablkcipher *crypto_spawn_ablkcipher( | ||
191 | struct crypto_spawn *spawn) | ||
192 | { | ||
193 | u32 type = CRYPTO_ALG_TYPE_BLKCIPHER; | ||
194 | u32 mask = CRYPTO_ALG_TYPE_MASK; | ||
195 | |||
196 | return __crypto_ablkcipher_cast(crypto_spawn_tfm(spawn, type, mask)); | ||
197 | } | ||
198 | |||
163 | static inline struct crypto_blkcipher *crypto_spawn_blkcipher( | 199 | static inline struct crypto_blkcipher *crypto_spawn_blkcipher( |
164 | struct crypto_spawn *spawn) | 200 | struct crypto_spawn *spawn) |
165 | { | 201 | { |
@@ -223,16 +259,16 @@ static inline struct crypto_async_request *crypto_get_backlog( | |||
223 | container_of(queue->backlog, struct crypto_async_request, list); | 259 | container_of(queue->backlog, struct crypto_async_request, list); |
224 | } | 260 | } |
225 | 261 | ||
226 | static inline int ablkcipher_enqueue_request(struct ablkcipher_alg *alg, | 262 | static inline int ablkcipher_enqueue_request(struct crypto_queue *queue, |
227 | struct ablkcipher_request *request) | 263 | struct ablkcipher_request *request) |
228 | { | 264 | { |
229 | return crypto_enqueue_request(alg->queue, &request->base); | 265 | return crypto_enqueue_request(queue, &request->base); |
230 | } | 266 | } |
231 | 267 | ||
232 | static inline struct ablkcipher_request *ablkcipher_dequeue_request( | 268 | static inline struct ablkcipher_request *ablkcipher_dequeue_request( |
233 | struct ablkcipher_alg *alg) | 269 | struct crypto_queue *queue) |
234 | { | 270 | { |
235 | return ablkcipher_request_cast(crypto_dequeue_request(alg->queue)); | 271 | return ablkcipher_request_cast(crypto_dequeue_request(queue)); |
236 | } | 272 | } |
237 | 273 | ||
238 | static inline void *ablkcipher_request_ctx(struct ablkcipher_request *req) | 274 | static inline void *ablkcipher_request_ctx(struct ablkcipher_request *req) |
@@ -240,10 +276,31 @@ static inline void *ablkcipher_request_ctx(struct ablkcipher_request *req) | |||
240 | return req->__ctx; | 276 | return req->__ctx; |
241 | } | 277 | } |
242 | 278 | ||
243 | static inline int ablkcipher_tfm_in_queue(struct crypto_ablkcipher *tfm) | 279 | static inline int ablkcipher_tfm_in_queue(struct crypto_queue *queue, |
280 | struct crypto_ablkcipher *tfm) | ||
281 | { | ||
282 | return crypto_tfm_in_queue(queue, crypto_ablkcipher_tfm(tfm)); | ||
283 | } | ||
284 | |||
285 | static inline void *aead_request_ctx(struct aead_request *req) | ||
286 | { | ||
287 | return req->__ctx; | ||
288 | } | ||
289 | |||
290 | static inline void aead_request_complete(struct aead_request *req, int err) | ||
291 | { | ||
292 | req->base.complete(&req->base, err); | ||
293 | } | ||
294 | |||
295 | static inline u32 aead_request_flags(struct aead_request *req) | ||
296 | { | ||
297 | return req->base.flags; | ||
298 | } | ||
299 | |||
300 | static inline struct crypto_alg *crypto_get_attr_alg(struct rtattr **tb, | ||
301 | u32 type, u32 mask) | ||
244 | { | 302 | { |
245 | return crypto_tfm_in_queue(crypto_ablkcipher_alg(tfm)->queue, | 303 | return crypto_attr_alg(tb[1], type, mask); |
246 | crypto_ablkcipher_tfm(tfm)); | ||
247 | } | 304 | } |
248 | 305 | ||
249 | #endif /* _CRYPTO_ALGAPI_H */ | 306 | #endif /* _CRYPTO_ALGAPI_H */ |
diff --git a/include/crypto/gf128mul.h b/include/crypto/gf128mul.h index 4fd315202442..4086b8ebfafe 100644 --- a/include/crypto/gf128mul.h +++ b/include/crypto/gf128mul.h | |||
@@ -161,6 +161,8 @@ void gf128mul_lle(be128 *a, const be128 *b); | |||
161 | 161 | ||
162 | void gf128mul_bbe(be128 *a, const be128 *b); | 162 | void gf128mul_bbe(be128 *a, const be128 *b); |
163 | 163 | ||
164 | /* multiply by x in ble format, needed by XTS */ | ||
165 | void gf128mul_x_ble(be128 *a, const be128 *b); | ||
164 | 166 | ||
165 | /* 4k table optimization */ | 167 | /* 4k table optimization */ |
166 | 168 | ||
diff --git a/include/crypto/sha.h b/include/crypto/sha.h new file mode 100644 index 000000000000..0686e1f7a24b --- /dev/null +++ b/include/crypto/sha.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * Common values for SHA algorithms | ||
3 | */ | ||
4 | |||
5 | #ifndef _CRYPTO_SHA_H | ||
6 | #define _CRYPTO_SHA_H | ||
7 | |||
8 | #define SHA1_DIGEST_SIZE 20 | ||
9 | #define SHA1_BLOCK_SIZE 64 | ||
10 | |||
11 | #define SHA256_DIGEST_SIZE 32 | ||
12 | #define SHA256_BLOCK_SIZE 64 | ||
13 | |||
14 | #define SHA384_DIGEST_SIZE 48 | ||
15 | #define SHA384_BLOCK_SIZE 128 | ||
16 | |||
17 | #define SHA512_DIGEST_SIZE 64 | ||
18 | #define SHA512_BLOCK_SIZE 128 | ||
19 | |||
20 | #define SHA1_H0 0x67452301UL | ||
21 | #define SHA1_H1 0xefcdab89UL | ||
22 | #define SHA1_H2 0x98badcfeUL | ||
23 | #define SHA1_H3 0x10325476UL | ||
24 | #define SHA1_H4 0xc3d2e1f0UL | ||
25 | |||
26 | #define SHA256_H0 0x6a09e667UL | ||
27 | #define SHA256_H1 0xbb67ae85UL | ||
28 | #define SHA256_H2 0x3c6ef372UL | ||
29 | #define SHA256_H3 0xa54ff53aUL | ||
30 | #define SHA256_H4 0x510e527fUL | ||
31 | #define SHA256_H5 0x9b05688cUL | ||
32 | #define SHA256_H6 0x1f83d9abUL | ||
33 | #define SHA256_H7 0x5be0cd19UL | ||
34 | |||
35 | #define SHA384_H0 0xcbbb9d5dc1059ed8ULL | ||
36 | #define SHA384_H1 0x629a292a367cd507ULL | ||
37 | #define SHA384_H2 0x9159015a3070dd17ULL | ||
38 | #define SHA384_H3 0x152fecd8f70e5939ULL | ||
39 | #define SHA384_H4 0x67332667ffc00b31ULL | ||
40 | #define SHA384_H5 0x8eb44a8768581511ULL | ||
41 | #define SHA384_H6 0xdb0c2e0d64f98fa7ULL | ||
42 | #define SHA384_H7 0x47b5481dbefa4fa4ULL | ||
43 | |||
44 | #define SHA512_H0 0x6a09e667f3bcc908ULL | ||
45 | #define SHA512_H1 0xbb67ae8584caa73bULL | ||
46 | #define SHA512_H2 0x3c6ef372fe94f82bULL | ||
47 | #define SHA512_H3 0xa54ff53a5f1d36f1ULL | ||
48 | #define SHA512_H4 0x510e527fade682d1ULL | ||
49 | #define SHA512_H5 0x9b05688c2b3e6c1fULL | ||
50 | #define SHA512_H6 0x1f83d9abfb41bd6bULL | ||
51 | #define SHA512_H7 0x5be0cd19137e2179ULL | ||
52 | |||
53 | #endif | ||
diff --git a/include/linux/arcdevice.h b/include/linux/arcdevice.h index 2f85049cfb3d..fde675872c56 100644 --- a/include/linux/arcdevice.h +++ b/include/linux/arcdevice.h | |||
@@ -214,7 +214,7 @@ extern struct ArcProto *arc_proto_map[256], *arc_proto_default, | |||
214 | */ | 214 | */ |
215 | struct Incoming { | 215 | struct Incoming { |
216 | struct sk_buff *skb; /* packet data buffer */ | 216 | struct sk_buff *skb; /* packet data buffer */ |
217 | uint16_t sequence; /* sequence number of assembly */ | 217 | __be16 sequence; /* sequence number of assembly */ |
218 | uint8_t lastpacket, /* number of last packet (from 1) */ | 218 | uint8_t lastpacket, /* number of last packet (from 1) */ |
219 | numpackets; /* number of packets in split */ | 219 | numpackets; /* number of packets in split */ |
220 | }; | 220 | }; |
@@ -292,7 +292,7 @@ struct arcnet_local { | |||
292 | 292 | ||
293 | struct { | 293 | struct { |
294 | uint16_t sequence; /* sequence number (incs with each packet) */ | 294 | uint16_t sequence; /* sequence number (incs with each packet) */ |
295 | uint16_t aborted_seq; | 295 | __be16 aborted_seq; |
296 | 296 | ||
297 | struct Incoming incoming[256]; /* one from each address */ | 297 | struct Incoming incoming[256]; /* one from each address */ |
298 | } rfc1201; | 298 | } rfc1201; |
diff --git a/include/linux/audit.h b/include/linux/audit.h index d6579df8dadf..9ae740936a65 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -108,10 +108,11 @@ | |||
108 | #define AUDIT_MAC_CIPSOV4_DEL 1408 /* NetLabel: del CIPSOv4 DOI entry */ | 108 | #define AUDIT_MAC_CIPSOV4_DEL 1408 /* NetLabel: del CIPSOv4 DOI entry */ |
109 | #define AUDIT_MAC_MAP_ADD 1409 /* NetLabel: add LSM domain mapping */ | 109 | #define AUDIT_MAC_MAP_ADD 1409 /* NetLabel: add LSM domain mapping */ |
110 | #define AUDIT_MAC_MAP_DEL 1410 /* NetLabel: del LSM domain mapping */ | 110 | #define AUDIT_MAC_MAP_DEL 1410 /* NetLabel: del LSM domain mapping */ |
111 | #define AUDIT_MAC_IPSEC_ADDSA 1411 /* Add a XFRM state */ | 111 | #define AUDIT_MAC_IPSEC_ADDSA 1411 /* Not used */ |
112 | #define AUDIT_MAC_IPSEC_DELSA 1412 /* Delete a XFRM state */ | 112 | #define AUDIT_MAC_IPSEC_DELSA 1412 /* Not used */ |
113 | #define AUDIT_MAC_IPSEC_ADDSPD 1413 /* Add a XFRM policy */ | 113 | #define AUDIT_MAC_IPSEC_ADDSPD 1413 /* Not used */ |
114 | #define AUDIT_MAC_IPSEC_DELSPD 1414 /* Delete a XFRM policy */ | 114 | #define AUDIT_MAC_IPSEC_DELSPD 1414 /* Not used */ |
115 | #define AUDIT_MAC_IPSEC_EVENT 1415 /* Audit an IPSec event */ | ||
115 | 116 | ||
116 | #define AUDIT_FIRST_KERN_ANOM_MSG 1700 | 117 | #define AUDIT_FIRST_KERN_ANOM_MSG 1700 |
117 | #define AUDIT_LAST_KERN_ANOM_MSG 1799 | 118 | #define AUDIT_LAST_KERN_ANOM_MSG 1799 |
diff --git a/include/linux/backlight.h b/include/linux/backlight.h index c897c7b03858..1ee9488ca2e4 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h | |||
@@ -92,4 +92,13 @@ static inline void * bl_get_data(struct backlight_device *bl_dev) | |||
92 | return dev_get_drvdata(&bl_dev->dev); | 92 | return dev_get_drvdata(&bl_dev->dev); |
93 | } | 93 | } |
94 | 94 | ||
95 | struct generic_bl_info { | ||
96 | const char *name; | ||
97 | int max_intensity; | ||
98 | int default_intensity; | ||
99 | int limit_mask; | ||
100 | void (*set_bl_intensity)(int intensity); | ||
101 | void (*kick_battery)(void); | ||
102 | }; | ||
103 | |||
95 | #endif | 104 | #endif |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 1ddef34f43c3..089a8bc55dd4 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -64,7 +64,7 @@ struct bio_vec { | |||
64 | 64 | ||
65 | struct bio_set; | 65 | struct bio_set; |
66 | struct bio; | 66 | struct bio; |
67 | typedef int (bio_end_io_t) (struct bio *, unsigned int, int); | 67 | typedef void (bio_end_io_t) (struct bio *, int); |
68 | typedef void (bio_destructor_t) (struct bio *); | 68 | typedef void (bio_destructor_t) (struct bio *); |
69 | 69 | ||
70 | /* | 70 | /* |
@@ -226,7 +226,7 @@ struct bio { | |||
226 | #define BIO_SEG_BOUNDARY(q, b1, b2) \ | 226 | #define BIO_SEG_BOUNDARY(q, b1, b2) \ |
227 | BIOVEC_SEG_BOUNDARY((q), __BVEC_END((b1)), __BVEC_START((b2))) | 227 | BIOVEC_SEG_BOUNDARY((q), __BVEC_END((b1)), __BVEC_START((b2))) |
228 | 228 | ||
229 | #define bio_io_error(bio, bytes) bio_endio((bio), (bytes), -EIO) | 229 | #define bio_io_error(bio) bio_endio((bio), -EIO) |
230 | 230 | ||
231 | /* | 231 | /* |
232 | * drivers should not use the __ version unless they _really_ want to | 232 | * drivers should not use the __ version unless they _really_ want to |
@@ -286,7 +286,7 @@ extern struct bio *bio_alloc_bioset(gfp_t, int, struct bio_set *); | |||
286 | extern void bio_put(struct bio *); | 286 | extern void bio_put(struct bio *); |
287 | extern void bio_free(struct bio *, struct bio_set *); | 287 | extern void bio_free(struct bio *, struct bio_set *); |
288 | 288 | ||
289 | extern void bio_endio(struct bio *, unsigned int, int); | 289 | extern void bio_endio(struct bio *, int); |
290 | struct request_queue; | 290 | struct request_queue; |
291 | extern int bio_phys_segments(struct request_queue *, struct bio *); | 291 | extern int bio_phys_segments(struct request_queue *, struct bio *); |
292 | extern int bio_hw_segments(struct request_queue *, struct bio *); | 292 | extern int bio_hw_segments(struct request_queue *, struct bio *); |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index b126c6f68e27..95be0ac57e76 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_BLKDEV_H | 1 | #ifndef _LINUX_BLKDEV_H |
2 | #define _LINUX_BLKDEV_H | 2 | #define _LINUX_BLKDEV_H |
3 | 3 | ||
4 | #ifdef CONFIG_BLOCK | ||
5 | |||
4 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
5 | #include <linux/major.h> | 7 | #include <linux/major.h> |
6 | #include <linux/genhd.h> | 8 | #include <linux/genhd.h> |
@@ -32,8 +34,6 @@ | |||
32 | ) | 34 | ) |
33 | #endif | 35 | #endif |
34 | 36 | ||
35 | #ifdef CONFIG_BLOCK | ||
36 | |||
37 | struct scsi_ioctl_command; | 37 | struct scsi_ioctl_command; |
38 | 38 | ||
39 | struct request_queue; | 39 | struct request_queue; |
@@ -471,7 +471,6 @@ struct request_queue | |||
471 | int orderr, ordcolor; | 471 | int orderr, ordcolor; |
472 | struct request pre_flush_rq, bar_rq, post_flush_rq; | 472 | struct request pre_flush_rq, bar_rq, post_flush_rq; |
473 | struct request *orig_bar_rq; | 473 | struct request *orig_bar_rq; |
474 | unsigned int bi_size; | ||
475 | 474 | ||
476 | struct mutex sysfs_lock; | 475 | struct mutex sysfs_lock; |
477 | 476 | ||
@@ -637,10 +636,23 @@ static inline void blk_queue_bounce(struct request_queue *q, struct bio **bio) | |||
637 | } | 636 | } |
638 | #endif /* CONFIG_MMU */ | 637 | #endif /* CONFIG_MMU */ |
639 | 638 | ||
640 | #define rq_for_each_bio(_bio, rq) \ | 639 | struct req_iterator { |
640 | int i; | ||
641 | struct bio *bio; | ||
642 | }; | ||
643 | |||
644 | /* This should not be used directly - use rq_for_each_segment */ | ||
645 | #define __rq_for_each_bio(_bio, rq) \ | ||
641 | if ((rq->bio)) \ | 646 | if ((rq->bio)) \ |
642 | for (_bio = (rq)->bio; _bio; _bio = _bio->bi_next) | 647 | for (_bio = (rq)->bio; _bio; _bio = _bio->bi_next) |
643 | 648 | ||
649 | #define rq_for_each_segment(bvl, _rq, _iter) \ | ||
650 | __rq_for_each_bio(_iter.bio, _rq) \ | ||
651 | bio_for_each_segment(bvl, _iter.bio, _iter.i) | ||
652 | |||
653 | #define rq_iter_last(rq, _iter) \ | ||
654 | (_iter.bio->bi_next == NULL && _iter.i == _iter.bio->bi_vcnt-1) | ||
655 | |||
644 | extern int blk_register_queue(struct gendisk *disk); | 656 | extern int blk_register_queue(struct gendisk *disk); |
645 | extern void blk_unregister_queue(struct gendisk *disk); | 657 | extern void blk_unregister_queue(struct gendisk *disk); |
646 | extern void register_disk(struct gendisk *dev); | 658 | extern void register_disk(struct gendisk *dev); |
@@ -662,8 +674,8 @@ extern int sg_scsi_ioctl(struct file *, struct request_queue *, | |||
662 | /* | 674 | /* |
663 | * Temporary export, until SCSI gets fixed up. | 675 | * Temporary export, until SCSI gets fixed up. |
664 | */ | 676 | */ |
665 | extern int ll_back_merge_fn(struct request_queue *, struct request *, | 677 | extern int blk_rq_append_bio(struct request_queue *q, struct request *rq, |
666 | struct bio *); | 678 | struct bio *bio); |
667 | 679 | ||
668 | /* | 680 | /* |
669 | * A queue has just exitted congestion. Note this in the global counter of | 681 | * A queue has just exitted congestion. Note this in the global counter of |
@@ -810,7 +822,6 @@ static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, | |||
810 | return bqt->tag_index[tag]; | 822 | return bqt->tag_index[tag]; |
811 | } | 823 | } |
812 | 824 | ||
813 | extern void blk_rq_bio_prep(struct request_queue *, struct request *, struct bio *); | ||
814 | extern int blkdev_issue_flush(struct block_device *, sector_t *); | 825 | extern int blkdev_issue_flush(struct block_device *, sector_t *); |
815 | 826 | ||
816 | #define MAX_PHYS_SEGMENTS 128 | 827 | #define MAX_PHYS_SEGMENTS 128 |
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 7b5d56b82b59..2e105a12fe29 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
@@ -142,10 +142,14 @@ struct blk_user_trace_setup { | |||
142 | u32 pid; | 142 | u32 pid; |
143 | }; | 143 | }; |
144 | 144 | ||
145 | #ifdef __KERNEL__ | ||
145 | #if defined(CONFIG_BLK_DEV_IO_TRACE) | 146 | #if defined(CONFIG_BLK_DEV_IO_TRACE) |
146 | extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); | 147 | extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); |
147 | extern void blk_trace_shutdown(struct request_queue *); | 148 | extern void blk_trace_shutdown(struct request_queue *); |
148 | extern void __blk_add_trace(struct blk_trace *, sector_t, int, int, u32, int, int, void *); | 149 | extern void __blk_add_trace(struct blk_trace *, sector_t, int, int, u32, int, int, void *); |
150 | extern int do_blk_trace_setup(struct request_queue *q, | ||
151 | struct block_device *bdev, struct blk_user_trace_setup *buts); | ||
152 | |||
149 | 153 | ||
150 | /** | 154 | /** |
151 | * blk_add_trace_rq - Add a trace for a request oriented action | 155 | * blk_add_trace_rq - Add a trace for a request oriented action |
@@ -286,6 +290,12 @@ static inline void blk_add_trace_remap(struct request_queue *q, struct bio *bio, | |||
286 | #define blk_add_trace_generic(q, rq, rw, what) do { } while (0) | 290 | #define blk_add_trace_generic(q, rq, rw, what) do { } while (0) |
287 | #define blk_add_trace_pdu_int(q, what, bio, pdu) do { } while (0) | 291 | #define blk_add_trace_pdu_int(q, what, bio, pdu) do { } while (0) |
288 | #define blk_add_trace_remap(q, bio, dev, f, t) do {} while (0) | 292 | #define blk_add_trace_remap(q, bio, dev, f, t) do {} while (0) |
293 | static inline int do_blk_trace_setup(struct request_queue *q, | ||
294 | struct block_device *bdev, | ||
295 | struct blk_user_trace_setup *buts) | ||
296 | { | ||
297 | return 0; | ||
298 | } | ||
289 | #endif /* CONFIG_BLK_DEV_IO_TRACE */ | 299 | #endif /* CONFIG_BLK_DEV_IO_TRACE */ |
290 | 300 | #endif /* __KERNEL__ */ | |
291 | #endif | 301 | #endif |
diff --git a/include/linux/connector.h b/include/linux/connector.h index 10eb56b2940a..b62f823e90cf 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
@@ -153,7 +153,7 @@ struct cn_dev { | |||
153 | 153 | ||
154 | u32 seq, groups; | 154 | u32 seq, groups; |
155 | struct sock *nls; | 155 | struct sock *nls; |
156 | void (*input) (struct sock * sk, int len); | 156 | void (*input) (struct sk_buff *skb); |
157 | 157 | ||
158 | struct cn_queue_dev *cbdev; | 158 | struct cn_queue_dev *cbdev; |
159 | }; | 159 | }; |
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 357e8cfedc37..fc32694287e2 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define CRYPTO_ALG_TYPE_HASH 0x00000003 | 34 | #define CRYPTO_ALG_TYPE_HASH 0x00000003 |
35 | #define CRYPTO_ALG_TYPE_BLKCIPHER 0x00000004 | 35 | #define CRYPTO_ALG_TYPE_BLKCIPHER 0x00000004 |
36 | #define CRYPTO_ALG_TYPE_COMPRESS 0x00000005 | 36 | #define CRYPTO_ALG_TYPE_COMPRESS 0x00000005 |
37 | #define CRYPTO_ALG_TYPE_AEAD 0x00000006 | ||
37 | 38 | ||
38 | #define CRYPTO_ALG_TYPE_HASH_MASK 0x0000000e | 39 | #define CRYPTO_ALG_TYPE_HASH_MASK 0x0000000e |
39 | 40 | ||
@@ -91,9 +92,9 @@ | |||
91 | struct scatterlist; | 92 | struct scatterlist; |
92 | struct crypto_ablkcipher; | 93 | struct crypto_ablkcipher; |
93 | struct crypto_async_request; | 94 | struct crypto_async_request; |
95 | struct crypto_aead; | ||
94 | struct crypto_blkcipher; | 96 | struct crypto_blkcipher; |
95 | struct crypto_hash; | 97 | struct crypto_hash; |
96 | struct crypto_queue; | ||
97 | struct crypto_tfm; | 98 | struct crypto_tfm; |
98 | struct crypto_type; | 99 | struct crypto_type; |
99 | 100 | ||
@@ -121,6 +122,32 @@ struct ablkcipher_request { | |||
121 | void *__ctx[] CRYPTO_MINALIGN_ATTR; | 122 | void *__ctx[] CRYPTO_MINALIGN_ATTR; |
122 | }; | 123 | }; |
123 | 124 | ||
125 | /** | ||
126 | * struct aead_request - AEAD request | ||
127 | * @base: Common attributes for async crypto requests | ||
128 | * @assoclen: Length in bytes of associated data for authentication | ||
129 | * @cryptlen: Length of data to be encrypted or decrypted | ||
130 | * @iv: Initialisation vector | ||
131 | * @assoc: Associated data | ||
132 | * @src: Source data | ||
133 | * @dst: Destination data | ||
134 | * @__ctx: Start of private context data | ||
135 | */ | ||
136 | struct aead_request { | ||
137 | struct crypto_async_request base; | ||
138 | |||
139 | unsigned int assoclen; | ||
140 | unsigned int cryptlen; | ||
141 | |||
142 | u8 *iv; | ||
143 | |||
144 | struct scatterlist *assoc; | ||
145 | struct scatterlist *src; | ||
146 | struct scatterlist *dst; | ||
147 | |||
148 | void *__ctx[] CRYPTO_MINALIGN_ATTR; | ||
149 | }; | ||
150 | |||
124 | struct blkcipher_desc { | 151 | struct blkcipher_desc { |
125 | struct crypto_blkcipher *tfm; | 152 | struct crypto_blkcipher *tfm; |
126 | void *info; | 153 | void *info; |
@@ -150,13 +177,21 @@ struct ablkcipher_alg { | |||
150 | int (*encrypt)(struct ablkcipher_request *req); | 177 | int (*encrypt)(struct ablkcipher_request *req); |
151 | int (*decrypt)(struct ablkcipher_request *req); | 178 | int (*decrypt)(struct ablkcipher_request *req); |
152 | 179 | ||
153 | struct crypto_queue *queue; | ||
154 | |||
155 | unsigned int min_keysize; | 180 | unsigned int min_keysize; |
156 | unsigned int max_keysize; | 181 | unsigned int max_keysize; |
157 | unsigned int ivsize; | 182 | unsigned int ivsize; |
158 | }; | 183 | }; |
159 | 184 | ||
185 | struct aead_alg { | ||
186 | int (*setkey)(struct crypto_aead *tfm, const u8 *key, | ||
187 | unsigned int keylen); | ||
188 | int (*encrypt)(struct aead_request *req); | ||
189 | int (*decrypt)(struct aead_request *req); | ||
190 | |||
191 | unsigned int ivsize; | ||
192 | unsigned int authsize; | ||
193 | }; | ||
194 | |||
160 | struct blkcipher_alg { | 195 | struct blkcipher_alg { |
161 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, | 196 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, |
162 | unsigned int keylen); | 197 | unsigned int keylen); |
@@ -212,6 +247,7 @@ struct compress_alg { | |||
212 | }; | 247 | }; |
213 | 248 | ||
214 | #define cra_ablkcipher cra_u.ablkcipher | 249 | #define cra_ablkcipher cra_u.ablkcipher |
250 | #define cra_aead cra_u.aead | ||
215 | #define cra_blkcipher cra_u.blkcipher | 251 | #define cra_blkcipher cra_u.blkcipher |
216 | #define cra_cipher cra_u.cipher | 252 | #define cra_cipher cra_u.cipher |
217 | #define cra_digest cra_u.digest | 253 | #define cra_digest cra_u.digest |
@@ -237,6 +273,7 @@ struct crypto_alg { | |||
237 | 273 | ||
238 | union { | 274 | union { |
239 | struct ablkcipher_alg ablkcipher; | 275 | struct ablkcipher_alg ablkcipher; |
276 | struct aead_alg aead; | ||
240 | struct blkcipher_alg blkcipher; | 277 | struct blkcipher_alg blkcipher; |
241 | struct cipher_alg cipher; | 278 | struct cipher_alg cipher; |
242 | struct digest_alg digest; | 279 | struct digest_alg digest; |
@@ -284,6 +321,16 @@ struct ablkcipher_tfm { | |||
284 | unsigned int reqsize; | 321 | unsigned int reqsize; |
285 | }; | 322 | }; |
286 | 323 | ||
324 | struct aead_tfm { | ||
325 | int (*setkey)(struct crypto_aead *tfm, const u8 *key, | ||
326 | unsigned int keylen); | ||
327 | int (*encrypt)(struct aead_request *req); | ||
328 | int (*decrypt)(struct aead_request *req); | ||
329 | unsigned int ivsize; | ||
330 | unsigned int authsize; | ||
331 | unsigned int reqsize; | ||
332 | }; | ||
333 | |||
287 | struct blkcipher_tfm { | 334 | struct blkcipher_tfm { |
288 | void *iv; | 335 | void *iv; |
289 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, | 336 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, |
@@ -323,6 +370,7 @@ struct compress_tfm { | |||
323 | }; | 370 | }; |
324 | 371 | ||
325 | #define crt_ablkcipher crt_u.ablkcipher | 372 | #define crt_ablkcipher crt_u.ablkcipher |
373 | #define crt_aead crt_u.aead | ||
326 | #define crt_blkcipher crt_u.blkcipher | 374 | #define crt_blkcipher crt_u.blkcipher |
327 | #define crt_cipher crt_u.cipher | 375 | #define crt_cipher crt_u.cipher |
328 | #define crt_hash crt_u.hash | 376 | #define crt_hash crt_u.hash |
@@ -334,6 +382,7 @@ struct crypto_tfm { | |||
334 | 382 | ||
335 | union { | 383 | union { |
336 | struct ablkcipher_tfm ablkcipher; | 384 | struct ablkcipher_tfm ablkcipher; |
385 | struct aead_tfm aead; | ||
337 | struct blkcipher_tfm blkcipher; | 386 | struct blkcipher_tfm blkcipher; |
338 | struct cipher_tfm cipher; | 387 | struct cipher_tfm cipher; |
339 | struct hash_tfm hash; | 388 | struct hash_tfm hash; |
@@ -349,6 +398,10 @@ struct crypto_ablkcipher { | |||
349 | struct crypto_tfm base; | 398 | struct crypto_tfm base; |
350 | }; | 399 | }; |
351 | 400 | ||
401 | struct crypto_aead { | ||
402 | struct crypto_tfm base; | ||
403 | }; | ||
404 | |||
352 | struct crypto_blkcipher { | 405 | struct crypto_blkcipher { |
353 | struct crypto_tfm base; | 406 | struct crypto_tfm base; |
354 | }; | 407 | }; |
@@ -369,11 +422,15 @@ enum { | |||
369 | CRYPTOA_UNSPEC, | 422 | CRYPTOA_UNSPEC, |
370 | CRYPTOA_ALG, | 423 | CRYPTOA_ALG, |
371 | CRYPTOA_TYPE, | 424 | CRYPTOA_TYPE, |
425 | CRYPTOA_U32, | ||
372 | __CRYPTOA_MAX, | 426 | __CRYPTOA_MAX, |
373 | }; | 427 | }; |
374 | 428 | ||
375 | #define CRYPTOA_MAX (__CRYPTOA_MAX - 1) | 429 | #define CRYPTOA_MAX (__CRYPTOA_MAX - 1) |
376 | 430 | ||
431 | /* Maximum number of (rtattr) parameters for each template. */ | ||
432 | #define CRYPTO_MAX_ATTRS 32 | ||
433 | |||
377 | struct crypto_attr_alg { | 434 | struct crypto_attr_alg { |
378 | char name[CRYPTO_MAX_ALG_NAME]; | 435 | char name[CRYPTO_MAX_ALG_NAME]; |
379 | }; | 436 | }; |
@@ -383,6 +440,10 @@ struct crypto_attr_type { | |||
383 | u32 mask; | 440 | u32 mask; |
384 | }; | 441 | }; |
385 | 442 | ||
443 | struct crypto_attr_u32 { | ||
444 | u32 num; | ||
445 | }; | ||
446 | |||
386 | /* | 447 | /* |
387 | * Transform user interface. | 448 | * Transform user interface. |
388 | */ | 449 | */ |
@@ -563,7 +624,8 @@ static inline int crypto_ablkcipher_decrypt(struct ablkcipher_request *req) | |||
563 | return crt->decrypt(req); | 624 | return crt->decrypt(req); |
564 | } | 625 | } |
565 | 626 | ||
566 | static inline int crypto_ablkcipher_reqsize(struct crypto_ablkcipher *tfm) | 627 | static inline unsigned int crypto_ablkcipher_reqsize( |
628 | struct crypto_ablkcipher *tfm) | ||
567 | { | 629 | { |
568 | return crypto_ablkcipher_crt(tfm)->reqsize; | 630 | return crypto_ablkcipher_crt(tfm)->reqsize; |
569 | } | 631 | } |
@@ -619,6 +681,150 @@ static inline void ablkcipher_request_set_crypt( | |||
619 | req->info = iv; | 681 | req->info = iv; |
620 | } | 682 | } |
621 | 683 | ||
684 | static inline struct crypto_aead *__crypto_aead_cast(struct crypto_tfm *tfm) | ||
685 | { | ||
686 | return (struct crypto_aead *)tfm; | ||
687 | } | ||
688 | |||
689 | static inline struct crypto_aead *crypto_alloc_aead(const char *alg_name, | ||
690 | u32 type, u32 mask) | ||
691 | { | ||
692 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
693 | type |= CRYPTO_ALG_TYPE_AEAD; | ||
694 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
695 | |||
696 | return __crypto_aead_cast(crypto_alloc_base(alg_name, type, mask)); | ||
697 | } | ||
698 | |||
699 | static inline struct crypto_tfm *crypto_aead_tfm(struct crypto_aead *tfm) | ||
700 | { | ||
701 | return &tfm->base; | ||
702 | } | ||
703 | |||
704 | static inline void crypto_free_aead(struct crypto_aead *tfm) | ||
705 | { | ||
706 | crypto_free_tfm(crypto_aead_tfm(tfm)); | ||
707 | } | ||
708 | |||
709 | static inline struct aead_tfm *crypto_aead_crt(struct crypto_aead *tfm) | ||
710 | { | ||
711 | return &crypto_aead_tfm(tfm)->crt_aead; | ||
712 | } | ||
713 | |||
714 | static inline unsigned int crypto_aead_ivsize(struct crypto_aead *tfm) | ||
715 | { | ||
716 | return crypto_aead_crt(tfm)->ivsize; | ||
717 | } | ||
718 | |||
719 | static inline unsigned int crypto_aead_authsize(struct crypto_aead *tfm) | ||
720 | { | ||
721 | return crypto_aead_crt(tfm)->authsize; | ||
722 | } | ||
723 | |||
724 | static inline unsigned int crypto_aead_blocksize(struct crypto_aead *tfm) | ||
725 | { | ||
726 | return crypto_tfm_alg_blocksize(crypto_aead_tfm(tfm)); | ||
727 | } | ||
728 | |||
729 | static inline unsigned int crypto_aead_alignmask(struct crypto_aead *tfm) | ||
730 | { | ||
731 | return crypto_tfm_alg_alignmask(crypto_aead_tfm(tfm)); | ||
732 | } | ||
733 | |||
734 | static inline u32 crypto_aead_get_flags(struct crypto_aead *tfm) | ||
735 | { | ||
736 | return crypto_tfm_get_flags(crypto_aead_tfm(tfm)); | ||
737 | } | ||
738 | |||
739 | static inline void crypto_aead_set_flags(struct crypto_aead *tfm, u32 flags) | ||
740 | { | ||
741 | crypto_tfm_set_flags(crypto_aead_tfm(tfm), flags); | ||
742 | } | ||
743 | |||
744 | static inline void crypto_aead_clear_flags(struct crypto_aead *tfm, u32 flags) | ||
745 | { | ||
746 | crypto_tfm_clear_flags(crypto_aead_tfm(tfm), flags); | ||
747 | } | ||
748 | |||
749 | static inline int crypto_aead_setkey(struct crypto_aead *tfm, const u8 *key, | ||
750 | unsigned int keylen) | ||
751 | { | ||
752 | return crypto_aead_crt(tfm)->setkey(tfm, key, keylen); | ||
753 | } | ||
754 | |||
755 | static inline struct crypto_aead *crypto_aead_reqtfm(struct aead_request *req) | ||
756 | { | ||
757 | return __crypto_aead_cast(req->base.tfm); | ||
758 | } | ||
759 | |||
760 | static inline int crypto_aead_encrypt(struct aead_request *req) | ||
761 | { | ||
762 | return crypto_aead_crt(crypto_aead_reqtfm(req))->encrypt(req); | ||
763 | } | ||
764 | |||
765 | static inline int crypto_aead_decrypt(struct aead_request *req) | ||
766 | { | ||
767 | return crypto_aead_crt(crypto_aead_reqtfm(req))->decrypt(req); | ||
768 | } | ||
769 | |||
770 | static inline unsigned int crypto_aead_reqsize(struct crypto_aead *tfm) | ||
771 | { | ||
772 | return crypto_aead_crt(tfm)->reqsize; | ||
773 | } | ||
774 | |||
775 | static inline void aead_request_set_tfm(struct aead_request *req, | ||
776 | struct crypto_aead *tfm) | ||
777 | { | ||
778 | req->base.tfm = crypto_aead_tfm(tfm); | ||
779 | } | ||
780 | |||
781 | static inline struct aead_request *aead_request_alloc(struct crypto_aead *tfm, | ||
782 | gfp_t gfp) | ||
783 | { | ||
784 | struct aead_request *req; | ||
785 | |||
786 | req = kmalloc(sizeof(*req) + crypto_aead_reqsize(tfm), gfp); | ||
787 | |||
788 | if (likely(req)) | ||
789 | aead_request_set_tfm(req, tfm); | ||
790 | |||
791 | return req; | ||
792 | } | ||
793 | |||
794 | static inline void aead_request_free(struct aead_request *req) | ||
795 | { | ||
796 | kfree(req); | ||
797 | } | ||
798 | |||
799 | static inline void aead_request_set_callback(struct aead_request *req, | ||
800 | u32 flags, | ||
801 | crypto_completion_t complete, | ||
802 | void *data) | ||
803 | { | ||
804 | req->base.complete = complete; | ||
805 | req->base.data = data; | ||
806 | req->base.flags = flags; | ||
807 | } | ||
808 | |||
809 | static inline void aead_request_set_crypt(struct aead_request *req, | ||
810 | struct scatterlist *src, | ||
811 | struct scatterlist *dst, | ||
812 | unsigned int cryptlen, u8 *iv) | ||
813 | { | ||
814 | req->src = src; | ||
815 | req->dst = dst; | ||
816 | req->cryptlen = cryptlen; | ||
817 | req->iv = iv; | ||
818 | } | ||
819 | |||
820 | static inline void aead_request_set_assoc(struct aead_request *req, | ||
821 | struct scatterlist *assoc, | ||
822 | unsigned int assoclen) | ||
823 | { | ||
824 | req->assoc = assoc; | ||
825 | req->assoclen = assoclen; | ||
826 | } | ||
827 | |||
622 | static inline struct crypto_blkcipher *__crypto_blkcipher_cast( | 828 | static inline struct crypto_blkcipher *__crypto_blkcipher_cast( |
623 | struct crypto_tfm *tfm) | 829 | struct crypto_tfm *tfm) |
624 | { | 830 | { |
diff --git a/include/linux/dccp.h b/include/linux/dccp.h index fda2148d8c85..f3fc4392e93d 100644 --- a/include/linux/dccp.h +++ b/include/linux/dccp.h | |||
@@ -56,10 +56,9 @@ struct dccp_hdr_ext { | |||
56 | }; | 56 | }; |
57 | 57 | ||
58 | /** | 58 | /** |
59 | * struct dccp_hdr_request - Conection initiation request header | 59 | * struct dccp_hdr_request - Connection initiation request header |
60 | * | 60 | * |
61 | * @dccph_req_service - Service to which the client app wants to connect | 61 | * @dccph_req_service - Service to which the client app wants to connect |
62 | * @dccph_req_options - list of options (must be a multiple of 32 bits | ||
63 | */ | 62 | */ |
64 | struct dccp_hdr_request { | 63 | struct dccp_hdr_request { |
65 | __be32 dccph_req_service; | 64 | __be32 dccph_req_service; |
@@ -76,12 +75,10 @@ struct dccp_hdr_ack_bits { | |||
76 | __be32 dccph_ack_nr_low; | 75 | __be32 dccph_ack_nr_low; |
77 | }; | 76 | }; |
78 | /** | 77 | /** |
79 | * struct dccp_hdr_response - Conection initiation response header | 78 | * struct dccp_hdr_response - Connection initiation response header |
80 | * | 79 | * |
81 | * @dccph_resp_ack_nr_high - 48 bit ack number high order bits, contains GSR | 80 | * @dccph_resp_ack - 48 bit Acknowledgment Number Subheader (5.3) |
82 | * @dccph_resp_ack_nr_low - 48 bit ack number low order bits, contains GSR | ||
83 | * @dccph_resp_service - Echoes the Service Code on a received DCCP-Request | 81 | * @dccph_resp_service - Echoes the Service Code on a received DCCP-Request |
84 | * @dccph_resp_options - list of options (must be a multiple of 32 bits | ||
85 | */ | 82 | */ |
86 | struct dccp_hdr_response { | 83 | struct dccp_hdr_response { |
87 | struct dccp_hdr_ack_bits dccph_resp_ack; | 84 | struct dccp_hdr_ack_bits dccph_resp_ack; |
@@ -91,8 +88,9 @@ struct dccp_hdr_response { | |||
91 | /** | 88 | /** |
92 | * struct dccp_hdr_reset - Unconditionally shut down a connection | 89 | * struct dccp_hdr_reset - Unconditionally shut down a connection |
93 | * | 90 | * |
94 | * @dccph_reset_service - Echoes the Service Code on a received DCCP-Request | 91 | * @dccph_reset_ack - 48 bit Acknowledgment Number Subheader (5.6) |
95 | * @dccph_reset_options - list of options (must be a multiple of 32 bits | 92 | * @dccph_reset_code - one of %dccp_reset_codes |
93 | * @dccph_reset_data - the Data 1 ... Data 3 fields from 5.6 | ||
96 | */ | 94 | */ |
97 | struct dccp_hdr_reset { | 95 | struct dccp_hdr_reset { |
98 | struct dccp_hdr_ack_bits dccph_reset_ack; | 96 | struct dccp_hdr_ack_bits dccph_reset_ack; |
@@ -204,6 +202,7 @@ struct dccp_so_feat { | |||
204 | #define DCCP_SOCKOPT_SERVICE 2 | 202 | #define DCCP_SOCKOPT_SERVICE 2 |
205 | #define DCCP_SOCKOPT_CHANGE_L 3 | 203 | #define DCCP_SOCKOPT_CHANGE_L 3 |
206 | #define DCCP_SOCKOPT_CHANGE_R 4 | 204 | #define DCCP_SOCKOPT_CHANGE_R 4 |
205 | #define DCCP_SOCKOPT_GET_CUR_MPS 5 | ||
207 | #define DCCP_SOCKOPT_SEND_CSCOV 10 | 206 | #define DCCP_SOCKOPT_SEND_CSCOV 10 |
208 | #define DCCP_SOCKOPT_RECV_CSCOV 11 | 207 | #define DCCP_SOCKOPT_RECV_CSCOV 11 |
209 | #define DCCP_SOCKOPT_CCID_RX_INFO 128 | 208 | #define DCCP_SOCKOPT_CCID_RX_INFO 128 |
@@ -215,6 +214,7 @@ struct dccp_so_feat { | |||
215 | #ifdef __KERNEL__ | 214 | #ifdef __KERNEL__ |
216 | 215 | ||
217 | #include <linux/in.h> | 216 | #include <linux/in.h> |
217 | #include <linux/ktime.h> | ||
218 | #include <linux/list.h> | 218 | #include <linux/list.h> |
219 | #include <linux/uio.h> | 219 | #include <linux/uio.h> |
220 | #include <linux/workqueue.h> | 220 | #include <linux/workqueue.h> |
@@ -391,7 +391,6 @@ struct dccp_opt_pend { | |||
391 | struct dccp_opt_conf *dccpop_sc; | 391 | struct dccp_opt_conf *dccpop_sc; |
392 | }; | 392 | }; |
393 | 393 | ||
394 | extern void __dccp_minisock_init(struct dccp_minisock *dmsk); | ||
395 | extern void dccp_minisock_init(struct dccp_minisock *dmsk); | 394 | extern void dccp_minisock_init(struct dccp_minisock *dmsk); |
396 | 395 | ||
397 | extern int dccp_parse_options(struct sock *sk, struct sk_buff *skb); | 396 | extern int dccp_parse_options(struct sock *sk, struct sk_buff *skb); |
@@ -471,6 +470,7 @@ struct dccp_ackvec; | |||
471 | * @dccps_pcrlen - receiver partial checksum coverage (via sockopt) | 470 | * @dccps_pcrlen - receiver partial checksum coverage (via sockopt) |
472 | * @dccps_ndp_count - number of Non Data Packets since last data packet | 471 | * @dccps_ndp_count - number of Non Data Packets since last data packet |
473 | * @dccps_mss_cache - current value of MSS (path MTU minus header sizes) | 472 | * @dccps_mss_cache - current value of MSS (path MTU minus header sizes) |
473 | * @dccps_rate_last - timestamp for rate-limiting DCCP-Sync (RFC 4340, 7.5.4) | ||
474 | * @dccps_minisock - associated minisock (accessed via dccp_msk) | 474 | * @dccps_minisock - associated minisock (accessed via dccp_msk) |
475 | * @dccps_hc_rx_ackvec - rx half connection ack vector | 475 | * @dccps_hc_rx_ackvec - rx half connection ack vector |
476 | * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) | 476 | * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) |
@@ -498,7 +498,7 @@ struct dccp_sock { | |||
498 | __u64 dccps_gar; | 498 | __u64 dccps_gar; |
499 | __be32 dccps_service; | 499 | __be32 dccps_service; |
500 | struct dccp_service_list *dccps_service_list; | 500 | struct dccp_service_list *dccps_service_list; |
501 | struct timeval dccps_timestamp_time; | 501 | ktime_t dccps_timestamp_time; |
502 | __u32 dccps_timestamp_echo; | 502 | __u32 dccps_timestamp_echo; |
503 | __u16 dccps_l_ack_ratio; | 503 | __u16 dccps_l_ack_ratio; |
504 | __u16 dccps_r_ack_ratio; | 504 | __u16 dccps_r_ack_ratio; |
@@ -506,12 +506,12 @@ struct dccp_sock { | |||
506 | __u16 dccps_pcrlen; | 506 | __u16 dccps_pcrlen; |
507 | unsigned long dccps_ndp_count; | 507 | unsigned long dccps_ndp_count; |
508 | __u32 dccps_mss_cache; | 508 | __u32 dccps_mss_cache; |
509 | unsigned long dccps_rate_last; | ||
509 | struct dccp_minisock dccps_minisock; | 510 | struct dccp_minisock dccps_minisock; |
510 | struct dccp_ackvec *dccps_hc_rx_ackvec; | 511 | struct dccp_ackvec *dccps_hc_rx_ackvec; |
511 | struct ccid *dccps_hc_rx_ccid; | 512 | struct ccid *dccps_hc_rx_ccid; |
512 | struct ccid *dccps_hc_tx_ccid; | 513 | struct ccid *dccps_hc_tx_ccid; |
513 | struct dccp_options_received dccps_options_received; | 514 | struct dccp_options_received dccps_options_received; |
514 | struct timeval dccps_epoch; | ||
515 | enum dccp_role dccps_role:2; | 515 | enum dccp_role dccps_role:2; |
516 | __u8 dccps_hc_rx_insert_options:1; | 516 | __u8 dccps_hc_rx_insert_options:1; |
517 | __u8 dccps_hc_tx_insert_options:1; | 517 | __u8 dccps_hc_tx_insert_options:1; |
diff --git a/include/linux/dmi.h b/include/linux/dmi.h index b8ac7b01c45e..00fc7a9c35ec 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h | |||
@@ -54,7 +54,7 @@ struct dmi_strmatch { | |||
54 | }; | 54 | }; |
55 | 55 | ||
56 | struct dmi_system_id { | 56 | struct dmi_system_id { |
57 | int (*callback)(struct dmi_system_id *); | 57 | int (*callback)(const struct dmi_system_id *); |
58 | const char *ident; | 58 | const char *ident; |
59 | struct dmi_strmatch matches[4]; | 59 | struct dmi_strmatch matches[4]; |
60 | void *driver_data; | 60 | void *driver_data; |
@@ -71,22 +71,22 @@ struct dmi_device { | |||
71 | 71 | ||
72 | #ifdef CONFIG_DMI | 72 | #ifdef CONFIG_DMI |
73 | 73 | ||
74 | extern int dmi_check_system(struct dmi_system_id *list); | 74 | extern int dmi_check_system(const struct dmi_system_id *list); |
75 | extern char * dmi_get_system_info(int field); | 75 | extern const char * dmi_get_system_info(int field); |
76 | extern struct dmi_device * dmi_find_device(int type, const char *name, | 76 | extern const struct dmi_device * dmi_find_device(int type, const char *name, |
77 | struct dmi_device *from); | 77 | const struct dmi_device *from); |
78 | extern void dmi_scan_machine(void); | 78 | extern void dmi_scan_machine(void); |
79 | extern int dmi_get_year(int field); | 79 | extern int dmi_get_year(int field); |
80 | extern int dmi_name_in_vendors(char *str); | 80 | extern int dmi_name_in_vendors(const char *str); |
81 | 81 | ||
82 | #else | 82 | #else |
83 | 83 | ||
84 | static inline int dmi_check_system(struct dmi_system_id *list) { return 0; } | 84 | static inline int dmi_check_system(const struct dmi_system_id *list) { return 0; } |
85 | static inline char * dmi_get_system_info(int field) { return NULL; } | 85 | static inline const char * dmi_get_system_info(int field) { return NULL; } |
86 | static inline struct dmi_device * dmi_find_device(int type, const char *name, | 86 | static inline const struct dmi_device * dmi_find_device(int type, const char *name, |
87 | struct dmi_device *from) { return NULL; } | 87 | const struct dmi_device *from) { return NULL; } |
88 | static inline int dmi_get_year(int year) { return 0; } | 88 | static inline int dmi_get_year(int year) { return 0; } |
89 | static inline int dmi_name_in_vendors(char *s) { return 0; } | 89 | static inline int dmi_name_in_vendors(const char *s) { return 0; } |
90 | 90 | ||
91 | #endif | 91 | #endif |
92 | 92 | ||
diff --git a/include/linux/eeprom_93cx6.h b/include/linux/eeprom_93cx6.h index d774b7778c91..a55c873e8b66 100644 --- a/include/linux/eeprom_93cx6.h +++ b/include/linux/eeprom_93cx6.h | |||
@@ -21,13 +21,14 @@ | |||
21 | /* | 21 | /* |
22 | Module: eeprom_93cx6 | 22 | Module: eeprom_93cx6 |
23 | Abstract: EEPROM reader datastructures for 93cx6 chipsets. | 23 | Abstract: EEPROM reader datastructures for 93cx6 chipsets. |
24 | Supported chipsets: 93c46 & 93c66. | 24 | Supported chipsets: 93c46, 93c56 and 93c66. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | /* | 27 | /* |
28 | * EEPROM operation defines. | 28 | * EEPROM operation defines. |
29 | */ | 29 | */ |
30 | #define PCI_EEPROM_WIDTH_93C46 6 | 30 | #define PCI_EEPROM_WIDTH_93C46 6 |
31 | #define PCI_EEPROM_WIDTH_93C56 8 | ||
31 | #define PCI_EEPROM_WIDTH_93C66 8 | 32 | #define PCI_EEPROM_WIDTH_93C66 8 |
32 | #define PCI_EEPROM_WIDTH_OPCODE 3 | 33 | #define PCI_EEPROM_WIDTH_OPCODE 3 |
33 | #define PCI_EEPROM_WRITE_OPCODE 0x05 | 34 | #define PCI_EEPROM_WRITE_OPCODE 0x05 |
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 6cdb97365e47..b7558ec81ed5 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h | |||
@@ -29,15 +29,19 @@ | |||
29 | #include <linux/random.h> | 29 | #include <linux/random.h> |
30 | 30 | ||
31 | #ifdef __KERNEL__ | 31 | #ifdef __KERNEL__ |
32 | extern int eth_header(struct sk_buff *skb, struct net_device *dev, | ||
33 | unsigned short type, void *daddr, | ||
34 | void *saddr, unsigned len); | ||
35 | extern int eth_rebuild_header(struct sk_buff *skb); | ||
36 | extern __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev); | 32 | extern __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev); |
37 | extern void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, | 33 | extern const struct header_ops eth_header_ops; |
38 | unsigned char * haddr); | 34 | |
39 | extern int eth_header_cache(struct neighbour *neigh, | 35 | extern int eth_header(struct sk_buff *skb, struct net_device *dev, |
40 | struct hh_cache *hh); | 36 | unsigned short type, |
37 | const void *daddr, const void *saddr, unsigned len); | ||
38 | extern int eth_rebuild_header(struct sk_buff *skb); | ||
39 | extern int eth_header_parse(const struct sk_buff *skb, unsigned char *haddr); | ||
40 | extern int eth_header_cache(const struct neighbour *neigh, struct hh_cache *hh); | ||
41 | extern void eth_header_cache_update(struct hh_cache *hh, | ||
42 | const struct net_device *dev, | ||
43 | const unsigned char *haddr); | ||
44 | |||
41 | 45 | ||
42 | extern struct net_device *alloc_etherdev_mq(int sizeof_priv, unsigned int queue_count); | 46 | extern struct net_device *alloc_etherdev_mq(int sizeof_priv, unsigned int queue_count); |
43 | #define alloc_etherdev(sizeof_priv) alloc_etherdev_mq(sizeof_priv, 1) | 47 | #define alloc_etherdev(sizeof_priv) alloc_etherdev_mq(sizeof_priv, 1) |
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 23ccea811297..71d4ada6f315 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -39,7 +39,8 @@ struct ethtool_drvinfo { | |||
39 | char bus_info[ETHTOOL_BUSINFO_LEN]; /* Bus info for this IF. */ | 39 | char bus_info[ETHTOOL_BUSINFO_LEN]; /* Bus info for this IF. */ |
40 | /* For PCI devices, use pci_name(pci_dev). */ | 40 | /* For PCI devices, use pci_name(pci_dev). */ |
41 | char reserved1[32]; | 41 | char reserved1[32]; |
42 | char reserved2[16]; | 42 | char reserved2[12]; |
43 | __u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */ | ||
43 | __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */ | 44 | __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */ |
44 | __u32 testinfo_len; | 45 | __u32 testinfo_len; |
45 | __u32 eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */ | 46 | __u32 eedump_len; /* Size of data from ETHTOOL_GEEPROM (bytes) */ |
@@ -219,6 +220,7 @@ struct ethtool_pauseparam { | |||
219 | enum ethtool_stringset { | 220 | enum ethtool_stringset { |
220 | ETH_SS_TEST = 0, | 221 | ETH_SS_TEST = 0, |
221 | ETH_SS_STATS, | 222 | ETH_SS_STATS, |
223 | ETH_SS_PRIV_FLAGS, | ||
222 | }; | 224 | }; |
223 | 225 | ||
224 | /* for passing string sets for data tagging */ | 226 | /* for passing string sets for data tagging */ |
@@ -256,6 +258,19 @@ struct ethtool_perm_addr { | |||
256 | __u8 data[0]; | 258 | __u8 data[0]; |
257 | }; | 259 | }; |
258 | 260 | ||
261 | /* boolean flags controlling per-interface behavior characteristics. | ||
262 | * When reading, the flag indicates whether or not a certain behavior | ||
263 | * is enabled/present. When writing, the flag indicates whether | ||
264 | * or not the driver should turn on (set) or off (clear) a behavior. | ||
265 | * | ||
266 | * Some behaviors may read-only (unconditionally absent or present). | ||
267 | * If such is the case, return EINVAL in the set-flags operation if the | ||
268 | * flag differs from the read-only value. | ||
269 | */ | ||
270 | enum ethtool_flags { | ||
271 | ETH_FLAG_LRO = (1 << 15), /* LRO is enabled */ | ||
272 | }; | ||
273 | |||
259 | #ifdef __KERNEL__ | 274 | #ifdef __KERNEL__ |
260 | 275 | ||
261 | struct net_device; | 276 | struct net_device; |
@@ -272,6 +287,8 @@ u32 ethtool_op_get_tso(struct net_device *dev); | |||
272 | int ethtool_op_set_tso(struct net_device *dev, u32 data); | 287 | int ethtool_op_set_tso(struct net_device *dev, u32 data); |
273 | u32 ethtool_op_get_ufo(struct net_device *dev); | 288 | u32 ethtool_op_get_ufo(struct net_device *dev); |
274 | int ethtool_op_set_ufo(struct net_device *dev, u32 data); | 289 | int ethtool_op_set_ufo(struct net_device *dev, u32 data); |
290 | u32 ethtool_op_get_flags(struct net_device *dev); | ||
291 | int ethtool_op_set_flags(struct net_device *dev, u32 data); | ||
275 | 292 | ||
276 | /** | 293 | /** |
277 | * ðtool_ops - Alter and report network device settings | 294 | * ðtool_ops - Alter and report network device settings |
@@ -307,6 +324,8 @@ int ethtool_op_set_ufo(struct net_device *dev, u32 data); | |||
307 | * get_strings: Return a set of strings that describe the requested objects | 324 | * get_strings: Return a set of strings that describe the requested objects |
308 | * phys_id: Identify the device | 325 | * phys_id: Identify the device |
309 | * get_stats: Return statistics about the device | 326 | * get_stats: Return statistics about the device |
327 | * get_flags: get 32-bit flags bitmap | ||
328 | * set_flags: set 32-bit flags bitmap | ||
310 | * | 329 | * |
311 | * Description: | 330 | * Description: |
312 | * | 331 | * |
@@ -359,16 +378,23 @@ struct ethtool_ops { | |||
359 | int (*set_sg)(struct net_device *, u32); | 378 | int (*set_sg)(struct net_device *, u32); |
360 | u32 (*get_tso)(struct net_device *); | 379 | u32 (*get_tso)(struct net_device *); |
361 | int (*set_tso)(struct net_device *, u32); | 380 | int (*set_tso)(struct net_device *, u32); |
362 | int (*self_test_count)(struct net_device *); | ||
363 | void (*self_test)(struct net_device *, struct ethtool_test *, u64 *); | 381 | void (*self_test)(struct net_device *, struct ethtool_test *, u64 *); |
364 | void (*get_strings)(struct net_device *, u32 stringset, u8 *); | 382 | void (*get_strings)(struct net_device *, u32 stringset, u8 *); |
365 | int (*phys_id)(struct net_device *, u32); | 383 | int (*phys_id)(struct net_device *, u32); |
366 | int (*get_stats_count)(struct net_device *); | ||
367 | void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); | 384 | void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); |
368 | int (*begin)(struct net_device *); | 385 | int (*begin)(struct net_device *); |
369 | void (*complete)(struct net_device *); | 386 | void (*complete)(struct net_device *); |
370 | u32 (*get_ufo)(struct net_device *); | 387 | u32 (*get_ufo)(struct net_device *); |
371 | int (*set_ufo)(struct net_device *, u32); | 388 | int (*set_ufo)(struct net_device *, u32); |
389 | u32 (*get_flags)(struct net_device *); | ||
390 | int (*set_flags)(struct net_device *, u32); | ||
391 | u32 (*get_priv_flags)(struct net_device *); | ||
392 | int (*set_priv_flags)(struct net_device *, u32); | ||
393 | int (*get_sset_count)(struct net_device *, int); | ||
394 | |||
395 | /* the following hooks are obsolete */ | ||
396 | int (*self_test_count)(struct net_device *);/* use get_sset_count */ | ||
397 | int (*get_stats_count)(struct net_device *);/* use get_sset_count */ | ||
372 | }; | 398 | }; |
373 | #endif /* __KERNEL__ */ | 399 | #endif /* __KERNEL__ */ |
374 | 400 | ||
@@ -410,6 +436,10 @@ struct ethtool_ops { | |||
410 | #define ETHTOOL_SUFO 0x00000022 /* Set UFO enable (ethtool_value) */ | 436 | #define ETHTOOL_SUFO 0x00000022 /* Set UFO enable (ethtool_value) */ |
411 | #define ETHTOOL_GGSO 0x00000023 /* Get GSO enable (ethtool_value) */ | 437 | #define ETHTOOL_GGSO 0x00000023 /* Get GSO enable (ethtool_value) */ |
412 | #define ETHTOOL_SGSO 0x00000024 /* Set GSO enable (ethtool_value) */ | 438 | #define ETHTOOL_SGSO 0x00000024 /* Set GSO enable (ethtool_value) */ |
439 | #define ETHTOOL_GFLAGS 0x00000025 /* Get flags bitmap(ethtool_value) */ | ||
440 | #define ETHTOOL_SFLAGS 0x00000026 /* Set flags bitmap(ethtool_value) */ | ||
441 | #define ETHTOOL_GPFLAGS 0x00000027 /* Get driver-private flags bitmap */ | ||
442 | #define ETHTOOL_SPFLAGS 0x00000028 /* Set driver-private flags bitmap */ | ||
413 | 443 | ||
414 | /* compatibility with older code */ | 444 | /* compatibility with older code */ |
415 | #define SPARC_ETH_GSET ETHTOOL_GSET | 445 | #define SPARC_ETH_GSET ETHTOOL_GSET |
diff --git a/include/linux/fs_enet_pd.h b/include/linux/fs_enet_pd.h index 543cd3cd9e77..9bc045b8c478 100644 --- a/include/linux/fs_enet_pd.h +++ b/include/linux/fs_enet_pd.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #ifndef FS_ENET_PD_H | 16 | #ifndef FS_ENET_PD_H |
17 | #define FS_ENET_PD_H | 17 | #define FS_ENET_PD_H |
18 | 18 | ||
19 | #include <linux/string.h> | ||
19 | #include <asm/types.h> | 20 | #include <asm/types.h> |
20 | 21 | ||
21 | #define FS_ENET_NAME "fs_enet" | 22 | #define FS_ENET_NAME "fs_enet" |
@@ -119,6 +120,7 @@ struct fs_platform_info { | |||
119 | 120 | ||
120 | u32 cp_page; /* CPM page */ | 121 | u32 cp_page; /* CPM page */ |
121 | u32 cp_block; /* CPM sblock */ | 122 | u32 cp_block; /* CPM sblock */ |
123 | u32 cp_command; /* CPM page/sblock/mcn */ | ||
122 | 124 | ||
123 | u32 clk_trx; /* some stuff for pins & mux configuration*/ | 125 | u32 clk_trx; /* some stuff for pins & mux configuration*/ |
124 | u32 clk_rx; | 126 | u32 clk_rx; |
@@ -133,7 +135,11 @@ struct fs_platform_info { | |||
133 | u32 device_flags; | 135 | u32 device_flags; |
134 | 136 | ||
135 | int phy_addr; /* the phy address (-1 no phy) */ | 137 | int phy_addr; /* the phy address (-1 no phy) */ |
138 | #ifdef CONFIG_PPC_CPM_NEW_BINDING | ||
139 | char bus_id[16]; | ||
140 | #else | ||
136 | const char* bus_id; | 141 | const char* bus_id; |
142 | #endif | ||
137 | int phy_irq; /* the phy irq (if it exists) */ | 143 | int phy_irq; /* the phy irq (if it exists) */ |
138 | 144 | ||
139 | const struct fs_mii_bus_info *bus_info; | 145 | const struct fs_mii_bus_info *bus_info; |
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index b69014865714..a271b67a8e2d 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h | |||
@@ -119,6 +119,7 @@ | |||
119 | #define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */ | 119 | #define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */ |
120 | #define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */ | 120 | #define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */ |
121 | #define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */ | 121 | #define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */ |
122 | #define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */ | ||
122 | 123 | ||
123 | #define I2C_DRIVERID_I2CDEV 900 | 124 | #define I2C_DRIVERID_I2CDEV 900 |
124 | #define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */ | 125 | #define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */ |
@@ -196,6 +197,7 @@ | |||
196 | #define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */ | 197 | #define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */ |
197 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ | 198 | #define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ |
198 | #define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */ | 199 | #define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */ |
200 | #define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ | ||
199 | 201 | ||
200 | /* --- PCF 8584 based algorithms */ | 202 | /* --- PCF 8584 based algorithms */ |
201 | #define I2C_HW_P_LP 0x020000 /* Parallel port interface */ | 203 | #define I2C_HW_P_LP 0x020000 /* Parallel port interface */ |
diff --git a/include/linux/ide.h b/include/linux/ide.h index b9f66c10caa0..85d448b4abec 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -634,7 +634,7 @@ typedef struct ide_drive_s { | |||
634 | 634 | ||
635 | unsigned int bios_cyl; /* BIOS/fdisk/LILO number of cyls */ | 635 | unsigned int bios_cyl; /* BIOS/fdisk/LILO number of cyls */ |
636 | unsigned int cyl; /* "real" number of cyls */ | 636 | unsigned int cyl; /* "real" number of cyls */ |
637 | unsigned int drive_data; /* use by tuneproc/selectproc */ | 637 | unsigned int drive_data; /* used by set_pio_mode/selectproc */ |
638 | unsigned int failures; /* current failure count */ | 638 | unsigned int failures; /* current failure count */ |
639 | unsigned int max_failures; /* maximum allowed failure count */ | 639 | unsigned int max_failures; /* maximum allowed failure count */ |
640 | u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */ | 640 | u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */ |
@@ -702,10 +702,10 @@ typedef struct hwif_s { | |||
702 | #if 0 | 702 | #if 0 |
703 | ide_hwif_ops_t *hwifops; | 703 | ide_hwif_ops_t *hwifops; |
704 | #else | 704 | #else |
705 | /* routine to tune PIO mode for drives */ | 705 | /* routine to set PIO mode for drives */ |
706 | void (*tuneproc)(ide_drive_t *, u8); | 706 | void (*set_pio_mode)(ide_drive_t *, const u8); |
707 | /* routine to retune DMA modes for drives */ | 707 | /* routine to retune DMA modes for drives */ |
708 | int (*speedproc)(ide_drive_t *, u8); | 708 | int (*speedproc)(ide_drive_t *, const u8); |
709 | /* tweaks hardware to select drive */ | 709 | /* tweaks hardware to select drive */ |
710 | void (*selectproc)(ide_drive_t *); | 710 | void (*selectproc)(ide_drive_t *); |
711 | /* chipset polling based on hba specifics */ | 711 | /* chipset polling based on hba specifics */ |
@@ -723,6 +723,7 @@ typedef struct hwif_s { | |||
723 | /* driver soft-power interface */ | 723 | /* driver soft-power interface */ |
724 | int (*busproc)(ide_drive_t *, int); | 724 | int (*busproc)(ide_drive_t *, int); |
725 | #endif | 725 | #endif |
726 | u8 (*mdma_filter)(ide_drive_t *); | ||
726 | u8 (*udma_filter)(ide_drive_t *); | 727 | u8 (*udma_filter)(ide_drive_t *); |
727 | 728 | ||
728 | void (*ata_input_data)(ide_drive_t *, void *, u32); | 729 | void (*ata_input_data)(ide_drive_t *, void *, u32); |
@@ -1255,6 +1256,12 @@ enum { | |||
1255 | IDE_HFLAG_PIO_NO_BLACKLIST = (1 << 2), | 1256 | IDE_HFLAG_PIO_NO_BLACKLIST = (1 << 2), |
1256 | /* don't use conservative PIO "downgrade" */ | 1257 | /* don't use conservative PIO "downgrade" */ |
1257 | IDE_HFLAG_PIO_NO_DOWNGRADE = (1 << 3), | 1258 | IDE_HFLAG_PIO_NO_DOWNGRADE = (1 << 3), |
1259 | /* use PIO8/9 for prefetch off/on */ | ||
1260 | IDE_HFLAG_ABUSE_PREFETCH = (1 << 4), | ||
1261 | /* use PIO6/7 for fast-devsel off/on */ | ||
1262 | IDE_HFLAG_ABUSE_FAST_DEVSEL = (1 << 5), | ||
1263 | /* use 100-102 and 200-202 PIO values to set DMA modes */ | ||
1264 | IDE_HFLAG_ABUSE_DMA_MODES = (1 << 6), | ||
1258 | }; | 1265 | }; |
1259 | 1266 | ||
1260 | typedef struct ide_pci_device_s { | 1267 | typedef struct ide_pci_device_s { |
@@ -1295,7 +1302,14 @@ int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); | |||
1295 | #ifdef CONFIG_BLK_DEV_IDEDMA | 1302 | #ifdef CONFIG_BLK_DEV_IDEDMA |
1296 | int __ide_dma_bad_drive(ide_drive_t *); | 1303 | int __ide_dma_bad_drive(ide_drive_t *); |
1297 | int __ide_dma_good_drive(ide_drive_t *); | 1304 | int __ide_dma_good_drive(ide_drive_t *); |
1298 | u8 ide_max_dma_mode(ide_drive_t *); | 1305 | |
1306 | u8 ide_find_dma_mode(ide_drive_t *, u8); | ||
1307 | |||
1308 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) | ||
1309 | { | ||
1310 | return ide_find_dma_mode(drive, XFER_UDMA_6); | ||
1311 | } | ||
1312 | |||
1299 | int ide_tune_dma(ide_drive_t *); | 1313 | int ide_tune_dma(ide_drive_t *); |
1300 | void ide_dma_off(ide_drive_t *); | 1314 | void ide_dma_off(ide_drive_t *); |
1301 | void ide_dma_verbose(ide_drive_t *); | 1315 | void ide_dma_verbose(ide_drive_t *); |
@@ -1321,6 +1335,7 @@ extern void ide_dma_timeout(ide_drive_t *); | |||
1321 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ | 1335 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ |
1322 | 1336 | ||
1323 | #else | 1337 | #else |
1338 | static inline u8 ide_find_dma_mode(ide_drive_t *drive, u8 speed) { return 0; } | ||
1324 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } | 1339 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } |
1325 | static inline int ide_tune_dma(ide_drive_t *drive) { return 0; } | 1340 | static inline int ide_tune_dma(ide_drive_t *drive) { return 0; } |
1326 | static inline void ide_dma_off(ide_drive_t *drive) { ; } | 1341 | static inline void ide_dma_off(ide_drive_t *drive) { ; } |
@@ -1337,11 +1352,13 @@ extern int ide_acpi_exec_tfs(ide_drive_t *drive); | |||
1337 | extern void ide_acpi_get_timing(ide_hwif_t *hwif); | 1352 | extern void ide_acpi_get_timing(ide_hwif_t *hwif); |
1338 | extern void ide_acpi_push_timing(ide_hwif_t *hwif); | 1353 | extern void ide_acpi_push_timing(ide_hwif_t *hwif); |
1339 | extern void ide_acpi_init(ide_hwif_t *hwif); | 1354 | extern void ide_acpi_init(ide_hwif_t *hwif); |
1355 | extern void ide_acpi_set_state(ide_hwif_t *hwif, int on); | ||
1340 | #else | 1356 | #else |
1341 | static inline int ide_acpi_exec_tfs(ide_drive_t *drive) { return 0; } | 1357 | static inline int ide_acpi_exec_tfs(ide_drive_t *drive) { return 0; } |
1342 | static inline void ide_acpi_get_timing(ide_hwif_t *hwif) { ; } | 1358 | static inline void ide_acpi_get_timing(ide_hwif_t *hwif) { ; } |
1343 | static inline void ide_acpi_push_timing(ide_hwif_t *hwif) { ; } | 1359 | static inline void ide_acpi_push_timing(ide_hwif_t *hwif) { ; } |
1344 | static inline void ide_acpi_init(ide_hwif_t *hwif) { ; } | 1360 | static inline void ide_acpi_init(ide_hwif_t *hwif) { ; } |
1361 | static inline void ide_acpi_set_state(ide_hwif_t *hwif, int on) {} | ||
1345 | #endif | 1362 | #endif |
1346 | 1363 | ||
1347 | extern int ide_hwif_request_regions(ide_hwif_t *hwif); | 1364 | extern int ide_hwif_request_regions(ide_hwif_t *hwif); |
@@ -1367,7 +1384,6 @@ static inline void ide_set_hwifdata (ide_hwif_t * hwif, void *data) | |||
1367 | } | 1384 | } |
1368 | 1385 | ||
1369 | /* ide-lib.c */ | 1386 | /* ide-lib.c */ |
1370 | u8 ide_rate_filter(ide_drive_t *, u8); | ||
1371 | extern char *ide_xfer_verbose(u8 xfer_rate); | 1387 | extern char *ide_xfer_verbose(u8 xfer_rate); |
1372 | extern void ide_toggle_bounce(ide_drive_t *drive, int on); | 1388 | extern void ide_toggle_bounce(ide_drive_t *drive, int on); |
1373 | extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate); | 1389 | extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate); |
@@ -1404,6 +1420,12 @@ unsigned int ide_pio_cycle_time(ide_drive_t *, u8); | |||
1404 | u8 ide_get_best_pio_mode(ide_drive_t *, u8, u8); | 1420 | u8 ide_get_best_pio_mode(ide_drive_t *, u8, u8); |
1405 | extern const ide_pio_timings_t ide_pio_timings[6]; | 1421 | extern const ide_pio_timings_t ide_pio_timings[6]; |
1406 | 1422 | ||
1423 | void ide_set_pio(ide_drive_t *, u8); | ||
1424 | |||
1425 | static inline void ide_set_max_pio(ide_drive_t *drive) | ||
1426 | { | ||
1427 | ide_set_pio(drive, 255); | ||
1428 | } | ||
1407 | 1429 | ||
1408 | extern spinlock_t ide_lock; | 1430 | extern spinlock_t ide_lock; |
1409 | extern struct mutex ide_cfg_mtx; | 1431 | extern struct mutex ide_cfg_mtx; |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 272f8c8c90da..30621c27159f 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #define IEEE80211_H | 16 | #define IEEE80211_H |
17 | 17 | ||
18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
19 | #include <asm/byteorder.h> | ||
19 | 20 | ||
20 | #define FCS_LEN 4 | 21 | #define FCS_LEN 4 |
21 | 22 | ||
@@ -350,4 +351,64 @@ enum ieee80211_eid { | |||
350 | 351 | ||
351 | #define WLAN_MAX_KEY_LEN 32 | 352 | #define WLAN_MAX_KEY_LEN 32 |
352 | 353 | ||
354 | /** | ||
355 | * ieee80211_get_SA - get pointer to SA | ||
356 | * | ||
357 | * Given an 802.11 frame, this function returns the offset | ||
358 | * to the source address (SA). It does not verify that the | ||
359 | * header is long enough to contain the address, and the | ||
360 | * header must be long enough to contain the frame control | ||
361 | * field. | ||
362 | * | ||
363 | * @hdr: the frame | ||
364 | */ | ||
365 | static inline u8 *ieee80211_get_SA(struct ieee80211_hdr *hdr) | ||
366 | { | ||
367 | u8 *raw = (u8 *) hdr; | ||
368 | u8 tofrom = (*(raw+1)) & 3; /* get the TODS and FROMDS bits */ | ||
369 | |||
370 | switch (tofrom) { | ||
371 | case 2: | ||
372 | return hdr->addr3; | ||
373 | case 3: | ||
374 | return hdr->addr4; | ||
375 | } | ||
376 | return hdr->addr2; | ||
377 | } | ||
378 | |||
379 | /** | ||
380 | * ieee80211_get_DA - get pointer to DA | ||
381 | * | ||
382 | * Given an 802.11 frame, this function returns the offset | ||
383 | * to the destination address (DA). It does not verify that | ||
384 | * the header is long enough to contain the address, and the | ||
385 | * header must be long enough to contain the frame control | ||
386 | * field. | ||
387 | * | ||
388 | * @hdr: the frame | ||
389 | */ | ||
390 | static inline u8 *ieee80211_get_DA(struct ieee80211_hdr *hdr) | ||
391 | { | ||
392 | u8 *raw = (u8 *) hdr; | ||
393 | u8 to_ds = (*(raw+1)) & 1; /* get the TODS bit */ | ||
394 | |||
395 | if (to_ds) | ||
396 | return hdr->addr3; | ||
397 | return hdr->addr1; | ||
398 | } | ||
399 | |||
400 | /** | ||
401 | * ieee80211_get_morefrag - determine whether the MOREFRAGS bit is set | ||
402 | * | ||
403 | * This function determines whether the "more fragments" bit is set | ||
404 | * in the frame. | ||
405 | * | ||
406 | * @hdr: the frame | ||
407 | */ | ||
408 | static inline int ieee80211_get_morefrag(struct ieee80211_hdr *hdr) | ||
409 | { | ||
410 | return (le16_to_cpu(hdr->frame_control) & | ||
411 | IEEE80211_FCTL_MOREFRAGS) != 0; | ||
412 | } | ||
413 | |||
353 | #endif /* IEEE80211_H */ | 414 | #endif /* IEEE80211_H */ |
diff --git a/include/linux/if_arcnet.h b/include/linux/if_arcnet.h index af380cb876a0..27ea2ac445ad 100644 --- a/include/linux/if_arcnet.h +++ b/include/linux/if_arcnet.h | |||
@@ -59,7 +59,7 @@ struct arc_rfc1201 | |||
59 | { | 59 | { |
60 | uint8_t proto; /* protocol ID field - varies */ | 60 | uint8_t proto; /* protocol ID field - varies */ |
61 | uint8_t split_flag; /* for use with split packets */ | 61 | uint8_t split_flag; /* for use with split packets */ |
62 | uint16_t sequence; /* sequence number */ | 62 | __be16 sequence; /* sequence number */ |
63 | uint8_t payload[0]; /* space remaining in packet (504 bytes)*/ | 63 | uint8_t payload[0]; /* space remaining in packet (504 bytes)*/ |
64 | }; | 64 | }; |
65 | #define RFC1201_HDR_SIZE 4 | 65 | #define RFC1201_HDR_SIZE 4 |
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 4ff211d98769..99e3a1a00099 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h | |||
@@ -104,7 +104,7 @@ struct __fdb_entry | |||
104 | 104 | ||
105 | #include <linux/netdevice.h> | 105 | #include <linux/netdevice.h> |
106 | 106 | ||
107 | extern void brioctl_set(int (*ioctl_hook)(unsigned int, void __user *)); | 107 | extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *)); |
108 | extern struct sk_buff *(*br_handle_frame_hook)(struct net_bridge_port *p, | 108 | extern struct sk_buff *(*br_handle_frame_hook)(struct net_bridge_port *p, |
109 | struct sk_buff *skb); | 109 | struct sk_buff *skb); |
110 | extern int (*br_should_route_hook)(struct sk_buff **pskb); | 110 | extern int (*br_should_route_hook)(struct sk_buff **pskb); |
diff --git a/include/linux/if_eql.h b/include/linux/if_eql.h index b68752fdc5c4..79c4f268410d 100644 --- a/include/linux/if_eql.h +++ b/include/linux/if_eql.h | |||
@@ -58,7 +58,6 @@ typedef struct equalizer { | |||
58 | slave_queue_t queue; | 58 | slave_queue_t queue; |
59 | int min_slaves; | 59 | int min_slaves; |
60 | int max_slaves; | 60 | int max_slaves; |
61 | struct net_device_stats stats; | ||
62 | struct timer_list timer; | 61 | struct timer_list timer; |
63 | } equalizer_t; | 62 | } equalizer_t; |
64 | 63 | ||
diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h index 3213f6f4aa58..5f9297793661 100644 --- a/include/linux/if_ether.h +++ b/include/linux/if_ether.h | |||
@@ -117,9 +117,19 @@ static inline struct ethhdr *eth_hdr(const struct sk_buff *skb) | |||
117 | return (struct ethhdr *)skb_mac_header(skb); | 117 | return (struct ethhdr *)skb_mac_header(skb); |
118 | } | 118 | } |
119 | 119 | ||
120 | int eth_header_parse(const struct sk_buff *skb, unsigned char *haddr); | ||
121 | |||
120 | #ifdef CONFIG_SYSCTL | 122 | #ifdef CONFIG_SYSCTL |
121 | extern struct ctl_table ether_table[]; | 123 | extern struct ctl_table ether_table[]; |
122 | #endif | 124 | #endif |
125 | |||
126 | /* | ||
127 | * Display a 6 byte device address (MAC) in a readable format. | ||
128 | */ | ||
129 | #define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" | ||
130 | extern char *print_mac(char *buf, const u8 *addr); | ||
131 | #define DECLARE_MAC_BUF(var) char var[18] __maybe_unused | ||
132 | |||
123 | #endif | 133 | #endif |
124 | 134 | ||
125 | #endif /* _LINUX_IF_ETHER_H */ | 135 | #endif /* _LINUX_IF_ETHER_H */ |
diff --git a/include/linux/if_link.h b/include/linux/if_link.h index 422084d18ce1..84c3492ae5cb 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h | |||
@@ -78,6 +78,7 @@ enum | |||
78 | IFLA_LINKMODE, | 78 | IFLA_LINKMODE, |
79 | IFLA_LINKINFO, | 79 | IFLA_LINKINFO, |
80 | #define IFLA_LINKINFO IFLA_LINKINFO | 80 | #define IFLA_LINKINFO IFLA_LINKINFO |
81 | IFLA_NET_NS_PID, | ||
81 | __IFLA_MAX | 82 | __IFLA_MAX |
82 | }; | 83 | }; |
83 | 84 | ||
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index 25652545ba6e..40743e032845 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h | |||
@@ -40,7 +40,7 @@ | |||
40 | /************************************************************************ | 40 | /************************************************************************ |
41 | * PPPoE addressing definition | 41 | * PPPoE addressing definition |
42 | */ | 42 | */ |
43 | typedef __u16 sid_t; | 43 | typedef __be16 sid_t; |
44 | struct pppoe_addr{ | 44 | struct pppoe_addr{ |
45 | sid_t sid; /* Session identifier */ | 45 | sid_t sid; /* Session identifier */ |
46 | unsigned char remote[ETH_ALEN]; /* Remote address */ | 46 | unsigned char remote[ETH_ALEN]; /* Remote address */ |
@@ -90,8 +90,8 @@ struct sockaddr_pppol2tp { | |||
90 | #define PADS_CODE 0x65 | 90 | #define PADS_CODE 0x65 |
91 | #define PADT_CODE 0xa7 | 91 | #define PADT_CODE 0xa7 |
92 | struct pppoe_tag { | 92 | struct pppoe_tag { |
93 | __u16 tag_type; | 93 | __be16 tag_type; |
94 | __u16 tag_len; | 94 | __be16 tag_len; |
95 | char tag_data[0]; | 95 | char tag_data[0]; |
96 | } __attribute ((packed)); | 96 | } __attribute ((packed)); |
97 | 97 | ||
@@ -118,8 +118,8 @@ struct pppoe_hdr { | |||
118 | #error "Please fix <asm/byteorder.h>" | 118 | #error "Please fix <asm/byteorder.h>" |
119 | #endif | 119 | #endif |
120 | __u8 code; | 120 | __u8 code; |
121 | __u16 sid; | 121 | __be16 sid; |
122 | __u16 length; | 122 | __be16 length; |
123 | struct pppoe_tag tag[0]; | 123 | struct pppoe_tag tag[0]; |
124 | } __attribute__ ((packed)); | 124 | } __attribute__ ((packed)); |
125 | 125 | ||
@@ -152,7 +152,7 @@ struct pppox_sock { | |||
152 | union { | 152 | union { |
153 | struct pppoe_opt pppoe; | 153 | struct pppoe_opt pppoe; |
154 | } proto; | 154 | } proto; |
155 | unsigned short num; | 155 | __be16 num; |
156 | }; | 156 | }; |
157 | #define pppoe_dev proto.pppoe.dev | 157 | #define pppoe_dev proto.pppoe.dev |
158 | #define pppoe_ifindex proto.pppoe.ifindex | 158 | #define pppoe_ifindex proto.pppoe.ifindex |
@@ -172,7 +172,7 @@ static inline struct sock *sk_pppox(struct pppox_sock *po) | |||
172 | struct module; | 172 | struct module; |
173 | 173 | ||
174 | struct pppox_proto { | 174 | struct pppox_proto { |
175 | int (*create)(struct socket *sock); | 175 | int (*create)(struct net *net, struct socket *sock); |
176 | int (*ioctl)(struct socket *sock, unsigned int cmd, | 176 | int (*ioctl)(struct socket *sock, unsigned int cmd, |
177 | unsigned long arg); | 177 | unsigned long arg); |
178 | struct module *owner; | 178 | struct module *owner; |
diff --git a/include/linux/if_shaper.h b/include/linux/if_shaper.h index 68c896a36a34..3b1b7ba19825 100644 --- a/include/linux/if_shaper.h +++ b/include/linux/if_shaper.h | |||
@@ -24,19 +24,7 @@ struct shaper | |||
24 | unsigned long recovery; /* Time we can next clock a packet out on | 24 | unsigned long recovery; /* Time we can next clock a packet out on |
25 | an empty queue */ | 25 | an empty queue */ |
26 | spinlock_t lock; | 26 | spinlock_t lock; |
27 | struct net_device_stats stats; | ||
28 | struct net_device *dev; | 27 | struct net_device *dev; |
29 | int (*hard_start_xmit) (struct sk_buff *skb, | ||
30 | struct net_device *dev); | ||
31 | int (*hard_header) (struct sk_buff *skb, | ||
32 | struct net_device *dev, | ||
33 | unsigned short type, | ||
34 | void *daddr, | ||
35 | void *saddr, | ||
36 | unsigned len); | ||
37 | int (*rebuild_header)(struct sk_buff *skb); | ||
38 | int (*hard_header_cache)(struct neighbour *neigh, struct hh_cache *hh); | ||
39 | void (*header_cache_update)(struct hh_cache *hh, struct net_device *dev, unsigned char * haddr); | ||
40 | struct net_device_stats* (*get_stats)(struct net_device *dev); | 28 | struct net_device_stats* (*get_stats)(struct net_device *dev); |
41 | struct timer_list timer; | 29 | struct timer_list timer; |
42 | }; | 30 | }; |
diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h index 42eb6945b93e..33e489d5bb33 100644 --- a/include/linux/if_tun.h +++ b/include/linux/if_tun.h | |||
@@ -42,7 +42,6 @@ struct tun_struct { | |||
42 | struct sk_buff_head readq; | 42 | struct sk_buff_head readq; |
43 | 43 | ||
44 | struct net_device *dev; | 44 | struct net_device *dev; |
45 | struct net_device_stats stats; | ||
46 | 45 | ||
47 | struct fasync_struct *fasync; | 46 | struct fasync_struct *fasync; |
48 | 47 | ||
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index f8443fdb124a..976d4b1067d1 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -62,7 +62,7 @@ struct vlan_hdr { | |||
62 | #define VLAN_VID_MASK 0xfff | 62 | #define VLAN_VID_MASK 0xfff |
63 | 63 | ||
64 | /* found in socket.c */ | 64 | /* found in socket.c */ |
65 | extern void vlan_ioctl_set(int (*hook)(void __user *)); | 65 | extern void vlan_ioctl_set(int (*hook)(struct net *, void __user *)); |
66 | 66 | ||
67 | #define VLAN_NAME "vlan" | 67 | #define VLAN_NAME "vlan" |
68 | 68 | ||
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h new file mode 100644 index 000000000000..e1fc1d16d3cd --- /dev/null +++ b/include/linux/inet_lro.h | |||
@@ -0,0 +1,177 @@ | |||
1 | /* | ||
2 | * linux/include/linux/inet_lro.h | ||
3 | * | ||
4 | * Large Receive Offload (ipv4 / tcp) | ||
5 | * | ||
6 | * (C) Copyright IBM Corp. 2007 | ||
7 | * | ||
8 | * Authors: | ||
9 | * Jan-Bernd Themann <themann@de.ibm.com> | ||
10 | * Christoph Raisch <raisch@de.ibm.com> | ||
11 | * | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2, or (at your option) | ||
16 | * any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License | ||
24 | * along with this program; if not, write to the Free Software | ||
25 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
26 | */ | ||
27 | |||
28 | #ifndef __INET_LRO_H_ | ||
29 | #define __INET_LRO_H_ | ||
30 | |||
31 | #include <net/ip.h> | ||
32 | #include <net/tcp.h> | ||
33 | |||
34 | /* | ||
35 | * LRO statistics | ||
36 | */ | ||
37 | |||
38 | struct net_lro_stats { | ||
39 | unsigned long aggregated; | ||
40 | unsigned long flushed; | ||
41 | unsigned long no_desc; | ||
42 | }; | ||
43 | |||
44 | /* | ||
45 | * LRO descriptor for a tcp session | ||
46 | */ | ||
47 | struct net_lro_desc { | ||
48 | struct sk_buff *parent; | ||
49 | struct sk_buff *last_skb; | ||
50 | struct skb_frag_struct *next_frag; | ||
51 | struct iphdr *iph; | ||
52 | struct tcphdr *tcph; | ||
53 | struct vlan_group *vgrp; | ||
54 | __wsum data_csum; | ||
55 | u32 tcp_rcv_tsecr; | ||
56 | u32 tcp_rcv_tsval; | ||
57 | u32 tcp_ack; | ||
58 | u32 tcp_next_seq; | ||
59 | u32 skb_tot_frags_len; | ||
60 | u16 ip_tot_len; | ||
61 | u16 tcp_saw_tstamp; /* timestamps enabled */ | ||
62 | u16 tcp_window; | ||
63 | u16 vlan_tag; | ||
64 | int pkt_aggr_cnt; /* counts aggregated packets */ | ||
65 | int vlan_packet; | ||
66 | int mss; | ||
67 | int active; | ||
68 | }; | ||
69 | |||
70 | /* | ||
71 | * Large Receive Offload (LRO) Manager | ||
72 | * | ||
73 | * Fields must be set by driver | ||
74 | */ | ||
75 | |||
76 | struct net_lro_mgr { | ||
77 | struct net_device *dev; | ||
78 | struct net_lro_stats stats; | ||
79 | |||
80 | /* LRO features */ | ||
81 | unsigned long features; | ||
82 | #define LRO_F_NAPI 1 /* Pass packets to stack via NAPI */ | ||
83 | #define LRO_F_EXTRACT_VLAN_ID 2 /* Set flag if VLAN IDs are extracted | ||
84 | from received packets and eth protocol | ||
85 | is still ETH_P_8021Q */ | ||
86 | |||
87 | u32 ip_summed; /* Set in non generated SKBs in page mode */ | ||
88 | u32 ip_summed_aggr; /* Set in aggregated SKBs: CHECKSUM_UNNECESSARY | ||
89 | * or CHECKSUM_NONE */ | ||
90 | |||
91 | int max_desc; /* Max number of LRO descriptors */ | ||
92 | int max_aggr; /* Max number of LRO packets to be aggregated */ | ||
93 | |||
94 | struct net_lro_desc *lro_arr; /* Array of LRO descriptors */ | ||
95 | |||
96 | /* | ||
97 | * Optimized driver functions | ||
98 | * | ||
99 | * get_skb_header: returns tcp and ip header for packet in SKB | ||
100 | */ | ||
101 | int (*get_skb_header)(struct sk_buff *skb, void **ip_hdr, | ||
102 | void **tcpudp_hdr, u64 *hdr_flags, void *priv); | ||
103 | |||
104 | /* hdr_flags: */ | ||
105 | #define LRO_IPV4 1 /* ip_hdr is IPv4 header */ | ||
106 | #define LRO_TCP 2 /* tcpudp_hdr is TCP header */ | ||
107 | |||
108 | /* | ||
109 | * get_frag_header: returns mac, tcp and ip header for packet in SKB | ||
110 | * | ||
111 | * @hdr_flags: Indicate what kind of LRO has to be done | ||
112 | * (IPv4/IPv6/TCP/UDP) | ||
113 | */ | ||
114 | int (*get_frag_header)(struct skb_frag_struct *frag, void **mac_hdr, | ||
115 | void **ip_hdr, void **tcpudp_hdr, u64 *hdr_flags, | ||
116 | void *priv); | ||
117 | }; | ||
118 | |||
119 | /* | ||
120 | * Processes a SKB | ||
121 | * | ||
122 | * @lro_mgr: LRO manager to use | ||
123 | * @skb: SKB to aggregate | ||
124 | * @priv: Private data that may be used by driver functions | ||
125 | * (for example get_tcp_ip_hdr) | ||
126 | */ | ||
127 | |||
128 | void lro_receive_skb(struct net_lro_mgr *lro_mgr, | ||
129 | struct sk_buff *skb, | ||
130 | void *priv); | ||
131 | |||
132 | /* | ||
133 | * Processes a SKB with VLAN HW acceleration support | ||
134 | */ | ||
135 | |||
136 | void lro_vlan_hwaccel_receive_skb(struct net_lro_mgr *lro_mgr, | ||
137 | struct sk_buff *skb, | ||
138 | struct vlan_group *vgrp, | ||
139 | u16 vlan_tag, | ||
140 | void *priv); | ||
141 | |||
142 | /* | ||
143 | * Processes a fragment list | ||
144 | * | ||
145 | * This functions aggregate fragments and generate SKBs do pass | ||
146 | * the packets to the stack. | ||
147 | * | ||
148 | * @lro_mgr: LRO manager to use | ||
149 | * @frags: Fragment to be processed. Must contain entire header in first | ||
150 | * element. | ||
151 | * @len: Length of received data | ||
152 | * @true_size: Actual size of memory the fragment is consuming | ||
153 | * @priv: Private data that may be used by driver functions | ||
154 | * (for example get_tcp_ip_hdr) | ||
155 | */ | ||
156 | |||
157 | void lro_receive_frags(struct net_lro_mgr *lro_mgr, | ||
158 | struct skb_frag_struct *frags, | ||
159 | int len, int true_size, void *priv, __wsum sum); | ||
160 | |||
161 | void lro_vlan_hwaccel_receive_frags(struct net_lro_mgr *lro_mgr, | ||
162 | struct skb_frag_struct *frags, | ||
163 | int len, int true_size, | ||
164 | struct vlan_group *vgrp, | ||
165 | u16 vlan_tag, | ||
166 | void *priv, __wsum sum); | ||
167 | |||
168 | /* | ||
169 | * Forward all aggregated SKBs held by lro_mgr to network stack | ||
170 | */ | ||
171 | |||
172 | void lro_flush_all(struct net_lro_mgr *lro_mgr); | ||
173 | |||
174 | void lro_flush_pkt(struct net_lro_mgr *lro_mgr, | ||
175 | struct iphdr *iph, struct tcphdr *tcph); | ||
176 | |||
177 | #endif | ||
diff --git a/include/linux/init.h b/include/linux/init.h index 74b1f43bf982..f8d9d0b5cffc 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -57,6 +57,7 @@ | |||
57 | * The markers follow same syntax rules as __init / __initdata. */ | 57 | * The markers follow same syntax rules as __init / __initdata. */ |
58 | #define __init_refok noinline __attribute__ ((__section__ (".text.init.refok"))) | 58 | #define __init_refok noinline __attribute__ ((__section__ (".text.init.refok"))) |
59 | #define __initdata_refok __attribute__ ((__section__ (".data.init.refok"))) | 59 | #define __initdata_refok __attribute__ ((__section__ (".data.init.refok"))) |
60 | #define __exit_refok noinline __attribute__ ((__section__ (".exit.text.refok"))) | ||
60 | 61 | ||
61 | #ifdef MODULE | 62 | #ifdef MODULE |
62 | #define __exit __attribute__ ((__section__(".exit.text"))) __cold | 63 | #define __exit __attribute__ ((__section__(".exit.text"))) __cold |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index f8abfa349ef9..513bc3e489f0 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <linux/ipc.h> | 9 | #include <linux/ipc.h> |
10 | #include <linux/pid_namespace.h> | 10 | #include <linux/pid_namespace.h> |
11 | #include <linux/user_namespace.h> | 11 | #include <linux/user_namespace.h> |
12 | #include <net/net_namespace.h> | ||
12 | 13 | ||
13 | #define INIT_FDTABLE \ | 14 | #define INIT_FDTABLE \ |
14 | { \ | 15 | { \ |
@@ -78,6 +79,7 @@ extern struct nsproxy init_nsproxy; | |||
78 | .nslock = __SPIN_LOCK_UNLOCKED(nsproxy.nslock), \ | 79 | .nslock = __SPIN_LOCK_UNLOCKED(nsproxy.nslock), \ |
79 | .uts_ns = &init_uts_ns, \ | 80 | .uts_ns = &init_uts_ns, \ |
80 | .mnt_ns = NULL, \ | 81 | .mnt_ns = NULL, \ |
82 | INIT_NET_NS(net_ns) \ | ||
81 | INIT_IPC_NS(ipc_ns) \ | 83 | INIT_IPC_NS(ipc_ns) \ |
82 | .user_ns = &init_user_ns, \ | 84 | .user_ns = &init_user_ns, \ |
83 | } | 85 | } |
diff --git a/include/linux/input.h b/include/linux/input.h index 36e00aa6f03b..6eb3aead7f1d 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -360,6 +360,7 @@ struct input_absinfo { | |||
360 | 360 | ||
361 | #define KEY_BLUETOOTH 237 | 361 | #define KEY_BLUETOOTH 237 |
362 | #define KEY_WLAN 238 | 362 | #define KEY_WLAN 238 |
363 | #define KEY_UWB 239 | ||
363 | 364 | ||
364 | #define KEY_UNKNOWN 240 | 365 | #define KEY_UNKNOWN 240 |
365 | 366 | ||
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 4ca60c3320fb..5d35a4cc3bff 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -96,27 +96,6 @@ struct ipv6_destopt_hao { | |||
96 | struct in6_addr addr; | 96 | struct in6_addr addr; |
97 | } __attribute__ ((__packed__)); | 97 | } __attribute__ ((__packed__)); |
98 | 98 | ||
99 | struct ipv6_auth_hdr { | ||
100 | __u8 nexthdr; | ||
101 | __u8 hdrlen; /* This one is measured in 32 bit units! */ | ||
102 | __be16 reserved; | ||
103 | __be32 spi; | ||
104 | __be32 seq_no; /* Sequence number */ | ||
105 | __u8 auth_data[0]; /* Length variable but >=4. Mind the 64 bit alignment! */ | ||
106 | }; | ||
107 | |||
108 | struct ipv6_esp_hdr { | ||
109 | __be32 spi; | ||
110 | __be32 seq_no; /* Sequence number */ | ||
111 | __u8 enc_data[0]; /* Length variable but >=8. Mind the 64 bit alignment! */ | ||
112 | }; | ||
113 | |||
114 | struct ipv6_comp_hdr { | ||
115 | __u8 nexthdr; | ||
116 | __u8 flags; | ||
117 | __be16 cpi; | ||
118 | }; | ||
119 | |||
120 | /* | 99 | /* |
121 | * IPv6 fixed header | 100 | * IPv6 fixed header |
122 | * | 101 | * |
diff --git a/include/linux/isdn.h b/include/linux/isdn.h index 3c7875b7ab5b..ad09506554a3 100644 --- a/include/linux/isdn.h +++ b/include/linux/isdn.h | |||
@@ -353,13 +353,6 @@ typedef struct isdn_net_local_s { | |||
353 | /* a particular channel (including */ | 353 | /* a particular channel (including */ |
354 | /* the frame_cnt */ | 354 | /* the frame_cnt */ |
355 | 355 | ||
356 | int (*org_hhc)( | ||
357 | struct neighbour *neigh, | ||
358 | struct hh_cache *hh); | ||
359 | /* Ptr to orig. header_cache_update */ | ||
360 | void (*org_hcu)(struct hh_cache *, | ||
361 | struct net_device *, | ||
362 | unsigned char *); | ||
363 | int pppbind; /* ippp device for bindings */ | 356 | int pppbind; /* ippp device for bindings */ |
364 | int dialtimeout; /* How long shall we try on dialing? (jiffies) */ | 357 | int dialtimeout; /* How long shall we try on dialing? (jiffies) */ |
365 | int dialwait; /* How long shall we wait after failed attempt? (jiffies) */ | 358 | int dialwait; /* How long shall we wait after failed attempt? (jiffies) */ |
@@ -389,7 +382,7 @@ typedef struct isdn_net_dev_s { | |||
389 | online */ | 382 | online */ |
390 | spinlock_t queue_lock; /* lock to protect queue */ | 383 | spinlock_t queue_lock; /* lock to protect queue */ |
391 | void *next; /* Pointer to next isdn-interface */ | 384 | void *next; /* Pointer to next isdn-interface */ |
392 | struct net_device dev; /* interface to upper levels */ | 385 | struct net_device *dev; /* interface to upper levels */ |
393 | #ifdef CONFIG_ISDN_PPP | 386 | #ifdef CONFIG_ISDN_PPP |
394 | ippp_bundle * pb; /* pointer to the common bundle structure | 387 | ippp_bundle * pb; /* pointer to the common bundle structure |
395 | * with the per-bundle data */ | 388 | * with the per-bundle data */ |
diff --git a/include/media/ivtv.h b/include/linux/ivtv.h index 412b48ea8eda..794b8daa9378 100644 --- a/include/media/ivtv.h +++ b/include/linux/ivtv.h | |||
@@ -18,8 +18,15 @@ | |||
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ifndef _LINUX_IVTV_H | 21 | #ifndef __LINUX_IVTV_H__ |
22 | #define _LINUX_IVTV_H | 22 | #define __LINUX_IVTV_H__ |
23 | |||
24 | #ifdef __KERNEL__ | ||
25 | #include <linux/compiler.h> /* need __user */ | ||
26 | #else | ||
27 | #define __user | ||
28 | #endif | ||
29 | #include <linux/types.h> | ||
23 | 30 | ||
24 | /* ivtv knows several distinct output modes: MPEG streaming, | 31 | /* ivtv knows several distinct output modes: MPEG streaming, |
25 | YUV streaming, YUV updates through user DMA and the passthrough | 32 | YUV streaming, YUV updates through user DMA and the passthrough |
diff --git a/include/linux/ivtvfb.h b/include/linux/ivtvfb.h new file mode 100644 index 000000000000..e980ba62ddcc --- /dev/null +++ b/include/linux/ivtvfb.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | On Screen Display cx23415 Framebuffer driver | ||
3 | |||
4 | Copyright (C) 2006, 2007 Ian Armstrong <ian@iarmst.demon.co.uk> | ||
5 | |||
6 | This program is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 2 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | This program is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU General Public License | ||
17 | along with this program; if not, write to the Free Software | ||
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef __LINUX_IVTVFB_H__ | ||
22 | #define __LINUX_IVTVFB_H__ | ||
23 | |||
24 | #ifdef __KERNEL__ | ||
25 | #include <linux/compiler.h> /* need __user */ | ||
26 | #else | ||
27 | #define __user | ||
28 | #endif | ||
29 | #include <linux/types.h> | ||
30 | |||
31 | /* Framebuffer external API */ | ||
32 | |||
33 | struct ivtvfb_dma_frame { | ||
34 | void __user *source; | ||
35 | unsigned long dest_offset; | ||
36 | int count; | ||
37 | }; | ||
38 | |||
39 | #define IVTVFB_IOC_DMA_FRAME _IOW('V', BASE_VIDIOC_PRIVATE+0, struct ivtvfb_dma_frame) | ||
40 | #define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t) | ||
41 | |||
42 | #endif | ||
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index dae7143644fe..a6ddec141f96 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -102,6 +102,13 @@ static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) | |||
102 | #define ktime_add_ns(kt, nsval) \ | 102 | #define ktime_add_ns(kt, nsval) \ |
103 | ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; }) | 103 | ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; }) |
104 | 104 | ||
105 | /* | ||
106 | * Subtract a scalar nanosecod from a ktime_t variable | ||
107 | * res = kt - nsval: | ||
108 | */ | ||
109 | #define ktime_sub_ns(kt, nsval) \ | ||
110 | ({ (ktime_t){ .tv64 = (kt).tv64 - (nsval) }; }) | ||
111 | |||
105 | /* convert a timespec to ktime_t format: */ | 112 | /* convert a timespec to ktime_t format: */ |
106 | static inline ktime_t timespec_to_ktime(struct timespec ts) | 113 | static inline ktime_t timespec_to_ktime(struct timespec ts) |
107 | { | 114 | { |
@@ -200,6 +207,15 @@ static inline ktime_t ktime_add(const ktime_t add1, const ktime_t add2) | |||
200 | extern ktime_t ktime_add_ns(const ktime_t kt, u64 nsec); | 207 | extern ktime_t ktime_add_ns(const ktime_t kt, u64 nsec); |
201 | 208 | ||
202 | /** | 209 | /** |
210 | * ktime_sub_ns - Subtract a scalar nanoseconds value from a ktime_t variable | ||
211 | * @kt: minuend | ||
212 | * @nsec: the scalar nsec value to subtract | ||
213 | * | ||
214 | * Returns the subtraction of @nsec from @kt in ktime_t format | ||
215 | */ | ||
216 | extern ktime_t ktime_sub_ns(const ktime_t kt, u64 nsec); | ||
217 | |||
218 | /** | ||
203 | * timespec_to_ktime - convert a timespec to ktime_t format | 219 | * timespec_to_ktime - convert a timespec to ktime_t format |
204 | * @ts: the timespec variable to convert | 220 | * @ts: the timespec variable to convert |
205 | * | 221 | * |
@@ -289,6 +305,11 @@ static inline ktime_t ktime_add_us(const ktime_t kt, const u64 usec) | |||
289 | return ktime_add_ns(kt, usec * 1000); | 305 | return ktime_add_ns(kt, usec * 1000); |
290 | } | 306 | } |
291 | 307 | ||
308 | static inline ktime_t ktime_sub_us(const ktime_t kt, const u64 usec) | ||
309 | { | ||
310 | return ktime_sub_ns(kt, usec * 1000); | ||
311 | } | ||
312 | |||
292 | /* | 313 | /* |
293 | * The resolution of the clocks. The resolution value is returned in | 314 | * The resolution of the clocks. The resolution value is returned in |
294 | * the clock_getres() system call to give application programmers an | 315 | * the clock_getres() system call to give application programmers an |
diff --git a/include/linux/list.h b/include/linux/list.h index f29fc9c1a964..ad9dcb9e3375 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -525,6 +525,20 @@ static inline void list_splice_init_rcu(struct list_head *list, | |||
525 | pos = list_entry(pos->member.next, typeof(*pos), member)) | 525 | pos = list_entry(pos->member.next, typeof(*pos), member)) |
526 | 526 | ||
527 | /** | 527 | /** |
528 | * list_for_each_entry_continue_reverse - iterate backwards from the given point | ||
529 | * @pos: the type * to use as a loop cursor. | ||
530 | * @head: the head for your list. | ||
531 | * @member: the name of the list_struct within the struct. | ||
532 | * | ||
533 | * Start to iterate over list of given type backwards, continuing after | ||
534 | * the current position. | ||
535 | */ | ||
536 | #define list_for_each_entry_continue_reverse(pos, head, member) \ | ||
537 | for (pos = list_entry(pos->member.prev, typeof(*pos), member); \ | ||
538 | prefetch(pos->member.prev), &pos->member != (head); \ | ||
539 | pos = list_entry(pos->member.prev, typeof(*pos), member)) | ||
540 | |||
541 | /** | ||
528 | * list_for_each_entry_from - iterate over list of given type from the current point | 542 | * list_for_each_entry_from - iterate over list of given type from the current point |
529 | * @pos: the type * to use as a loop cursor. | 543 | * @pos: the type * to use as a loop cursor. |
530 | * @head: the head for your list. | 544 | * @head: the head for your list. |
diff --git a/include/linux/mdio-bitbang.h b/include/linux/mdio-bitbang.h new file mode 100644 index 000000000000..8ea9a42a4c02 --- /dev/null +++ b/include/linux/mdio-bitbang.h | |||
@@ -0,0 +1,42 @@ | |||
1 | #ifndef __LINUX_MDIO_BITBANG_H | ||
2 | #define __LINUX_MDIO_BITBANG_H | ||
3 | |||
4 | #include <linux/phy.h> | ||
5 | #include <linux/module.h> | ||
6 | |||
7 | struct mdiobb_ctrl; | ||
8 | |||
9 | struct mdiobb_ops { | ||
10 | struct module *owner; | ||
11 | |||
12 | /* Set the Management Data Clock high if level is one, | ||
13 | * low if level is zero. | ||
14 | */ | ||
15 | void (*set_mdc)(struct mdiobb_ctrl *ctrl, int level); | ||
16 | |||
17 | /* Configure the Management Data I/O pin as an input if | ||
18 | * "output" is zero, or an output if "output" is one. | ||
19 | */ | ||
20 | void (*set_mdio_dir)(struct mdiobb_ctrl *ctrl, int output); | ||
21 | |||
22 | /* Set the Management Data I/O pin high if value is one, | ||
23 | * low if "value" is zero. This may only be called | ||
24 | * when the MDIO pin is configured as an output. | ||
25 | */ | ||
26 | void (*set_mdio_data)(struct mdiobb_ctrl *ctrl, int value); | ||
27 | |||
28 | /* Retrieve the state Management Data I/O pin. */ | ||
29 | int (*get_mdio_data)(struct mdiobb_ctrl *ctrl); | ||
30 | }; | ||
31 | |||
32 | struct mdiobb_ctrl { | ||
33 | const struct mdiobb_ops *ops; | ||
34 | }; | ||
35 | |||
36 | /* The returned bus is not yet registered with the phy layer. */ | ||
37 | struct mii_bus *alloc_mdio_bitbang(struct mdiobb_ctrl *ctrl); | ||
38 | |||
39 | /* The bus must already have been unregistered. */ | ||
40 | void free_mdio_bitbang(struct mii_bus *bus); | ||
41 | |||
42 | #endif | ||
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index cfb78fb2c046..222815d91c40 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -49,6 +49,10 @@ enum { | |||
49 | }; | 49 | }; |
50 | 50 | ||
51 | enum { | 51 | enum { |
52 | MLX4_BOARD_ID_LEN = 64 | ||
53 | }; | ||
54 | |||
55 | enum { | ||
52 | MLX4_DEV_CAP_FLAG_RC = 1 << 0, | 56 | MLX4_DEV_CAP_FLAG_RC = 1 << 0, |
53 | MLX4_DEV_CAP_FLAG_UC = 1 << 1, | 57 | MLX4_DEV_CAP_FLAG_UC = 1 << 1, |
54 | MLX4_DEV_CAP_FLAG_UD = 1 << 2, | 58 | MLX4_DEV_CAP_FLAG_UD = 1 << 2, |
@@ -210,6 +214,17 @@ struct mlx4_mr { | |||
210 | int enabled; | 214 | int enabled; |
211 | }; | 215 | }; |
212 | 216 | ||
217 | struct mlx4_fmr { | ||
218 | struct mlx4_mr mr; | ||
219 | struct mlx4_mpt_entry *mpt; | ||
220 | __be64 *mtts; | ||
221 | dma_addr_t dma_handle; | ||
222 | int max_pages; | ||
223 | int max_maps; | ||
224 | int maps; | ||
225 | u8 page_shift; | ||
226 | }; | ||
227 | |||
213 | struct mlx4_uar { | 228 | struct mlx4_uar { |
214 | unsigned long pfn; | 229 | unsigned long pfn; |
215 | int index; | 230 | int index; |
@@ -272,6 +287,8 @@ struct mlx4_dev { | |||
272 | unsigned long flags; | 287 | unsigned long flags; |
273 | struct mlx4_caps caps; | 288 | struct mlx4_caps caps; |
274 | struct radix_tree_root qp_table_tree; | 289 | struct radix_tree_root qp_table_tree; |
290 | u32 rev_id; | ||
291 | char board_id[MLX4_BOARD_ID_LEN]; | ||
275 | }; | 292 | }; |
276 | 293 | ||
277 | struct mlx4_init_port_param { | 294 | struct mlx4_init_port_param { |
@@ -331,4 +348,14 @@ int mlx4_CLOSE_PORT(struct mlx4_dev *dev, int port); | |||
331 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); | 348 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); |
332 | int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); | 349 | int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); |
333 | 350 | ||
351 | int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, | ||
352 | int npages, u64 iova, u32 *lkey, u32 *rkey); | ||
353 | int mlx4_fmr_alloc(struct mlx4_dev *dev, u32 pd, u32 access, int max_pages, | ||
354 | int max_maps, u8 page_shift, struct mlx4_fmr *fmr); | ||
355 | int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr); | ||
356 | void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr, | ||
357 | u32 *lkey, u32 *rkey); | ||
358 | int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr); | ||
359 | int mlx4_SYNC_TPT(struct mlx4_dev *dev); | ||
360 | |||
334 | #endif /* MLX4_DEVICE_H */ | 361 | #endif /* MLX4_DEVICE_H */ |
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index badf702fcff4..0d508ac17d64 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h | |||
@@ -55,7 +55,28 @@ struct sd_switch_caps { | |||
55 | unsigned int hs_max_dtr; | 55 | unsigned int hs_max_dtr; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | struct sdio_cccr { | ||
59 | unsigned int sdio_vsn; | ||
60 | unsigned int sd_vsn; | ||
61 | unsigned int multi_block:1, | ||
62 | low_speed:1, | ||
63 | wide_bus:1, | ||
64 | high_power:1, | ||
65 | high_speed:1; | ||
66 | }; | ||
67 | |||
68 | struct sdio_cis { | ||
69 | unsigned short vendor; | ||
70 | unsigned short device; | ||
71 | unsigned short blksize; | ||
72 | unsigned int max_dtr; | ||
73 | }; | ||
74 | |||
58 | struct mmc_host; | 75 | struct mmc_host; |
76 | struct sdio_func; | ||
77 | struct sdio_func_tuple; | ||
78 | |||
79 | #define SDIO_MAX_FUNCS 7 | ||
59 | 80 | ||
60 | /* | 81 | /* |
61 | * MMC device | 82 | * MMC device |
@@ -67,11 +88,13 @@ struct mmc_card { | |||
67 | unsigned int type; /* card type */ | 88 | unsigned int type; /* card type */ |
68 | #define MMC_TYPE_MMC 0 /* MMC card */ | 89 | #define MMC_TYPE_MMC 0 /* MMC card */ |
69 | #define MMC_TYPE_SD 1 /* SD card */ | 90 | #define MMC_TYPE_SD 1 /* SD card */ |
91 | #define MMC_TYPE_SDIO 2 /* SDIO card */ | ||
70 | unsigned int state; /* (our) card state */ | 92 | unsigned int state; /* (our) card state */ |
71 | #define MMC_STATE_PRESENT (1<<0) /* present in sysfs */ | 93 | #define MMC_STATE_PRESENT (1<<0) /* present in sysfs */ |
72 | #define MMC_STATE_READONLY (1<<1) /* card is read-only */ | 94 | #define MMC_STATE_READONLY (1<<1) /* card is read-only */ |
73 | #define MMC_STATE_HIGHSPEED (1<<2) /* card is in high speed mode */ | 95 | #define MMC_STATE_HIGHSPEED (1<<2) /* card is in high speed mode */ |
74 | #define MMC_STATE_BLOCKADDR (1<<3) /* card uses block-addressing */ | 96 | #define MMC_STATE_BLOCKADDR (1<<3) /* card uses block-addressing */ |
97 | |||
75 | u32 raw_cid[4]; /* raw card CID */ | 98 | u32 raw_cid[4]; /* raw card CID */ |
76 | u32 raw_csd[4]; /* raw card CSD */ | 99 | u32 raw_csd[4]; /* raw card CSD */ |
77 | u32 raw_scr[2]; /* raw card SCR */ | 100 | u32 raw_scr[2]; /* raw card SCR */ |
@@ -80,10 +103,19 @@ struct mmc_card { | |||
80 | struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */ | 103 | struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */ |
81 | struct sd_scr scr; /* extra SD information */ | 104 | struct sd_scr scr; /* extra SD information */ |
82 | struct sd_switch_caps sw_caps; /* switch (CMD6) caps */ | 105 | struct sd_switch_caps sw_caps; /* switch (CMD6) caps */ |
106 | |||
107 | unsigned int sdio_funcs; /* number of SDIO functions */ | ||
108 | struct sdio_cccr cccr; /* common card info */ | ||
109 | struct sdio_cis cis; /* common tuple info */ | ||
110 | struct sdio_func *sdio_func[SDIO_MAX_FUNCS]; /* SDIO functions (devices) */ | ||
111 | unsigned num_info; /* number of info strings */ | ||
112 | const char **info; /* info strings */ | ||
113 | struct sdio_func_tuple *tuples; /* unknown common tuples */ | ||
83 | }; | 114 | }; |
84 | 115 | ||
85 | #define mmc_card_mmc(c) ((c)->type == MMC_TYPE_MMC) | 116 | #define mmc_card_mmc(c) ((c)->type == MMC_TYPE_MMC) |
86 | #define mmc_card_sd(c) ((c)->type == MMC_TYPE_SD) | 117 | #define mmc_card_sd(c) ((c)->type == MMC_TYPE_SD) |
118 | #define mmc_card_sdio(c) ((c)->type == MMC_TYPE_SDIO) | ||
87 | 119 | ||
88 | #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) | 120 | #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) |
89 | #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) | 121 | #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) |
diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h index 63a80ea61124..d0c3abed74c2 100644 --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h | |||
@@ -25,14 +25,20 @@ struct mmc_command { | |||
25 | #define MMC_RSP_CRC (1 << 2) /* expect valid crc */ | 25 | #define MMC_RSP_CRC (1 << 2) /* expect valid crc */ |
26 | #define MMC_RSP_BUSY (1 << 3) /* card may send busy */ | 26 | #define MMC_RSP_BUSY (1 << 3) /* card may send busy */ |
27 | #define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ | 27 | #define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ |
28 | #define MMC_CMD_MASK (3 << 5) /* command type */ | 28 | |
29 | #define MMC_CMD_MASK (3 << 5) /* non-SPI command type */ | ||
29 | #define MMC_CMD_AC (0 << 5) | 30 | #define MMC_CMD_AC (0 << 5) |
30 | #define MMC_CMD_ADTC (1 << 5) | 31 | #define MMC_CMD_ADTC (1 << 5) |
31 | #define MMC_CMD_BC (2 << 5) | 32 | #define MMC_CMD_BC (2 << 5) |
32 | #define MMC_CMD_BCR (3 << 5) | 33 | #define MMC_CMD_BCR (3 << 5) |
33 | 34 | ||
35 | #define MMC_RSP_SPI_S1 (1 << 7) /* one status byte */ | ||
36 | #define MMC_RSP_SPI_S2 (1 << 8) /* second byte */ | ||
37 | #define MMC_RSP_SPI_B4 (1 << 9) /* four data bytes */ | ||
38 | #define MMC_RSP_SPI_BUSY (1 << 10) /* card may send busy */ | ||
39 | |||
34 | /* | 40 | /* |
35 | * These are the response types, and correspond to valid bit | 41 | * These are the native response types, and correspond to valid bit |
36 | * patterns of the above flags. One additional valid pattern | 42 | * patterns of the above flags. One additional valid pattern |
37 | * is all zeros, which means we don't expect a response. | 43 | * is all zeros, which means we don't expect a response. |
38 | */ | 44 | */ |
@@ -41,12 +47,30 @@ struct mmc_command { | |||
41 | #define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) | 47 | #define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) |
42 | #define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) | 48 | #define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) |
43 | #define MMC_RSP_R3 (MMC_RSP_PRESENT) | 49 | #define MMC_RSP_R3 (MMC_RSP_PRESENT) |
50 | #define MMC_RSP_R4 (MMC_RSP_PRESENT) | ||
51 | #define MMC_RSP_R5 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) | ||
44 | #define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) | 52 | #define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) |
45 | #define MMC_RSP_R7 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) | 53 | #define MMC_RSP_R7 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) |
46 | 54 | ||
47 | #define mmc_resp_type(cmd) ((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE)) | 55 | #define mmc_resp_type(cmd) ((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE)) |
48 | 56 | ||
49 | /* | 57 | /* |
58 | * These are the SPI response types for MMC, SD, and SDIO cards. | ||
59 | * Commands return R1, with maybe more info. Zero is an error type; | ||
60 | * callers must always provide the appropriate MMC_RSP_SPI_Rx flags. | ||
61 | */ | ||
62 | #define MMC_RSP_SPI_R1 (MMC_RSP_SPI_S1) | ||
63 | #define MMC_RSP_SPI_R1B (MMC_RSP_SPI_S1|MMC_RSP_SPI_BUSY) | ||
64 | #define MMC_RSP_SPI_R2 (MMC_RSP_SPI_S1|MMC_RSP_SPI_S2) | ||
65 | #define MMC_RSP_SPI_R3 (MMC_RSP_SPI_S1|MMC_RSP_SPI_B4) | ||
66 | #define MMC_RSP_SPI_R4 (MMC_RSP_SPI_S1|MMC_RSP_SPI_B4) | ||
67 | #define MMC_RSP_SPI_R5 (MMC_RSP_SPI_S1|MMC_RSP_SPI_S2) | ||
68 | #define MMC_RSP_SPI_R7 (MMC_RSP_SPI_S1|MMC_RSP_SPI_B4) | ||
69 | |||
70 | #define mmc_spi_resp_type(cmd) ((cmd)->flags & \ | ||
71 | (MMC_RSP_SPI_S1|MMC_RSP_SPI_BUSY|MMC_RSP_SPI_S2|MMC_RSP_SPI_B4)) | ||
72 | |||
73 | /* | ||
50 | * These are the command types. | 74 | * These are the command types. |
51 | */ | 75 | */ |
52 | #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) | 76 | #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) |
@@ -54,12 +78,19 @@ struct mmc_command { | |||
54 | unsigned int retries; /* max number of retries */ | 78 | unsigned int retries; /* max number of retries */ |
55 | unsigned int error; /* command error */ | 79 | unsigned int error; /* command error */ |
56 | 80 | ||
57 | #define MMC_ERR_NONE 0 | 81 | /* |
58 | #define MMC_ERR_TIMEOUT 1 | 82 | * Standard errno values are used for errors, but some have specific |
59 | #define MMC_ERR_BADCRC 2 | 83 | * meaning in the MMC layer: |
60 | #define MMC_ERR_FIFO 3 | 84 | * |
61 | #define MMC_ERR_FAILED 4 | 85 | * ETIMEDOUT Card took too long to respond |
62 | #define MMC_ERR_INVALID 5 | 86 | * EILSEQ Basic format problem with the received or sent data |
87 | * (e.g. CRC check failed, incorrect opcode in response | ||
88 | * or bad end bit) | ||
89 | * EINVAL Request cannot be performed because of restrictions | ||
90 | * in hardware and/or the driver | ||
91 | * ENOMEDIUM Host can determine that the slot is empty and is | ||
92 | * actively failing requests | ||
93 | */ | ||
63 | 94 | ||
64 | struct mmc_data *data; /* data segment associated with cmd */ | 95 | struct mmc_data *data; /* data segment associated with cmd */ |
65 | struct mmc_request *mrq; /* associated request */ | 96 | struct mmc_request *mrq; /* associated request */ |
@@ -76,7 +107,6 @@ struct mmc_data { | |||
76 | #define MMC_DATA_WRITE (1 << 8) | 107 | #define MMC_DATA_WRITE (1 << 8) |
77 | #define MMC_DATA_READ (1 << 9) | 108 | #define MMC_DATA_READ (1 << 9) |
78 | #define MMC_DATA_STREAM (1 << 10) | 109 | #define MMC_DATA_STREAM (1 << 10) |
79 | #define MMC_DATA_MULTI (1 << 11) | ||
80 | 110 | ||
81 | unsigned int bytes_xfered; | 111 | unsigned int bytes_xfered; |
82 | 112 | ||
@@ -104,9 +134,20 @@ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int); | |||
104 | extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, | 134 | extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, |
105 | struct mmc_command *, int); | 135 | struct mmc_command *, int); |
106 | 136 | ||
107 | extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int); | 137 | extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *); |
108 | 138 | ||
109 | extern void mmc_claim_host(struct mmc_host *host); | 139 | extern int __mmc_claim_host(struct mmc_host *host, atomic_t *abort); |
110 | extern void mmc_release_host(struct mmc_host *host); | 140 | extern void mmc_release_host(struct mmc_host *host); |
111 | 141 | ||
142 | /** | ||
143 | * mmc_claim_host - exclusively claim a host | ||
144 | * @host: mmc host to claim | ||
145 | * | ||
146 | * Claim a host for a set of operations. | ||
147 | */ | ||
148 | static inline void mmc_claim_host(struct mmc_host *host) | ||
149 | { | ||
150 | __mmc_claim_host(host, NULL); | ||
151 | } | ||
152 | |||
112 | #endif | 153 | #endif |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index b1350dfd3e91..125eee1407ff 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -10,6 +10,8 @@ | |||
10 | #ifndef LINUX_MMC_HOST_H | 10 | #ifndef LINUX_MMC_HOST_H |
11 | #define LINUX_MMC_HOST_H | 11 | #define LINUX_MMC_HOST_H |
12 | 12 | ||
13 | #include <linux/leds.h> | ||
14 | |||
13 | #include <linux/mmc/core.h> | 15 | #include <linux/mmc/core.h> |
14 | 16 | ||
15 | struct mmc_ios { | 17 | struct mmc_ios { |
@@ -51,6 +53,7 @@ struct mmc_host_ops { | |||
51 | void (*request)(struct mmc_host *host, struct mmc_request *req); | 53 | void (*request)(struct mmc_host *host, struct mmc_request *req); |
52 | void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); | 54 | void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); |
53 | int (*get_ro)(struct mmc_host *host); | 55 | int (*get_ro)(struct mmc_host *host); |
56 | void (*enable_sdio_irq)(struct mmc_host *host, int enable); | ||
54 | }; | 57 | }; |
55 | 58 | ||
56 | struct mmc_card; | 59 | struct mmc_card; |
@@ -87,9 +90,10 @@ struct mmc_host { | |||
87 | 90 | ||
88 | #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */ | 91 | #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */ |
89 | #define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */ | 92 | #define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */ |
90 | #define MMC_CAP_BYTEBLOCK (1 << 2) /* Can do non-log2 block sizes */ | 93 | #define MMC_CAP_MMC_HIGHSPEED (1 << 2) /* Can do MMC high-speed timing */ |
91 | #define MMC_CAP_MMC_HIGHSPEED (1 << 3) /* Can do MMC high-speed timing */ | 94 | #define MMC_CAP_SD_HIGHSPEED (1 << 3) /* Can do SD high-speed timing */ |
92 | #define MMC_CAP_SD_HIGHSPEED (1 << 4) /* Can do SD high-speed timing */ | 95 | #define MMC_CAP_SDIO_IRQ (1 << 4) /* Can signal pending SDIO IRQs */ |
96 | #define MMC_CAP_SPI (1 << 5) /* Talks only SPI protocols */ | ||
93 | 97 | ||
94 | /* host specific block data */ | 98 | /* host specific block data */ |
95 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ | 99 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ |
@@ -106,6 +110,14 @@ struct mmc_host { | |||
106 | struct mmc_ios ios; /* current io bus settings */ | 110 | struct mmc_ios ios; /* current io bus settings */ |
107 | u32 ocr; /* the current OCR setting */ | 111 | u32 ocr; /* the current OCR setting */ |
108 | 112 | ||
113 | /* group bitfields together to minimize padding */ | ||
114 | unsigned int use_spi_crc:1; | ||
115 | unsigned int claimed:1; /* host exclusively claimed */ | ||
116 | unsigned int bus_dead:1; /* bus has been released */ | ||
117 | #ifdef CONFIG_MMC_DEBUG | ||
118 | unsigned int removed:1; /* host is being removed */ | ||
119 | #endif | ||
120 | |||
109 | unsigned int mode; /* current card mode of host */ | 121 | unsigned int mode; /* current card mode of host */ |
110 | #define MMC_MODE_MMC 0 | 122 | #define MMC_MODE_MMC 0 |
111 | #define MMC_MODE_SD 1 | 123 | #define MMC_MODE_SD 1 |
@@ -113,16 +125,19 @@ struct mmc_host { | |||
113 | struct mmc_card *card; /* device attached to this host */ | 125 | struct mmc_card *card; /* device attached to this host */ |
114 | 126 | ||
115 | wait_queue_head_t wq; | 127 | wait_queue_head_t wq; |
116 | unsigned int claimed:1; /* host exclusively claimed */ | ||
117 | 128 | ||
118 | struct delayed_work detect; | 129 | struct delayed_work detect; |
119 | #ifdef CONFIG_MMC_DEBUG | ||
120 | unsigned int removed:1; /* host is being removed */ | ||
121 | #endif | ||
122 | 130 | ||
123 | const struct mmc_bus_ops *bus_ops; /* current bus driver */ | 131 | const struct mmc_bus_ops *bus_ops; /* current bus driver */ |
124 | unsigned int bus_refs; /* reference counter */ | 132 | unsigned int bus_refs; /* reference counter */ |
125 | unsigned int bus_dead:1; /* bus has been released */ | 133 | |
134 | unsigned int sdio_irqs; | ||
135 | struct task_struct *sdio_irq_thread; | ||
136 | atomic_t sdio_irq_thread_abort; | ||
137 | |||
138 | #ifdef CONFIG_LEDS_TRIGGERS | ||
139 | struct led_trigger *led; /* activity led */ | ||
140 | #endif | ||
126 | 141 | ||
127 | unsigned long private[0] ____cacheline_aligned; | 142 | unsigned long private[0] ____cacheline_aligned; |
128 | }; | 143 | }; |
@@ -137,6 +152,8 @@ static inline void *mmc_priv(struct mmc_host *host) | |||
137 | return (void *)host->private; | 152 | return (void *)host->private; |
138 | } | 153 | } |
139 | 154 | ||
155 | #define mmc_host_is_spi(host) ((host)->caps & MMC_CAP_SPI) | ||
156 | |||
140 | #define mmc_dev(x) ((x)->parent) | 157 | #define mmc_dev(x) ((x)->parent) |
141 | #define mmc_classdev(x) (&(x)->class_dev) | 158 | #define mmc_classdev(x) (&(x)->class_dev) |
142 | #define mmc_hostname(x) ((x)->class_dev.bus_id) | 159 | #define mmc_hostname(x) ((x)->class_dev.bus_id) |
@@ -147,5 +164,11 @@ extern int mmc_resume_host(struct mmc_host *); | |||
147 | extern void mmc_detect_change(struct mmc_host *, unsigned long delay); | 164 | extern void mmc_detect_change(struct mmc_host *, unsigned long delay); |
148 | extern void mmc_request_done(struct mmc_host *, struct mmc_request *); | 165 | extern void mmc_request_done(struct mmc_host *, struct mmc_request *); |
149 | 166 | ||
167 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) | ||
168 | { | ||
169 | host->ops->enable_sdio_irq(host, 0); | ||
170 | wake_up_process(host->sdio_irq_thread); | ||
171 | } | ||
172 | |||
150 | #endif | 173 | #endif |
151 | 174 | ||
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index e3ed9b95040e..4236fbf0b6fb 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | /* Standard MMC commands (4.1) type argument response */ | 28 | /* Standard MMC commands (4.1) type argument response */ |
29 | /* class 1 */ | 29 | /* class 1 */ |
30 | #define MMC_GO_IDLE_STATE 0 /* bc */ | 30 | #define MMC_GO_IDLE_STATE 0 /* bc */ |
31 | #define MMC_SEND_OP_COND 1 /* bcr [31:0] OCR R3 */ | 31 | #define MMC_SEND_OP_COND 1 /* bcr [31:0] OCR R3 */ |
32 | #define MMC_ALL_SEND_CID 2 /* bcr R2 */ | 32 | #define MMC_ALL_SEND_CID 2 /* bcr R2 */ |
33 | #define MMC_SET_RELATIVE_ADDR 3 /* ac [31:16] RCA R1 */ | 33 | #define MMC_SET_RELATIVE_ADDR 3 /* ac [31:16] RCA R1 */ |
@@ -39,8 +39,10 @@ | |||
39 | #define MMC_SEND_CID 10 /* ac [31:16] RCA R2 */ | 39 | #define MMC_SEND_CID 10 /* ac [31:16] RCA R2 */ |
40 | #define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */ | 40 | #define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */ |
41 | #define MMC_STOP_TRANSMISSION 12 /* ac R1b */ | 41 | #define MMC_STOP_TRANSMISSION 12 /* ac R1b */ |
42 | #define MMC_SEND_STATUS 13 /* ac [31:16] RCA R1 */ | 42 | #define MMC_SEND_STATUS 13 /* ac [31:16] RCA R1 */ |
43 | #define MMC_GO_INACTIVE_STATE 15 /* ac [31:16] RCA */ | 43 | #define MMC_GO_INACTIVE_STATE 15 /* ac [31:16] RCA */ |
44 | #define MMC_SPI_READ_OCR 58 /* spi spi_R3 */ | ||
45 | #define MMC_SPI_CRC_ON_OFF 59 /* spi [0:0] flag spi_R1 */ | ||
44 | 46 | ||
45 | /* class 2 */ | 47 | /* class 2 */ |
46 | #define MMC_SET_BLOCKLEN 16 /* ac [31:0] block len R1 */ | 48 | #define MMC_SET_BLOCKLEN 16 /* ac [31:0] block len R1 */ |
@@ -90,15 +92,15 @@ | |||
90 | */ | 92 | */ |
91 | 93 | ||
92 | /* | 94 | /* |
93 | MMC status in R1 | 95 | MMC status in R1, for native mode (SPI bits are different) |
94 | Type | 96 | Type |
95 | e : error bit | 97 | e : error bit |
96 | s : status bit | 98 | s : status bit |
97 | r : detected and set for the actual command response | 99 | r : detected and set for the actual command response |
98 | x : detected and set during command execution. the host must poll | 100 | x : detected and set during command execution. the host must poll |
99 | the card by sending status command in order to read these bits. | 101 | the card by sending status command in order to read these bits. |
100 | Clear condition | 102 | Clear condition |
101 | a : according to the card state | 103 | a : according to the card state |
102 | b : always related to the previous command. Reception of | 104 | b : always related to the previous command. Reception of |
103 | a valid command will clear it (with a delay of one command) | 105 | a valid command will clear it (with a delay of one command) |
104 | c : clear by read | 106 | c : clear by read |
@@ -124,10 +126,33 @@ | |||
124 | #define R1_CARD_ECC_DISABLED (1 << 14) /* sx, a */ | 126 | #define R1_CARD_ECC_DISABLED (1 << 14) /* sx, a */ |
125 | #define R1_ERASE_RESET (1 << 13) /* sr, c */ | 127 | #define R1_ERASE_RESET (1 << 13) /* sr, c */ |
126 | #define R1_STATUS(x) (x & 0xFFFFE000) | 128 | #define R1_STATUS(x) (x & 0xFFFFE000) |
127 | #define R1_CURRENT_STATE(x) ((x & 0x00001E00) >> 9) /* sx, b (4 bits) */ | 129 | #define R1_CURRENT_STATE(x) ((x & 0x00001E00) >> 9) /* sx, b (4 bits) */ |
128 | #define R1_READY_FOR_DATA (1 << 8) /* sx, a */ | 130 | #define R1_READY_FOR_DATA (1 << 8) /* sx, a */ |
129 | #define R1_APP_CMD (1 << 5) /* sr, c */ | 131 | #define R1_APP_CMD (1 << 5) /* sr, c */ |
130 | 132 | ||
133 | /* | ||
134 | * MMC/SD in SPI mode reports R1 status always, and R2 for SEND_STATUS | ||
135 | * R1 is the low order byte; R2 is the next highest byte, when present. | ||
136 | */ | ||
137 | #define R1_SPI_IDLE (1 << 0) | ||
138 | #define R1_SPI_ERASE_RESET (1 << 1) | ||
139 | #define R1_SPI_ILLEGAL_COMMAND (1 << 2) | ||
140 | #define R1_SPI_COM_CRC (1 << 3) | ||
141 | #define R1_SPI_ERASE_SEQ (1 << 4) | ||
142 | #define R1_SPI_ADDRESS (1 << 5) | ||
143 | #define R1_SPI_PARAMETER (1 << 6) | ||
144 | /* R1 bit 7 is always zero */ | ||
145 | #define R2_SPI_CARD_LOCKED (1 << 8) | ||
146 | #define R2_SPI_WP_ERASE_SKIP (1 << 9) /* or lock/unlock fail */ | ||
147 | #define R2_SPI_LOCK_UNLOCK_FAIL R2_SPI_WP_ERASE_SKIP | ||
148 | #define R2_SPI_ERROR (1 << 10) | ||
149 | #define R2_SPI_CC_ERROR (1 << 11) | ||
150 | #define R2_SPI_CARD_ECC_ERROR (1 << 12) | ||
151 | #define R2_SPI_WP_VIOLATION (1 << 13) | ||
152 | #define R2_SPI_ERASE_PARAM (1 << 14) | ||
153 | #define R2_SPI_OUT_OF_RANGE (1 << 15) /* or CSD overwrite */ | ||
154 | #define R2_SPI_CSD_OVERWRITE R2_SPI_OUT_OF_RANGE | ||
155 | |||
131 | /* These are unpacked versions of the actual responses */ | 156 | /* These are unpacked versions of the actual responses */ |
132 | 157 | ||
133 | struct _mmc_csd { | 158 | struct _mmc_csd { |
@@ -182,6 +207,7 @@ struct _mmc_csd { | |||
182 | */ | 207 | */ |
183 | #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ | 208 | #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ |
184 | /* (CMD0,1,2,3,4,7,9,10,12,13,15) */ | 209 | /* (CMD0,1,2,3,4,7,9,10,12,13,15) */ |
210 | /* (and for SPI, CMD58,59) */ | ||
185 | #define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */ | 211 | #define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */ |
186 | /* (CMD11) */ | 212 | /* (CMD11) */ |
187 | #define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */ | 213 | #define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */ |
@@ -227,6 +253,7 @@ struct _mmc_csd { | |||
227 | #define EXT_CSD_BUS_WIDTH 183 /* R/W */ | 253 | #define EXT_CSD_BUS_WIDTH 183 /* R/W */ |
228 | #define EXT_CSD_HS_TIMING 185 /* R/W */ | 254 | #define EXT_CSD_HS_TIMING 185 /* R/W */ |
229 | #define EXT_CSD_CARD_TYPE 196 /* RO */ | 255 | #define EXT_CSD_CARD_TYPE 196 /* RO */ |
256 | #define EXT_CSD_REV 192 /* RO */ | ||
230 | #define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ | 257 | #define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ |
231 | 258 | ||
232 | /* | 259 | /* |
diff --git a/include/linux/mmc/sdio.h b/include/linux/mmc/sdio.h new file mode 100644 index 000000000000..47ba464f5170 --- /dev/null +++ b/include/linux/mmc/sdio.h | |||
@@ -0,0 +1,159 @@ | |||
1 | /* | ||
2 | * include/linux/mmc/sdio.h | ||
3 | * | ||
4 | * Copyright 2006-2007 Pierre Ossman | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or (at | ||
9 | * your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #ifndef MMC_SDIO_H | ||
13 | #define MMC_SDIO_H | ||
14 | |||
15 | /* SDIO commands type argument response */ | ||
16 | #define SD_IO_SEND_OP_COND 5 /* bcr [23:0] OCR R4 */ | ||
17 | #define SD_IO_RW_DIRECT 52 /* ac [31:0] See below R5 */ | ||
18 | #define SD_IO_RW_EXTENDED 53 /* adtc [31:0] See below R5 */ | ||
19 | |||
20 | /* | ||
21 | * SD_IO_RW_DIRECT argument format: | ||
22 | * | ||
23 | * [31] R/W flag | ||
24 | * [30:28] Function number | ||
25 | * [27] RAW flag | ||
26 | * [25:9] Register address | ||
27 | * [7:0] Data | ||
28 | */ | ||
29 | |||
30 | /* | ||
31 | * SD_IO_RW_EXTENDED argument format: | ||
32 | * | ||
33 | * [31] R/W flag | ||
34 | * [30:28] Function number | ||
35 | * [27] Block mode | ||
36 | * [26] Increment address | ||
37 | * [25:9] Register address | ||
38 | * [8:0] Byte/block count | ||
39 | */ | ||
40 | |||
41 | /* | ||
42 | SDIO status in R5 | ||
43 | Type | ||
44 | e : error bit | ||
45 | s : status bit | ||
46 | r : detected and set for the actual command response | ||
47 | x : detected and set during command execution. the host must poll | ||
48 | the card by sending status command in order to read these bits. | ||
49 | Clear condition | ||
50 | a : according to the card state | ||
51 | b : always related to the previous command. Reception of | ||
52 | a valid command will clear it (with a delay of one command) | ||
53 | c : clear by read | ||
54 | */ | ||
55 | |||
56 | #define R5_COM_CRC_ERROR (1 << 15) /* er, b */ | ||
57 | #define R5_ILLEGAL_COMMAND (1 << 14) /* er, b */ | ||
58 | #define R5_ERROR (1 << 11) /* erx, c */ | ||
59 | #define R5_FUNCTION_NUMBER (1 << 9) /* er, c */ | ||
60 | #define R5_OUT_OF_RANGE (1 << 8) /* er, c */ | ||
61 | #define R5_STATUS(x) (x & 0xCB00) | ||
62 | #define R5_IO_CURRENT_STATE(x) ((x & 0x3000) >> 12) /* s, b */ | ||
63 | |||
64 | /* | ||
65 | * Card Common Control Registers (CCCR) | ||
66 | */ | ||
67 | |||
68 | #define SDIO_CCCR_CCCR 0x00 | ||
69 | |||
70 | #define SDIO_CCCR_REV_1_00 0 /* CCCR/FBR Version 1.00 */ | ||
71 | #define SDIO_CCCR_REV_1_10 1 /* CCCR/FBR Version 1.10 */ | ||
72 | #define SDIO_CCCR_REV_1_20 2 /* CCCR/FBR Version 1.20 */ | ||
73 | |||
74 | #define SDIO_SDIO_REV_1_00 0 /* SDIO Spec Version 1.00 */ | ||
75 | #define SDIO_SDIO_REV_1_10 1 /* SDIO Spec Version 1.10 */ | ||
76 | #define SDIO_SDIO_REV_1_20 2 /* SDIO Spec Version 1.20 */ | ||
77 | #define SDIO_SDIO_REV_2_00 3 /* SDIO Spec Version 2.00 */ | ||
78 | |||
79 | #define SDIO_CCCR_SD 0x01 | ||
80 | |||
81 | #define SDIO_SD_REV_1_01 0 /* SD Physical Spec Version 1.01 */ | ||
82 | #define SDIO_SD_REV_1_10 1 /* SD Physical Spec Version 1.10 */ | ||
83 | #define SDIO_SD_REV_2_00 2 /* SD Physical Spec Version 2.00 */ | ||
84 | |||
85 | #define SDIO_CCCR_IOEx 0x02 | ||
86 | #define SDIO_CCCR_IORx 0x03 | ||
87 | |||
88 | #define SDIO_CCCR_IENx 0x04 /* Function/Master Interrupt Enable */ | ||
89 | #define SDIO_CCCR_INTx 0x05 /* Function Interrupt Pending */ | ||
90 | |||
91 | #define SDIO_CCCR_ABORT 0x06 /* function abort/card reset */ | ||
92 | |||
93 | #define SDIO_CCCR_IF 0x07 /* bus interface controls */ | ||
94 | |||
95 | #define SDIO_BUS_WIDTH_1BIT 0x00 | ||
96 | #define SDIO_BUS_WIDTH_4BIT 0x02 | ||
97 | |||
98 | #define SDIO_BUS_CD_DISABLE 0x80 /* disable pull-up on DAT3 (pin 1) */ | ||
99 | |||
100 | #define SDIO_CCCR_CAPS 0x08 | ||
101 | |||
102 | #define SDIO_CCCR_CAP_SDC 0x01 /* can do CMD52 while data transfer */ | ||
103 | #define SDIO_CCCR_CAP_SMB 0x02 /* can do multi-block xfers (CMD53) */ | ||
104 | #define SDIO_CCCR_CAP_SRW 0x04 /* supports read-wait protocol */ | ||
105 | #define SDIO_CCCR_CAP_SBS 0x08 /* supports suspend/resume */ | ||
106 | #define SDIO_CCCR_CAP_S4MI 0x10 /* interrupt during 4-bit CMD53 */ | ||
107 | #define SDIO_CCCR_CAP_E4MI 0x20 /* enable ints during 4-bit CMD53 */ | ||
108 | #define SDIO_CCCR_CAP_LSC 0x40 /* low speed card */ | ||
109 | #define SDIO_CCCR_CAP_4BLS 0x80 /* 4 bit low speed card */ | ||
110 | |||
111 | #define SDIO_CCCR_CIS 0x09 /* common CIS pointer (3 bytes) */ | ||
112 | |||
113 | /* Following 4 regs are valid only if SBS is set */ | ||
114 | #define SDIO_CCCR_SUSPEND 0x0c | ||
115 | #define SDIO_CCCR_SELx 0x0d | ||
116 | #define SDIO_CCCR_EXECx 0x0e | ||
117 | #define SDIO_CCCR_READYx 0x0f | ||
118 | |||
119 | #define SDIO_CCCR_BLKSIZE 0x10 | ||
120 | |||
121 | #define SDIO_CCCR_POWER 0x12 | ||
122 | |||
123 | #define SDIO_POWER_SMPC 0x01 /* Supports Master Power Control */ | ||
124 | #define SDIO_POWER_EMPC 0x02 /* Enable Master Power Control */ | ||
125 | |||
126 | #define SDIO_CCCR_SPEED 0x13 | ||
127 | |||
128 | #define SDIO_SPEED_SHS 0x01 /* Supports High-Speed mode */ | ||
129 | #define SDIO_SPEED_EHS 0x02 /* Enable High-Speed mode */ | ||
130 | |||
131 | /* | ||
132 | * Function Basic Registers (FBR) | ||
133 | */ | ||
134 | |||
135 | #define SDIO_FBR_BASE(f) ((f) * 0x100) /* base of function f's FBRs */ | ||
136 | |||
137 | #define SDIO_FBR_STD_IF 0x00 | ||
138 | |||
139 | #define SDIO_FBR_SUPPORTS_CSA 0x40 /* supports Code Storage Area */ | ||
140 | #define SDIO_FBR_ENABLE_CSA 0x80 /* enable Code Storage Area */ | ||
141 | |||
142 | #define SDIO_FBR_STD_IF_EXT 0x01 | ||
143 | |||
144 | #define SDIO_FBR_POWER 0x02 | ||
145 | |||
146 | #define SDIO_FBR_POWER_SPS 0x01 /* Supports Power Selection */ | ||
147 | #define SDIO_FBR_POWER_EPS 0x02 /* Enable (low) Power Selection */ | ||
148 | |||
149 | #define SDIO_FBR_CIS 0x09 /* CIS pointer (3 bytes) */ | ||
150 | |||
151 | |||
152 | #define SDIO_FBR_CSA 0x0C /* CSA pointer (3 bytes) */ | ||
153 | |||
154 | #define SDIO_FBR_CSA_DATA 0x0F | ||
155 | |||
156 | #define SDIO_FBR_BLKSIZE 0x10 /* block size (2 bytes) */ | ||
157 | |||
158 | #endif | ||
159 | |||
diff --git a/include/linux/mmc/sdio_func.h b/include/linux/mmc/sdio_func.h new file mode 100644 index 000000000000..b050f4d7b41f --- /dev/null +++ b/include/linux/mmc/sdio_func.h | |||
@@ -0,0 +1,153 @@ | |||
1 | /* | ||
2 | * include/linux/mmc/sdio_func.h | ||
3 | * | ||
4 | * Copyright 2007 Pierre Ossman | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or (at | ||
9 | * your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #ifndef MMC_SDIO_FUNC_H | ||
13 | #define MMC_SDIO_FUNC_H | ||
14 | |||
15 | #include <linux/device.h> | ||
16 | #include <linux/mod_devicetable.h> | ||
17 | |||
18 | struct mmc_card; | ||
19 | struct sdio_func; | ||
20 | |||
21 | typedef void (sdio_irq_handler_t)(struct sdio_func *); | ||
22 | |||
23 | /* | ||
24 | * SDIO function CIS tuple (unknown to the core) | ||
25 | */ | ||
26 | struct sdio_func_tuple { | ||
27 | struct sdio_func_tuple *next; | ||
28 | unsigned char code; | ||
29 | unsigned char size; | ||
30 | unsigned char data[0]; | ||
31 | }; | ||
32 | |||
33 | /* | ||
34 | * SDIO function devices | ||
35 | */ | ||
36 | struct sdio_func { | ||
37 | struct mmc_card *card; /* the card this device belongs to */ | ||
38 | struct device dev; /* the device */ | ||
39 | sdio_irq_handler_t *irq_handler; /* IRQ callback */ | ||
40 | unsigned int num; /* function number */ | ||
41 | |||
42 | unsigned char class; /* standard interface class */ | ||
43 | unsigned short vendor; /* vendor id */ | ||
44 | unsigned short device; /* device id */ | ||
45 | |||
46 | unsigned max_blksize; /* maximum block size */ | ||
47 | unsigned cur_blksize; /* current block size */ | ||
48 | |||
49 | unsigned int state; /* function state */ | ||
50 | #define SDIO_STATE_PRESENT (1<<0) /* present in sysfs */ | ||
51 | |||
52 | u8 tmpbuf[4]; /* DMA:able scratch buffer */ | ||
53 | |||
54 | unsigned num_info; /* number of info strings */ | ||
55 | const char **info; /* info strings */ | ||
56 | |||
57 | struct sdio_func_tuple *tuples; | ||
58 | }; | ||
59 | |||
60 | #define sdio_func_present(f) ((f)->state & SDIO_STATE_PRESENT) | ||
61 | |||
62 | #define sdio_func_set_present(f) ((f)->state |= SDIO_STATE_PRESENT) | ||
63 | |||
64 | #define sdio_func_id(f) ((f)->dev.bus_id) | ||
65 | |||
66 | #define sdio_get_drvdata(f) dev_get_drvdata(&(f)->dev) | ||
67 | #define sdio_set_drvdata(f,d) dev_set_drvdata(&(f)->dev, d) | ||
68 | |||
69 | /* | ||
70 | * SDIO function device driver | ||
71 | */ | ||
72 | struct sdio_driver { | ||
73 | char *name; | ||
74 | const struct sdio_device_id *id_table; | ||
75 | |||
76 | int (*probe)(struct sdio_func *, const struct sdio_device_id *); | ||
77 | void (*remove)(struct sdio_func *); | ||
78 | |||
79 | struct device_driver drv; | ||
80 | }; | ||
81 | |||
82 | /** | ||
83 | * SDIO_DEVICE - macro used to describe a specific SDIO device | ||
84 | * @vend: the 16 bit manufacturer code | ||
85 | * @dev: the 16 bit function id | ||
86 | * | ||
87 | * This macro is used to create a struct sdio_device_id that matches a | ||
88 | * specific device. The class field will be set to SDIO_ANY_ID. | ||
89 | */ | ||
90 | #define SDIO_DEVICE(vend,dev) \ | ||
91 | .class = SDIO_ANY_ID, \ | ||
92 | .vendor = (vend), .device = (dev) | ||
93 | |||
94 | /** | ||
95 | * SDIO_DEVICE_CLASS - macro used to describe a specific SDIO device class | ||
96 | * @dev_class: the 8 bit standard interface code | ||
97 | * | ||
98 | * This macro is used to create a struct sdio_device_id that matches a | ||
99 | * specific standard SDIO function type. The vendor and device fields will | ||
100 | * be set to SDIO_ANY_ID. | ||
101 | */ | ||
102 | #define SDIO_DEVICE_CLASS(dev_class) \ | ||
103 | .class = (dev_class), \ | ||
104 | .vendor = SDIO_ANY_ID, .device = SDIO_ANY_ID | ||
105 | |||
106 | extern int sdio_register_driver(struct sdio_driver *); | ||
107 | extern void sdio_unregister_driver(struct sdio_driver *); | ||
108 | |||
109 | /* | ||
110 | * SDIO I/O operations | ||
111 | */ | ||
112 | extern void sdio_claim_host(struct sdio_func *func); | ||
113 | extern void sdio_release_host(struct sdio_func *func); | ||
114 | |||
115 | extern int sdio_enable_func(struct sdio_func *func); | ||
116 | extern int sdio_disable_func(struct sdio_func *func); | ||
117 | |||
118 | extern int sdio_set_block_size(struct sdio_func *func, unsigned blksz); | ||
119 | |||
120 | extern int sdio_claim_irq(struct sdio_func *func, sdio_irq_handler_t *handler); | ||
121 | extern int sdio_release_irq(struct sdio_func *func); | ||
122 | |||
123 | extern unsigned char sdio_readb(struct sdio_func *func, | ||
124 | unsigned int addr, int *err_ret); | ||
125 | extern unsigned short sdio_readw(struct sdio_func *func, | ||
126 | unsigned int addr, int *err_ret); | ||
127 | extern unsigned long sdio_readl(struct sdio_func *func, | ||
128 | unsigned int addr, int *err_ret); | ||
129 | |||
130 | extern int sdio_memcpy_fromio(struct sdio_func *func, void *dst, | ||
131 | unsigned int addr, int count); | ||
132 | extern int sdio_readsb(struct sdio_func *func, void *dst, | ||
133 | unsigned int addr, int count); | ||
134 | |||
135 | extern void sdio_writeb(struct sdio_func *func, unsigned char b, | ||
136 | unsigned int addr, int *err_ret); | ||
137 | extern void sdio_writew(struct sdio_func *func, unsigned short b, | ||
138 | unsigned int addr, int *err_ret); | ||
139 | extern void sdio_writel(struct sdio_func *func, unsigned long b, | ||
140 | unsigned int addr, int *err_ret); | ||
141 | |||
142 | extern int sdio_memcpy_toio(struct sdio_func *func, unsigned int addr, | ||
143 | void *src, int count); | ||
144 | extern int sdio_writesb(struct sdio_func *func, unsigned int addr, | ||
145 | void *src, int count); | ||
146 | |||
147 | extern unsigned char sdio_f0_readb(struct sdio_func *func, | ||
148 | unsigned int addr, int *err_ret); | ||
149 | extern void sdio_f0_writeb(struct sdio_func *func, unsigned char b, | ||
150 | unsigned int addr, int *err_ret); | ||
151 | |||
152 | #endif | ||
153 | |||
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h new file mode 100644 index 000000000000..09306d47ff5e --- /dev/null +++ b/include/linux/mmc/sdio_ids.h | |||
@@ -0,0 +1,23 @@ | |||
1 | /* | ||
2 | * SDIO Classes, Interface Types, Manufacturer IDs, etc. | ||
3 | */ | ||
4 | |||
5 | #ifndef MMC_SDIO_IDS_H | ||
6 | #define MMC_SDIO_IDS_H | ||
7 | |||
8 | /* | ||
9 | * Standard SDIO Function Interfaces | ||
10 | */ | ||
11 | |||
12 | #define SDIO_CLASS_NONE 0x00 /* Not a SDIO standard interface */ | ||
13 | #define SDIO_CLASS_UART 0x01 /* standard UART interface */ | ||
14 | #define SDIO_CLASS_BT_A 0x02 /* Type-A BlueTooth std interface */ | ||
15 | #define SDIO_CLASS_BT_B 0x03 /* Type-B BlueTooth std interface */ | ||
16 | #define SDIO_CLASS_GPS 0x04 /* GPS standard interface */ | ||
17 | #define SDIO_CLASS_CAMERA 0x05 /* Camera standard interface */ | ||
18 | #define SDIO_CLASS_PHS 0x06 /* PHS standard interface */ | ||
19 | #define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ | ||
20 | #define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ | ||
21 | |||
22 | |||
23 | #endif | ||
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 4dc5fa8be781..74523d999f7a 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
@@ -340,4 +340,30 @@ struct parisc_device_id { | |||
340 | #define PA_HVERSION_ANY_ID 0xffff | 340 | #define PA_HVERSION_ANY_ID 0xffff |
341 | #define PA_SVERSION_ANY_ID 0xffffffff | 341 | #define PA_SVERSION_ANY_ID 0xffffffff |
342 | 342 | ||
343 | /* SDIO */ | ||
344 | |||
345 | #define SDIO_ANY_ID (~0) | ||
346 | |||
347 | struct sdio_device_id { | ||
348 | __u8 class; /* Standard interface or SDIO_ANY_ID */ | ||
349 | __u16 vendor; /* Vendor or SDIO_ANY_ID */ | ||
350 | __u16 device; /* Device ID or SDIO_ANY_ID */ | ||
351 | kernel_ulong_t driver_data; /* Data private to the driver */ | ||
352 | }; | ||
353 | |||
354 | /* SSB core, see drivers/ssb/ */ | ||
355 | struct ssb_device_id { | ||
356 | __u16 vendor; | ||
357 | __u16 coreid; | ||
358 | __u8 revision; | ||
359 | }; | ||
360 | #define SSB_DEVICE(_vendor, _coreid, _revision) \ | ||
361 | { .vendor = _vendor, .coreid = _coreid, .revision = _revision, } | ||
362 | #define SSB_DEVTABLE_END \ | ||
363 | { 0, }, | ||
364 | |||
365 | #define SSB_ANY_VENDOR 0xFFFF | ||
366 | #define SSB_ANY_ID 0xFFFF | ||
367 | #define SSB_ANY_REV 0xFF | ||
368 | |||
343 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 369 | #endif /* LINUX_MOD_DEVICETABLE_H */ |
diff --git a/include/linux/net.h b/include/linux/net.h index efc45177b503..c136abce7ef6 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -23,6 +23,7 @@ | |||
23 | 23 | ||
24 | struct poll_table_struct; | 24 | struct poll_table_struct; |
25 | struct inode; | 25 | struct inode; |
26 | struct net; | ||
26 | 27 | ||
27 | #define NPROTO 34 /* should be enough for now.. */ | 28 | #define NPROTO 34 /* should be enough for now.. */ |
28 | 29 | ||
@@ -169,7 +170,7 @@ struct proto_ops { | |||
169 | 170 | ||
170 | struct net_proto_family { | 171 | struct net_proto_family { |
171 | int family; | 172 | int family; |
172 | int (*create)(struct socket *sock, int protocol); | 173 | int (*create)(struct net *net, struct socket *sock, int protocol); |
173 | struct module *owner; | 174 | struct module *owner; |
174 | }; | 175 | }; |
175 | 176 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index e679b2751665..5a11f889e56a 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #ifdef __KERNEL__ | 32 | #ifdef __KERNEL__ |
33 | #include <linux/timer.h> | 33 | #include <linux/timer.h> |
34 | #include <linux/delay.h> | ||
34 | #include <asm/atomic.h> | 35 | #include <asm/atomic.h> |
35 | #include <asm/cache.h> | 36 | #include <asm/cache.h> |
36 | #include <asm/byteorder.h> | 37 | #include <asm/byteorder.h> |
@@ -38,6 +39,9 @@ | |||
38 | #include <linux/device.h> | 39 | #include <linux/device.h> |
39 | #include <linux/percpu.h> | 40 | #include <linux/percpu.h> |
40 | #include <linux/dmaengine.h> | 41 | #include <linux/dmaengine.h> |
42 | #include <linux/workqueue.h> | ||
43 | |||
44 | #include <net/net_namespace.h> | ||
41 | 45 | ||
42 | struct vlan_group; | 46 | struct vlan_group; |
43 | struct ethtool_ops; | 47 | struct ethtool_ops; |
@@ -246,6 +250,19 @@ struct hh_cache | |||
246 | #define LL_RESERVED_SPACE_EXTRA(dev,extra) \ | 250 | #define LL_RESERVED_SPACE_EXTRA(dev,extra) \ |
247 | ((((dev)->hard_header_len+extra)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD) | 251 | ((((dev)->hard_header_len+extra)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD) |
248 | 252 | ||
253 | struct header_ops { | ||
254 | int (*create) (struct sk_buff *skb, struct net_device *dev, | ||
255 | unsigned short type, const void *daddr, | ||
256 | const void *saddr, unsigned len); | ||
257 | int (*parse)(const struct sk_buff *skb, unsigned char *haddr); | ||
258 | int (*rebuild)(struct sk_buff *skb); | ||
259 | #define HAVE_HEADER_CACHE | ||
260 | int (*cache)(const struct neighbour *neigh, struct hh_cache *hh); | ||
261 | void (*cache_update)(struct hh_cache *hh, | ||
262 | const struct net_device *dev, | ||
263 | const unsigned char *haddr); | ||
264 | }; | ||
265 | |||
249 | /* These flag bits are private to the generic network queueing | 266 | /* These flag bits are private to the generic network queueing |
250 | * layer, they may not be explicitly referenced by any other | 267 | * layer, they may not be explicitly referenced by any other |
251 | * code. | 268 | * code. |
@@ -258,7 +275,6 @@ enum netdev_state_t | |||
258 | __LINK_STATE_PRESENT, | 275 | __LINK_STATE_PRESENT, |
259 | __LINK_STATE_SCHED, | 276 | __LINK_STATE_SCHED, |
260 | __LINK_STATE_NOCARRIER, | 277 | __LINK_STATE_NOCARRIER, |
261 | __LINK_STATE_RX_SCHED, | ||
262 | __LINK_STATE_LINKWATCH_PENDING, | 278 | __LINK_STATE_LINKWATCH_PENDING, |
263 | __LINK_STATE_DORMANT, | 279 | __LINK_STATE_DORMANT, |
264 | __LINK_STATE_QDISC_RUNNING, | 280 | __LINK_STATE_QDISC_RUNNING, |
@@ -278,6 +294,120 @@ struct netdev_boot_setup { | |||
278 | extern int __init netdev_boot_setup(char *str); | 294 | extern int __init netdev_boot_setup(char *str); |
279 | 295 | ||
280 | /* | 296 | /* |
297 | * Structure for NAPI scheduling similar to tasklet but with weighting | ||
298 | */ | ||
299 | struct napi_struct { | ||
300 | /* The poll_list must only be managed by the entity which | ||
301 | * changes the state of the NAPI_STATE_SCHED bit. This means | ||
302 | * whoever atomically sets that bit can add this napi_struct | ||
303 | * to the per-cpu poll_list, and whoever clears that bit | ||
304 | * can remove from the list right before clearing the bit. | ||
305 | */ | ||
306 | struct list_head poll_list; | ||
307 | |||
308 | unsigned long state; | ||
309 | int weight; | ||
310 | int (*poll)(struct napi_struct *, int); | ||
311 | #ifdef CONFIG_NETPOLL | ||
312 | spinlock_t poll_lock; | ||
313 | int poll_owner; | ||
314 | struct net_device *dev; | ||
315 | struct list_head dev_list; | ||
316 | #endif | ||
317 | }; | ||
318 | |||
319 | enum | ||
320 | { | ||
321 | NAPI_STATE_SCHED, /* Poll is scheduled */ | ||
322 | }; | ||
323 | |||
324 | extern void FASTCALL(__napi_schedule(struct napi_struct *n)); | ||
325 | |||
326 | /** | ||
327 | * napi_schedule_prep - check if napi can be scheduled | ||
328 | * @n: napi context | ||
329 | * | ||
330 | * Test if NAPI routine is already running, and if not mark | ||
331 | * it as running. This is used as a condition variable | ||
332 | * insure only one NAPI poll instance runs | ||
333 | */ | ||
334 | static inline int napi_schedule_prep(struct napi_struct *n) | ||
335 | { | ||
336 | return !test_and_set_bit(NAPI_STATE_SCHED, &n->state); | ||
337 | } | ||
338 | |||
339 | /** | ||
340 | * napi_schedule - schedule NAPI poll | ||
341 | * @n: napi context | ||
342 | * | ||
343 | * Schedule NAPI poll routine to be called if it is not already | ||
344 | * running. | ||
345 | */ | ||
346 | static inline void napi_schedule(struct napi_struct *n) | ||
347 | { | ||
348 | if (napi_schedule_prep(n)) | ||
349 | __napi_schedule(n); | ||
350 | } | ||
351 | |||
352 | /* Try to reschedule poll. Called by dev->poll() after napi_complete(). */ | ||
353 | static inline int napi_reschedule(struct napi_struct *napi) | ||
354 | { | ||
355 | if (napi_schedule_prep(napi)) { | ||
356 | __napi_schedule(napi); | ||
357 | return 1; | ||
358 | } | ||
359 | return 0; | ||
360 | } | ||
361 | |||
362 | /** | ||
363 | * napi_complete - NAPI processing complete | ||
364 | * @n: napi context | ||
365 | * | ||
366 | * Mark NAPI processing as complete. | ||
367 | */ | ||
368 | static inline void __napi_complete(struct napi_struct *n) | ||
369 | { | ||
370 | BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state)); | ||
371 | list_del(&n->poll_list); | ||
372 | smp_mb__before_clear_bit(); | ||
373 | clear_bit(NAPI_STATE_SCHED, &n->state); | ||
374 | } | ||
375 | |||
376 | static inline void napi_complete(struct napi_struct *n) | ||
377 | { | ||
378 | local_irq_disable(); | ||
379 | __napi_complete(n); | ||
380 | local_irq_enable(); | ||
381 | } | ||
382 | |||
383 | /** | ||
384 | * napi_disable - prevent NAPI from scheduling | ||
385 | * @n: napi context | ||
386 | * | ||
387 | * Stop NAPI from being scheduled on this context. | ||
388 | * Waits till any outstanding processing completes. | ||
389 | */ | ||
390 | static inline void napi_disable(struct napi_struct *n) | ||
391 | { | ||
392 | while (test_and_set_bit(NAPI_STATE_SCHED, &n->state)) | ||
393 | msleep_interruptible(1); | ||
394 | } | ||
395 | |||
396 | /** | ||
397 | * napi_enable - enable NAPI scheduling | ||
398 | * @n: napi context | ||
399 | * | ||
400 | * Resume NAPI from being scheduled on this context. | ||
401 | * Must be paired with napi_disable. | ||
402 | */ | ||
403 | static inline void napi_enable(struct napi_struct *n) | ||
404 | { | ||
405 | BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state)); | ||
406 | smp_mb__before_clear_bit(); | ||
407 | clear_bit(NAPI_STATE_SCHED, &n->state); | ||
408 | } | ||
409 | |||
410 | /* | ||
281 | * The DEVICE structure. | 411 | * The DEVICE structure. |
282 | * Actually, this whole structure is a big mistake. It mixes I/O | 412 | * Actually, this whole structure is a big mistake. It mixes I/O |
283 | * data with strictly "high-level" data, and it has to know about | 413 | * data with strictly "high-level" data, and it has to know about |
@@ -319,6 +449,9 @@ struct net_device | |||
319 | unsigned long state; | 449 | unsigned long state; |
320 | 450 | ||
321 | struct list_head dev_list; | 451 | struct list_head dev_list; |
452 | #ifdef CONFIG_NETPOLL | ||
453 | struct list_head napi_list; | ||
454 | #endif | ||
322 | 455 | ||
323 | /* The device initialization function. Called only once. */ | 456 | /* The device initialization function. Called only once. */ |
324 | int (*init)(struct net_device *dev); | 457 | int (*init)(struct net_device *dev); |
@@ -339,8 +472,11 @@ struct net_device | |||
339 | #define NETIF_F_HW_VLAN_FILTER 512 /* Receive filtering on VLAN */ | 472 | #define NETIF_F_HW_VLAN_FILTER 512 /* Receive filtering on VLAN */ |
340 | #define NETIF_F_VLAN_CHALLENGED 1024 /* Device cannot handle VLAN packets */ | 473 | #define NETIF_F_VLAN_CHALLENGED 1024 /* Device cannot handle VLAN packets */ |
341 | #define NETIF_F_GSO 2048 /* Enable software GSO. */ | 474 | #define NETIF_F_GSO 2048 /* Enable software GSO. */ |
342 | #define NETIF_F_LLTX 4096 /* LockLess TX */ | 475 | #define NETIF_F_LLTX 4096 /* LockLess TX - deprecated. Please */ |
476 | /* do not use LLTX in new drivers */ | ||
477 | #define NETIF_F_NETNS_LOCAL 8192 /* Does not change network namespaces */ | ||
343 | #define NETIF_F_MULTI_QUEUE 16384 /* Has multiple TX/RX queues */ | 478 | #define NETIF_F_MULTI_QUEUE 16384 /* Has multiple TX/RX queues */ |
479 | #define NETIF_F_LRO 32768 /* large receive offload */ | ||
344 | 480 | ||
345 | /* Segmentation offload features */ | 481 | /* Segmentation offload features */ |
346 | #define NETIF_F_GSO_SHIFT 16 | 482 | #define NETIF_F_GSO_SHIFT 16 |
@@ -379,6 +515,9 @@ struct net_device | |||
379 | #endif | 515 | #endif |
380 | const struct ethtool_ops *ethtool_ops; | 516 | const struct ethtool_ops *ethtool_ops; |
381 | 517 | ||
518 | /* Hardware header description */ | ||
519 | const struct header_ops *header_ops; | ||
520 | |||
382 | /* | 521 | /* |
383 | * This marks the end of the "visible" part of the structure. All | 522 | * This marks the end of the "visible" part of the structure. All |
384 | * fields hereafter are internal to the system, and may change at | 523 | * fields hereafter are internal to the system, and may change at |
@@ -430,12 +569,6 @@ struct net_device | |||
430 | /* | 569 | /* |
431 | * Cache line mostly used on receive path (including eth_type_trans()) | 570 | * Cache line mostly used on receive path (including eth_type_trans()) |
432 | */ | 571 | */ |
433 | struct list_head poll_list ____cacheline_aligned_in_smp; | ||
434 | /* Link to poll list */ | ||
435 | |||
436 | int (*poll) (struct net_device *dev, int *quota); | ||
437 | int quota; | ||
438 | int weight; | ||
439 | unsigned long last_rx; /* Time of last Rx */ | 572 | unsigned long last_rx; /* Time of last Rx */ |
440 | /* Interface address info used in eth_type_trans() */ | 573 | /* Interface address info used in eth_type_trans() */ |
441 | unsigned char dev_addr[MAX_ADDR_LEN]; /* hw address, (before bcast | 574 | unsigned char dev_addr[MAX_ADDR_LEN]; /* hw address, (before bcast |
@@ -508,13 +641,6 @@ struct net_device | |||
508 | int (*open)(struct net_device *dev); | 641 | int (*open)(struct net_device *dev); |
509 | int (*stop)(struct net_device *dev); | 642 | int (*stop)(struct net_device *dev); |
510 | #define HAVE_NETDEV_POLL | 643 | #define HAVE_NETDEV_POLL |
511 | int (*hard_header) (struct sk_buff *skb, | ||
512 | struct net_device *dev, | ||
513 | unsigned short type, | ||
514 | void *daddr, | ||
515 | void *saddr, | ||
516 | unsigned len); | ||
517 | int (*rebuild_header)(struct sk_buff *skb); | ||
518 | #define HAVE_CHANGE_RX_FLAGS | 644 | #define HAVE_CHANGE_RX_FLAGS |
519 | void (*change_rx_flags)(struct net_device *dev, | 645 | void (*change_rx_flags)(struct net_device *dev, |
520 | int flags); | 646 | int flags); |
@@ -531,12 +657,6 @@ struct net_device | |||
531 | #define HAVE_SET_CONFIG | 657 | #define HAVE_SET_CONFIG |
532 | int (*set_config)(struct net_device *dev, | 658 | int (*set_config)(struct net_device *dev, |
533 | struct ifmap *map); | 659 | struct ifmap *map); |
534 | #define HAVE_HEADER_CACHE | ||
535 | int (*hard_header_cache)(struct neighbour *neigh, | ||
536 | struct hh_cache *hh); | ||
537 | void (*header_cache_update)(struct hh_cache *hh, | ||
538 | struct net_device *dev, | ||
539 | unsigned char * haddr); | ||
540 | #define HAVE_CHANGE_MTU | 660 | #define HAVE_CHANGE_MTU |
541 | int (*change_mtu)(struct net_device *dev, int new_mtu); | 661 | int (*change_mtu)(struct net_device *dev, int new_mtu); |
542 | 662 | ||
@@ -550,8 +670,6 @@ struct net_device | |||
550 | void (*vlan_rx_kill_vid)(struct net_device *dev, | 670 | void (*vlan_rx_kill_vid)(struct net_device *dev, |
551 | unsigned short vid); | 671 | unsigned short vid); |
552 | 672 | ||
553 | int (*hard_header_parse)(struct sk_buff *skb, | ||
554 | unsigned char *haddr); | ||
555 | int (*neigh_setup)(struct net_device *dev, struct neigh_parms *); | 673 | int (*neigh_setup)(struct net_device *dev, struct neigh_parms *); |
556 | #ifdef CONFIG_NETPOLL | 674 | #ifdef CONFIG_NETPOLL |
557 | struct netpoll_info *npinfo; | 675 | struct netpoll_info *npinfo; |
@@ -560,6 +678,9 @@ struct net_device | |||
560 | void (*poll_controller)(struct net_device *dev); | 678 | void (*poll_controller)(struct net_device *dev); |
561 | #endif | 679 | #endif |
562 | 680 | ||
681 | /* Network namespace this network device is inside */ | ||
682 | struct net *nd_net; | ||
683 | |||
563 | /* bridge stuff */ | 684 | /* bridge stuff */ |
564 | struct net_bridge_port *br_port; | 685 | struct net_bridge_port *br_port; |
565 | /* macvlan */ | 686 | /* macvlan */ |
@@ -582,17 +703,39 @@ struct net_device | |||
582 | #define NETDEV_ALIGN 32 | 703 | #define NETDEV_ALIGN 32 |
583 | #define NETDEV_ALIGN_CONST (NETDEV_ALIGN - 1) | 704 | #define NETDEV_ALIGN_CONST (NETDEV_ALIGN - 1) |
584 | 705 | ||
706 | /** | ||
707 | * netdev_priv - access network device private data | ||
708 | * @dev: network device | ||
709 | * | ||
710 | * Get network device private data | ||
711 | */ | ||
585 | static inline void *netdev_priv(const struct net_device *dev) | 712 | static inline void *netdev_priv(const struct net_device *dev) |
586 | { | 713 | { |
587 | return dev->priv; | 714 | return dev->priv; |
588 | } | 715 | } |
589 | 716 | ||
590 | #define SET_MODULE_OWNER(dev) do { } while (0) | ||
591 | /* Set the sysfs physical device reference for the network logical device | 717 | /* Set the sysfs physical device reference for the network logical device |
592 | * if set prior to registration will cause a symlink during initialization. | 718 | * if set prior to registration will cause a symlink during initialization. |
593 | */ | 719 | */ |
594 | #define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev)) | 720 | #define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev)) |
595 | 721 | ||
722 | static inline void netif_napi_add(struct net_device *dev, | ||
723 | struct napi_struct *napi, | ||
724 | int (*poll)(struct napi_struct *, int), | ||
725 | int weight) | ||
726 | { | ||
727 | INIT_LIST_HEAD(&napi->poll_list); | ||
728 | napi->poll = poll; | ||
729 | napi->weight = weight; | ||
730 | #ifdef CONFIG_NETPOLL | ||
731 | napi->dev = dev; | ||
732 | list_add(&napi->dev_list, &dev->napi_list); | ||
733 | spin_lock_init(&napi->poll_lock); | ||
734 | napi->poll_owner = -1; | ||
735 | #endif | ||
736 | set_bit(NAPI_STATE_SCHED, &napi->state); | ||
737 | } | ||
738 | |||
596 | struct packet_type { | 739 | struct packet_type { |
597 | __be16 type; /* This is really htons(ether_type). */ | 740 | __be16 type; /* This is really htons(ether_type). */ |
598 | struct net_device *dev; /* NULL is wildcarded here */ | 741 | struct net_device *dev; /* NULL is wildcarded here */ |
@@ -610,45 +753,46 @@ struct packet_type { | |||
610 | #include <linux/interrupt.h> | 753 | #include <linux/interrupt.h> |
611 | #include <linux/notifier.h> | 754 | #include <linux/notifier.h> |
612 | 755 | ||
613 | extern struct net_device loopback_dev; /* The loopback */ | ||
614 | extern struct list_head dev_base_head; /* All devices */ | ||
615 | extern rwlock_t dev_base_lock; /* Device list lock */ | 756 | extern rwlock_t dev_base_lock; /* Device list lock */ |
616 | 757 | ||
617 | #define for_each_netdev(d) \ | 758 | |
618 | list_for_each_entry(d, &dev_base_head, dev_list) | 759 | #define for_each_netdev(net, d) \ |
619 | #define for_each_netdev_safe(d, n) \ | 760 | list_for_each_entry(d, &(net)->dev_base_head, dev_list) |
620 | list_for_each_entry_safe(d, n, &dev_base_head, dev_list) | 761 | #define for_each_netdev_safe(net, d, n) \ |
621 | #define for_each_netdev_continue(d) \ | 762 | list_for_each_entry_safe(d, n, &(net)->dev_base_head, dev_list) |
622 | list_for_each_entry_continue(d, &dev_base_head, dev_list) | 763 | #define for_each_netdev_continue(net, d) \ |
764 | list_for_each_entry_continue(d, &(net)->dev_base_head, dev_list) | ||
623 | #define net_device_entry(lh) list_entry(lh, struct net_device, dev_list) | 765 | #define net_device_entry(lh) list_entry(lh, struct net_device, dev_list) |
624 | 766 | ||
625 | static inline struct net_device *next_net_device(struct net_device *dev) | 767 | static inline struct net_device *next_net_device(struct net_device *dev) |
626 | { | 768 | { |
627 | struct list_head *lh; | 769 | struct list_head *lh; |
770 | struct net *net; | ||
628 | 771 | ||
772 | net = dev->nd_net; | ||
629 | lh = dev->dev_list.next; | 773 | lh = dev->dev_list.next; |
630 | return lh == &dev_base_head ? NULL : net_device_entry(lh); | 774 | return lh == &net->dev_base_head ? NULL : net_device_entry(lh); |
631 | } | 775 | } |
632 | 776 | ||
633 | static inline struct net_device *first_net_device(void) | 777 | static inline struct net_device *first_net_device(struct net *net) |
634 | { | 778 | { |
635 | return list_empty(&dev_base_head) ? NULL : | 779 | return list_empty(&net->dev_base_head) ? NULL : |
636 | net_device_entry(dev_base_head.next); | 780 | net_device_entry(net->dev_base_head.next); |
637 | } | 781 | } |
638 | 782 | ||
639 | extern int netdev_boot_setup_check(struct net_device *dev); | 783 | extern int netdev_boot_setup_check(struct net_device *dev); |
640 | extern unsigned long netdev_boot_base(const char *prefix, int unit); | 784 | extern unsigned long netdev_boot_base(const char *prefix, int unit); |
641 | extern struct net_device *dev_getbyhwaddr(unsigned short type, char *hwaddr); | 785 | extern struct net_device *dev_getbyhwaddr(struct net *net, unsigned short type, char *hwaddr); |
642 | extern struct net_device *dev_getfirstbyhwtype(unsigned short type); | 786 | extern struct net_device *dev_getfirstbyhwtype(struct net *net, unsigned short type); |
643 | extern struct net_device *__dev_getfirstbyhwtype(unsigned short type); | 787 | extern struct net_device *__dev_getfirstbyhwtype(struct net *net, unsigned short type); |
644 | extern void dev_add_pack(struct packet_type *pt); | 788 | extern void dev_add_pack(struct packet_type *pt); |
645 | extern void dev_remove_pack(struct packet_type *pt); | 789 | extern void dev_remove_pack(struct packet_type *pt); |
646 | extern void __dev_remove_pack(struct packet_type *pt); | 790 | extern void __dev_remove_pack(struct packet_type *pt); |
647 | 791 | ||
648 | extern struct net_device *dev_get_by_flags(unsigned short flags, | 792 | extern struct net_device *dev_get_by_flags(struct net *net, unsigned short flags, |
649 | unsigned short mask); | 793 | unsigned short mask); |
650 | extern struct net_device *dev_get_by_name(const char *name); | 794 | extern struct net_device *dev_get_by_name(struct net *net, const char *name); |
651 | extern struct net_device *__dev_get_by_name(const char *name); | 795 | extern struct net_device *__dev_get_by_name(struct net *net, const char *name); |
652 | extern int dev_alloc_name(struct net_device *dev, const char *name); | 796 | extern int dev_alloc_name(struct net_device *dev, const char *name); |
653 | extern int dev_open(struct net_device *dev); | 797 | extern int dev_open(struct net_device *dev); |
654 | extern int dev_close(struct net_device *dev); | 798 | extern int dev_close(struct net_device *dev); |
@@ -659,14 +803,35 @@ extern void free_netdev(struct net_device *dev); | |||
659 | extern void synchronize_net(void); | 803 | extern void synchronize_net(void); |
660 | extern int register_netdevice_notifier(struct notifier_block *nb); | 804 | extern int register_netdevice_notifier(struct notifier_block *nb); |
661 | extern int unregister_netdevice_notifier(struct notifier_block *nb); | 805 | extern int unregister_netdevice_notifier(struct notifier_block *nb); |
662 | extern int call_netdevice_notifiers(unsigned long val, void *v); | 806 | extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev); |
663 | extern struct net_device *dev_get_by_index(int ifindex); | 807 | extern struct net_device *dev_get_by_index(struct net *net, int ifindex); |
664 | extern struct net_device *__dev_get_by_index(int ifindex); | 808 | extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); |
665 | extern int dev_restart(struct net_device *dev); | 809 | extern int dev_restart(struct net_device *dev); |
666 | #ifdef CONFIG_NETPOLL_TRAP | 810 | #ifdef CONFIG_NETPOLL_TRAP |
667 | extern int netpoll_trap(void); | 811 | extern int netpoll_trap(void); |
668 | #endif | 812 | #endif |
669 | 813 | ||
814 | static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev, | ||
815 | unsigned short type, | ||
816 | const void *daddr, const void *saddr, | ||
817 | unsigned len) | ||
818 | { | ||
819 | if (!dev->header_ops) | ||
820 | return 0; | ||
821 | |||
822 | return dev->header_ops->create(skb, dev, type, daddr, saddr, len); | ||
823 | } | ||
824 | |||
825 | static inline int dev_parse_header(const struct sk_buff *skb, | ||
826 | unsigned char *haddr) | ||
827 | { | ||
828 | const struct net_device *dev = skb->dev; | ||
829 | |||
830 | if (!dev->header_ops->parse) | ||
831 | return 0; | ||
832 | return dev->header_ops->parse(skb, haddr); | ||
833 | } | ||
834 | |||
670 | typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len); | 835 | typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len); |
671 | extern int register_gifconf(unsigned int family, gifconf_func_t * gifconf); | 836 | extern int register_gifconf(unsigned int family, gifconf_func_t * gifconf); |
672 | static inline int unregister_gifconf(unsigned int family) | 837 | static inline int unregister_gifconf(unsigned int family) |
@@ -678,7 +843,6 @@ static inline int unregister_gifconf(unsigned int family) | |||
678 | * Incoming packets are placed on per-cpu queues so that | 843 | * Incoming packets are placed on per-cpu queues so that |
679 | * no locking is needed. | 844 | * no locking is needed. |
680 | */ | 845 | */ |
681 | |||
682 | struct softnet_data | 846 | struct softnet_data |
683 | { | 847 | { |
684 | struct net_device *output_queue; | 848 | struct net_device *output_queue; |
@@ -686,7 +850,7 @@ struct softnet_data | |||
686 | struct list_head poll_list; | 850 | struct list_head poll_list; |
687 | struct sk_buff *completion_queue; | 851 | struct sk_buff *completion_queue; |
688 | 852 | ||
689 | struct net_device backlog_dev; /* Sorry. 8) */ | 853 | struct napi_struct backlog; |
690 | #ifdef CONFIG_NET_DMA | 854 | #ifdef CONFIG_NET_DMA |
691 | struct dma_chan *net_dma; | 855 | struct dma_chan *net_dma; |
692 | #endif | 856 | #endif |
@@ -704,11 +868,24 @@ static inline void netif_schedule(struct net_device *dev) | |||
704 | __netif_schedule(dev); | 868 | __netif_schedule(dev); |
705 | } | 869 | } |
706 | 870 | ||
871 | /** | ||
872 | * netif_start_queue - allow transmit | ||
873 | * @dev: network device | ||
874 | * | ||
875 | * Allow upper layers to call the device hard_start_xmit routine. | ||
876 | */ | ||
707 | static inline void netif_start_queue(struct net_device *dev) | 877 | static inline void netif_start_queue(struct net_device *dev) |
708 | { | 878 | { |
709 | clear_bit(__LINK_STATE_XOFF, &dev->state); | 879 | clear_bit(__LINK_STATE_XOFF, &dev->state); |
710 | } | 880 | } |
711 | 881 | ||
882 | /** | ||
883 | * netif_wake_queue - restart transmit | ||
884 | * @dev: network device | ||
885 | * | ||
886 | * Allow upper layers to call the device hard_start_xmit routine. | ||
887 | * Used for flow control when transmit resources are available. | ||
888 | */ | ||
712 | static inline void netif_wake_queue(struct net_device *dev) | 889 | static inline void netif_wake_queue(struct net_device *dev) |
713 | { | 890 | { |
714 | #ifdef CONFIG_NETPOLL_TRAP | 891 | #ifdef CONFIG_NETPOLL_TRAP |
@@ -721,16 +898,35 @@ static inline void netif_wake_queue(struct net_device *dev) | |||
721 | __netif_schedule(dev); | 898 | __netif_schedule(dev); |
722 | } | 899 | } |
723 | 900 | ||
901 | /** | ||
902 | * netif_stop_queue - stop transmitted packets | ||
903 | * @dev: network device | ||
904 | * | ||
905 | * Stop upper layers calling the device hard_start_xmit routine. | ||
906 | * Used for flow control when transmit resources are unavailable. | ||
907 | */ | ||
724 | static inline void netif_stop_queue(struct net_device *dev) | 908 | static inline void netif_stop_queue(struct net_device *dev) |
725 | { | 909 | { |
726 | set_bit(__LINK_STATE_XOFF, &dev->state); | 910 | set_bit(__LINK_STATE_XOFF, &dev->state); |
727 | } | 911 | } |
728 | 912 | ||
913 | /** | ||
914 | * netif_queue_stopped - test if transmit queue is flowblocked | ||
915 | * @dev: network device | ||
916 | * | ||
917 | * Test if transmit queue on device is currently unable to send. | ||
918 | */ | ||
729 | static inline int netif_queue_stopped(const struct net_device *dev) | 919 | static inline int netif_queue_stopped(const struct net_device *dev) |
730 | { | 920 | { |
731 | return test_bit(__LINK_STATE_XOFF, &dev->state); | 921 | return test_bit(__LINK_STATE_XOFF, &dev->state); |
732 | } | 922 | } |
733 | 923 | ||
924 | /** | ||
925 | * netif_running - test if up | ||
926 | * @dev: network device | ||
927 | * | ||
928 | * Test if the device has been brought up. | ||
929 | */ | ||
734 | static inline int netif_running(const struct net_device *dev) | 930 | static inline int netif_running(const struct net_device *dev) |
735 | { | 931 | { |
736 | return test_bit(__LINK_STATE_START, &dev->state); | 932 | return test_bit(__LINK_STATE_START, &dev->state); |
@@ -742,6 +938,14 @@ static inline int netif_running(const struct net_device *dev) | |||
742 | * done at the overall netdevice level. | 938 | * done at the overall netdevice level. |
743 | * Also test the device if we're multiqueue. | 939 | * Also test the device if we're multiqueue. |
744 | */ | 940 | */ |
941 | |||
942 | /** | ||
943 | * netif_start_subqueue - allow sending packets on subqueue | ||
944 | * @dev: network device | ||
945 | * @queue_index: sub queue index | ||
946 | * | ||
947 | * Start individual transmit queue of a device with multiple transmit queues. | ||
948 | */ | ||
745 | static inline void netif_start_subqueue(struct net_device *dev, u16 queue_index) | 949 | static inline void netif_start_subqueue(struct net_device *dev, u16 queue_index) |
746 | { | 950 | { |
747 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | 951 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE |
@@ -749,6 +953,13 @@ static inline void netif_start_subqueue(struct net_device *dev, u16 queue_index) | |||
749 | #endif | 953 | #endif |
750 | } | 954 | } |
751 | 955 | ||
956 | /** | ||
957 | * netif_stop_subqueue - stop sending packets on subqueue | ||
958 | * @dev: network device | ||
959 | * @queue_index: sub queue index | ||
960 | * | ||
961 | * Stop individual transmit queue of a device with multiple transmit queues. | ||
962 | */ | ||
752 | static inline void netif_stop_subqueue(struct net_device *dev, u16 queue_index) | 963 | static inline void netif_stop_subqueue(struct net_device *dev, u16 queue_index) |
753 | { | 964 | { |
754 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | 965 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE |
@@ -760,6 +971,13 @@ static inline void netif_stop_subqueue(struct net_device *dev, u16 queue_index) | |||
760 | #endif | 971 | #endif |
761 | } | 972 | } |
762 | 973 | ||
974 | /** | ||
975 | * netif_subqueue_stopped - test status of subqueue | ||
976 | * @dev: network device | ||
977 | * @queue_index: sub queue index | ||
978 | * | ||
979 | * Check individual transmit queue of a device with multiple transmit queues. | ||
980 | */ | ||
763 | static inline int netif_subqueue_stopped(const struct net_device *dev, | 981 | static inline int netif_subqueue_stopped(const struct net_device *dev, |
764 | u16 queue_index) | 982 | u16 queue_index) |
765 | { | 983 | { |
@@ -771,6 +989,14 @@ static inline int netif_subqueue_stopped(const struct net_device *dev, | |||
771 | #endif | 989 | #endif |
772 | } | 990 | } |
773 | 991 | ||
992 | |||
993 | /** | ||
994 | * netif_wake_subqueue - allow sending packets on subqueue | ||
995 | * @dev: network device | ||
996 | * @queue_index: sub queue index | ||
997 | * | ||
998 | * Resume individual transmit queue of a device with multiple transmit queues. | ||
999 | */ | ||
774 | static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index) | 1000 | static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index) |
775 | { | 1001 | { |
776 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | 1002 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE |
@@ -784,6 +1010,13 @@ static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index) | |||
784 | #endif | 1010 | #endif |
785 | } | 1011 | } |
786 | 1012 | ||
1013 | /** | ||
1014 | * netif_is_multiqueue - test if device has multiple transmit queues | ||
1015 | * @dev: network device | ||
1016 | * | ||
1017 | * Check if device has multiple transmit queues | ||
1018 | * Always falls if NETDEVICE_MULTIQUEUE is not configured | ||
1019 | */ | ||
787 | static inline int netif_is_multiqueue(const struct net_device *dev) | 1020 | static inline int netif_is_multiqueue(const struct net_device *dev) |
788 | { | 1021 | { |
789 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE | 1022 | #ifdef CONFIG_NETDEVICES_MULTIQUEUE |
@@ -796,20 +1029,7 @@ static inline int netif_is_multiqueue(const struct net_device *dev) | |||
796 | /* Use this variant when it is known for sure that it | 1029 | /* Use this variant when it is known for sure that it |
797 | * is executing from interrupt context. | 1030 | * is executing from interrupt context. |
798 | */ | 1031 | */ |
799 | static inline void dev_kfree_skb_irq(struct sk_buff *skb) | 1032 | extern void dev_kfree_skb_irq(struct sk_buff *skb); |
800 | { | ||
801 | if (atomic_dec_and_test(&skb->users)) { | ||
802 | struct softnet_data *sd; | ||
803 | unsigned long flags; | ||
804 | |||
805 | local_irq_save(flags); | ||
806 | sd = &__get_cpu_var(softnet_data); | ||
807 | skb->next = sd->completion_queue; | ||
808 | sd->completion_queue = skb; | ||
809 | raise_softirq_irqoff(NET_TX_SOFTIRQ); | ||
810 | local_irq_restore(flags); | ||
811 | } | ||
812 | } | ||
813 | 1033 | ||
814 | /* Use this variant in places where it could be invoked | 1034 | /* Use this variant in places where it could be invoked |
815 | * either from interrupt or non-interrupt context. | 1035 | * either from interrupt or non-interrupt context. |
@@ -822,29 +1042,41 @@ extern int netif_rx_ni(struct sk_buff *skb); | |||
822 | #define HAVE_NETIF_RECEIVE_SKB 1 | 1042 | #define HAVE_NETIF_RECEIVE_SKB 1 |
823 | extern int netif_receive_skb(struct sk_buff *skb); | 1043 | extern int netif_receive_skb(struct sk_buff *skb); |
824 | extern int dev_valid_name(const char *name); | 1044 | extern int dev_valid_name(const char *name); |
825 | extern int dev_ioctl(unsigned int cmd, void __user *); | 1045 | extern int dev_ioctl(struct net *net, unsigned int cmd, void __user *); |
826 | extern int dev_ethtool(struct ifreq *); | 1046 | extern int dev_ethtool(struct net *net, struct ifreq *); |
827 | extern unsigned dev_get_flags(const struct net_device *); | 1047 | extern unsigned dev_get_flags(const struct net_device *); |
828 | extern int dev_change_flags(struct net_device *, unsigned); | 1048 | extern int dev_change_flags(struct net_device *, unsigned); |
829 | extern int dev_change_name(struct net_device *, char *); | 1049 | extern int dev_change_name(struct net_device *, char *); |
1050 | extern int dev_change_net_namespace(struct net_device *, | ||
1051 | struct net *, const char *); | ||
830 | extern int dev_set_mtu(struct net_device *, int); | 1052 | extern int dev_set_mtu(struct net_device *, int); |
831 | extern int dev_set_mac_address(struct net_device *, | 1053 | extern int dev_set_mac_address(struct net_device *, |
832 | struct sockaddr *); | 1054 | struct sockaddr *); |
833 | extern int dev_hard_start_xmit(struct sk_buff *skb, | 1055 | extern int dev_hard_start_xmit(struct sk_buff *skb, |
834 | struct net_device *dev); | 1056 | struct net_device *dev); |
835 | 1057 | ||
836 | extern void dev_init(void); | ||
837 | |||
838 | extern int netdev_budget; | 1058 | extern int netdev_budget; |
839 | 1059 | ||
840 | /* Called by rtnetlink.c:rtnl_unlock() */ | 1060 | /* Called by rtnetlink.c:rtnl_unlock() */ |
841 | extern void netdev_run_todo(void); | 1061 | extern void netdev_run_todo(void); |
842 | 1062 | ||
1063 | /** | ||
1064 | * dev_put - release reference to device | ||
1065 | * @dev: network device | ||
1066 | * | ||
1067 | * Release reference to device to allow it to be freed. | ||
1068 | */ | ||
843 | static inline void dev_put(struct net_device *dev) | 1069 | static inline void dev_put(struct net_device *dev) |
844 | { | 1070 | { |
845 | atomic_dec(&dev->refcnt); | 1071 | atomic_dec(&dev->refcnt); |
846 | } | 1072 | } |
847 | 1073 | ||
1074 | /** | ||
1075 | * dev_hold - get reference to device | ||
1076 | * @dev: network device | ||
1077 | * | ||
1078 | * Hold reference to device to keep it from being freed. | ||
1079 | */ | ||
848 | static inline void dev_hold(struct net_device *dev) | 1080 | static inline void dev_hold(struct net_device *dev) |
849 | { | 1081 | { |
850 | atomic_inc(&dev->refcnt); | 1082 | atomic_inc(&dev->refcnt); |
@@ -861,6 +1093,12 @@ static inline void dev_hold(struct net_device *dev) | |||
861 | 1093 | ||
862 | extern void linkwatch_fire_event(struct net_device *dev); | 1094 | extern void linkwatch_fire_event(struct net_device *dev); |
863 | 1095 | ||
1096 | /** | ||
1097 | * netif_carrier_ok - test if carrier present | ||
1098 | * @dev: network device | ||
1099 | * | ||
1100 | * Check if carrier is present on device | ||
1101 | */ | ||
864 | static inline int netif_carrier_ok(const struct net_device *dev) | 1102 | static inline int netif_carrier_ok(const struct net_device *dev) |
865 | { | 1103 | { |
866 | return !test_bit(__LINK_STATE_NOCARRIER, &dev->state); | 1104 | return !test_bit(__LINK_STATE_NOCARRIER, &dev->state); |
@@ -872,30 +1110,66 @@ extern void netif_carrier_on(struct net_device *dev); | |||
872 | 1110 | ||
873 | extern void netif_carrier_off(struct net_device *dev); | 1111 | extern void netif_carrier_off(struct net_device *dev); |
874 | 1112 | ||
1113 | /** | ||
1114 | * netif_dormant_on - mark device as dormant. | ||
1115 | * @dev: network device | ||
1116 | * | ||
1117 | * Mark device as dormant (as per RFC2863). | ||
1118 | * | ||
1119 | * The dormant state indicates that the relevant interface is not | ||
1120 | * actually in a condition to pass packets (i.e., it is not 'up') but is | ||
1121 | * in a "pending" state, waiting for some external event. For "on- | ||
1122 | * demand" interfaces, this new state identifies the situation where the | ||
1123 | * interface is waiting for events to place it in the up state. | ||
1124 | * | ||
1125 | */ | ||
875 | static inline void netif_dormant_on(struct net_device *dev) | 1126 | static inline void netif_dormant_on(struct net_device *dev) |
876 | { | 1127 | { |
877 | if (!test_and_set_bit(__LINK_STATE_DORMANT, &dev->state)) | 1128 | if (!test_and_set_bit(__LINK_STATE_DORMANT, &dev->state)) |
878 | linkwatch_fire_event(dev); | 1129 | linkwatch_fire_event(dev); |
879 | } | 1130 | } |
880 | 1131 | ||
1132 | /** | ||
1133 | * netif_dormant_off - set device as not dormant. | ||
1134 | * @dev: network device | ||
1135 | * | ||
1136 | * Device is not in dormant state. | ||
1137 | */ | ||
881 | static inline void netif_dormant_off(struct net_device *dev) | 1138 | static inline void netif_dormant_off(struct net_device *dev) |
882 | { | 1139 | { |
883 | if (test_and_clear_bit(__LINK_STATE_DORMANT, &dev->state)) | 1140 | if (test_and_clear_bit(__LINK_STATE_DORMANT, &dev->state)) |
884 | linkwatch_fire_event(dev); | 1141 | linkwatch_fire_event(dev); |
885 | } | 1142 | } |
886 | 1143 | ||
1144 | /** | ||
1145 | * netif_dormant - test if carrier present | ||
1146 | * @dev: network device | ||
1147 | * | ||
1148 | * Check if carrier is present on device | ||
1149 | */ | ||
887 | static inline int netif_dormant(const struct net_device *dev) | 1150 | static inline int netif_dormant(const struct net_device *dev) |
888 | { | 1151 | { |
889 | return test_bit(__LINK_STATE_DORMANT, &dev->state); | 1152 | return test_bit(__LINK_STATE_DORMANT, &dev->state); |
890 | } | 1153 | } |
891 | 1154 | ||
892 | 1155 | ||
1156 | /** | ||
1157 | * netif_oper_up - test if device is operational | ||
1158 | * @dev: network device | ||
1159 | * | ||
1160 | * Check if carrier is operational | ||
1161 | */ | ||
893 | static inline int netif_oper_up(const struct net_device *dev) { | 1162 | static inline int netif_oper_up(const struct net_device *dev) { |
894 | return (dev->operstate == IF_OPER_UP || | 1163 | return (dev->operstate == IF_OPER_UP || |
895 | dev->operstate == IF_OPER_UNKNOWN /* backward compat */); | 1164 | dev->operstate == IF_OPER_UNKNOWN /* backward compat */); |
896 | } | 1165 | } |
897 | 1166 | ||
898 | /* Hot-plugging. */ | 1167 | /** |
1168 | * netif_device_present - is device available or removed | ||
1169 | * @dev: network device | ||
1170 | * | ||
1171 | * Check if device has not been removed from system. | ||
1172 | */ | ||
899 | static inline int netif_device_present(struct net_device *dev) | 1173 | static inline int netif_device_present(struct net_device *dev) |
900 | { | 1174 | { |
901 | return test_bit(__LINK_STATE_PRESENT, &dev->state); | 1175 | return test_bit(__LINK_STATE_PRESENT, &dev->state); |
@@ -955,46 +1229,38 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) | |||
955 | return (1 << debug_value) - 1; | 1229 | return (1 << debug_value) - 1; |
956 | } | 1230 | } |
957 | 1231 | ||
958 | /* Test if receive needs to be scheduled */ | ||
959 | static inline int __netif_rx_schedule_prep(struct net_device *dev) | ||
960 | { | ||
961 | return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state); | ||
962 | } | ||
963 | |||
964 | /* Test if receive needs to be scheduled but only if up */ | 1232 | /* Test if receive needs to be scheduled but only if up */ |
965 | static inline int netif_rx_schedule_prep(struct net_device *dev) | 1233 | static inline int netif_rx_schedule_prep(struct net_device *dev, |
1234 | struct napi_struct *napi) | ||
966 | { | 1235 | { |
967 | return netif_running(dev) && __netif_rx_schedule_prep(dev); | 1236 | return netif_running(dev) && napi_schedule_prep(napi); |
968 | } | 1237 | } |
969 | 1238 | ||
970 | /* Add interface to tail of rx poll list. This assumes that _prep has | 1239 | /* Add interface to tail of rx poll list. This assumes that _prep has |
971 | * already been called and returned 1. | 1240 | * already been called and returned 1. |
972 | */ | 1241 | */ |
973 | 1242 | static inline void __netif_rx_schedule(struct net_device *dev, | |
974 | extern void __netif_rx_schedule(struct net_device *dev); | 1243 | struct napi_struct *napi) |
1244 | { | ||
1245 | dev_hold(dev); | ||
1246 | __napi_schedule(napi); | ||
1247 | } | ||
975 | 1248 | ||
976 | /* Try to reschedule poll. Called by irq handler. */ | 1249 | /* Try to reschedule poll. Called by irq handler. */ |
977 | 1250 | ||
978 | static inline void netif_rx_schedule(struct net_device *dev) | 1251 | static inline void netif_rx_schedule(struct net_device *dev, |
1252 | struct napi_struct *napi) | ||
979 | { | 1253 | { |
980 | if (netif_rx_schedule_prep(dev)) | 1254 | if (netif_rx_schedule_prep(dev, napi)) |
981 | __netif_rx_schedule(dev); | 1255 | __netif_rx_schedule(dev, napi); |
982 | } | 1256 | } |
983 | 1257 | ||
984 | /* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). | 1258 | /* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). */ |
985 | * Do not inline this? | 1259 | static inline int netif_rx_reschedule(struct net_device *dev, |
986 | */ | 1260 | struct napi_struct *napi) |
987 | static inline int netif_rx_reschedule(struct net_device *dev, int undo) | ||
988 | { | 1261 | { |
989 | if (netif_rx_schedule_prep(dev)) { | 1262 | if (napi_schedule_prep(napi)) { |
990 | unsigned long flags; | 1263 | __netif_rx_schedule(dev, napi); |
991 | |||
992 | dev->quota += undo; | ||
993 | |||
994 | local_irq_save(flags); | ||
995 | list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list); | ||
996 | __raise_softirq_irqoff(NET_RX_SOFTIRQ); | ||
997 | local_irq_restore(flags); | ||
998 | return 1; | 1264 | return 1; |
999 | } | 1265 | } |
1000 | return 0; | 1266 | return 0; |
@@ -1003,12 +1269,11 @@ static inline int netif_rx_reschedule(struct net_device *dev, int undo) | |||
1003 | /* same as netif_rx_complete, except that local_irq_save(flags) | 1269 | /* same as netif_rx_complete, except that local_irq_save(flags) |
1004 | * has already been issued | 1270 | * has already been issued |
1005 | */ | 1271 | */ |
1006 | static inline void __netif_rx_complete(struct net_device *dev) | 1272 | static inline void __netif_rx_complete(struct net_device *dev, |
1273 | struct napi_struct *napi) | ||
1007 | { | 1274 | { |
1008 | BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, &dev->state)); | 1275 | __napi_complete(napi); |
1009 | list_del(&dev->poll_list); | 1276 | dev_put(dev); |
1010 | smp_mb__before_clear_bit(); | ||
1011 | clear_bit(__LINK_STATE_RX_SCHED, &dev->state); | ||
1012 | } | 1277 | } |
1013 | 1278 | ||
1014 | /* Remove interface from poll list: it must be in the poll list | 1279 | /* Remove interface from poll list: it must be in the poll list |
@@ -1016,32 +1281,31 @@ static inline void __netif_rx_complete(struct net_device *dev) | |||
1016 | * it completes the work. The device cannot be out of poll list at this | 1281 | * it completes the work. The device cannot be out of poll list at this |
1017 | * moment, it is BUG(). | 1282 | * moment, it is BUG(). |
1018 | */ | 1283 | */ |
1019 | static inline void netif_rx_complete(struct net_device *dev) | 1284 | static inline void netif_rx_complete(struct net_device *dev, |
1285 | struct napi_struct *napi) | ||
1020 | { | 1286 | { |
1021 | unsigned long flags; | 1287 | unsigned long flags; |
1022 | 1288 | ||
1023 | local_irq_save(flags); | 1289 | local_irq_save(flags); |
1024 | __netif_rx_complete(dev); | 1290 | __netif_rx_complete(dev, napi); |
1025 | local_irq_restore(flags); | 1291 | local_irq_restore(flags); |
1026 | } | 1292 | } |
1027 | 1293 | ||
1028 | static inline void netif_poll_disable(struct net_device *dev) | 1294 | /** |
1029 | { | 1295 | * netif_tx_lock - grab network device transmit lock |
1030 | while (test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state)) | 1296 | * @dev: network device |
1031 | /* No hurry. */ | 1297 | * |
1032 | schedule_timeout_interruptible(1); | 1298 | * Get network device transmit lock |
1033 | } | 1299 | */ |
1034 | 1300 | static inline void __netif_tx_lock(struct net_device *dev, int cpu) | |
1035 | static inline void netif_poll_enable(struct net_device *dev) | ||
1036 | { | 1301 | { |
1037 | smp_mb__before_clear_bit(); | 1302 | spin_lock(&dev->_xmit_lock); |
1038 | clear_bit(__LINK_STATE_RX_SCHED, &dev->state); | 1303 | dev->xmit_lock_owner = cpu; |
1039 | } | 1304 | } |
1040 | 1305 | ||
1041 | static inline void netif_tx_lock(struct net_device *dev) | 1306 | static inline void netif_tx_lock(struct net_device *dev) |
1042 | { | 1307 | { |
1043 | spin_lock(&dev->_xmit_lock); | 1308 | __netif_tx_lock(dev, smp_processor_id()); |
1044 | dev->xmit_lock_owner = smp_processor_id(); | ||
1045 | } | 1309 | } |
1046 | 1310 | ||
1047 | static inline void netif_tx_lock_bh(struct net_device *dev) | 1311 | static inline void netif_tx_lock_bh(struct net_device *dev) |
@@ -1070,6 +1334,18 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) | |||
1070 | spin_unlock_bh(&dev->_xmit_lock); | 1334 | spin_unlock_bh(&dev->_xmit_lock); |
1071 | } | 1335 | } |
1072 | 1336 | ||
1337 | #define HARD_TX_LOCK(dev, cpu) { \ | ||
1338 | if ((dev->features & NETIF_F_LLTX) == 0) { \ | ||
1339 | __netif_tx_lock(dev, cpu); \ | ||
1340 | } \ | ||
1341 | } | ||
1342 | |||
1343 | #define HARD_TX_UNLOCK(dev) { \ | ||
1344 | if ((dev->features & NETIF_F_LLTX) == 0) { \ | ||
1345 | netif_tx_unlock(dev); \ | ||
1346 | } \ | ||
1347 | } | ||
1348 | |||
1073 | static inline void netif_tx_disable(struct net_device *dev) | 1349 | static inline void netif_tx_disable(struct net_device *dev) |
1074 | { | 1350 | { |
1075 | netif_tx_lock_bh(dev); | 1351 | netif_tx_lock_bh(dev); |
@@ -1105,7 +1381,7 @@ extern void dev_set_allmulti(struct net_device *dev, int inc); | |||
1105 | extern void netdev_state_change(struct net_device *dev); | 1381 | extern void netdev_state_change(struct net_device *dev); |
1106 | extern void netdev_features_change(struct net_device *dev); | 1382 | extern void netdev_features_change(struct net_device *dev); |
1107 | /* Load a device via the kmod */ | 1383 | /* Load a device via the kmod */ |
1108 | extern void dev_load(const char *name); | 1384 | extern void dev_load(struct net *net, const char *name); |
1109 | extern void dev_mcast_init(void); | 1385 | extern void dev_mcast_init(void); |
1110 | extern int netdev_max_backlog; | 1386 | extern int netdev_max_backlog; |
1111 | extern int weight_p; | 1387 | extern int weight_p; |
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild index ab57cb7d7c61..f2eaea2234ec 100644 --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild | |||
@@ -40,5 +40,6 @@ unifdef-y += nf_conntrack_common.h | |||
40 | unifdef-y += nf_conntrack_ftp.h | 40 | unifdef-y += nf_conntrack_ftp.h |
41 | unifdef-y += nf_conntrack_tcp.h | 41 | unifdef-y += nf_conntrack_tcp.h |
42 | unifdef-y += nfnetlink.h | 42 | unifdef-y += nfnetlink.h |
43 | unifdef-y += nfnetlink_compat.h | ||
43 | unifdef-y += x_tables.h | 44 | unifdef-y += x_tables.h |
44 | unifdef-y += xt_physdev.h | 45 | unifdef-y += xt_physdev.h |
diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h index 0f9311df1559..0d8424f76899 100644 --- a/include/linux/netfilter/nfnetlink.h +++ b/include/linux/netfilter/nfnetlink.h | |||
@@ -1,16 +1,7 @@ | |||
1 | #ifndef _NFNETLINK_H | 1 | #ifndef _NFNETLINK_H |
2 | #define _NFNETLINK_H | 2 | #define _NFNETLINK_H |
3 | #include <linux/types.h> | 3 | #include <linux/types.h> |
4 | 4 | #include <linux/netfilter/nfnetlink_compat.h> | |
5 | #ifndef __KERNEL__ | ||
6 | /* nfnetlink groups: Up to 32 maximum - backwards compatibility for userspace */ | ||
7 | #define NF_NETLINK_CONNTRACK_NEW 0x00000001 | ||
8 | #define NF_NETLINK_CONNTRACK_UPDATE 0x00000002 | ||
9 | #define NF_NETLINK_CONNTRACK_DESTROY 0x00000004 | ||
10 | #define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008 | ||
11 | #define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010 | ||
12 | #define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020 | ||
13 | #endif | ||
14 | 5 | ||
15 | enum nfnetlink_groups { | 6 | enum nfnetlink_groups { |
16 | NFNLGRP_NONE, | 7 | NFNLGRP_NONE, |
@@ -31,48 +22,6 @@ enum nfnetlink_groups { | |||
31 | }; | 22 | }; |
32 | #define NFNLGRP_MAX (__NFNLGRP_MAX - 1) | 23 | #define NFNLGRP_MAX (__NFNLGRP_MAX - 1) |
33 | 24 | ||
34 | /* Generic structure for encapsulation optional netfilter information. | ||
35 | * It is reminiscent of sockaddr, but with sa_family replaced | ||
36 | * with attribute type. | ||
37 | * ! This should someday be put somewhere generic as now rtnetlink and | ||
38 | * ! nfnetlink use the same attributes methods. - J. Schulist. | ||
39 | */ | ||
40 | |||
41 | struct nfattr | ||
42 | { | ||
43 | u_int16_t nfa_len; | ||
44 | u_int16_t nfa_type; /* we use 15 bits for the type, and the highest | ||
45 | * bit to indicate whether the payload is nested */ | ||
46 | }; | ||
47 | |||
48 | /* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from | ||
49 | * rtnetlink.h, it's time to put this in a generic file */ | ||
50 | |||
51 | #define NFNL_NFA_NEST 0x8000 | ||
52 | #define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff) | ||
53 | |||
54 | #define NFA_ALIGNTO 4 | ||
55 | #define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) | ||
56 | #define NFA_OK(nfa,len) ((len) > 0 && (nfa)->nfa_len >= sizeof(struct nfattr) \ | ||
57 | && (nfa)->nfa_len <= (len)) | ||
58 | #define NFA_NEXT(nfa,attrlen) ((attrlen) -= NFA_ALIGN((nfa)->nfa_len), \ | ||
59 | (struct nfattr *)(((char *)(nfa)) + NFA_ALIGN((nfa)->nfa_len))) | ||
60 | #define NFA_LENGTH(len) (NFA_ALIGN(sizeof(struct nfattr)) + (len)) | ||
61 | #define NFA_SPACE(len) NFA_ALIGN(NFA_LENGTH(len)) | ||
62 | #define NFA_DATA(nfa) ((void *)(((char *)(nfa)) + NFA_LENGTH(0))) | ||
63 | #define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) | ||
64 | #define NFA_NEST(skb, type) \ | ||
65 | ({ struct nfattr *__start = (struct nfattr *)skb_tail_pointer(skb); \ | ||
66 | NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \ | ||
67 | __start; }) | ||
68 | #define NFA_NEST_END(skb, start) \ | ||
69 | ({ (start)->nfa_len = skb_tail_pointer(skb) - (unsigned char *)(start); \ | ||
70 | (skb)->len; }) | ||
71 | #define NFA_NEST_CANCEL(skb, start) \ | ||
72 | ({ if (start) \ | ||
73 | skb_trim(skb, (unsigned char *) (start) - (skb)->data); \ | ||
74 | -1; }) | ||
75 | |||
76 | /* General form of address family dependent message. | 25 | /* General form of address family dependent message. |
77 | */ | 26 | */ |
78 | struct nfgenmsg { | 27 | struct nfgenmsg { |
@@ -83,10 +32,6 @@ struct nfgenmsg { | |||
83 | 32 | ||
84 | #define NFNETLINK_V0 0 | 33 | #define NFNETLINK_V0 0 |
85 | 34 | ||
86 | #define NFM_NFA(n) ((struct nfattr *)(((char *)(n)) \ | ||
87 | + NLMSG_ALIGN(sizeof(struct nfgenmsg)))) | ||
88 | #define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg)) | ||
89 | |||
90 | /* netfilter netlink message types are split in two pieces: | 35 | /* netfilter netlink message types are split in two pieces: |
91 | * 8 bit subsystem, 8bit operation. | 36 | * 8 bit subsystem, 8bit operation. |
92 | */ | 37 | */ |
@@ -107,49 +52,26 @@ struct nfgenmsg { | |||
107 | 52 | ||
108 | #include <linux/netlink.h> | 53 | #include <linux/netlink.h> |
109 | #include <linux/capability.h> | 54 | #include <linux/capability.h> |
55 | #include <net/netlink.h> | ||
110 | 56 | ||
111 | struct nfnl_callback | 57 | struct nfnl_callback |
112 | { | 58 | { |
113 | int (*call)(struct sock *nl, struct sk_buff *skb, | 59 | int (*call)(struct sock *nl, struct sk_buff *skb, |
114 | struct nlmsghdr *nlh, struct nfattr *cda[]); | 60 | struct nlmsghdr *nlh, struct nlattr *cda[]); |
115 | u_int16_t attr_count; /* number of nfattr's */ | 61 | const struct nla_policy *policy; /* netlink attribute policy */ |
62 | const u_int16_t attr_count; /* number of nlattr's */ | ||
116 | }; | 63 | }; |
117 | 64 | ||
118 | struct nfnetlink_subsystem | 65 | struct nfnetlink_subsystem |
119 | { | 66 | { |
120 | const char *name; | 67 | const char *name; |
121 | __u8 subsys_id; /* nfnetlink subsystem ID */ | 68 | __u8 subsys_id; /* nfnetlink subsystem ID */ |
122 | __u8 cb_count; /* number of callbacks */ | 69 | __u8 cb_count; /* number of callbacks */ |
123 | struct nfnl_callback *cb; /* callback for individual types */ | 70 | const struct nfnl_callback *cb; /* callback for individual types */ |
124 | }; | 71 | }; |
125 | 72 | ||
126 | extern void __nfa_fill(struct sk_buff *skb, int attrtype, | 73 | extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n); |
127 | int attrlen, const void *data); | 74 | extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n); |
128 | #define NFA_PUT(skb, attrtype, attrlen, data) \ | ||
129 | ({ if (skb_tailroom(skb) < (int)NFA_SPACE(attrlen)) goto nfattr_failure; \ | ||
130 | __nfa_fill(skb, attrtype, attrlen, data); }) | ||
131 | |||
132 | extern int nfnetlink_subsys_register(struct nfnetlink_subsystem *n); | ||
133 | extern int nfnetlink_subsys_unregister(struct nfnetlink_subsystem *n); | ||
134 | |||
135 | extern void nfattr_parse(struct nfattr *tb[], int maxattr, | ||
136 | struct nfattr *nfa, int len); | ||
137 | |||
138 | #define nfattr_parse_nested(tb, max, nfa) \ | ||
139 | nfattr_parse((tb), (max), NFA_DATA((nfa)), NFA_PAYLOAD((nfa))) | ||
140 | |||
141 | #define nfattr_bad_size(tb, max, cta_min) \ | ||
142 | ({ int __i, __res = 0; \ | ||
143 | for (__i=0; __i<max; __i++) { \ | ||
144 | if (!cta_min[__i]) \ | ||
145 | continue; \ | ||
146 | if (tb[__i] && NFA_PAYLOAD(tb[__i]) < cta_min[__i]){ \ | ||
147 | __res = 1; \ | ||
148 | break; \ | ||
149 | } \ | ||
150 | } \ | ||
151 | __res; \ | ||
152 | }) | ||
153 | 75 | ||
154 | extern int nfnetlink_has_listeners(unsigned int group); | 76 | extern int nfnetlink_has_listeners(unsigned int group); |
155 | extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, | 77 | extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, |
diff --git a/include/linux/netfilter/nfnetlink_compat.h b/include/linux/netfilter/nfnetlink_compat.h new file mode 100644 index 000000000000..02a42d875cf7 --- /dev/null +++ b/include/linux/netfilter/nfnetlink_compat.h | |||
@@ -0,0 +1,61 @@ | |||
1 | #ifndef _NFNETLINK_COMPAT_H | ||
2 | #define _NFNETLINK_COMPAT_H | ||
3 | #ifndef __KERNEL | ||
4 | /* Old nfnetlink macros for userspace */ | ||
5 | |||
6 | /* nfnetlink groups: Up to 32 maximum */ | ||
7 | #define NF_NETLINK_CONNTRACK_NEW 0x00000001 | ||
8 | #define NF_NETLINK_CONNTRACK_UPDATE 0x00000002 | ||
9 | #define NF_NETLINK_CONNTRACK_DESTROY 0x00000004 | ||
10 | #define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008 | ||
11 | #define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010 | ||
12 | #define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020 | ||
13 | |||
14 | /* Generic structure for encapsulation optional netfilter information. | ||
15 | * It is reminiscent of sockaddr, but with sa_family replaced | ||
16 | * with attribute type. | ||
17 | * ! This should someday be put somewhere generic as now rtnetlink and | ||
18 | * ! nfnetlink use the same attributes methods. - J. Schulist. | ||
19 | */ | ||
20 | |||
21 | struct nfattr | ||
22 | { | ||
23 | u_int16_t nfa_len; | ||
24 | u_int16_t nfa_type; /* we use 15 bits for the type, and the highest | ||
25 | * bit to indicate whether the payload is nested */ | ||
26 | }; | ||
27 | |||
28 | /* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from | ||
29 | * rtnetlink.h, it's time to put this in a generic file */ | ||
30 | |||
31 | #define NFNL_NFA_NEST 0x8000 | ||
32 | #define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff) | ||
33 | |||
34 | #define NFA_ALIGNTO 4 | ||
35 | #define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) | ||
36 | #define NFA_OK(nfa,len) ((len) > 0 && (nfa)->nfa_len >= sizeof(struct nfattr) \ | ||
37 | && (nfa)->nfa_len <= (len)) | ||
38 | #define NFA_NEXT(nfa,attrlen) ((attrlen) -= NFA_ALIGN((nfa)->nfa_len), \ | ||
39 | (struct nfattr *)(((char *)(nfa)) + NFA_ALIGN((nfa)->nfa_len))) | ||
40 | #define NFA_LENGTH(len) (NFA_ALIGN(sizeof(struct nfattr)) + (len)) | ||
41 | #define NFA_SPACE(len) NFA_ALIGN(NFA_LENGTH(len)) | ||
42 | #define NFA_DATA(nfa) ((void *)(((char *)(nfa)) + NFA_LENGTH(0))) | ||
43 | #define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) | ||
44 | #define NFA_NEST(skb, type) \ | ||
45 | ({ struct nfattr *__start = (struct nfattr *)skb_tail_pointer(skb); \ | ||
46 | NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \ | ||
47 | __start; }) | ||
48 | #define NFA_NEST_END(skb, start) \ | ||
49 | ({ (start)->nfa_len = skb_tail_pointer(skb) - (unsigned char *)(start); \ | ||
50 | (skb)->len; }) | ||
51 | #define NFA_NEST_CANCEL(skb, start) \ | ||
52 | ({ if (start) \ | ||
53 | skb_trim(skb, (unsigned char *) (start) - (skb)->data); \ | ||
54 | -1; }) | ||
55 | |||
56 | #define NFM_NFA(n) ((struct nfattr *)(((char *)(n)) \ | ||
57 | + NLMSG_ALIGN(sizeof(struct nfgenmsg)))) | ||
58 | #define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg)) | ||
59 | |||
60 | #endif /* ! __KERNEL__ */ | ||
61 | #endif /* _NFNETLINK_COMPAT_H */ | ||
diff --git a/include/linux/netfilter/nfnetlink_conntrack.h b/include/linux/netfilter/nfnetlink_conntrack.h index d7c35039721e..4affa3fe78e0 100644 --- a/include/linux/netfilter/nfnetlink_conntrack.h +++ b/include/linux/netfilter/nfnetlink_conntrack.h | |||
@@ -36,6 +36,7 @@ enum ctattr_type { | |||
36 | CTA_USE, | 36 | CTA_USE, |
37 | CTA_ID, | 37 | CTA_ID, |
38 | CTA_NAT_DST, | 38 | CTA_NAT_DST, |
39 | CTA_TUPLE_MASTER, | ||
39 | __CTA_MAX | 40 | __CTA_MAX |
40 | }; | 41 | }; |
41 | #define CTA_MAX (__CTA_MAX - 1) | 42 | #define CTA_MAX (__CTA_MAX - 1) |
diff --git a/include/linux/netfilter/xt_time.h b/include/linux/netfilter/xt_time.h new file mode 100644 index 000000000000..14b6df412c9f --- /dev/null +++ b/include/linux/netfilter/xt_time.h | |||
@@ -0,0 +1,25 @@ | |||
1 | #ifndef _XT_TIME_H | ||
2 | #define _XT_TIME_H 1 | ||
3 | |||
4 | struct xt_time_info { | ||
5 | u_int32_t date_start; | ||
6 | u_int32_t date_stop; | ||
7 | u_int32_t daytime_start; | ||
8 | u_int32_t daytime_stop; | ||
9 | u_int32_t monthdays_match; | ||
10 | u_int8_t weekdays_match; | ||
11 | u_int8_t flags; | ||
12 | }; | ||
13 | |||
14 | enum { | ||
15 | /* Match against local time (instead of UTC) */ | ||
16 | XT_TIME_LOCAL_TZ = 1 << 0, | ||
17 | |||
18 | /* Shortcuts */ | ||
19 | XT_TIME_ALL_MONTHDAYS = 0xFFFFFFFE, | ||
20 | XT_TIME_ALL_WEEKDAYS = 0xFE, | ||
21 | XT_TIME_MIN_DAYTIME = 0, | ||
22 | XT_TIME_MAX_DAYTIME = 24 * 60 * 60 - 1, | ||
23 | }; | ||
24 | |||
25 | #endif /* _XT_TIME_H */ | ||
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 83d8239f0cce..7c1f3b1d2ee5 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | #define MAX_LINKS 32 | 28 | #define MAX_LINKS 32 |
29 | 29 | ||
30 | struct net; | ||
31 | |||
30 | struct sockaddr_nl | 32 | struct sockaddr_nl |
31 | { | 33 | { |
32 | sa_family_t nl_family; /* AF_NETLINK */ | 34 | sa_family_t nl_family; /* AF_NETLINK */ |
@@ -129,6 +131,20 @@ struct nlattr | |||
129 | __u16 nla_type; | 131 | __u16 nla_type; |
130 | }; | 132 | }; |
131 | 133 | ||
134 | /* | ||
135 | * nla_type (16 bits) | ||
136 | * +---+---+-------------------------------+ | ||
137 | * | N | O | Attribute Type | | ||
138 | * +---+---+-------------------------------+ | ||
139 | * N := Carries nested attributes | ||
140 | * O := Payload stored in network byte order | ||
141 | * | ||
142 | * Note: The N and O flag are mutually exclusive. | ||
143 | */ | ||
144 | #define NLA_F_NESTED (1 << 15) | ||
145 | #define NLA_F_NET_BYTEORDER (1 << 14) | ||
146 | #define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) | ||
147 | |||
132 | #define NLA_ALIGNTO 4 | 148 | #define NLA_ALIGNTO 4 |
133 | #define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1)) | 149 | #define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1)) |
134 | #define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr))) | 150 | #define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr))) |
@@ -157,8 +173,9 @@ struct netlink_skb_parms | |||
157 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) | 173 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) |
158 | 174 | ||
159 | 175 | ||
160 | extern struct sock *netlink_kernel_create(int unit, unsigned int groups, | 176 | extern struct sock *netlink_kernel_create(struct net *net, |
161 | void (*input)(struct sock *sk, int len), | 177 | int unit,unsigned int groups, |
178 | void (*input)(struct sk_buff *skb), | ||
162 | struct mutex *cb_mutex, | 179 | struct mutex *cb_mutex, |
163 | struct module *module); | 180 | struct module *module); |
164 | extern int netlink_change_ngroups(struct sock *sk, unsigned int groups); | 181 | extern int netlink_change_ngroups(struct sock *sk, unsigned int groups); |
@@ -177,7 +194,7 @@ struct sock *netlink_getsockbyfilp(struct file *filp); | |||
177 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, | 194 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, |
178 | long timeo, struct sock *ssk); | 195 | long timeo, struct sock *ssk); |
179 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); | 196 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); |
180 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol); | 197 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb); |
181 | 198 | ||
182 | /* | 199 | /* |
183 | * skb should fit one page. This choice is good for headerless malloc. | 200 | * skb should fit one page. This choice is good for headerless malloc. |
@@ -206,6 +223,7 @@ struct netlink_callback | |||
206 | 223 | ||
207 | struct netlink_notify | 224 | struct netlink_notify |
208 | { | 225 | { |
226 | struct net *net; | ||
209 | int pid; | 227 | int pid; |
210 | int protocol; | 228 | int protocol; |
211 | }; | 229 | }; |
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h index 29930b71a9aa..20250d963d72 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h | |||
@@ -25,8 +25,6 @@ struct netpoll { | |||
25 | 25 | ||
26 | struct netpoll_info { | 26 | struct netpoll_info { |
27 | atomic_t refcnt; | 27 | atomic_t refcnt; |
28 | spinlock_t poll_lock; | ||
29 | int poll_owner; | ||
30 | int rx_flags; | 28 | int rx_flags; |
31 | spinlock_t rx_lock; | 29 | spinlock_t rx_lock; |
32 | struct netpoll *rx_np; /* netpoll that registered an rx_hook */ | 30 | struct netpoll *rx_np; /* netpoll that registered an rx_hook */ |
@@ -37,6 +35,7 @@ struct netpoll_info { | |||
37 | 35 | ||
38 | void netpoll_poll(struct netpoll *np); | 36 | void netpoll_poll(struct netpoll *np); |
39 | void netpoll_send_udp(struct netpoll *np, const char *msg, int len); | 37 | void netpoll_send_udp(struct netpoll *np, const char *msg, int len); |
38 | void netpoll_print_options(struct netpoll *np); | ||
40 | int netpoll_parse_options(struct netpoll *np, char *opt); | 39 | int netpoll_parse_options(struct netpoll *np, char *opt); |
41 | int netpoll_setup(struct netpoll *np); | 40 | int netpoll_setup(struct netpoll *np); |
42 | int netpoll_trap(void); | 41 | int netpoll_trap(void); |
@@ -64,32 +63,61 @@ static inline int netpoll_rx(struct sk_buff *skb) | |||
64 | return ret; | 63 | return ret; |
65 | } | 64 | } |
66 | 65 | ||
67 | static inline void *netpoll_poll_lock(struct net_device *dev) | 66 | static inline int netpoll_receive_skb(struct sk_buff *skb) |
68 | { | 67 | { |
68 | if (!list_empty(&skb->dev->napi_list)) | ||
69 | return netpoll_rx(skb); | ||
70 | return 0; | ||
71 | } | ||
72 | |||
73 | static inline void *netpoll_poll_lock(struct napi_struct *napi) | ||
74 | { | ||
75 | struct net_device *dev = napi->dev; | ||
76 | |||
69 | rcu_read_lock(); /* deal with race on ->npinfo */ | 77 | rcu_read_lock(); /* deal with race on ->npinfo */ |
70 | if (dev->npinfo) { | 78 | if (dev && dev->npinfo) { |
71 | spin_lock(&dev->npinfo->poll_lock); | 79 | spin_lock(&napi->poll_lock); |
72 | dev->npinfo->poll_owner = smp_processor_id(); | 80 | napi->poll_owner = smp_processor_id(); |
73 | return dev->npinfo; | 81 | return napi; |
74 | } | 82 | } |
75 | return NULL; | 83 | return NULL; |
76 | } | 84 | } |
77 | 85 | ||
78 | static inline void netpoll_poll_unlock(void *have) | 86 | static inline void netpoll_poll_unlock(void *have) |
79 | { | 87 | { |
80 | struct netpoll_info *npi = have; | 88 | struct napi_struct *napi = have; |
81 | 89 | ||
82 | if (npi) { | 90 | if (napi) { |
83 | npi->poll_owner = -1; | 91 | napi->poll_owner = -1; |
84 | spin_unlock(&npi->poll_lock); | 92 | spin_unlock(&napi->poll_lock); |
85 | } | 93 | } |
86 | rcu_read_unlock(); | 94 | rcu_read_unlock(); |
87 | } | 95 | } |
88 | 96 | ||
97 | static inline void netpoll_netdev_init(struct net_device *dev) | ||
98 | { | ||
99 | INIT_LIST_HEAD(&dev->napi_list); | ||
100 | } | ||
101 | |||
89 | #else | 102 | #else |
90 | #define netpoll_rx(a) 0 | 103 | static inline int netpoll_rx(struct sk_buff *skb) |
91 | #define netpoll_poll_lock(a) NULL | 104 | { |
92 | #define netpoll_poll_unlock(a) | 105 | return 0; |
106 | } | ||
107 | static inline int netpoll_receive_skb(struct sk_buff *skb) | ||
108 | { | ||
109 | return 0; | ||
110 | } | ||
111 | static inline void *netpoll_poll_lock(struct napi_struct *napi) | ||
112 | { | ||
113 | return NULL; | ||
114 | } | ||
115 | static inline void netpoll_poll_unlock(void *have) | ||
116 | { | ||
117 | } | ||
118 | static inline void netpoll_netdev_init(struct net_device *dev) | ||
119 | { | ||
120 | } | ||
93 | #endif | 121 | #endif |
94 | 122 | ||
95 | #endif | 123 | #endif |
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 9a30ba2ca75e..538ee1dd3d0a 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -7,7 +7,97 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | /** | 9 | /** |
10 | * enum nl80211_commands - supported nl80211 commands | ||
11 | * | ||
12 | * @NL80211_CMD_UNSPEC: unspecified command to catch errors | ||
13 | * | ||
14 | * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request | ||
15 | * to get a list of all present wiphys. | ||
16 | * @NL80211_CMD_SET_WIPHY: set wiphy name, needs %NL80211_ATTR_WIPHY and | ||
17 | * %NL80211_ATTR_WIPHY_NAME. | ||
18 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request | ||
19 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and | ||
20 | * %NL80211_ATTR_WIPHY_NAME. | ||
21 | * @NL80211_CMD_DEL_WIPHY: Wiphy deleted. Has attributes | ||
22 | * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME. | ||
23 | * | ||
24 | * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration; | ||
25 | * either a dump request on a %NL80211_ATTR_WIPHY or a specific get | ||
26 | * on an %NL80211_ATTR_IFINDEX is supported. | ||
27 | * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires | ||
28 | * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE. | ||
29 | * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response | ||
30 | * to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX, | ||
31 | * %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also | ||
32 | * be sent from userspace to request creation of a new virtual interface, | ||
33 | * then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and | ||
34 | * %NL80211_ATTR_IFNAME. | ||
35 | * @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes | ||
36 | * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from | ||
37 | * userspace to request deletion of a virtual interface, then requires | ||
38 | * attribute %NL80211_ATTR_IFINDEX. | ||
39 | * | ||
40 | * @NL80211_CMD_MAX: highest used command number | ||
41 | * @__NL80211_CMD_AFTER_LAST: internal use | ||
42 | */ | ||
43 | enum nl80211_commands { | ||
44 | /* don't change the order or add anything inbetween, this is ABI! */ | ||
45 | NL80211_CMD_UNSPEC, | ||
46 | |||
47 | NL80211_CMD_GET_WIPHY, /* can dump */ | ||
48 | NL80211_CMD_SET_WIPHY, | ||
49 | NL80211_CMD_NEW_WIPHY, | ||
50 | NL80211_CMD_DEL_WIPHY, | ||
51 | |||
52 | NL80211_CMD_GET_INTERFACE, /* can dump */ | ||
53 | NL80211_CMD_SET_INTERFACE, | ||
54 | NL80211_CMD_NEW_INTERFACE, | ||
55 | NL80211_CMD_DEL_INTERFACE, | ||
56 | |||
57 | /* add commands here */ | ||
58 | |||
59 | /* used to define NL80211_CMD_MAX below */ | ||
60 | __NL80211_CMD_AFTER_LAST, | ||
61 | NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 | ||
62 | }; | ||
63 | |||
64 | |||
65 | /** | ||
66 | * enum nl80211_attrs - nl80211 netlink attributes | ||
67 | * | ||
68 | * @NL80211_ATTR_UNSPEC: unspecified attribute to catch errors | ||
69 | * | ||
70 | * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf. | ||
71 | * /sys/class/ieee80211/<phyname>/index | ||
72 | * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) | ||
73 | * | ||
74 | * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on | ||
75 | * @NL80211_ATTR_IFNAME: network interface name | ||
76 | * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype | ||
77 | * | ||
78 | * @NL80211_ATTR_MAX: highest attribute number currently defined | ||
79 | * @__NL80211_ATTR_AFTER_LAST: internal use | ||
80 | */ | ||
81 | enum nl80211_attrs { | ||
82 | /* don't change the order or add anything inbetween, this is ABI! */ | ||
83 | NL80211_ATTR_UNSPEC, | ||
84 | |||
85 | NL80211_ATTR_WIPHY, | ||
86 | NL80211_ATTR_WIPHY_NAME, | ||
87 | |||
88 | NL80211_ATTR_IFINDEX, | ||
89 | NL80211_ATTR_IFNAME, | ||
90 | NL80211_ATTR_IFTYPE, | ||
91 | |||
92 | /* add attributes here, update the policy in nl80211.c */ | ||
93 | |||
94 | __NL80211_ATTR_AFTER_LAST, | ||
95 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 | ||
96 | }; | ||
97 | |||
98 | /** | ||
10 | * enum nl80211_iftype - (virtual) interface types | 99 | * enum nl80211_iftype - (virtual) interface types |
100 | * | ||
11 | * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides | 101 | * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides |
12 | * @NL80211_IFTYPE_ADHOC: independent BSS member | 102 | * @NL80211_IFTYPE_ADHOC: independent BSS member |
13 | * @NL80211_IFTYPE_STATION: managed BSS member | 103 | * @NL80211_IFTYPE_STATION: managed BSS member |
@@ -15,9 +105,10 @@ | |||
15 | * @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points | 105 | * @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points |
16 | * @NL80211_IFTYPE_WDS: wireless distribution interface | 106 | * @NL80211_IFTYPE_WDS: wireless distribution interface |
17 | * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames | 107 | * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames |
108 | * @NL80211_IFTYPE_MAX: highest interface type number currently defined | ||
18 | * @__NL80211_IFTYPE_AFTER_LAST: internal use | 109 | * @__NL80211_IFTYPE_AFTER_LAST: internal use |
19 | * | 110 | * |
20 | * These values are used with the NL80211_ATTR_IFTYPE | 111 | * These values are used with the %NL80211_ATTR_IFTYPE |
21 | * to set the type of an interface. | 112 | * to set the type of an interface. |
22 | * | 113 | * |
23 | */ | 114 | */ |
@@ -31,8 +122,8 @@ enum nl80211_iftype { | |||
31 | NL80211_IFTYPE_MONITOR, | 122 | NL80211_IFTYPE_MONITOR, |
32 | 123 | ||
33 | /* keep last */ | 124 | /* keep last */ |
34 | __NL80211_IFTYPE_AFTER_LAST | 125 | __NL80211_IFTYPE_AFTER_LAST, |
126 | NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1 | ||
35 | }; | 127 | }; |
36 | #define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1) | ||
37 | 128 | ||
38 | #endif /* __LINUX_NL80211_H */ | 129 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h index ce06188b7a56..bec4485e3d76 100644 --- a/include/linux/nsproxy.h +++ b/include/linux/nsproxy.h | |||
@@ -29,6 +29,7 @@ struct nsproxy { | |||
29 | struct mnt_namespace *mnt_ns; | 29 | struct mnt_namespace *mnt_ns; |
30 | struct pid_namespace *pid_ns; | 30 | struct pid_namespace *pid_ns; |
31 | struct user_namespace *user_ns; | 31 | struct user_namespace *user_ns; |
32 | struct net *net_ns; | ||
32 | }; | 33 | }; |
33 | extern struct nsproxy init_nsproxy; | 34 | extern struct nsproxy init_nsproxy; |
34 | 35 | ||
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index bb244a42f7a1..3948708c42ca 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1471,6 +1471,8 @@ | |||
1471 | #define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 | 1471 | #define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 |
1472 | #define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 | 1472 | #define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 |
1473 | #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 | 1473 | #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 |
1474 | #define PCI_DEVICE_ID_RICOH_R5C832 0x0832 | ||
1475 | #define PCI_DEVICE_ID_RICOH_R5C843 0x0843 | ||
1474 | 1476 | ||
1475 | #define PCI_VENDOR_ID_DLINK 0x1186 | 1477 | #define PCI_VENDOR_ID_DLINK 0x1186 |
1476 | #define PCI_DEVICE_ID_DLINK_DGE510T 0x4c00 | 1478 | #define PCI_DEVICE_ID_DLINK_DGE510T 0x4c00 |
@@ -1736,6 +1738,11 @@ | |||
1736 | 1738 | ||
1737 | #define PCI_VENDOR_ID_RADISYS 0x1331 | 1739 | #define PCI_VENDOR_ID_RADISYS 0x1331 |
1738 | 1740 | ||
1741 | #define PCI_VENDOR_ID_MICRO_MEMORY 0x1332 | ||
1742 | #define PCI_DEVICE_ID_MICRO_MEMORY_5415CN 0x5415 | ||
1743 | #define PCI_DEVICE_ID_MICRO_MEMORY_5425CN 0x5425 | ||
1744 | #define PCI_DEVICE_ID_MICRO_MEMORY_6155 0x6155 | ||
1745 | |||
1739 | #define PCI_VENDOR_ID_DOMEX 0x134a | 1746 | #define PCI_VENDOR_ID_DOMEX 0x134a |
1740 | #define PCI_DEVICE_ID_DOMEX_DMX3191D 0x0001 | 1747 | #define PCI_DEVICE_ID_DOMEX_DMX3191D 0x0001 |
1741 | 1748 | ||
@@ -1841,6 +1848,8 @@ | |||
1841 | #define PCI_VENDOR_ID_ABOCOM 0x13D1 | 1848 | #define PCI_VENDOR_ID_ABOCOM 0x13D1 |
1842 | #define PCI_DEVICE_ID_ABOCOM_2BD1 0x2BD1 | 1849 | #define PCI_DEVICE_ID_ABOCOM_2BD1 0x2BD1 |
1843 | 1850 | ||
1851 | #define PCI_VENDOR_ID_SUNDANCE 0x13f0 | ||
1852 | |||
1844 | #define PCI_VENDOR_ID_CMEDIA 0x13f6 | 1853 | #define PCI_VENDOR_ID_CMEDIA 0x13f6 |
1845 | #define PCI_DEVICE_ID_CMEDIA_CM8338A 0x0100 | 1854 | #define PCI_DEVICE_ID_CMEDIA_CM8338A 0x0100 |
1846 | #define PCI_DEVICE_ID_CMEDIA_CM8338B 0x0101 | 1855 | #define PCI_DEVICE_ID_CMEDIA_CM8338B 0x0101 |
@@ -1948,8 +1957,12 @@ | |||
1948 | #define PCI_DEVICE_ID_TIGON3_5751M 0x167d | 1957 | #define PCI_DEVICE_ID_TIGON3_5751M 0x167d |
1949 | #define PCI_DEVICE_ID_TIGON3_5751F 0x167e | 1958 | #define PCI_DEVICE_ID_TIGON3_5751F 0x167e |
1950 | #define PCI_DEVICE_ID_TIGON3_5787F 0x167f | 1959 | #define PCI_DEVICE_ID_TIGON3_5787F 0x167f |
1960 | #define PCI_DEVICE_ID_TIGON3_5761E 0x1680 | ||
1961 | #define PCI_DEVICE_ID_TIGON3_5761 0x1681 | ||
1962 | #define PCI_DEVICE_ID_TIGON3_5764 0x1684 | ||
1951 | #define PCI_DEVICE_ID_TIGON3_5787M 0x1693 | 1963 | #define PCI_DEVICE_ID_TIGON3_5787M 0x1693 |
1952 | #define PCI_DEVICE_ID_TIGON3_5782 0x1696 | 1964 | #define PCI_DEVICE_ID_TIGON3_5782 0x1696 |
1965 | #define PCI_DEVICE_ID_TIGON3_5784 0x1698 | ||
1953 | #define PCI_DEVICE_ID_TIGON3_5786 0x169a | 1966 | #define PCI_DEVICE_ID_TIGON3_5786 0x169a |
1954 | #define PCI_DEVICE_ID_TIGON3_5787 0x169b | 1967 | #define PCI_DEVICE_ID_TIGON3_5787 0x169b |
1955 | #define PCI_DEVICE_ID_TIGON3_5788 0x169c | 1968 | #define PCI_DEVICE_ID_TIGON3_5788 0x169c |
@@ -2126,6 +2139,11 @@ | |||
2126 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 | 2139 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 |
2127 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 | 2140 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 |
2128 | 2141 | ||
2142 | #define PCI_VENDOR_ID_TEHUTI 0x1fc9 | ||
2143 | #define PCI_DEVICE_ID_TEHUTI_3009 0x3009 | ||
2144 | #define PCI_DEVICE_ID_TEHUTI_3010 0x3010 | ||
2145 | #define PCI_DEVICE_ID_TEHUTI_3014 0x3014 | ||
2146 | |||
2129 | #define PCI_VENDOR_ID_HINT 0x3388 | 2147 | #define PCI_VENDOR_ID_HINT 0x3388 |
2130 | #define PCI_DEVICE_ID_HINT_VXPROII_IDE 0x8013 | 2148 | #define PCI_DEVICE_ID_HINT_VXPROII_IDE 0x8013 |
2131 | 2149 | ||
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index 495d368390e0..423d592c55d5 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h | |||
@@ -316,7 +316,20 @@ | |||
316 | #define PCI_X_CMD 2 /* Modes & Features */ | 316 | #define PCI_X_CMD 2 /* Modes & Features */ |
317 | #define PCI_X_CMD_DPERR_E 0x0001 /* Data Parity Error Recovery Enable */ | 317 | #define PCI_X_CMD_DPERR_E 0x0001 /* Data Parity Error Recovery Enable */ |
318 | #define PCI_X_CMD_ERO 0x0002 /* Enable Relaxed Ordering */ | 318 | #define PCI_X_CMD_ERO 0x0002 /* Enable Relaxed Ordering */ |
319 | #define PCI_X_CMD_READ_512 0x0000 /* 512 byte maximum read byte count */ | ||
320 | #define PCI_X_CMD_READ_1K 0x0004 /* 1Kbyte maximum read byte count */ | ||
321 | #define PCI_X_CMD_READ_2K 0x0008 /* 2Kbyte maximum read byte count */ | ||
322 | #define PCI_X_CMD_READ_4K 0x000c /* 4Kbyte maximum read byte count */ | ||
319 | #define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */ | 323 | #define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */ |
324 | /* Max # of outstanding split transactions */ | ||
325 | #define PCI_X_CMD_SPLIT_1 0x0000 /* Max 1 */ | ||
326 | #define PCI_X_CMD_SPLIT_2 0x0010 /* Max 2 */ | ||
327 | #define PCI_X_CMD_SPLIT_3 0x0020 /* Max 3 */ | ||
328 | #define PCI_X_CMD_SPLIT_4 0x0030 /* Max 4 */ | ||
329 | #define PCI_X_CMD_SPLIT_8 0x0040 /* Max 8 */ | ||
330 | #define PCI_X_CMD_SPLIT_12 0x0050 /* Max 12 */ | ||
331 | #define PCI_X_CMD_SPLIT_16 0x0060 /* Max 16 */ | ||
332 | #define PCI_X_CMD_SPLIT_32 0x0070 /* Max 32 */ | ||
320 | #define PCI_X_CMD_MAX_SPLIT 0x0070 /* Max Outstanding Split Transactions */ | 333 | #define PCI_X_CMD_MAX_SPLIT 0x0070 /* Max Outstanding Split Transactions */ |
321 | #define PCI_X_CMD_VERSION(x) (((x) >> 12) & 3) /* Version */ | 334 | #define PCI_X_CMD_VERSION(x) (((x) >> 12) & 3) /* Version */ |
322 | #define PCI_X_STATUS 4 /* PCI-X capabilities */ | 335 | #define PCI_X_STATUS 4 /* PCI-X capabilities */ |
diff --git a/include/linux/phy.h b/include/linux/phy.h index 2a659789f9ca..f0742b6aaa64 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <linux/timer.h> | 25 | #include <linux/timer.h> |
26 | #include <linux/workqueue.h> | 26 | #include <linux/workqueue.h> |
27 | 27 | ||
28 | #include <asm/atomic.h> | ||
29 | |||
28 | #define PHY_BASIC_FEATURES (SUPPORTED_10baseT_Half | \ | 30 | #define PHY_BASIC_FEATURES (SUPPORTED_10baseT_Half | \ |
29 | SUPPORTED_10baseT_Full | \ | 31 | SUPPORTED_10baseT_Full | \ |
30 | SUPPORTED_100baseT_Half | \ | 32 | SUPPORTED_100baseT_Half | \ |
@@ -281,6 +283,7 @@ struct phy_device { | |||
281 | /* Interrupt and Polling infrastructure */ | 283 | /* Interrupt and Polling infrastructure */ |
282 | struct work_struct phy_queue; | 284 | struct work_struct phy_queue; |
283 | struct timer_list phy_timer; | 285 | struct timer_list phy_timer; |
286 | atomic_t irq_disable; | ||
284 | 287 | ||
285 | spinlock_t lock; | 288 | spinlock_t lock; |
286 | 289 | ||
diff --git a/include/linux/phy_fixed.h b/include/linux/phy_fixed.h new file mode 100644 index 000000000000..04ba70d49fb8 --- /dev/null +++ b/include/linux/phy_fixed.h | |||
@@ -0,0 +1,38 @@ | |||
1 | #ifndef __PHY_FIXED_H | ||
2 | #define __PHY_FIXED_H | ||
3 | |||
4 | #define MII_REGS_NUM 29 | ||
5 | |||
6 | /* max number of virtual phy stuff */ | ||
7 | #define MAX_PHY_AMNT 10 | ||
8 | /* | ||
9 | The idea is to emulate normal phy behavior by responding with | ||
10 | pre-defined values to mii BMCR read, so that read_status hook could | ||
11 | take all the needed info. | ||
12 | */ | ||
13 | |||
14 | struct fixed_phy_status { | ||
15 | u8 link; | ||
16 | u16 speed; | ||
17 | u8 duplex; | ||
18 | }; | ||
19 | |||
20 | /*----------------------------------------------------------------------------- | ||
21 | * Private information hoder for mii_bus | ||
22 | *-----------------------------------------------------------------------------*/ | ||
23 | struct fixed_info { | ||
24 | u16 *regs; | ||
25 | u8 regs_num; | ||
26 | struct fixed_phy_status phy_status; | ||
27 | struct phy_device *phydev; /* pointer to the container */ | ||
28 | /* link & speed cb */ | ||
29 | int (*link_update) (struct net_device *, struct fixed_phy_status *); | ||
30 | |||
31 | }; | ||
32 | |||
33 | |||
34 | int fixed_mdio_set_link_update(struct phy_device *, | ||
35 | int (*link_update) (struct net_device *, struct fixed_phy_status *)); | ||
36 | struct fixed_info *fixed_mdio_get_phydev (int phydev_ind); | ||
37 | |||
38 | #endif /* __PHY_FIXED_H */ | ||
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index 268c51599eb8..919af93b7059 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -77,8 +77,8 @@ struct tc_ratespec | |||
77 | { | 77 | { |
78 | unsigned char cell_log; | 78 | unsigned char cell_log; |
79 | unsigned char __reserved; | 79 | unsigned char __reserved; |
80 | unsigned short feature; | 80 | unsigned short overhead; |
81 | short addend; | 81 | short cell_align; |
82 | unsigned short mpu; | 82 | unsigned short mpu; |
83 | __u32 rate; | 83 | __u32 rate; |
84 | }; | 84 | }; |
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index cd13a78c5db8..20741f668f7b 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/magic.h> | 7 | #include <linux/magic.h> |
8 | #include <asm/atomic.h> | 8 | #include <asm/atomic.h> |
9 | 9 | ||
10 | struct net; | ||
10 | struct completion; | 11 | struct completion; |
11 | 12 | ||
12 | /* | 13 | /* |
@@ -97,8 +98,6 @@ struct vmcore { | |||
97 | 98 | ||
98 | extern struct proc_dir_entry proc_root; | 99 | extern struct proc_dir_entry proc_root; |
99 | extern struct proc_dir_entry *proc_root_fs; | 100 | extern struct proc_dir_entry *proc_root_fs; |
100 | extern struct proc_dir_entry *proc_net; | ||
101 | extern struct proc_dir_entry *proc_net_stat; | ||
102 | extern struct proc_dir_entry *proc_bus; | 101 | extern struct proc_dir_entry *proc_bus; |
103 | extern struct proc_dir_entry *proc_root_driver; | 102 | extern struct proc_dir_entry *proc_root_driver; |
104 | extern struct proc_dir_entry *proc_root_kcore; | 103 | extern struct proc_dir_entry *proc_root_kcore; |
@@ -192,36 +191,21 @@ static inline struct proc_dir_entry *create_proc_info_entry(const char *name, | |||
192 | if (res) res->get_info=get_info; | 191 | if (res) res->get_info=get_info; |
193 | return res; | 192 | return res; |
194 | } | 193 | } |
195 | |||
196 | static inline struct proc_dir_entry *proc_net_create(const char *name, | ||
197 | mode_t mode, get_info_t *get_info) | ||
198 | { | ||
199 | return create_proc_info_entry(name,mode,proc_net,get_info); | ||
200 | } | ||
201 | 194 | ||
202 | static inline struct proc_dir_entry *proc_net_fops_create(const char *name, | 195 | extern struct proc_dir_entry *proc_net_create(struct net *net, |
203 | mode_t mode, const struct file_operations *fops) | 196 | const char *name, mode_t mode, get_info_t *get_info); |
204 | { | 197 | extern struct proc_dir_entry *proc_net_fops_create(struct net *net, |
205 | struct proc_dir_entry *res = create_proc_entry(name, mode, proc_net); | 198 | const char *name, mode_t mode, const struct file_operations *fops); |
206 | if (res) | 199 | extern void proc_net_remove(struct net *net, const char *name); |
207 | res->proc_fops = fops; | ||
208 | return res; | ||
209 | } | ||
210 | |||
211 | static inline void proc_net_remove(const char *name) | ||
212 | { | ||
213 | remove_proc_entry(name,proc_net); | ||
214 | } | ||
215 | 200 | ||
216 | #else | 201 | #else |
217 | 202 | ||
218 | #define proc_root_driver NULL | 203 | #define proc_root_driver NULL |
219 | #define proc_net NULL | ||
220 | #define proc_bus NULL | 204 | #define proc_bus NULL |
221 | 205 | ||
222 | #define proc_net_fops_create(name, mode, fops) ({ (void)(mode), NULL; }) | 206 | #define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; }) |
223 | #define proc_net_create(name, mode, info) ({ (void)(mode), NULL; }) | 207 | #define proc_net_create(net, name, mode, info) ({ (void)(mode), NULL; }) |
224 | static inline void proc_net_remove(const char *name) {} | 208 | static inline void proc_net_remove(struct net *net, const char *name) {} |
225 | 209 | ||
226 | static inline void proc_flush_task(struct task_struct *task) { } | 210 | static inline void proc_flush_task(struct task_struct *task) { } |
227 | 211 | ||
@@ -281,6 +265,13 @@ static inline struct proc_dir_entry *PDE(const struct inode *inode) | |||
281 | return PROC_I(inode)->pde; | 265 | return PROC_I(inode)->pde; |
282 | } | 266 | } |
283 | 267 | ||
268 | static inline struct net *PDE_NET(struct proc_dir_entry *pde) | ||
269 | { | ||
270 | return pde->parent->data; | ||
271 | } | ||
272 | |||
273 | struct net *get_proc_net(const struct inode *inode); | ||
274 | |||
284 | struct proc_maps_private { | 275 | struct proc_maps_private { |
285 | struct pid *pid; | 276 | struct pid *pid; |
286 | struct task_struct *task; | 277 | struct task_struct *task; |
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index a8a6ea809da0..0ce5e0b52dbd 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __RFKILL_H | 2 | #define __RFKILL_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * Copyright (C) 2006 Ivo van Doorn | 5 | * Copyright (C) 2006 - 2007 Ivo van Doorn |
6 | * Copyright (C) 2007 Dmitry Torokhov | 6 | * Copyright (C) 2007 Dmitry Torokhov |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
@@ -26,18 +26,19 @@ | |||
26 | #include <linux/list.h> | 26 | #include <linux/list.h> |
27 | #include <linux/mutex.h> | 27 | #include <linux/mutex.h> |
28 | #include <linux/device.h> | 28 | #include <linux/device.h> |
29 | #include <linux/leds.h> | ||
29 | 30 | ||
30 | /** | 31 | /** |
31 | * enum rfkill_type - type of rfkill switch. | 32 | * enum rfkill_type - type of rfkill switch. |
32 | * RFKILL_TYPE_WLAN: switch is no a Wireless network devices. | 33 | * RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device. |
33 | * RFKILL_TYPE_BlUETOOTH: switch is on a bluetooth device. | 34 | * RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device. |
34 | * RFKILL_TYPE_IRDA: switch is on an infrared devices. | 35 | * RFKILL_TYPE_UWB: switch is on a ultra wideband device. |
35 | */ | 36 | */ |
36 | enum rfkill_type { | 37 | enum rfkill_type { |
37 | RFKILL_TYPE_WLAN = 0, | 38 | RFKILL_TYPE_WLAN , |
38 | RFKILL_TYPE_BLUETOOTH = 1, | 39 | RFKILL_TYPE_BLUETOOTH, |
39 | RFKILL_TYPE_IRDA = 2, | 40 | RFKILL_TYPE_UWB, |
40 | RFKILL_TYPE_MAX = 3, | 41 | RFKILL_TYPE_MAX, |
41 | }; | 42 | }; |
42 | 43 | ||
43 | enum rfkill_state { | 44 | enum rfkill_state { |
@@ -51,11 +52,14 @@ enum rfkill_state { | |||
51 | * @type: Radio type which the button controls, the value stored | 52 | * @type: Radio type which the button controls, the value stored |
52 | * here should be a value from enum rfkill_type. | 53 | * here should be a value from enum rfkill_type. |
53 | * @state: State of the switch (on/off). | 54 | * @state: State of the switch (on/off). |
55 | * @user_claim_unsupported: Whether the hardware supports exclusive | ||
56 | * RF-kill control by userspace. Set this before registering. | ||
54 | * @user_claim: Set when the switch is controlled exlusively by userspace. | 57 | * @user_claim: Set when the switch is controlled exlusively by userspace. |
55 | * @mutex: Guards switch state transitions | 58 | * @mutex: Guards switch state transitions |
56 | * @data: Pointer to the RF button drivers private data which will be | 59 | * @data: Pointer to the RF button drivers private data which will be |
57 | * passed along when toggling radio state. | 60 | * passed along when toggling radio state. |
58 | * @toggle_radio(): Mandatory handler to control state of the radio. | 61 | * @toggle_radio(): Mandatory handler to control state of the radio. |
62 | * @led_trigger: A LED trigger for this button's LED. | ||
59 | * @dev: Device structure integrating the switch into device tree. | 63 | * @dev: Device structure integrating the switch into device tree. |
60 | * @node: Used to place switch into list of all switches known to the | 64 | * @node: Used to place switch into list of all switches known to the |
61 | * the system. | 65 | * the system. |
@@ -67,6 +71,7 @@ struct rfkill { | |||
67 | enum rfkill_type type; | 71 | enum rfkill_type type; |
68 | 72 | ||
69 | enum rfkill_state state; | 73 | enum rfkill_state state; |
74 | bool user_claim_unsupported; | ||
70 | bool user_claim; | 75 | bool user_claim; |
71 | 76 | ||
72 | struct mutex mutex; | 77 | struct mutex mutex; |
@@ -74,6 +79,10 @@ struct rfkill { | |||
74 | void *data; | 79 | void *data; |
75 | int (*toggle_radio)(void *data, enum rfkill_state state); | 80 | int (*toggle_radio)(void *data, enum rfkill_state state); |
76 | 81 | ||
82 | #ifdef CONFIG_RFKILL_LEDS | ||
83 | struct led_trigger led_trigger; | ||
84 | #endif | ||
85 | |||
77 | struct device dev; | 86 | struct device dev; |
78 | struct list_head node; | 87 | struct list_head node; |
79 | }; | 88 | }; |
@@ -84,6 +93,19 @@ void rfkill_free(struct rfkill *rfkill); | |||
84 | int rfkill_register(struct rfkill *rfkill); | 93 | int rfkill_register(struct rfkill *rfkill); |
85 | void rfkill_unregister(struct rfkill *rfkill); | 94 | void rfkill_unregister(struct rfkill *rfkill); |
86 | 95 | ||
87 | void rfkill_switch_all(enum rfkill_type type, enum rfkill_state state); | 96 | /** |
97 | * rfkill_get_led_name - Get the LED trigger name for the button's LED. | ||
98 | * This function might return a NULL pointer if registering of the | ||
99 | * LED trigger failed. | ||
100 | * Use this as "default_trigger" for the LED. | ||
101 | */ | ||
102 | static inline char *rfkill_get_led_name(struct rfkill *rfkill) | ||
103 | { | ||
104 | #ifdef CONFIG_RFKILL_LEDS | ||
105 | return (char *)(rfkill->led_trigger.name); | ||
106 | #else | ||
107 | return NULL; | ||
108 | #endif | ||
109 | } | ||
88 | 110 | ||
89 | #endif /* RFKILL_H */ | 111 | #endif /* RFKILL_H */ |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index dff3192374f8..5bf618241ab9 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -97,6 +97,9 @@ enum { | |||
97 | RTM_SETNEIGHTBL, | 97 | RTM_SETNEIGHTBL, |
98 | #define RTM_SETNEIGHTBL RTM_SETNEIGHTBL | 98 | #define RTM_SETNEIGHTBL RTM_SETNEIGHTBL |
99 | 99 | ||
100 | RTM_NEWNDUSEROPT = 68, | ||
101 | #define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT | ||
102 | |||
100 | __RTM_MAX, | 103 | __RTM_MAX, |
101 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) | 104 | #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1) |
102 | }; | 105 | }; |
@@ -479,6 +482,30 @@ enum | |||
479 | #define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg)))) | 482 | #define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg)))) |
480 | #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) | 483 | #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) |
481 | 484 | ||
485 | /******************************************************************** | ||
486 | * Neighbor Discovery userland options | ||
487 | ****/ | ||
488 | |||
489 | struct nduseroptmsg | ||
490 | { | ||
491 | unsigned char nduseropt_family; | ||
492 | unsigned char nduseropt_pad1; | ||
493 | unsigned short nduseropt_opts_len; /* Total length of options */ | ||
494 | __u8 nduseropt_icmp_type; | ||
495 | __u8 nduseropt_icmp_code; | ||
496 | unsigned short nduseropt_pad2; | ||
497 | /* Followed by one or more ND options */ | ||
498 | }; | ||
499 | |||
500 | enum | ||
501 | { | ||
502 | NDUSEROPT_UNSPEC, | ||
503 | NDUSEROPT_SRCADDR, | ||
504 | __NDUSEROPT_MAX | ||
505 | }; | ||
506 | |||
507 | #define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1) | ||
508 | |||
482 | #ifndef __KERNEL__ | 509 | #ifndef __KERNEL__ |
483 | /* RTnetlink multicast groups - backwards compatibility for userspace */ | 510 | /* RTnetlink multicast groups - backwards compatibility for userspace */ |
484 | #define RTMGRP_LINK 1 | 511 | #define RTMGRP_LINK 1 |
@@ -542,6 +569,8 @@ enum rtnetlink_groups { | |||
542 | #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX | 569 | #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX |
543 | RTNLGRP_IPV6_RULE, | 570 | RTNLGRP_IPV6_RULE, |
544 | #define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE | 571 | #define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE |
572 | RTNLGRP_ND_USEROPT, | ||
573 | #define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT | ||
545 | __RTNLGRP_MAX | 574 | __RTNLGRP_MAX |
546 | }; | 575 | }; |
547 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) | 576 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |
diff --git a/include/linux/sched.h b/include/linux/sched.h index a01ac6dd5f5e..833f7dc2b8de 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -27,6 +27,7 @@ | |||
27 | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */ | 27 | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */ |
28 | #define CLONE_NEWIPC 0x08000000 /* New ipcs */ | 28 | #define CLONE_NEWIPC 0x08000000 /* New ipcs */ |
29 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ | 29 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ |
30 | #define CLONE_NEWNET 0x40000000 /* New network namespace */ | ||
30 | 31 | ||
31 | /* | 32 | /* |
32 | * Scheduling policies | 33 | * Scheduling policies |
@@ -113,7 +114,7 @@ extern unsigned long avenrun[]; /* Load averages */ | |||
113 | 114 | ||
114 | #define FSHIFT 11 /* nr of bits of precision */ | 115 | #define FSHIFT 11 /* nr of bits of precision */ |
115 | #define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */ | 116 | #define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */ |
116 | #define LOAD_FREQ (5*HZ) /* 5 sec intervals */ | 117 | #define LOAD_FREQ (5*HZ+1) /* 5 sec intervals */ |
117 | #define EXP_1 1884 /* 1/exp(5sec/1min) as fixed-point */ | 118 | #define EXP_1 1884 /* 1/exp(5sec/1min) as fixed-point */ |
118 | #define EXP_5 2014 /* 1/exp(5sec/5min) */ | 119 | #define EXP_5 2014 /* 1/exp(5sec/5min) */ |
119 | #define EXP_15 2037 /* 1/exp(5sec/15min) */ | 120 | #define EXP_15 2037 /* 1/exp(5sec/15min) */ |
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index d70df61a029f..5eb38cc0e5a4 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h | |||
@@ -102,6 +102,9 @@ typedef enum { | |||
102 | SCTP_CID_ECN_CWR = 13, | 102 | SCTP_CID_ECN_CWR = 13, |
103 | SCTP_CID_SHUTDOWN_COMPLETE = 14, | 103 | SCTP_CID_SHUTDOWN_COMPLETE = 14, |
104 | 104 | ||
105 | /* AUTH Extension Section 4.1 */ | ||
106 | SCTP_CID_AUTH = 0x0F, | ||
107 | |||
105 | /* PR-SCTP Sec 3.2 */ | 108 | /* PR-SCTP Sec 3.2 */ |
106 | SCTP_CID_FWD_TSN = 0xC0, | 109 | SCTP_CID_FWD_TSN = 0xC0, |
107 | 110 | ||
@@ -180,6 +183,14 @@ typedef enum { | |||
180 | SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = __constant_htons(12), | 183 | SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = __constant_htons(12), |
181 | SCTP_PARAM_ECN_CAPABLE = __constant_htons(0x8000), | 184 | SCTP_PARAM_ECN_CAPABLE = __constant_htons(0x8000), |
182 | 185 | ||
186 | /* AUTH Extension Section 3 */ | ||
187 | SCTP_PARAM_RANDOM = __constant_htons(0x8002), | ||
188 | SCTP_PARAM_CHUNKS = __constant_htons(0x8003), | ||
189 | SCTP_PARAM_HMAC_ALGO = __constant_htons(0x8004), | ||
190 | |||
191 | /* Add-IP: Supported Extensions, Section 4.2 */ | ||
192 | SCTP_PARAM_SUPPORTED_EXT = __constant_htons(0x8008), | ||
193 | |||
183 | /* PR-SCTP Sec 3.1 */ | 194 | /* PR-SCTP Sec 3.1 */ |
184 | SCTP_PARAM_FWD_TSN_SUPPORT = __constant_htons(0xc000), | 195 | SCTP_PARAM_FWD_TSN_SUPPORT = __constant_htons(0xc000), |
185 | 196 | ||
@@ -296,6 +307,30 @@ typedef struct sctp_adaptation_ind_param { | |||
296 | __be32 adaptation_ind; | 307 | __be32 adaptation_ind; |
297 | } __attribute__((packed)) sctp_adaptation_ind_param_t; | 308 | } __attribute__((packed)) sctp_adaptation_ind_param_t; |
298 | 309 | ||
310 | /* ADDIP Section 4.2.7 Supported Extensions Parameter */ | ||
311 | typedef struct sctp_supported_ext_param { | ||
312 | struct sctp_paramhdr param_hdr; | ||
313 | __u8 chunks[0]; | ||
314 | } __attribute__((packed)) sctp_supported_ext_param_t; | ||
315 | |||
316 | /* AUTH Section 3.1 Random */ | ||
317 | typedef struct sctp_random_param { | ||
318 | sctp_paramhdr_t param_hdr; | ||
319 | __u8 random_val[0]; | ||
320 | } __attribute__((packed)) sctp_random_param_t; | ||
321 | |||
322 | /* AUTH Section 3.2 Chunk List */ | ||
323 | typedef struct sctp_chunks_param { | ||
324 | sctp_paramhdr_t param_hdr; | ||
325 | __u8 chunks[0]; | ||
326 | } __attribute__((packed)) sctp_chunks_param_t; | ||
327 | |||
328 | /* AUTH Section 3.3 HMAC Algorithm */ | ||
329 | typedef struct sctp_hmac_algo_param { | ||
330 | sctp_paramhdr_t param_hdr; | ||
331 | __be16 hmac_ids[0]; | ||
332 | } __attribute__((packed)) sctp_hmac_algo_param_t; | ||
333 | |||
299 | /* RFC 2960. Section 3.3.3 Initiation Acknowledgement (INIT ACK) (2): | 334 | /* RFC 2960. Section 3.3.3 Initiation Acknowledgement (INIT ACK) (2): |
300 | * The INIT ACK chunk is used to acknowledge the initiation of an SCTP | 335 | * The INIT ACK chunk is used to acknowledge the initiation of an SCTP |
301 | * association. | 336 | * association. |
@@ -462,7 +497,19 @@ typedef enum { | |||
462 | SCTP_ERROR_RSRC_LOW = __constant_htons(0x0101), | 497 | SCTP_ERROR_RSRC_LOW = __constant_htons(0x0101), |
463 | SCTP_ERROR_DEL_SRC_IP = __constant_htons(0x0102), | 498 | SCTP_ERROR_DEL_SRC_IP = __constant_htons(0x0102), |
464 | SCTP_ERROR_ASCONF_ACK = __constant_htons(0x0103), | 499 | SCTP_ERROR_ASCONF_ACK = __constant_htons(0x0103), |
465 | SCTP_ERROR_REQ_REFUSED = __constant_htons(0x0104) | 500 | SCTP_ERROR_REQ_REFUSED = __constant_htons(0x0104), |
501 | |||
502 | /* AUTH Section 4. New Error Cause | ||
503 | * | ||
504 | * This section defines a new error cause that will be sent if an AUTH | ||
505 | * chunk is received with an unsupported HMAC identifier. | ||
506 | * illustrates the new error cause. | ||
507 | * | ||
508 | * Cause Code Error Cause Name | ||
509 | * -------------------------------------------------------------- | ||
510 | * 0x0105 Unsupported HMAC Identifier | ||
511 | */ | ||
512 | SCTP_ERROR_UNSUP_HMAC = __constant_htons(0x0105) | ||
466 | } sctp_error_t; | 513 | } sctp_error_t; |
467 | 514 | ||
468 | 515 | ||
@@ -600,4 +647,64 @@ typedef struct sctp_addip_chunk { | |||
600 | sctp_addiphdr_t addip_hdr; | 647 | sctp_addiphdr_t addip_hdr; |
601 | } __attribute__((packed)) sctp_addip_chunk_t; | 648 | } __attribute__((packed)) sctp_addip_chunk_t; |
602 | 649 | ||
650 | /* AUTH | ||
651 | * Section 4.1 Authentication Chunk (AUTH) | ||
652 | * | ||
653 | * This chunk is used to hold the result of the HMAC calculation. | ||
654 | * | ||
655 | * 0 1 2 3 | ||
656 | * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||
657 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
658 | * | Type = 0x0F | Flags=0 | Length | | ||
659 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
660 | * | Shared Key Identifier | HMAC Identifier | | ||
661 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
662 | * | | | ||
663 | * \ HMAC / | ||
664 | * / \ | ||
665 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
666 | * | ||
667 | * Type: 1 byte (unsigned integer) | ||
668 | * This value MUST be set to 0x0F for all AUTH-chunks. | ||
669 | * | ||
670 | * Flags: 1 byte (unsigned integer) | ||
671 | * Set to zero on transmit and ignored on receipt. | ||
672 | * | ||
673 | * Length: 2 bytes (unsigned integer) | ||
674 | * This value holds the length of the HMAC in bytes plus 8. | ||
675 | * | ||
676 | * Shared Key Identifier: 2 bytes (unsigned integer) | ||
677 | * This value describes which endpoint pair shared key is used. | ||
678 | * | ||
679 | * HMAC Identifier: 2 bytes (unsigned integer) | ||
680 | * This value describes which message digest is being used. Table 2 | ||
681 | * shows the currently defined values. | ||
682 | * | ||
683 | * The following Table 2 shows the currently defined values for HMAC | ||
684 | * identifiers. | ||
685 | * | ||
686 | * +-----------------+--------------------------+ | ||
687 | * | HMAC Identifier | Message Digest Algorithm | | ||
688 | * +-----------------+--------------------------+ | ||
689 | * | 0 | Reserved | | ||
690 | * | 1 | SHA-1 defined in [8] | | ||
691 | * | 2 | Reserved | | ||
692 | * | 3 | SHA-256 defined in [8] | | ||
693 | * +-----------------+--------------------------+ | ||
694 | * | ||
695 | * | ||
696 | * HMAC: n bytes (unsigned integer) This hold the result of the HMAC | ||
697 | * calculation. | ||
698 | */ | ||
699 | typedef struct sctp_authhdr { | ||
700 | __be16 shkey_id; | ||
701 | __be16 hmac_id; | ||
702 | __u8 hmac[0]; | ||
703 | } __attribute__((packed)) sctp_authhdr_t; | ||
704 | |||
705 | typedef struct sctp_auth_chunk { | ||
706 | sctp_chunkhdr_t chunk_hdr; | ||
707 | sctp_authhdr_t auth_hdr; | ||
708 | } __attribute__((packed)) sctp_auth_chunk_t; | ||
709 | |||
603 | #endif /* __LINUX_SCTP_H__ */ | 710 | #endif /* __LINUX_SCTP_H__ */ |
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h index 83783ab0f552..8bf1e05115b4 100644 --- a/include/linux/seq_file.h +++ b/include/linux/seq_file.h | |||
@@ -46,6 +46,8 @@ int seq_path(struct seq_file *, struct vfsmount *, struct dentry *, char *); | |||
46 | 46 | ||
47 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *); | 47 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *); |
48 | int single_release(struct inode *, struct file *); | 48 | int single_release(struct inode *, struct file *); |
49 | void *__seq_open_private(struct file *, const struct seq_operations *, int); | ||
50 | int seq_open_private(struct file *, const struct seq_operations *, int); | ||
49 | int seq_release_private(struct inode *, struct file *); | 51 | int seq_release_private(struct inode *, struct file *); |
50 | 52 | ||
51 | #define SEQ_START_TOKEN ((void *)1) | 53 | #define SEQ_START_TOKEN ((void *)1) |
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index 802b3a38b041..89f0c2b5f405 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -82,6 +82,8 @@ enum | |||
82 | __ICMP_MIB_MAX | 82 | __ICMP_MIB_MAX |
83 | }; | 83 | }; |
84 | 84 | ||
85 | #define __ICMPMSG_MIB_MAX 512 /* Out+In for all 8-bit ICMP types */ | ||
86 | |||
85 | /* icmp6 mib definitions */ | 87 | /* icmp6 mib definitions */ |
86 | /* | 88 | /* |
87 | * RFC 2466: ICMPv6-MIB | 89 | * RFC 2466: ICMPv6-MIB |
@@ -91,35 +93,12 @@ enum | |||
91 | ICMP6_MIB_NUM = 0, | 93 | ICMP6_MIB_NUM = 0, |
92 | ICMP6_MIB_INMSGS, /* InMsgs */ | 94 | ICMP6_MIB_INMSGS, /* InMsgs */ |
93 | ICMP6_MIB_INERRORS, /* InErrors */ | 95 | ICMP6_MIB_INERRORS, /* InErrors */ |
94 | ICMP6_MIB_INDESTUNREACHS, /* InDestUnreachs */ | ||
95 | ICMP6_MIB_INPKTTOOBIGS, /* InPktTooBigs */ | ||
96 | ICMP6_MIB_INTIMEEXCDS, /* InTimeExcds */ | ||
97 | ICMP6_MIB_INPARMPROBLEMS, /* InParmProblems */ | ||
98 | ICMP6_MIB_INECHOS, /* InEchos */ | ||
99 | ICMP6_MIB_INECHOREPLIES, /* InEchoReplies */ | ||
100 | ICMP6_MIB_INGROUPMEMBQUERIES, /* InGroupMembQueries */ | ||
101 | ICMP6_MIB_INGROUPMEMBRESPONSES, /* InGroupMembResponses */ | ||
102 | ICMP6_MIB_INGROUPMEMBREDUCTIONS, /* InGroupMembReductions */ | ||
103 | ICMP6_MIB_INROUTERSOLICITS, /* InRouterSolicits */ | ||
104 | ICMP6_MIB_INROUTERADVERTISEMENTS, /* InRouterAdvertisements */ | ||
105 | ICMP6_MIB_INNEIGHBORSOLICITS, /* InNeighborSolicits */ | ||
106 | ICMP6_MIB_INNEIGHBORADVERTISEMENTS, /* InNeighborAdvertisements */ | ||
107 | ICMP6_MIB_INREDIRECTS, /* InRedirects */ | ||
108 | ICMP6_MIB_OUTMSGS, /* OutMsgs */ | 96 | ICMP6_MIB_OUTMSGS, /* OutMsgs */ |
109 | ICMP6_MIB_OUTDESTUNREACHS, /* OutDestUnreachs */ | ||
110 | ICMP6_MIB_OUTPKTTOOBIGS, /* OutPktTooBigs */ | ||
111 | ICMP6_MIB_OUTTIMEEXCDS, /* OutTimeExcds */ | ||
112 | ICMP6_MIB_OUTPARMPROBLEMS, /* OutParmProblems */ | ||
113 | ICMP6_MIB_OUTECHOREPLIES, /* OutEchoReplies */ | ||
114 | ICMP6_MIB_OUTROUTERSOLICITS, /* OutRouterSolicits */ | ||
115 | ICMP6_MIB_OUTNEIGHBORSOLICITS, /* OutNeighborSolicits */ | ||
116 | ICMP6_MIB_OUTNEIGHBORADVERTISEMENTS, /* OutNeighborAdvertisements */ | ||
117 | ICMP6_MIB_OUTREDIRECTS, /* OutRedirects */ | ||
118 | ICMP6_MIB_OUTGROUPMEMBRESPONSES, /* OutGroupMembResponses */ | ||
119 | ICMP6_MIB_OUTGROUPMEMBREDUCTIONS, /* OutGroupMembReductions */ | ||
120 | __ICMP6_MIB_MAX | 97 | __ICMP6_MIB_MAX |
121 | }; | 98 | }; |
122 | 99 | ||
100 | #define __ICMP6MSG_MIB_MAX 512 /* Out+In for all 8-bit ICMPv6 types */ | ||
101 | |||
123 | /* tcp mib definitions */ | 102 | /* tcp mib definitions */ |
124 | /* | 103 | /* |
125 | * RFC 1213: MIB-II TCP group | 104 | * RFC 1213: MIB-II TCP group |
@@ -231,6 +210,10 @@ enum | |||
231 | LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */ | 210 | LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */ |
232 | LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */ | 211 | LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */ |
233 | LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */ | 212 | LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */ |
213 | LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */ | ||
214 | LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */ | ||
215 | LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */ | ||
216 | LINUX_MIB_TCPSPURIOUSRTOS, /* TCPSpuriousRTOs */ | ||
234 | __LINUX_MIB_MAX | 217 | __LINUX_MIB_MAX |
235 | }; | 218 | }; |
236 | 219 | ||
diff --git a/include/linux/spi/mmc_spi.h b/include/linux/spi/mmc_spi.h new file mode 100644 index 000000000000..e9bbe3ebd721 --- /dev/null +++ b/include/linux/spi/mmc_spi.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef __LINUX_SPI_MMC_SPI_H | ||
2 | #define __LINUX_SPI_MMC_SPI_H | ||
3 | |||
4 | struct device; | ||
5 | struct mmc_host; | ||
6 | |||
7 | /* Put this in platform_data of a device being used to manage an MMC/SD | ||
8 | * card slot. (Modeled after PXA mmc glue; see that for usage examples.) | ||
9 | * | ||
10 | * REVISIT This is not a spi-specific notion. Any card slot should be | ||
11 | * able to handle it. If the MMC core doesn't adopt this kind of notion, | ||
12 | * switch the "struct device *" parameters over to "struct spi_device *". | ||
13 | */ | ||
14 | struct mmc_spi_platform_data { | ||
15 | /* driver activation and (optional) card detect irq hookup */ | ||
16 | int (*init)(struct device *, | ||
17 | irqreturn_t (*)(int, void *), | ||
18 | void *); | ||
19 | void (*exit)(struct device *, void *); | ||
20 | |||
21 | /* sense switch on sd cards */ | ||
22 | int (*get_ro)(struct device *); | ||
23 | |||
24 | /* how long to debounce card detect, in msecs */ | ||
25 | u16 detect_delay; | ||
26 | |||
27 | /* power management */ | ||
28 | u16 powerup_msecs; /* delay of up to 250 msec */ | ||
29 | u32 ocr_mask; /* available voltages */ | ||
30 | void (*setpower)(struct device *, unsigned int maskval); | ||
31 | }; | ||
32 | |||
33 | #endif /* __LINUX_SPI_MMC_SPI_H */ | ||
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h new file mode 100644 index 000000000000..2b5c312c4960 --- /dev/null +++ b/include/linux/ssb/ssb.h | |||
@@ -0,0 +1,424 @@ | |||
1 | #ifndef LINUX_SSB_H_ | ||
2 | #define LINUX_SSB_H_ | ||
3 | |||
4 | #include <linux/device.h> | ||
5 | #include <linux/list.h> | ||
6 | #include <linux/types.h> | ||
7 | #include <linux/spinlock.h> | ||
8 | #include <linux/pci.h> | ||
9 | #include <linux/mod_devicetable.h> | ||
10 | |||
11 | #include <linux/ssb/ssb_regs.h> | ||
12 | |||
13 | |||
14 | struct pcmcia_device; | ||
15 | struct ssb_bus; | ||
16 | struct ssb_driver; | ||
17 | |||
18 | |||
19 | struct ssb_sprom_r1 { | ||
20 | u16 pci_spid; /* Subsystem Product ID for PCI */ | ||
21 | u16 pci_svid; /* Subsystem Vendor ID for PCI */ | ||
22 | u16 pci_pid; /* Product ID for PCI */ | ||
23 | u8 il0mac[6]; /* MAC address for 802.11b/g */ | ||
24 | u8 et0mac[6]; /* MAC address for Ethernet */ | ||
25 | u8 et1mac[6]; /* MAC address for 802.11a */ | ||
26 | u8 et0phyaddr:5; /* MII address for enet0 */ | ||
27 | u8 et1phyaddr:5; /* MII address for enet1 */ | ||
28 | u8 et0mdcport:1; /* MDIO for enet0 */ | ||
29 | u8 et1mdcport:1; /* MDIO for enet1 */ | ||
30 | u8 board_rev; /* Board revision */ | ||
31 | u8 country_code:4; /* Country Code */ | ||
32 | u8 antenna_a:2; /* Antenna 0/1 available for A-PHY */ | ||
33 | u8 antenna_bg:2; /* Antenna 0/1 available for B-PHY and G-PHY */ | ||
34 | u16 pa0b0; | ||
35 | u16 pa0b1; | ||
36 | u16 pa0b2; | ||
37 | u16 pa1b0; | ||
38 | u16 pa1b1; | ||
39 | u16 pa1b2; | ||
40 | u8 gpio0; /* GPIO pin 0 */ | ||
41 | u8 gpio1; /* GPIO pin 1 */ | ||
42 | u8 gpio2; /* GPIO pin 2 */ | ||
43 | u8 gpio3; /* GPIO pin 3 */ | ||
44 | u16 maxpwr_a; /* A-PHY Power Amplifier Max Power (in dBm Q5.2) */ | ||
45 | u16 maxpwr_bg; /* B/G-PHY Power Amplifier Max Power (in dBm Q5.2) */ | ||
46 | u8 itssi_a; /* Idle TSSI Target for A-PHY */ | ||
47 | u8 itssi_bg; /* Idle TSSI Target for B/G-PHY */ | ||
48 | u16 boardflags_lo; /* Boardflags (low 16 bits) */ | ||
49 | u8 antenna_gain_a; /* A-PHY Antenna gain (in dBm Q5.2) */ | ||
50 | u8 antenna_gain_bg; /* B/G-PHY Antenna gain (in dBm Q5.2) */ | ||
51 | u8 oem[8]; /* OEM string (rev 1 only) */ | ||
52 | }; | ||
53 | |||
54 | struct ssb_sprom_r2 { | ||
55 | u16 boardflags_hi; /* Boardflags (high 16 bits) */ | ||
56 | u8 maxpwr_a_lo; /* A-PHY Max Power Low */ | ||
57 | u8 maxpwr_a_hi; /* A-PHY Max Power High */ | ||
58 | u16 pa1lob0; /* A-PHY PA Low Settings */ | ||
59 | u16 pa1lob1; /* A-PHY PA Low Settings */ | ||
60 | u16 pa1lob2; /* A-PHY PA Low Settings */ | ||
61 | u16 pa1hib0; /* A-PHY PA High Settings */ | ||
62 | u16 pa1hib1; /* A-PHY PA High Settings */ | ||
63 | u16 pa1hib2; /* A-PHY PA High Settings */ | ||
64 | u8 ofdm_pwr_off; /* OFDM Power Offset from CCK Level */ | ||
65 | u8 country_str[2]; /* Two char Country Code */ | ||
66 | }; | ||
67 | |||
68 | struct ssb_sprom_r3 { | ||
69 | u32 ofdmapo; /* A-PHY OFDM Mid Power Offset */ | ||
70 | u32 ofdmalpo; /* A-PHY OFDM Low Power Offset */ | ||
71 | u32 ofdmahpo; /* A-PHY OFDM High Power Offset */ | ||
72 | u8 gpioldc_on_cnt; /* GPIO LED Powersave Duty Cycle ON count */ | ||
73 | u8 gpioldc_off_cnt; /* GPIO LED Powersave Duty Cycle OFF count */ | ||
74 | u8 cckpo_1M:4; /* CCK Power Offset for Rate 1M */ | ||
75 | u8 cckpo_2M:4; /* CCK Power Offset for Rate 2M */ | ||
76 | u8 cckpo_55M:4; /* CCK Power Offset for Rate 5.5M */ | ||
77 | u8 cckpo_11M:4; /* CCK Power Offset for Rate 11M */ | ||
78 | u32 ofdmgpo; /* G-PHY OFDM Power Offset */ | ||
79 | }; | ||
80 | |||
81 | struct ssb_sprom_r4 { | ||
82 | /* TODO */ | ||
83 | }; | ||
84 | |||
85 | struct ssb_sprom { | ||
86 | u8 revision; | ||
87 | u8 crc; | ||
88 | /* The valid r# fields are selected by the "revision". | ||
89 | * Revision 3 and lower inherit from lower revisions. | ||
90 | */ | ||
91 | union { | ||
92 | struct { | ||
93 | struct ssb_sprom_r1 r1; | ||
94 | struct ssb_sprom_r2 r2; | ||
95 | struct ssb_sprom_r3 r3; | ||
96 | }; | ||
97 | struct ssb_sprom_r4 r4; | ||
98 | }; | ||
99 | }; | ||
100 | |||
101 | /* Information about the PCB the circuitry is soldered on. */ | ||
102 | struct ssb_boardinfo { | ||
103 | u16 vendor; | ||
104 | u16 type; | ||
105 | u16 rev; | ||
106 | }; | ||
107 | |||
108 | |||
109 | struct ssb_device; | ||
110 | /* Lowlevel read/write operations on the device MMIO. | ||
111 | * Internal, don't use that outside of ssb. */ | ||
112 | struct ssb_bus_ops { | ||
113 | u16 (*read16)(struct ssb_device *dev, u16 offset); | ||
114 | u32 (*read32)(struct ssb_device *dev, u16 offset); | ||
115 | void (*write16)(struct ssb_device *dev, u16 offset, u16 value); | ||
116 | void (*write32)(struct ssb_device *dev, u16 offset, u32 value); | ||
117 | }; | ||
118 | |||
119 | |||
120 | /* Core-ID values. */ | ||
121 | #define SSB_DEV_CHIPCOMMON 0x800 | ||
122 | #define SSB_DEV_ILINE20 0x801 | ||
123 | #define SSB_DEV_SDRAM 0x803 | ||
124 | #define SSB_DEV_PCI 0x804 | ||
125 | #define SSB_DEV_MIPS 0x805 | ||
126 | #define SSB_DEV_ETHERNET 0x806 | ||
127 | #define SSB_DEV_V90 0x807 | ||
128 | #define SSB_DEV_USB11_HOSTDEV 0x808 | ||
129 | #define SSB_DEV_ADSL 0x809 | ||
130 | #define SSB_DEV_ILINE100 0x80A | ||
131 | #define SSB_DEV_IPSEC 0x80B | ||
132 | #define SSB_DEV_PCMCIA 0x80D | ||
133 | #define SSB_DEV_INTERNAL_MEM 0x80E | ||
134 | #define SSB_DEV_MEMC_SDRAM 0x80F | ||
135 | #define SSB_DEV_EXTIF 0x811 | ||
136 | #define SSB_DEV_80211 0x812 | ||
137 | #define SSB_DEV_MIPS_3302 0x816 | ||
138 | #define SSB_DEV_USB11_HOST 0x817 | ||
139 | #define SSB_DEV_USB11_DEV 0x818 | ||
140 | #define SSB_DEV_USB20_HOST 0x819 | ||
141 | #define SSB_DEV_USB20_DEV 0x81A | ||
142 | #define SSB_DEV_SDIO_HOST 0x81B | ||
143 | #define SSB_DEV_ROBOSWITCH 0x81C | ||
144 | #define SSB_DEV_PARA_ATA 0x81D | ||
145 | #define SSB_DEV_SATA_XORDMA 0x81E | ||
146 | #define SSB_DEV_ETHERNET_GBIT 0x81F | ||
147 | #define SSB_DEV_PCIE 0x820 | ||
148 | #define SSB_DEV_MIMO_PHY 0x821 | ||
149 | #define SSB_DEV_SRAM_CTRLR 0x822 | ||
150 | #define SSB_DEV_MINI_MACPHY 0x823 | ||
151 | #define SSB_DEV_ARM_1176 0x824 | ||
152 | #define SSB_DEV_ARM_7TDMI 0x825 | ||
153 | |||
154 | /* Vendor-ID values */ | ||
155 | #define SSB_VENDOR_BROADCOM 0x4243 | ||
156 | |||
157 | /* Some kernel subsystems poke with dev->drvdata, so we must use the | ||
158 | * following ugly workaround to get from struct device to struct ssb_device */ | ||
159 | struct __ssb_dev_wrapper { | ||
160 | struct device dev; | ||
161 | struct ssb_device *sdev; | ||
162 | }; | ||
163 | |||
164 | struct ssb_device { | ||
165 | /* Having a copy of the ops pointer in each dev struct | ||
166 | * is an optimization. */ | ||
167 | const struct ssb_bus_ops *ops; | ||
168 | |||
169 | struct device *dev; | ||
170 | struct ssb_bus *bus; | ||
171 | struct ssb_device_id id; | ||
172 | |||
173 | u8 core_index; | ||
174 | unsigned int irq; | ||
175 | |||
176 | /* Internal-only stuff follows. */ | ||
177 | void *drvdata; /* Per-device data */ | ||
178 | void *devtypedata; /* Per-devicetype (eg 802.11) data */ | ||
179 | }; | ||
180 | |||
181 | /* Go from struct device to struct ssb_device. */ | ||
182 | static inline | ||
183 | struct ssb_device * dev_to_ssb_dev(struct device *dev) | ||
184 | { | ||
185 | struct __ssb_dev_wrapper *wrap; | ||
186 | wrap = container_of(dev, struct __ssb_dev_wrapper, dev); | ||
187 | return wrap->sdev; | ||
188 | } | ||
189 | |||
190 | /* Device specific user data */ | ||
191 | static inline | ||
192 | void ssb_set_drvdata(struct ssb_device *dev, void *data) | ||
193 | { | ||
194 | dev->drvdata = data; | ||
195 | } | ||
196 | static inline | ||
197 | void * ssb_get_drvdata(struct ssb_device *dev) | ||
198 | { | ||
199 | return dev->drvdata; | ||
200 | } | ||
201 | |||
202 | /* Devicetype specific user data. This is per device-type (not per device) */ | ||
203 | void ssb_set_devtypedata(struct ssb_device *dev, void *data); | ||
204 | static inline | ||
205 | void * ssb_get_devtypedata(struct ssb_device *dev) | ||
206 | { | ||
207 | return dev->devtypedata; | ||
208 | } | ||
209 | |||
210 | |||
211 | struct ssb_driver { | ||
212 | const char *name; | ||
213 | const struct ssb_device_id *id_table; | ||
214 | |||
215 | int (*probe)(struct ssb_device *dev, const struct ssb_device_id *id); | ||
216 | void (*remove)(struct ssb_device *dev); | ||
217 | int (*suspend)(struct ssb_device *dev, pm_message_t state); | ||
218 | int (*resume)(struct ssb_device *dev); | ||
219 | void (*shutdown)(struct ssb_device *dev); | ||
220 | |||
221 | struct device_driver drv; | ||
222 | }; | ||
223 | #define drv_to_ssb_drv(_drv) container_of(_drv, struct ssb_driver, drv) | ||
224 | |||
225 | extern int __ssb_driver_register(struct ssb_driver *drv, struct module *owner); | ||
226 | static inline int ssb_driver_register(struct ssb_driver *drv) | ||
227 | { | ||
228 | return __ssb_driver_register(drv, THIS_MODULE); | ||
229 | } | ||
230 | extern void ssb_driver_unregister(struct ssb_driver *drv); | ||
231 | |||
232 | |||
233 | |||
234 | |||
235 | enum ssb_bustype { | ||
236 | SSB_BUSTYPE_SSB, /* This SSB bus is the system bus */ | ||
237 | SSB_BUSTYPE_PCI, /* SSB is connected to PCI bus */ | ||
238 | SSB_BUSTYPE_PCMCIA, /* SSB is connected to PCMCIA bus */ | ||
239 | }; | ||
240 | |||
241 | /* board_vendor */ | ||
242 | #define SSB_BOARDVENDOR_BCM 0x14E4 /* Broadcom */ | ||
243 | #define SSB_BOARDVENDOR_DELL 0x1028 /* Dell */ | ||
244 | #define SSB_BOARDVENDOR_HP 0x0E11 /* HP */ | ||
245 | /* board_type */ | ||
246 | #define SSB_BOARD_BCM94306MP 0x0418 | ||
247 | #define SSB_BOARD_BCM4309G 0x0421 | ||
248 | #define SSB_BOARD_BCM4306CB 0x0417 | ||
249 | #define SSB_BOARD_BCM4309MP 0x040C | ||
250 | #define SSB_BOARD_MP4318 0x044A | ||
251 | #define SSB_BOARD_BU4306 0x0416 | ||
252 | #define SSB_BOARD_BU4309 0x040A | ||
253 | /* chip_package */ | ||
254 | #define SSB_CHIPPACK_BCM4712S 1 /* Small 200pin 4712 */ | ||
255 | #define SSB_CHIPPACK_BCM4712M 2 /* Medium 225pin 4712 */ | ||
256 | #define SSB_CHIPPACK_BCM4712L 0 /* Large 340pin 4712 */ | ||
257 | |||
258 | #include <linux/ssb/ssb_driver_chipcommon.h> | ||
259 | #include <linux/ssb/ssb_driver_mips.h> | ||
260 | #include <linux/ssb/ssb_driver_extif.h> | ||
261 | #include <linux/ssb/ssb_driver_pci.h> | ||
262 | |||
263 | struct ssb_bus { | ||
264 | /* The MMIO area. */ | ||
265 | void __iomem *mmio; | ||
266 | |||
267 | const struct ssb_bus_ops *ops; | ||
268 | |||
269 | /* The core in the basic address register window. (PCI bus only) */ | ||
270 | struct ssb_device *mapped_device; | ||
271 | /* Currently mapped PCMCIA segment. (bustype == SSB_BUSTYPE_PCMCIA only) */ | ||
272 | u8 mapped_pcmcia_seg; | ||
273 | /* Lock for core and segment switching. */ | ||
274 | spinlock_t bar_lock; | ||
275 | |||
276 | /* The bus this backplane is running on. */ | ||
277 | enum ssb_bustype bustype; | ||
278 | /* Pointer to the PCI bus (only valid if bustype == SSB_BUSTYPE_PCI). */ | ||
279 | struct pci_dev *host_pci; | ||
280 | /* Pointer to the PCMCIA device (only if bustype == SSB_BUSTYPE_PCMCIA). */ | ||
281 | struct pcmcia_device *host_pcmcia; | ||
282 | |||
283 | #ifdef CONFIG_SSB_PCIHOST | ||
284 | /* Mutex to protect the SPROM writing. */ | ||
285 | struct mutex pci_sprom_mutex; | ||
286 | #endif | ||
287 | |||
288 | /* ID information about the Chip. */ | ||
289 | u16 chip_id; | ||
290 | u16 chip_rev; | ||
291 | u8 chip_package; | ||
292 | |||
293 | /* List of devices (cores) on the backplane. */ | ||
294 | struct ssb_device devices[SSB_MAX_NR_CORES]; | ||
295 | u8 nr_devices; | ||
296 | |||
297 | /* Reference count. Number of suspended devices. */ | ||
298 | u8 suspend_cnt; | ||
299 | |||
300 | /* Software ID number for this bus. */ | ||
301 | unsigned int busnumber; | ||
302 | |||
303 | /* The ChipCommon device (if available). */ | ||
304 | struct ssb_chipcommon chipco; | ||
305 | /* The PCI-core device (if available). */ | ||
306 | struct ssb_pcicore pcicore; | ||
307 | /* The MIPS-core device (if available). */ | ||
308 | struct ssb_mipscore mipscore; | ||
309 | /* The EXTif-core device (if available). */ | ||
310 | struct ssb_extif extif; | ||
311 | |||
312 | /* The following structure elements are not available in early | ||
313 | * SSB initialization. Though, they are available for regular | ||
314 | * registered drivers at any stage. So be careful when | ||
315 | * using them in the ssb core code. */ | ||
316 | |||
317 | /* ID information about the PCB. */ | ||
318 | struct ssb_boardinfo boardinfo; | ||
319 | /* Contents of the SPROM. */ | ||
320 | struct ssb_sprom sprom; | ||
321 | |||
322 | /* Internal-only stuff follows. Do not touch. */ | ||
323 | struct list_head list; | ||
324 | #ifdef CONFIG_SSB_DEBUG | ||
325 | /* Is the bus already powered up? */ | ||
326 | bool powered_up; | ||
327 | int power_warn_count; | ||
328 | #endif /* DEBUG */ | ||
329 | }; | ||
330 | |||
331 | /* The initialization-invariants. */ | ||
332 | struct ssb_init_invariants { | ||
333 | struct ssb_boardinfo boardinfo; | ||
334 | struct ssb_sprom sprom; | ||
335 | }; | ||
336 | /* Type of function to fetch the invariants. */ | ||
337 | typedef int (*ssb_invariants_func_t)(struct ssb_bus *bus, | ||
338 | struct ssb_init_invariants *iv); | ||
339 | |||
340 | /* Register a SSB system bus. get_invariants() is called after the | ||
341 | * basic system devices are initialized. | ||
342 | * The invariants are usually fetched from some NVRAM. | ||
343 | * Put the invariants into the struct pointed to by iv. */ | ||
344 | extern int ssb_bus_ssbbus_register(struct ssb_bus *bus, | ||
345 | unsigned long baseaddr, | ||
346 | ssb_invariants_func_t get_invariants); | ||
347 | #ifdef CONFIG_SSB_PCIHOST | ||
348 | extern int ssb_bus_pcibus_register(struct ssb_bus *bus, | ||
349 | struct pci_dev *host_pci); | ||
350 | #endif /* CONFIG_SSB_PCIHOST */ | ||
351 | #ifdef CONFIG_SSB_PCMCIAHOST | ||
352 | extern int ssb_bus_pcmciabus_register(struct ssb_bus *bus, | ||
353 | struct pcmcia_device *pcmcia_dev, | ||
354 | unsigned long baseaddr); | ||
355 | #endif /* CONFIG_SSB_PCMCIAHOST */ | ||
356 | |||
357 | extern void ssb_bus_unregister(struct ssb_bus *bus); | ||
358 | |||
359 | extern u32 ssb_clockspeed(struct ssb_bus *bus); | ||
360 | |||
361 | /* Is the device enabled in hardware? */ | ||
362 | int ssb_device_is_enabled(struct ssb_device *dev); | ||
363 | /* Enable a device and pass device-specific SSB_TMSLOW flags. | ||
364 | * If no device-specific flags are available, use 0. */ | ||
365 | void ssb_device_enable(struct ssb_device *dev, u32 core_specific_flags); | ||
366 | /* Disable a device in hardware and pass SSB_TMSLOW flags (if any). */ | ||
367 | void ssb_device_disable(struct ssb_device *dev, u32 core_specific_flags); | ||
368 | |||
369 | |||
370 | /* Device MMIO register read/write functions. */ | ||
371 | static inline u16 ssb_read16(struct ssb_device *dev, u16 offset) | ||
372 | { | ||
373 | return dev->ops->read16(dev, offset); | ||
374 | } | ||
375 | static inline u32 ssb_read32(struct ssb_device *dev, u16 offset) | ||
376 | { | ||
377 | return dev->ops->read32(dev, offset); | ||
378 | } | ||
379 | static inline void ssb_write16(struct ssb_device *dev, u16 offset, u16 value) | ||
380 | { | ||
381 | dev->ops->write16(dev, offset, value); | ||
382 | } | ||
383 | static inline void ssb_write32(struct ssb_device *dev, u16 offset, u32 value) | ||
384 | { | ||
385 | dev->ops->write32(dev, offset, value); | ||
386 | } | ||
387 | |||
388 | |||
389 | /* Translation (routing) bits that need to be ORed to DMA | ||
390 | * addresses before they are given to a device. */ | ||
391 | extern u32 ssb_dma_translation(struct ssb_device *dev); | ||
392 | #define SSB_DMA_TRANSLATION_MASK 0xC0000000 | ||
393 | #define SSB_DMA_TRANSLATION_SHIFT 30 | ||
394 | |||
395 | extern int ssb_dma_set_mask(struct ssb_device *ssb_dev, u64 mask); | ||
396 | |||
397 | |||
398 | #ifdef CONFIG_SSB_PCIHOST | ||
399 | /* PCI-host wrapper driver */ | ||
400 | extern int ssb_pcihost_register(struct pci_driver *driver); | ||
401 | static inline void ssb_pcihost_unregister(struct pci_driver *driver) | ||
402 | { | ||
403 | pci_unregister_driver(driver); | ||
404 | } | ||
405 | #endif /* CONFIG_SSB_PCIHOST */ | ||
406 | |||
407 | |||
408 | /* If a driver is shutdown or suspended, call this to signal | ||
409 | * that the bus may be completely powered down. SSB will decide, | ||
410 | * if it's really time to power down the bus, based on if there | ||
411 | * are other devices that want to run. */ | ||
412 | extern int ssb_bus_may_powerdown(struct ssb_bus *bus); | ||
413 | /* Before initializing and enabling a device, call this to power-up the bus. | ||
414 | * If you want to allow use of dynamic-power-control, pass the flag. | ||
415 | * Otherwise static always-on powercontrol will be used. */ | ||
416 | extern int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl); | ||
417 | |||
418 | |||
419 | /* Various helper functions */ | ||
420 | extern u32 ssb_admatch_base(u32 adm); | ||
421 | extern u32 ssb_admatch_size(u32 adm); | ||
422 | |||
423 | |||
424 | #endif /* LINUX_SSB_H_ */ | ||
diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h new file mode 100644 index 000000000000..4cb995494662 --- /dev/null +++ b/include/linux/ssb/ssb_driver_chipcommon.h | |||
@@ -0,0 +1,396 @@ | |||
1 | #ifndef LINUX_SSB_CHIPCO_H_ | ||
2 | #define LINUX_SSB_CHIPCO_H_ | ||
3 | |||
4 | /* SonicsSiliconBackplane CHIPCOMMON core hardware definitions | ||
5 | * | ||
6 | * The chipcommon core provides chip identification, SB control, | ||
7 | * jtag, 0/1/2 uarts, clock frequency control, a watchdog interrupt timer, | ||
8 | * gpio interface, extbus, and support for serial and parallel flashes. | ||
9 | * | ||
10 | * Copyright 2005, Broadcom Corporation | ||
11 | * Copyright 2006, Michael Buesch <mb@bu3sch.de> | ||
12 | * | ||
13 | * Licensed under the GPL version 2. See COPYING for details. | ||
14 | */ | ||
15 | |||
16 | /** ChipCommon core registers. **/ | ||
17 | |||
18 | #define SSB_CHIPCO_CHIPID 0x0000 | ||
19 | #define SSB_CHIPCO_IDMASK 0x0000FFFF | ||
20 | #define SSB_CHIPCO_REVMASK 0x000F0000 | ||
21 | #define SSB_CHIPCO_REVSHIFT 16 | ||
22 | #define SSB_CHIPCO_PACKMASK 0x00F00000 | ||
23 | #define SSB_CHIPCO_PACKSHIFT 20 | ||
24 | #define SSB_CHIPCO_NRCORESMASK 0x0F000000 | ||
25 | #define SSB_CHIPCO_NRCORESSHIFT 24 | ||
26 | #define SSB_CHIPCO_CAP 0x0004 /* Capabilities */ | ||
27 | #define SSB_CHIPCO_CAP_NRUART 0x00000003 /* # of UARTs */ | ||
28 | #define SSB_CHIPCO_CAP_MIPSEB 0x00000004 /* MIPS in BigEndian Mode */ | ||
29 | #define SSB_CHIPCO_CAP_UARTCLK 0x00000018 /* UART clock select */ | ||
30 | #define SSB_CHIPCO_CAP_UARTCLK_INT 0x00000008 /* UARTs are driven by internal divided clock */ | ||
31 | #define SSB_CHIPCO_CAP_UARTGPIO 0x00000020 /* UARTs on GPIO 15-12 */ | ||
32 | #define SSB_CHIPCO_CAP_EXTBUS 0x000000C0 /* External buses present */ | ||
33 | #define SSB_CHIPCO_CAP_FLASHT 0x00000700 /* Flash Type */ | ||
34 | #define SSB_CHIPCO_FLASHT_NONE 0x00000000 /* No flash */ | ||
35 | #define SSB_CHIPCO_FLASHT_STSER 0x00000100 /* ST serial flash */ | ||
36 | #define SSB_CHIPCO_FLASHT_ATSER 0x00000200 /* Atmel serial flash */ | ||
37 | #define SSB_CHIPCO_FLASHT_PARA 0x00000700 /* Parallel flash */ | ||
38 | #define SSB_CHIPCO_CAP_PLLT 0x00038000 /* PLL Type */ | ||
39 | #define SSB_PLLTYPE_NONE 0x00000000 | ||
40 | #define SSB_PLLTYPE_1 0x00010000 /* 48Mhz base, 3 dividers */ | ||
41 | #define SSB_PLLTYPE_2 0x00020000 /* 48Mhz, 4 dividers */ | ||
42 | #define SSB_PLLTYPE_3 0x00030000 /* 25Mhz, 2 dividers */ | ||
43 | #define SSB_PLLTYPE_4 0x00008000 /* 48Mhz, 4 dividers */ | ||
44 | #define SSB_PLLTYPE_5 0x00018000 /* 25Mhz, 4 dividers */ | ||
45 | #define SSB_PLLTYPE_6 0x00028000 /* 100/200 or 120/240 only */ | ||
46 | #define SSB_PLLTYPE_7 0x00038000 /* 25Mhz, 4 dividers */ | ||
47 | #define SSB_CHIPCO_CAP_PCTL 0x00040000 /* Power Control */ | ||
48 | #define SSB_CHIPCO_CAP_OTPS 0x00380000 /* OTP size */ | ||
49 | #define SSB_CHIPCO_CAP_OTPS_SHIFT 19 | ||
50 | #define SSB_CHIPCO_CAP_OTPS_BASE 5 | ||
51 | #define SSB_CHIPCO_CAP_JTAGM 0x00400000 /* JTAG master present */ | ||
52 | #define SSB_CHIPCO_CAP_BROM 0x00800000 /* Internal boot ROM active */ | ||
53 | #define SSB_CHIPCO_CAP_64BIT 0x08000000 /* 64-bit Backplane */ | ||
54 | #define SSB_CHIPCO_CORECTL 0x0008 | ||
55 | #define SSB_CHIPCO_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ | ||
56 | #define SSB_CHIPCO_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ | ||
57 | #define SSB_CHIPCO_BIST 0x000C | ||
58 | #define SSB_CHIPCO_OTPS 0x0010 /* OTP status */ | ||
59 | #define SSB_CHIPCO_OTPS_PROGFAIL 0x80000000 | ||
60 | #define SSB_CHIPCO_OTPS_PROTECT 0x00000007 | ||
61 | #define SSB_CHIPCO_OTPS_HW_PROTECT 0x00000001 | ||
62 | #define SSB_CHIPCO_OTPS_SW_PROTECT 0x00000002 | ||
63 | #define SSB_CHIPCO_OTPS_CID_PROTECT 0x00000004 | ||
64 | #define SSB_CHIPCO_OTPC 0x0014 /* OTP control */ | ||
65 | #define SSB_CHIPCO_OTPC_RECWAIT 0xFF000000 | ||
66 | #define SSB_CHIPCO_OTPC_PROGWAIT 0x00FFFF00 | ||
67 | #define SSB_CHIPCO_OTPC_PRW_SHIFT 8 | ||
68 | #define SSB_CHIPCO_OTPC_MAXFAIL 0x00000038 | ||
69 | #define SSB_CHIPCO_OTPC_VSEL 0x00000006 | ||
70 | #define SSB_CHIPCO_OTPC_SELVL 0x00000001 | ||
71 | #define SSB_CHIPCO_OTPP 0x0018 /* OTP prog */ | ||
72 | #define SSB_CHIPCO_OTPP_COL 0x000000FF | ||
73 | #define SSB_CHIPCO_OTPP_ROW 0x0000FF00 | ||
74 | #define SSB_CHIPCO_OTPP_ROW_SHIFT 8 | ||
75 | #define SSB_CHIPCO_OTPP_READERR 0x10000000 | ||
76 | #define SSB_CHIPCO_OTPP_VALUE 0x20000000 | ||
77 | #define SSB_CHIPCO_OTPP_READ 0x40000000 | ||
78 | #define SSB_CHIPCO_OTPP_START 0x80000000 | ||
79 | #define SSB_CHIPCO_OTPP_BUSY 0x80000000 | ||
80 | #define SSB_CHIPCO_IRQSTAT 0x0020 | ||
81 | #define SSB_CHIPCO_IRQMASK 0x0024 | ||
82 | #define SSB_CHIPCO_IRQ_GPIO 0x00000001 /* gpio intr */ | ||
83 | #define SSB_CHIPCO_IRQ_EXT 0x00000002 /* ro: ext intr pin (corerev >= 3) */ | ||
84 | #define SSB_CHIPCO_IRQ_WDRESET 0x80000000 /* watchdog reset occurred */ | ||
85 | #define SSB_CHIPCO_CHIPCTL 0x0028 /* Rev >= 11 only */ | ||
86 | #define SSB_CHIPCO_CHIPSTAT 0x002C /* Rev >= 11 only */ | ||
87 | #define SSB_CHIPCO_JCMD 0x0030 /* Rev >= 10 only */ | ||
88 | #define SSB_CHIPCO_JCMD_START 0x80000000 | ||
89 | #define SSB_CHIPCO_JCMD_BUSY 0x80000000 | ||
90 | #define SSB_CHIPCO_JCMD_PAUSE 0x40000000 | ||
91 | #define SSB_CHIPCO_JCMD0_ACC_MASK 0x0000F000 | ||
92 | #define SSB_CHIPCO_JCMD0_ACC_IRDR 0x00000000 | ||
93 | #define SSB_CHIPCO_JCMD0_ACC_DR 0x00001000 | ||
94 | #define SSB_CHIPCO_JCMD0_ACC_IR 0x00002000 | ||
95 | #define SSB_CHIPCO_JCMD0_ACC_RESET 0x00003000 | ||
96 | #define SSB_CHIPCO_JCMD0_ACC_IRPDR 0x00004000 | ||
97 | #define SSB_CHIPCO_JCMD0_ACC_PDR 0x00005000 | ||
98 | #define SSB_CHIPCO_JCMD0_IRW_MASK 0x00000F00 | ||
99 | #define SSB_CHIPCO_JCMD_ACC_MASK 0x000F0000 /* Changes for corerev 11 */ | ||
100 | #define SSB_CHIPCO_JCMD_ACC_IRDR 0x00000000 | ||
101 | #define SSB_CHIPCO_JCMD_ACC_DR 0x00010000 | ||
102 | #define SSB_CHIPCO_JCMD_ACC_IR 0x00020000 | ||
103 | #define SSB_CHIPCO_JCMD_ACC_RESET 0x00030000 | ||
104 | #define SSB_CHIPCO_JCMD_ACC_IRPDR 0x00040000 | ||
105 | #define SSB_CHIPCO_JCMD_ACC_PDR 0x00050000 | ||
106 | #define SSB_CHIPCO_JCMD_IRW_MASK 0x00001F00 | ||
107 | #define SSB_CHIPCO_JCMD_IRW_SHIFT 8 | ||
108 | #define SSB_CHIPCO_JCMD_DRW_MASK 0x0000003F | ||
109 | #define SSB_CHIPCO_JIR 0x0034 /* Rev >= 10 only */ | ||
110 | #define SSB_CHIPCO_JDR 0x0038 /* Rev >= 10 only */ | ||
111 | #define SSB_CHIPCO_JCTL 0x003C /* Rev >= 10 only */ | ||
112 | #define SSB_CHIPCO_JCTL_FORCE_CLK 4 /* Force clock */ | ||
113 | #define SSB_CHIPCO_JCTL_EXT_EN 2 /* Enable external targets */ | ||
114 | #define SSB_CHIPCO_JCTL_EN 1 /* Enable Jtag master */ | ||
115 | #define SSB_CHIPCO_FLASHCTL 0x0040 | ||
116 | #define SSB_CHIPCO_FLASHCTL_START 0x80000000 | ||
117 | #define SSB_CHIPCO_FLASHCTL_BUSY SSB_CHIPCO_FLASHCTL_START | ||
118 | #define SSB_CHIPCO_FLASHADDR 0x0044 | ||
119 | #define SSB_CHIPCO_FLASHDATA 0x0048 | ||
120 | #define SSB_CHIPCO_BCAST_ADDR 0x0050 | ||
121 | #define SSB_CHIPCO_BCAST_DATA 0x0054 | ||
122 | #define SSB_CHIPCO_GPIOIN 0x0060 | ||
123 | #define SSB_CHIPCO_GPIOOUT 0x0064 | ||
124 | #define SSB_CHIPCO_GPIOOUTEN 0x0068 | ||
125 | #define SSB_CHIPCO_GPIOCTL 0x006C | ||
126 | #define SSB_CHIPCO_GPIOPOL 0x0070 | ||
127 | #define SSB_CHIPCO_GPIOIRQ 0x0074 | ||
128 | #define SSB_CHIPCO_WATCHDOG 0x0080 | ||
129 | #define SSB_CHIPCO_GPIOTIMER 0x0088 /* LED powersave (corerev >= 16) */ | ||
130 | #define SSB_CHIPCO_GPIOTIMER_ONTIME_SHIFT 16 | ||
131 | #define SSB_CHIPCO_GPIOTOUTM 0x008C /* LED powersave (corerev >= 16) */ | ||
132 | #define SSB_CHIPCO_CLOCK_N 0x0090 | ||
133 | #define SSB_CHIPCO_CLOCK_SB 0x0094 | ||
134 | #define SSB_CHIPCO_CLOCK_PCI 0x0098 | ||
135 | #define SSB_CHIPCO_CLOCK_M2 0x009C | ||
136 | #define SSB_CHIPCO_CLOCK_MIPS 0x00A0 | ||
137 | #define SSB_CHIPCO_CLKDIV 0x00A4 /* Rev >= 3 only */ | ||
138 | #define SSB_CHIPCO_CLKDIV_SFLASH 0x0F000000 | ||
139 | #define SSB_CHIPCO_CLKDIV_SFLASH_SHIFT 24 | ||
140 | #define SSB_CHIPCO_CLKDIV_OTP 0x000F0000 | ||
141 | #define SSB_CHIPCO_CLKDIV_OTP_SHIFT 16 | ||
142 | #define SSB_CHIPCO_CLKDIV_JTAG 0x00000F00 | ||
143 | #define SSB_CHIPCO_CLKDIV_JTAG_SHIFT 8 | ||
144 | #define SSB_CHIPCO_CLKDIV_UART 0x000000FF | ||
145 | #define SSB_CHIPCO_PLLONDELAY 0x00B0 /* Rev >= 4 only */ | ||
146 | #define SSB_CHIPCO_FREFSELDELAY 0x00B4 /* Rev >= 4 only */ | ||
147 | #define SSB_CHIPCO_SLOWCLKCTL 0x00B8 /* 6 <= Rev <= 9 only */ | ||
148 | #define SSB_CHIPCO_SLOWCLKCTL_SRC 0x00000007 /* slow clock source mask */ | ||
149 | #define SSB_CHIPCO_SLOWCLKCTL_SRC_LPO 0x00000000 /* source of slow clock is LPO */ | ||
150 | #define SSB_CHIPCO_SLOWCLKCTL_SRC_XTAL 0x00000001 /* source of slow clock is crystal */ | ||
151 | #define SSB_CHIPCO_SLOECLKCTL_SRC_PCI 0x00000002 /* source of slow clock is PCI */ | ||
152 | #define SSB_CHIPCO_SLOWCLKCTL_LPOFREQ 0x00000200 /* LPOFreqSel, 1: 160Khz, 0: 32KHz */ | ||
153 | #define SSB_CHIPCO_SLOWCLKCTL_LPOPD 0x00000400 /* LPOPowerDown, 1: LPO is disabled, 0: LPO is enabled */ | ||
154 | #define SSB_CHIPCO_SLOWCLKCTL_FSLOW 0x00000800 /* ForceSlowClk, 1: sb/cores running on slow clock, 0: power logic control */ | ||
155 | #define SSB_CHIPCO_SLOWCLKCTL_IPLL 0x00001000 /* IgnorePllOffReq, 1/0: power logic ignores/honors PLL clock disable requests from core */ | ||
156 | #define SSB_CHIPCO_SLOWCLKCTL_ENXTAL 0x00002000 /* XtalControlEn, 1/0: power logic does/doesn't disable crystal when appropriate */ | ||
157 | #define SSB_CHIPCO_SLOWCLKCTL_XTALPU 0x00004000 /* XtalPU (RO), 1/0: crystal running/disabled */ | ||
158 | #define SSB_CHIPCO_SLOWCLKCTL_CLKDIV 0xFFFF0000 /* ClockDivider (SlowClk = 1/(4+divisor)) */ | ||
159 | #define SSB_CHIPCO_SLOWCLKCTL_CLKDIV_SHIFT 16 | ||
160 | #define SSB_CHIPCO_SYSCLKCTL 0x00C0 /* Rev >= 3 only */ | ||
161 | #define SSB_CHIPCO_SYSCLKCTL_IDLPEN 0x00000001 /* ILPen: Enable Idle Low Power */ | ||
162 | #define SSB_CHIPCO_SYSCLKCTL_ALPEN 0x00000002 /* ALPen: Enable Active Low Power */ | ||
163 | #define SSB_CHIPCO_SYSCLKCTL_PLLEN 0x00000004 /* ForcePLLOn */ | ||
164 | #define SSB_CHIPCO_SYSCLKCTL_FORCEALP 0x00000008 /* Force ALP (or HT if ALPen is not set */ | ||
165 | #define SSB_CHIPCO_SYSCLKCTL_FORCEHT 0x00000010 /* Force HT */ | ||
166 | #define SSB_CHIPCO_SYSCLKCTL_CLKDIV 0xFFFF0000 /* ClkDiv (ILP = 1/(4+divisor)) */ | ||
167 | #define SSB_CHIPCO_SYSCLKCTL_CLKDIV_SHIFT 16 | ||
168 | #define SSB_CHIPCO_CLKSTSTR 0x00C4 /* Rev >= 3 only */ | ||
169 | #define SSB_CHIPCO_PCMCIA_CFG 0x0100 | ||
170 | #define SSB_CHIPCO_PCMCIA_MEMWAIT 0x0104 | ||
171 | #define SSB_CHIPCO_PCMCIA_ATTRWAIT 0x0108 | ||
172 | #define SSB_CHIPCO_PCMCIA_IOWAIT 0x010C | ||
173 | #define SSB_CHIPCO_IDE_CFG 0x0110 | ||
174 | #define SSB_CHIPCO_IDE_MEMWAIT 0x0114 | ||
175 | #define SSB_CHIPCO_IDE_ATTRWAIT 0x0118 | ||
176 | #define SSB_CHIPCO_IDE_IOWAIT 0x011C | ||
177 | #define SSB_CHIPCO_PROG_CFG 0x0120 | ||
178 | #define SSB_CHIPCO_PROG_WAITCNT 0x0124 | ||
179 | #define SSB_CHIPCO_FLASH_CFG 0x0128 | ||
180 | #define SSB_CHIPCO_FLASH_WAITCNT 0x012C | ||
181 | #define SSB_CHIPCO_UART0_DATA 0x0300 | ||
182 | #define SSB_CHIPCO_UART0_IMR 0x0304 | ||
183 | #define SSB_CHIPCO_UART0_FCR 0x0308 | ||
184 | #define SSB_CHIPCO_UART0_LCR 0x030C | ||
185 | #define SSB_CHIPCO_UART0_MCR 0x0310 | ||
186 | #define SSB_CHIPCO_UART0_LSR 0x0314 | ||
187 | #define SSB_CHIPCO_UART0_MSR 0x0318 | ||
188 | #define SSB_CHIPCO_UART0_SCRATCH 0x031C | ||
189 | #define SSB_CHIPCO_UART1_DATA 0x0400 | ||
190 | #define SSB_CHIPCO_UART1_IMR 0x0404 | ||
191 | #define SSB_CHIPCO_UART1_FCR 0x0408 | ||
192 | #define SSB_CHIPCO_UART1_LCR 0x040C | ||
193 | #define SSB_CHIPCO_UART1_MCR 0x0410 | ||
194 | #define SSB_CHIPCO_UART1_LSR 0x0414 | ||
195 | #define SSB_CHIPCO_UART1_MSR 0x0418 | ||
196 | #define SSB_CHIPCO_UART1_SCRATCH 0x041C | ||
197 | |||
198 | |||
199 | |||
200 | /** Clockcontrol masks and values **/ | ||
201 | |||
202 | /* SSB_CHIPCO_CLOCK_N */ | ||
203 | #define SSB_CHIPCO_CLK_N1 0x0000003F /* n1 control */ | ||
204 | #define SSB_CHIPCO_CLK_N2 0x00003F00 /* n2 control */ | ||
205 | #define SSB_CHIPCO_CLK_N2_SHIFT 8 | ||
206 | #define SSB_CHIPCO_CLK_PLLC 0x000F0000 /* pll control */ | ||
207 | #define SSB_CHIPCO_CLK_PLLC_SHIFT 16 | ||
208 | |||
209 | /* SSB_CHIPCO_CLOCK_SB/PCI/UART */ | ||
210 | #define SSB_CHIPCO_CLK_M1 0x0000003F /* m1 control */ | ||
211 | #define SSB_CHIPCO_CLK_M2 0x00003F00 /* m2 control */ | ||
212 | #define SSB_CHIPCO_CLK_M2_SHIFT 8 | ||
213 | #define SSB_CHIPCO_CLK_M3 0x003F0000 /* m3 control */ | ||
214 | #define SSB_CHIPCO_CLK_M3_SHIFT 16 | ||
215 | #define SSB_CHIPCO_CLK_MC 0x1F000000 /* mux control */ | ||
216 | #define SSB_CHIPCO_CLK_MC_SHIFT 24 | ||
217 | |||
218 | /* N3M Clock control magic field values */ | ||
219 | #define SSB_CHIPCO_CLK_F6_2 0x02 /* A factor of 2 in */ | ||
220 | #define SSB_CHIPCO_CLK_F6_3 0x03 /* 6-bit fields like */ | ||
221 | #define SSB_CHIPCO_CLK_F6_4 0x05 /* N1, M1 or M3 */ | ||
222 | #define SSB_CHIPCO_CLK_F6_5 0x09 | ||
223 | #define SSB_CHIPCO_CLK_F6_6 0x11 | ||
224 | #define SSB_CHIPCO_CLK_F6_7 0x21 | ||
225 | |||
226 | #define SSB_CHIPCO_CLK_F5_BIAS 5 /* 5-bit fields get this added */ | ||
227 | |||
228 | #define SSB_CHIPCO_CLK_MC_BYPASS 0x08 | ||
229 | #define SSB_CHIPCO_CLK_MC_M1 0x04 | ||
230 | #define SSB_CHIPCO_CLK_MC_M1M2 0x02 | ||
231 | #define SSB_CHIPCO_CLK_MC_M1M2M3 0x01 | ||
232 | #define SSB_CHIPCO_CLK_MC_M1M3 0x11 | ||
233 | |||
234 | /* Type 2 Clock control magic field values */ | ||
235 | #define SSB_CHIPCO_CLK_T2_BIAS 2 /* n1, n2, m1 & m3 bias */ | ||
236 | #define SSB_CHIPCO_CLK_T2M2_BIAS 3 /* m2 bias */ | ||
237 | |||
238 | #define SSB_CHIPCO_CLK_T2MC_M1BYP 1 | ||
239 | #define SSB_CHIPCO_CLK_T2MC_M2BYP 2 | ||
240 | #define SSB_CHIPCO_CLK_T2MC_M3BYP 4 | ||
241 | |||
242 | /* Type 6 Clock control magic field values */ | ||
243 | #define SSB_CHIPCO_CLK_T6_MMASK 1 /* bits of interest in m */ | ||
244 | #define SSB_CHIPCO_CLK_T6_M0 120000000 /* sb clock for m = 0 */ | ||
245 | #define SSB_CHIPCO_CLK_T6_M1 100000000 /* sb clock for m = 1 */ | ||
246 | #define SSB_CHIPCO_CLK_SB2MIPS_T6(sb) (2 * (sb)) | ||
247 | |||
248 | /* Common clock base */ | ||
249 | #define SSB_CHIPCO_CLK_BASE1 24000000 /* Half the clock freq */ | ||
250 | #define SSB_CHIPCO_CLK_BASE2 12500000 /* Alternate crystal on some PLL's */ | ||
251 | |||
252 | /* Clock control values for 200Mhz in 5350 */ | ||
253 | #define SSB_CHIPCO_CLK_5350_N 0x0311 | ||
254 | #define SSB_CHIPCO_CLK_5350_M 0x04020009 | ||
255 | |||
256 | |||
257 | /** Bits in the config registers **/ | ||
258 | |||
259 | #define SSB_CHIPCO_CFG_EN 0x0001 /* Enable */ | ||
260 | #define SSB_CHIPCO_CFG_EXTM 0x000E /* Extif Mode */ | ||
261 | #define SSB_CHIPCO_CFG_EXTM_ASYNC 0x0002 /* Async/Parallel flash */ | ||
262 | #define SSB_CHIPCO_CFG_EXTM_SYNC 0x0004 /* Synchronous */ | ||
263 | #define SSB_CHIPCO_CFG_EXTM_PCMCIA 0x0008 /* PCMCIA */ | ||
264 | #define SSB_CHIPCO_CFG_EXTM_IDE 0x000A /* IDE */ | ||
265 | #define SSB_CHIPCO_CFG_DS16 0x0010 /* Data size, 0=8bit, 1=16bit */ | ||
266 | #define SSB_CHIPCO_CFG_CLKDIV 0x0060 /* Sync: Clock divisor */ | ||
267 | #define SSB_CHIPCO_CFG_CLKEN 0x0080 /* Sync: Clock enable */ | ||
268 | #define SSB_CHIPCO_CFG_BSTRO 0x0100 /* Sync: Size/Bytestrobe */ | ||
269 | |||
270 | |||
271 | /** Flash-specific control/status values */ | ||
272 | |||
273 | /* flashcontrol opcodes for ST flashes */ | ||
274 | #define SSB_CHIPCO_FLASHCTL_ST_WREN 0x0006 /* Write Enable */ | ||
275 | #define SSB_CHIPCO_FLASHCTL_ST_WRDIS 0x0004 /* Write Disable */ | ||
276 | #define SSB_CHIPCO_FLASHCTL_ST_RDSR 0x0105 /* Read Status Register */ | ||
277 | #define SSB_CHIPCO_FLASHCTL_ST_WRSR 0x0101 /* Write Status Register */ | ||
278 | #define SSB_CHIPCO_FLASHCTL_ST_READ 0x0303 /* Read Data Bytes */ | ||
279 | #define SSB_CHIPCO_FLASHCTL_ST_PP 0x0302 /* Page Program */ | ||
280 | #define SSB_CHIPCO_FLASHCTL_ST_SE 0x02D8 /* Sector Erase */ | ||
281 | #define SSB_CHIPCO_FLASHCTL_ST_BE 0x00C7 /* Bulk Erase */ | ||
282 | #define SSB_CHIPCO_FLASHCTL_ST_DP 0x00B9 /* Deep Power-down */ | ||
283 | #define SSB_CHIPCO_FLASHCTL_ST_RSIG 0x03AB /* Read Electronic Signature */ | ||
284 | |||
285 | /* Status register bits for ST flashes */ | ||
286 | #define SSB_CHIPCO_FLASHSTA_ST_WIP 0x01 /* Write In Progress */ | ||
287 | #define SSB_CHIPCO_FLASHSTA_ST_WEL 0x02 /* Write Enable Latch */ | ||
288 | #define SSB_CHIPCO_FLASHSTA_ST_BP 0x1C /* Block Protect */ | ||
289 | #define SSB_CHIPCO_FLASHSTA_ST_BP_SHIFT 2 | ||
290 | #define SSB_CHIPCO_FLASHSTA_ST_SRWD 0x80 /* Status Register Write Disable */ | ||
291 | |||
292 | /* flashcontrol opcodes for Atmel flashes */ | ||
293 | #define SSB_CHIPCO_FLASHCTL_AT_READ 0x07E8 | ||
294 | #define SSB_CHIPCO_FLASHCTL_AT_PAGE_READ 0x07D2 | ||
295 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_READ /* FIXME */ | ||
296 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_READ /* FIXME */ | ||
297 | #define SSB_CHIPCO_FLASHCTL_AT_STATUS 0x01D7 | ||
298 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_WRITE 0x0384 | ||
299 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_WRITE 0x0387 | ||
300 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_ERASE_PRGM 0x0283 /* Erase program */ | ||
301 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_ERASE_PRGM 0x0286 /* Erase program */ | ||
302 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_PROGRAM 0x0288 | ||
303 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_PROGRAM 0x0289 | ||
304 | #define SSB_CHIPCO_FLASHCTL_AT_PAGE_ERASE 0x0281 | ||
305 | #define SSB_CHIPCO_FLASHCTL_AT_BLOCK_ERASE 0x0250 | ||
306 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_WRER_PRGM 0x0382 /* Write erase program */ | ||
307 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_WRER_PRGM 0x0385 /* Write erase program */ | ||
308 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_LOAD 0x0253 | ||
309 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_LOAD 0x0255 | ||
310 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_COMPARE 0x0260 | ||
311 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_COMPARE 0x0261 | ||
312 | #define SSB_CHIPCO_FLASHCTL_AT_BUF1_REPROGRAM 0x0258 | ||
313 | #define SSB_CHIPCO_FLASHCTL_AT_BUF2_REPROGRAM 0x0259 | ||
314 | |||
315 | /* Status register bits for Atmel flashes */ | ||
316 | #define SSB_CHIPCO_FLASHSTA_AT_READY 0x80 | ||
317 | #define SSB_CHIPCO_FLASHSTA_AT_MISMATCH 0x40 | ||
318 | #define SSB_CHIPCO_FLASHSTA_AT_ID 0x38 | ||
319 | #define SSB_CHIPCO_FLASHSTA_AT_ID_SHIFT 3 | ||
320 | |||
321 | |||
322 | /** OTP **/ | ||
323 | |||
324 | /* OTP regions */ | ||
325 | #define SSB_CHIPCO_OTP_HW_REGION SSB_CHIPCO_OTPS_HW_PROTECT | ||
326 | #define SSB_CHIPCO_OTP_SW_REGION SSB_CHIPCO_OTPS_SW_PROTECT | ||
327 | #define SSB_CHIPCO_OTP_CID_REGION SSB_CHIPCO_OTPS_CID_PROTECT | ||
328 | |||
329 | /* OTP regions (Byte offsets from otp size) */ | ||
330 | #define SSB_CHIPCO_OTP_SWLIM_OFF (-8) | ||
331 | #define SSB_CHIPCO_OTP_CIDBASE_OFF 0 | ||
332 | #define SSB_CHIPCO_OTP_CIDLIM_OFF 8 | ||
333 | |||
334 | /* Predefined OTP words (Word offset from otp size) */ | ||
335 | #define SSB_CHIPCO_OTP_BOUNDARY_OFF (-4) | ||
336 | #define SSB_CHIPCO_OTP_HWSIGN_OFF (-3) | ||
337 | #define SSB_CHIPCO_OTP_SWSIGN_OFF (-2) | ||
338 | #define SSB_CHIPCO_OTP_CIDSIGN_OFF (-1) | ||
339 | |||
340 | #define SSB_CHIPCO_OTP_CID_OFF 0 | ||
341 | #define SSB_CHIPCO_OTP_PKG_OFF 1 | ||
342 | #define SSB_CHIPCO_OTP_FID_OFF 2 | ||
343 | #define SSB_CHIPCO_OTP_RSV_OFF 3 | ||
344 | #define SSB_CHIPCO_OTP_LIM_OFF 4 | ||
345 | |||
346 | #define SSB_CHIPCO_OTP_SIGNATURE 0x578A | ||
347 | #define SSB_CHIPCO_OTP_MAGIC 0x4E56 | ||
348 | |||
349 | |||
350 | struct ssb_device; | ||
351 | struct ssb_serial_port; | ||
352 | |||
353 | struct ssb_chipcommon { | ||
354 | struct ssb_device *dev; | ||
355 | u32 capabilities; | ||
356 | /* Fast Powerup Delay constant */ | ||
357 | u16 fast_pwrup_delay; | ||
358 | }; | ||
359 | |||
360 | extern void ssb_chipcommon_init(struct ssb_chipcommon *cc); | ||
361 | |||
362 | #include <linux/pm.h> | ||
363 | extern void ssb_chipco_suspend(struct ssb_chipcommon *cc, pm_message_t state); | ||
364 | extern void ssb_chipco_resume(struct ssb_chipcommon *cc); | ||
365 | |||
366 | extern void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc, | ||
367 | u32 *plltype, u32 *n, u32 *m); | ||
368 | extern void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc, | ||
369 | u32 *plltype, u32 *n, u32 *m); | ||
370 | extern void ssb_chipco_timing_init(struct ssb_chipcommon *cc, | ||
371 | unsigned long ns_per_cycle); | ||
372 | |||
373 | enum ssb_clkmode { | ||
374 | SSB_CLKMODE_SLOW, | ||
375 | SSB_CLKMODE_FAST, | ||
376 | SSB_CLKMODE_DYNAMIC, | ||
377 | }; | ||
378 | |||
379 | extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, | ||
380 | enum ssb_clkmode mode); | ||
381 | |||
382 | extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, | ||
383 | u32 ticks); | ||
384 | |||
385 | u32 ssb_chipco_gpio_in(struct ssb_chipcommon *cc, u32 mask); | ||
386 | |||
387 | void ssb_chipco_gpio_out(struct ssb_chipcommon *cc, u32 mask, u32 value); | ||
388 | |||
389 | void ssb_chipco_gpio_outen(struct ssb_chipcommon *cc, u32 mask, u32 value); | ||
390 | |||
391 | #ifdef CONFIG_SSB_SERIAL | ||
392 | extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc, | ||
393 | struct ssb_serial_port *ports); | ||
394 | #endif /* CONFIG_SSB_SERIAL */ | ||
395 | |||
396 | #endif /* LINUX_SSB_CHIPCO_H_ */ | ||
diff --git a/include/linux/ssb/ssb_driver_extif.h b/include/linux/ssb/ssb_driver_extif.h new file mode 100644 index 000000000000..a9164357b5ae --- /dev/null +++ b/include/linux/ssb/ssb_driver_extif.h | |||
@@ -0,0 +1,204 @@ | |||
1 | /* | ||
2 | * Hardware-specific External Interface I/O core definitions | ||
3 | * for the BCM47xx family of SiliconBackplane-based chips. | ||
4 | * | ||
5 | * The External Interface core supports a total of three external chip selects | ||
6 | * supporting external interfaces. One of the external chip selects is | ||
7 | * used for Flash, one is used for PCMCIA, and the other may be | ||
8 | * programmed to support either a synchronous interface or an | ||
9 | * asynchronous interface. The asynchronous interface can be used to | ||
10 | * support external devices such as UARTs and the BCM2019 Bluetooth | ||
11 | * baseband processor. | ||
12 | * The external interface core also contains 2 on-chip 16550 UARTs, clock | ||
13 | * frequency control, a watchdog interrupt timer, and a GPIO interface. | ||
14 | * | ||
15 | * Copyright 2005, Broadcom Corporation | ||
16 | * Copyright 2006, Michael Buesch | ||
17 | * | ||
18 | * Licensed under the GPL version 2. See COPYING for details. | ||
19 | */ | ||
20 | #ifndef LINUX_SSB_EXTIFCORE_H_ | ||
21 | #define LINUX_SSB_EXTIFCORE_H_ | ||
22 | |||
23 | /* external interface address space */ | ||
24 | #define SSB_EXTIF_PCMCIA_MEMBASE(x) (x) | ||
25 | #define SSB_EXTIF_PCMCIA_IOBASE(x) ((x) + 0x100000) | ||
26 | #define SSB_EXTIF_PCMCIA_CFGBASE(x) ((x) + 0x200000) | ||
27 | #define SSB_EXTIF_CFGIF_BASE(x) ((x) + 0x800000) | ||
28 | #define SSB_EXTIF_FLASH_BASE(x) ((x) + 0xc00000) | ||
29 | |||
30 | #define SSB_EXTIF_NR_GPIOOUT 5 | ||
31 | /* GPIO NOTE: | ||
32 | * The multiple instances of output and output enable registers | ||
33 | * are present to allow driver software for multiple cores to control | ||
34 | * gpio outputs without needing to share a single register pair. | ||
35 | * Use the following helper macro to get a register offset value. | ||
36 | */ | ||
37 | #define SSB_EXTIF_GPIO_OUT(index) ({ \ | ||
38 | BUILD_BUG_ON(index >= SSB_EXTIF_NR_GPIOOUT); \ | ||
39 | SSB_EXTIF_GPIO_OUT_BASE + ((index) * 8); \ | ||
40 | }) | ||
41 | #define SSB_EXTIF_GPIO_OUTEN(index) ({ \ | ||
42 | BUILD_BUG_ON(index >= SSB_EXTIF_NR_GPIOOUT); \ | ||
43 | SSB_EXTIF_GPIO_OUTEN_BASE + ((index) * 8); \ | ||
44 | }) | ||
45 | |||
46 | /** EXTIF core registers **/ | ||
47 | |||
48 | #define SSB_EXTIF_CTL 0x0000 | ||
49 | #define SSB_EXTIF_CTL_UARTEN (1 << 0) /* UART enable */ | ||
50 | #define SSB_EXTIF_EXTSTAT 0x0004 | ||
51 | #define SSB_EXTIF_EXTSTAT_EMODE (1 << 0) /* Endian mode (ro) */ | ||
52 | #define SSB_EXTIF_EXTSTAT_EIRQPIN (1 << 1) /* External interrupt pin (ro) */ | ||
53 | #define SSB_EXTIF_EXTSTAT_GPIOIRQPIN (1 << 2) /* GPIO interrupt pin (ro) */ | ||
54 | #define SSB_EXTIF_PCMCIA_CFG 0x0010 | ||
55 | #define SSB_EXTIF_PCMCIA_MEMWAIT 0x0014 | ||
56 | #define SSB_EXTIF_PCMCIA_ATTRWAIT 0x0018 | ||
57 | #define SSB_EXTIF_PCMCIA_IOWAIT 0x001C | ||
58 | #define SSB_EXTIF_PROG_CFG 0x0020 | ||
59 | #define SSB_EXTIF_PROG_WAITCNT 0x0024 | ||
60 | #define SSB_EXTIF_FLASH_CFG 0x0028 | ||
61 | #define SSB_EXTIF_FLASH_WAITCNT 0x002C | ||
62 | #define SSB_EXTIF_WATCHDOG 0x0040 | ||
63 | #define SSB_EXTIF_CLOCK_N 0x0044 | ||
64 | #define SSB_EXTIF_CLOCK_SB 0x0048 | ||
65 | #define SSB_EXTIF_CLOCK_PCI 0x004C | ||
66 | #define SSB_EXTIF_CLOCK_MII 0x0050 | ||
67 | #define SSB_EXTIF_GPIO_IN 0x0060 | ||
68 | #define SSB_EXTIF_GPIO_OUT_BASE 0x0064 | ||
69 | #define SSB_EXTIF_GPIO_OUTEN_BASE 0x0068 | ||
70 | #define SSB_EXTIF_EJTAG_OUTEN 0x0090 | ||
71 | #define SSB_EXTIF_GPIO_INTPOL 0x0094 | ||
72 | #define SSB_EXTIF_GPIO_INTMASK 0x0098 | ||
73 | #define SSB_EXTIF_UART_DATA 0x0300 | ||
74 | #define SSB_EXTIF_UART_TIMER 0x0310 | ||
75 | #define SSB_EXTIF_UART_FCR 0x0320 | ||
76 | #define SSB_EXTIF_UART_LCR 0x0330 | ||
77 | #define SSB_EXTIF_UART_MCR 0x0340 | ||
78 | #define SSB_EXTIF_UART_LSR 0x0350 | ||
79 | #define SSB_EXTIF_UART_MSR 0x0360 | ||
80 | #define SSB_EXTIF_UART_SCRATCH 0x0370 | ||
81 | |||
82 | |||
83 | |||
84 | |||
85 | /* pcmcia/prog/flash_config */ | ||
86 | #define SSB_EXTCFG_EN (1 << 0) /* enable */ | ||
87 | #define SSB_EXTCFG_MODE 0xE /* mode */ | ||
88 | #define SSB_EXTCFG_MODE_SHIFT 1 | ||
89 | #define SSB_EXTCFG_MODE_FLASH 0x0 /* flash/asynchronous mode */ | ||
90 | #define SSB_EXTCFG_MODE_SYNC 0x2 /* synchronous mode */ | ||
91 | #define SSB_EXTCFG_MODE_PCMCIA 0x4 /* pcmcia mode */ | ||
92 | #define SSB_EXTCFG_DS16 (1 << 4) /* destsize: 0=8bit, 1=16bit */ | ||
93 | #define SSB_EXTCFG_BSWAP (1 << 5) /* byteswap */ | ||
94 | #define SSB_EXTCFG_CLKDIV 0xC0 /* clock divider */ | ||
95 | #define SSB_EXTCFG_CLKDIV_SHIFT 6 | ||
96 | #define SSB_EXTCFG_CLKDIV_2 0x0 /* backplane/2 */ | ||
97 | #define SSB_EXTCFG_CLKDIV_3 0x40 /* backplane/3 */ | ||
98 | #define SSB_EXTCFG_CLKDIV_4 0x80 /* backplane/4 */ | ||
99 | #define SSB_EXTCFG_CLKEN (1 << 8) /* clock enable */ | ||
100 | #define SSB_EXTCFG_STROBE (1 << 9) /* size/bytestrobe (synch only) */ | ||
101 | |||
102 | /* pcmcia_memwait */ | ||
103 | #define SSB_PCMCIA_MEMW_0 0x0000003F /* waitcount0 */ | ||
104 | #define SSB_PCMCIA_MEMW_1 0x00001F00 /* waitcount1 */ | ||
105 | #define SSB_PCMCIA_MEMW_1_SHIFT 8 | ||
106 | #define SSB_PCMCIA_MEMW_2 0x001F0000 /* waitcount2 */ | ||
107 | #define SSB_PCMCIA_MEMW_2_SHIFT 16 | ||
108 | #define SSB_PCMCIA_MEMW_3 0x1F000000 /* waitcount3 */ | ||
109 | #define SSB_PCMCIA_MEMW_3_SHIFT 24 | ||
110 | |||
111 | /* pcmcia_attrwait */ | ||
112 | #define SSB_PCMCIA_ATTW_0 0x0000003F /* waitcount0 */ | ||
113 | #define SSB_PCMCIA_ATTW_1 0x00001F00 /* waitcount1 */ | ||
114 | #define SSB_PCMCIA_ATTW_1_SHIFT 8 | ||
115 | #define SSB_PCMCIA_ATTW_2 0x001F0000 /* waitcount2 */ | ||
116 | #define SSB_PCMCIA_ATTW_2_SHIFT 16 | ||
117 | #define SSB_PCMCIA_ATTW_3 0x1F000000 /* waitcount3 */ | ||
118 | #define SSB_PCMCIA_ATTW_3_SHIFT 24 | ||
119 | |||
120 | /* pcmcia_iowait */ | ||
121 | #define SSB_PCMCIA_IOW_0 0x0000003F /* waitcount0 */ | ||
122 | #define SSB_PCMCIA_IOW_1 0x00001F00 /* waitcount1 */ | ||
123 | #define SSB_PCMCIA_IOW_1_SHIFT 8 | ||
124 | #define SSB_PCMCIA_IOW_2 0x001F0000 /* waitcount2 */ | ||
125 | #define SSB_PCMCIA_IOW_2_SHIFT 16 | ||
126 | #define SSB_PCMCIA_IOW_3 0x1F000000 /* waitcount3 */ | ||
127 | #define SSB_PCMCIA_IOW_3_SHIFT 24 | ||
128 | |||
129 | /* prog_waitcount */ | ||
130 | #define SSB_PROG_WCNT_0 0x0000001F /* waitcount0 */ | ||
131 | #define SSB_PROG_WCNT_1 0x00001F00 /* waitcount1 */ | ||
132 | #define SSB_PROG_WCNT_1_SHIFT 8 | ||
133 | #define SSB_PROG_WCNT_2 0x001F0000 /* waitcount2 */ | ||
134 | #define SSB_PROG_WCNT_2_SHIFT 16 | ||
135 | #define SSB_PROG_WCNT_3 0x1F000000 /* waitcount3 */ | ||
136 | #define SSB_PROG_WCNT_3_SHIFT 24 | ||
137 | |||
138 | #define SSB_PROG_W0 0x0000000C | ||
139 | #define SSB_PROG_W1 0x00000A00 | ||
140 | #define SSB_PROG_W2 0x00020000 | ||
141 | #define SSB_PROG_W3 0x01000000 | ||
142 | |||
143 | /* flash_waitcount */ | ||
144 | #define SSB_FLASH_WCNT_0 0x0000001F /* waitcount0 */ | ||
145 | #define SSB_FLASH_WCNT_1 0x00001F00 /* waitcount1 */ | ||
146 | #define SSB_FLASH_WCNT_1_SHIFT 8 | ||
147 | #define SSB_FLASH_WCNT_2 0x001F0000 /* waitcount2 */ | ||
148 | #define SSB_FLASH_WCNT_2_SHIFT 16 | ||
149 | #define SSB_FLASH_WCNT_3 0x1F000000 /* waitcount3 */ | ||
150 | #define SSB_FLASH_WCNT_3_SHIFT 24 | ||
151 | |||
152 | /* watchdog */ | ||
153 | #define SSB_EXTIF_WATCHDOG_CLK 48000000 /* Hz */ | ||
154 | |||
155 | |||
156 | |||
157 | #ifdef CONFIG_SSB_DRIVER_EXTIF | ||
158 | |||
159 | struct ssb_extif { | ||
160 | struct ssb_device *dev; | ||
161 | }; | ||
162 | |||
163 | static inline bool ssb_extif_available(struct ssb_extif *extif) | ||
164 | { | ||
165 | return (extif->dev != NULL); | ||
166 | } | ||
167 | |||
168 | extern void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | ||
169 | u32 *plltype, u32 *n, u32 *m); | ||
170 | |||
171 | extern void ssb_extif_timing_init(struct ssb_extif *extif, | ||
172 | unsigned long ns); | ||
173 | |||
174 | u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask); | ||
175 | |||
176 | void ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, u32 value); | ||
177 | |||
178 | void ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, u32 value); | ||
179 | |||
180 | #ifdef CONFIG_SSB_SERIAL | ||
181 | extern int ssb_extif_serial_init(struct ssb_extif *extif, | ||
182 | struct ssb_serial_port *ports); | ||
183 | #endif /* CONFIG_SSB_SERIAL */ | ||
184 | |||
185 | |||
186 | #else /* CONFIG_SSB_DRIVER_EXTIF */ | ||
187 | /* extif disabled */ | ||
188 | |||
189 | struct ssb_extif { | ||
190 | }; | ||
191 | |||
192 | static inline bool ssb_extif_available(struct ssb_extif *extif) | ||
193 | { | ||
194 | return 0; | ||
195 | } | ||
196 | |||
197 | static inline | ||
198 | void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | ||
199 | u32 *plltype, u32 *n, u32 *m) | ||
200 | { | ||
201 | } | ||
202 | |||
203 | #endif /* CONFIG_SSB_DRIVER_EXTIF */ | ||
204 | #endif /* LINUX_SSB_EXTIFCORE_H_ */ | ||
diff --git a/include/linux/ssb/ssb_driver_mips.h b/include/linux/ssb/ssb_driver_mips.h new file mode 100644 index 000000000000..5f44e9740cd2 --- /dev/null +++ b/include/linux/ssb/ssb_driver_mips.h | |||
@@ -0,0 +1,46 @@ | |||
1 | #ifndef LINUX_SSB_MIPSCORE_H_ | ||
2 | #define LINUX_SSB_MIPSCORE_H_ | ||
3 | |||
4 | #ifdef CONFIG_SSB_DRIVER_MIPS | ||
5 | |||
6 | struct ssb_device; | ||
7 | |||
8 | struct ssb_serial_port { | ||
9 | void *regs; | ||
10 | unsigned long clockspeed; | ||
11 | unsigned int irq; | ||
12 | unsigned int baud_base; | ||
13 | unsigned int reg_shift; | ||
14 | }; | ||
15 | |||
16 | |||
17 | struct ssb_mipscore { | ||
18 | struct ssb_device *dev; | ||
19 | |||
20 | int nr_serial_ports; | ||
21 | struct ssb_serial_port serial_ports[4]; | ||
22 | |||
23 | u8 flash_buswidth; | ||
24 | u32 flash_window; | ||
25 | u32 flash_window_size; | ||
26 | }; | ||
27 | |||
28 | extern void ssb_mipscore_init(struct ssb_mipscore *mcore); | ||
29 | extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore); | ||
30 | |||
31 | extern unsigned int ssb_mips_irq(struct ssb_device *dev); | ||
32 | |||
33 | |||
34 | #else /* CONFIG_SSB_DRIVER_MIPS */ | ||
35 | |||
36 | struct ssb_mipscore { | ||
37 | }; | ||
38 | |||
39 | static inline | ||
40 | void ssb_mipscore_init(struct ssb_mipscore *mcore) | ||
41 | { | ||
42 | } | ||
43 | |||
44 | #endif /* CONFIG_SSB_DRIVER_MIPS */ | ||
45 | |||
46 | #endif /* LINUX_SSB_MIPSCORE_H_ */ | ||
diff --git a/include/linux/ssb/ssb_driver_pci.h b/include/linux/ssb/ssb_driver_pci.h new file mode 100644 index 000000000000..9cfffb7b1a27 --- /dev/null +++ b/include/linux/ssb/ssb_driver_pci.h | |||
@@ -0,0 +1,106 @@ | |||
1 | #ifndef LINUX_SSB_PCICORE_H_ | ||
2 | #define LINUX_SSB_PCICORE_H_ | ||
3 | |||
4 | #ifdef CONFIG_SSB_DRIVER_PCICORE | ||
5 | |||
6 | /* PCI core registers. */ | ||
7 | #define SSB_PCICORE_CTL 0x0000 /* PCI Control */ | ||
8 | #define SSB_PCICORE_CTL_RST_OE 0x00000001 /* PCI_RESET Output Enable */ | ||
9 | #define SSB_PCICORE_CTL_RST 0x00000002 /* PCI_RESET driven out to pin */ | ||
10 | #define SSB_PCICORE_CTL_CLK_OE 0x00000004 /* Clock gate Output Enable */ | ||
11 | #define SSB_PCICORE_CTL_CLK 0x00000008 /* Gate for clock driven out to pin */ | ||
12 | #define SSB_PCICORE_ARBCTL 0x0010 /* PCI Arbiter Control */ | ||
13 | #define SSB_PCICORE_ARBCTL_INTERN 0x00000001 /* Use internal arbiter */ | ||
14 | #define SSB_PCICORE_ARBCTL_EXTERN 0x00000002 /* Use external arbiter */ | ||
15 | #define SSB_PCICORE_ARBCTL_PARKID 0x00000006 /* Mask, selects which agent is parked on an idle bus */ | ||
16 | #define SSB_PCICORE_ARBCTL_PARKID_LAST 0x00000000 /* Last requestor */ | ||
17 | #define SSB_PCICORE_ARBCTL_PARKID_4710 0x00000002 /* 4710 */ | ||
18 | #define SSB_PCICORE_ARBCTL_PARKID_EXT0 0x00000004 /* External requestor 0 */ | ||
19 | #define SSB_PCICORE_ARBCTL_PARKID_EXT1 0x00000006 /* External requestor 1 */ | ||
20 | #define SSB_PCICORE_ISTAT 0x0020 /* Interrupt status */ | ||
21 | #define SSB_PCICORE_ISTAT_INTA 0x00000001 /* PCI INTA# */ | ||
22 | #define SSB_PCICORE_ISTAT_INTB 0x00000002 /* PCI INTB# */ | ||
23 | #define SSB_PCICORE_ISTAT_SERR 0x00000004 /* PCI SERR# (write to clear) */ | ||
24 | #define SSB_PCICORE_ISTAT_PERR 0x00000008 /* PCI PERR# (write to clear) */ | ||
25 | #define SSB_PCICORE_ISTAT_PME 0x00000010 /* PCI PME# */ | ||
26 | #define SSB_PCICORE_IMASK 0x0024 /* Interrupt mask */ | ||
27 | #define SSB_PCICORE_IMASK_INTA 0x00000001 /* PCI INTA# */ | ||
28 | #define SSB_PCICORE_IMASK_INTB 0x00000002 /* PCI INTB# */ | ||
29 | #define SSB_PCICORE_IMASK_SERR 0x00000004 /* PCI SERR# */ | ||
30 | #define SSB_PCICORE_IMASK_PERR 0x00000008 /* PCI PERR# */ | ||
31 | #define SSB_PCICORE_IMASK_PME 0x00000010 /* PCI PME# */ | ||
32 | #define SSB_PCICORE_MBOX 0x0028 /* Backplane to PCI Mailbox */ | ||
33 | #define SSB_PCICORE_MBOX_F0_0 0x00000100 /* PCI function 0, INT 0 */ | ||
34 | #define SSB_PCICORE_MBOX_F0_1 0x00000200 /* PCI function 0, INT 1 */ | ||
35 | #define SSB_PCICORE_MBOX_F1_0 0x00000400 /* PCI function 1, INT 0 */ | ||
36 | #define SSB_PCICORE_MBOX_F1_1 0x00000800 /* PCI function 1, INT 1 */ | ||
37 | #define SSB_PCICORE_MBOX_F2_0 0x00001000 /* PCI function 2, INT 0 */ | ||
38 | #define SSB_PCICORE_MBOX_F2_1 0x00002000 /* PCI function 2, INT 1 */ | ||
39 | #define SSB_PCICORE_MBOX_F3_0 0x00004000 /* PCI function 3, INT 0 */ | ||
40 | #define SSB_PCICORE_MBOX_F3_1 0x00008000 /* PCI function 3, INT 1 */ | ||
41 | #define SSB_PCICORE_BCAST_ADDR 0x0050 /* Backplane Broadcast Address */ | ||
42 | #define SSB_PCICORE_BCAST_ADDR_MASK 0x000000FF | ||
43 | #define SSB_PCICORE_BCAST_DATA 0x0054 /* Backplane Broadcast Data */ | ||
44 | #define SSB_PCICORE_GPIO_IN 0x0060 /* rev >= 2 only */ | ||
45 | #define SSB_PCICORE_GPIO_OUT 0x0064 /* rev >= 2 only */ | ||
46 | #define SSB_PCICORE_GPIO_ENABLE 0x0068 /* rev >= 2 only */ | ||
47 | #define SSB_PCICORE_GPIO_CTL 0x006C /* rev >= 2 only */ | ||
48 | #define SSB_PCICORE_SBTOPCI0 0x0100 /* Backplane to PCI translation 0 (sbtopci0) */ | ||
49 | #define SSB_PCICORE_SBTOPCI0_MASK 0xFC000000 | ||
50 | #define SSB_PCICORE_SBTOPCI1 0x0104 /* Backplane to PCI translation 1 (sbtopci1) */ | ||
51 | #define SSB_PCICORE_SBTOPCI1_MASK 0xFC000000 | ||
52 | #define SSB_PCICORE_SBTOPCI2 0x0108 /* Backplane to PCI translation 2 (sbtopci2) */ | ||
53 | #define SSB_PCICORE_SBTOPCI2_MASK 0xC0000000 | ||
54 | |||
55 | /* SBtoPCIx */ | ||
56 | #define SSB_PCICORE_SBTOPCI_MEM 0x00000000 | ||
57 | #define SSB_PCICORE_SBTOPCI_IO 0x00000001 | ||
58 | #define SSB_PCICORE_SBTOPCI_CFG0 0x00000002 | ||
59 | #define SSB_PCICORE_SBTOPCI_CFG1 0x00000003 | ||
60 | #define SSB_PCICORE_SBTOPCI_PREF 0x00000004 /* Prefetch enable */ | ||
61 | #define SSB_PCICORE_SBTOPCI_BURST 0x00000008 /* Burst enable */ | ||
62 | #define SSB_PCICORE_SBTOPCI_MRM 0x00000020 /* Memory Read Multiple */ | ||
63 | #define SSB_PCICORE_SBTOPCI_RC 0x00000030 /* Read Command mask (rev >= 11) */ | ||
64 | #define SSB_PCICORE_SBTOPCI_RC_READ 0x00000000 /* Memory read */ | ||
65 | #define SSB_PCICORE_SBTOPCI_RC_READL 0x00000010 /* Memory read line */ | ||
66 | #define SSB_PCICORE_SBTOPCI_RC_READM 0x00000020 /* Memory read multiple */ | ||
67 | |||
68 | |||
69 | /* PCIcore specific boardflags */ | ||
70 | #define SSB_PCICORE_BFL_NOPCI 0x00000400 /* Board leaves PCI floating */ | ||
71 | |||
72 | |||
73 | struct ssb_pcicore { | ||
74 | struct ssb_device *dev; | ||
75 | u8 setup_done:1; | ||
76 | u8 hostmode:1; | ||
77 | u8 cardbusmode:1; | ||
78 | }; | ||
79 | |||
80 | extern void ssb_pcicore_init(struct ssb_pcicore *pc); | ||
81 | |||
82 | /* Enable IRQ routing for a specific device */ | ||
83 | extern int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc, | ||
84 | struct ssb_device *dev); | ||
85 | |||
86 | |||
87 | #else /* CONFIG_SSB_DRIVER_PCICORE */ | ||
88 | |||
89 | |||
90 | struct ssb_pcicore { | ||
91 | }; | ||
92 | |||
93 | static inline | ||
94 | void ssb_pcicore_init(struct ssb_pcicore *pc) | ||
95 | { | ||
96 | } | ||
97 | |||
98 | static inline | ||
99 | int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc, | ||
100 | struct ssb_device *dev) | ||
101 | { | ||
102 | return 0; | ||
103 | } | ||
104 | |||
105 | #endif /* CONFIG_SSB_DRIVER_PCICORE */ | ||
106 | #endif /* LINUX_SSB_PCICORE_H_ */ | ||
diff --git a/include/linux/ssb/ssb_regs.h b/include/linux/ssb/ssb_regs.h new file mode 100644 index 000000000000..47c7c71a5acf --- /dev/null +++ b/include/linux/ssb/ssb_regs.h | |||
@@ -0,0 +1,292 @@ | |||
1 | #ifndef LINUX_SSB_REGS_H_ | ||
2 | #define LINUX_SSB_REGS_H_ | ||
3 | |||
4 | |||
5 | /* SiliconBackplane Address Map. | ||
6 | * All regions may not exist on all chips. | ||
7 | */ | ||
8 | #define SSB_SDRAM_BASE 0x00000000U /* Physical SDRAM */ | ||
9 | #define SSB_PCI_MEM 0x08000000U /* Host Mode sb2pcitranslation0 (64 MB) */ | ||
10 | #define SSB_PCI_CFG 0x0c000000U /* Host Mode sb2pcitranslation1 (64 MB) */ | ||
11 | #define SSB_SDRAM_SWAPPED 0x10000000U /* Byteswapped Physical SDRAM */ | ||
12 | #define SSB_ENUM_BASE 0x18000000U /* Enumeration space base */ | ||
13 | #define SSB_ENUM_LIMIT 0x18010000U /* Enumeration space limit */ | ||
14 | |||
15 | #define SSB_FLASH2 0x1c000000U /* Flash Region 2 (region 1 shadowed here) */ | ||
16 | #define SSB_FLASH2_SZ 0x02000000U /* Size of Flash Region 2 */ | ||
17 | |||
18 | #define SSB_EXTIF_BASE 0x1f000000U /* External Interface region base address */ | ||
19 | #define SSB_FLASH1 0x1fc00000U /* Flash Region 1 */ | ||
20 | #define SSB_FLASH1_SZ 0x00400000U /* Size of Flash Region 1 */ | ||
21 | |||
22 | #define SSB_PCI_DMA 0x40000000U /* Client Mode sb2pcitranslation2 (1 GB) */ | ||
23 | #define SSB_PCI_DMA_SZ 0x40000000U /* Client Mode sb2pcitranslation2 size in bytes */ | ||
24 | #define SSB_PCIE_DMA_L32 0x00000000U /* PCIE Client Mode sb2pcitranslation2 (2 ZettaBytes), low 32 bits */ | ||
25 | #define SSB_PCIE_DMA_H32 0x80000000U /* PCIE Client Mode sb2pcitranslation2 (2 ZettaBytes), high 32 bits */ | ||
26 | #define SSB_EUART (SSB_EXTIF_BASE + 0x00800000) | ||
27 | #define SSB_LED (SSB_EXTIF_BASE + 0x00900000) | ||
28 | |||
29 | |||
30 | /* Enumeration space constants */ | ||
31 | #define SSB_CORE_SIZE 0x1000 /* Size of a core MMIO area */ | ||
32 | #define SSB_MAX_NR_CORES ((SSB_ENUM_LIMIT - SSB_ENUM_BASE) / SSB_CORE_SIZE) | ||
33 | |||
34 | |||
35 | /* mips address */ | ||
36 | #define SSB_EJTAG 0xff200000 /* MIPS EJTAG space (2M) */ | ||
37 | |||
38 | |||
39 | /* SSB PCI config space registers. */ | ||
40 | #define SSB_PMCSR 0x44 | ||
41 | #define SSB_PE 0x100 | ||
42 | #define SSB_BAR0_WIN 0x80 /* Backplane address space 0 */ | ||
43 | #define SSB_BAR1_WIN 0x84 /* Backplane address space 1 */ | ||
44 | #define SSB_SPROMCTL 0x88 /* SPROM control */ | ||
45 | #define SSB_SPROMCTL_WE 0x10 /* SPROM write enable */ | ||
46 | #define SSB_BAR1_CONTROL 0x8c /* Address space 1 burst control */ | ||
47 | #define SSB_PCI_IRQS 0x90 /* PCI interrupts */ | ||
48 | #define SSB_PCI_IRQMASK 0x94 /* PCI IRQ control and mask (pcirev >= 6 only) */ | ||
49 | #define SSB_BACKPLANE_IRQS 0x98 /* Backplane Interrupts */ | ||
50 | #define SSB_GPIO_IN 0xB0 /* GPIO Input (pcirev >= 3 only) */ | ||
51 | #define SSB_GPIO_OUT 0xB4 /* GPIO Output (pcirev >= 3 only) */ | ||
52 | #define SSB_GPIO_OUT_ENABLE 0xB8 /* GPIO Output Enable/Disable (pcirev >= 3 only) */ | ||
53 | #define SSB_GPIO_SCS 0x10 /* PCI config space bit 4 for 4306c0 slow clock source */ | ||
54 | #define SSB_GPIO_HWRAD 0x20 /* PCI config space GPIO 13 for hw radio disable */ | ||
55 | #define SSB_GPIO_XTAL 0x40 /* PCI config space GPIO 14 for Xtal powerup */ | ||
56 | #define SSB_GPIO_PLL 0x80 /* PCI config space GPIO 15 for PLL powerdown */ | ||
57 | |||
58 | |||
59 | #define SSB_BAR0_MAX_RETRIES 50 | ||
60 | |||
61 | /* Silicon backplane configuration register definitions */ | ||
62 | #define SSB_IPSFLAG 0x0F08 | ||
63 | #define SSB_IPSFLAG_IRQ1 0x0000003F /* which sbflags get routed to mips interrupt 1 */ | ||
64 | #define SSB_IPSFLAG_IRQ1_SHIFT 0 | ||
65 | #define SSB_IPSFLAG_IRQ2 0x00003F00 /* which sbflags get routed to mips interrupt 2 */ | ||
66 | #define SSB_IPSFLAG_IRQ2_SHIFT 8 | ||
67 | #define SSB_IPSFLAG_IRQ3 0x003F0000 /* which sbflags get routed to mips interrupt 3 */ | ||
68 | #define SSB_IPSFLAG_IRQ3_SHIFT 16 | ||
69 | #define SSB_IPSFLAG_IRQ4 0x3F000000 /* which sbflags get routed to mips interrupt 4 */ | ||
70 | #define SSB_IPSFLAG_IRQ4_SHIFT 24 | ||
71 | #define SSB_TPSFLAG 0x0F18 | ||
72 | #define SSB_TPSFLAG_BPFLAG 0x0000003F /* Backplane flag # */ | ||
73 | #define SSB_TPSFLAG_ALWAYSIRQ 0x00000040 /* IRQ is always sent on the Backplane */ | ||
74 | #define SSB_TMERRLOGA 0x0F48 | ||
75 | #define SSB_TMERRLOG 0x0F50 | ||
76 | #define SSB_ADMATCH3 0x0F60 | ||
77 | #define SSB_ADMATCH2 0x0F68 | ||
78 | #define SSB_ADMATCH1 0x0F70 | ||
79 | #define SSB_IMSTATE 0x0F90 /* SB Initiator Agent State */ | ||
80 | #define SSB_IMSTATE_PC 0x0000000f /* Pipe Count */ | ||
81 | #define SSB_IMSTATE_AP_MASK 0x00000030 /* Arbitration Priority */ | ||
82 | #define SSB_IMSTATE_AP_BOTH 0x00000000 /* Use both timeslices and token */ | ||
83 | #define SSB_IMSTATE_AP_TS 0x00000010 /* Use timeslices only */ | ||
84 | #define SSB_IMSTATE_AP_TK 0x00000020 /* Use token only */ | ||
85 | #define SSB_IMSTATE_AP_RSV 0x00000030 /* Reserved */ | ||
86 | #define SSB_IMSTATE_IBE 0x00020000 /* In Band Error */ | ||
87 | #define SSB_IMSTATE_TO 0x00040000 /* Timeout */ | ||
88 | #define SSB_INTVEC 0x0F94 /* SB Interrupt Mask */ | ||
89 | #define SSB_INTVEC_PCI 0x00000001 /* Enable interrupts for PCI */ | ||
90 | #define SSB_INTVEC_ENET0 0x00000002 /* Enable interrupts for enet 0 */ | ||
91 | #define SSB_INTVEC_ILINE20 0x00000004 /* Enable interrupts for iline20 */ | ||
92 | #define SSB_INTVEC_CODEC 0x00000008 /* Enable interrupts for v90 codec */ | ||
93 | #define SSB_INTVEC_USB 0x00000010 /* Enable interrupts for usb */ | ||
94 | #define SSB_INTVEC_EXTIF 0x00000020 /* Enable interrupts for external i/f */ | ||
95 | #define SSB_INTVEC_ENET1 0x00000040 /* Enable interrupts for enet 1 */ | ||
96 | #define SSB_TMSLOW 0x0F98 /* SB Target State Low */ | ||
97 | #define SSB_TMSLOW_RESET 0x00000001 /* Reset */ | ||
98 | #define SSB_TMSLOW_REJECT_22 0x00000002 /* Reject (Backplane rev 2.2) */ | ||
99 | #define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */ | ||
100 | #define SSB_TMSLOW_CLOCK 0x00010000 /* Clock Enable */ | ||
101 | #define SSB_TMSLOW_FGC 0x00020000 /* Force Gated Clocks On */ | ||
102 | #define SSB_TMSLOW_PE 0x40000000 /* Power Management Enable */ | ||
103 | #define SSB_TMSLOW_BE 0x80000000 /* BIST Enable */ | ||
104 | #define SSB_TMSHIGH 0x0F9C /* SB Target State High */ | ||
105 | #define SSB_TMSHIGH_SERR 0x00000001 /* S-error */ | ||
106 | #define SSB_TMSHIGH_INT 0x00000002 /* Interrupt */ | ||
107 | #define SSB_TMSHIGH_BUSY 0x00000004 /* Busy */ | ||
108 | #define SSB_TMSHIGH_TO 0x00000020 /* Timeout. Backplane rev >= 2.3 only */ | ||
109 | #define SSB_TMSHIGH_COREFL 0x1FFF0000 /* Core specific flags */ | ||
110 | #define SSB_TMSHIGH_COREFL_SHIFT 16 | ||
111 | #define SSB_TMSHIGH_DMA64 0x10000000 /* 64bit DMA supported */ | ||
112 | #define SSB_TMSHIGH_GCR 0x20000000 /* Gated Clock Request */ | ||
113 | #define SSB_TMSHIGH_BISTF 0x40000000 /* BIST Failed */ | ||
114 | #define SSB_TMSHIGH_BISTD 0x80000000 /* BIST Done */ | ||
115 | #define SSB_BWA0 0x0FA0 | ||
116 | #define SSB_IMCFGLO 0x0FA8 | ||
117 | #define SSB_IMCFGLO_SERTO 0x00000007 /* Service timeout */ | ||
118 | #define SSB_IMCFGLO_REQTO 0x00000070 /* Request timeout */ | ||
119 | #define SSB_IMCFGLO_REQTO_SHIFT 4 | ||
120 | #define SSB_IMCFGLO_CONNID 0x00FF0000 /* Connection ID */ | ||
121 | #define SSB_IMCFGLO_CONNID_SHIFT 16 | ||
122 | #define SSB_IMCFGHI 0x0FAC | ||
123 | #define SSB_ADMATCH0 0x0FB0 | ||
124 | #define SSB_TMCFGLO 0x0FB8 | ||
125 | #define SSB_TMCFGHI 0x0FBC | ||
126 | #define SSB_BCONFIG 0x0FC0 | ||
127 | #define SSB_BSTATE 0x0FC8 | ||
128 | #define SSB_ACTCFG 0x0FD8 | ||
129 | #define SSB_FLAGST 0x0FE8 | ||
130 | #define SSB_IDLOW 0x0FF8 | ||
131 | #define SSB_IDLOW_CFGSP 0x00000003 /* Config Space */ | ||
132 | #define SSB_IDLOW_ADDRNGE 0x00000038 /* Address Ranges supported */ | ||
133 | #define SSB_IDLOW_ADDRNGE_SHIFT 3 | ||
134 | #define SSB_IDLOW_SYNC 0x00000040 | ||
135 | #define SSB_IDLOW_INITIATOR 0x00000080 | ||
136 | #define SSB_IDLOW_MIBL 0x00000F00 /* Minimum Backplane latency */ | ||
137 | #define SSB_IDLOW_MIBL_SHIFT 8 | ||
138 | #define SSB_IDLOW_MABL 0x0000F000 /* Maximum Backplane latency */ | ||
139 | #define SSB_IDLOW_MABL_SHIFT 12 | ||
140 | #define SSB_IDLOW_TIF 0x00010000 /* This Initiator is first */ | ||
141 | #define SSB_IDLOW_CCW 0x000C0000 /* Cycle counter width */ | ||
142 | #define SSB_IDLOW_CCW_SHIFT 18 | ||
143 | #define SSB_IDLOW_TPT 0x00F00000 /* Target ports */ | ||
144 | #define SSB_IDLOW_TPT_SHIFT 20 | ||
145 | #define SSB_IDLOW_INITP 0x0F000000 /* Initiator ports */ | ||
146 | #define SSB_IDLOW_INITP_SHIFT 24 | ||
147 | #define SSB_IDLOW_SSBREV 0xF0000000 /* Sonics Backplane Revision code */ | ||
148 | #define SSB_IDLOW_SSBREV_22 0x00000000 /* <= 2.2 */ | ||
149 | #define SSB_IDLOW_SSBREV_23 0x10000000 /* 2.3 */ | ||
150 | #define SSB_IDHIGH 0x0FFC /* SB Identification High */ | ||
151 | #define SSB_IDHIGH_RCLO 0x0000000F /* Revision Code (low part) */ | ||
152 | #define SSB_IDHIGH_CC 0x00008FF0 /* Core Code */ | ||
153 | #define SSB_IDHIGH_CC_SHIFT 4 | ||
154 | #define SSB_IDHIGH_RCHI 0x00007000 /* Revision Code (high part) */ | ||
155 | #define SSB_IDHIGH_RCHI_SHIFT 8 /* yes, shift 8 is right */ | ||
156 | #define SSB_IDHIGH_VC 0xFFFF0000 /* Vendor Code */ | ||
157 | #define SSB_IDHIGH_VC_SHIFT 16 | ||
158 | |||
159 | /* SPROM shadow area. If not otherwise noted, fields are | ||
160 | * two bytes wide. Note that the SPROM can _only_ be read | ||
161 | * in two-byte quantinies. | ||
162 | */ | ||
163 | #define SSB_SPROMSIZE_WORDS 64 | ||
164 | #define SSB_SPROMSIZE_BYTES (SSB_SPROMSIZE_WORDS * sizeof(u16)) | ||
165 | #define SSB_SPROM_BASE 0x1000 | ||
166 | #define SSB_SPROM_REVISION 0x107E | ||
167 | #define SSB_SPROM_REVISION_REV 0x00FF /* SPROM Revision number */ | ||
168 | #define SSB_SPROM_REVISION_CRC 0xFF00 /* SPROM CRC8 value */ | ||
169 | #define SSB_SPROM_REVISION_CRC_SHIFT 8 | ||
170 | /* SPROM Revision 1 */ | ||
171 | #define SSB_SPROM1_SPID 0x1004 /* Subsystem Product ID for PCI */ | ||
172 | #define SSB_SPROM1_SVID 0x1006 /* Subsystem Vendor ID for PCI */ | ||
173 | #define SSB_SPROM1_PID 0x1008 /* Product ID for PCI */ | ||
174 | #define SSB_SPROM1_IL0MAC 0x1048 /* 6 bytes MAC address for 802.11b/g */ | ||
175 | #define SSB_SPROM1_ET0MAC 0x104E /* 6 bytes MAC address for Ethernet */ | ||
176 | #define SSB_SPROM1_ET1MAC 0x1054 /* 6 bytes MAC address for 802.11a */ | ||
177 | #define SSB_SPROM1_ETHPHY 0x105A /* Ethernet PHY settings */ | ||
178 | #define SSB_SPROM1_ETHPHY_ET0A 0x001F /* MII Address for enet0 */ | ||
179 | #define SSB_SPROM1_ETHPHY_ET1A 0x03E0 /* MII Address for enet1 */ | ||
180 | #define SSB_SPROM1_ETHPHY_ET1A_SHIFT 5 | ||
181 | #define SSB_SPROM1_ETHPHY_ET0M (1<<14) /* MDIO for enet0 */ | ||
182 | #define SSB_SPROM1_ETHPHY_ET1M (1<<15) /* MDIO for enet1 */ | ||
183 | #define SSB_SPROM1_BINF 0x105C /* Board info */ | ||
184 | #define SSB_SPROM1_BINF_BREV 0x00FF /* Board Revision */ | ||
185 | #define SSB_SPROM1_BINF_CCODE 0x0F00 /* Country Code */ | ||
186 | #define SSB_SPROM1_BINF_CCODE_SHIFT 8 | ||
187 | #define SSB_SPROM1_BINF_ANTA 0x3000 /* Available A-PHY antennas */ | ||
188 | #define SSB_SPROM1_BINF_ANTA_SHIFT 12 | ||
189 | #define SSB_SPROM1_BINF_ANTBG 0xC000 /* Available B-PHY antennas */ | ||
190 | #define SSB_SPROM1_BINF_ANTBG_SHIFT 14 | ||
191 | #define SSB_SPROM1_PA0B0 0x105E | ||
192 | #define SSB_SPROM1_PA0B1 0x1060 | ||
193 | #define SSB_SPROM1_PA0B2 0x1062 | ||
194 | #define SSB_SPROM1_GPIOA 0x1064 /* General Purpose IO pins 0 and 1 */ | ||
195 | #define SSB_SPROM1_GPIOA_P0 0x00FF /* Pin 0 */ | ||
196 | #define SSB_SPROM1_GPIOA_P1 0xFF00 /* Pin 1 */ | ||
197 | #define SSB_SPROM1_GPIOA_P1_SHIFT 8 | ||
198 | #define SSB_SPROM1_GPIOB 0x1066 /* General Purpuse IO pins 2 and 3 */ | ||
199 | #define SSB_SPROM1_GPIOB_P2 0x00FF /* Pin 2 */ | ||
200 | #define SSB_SPROM1_GPIOB_P3 0xFF00 /* Pin 3 */ | ||
201 | #define SSB_SPROM1_GPIOB_P3_SHIFT 8 | ||
202 | #define SSB_SPROM1_MAXPWR 0x1068 /* Power Amplifier Max Power */ | ||
203 | #define SSB_SPROM1_MAXPWR_BG 0x00FF /* B-PHY and G-PHY (in dBm Q5.2) */ | ||
204 | #define SSB_SPROM1_MAXPWR_A 0xFF00 /* A-PHY (in dBm Q5.2) */ | ||
205 | #define SSB_SPROM1_MAXPWR_A_SHIFT 8 | ||
206 | #define SSB_SPROM1_PA1B0 0x106A | ||
207 | #define SSB_SPROM1_PA1B1 0x106C | ||
208 | #define SSB_SPROM1_PA1B2 0x106E | ||
209 | #define SSB_SPROM1_ITSSI 0x1070 /* Idle TSSI Target */ | ||
210 | #define SSB_SPROM1_ITSSI_BG 0x00FF /* B-PHY and G-PHY*/ | ||
211 | #define SSB_SPROM1_ITSSI_A 0xFF00 /* A-PHY */ | ||
212 | #define SSB_SPROM1_ITSSI_A_SHIFT 8 | ||
213 | #define SSB_SPROM1_BFLLO 0x1072 /* Boardflags (low 16 bits) */ | ||
214 | #define SSB_SPROM1_AGAIN 0x1074 /* Antenna Gain (in dBm Q5.2) */ | ||
215 | #define SSB_SPROM1_AGAIN_A 0x00FF /* A-PHY */ | ||
216 | #define SSB_SPROM1_AGAIN_BG 0xFF00 /* B-PHY and G-PHY */ | ||
217 | #define SSB_SPROM1_AGAIN_BG_SHIFT 8 | ||
218 | #define SSB_SPROM1_OEM 0x1076 /* 8 bytes OEM string (rev 1 only) */ | ||
219 | /* SPROM Revision 2 (inherits from rev 1) */ | ||
220 | #define SSB_SPROM2_BFLHI 0x1038 /* Boardflags (high 16 bits) */ | ||
221 | #define SSB_SPROM2_MAXP_A 0x103A /* A-PHY Max Power */ | ||
222 | #define SSB_SPROM2_MAXP_A_HI 0x00FF /* Max Power High */ | ||
223 | #define SSB_SPROM2_MAXP_A_LO 0xFF00 /* Max Power Low */ | ||
224 | #define SSB_SPROM2_MAXP_A_LO_SHIFT 8 | ||
225 | #define SSB_SPROM2_PA1LOB0 0x103C /* A-PHY PowerAmplifier Low Settings */ | ||
226 | #define SSB_SPROM2_PA1LOB1 0x103E /* A-PHY PowerAmplifier Low Settings */ | ||
227 | #define SSB_SPROM2_PA1LOB2 0x1040 /* A-PHY PowerAmplifier Low Settings */ | ||
228 | #define SSB_SPROM2_PA1HIB0 0x1042 /* A-PHY PowerAmplifier High Settings */ | ||
229 | #define SSB_SPROM2_PA1HIB1 0x1044 /* A-PHY PowerAmplifier High Settings */ | ||
230 | #define SSB_SPROM2_PA1HIB2 0x1046 /* A-PHY PowerAmplifier High Settings */ | ||
231 | #define SSB_SPROM2_OPO 0x1078 /* OFDM Power Offset from CCK Level */ | ||
232 | #define SSB_SPROM2_OPO_VALUE 0x00FF | ||
233 | #define SSB_SPROM2_OPO_UNUSED 0xFF00 | ||
234 | #define SSB_SPROM2_CCODE 0x107C /* Two char Country Code */ | ||
235 | /* SPROM Revision 3 (inherits from rev 2) */ | ||
236 | #define SSB_SPROM3_OFDMAPO 0x102C /* A-PHY OFDM Mid Power Offset (4 bytes, BigEndian) */ | ||
237 | #define SSB_SPROM3_OFDMALPO 0x1030 /* A-PHY OFDM Low Power Offset (4 bytes, BigEndian) */ | ||
238 | #define SSB_SPROM3_OFDMAHPO 0x1034 /* A-PHY OFDM High Power Offset (4 bytes, BigEndian) */ | ||
239 | #define SSB_SPROM3_GPIOLDC 0x1042 /* GPIO LED Powersave Duty Cycle (4 bytes, BigEndian) */ | ||
240 | #define SSB_SPROM3_GPIOLDC_OFF 0x0000FF00 /* Off Count */ | ||
241 | #define SSB_SPROM3_GPIOLDC_OFF_SHIFT 8 | ||
242 | #define SSB_SPROM3_GPIOLDC_ON 0x00FF0000 /* On Count */ | ||
243 | #define SSB_SPROM3_GPIOLDC_ON_SHIFT 16 | ||
244 | #define SSB_SPROM3_CCKPO 0x1078 /* CCK Power Offset */ | ||
245 | #define SSB_SPROM3_CCKPO_1M 0x000F /* 1M Rate PO */ | ||
246 | #define SSB_SPROM3_CCKPO_2M 0x00F0 /* 2M Rate PO */ | ||
247 | #define SSB_SPROM3_CCKPO_2M_SHIFT 4 | ||
248 | #define SSB_SPROM3_CCKPO_55M 0x0F00 /* 5.5M Rate PO */ | ||
249 | #define SSB_SPROM3_CCKPO_55M_SHIFT 8 | ||
250 | #define SSB_SPROM3_CCKPO_11M 0xF000 /* 11M Rate PO */ | ||
251 | #define SSB_SPROM3_CCKPO_11M_SHIFT 12 | ||
252 | #define SSB_SPROM3_OFDMGPO 0x107A /* G-PHY OFDM Power Offset (4 bytes, BigEndian) */ | ||
253 | |||
254 | /* Values for SSB_SPROM1_BINF_CCODE */ | ||
255 | enum { | ||
256 | SSB_SPROM1CCODE_WORLD = 0, | ||
257 | SSB_SPROM1CCODE_THAILAND, | ||
258 | SSB_SPROM1CCODE_ISRAEL, | ||
259 | SSB_SPROM1CCODE_JORDAN, | ||
260 | SSB_SPROM1CCODE_CHINA, | ||
261 | SSB_SPROM1CCODE_JAPAN, | ||
262 | SSB_SPROM1CCODE_USA_CANADA_ANZ, | ||
263 | SSB_SPROM1CCODE_EUROPE, | ||
264 | SSB_SPROM1CCODE_USA_LOW, | ||
265 | SSB_SPROM1CCODE_JAPAN_HIGH, | ||
266 | SSB_SPROM1CCODE_ALL, | ||
267 | SSB_SPROM1CCODE_NONE, | ||
268 | }; | ||
269 | |||
270 | /* Address-Match values and masks (SSB_ADMATCHxxx) */ | ||
271 | #define SSB_ADM_TYPE 0x00000003 /* Address type */ | ||
272 | #define SSB_ADM_TYPE0 0 | ||
273 | #define SSB_ADM_TYPE1 1 | ||
274 | #define SSB_ADM_TYPE2 2 | ||
275 | #define SSB_ADM_AD64 0x00000004 | ||
276 | #define SSB_ADM_SZ0 0x000000F8 /* Type0 size */ | ||
277 | #define SSB_ADM_SZ0_SHIFT 3 | ||
278 | #define SSB_ADM_SZ1 0x000001F8 /* Type1 size */ | ||
279 | #define SSB_ADM_SZ1_SHIFT 3 | ||
280 | #define SSB_ADM_SZ2 0x000001F8 /* Type2 size */ | ||
281 | #define SSB_ADM_SZ2_SHIFT 3 | ||
282 | #define SSB_ADM_EN 0x00000400 /* Enable */ | ||
283 | #define SSB_ADM_NEG 0x00000800 /* Negative decode */ | ||
284 | #define SSB_ADM_BASE0 0xFFFFFF00 /* Type0 base address */ | ||
285 | #define SSB_ADM_BASE0_SHIFT 8 | ||
286 | #define SSB_ADM_BASE1 0xFFFFF000 /* Type1 base address for the core */ | ||
287 | #define SSB_ADM_BASE1_SHIFT 12 | ||
288 | #define SSB_ADM_BASE2 0xFFFF0000 /* Type2 base address for the core */ | ||
289 | #define SSB_ADM_BASE2_SHIFT 16 | ||
290 | |||
291 | |||
292 | #endif /* LINUX_SSB_REGS_H_ */ | ||
diff --git a/include/linux/swap.h b/include/linux/swap.h index 665f85f2a3af..edf681a7fd8f 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -221,7 +221,7 @@ extern void swap_unplug_io_fn(struct backing_dev_info *, struct page *); | |||
221 | /* linux/mm/page_io.c */ | 221 | /* linux/mm/page_io.c */ |
222 | extern int swap_readpage(struct file *, struct page *); | 222 | extern int swap_readpage(struct file *, struct page *); |
223 | extern int swap_writepage(struct page *page, struct writeback_control *wbc); | 223 | extern int swap_writepage(struct page *page, struct writeback_control *wbc); |
224 | extern int end_swap_bio_read(struct bio *bio, unsigned int bytes_done, int err); | 224 | extern void end_swap_bio_read(struct bio *bio, int err); |
225 | 225 | ||
226 | /* linux/mm/swap_state.c */ | 226 | /* linux/mm/swap_state.c */ |
227 | extern struct address_space swapper_space; | 227 | extern struct address_space swapper_space; |
diff --git a/include/linux/tc_act/tc_nat.h b/include/linux/tc_act/tc_nat.h new file mode 100644 index 000000000000..e7cf31e8ba79 --- /dev/null +++ b/include/linux/tc_act/tc_nat.h | |||
@@ -0,0 +1,29 @@ | |||
1 | #ifndef __LINUX_TC_NAT_H | ||
2 | #define __LINUX_TC_NAT_H | ||
3 | |||
4 | #include <linux/pkt_cls.h> | ||
5 | #include <linux/types.h> | ||
6 | |||
7 | #define TCA_ACT_NAT 9 | ||
8 | |||
9 | enum | ||
10 | { | ||
11 | TCA_NAT_UNSPEC, | ||
12 | TCA_NAT_PARMS, | ||
13 | TCA_NAT_TM, | ||
14 | __TCA_NAT_MAX | ||
15 | }; | ||
16 | #define TCA_NAT_MAX (__TCA_NAT_MAX - 1) | ||
17 | |||
18 | #define TCA_NAT_FLAG_EGRESS 1 | ||
19 | |||
20 | struct tc_nat | ||
21 | { | ||
22 | tc_gen; | ||
23 | __be32 old_addr; | ||
24 | __be32 new_addr; | ||
25 | __be32 mask; | ||
26 | __u32 flags; | ||
27 | }; | ||
28 | |||
29 | #endif | ||
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index c6b9f92e8289..c5b94c1a5ee2 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -304,7 +304,6 @@ struct tcp_sock { | |||
304 | u32 rtt_seq; /* sequence number to update rttvar */ | 304 | u32 rtt_seq; /* sequence number to update rttvar */ |
305 | 305 | ||
306 | u32 packets_out; /* Packets which are "in flight" */ | 306 | u32 packets_out; /* Packets which are "in flight" */ |
307 | u32 left_out; /* Packets which leaved network */ | ||
308 | u32 retrans_out; /* Retransmitted packets out */ | 307 | u32 retrans_out; /* Retransmitted packets out */ |
309 | /* | 308 | /* |
310 | * Options received (usually on last packet, some only on SYN packets). | 309 | * Options received (usually on last packet, some only on SYN packets). |
@@ -333,6 +332,9 @@ struct tcp_sock { | |||
333 | 332 | ||
334 | struct tcp_sack_block_wire recv_sack_cache[4]; | 333 | struct tcp_sack_block_wire recv_sack_cache[4]; |
335 | 334 | ||
335 | u32 highest_sack; /* Start seq of globally highest revd SACK | ||
336 | * (validity guaranteed only if sacked_out > 0) */ | ||
337 | |||
336 | /* from STCP, retrans queue hinting */ | 338 | /* from STCP, retrans queue hinting */ |
337 | struct sk_buff* lost_skb_hint; | 339 | struct sk_buff* lost_skb_hint; |
338 | 340 | ||
@@ -341,10 +343,12 @@ struct tcp_sock { | |||
341 | struct sk_buff *forward_skb_hint; | 343 | struct sk_buff *forward_skb_hint; |
342 | struct sk_buff *fastpath_skb_hint; | 344 | struct sk_buff *fastpath_skb_hint; |
343 | 345 | ||
344 | int fastpath_cnt_hint; | 346 | int fastpath_cnt_hint; /* Lags behind by current skb's pcount |
347 | * compared to respective fackets_out */ | ||
345 | int lost_cnt_hint; | 348 | int lost_cnt_hint; |
346 | int retransmit_cnt_hint; | 349 | int retransmit_cnt_hint; |
347 | int forward_cnt_hint; | 350 | |
351 | u32 lost_retrans_low; /* Sent seq after any rxmit (lowest) */ | ||
348 | 352 | ||
349 | u16 advmss; /* Advertised MSS */ | 353 | u16 advmss; /* Advertised MSS */ |
350 | u16 prior_ssthresh; /* ssthresh saved at recovery start */ | 354 | u16 prior_ssthresh; /* ssthresh saved at recovery start */ |
diff --git a/include/linux/umem.h b/include/linux/umem.h deleted file mode 100644 index f36ebfc32bf6..000000000000 --- a/include/linux/umem.h +++ /dev/null | |||
@@ -1,138 +0,0 @@ | |||
1 | |||
2 | /* | ||
3 | * This file contains defines for the | ||
4 | * Micro Memory MM5415 | ||
5 | * family PCI Memory Module with Battery Backup. | ||
6 | * | ||
7 | * Copyright Micro Memory INC 2001. All rights reserved. | ||
8 | * Release under the terms of the GNU GENERAL PUBLIC LICENSE version 2. | ||
9 | * See the file COPYING. | ||
10 | */ | ||
11 | |||
12 | #ifndef _DRIVERS_BLOCK_MM_H | ||
13 | #define _DRIVERS_BLOCK_MM_H | ||
14 | |||
15 | |||
16 | #define IRQ_TIMEOUT (1 * HZ) | ||
17 | |||
18 | /* CSR register definition */ | ||
19 | #define MEMCTRLSTATUS_MAGIC 0x00 | ||
20 | #define MM_MAGIC_VALUE (unsigned char)0x59 | ||
21 | |||
22 | #define MEMCTRLSTATUS_BATTERY 0x04 | ||
23 | #define BATTERY_1_DISABLED 0x01 | ||
24 | #define BATTERY_1_FAILURE 0x02 | ||
25 | #define BATTERY_2_DISABLED 0x04 | ||
26 | #define BATTERY_2_FAILURE 0x08 | ||
27 | |||
28 | #define MEMCTRLSTATUS_MEMORY 0x07 | ||
29 | #define MEM_128_MB 0xfe | ||
30 | #define MEM_256_MB 0xfc | ||
31 | #define MEM_512_MB 0xf8 | ||
32 | #define MEM_1_GB 0xf0 | ||
33 | #define MEM_2_GB 0xe0 | ||
34 | |||
35 | #define MEMCTRLCMD_LEDCTRL 0x08 | ||
36 | #define LED_REMOVE 2 | ||
37 | #define LED_FAULT 4 | ||
38 | #define LED_POWER 6 | ||
39 | #define LED_FLIP 255 | ||
40 | #define LED_OFF 0x00 | ||
41 | #define LED_ON 0x01 | ||
42 | #define LED_FLASH_3_5 0x02 | ||
43 | #define LED_FLASH_7_0 0x03 | ||
44 | #define LED_POWER_ON 0x00 | ||
45 | #define LED_POWER_OFF 0x01 | ||
46 | #define USER_BIT1 0x01 | ||
47 | #define USER_BIT2 0x02 | ||
48 | |||
49 | #define MEMORY_INITIALIZED USER_BIT1 | ||
50 | |||
51 | #define MEMCTRLCMD_ERRCTRL 0x0C | ||
52 | #define EDC_NONE_DEFAULT 0x00 | ||
53 | #define EDC_NONE 0x01 | ||
54 | #define EDC_STORE_READ 0x02 | ||
55 | #define EDC_STORE_CORRECT 0x03 | ||
56 | |||
57 | #define MEMCTRLCMD_ERRCNT 0x0D | ||
58 | #define MEMCTRLCMD_ERRSTATUS 0x0E | ||
59 | |||
60 | #define ERROR_DATA_LOG 0x20 | ||
61 | #define ERROR_ADDR_LOG 0x28 | ||
62 | #define ERROR_COUNT 0x3D | ||
63 | #define ERROR_SYNDROME 0x3E | ||
64 | #define ERROR_CHECK 0x3F | ||
65 | |||
66 | #define DMA_PCI_ADDR 0x40 | ||
67 | #define DMA_LOCAL_ADDR 0x48 | ||
68 | #define DMA_TRANSFER_SIZE 0x50 | ||
69 | #define DMA_DESCRIPTOR_ADDR 0x58 | ||
70 | #define DMA_SEMAPHORE_ADDR 0x60 | ||
71 | #define DMA_STATUS_CTRL 0x68 | ||
72 | #define DMASCR_GO 0x00001 | ||
73 | #define DMASCR_TRANSFER_READ 0x00002 | ||
74 | #define DMASCR_CHAIN_EN 0x00004 | ||
75 | #define DMASCR_SEM_EN 0x00010 | ||
76 | #define DMASCR_DMA_COMP_EN 0x00020 | ||
77 | #define DMASCR_CHAIN_COMP_EN 0x00040 | ||
78 | #define DMASCR_ERR_INT_EN 0x00080 | ||
79 | #define DMASCR_PARITY_INT_EN 0x00100 | ||
80 | #define DMASCR_ANY_ERR 0x00800 | ||
81 | #define DMASCR_MBE_ERR 0x01000 | ||
82 | #define DMASCR_PARITY_ERR_REP 0x02000 | ||
83 | #define DMASCR_PARITY_ERR_DET 0x04000 | ||
84 | #define DMASCR_SYSTEM_ERR_SIG 0x08000 | ||
85 | #define DMASCR_TARGET_ABT 0x10000 | ||
86 | #define DMASCR_MASTER_ABT 0x20000 | ||
87 | #define DMASCR_DMA_COMPLETE 0x40000 | ||
88 | #define DMASCR_CHAIN_COMPLETE 0x80000 | ||
89 | |||
90 | /* | ||
91 | 3.SOME PCs HAVE HOST BRIDGES WHICH APPARENTLY DO NOT CORRECTLY HANDLE | ||
92 | READ-LINE (0xE) OR READ-MULTIPLE (0xC) PCI COMMAND CODES DURING DMA | ||
93 | TRANSFERS. IN OTHER SYSTEMS THESE COMMAND CODES WILL CAUSE THE HOST BRIDGE | ||
94 | TO ALLOW LONGER BURSTS DURING DMA READ OPERATIONS. THE UPPER FOUR BITS | ||
95 | (31..28) OF THE DMA CSR HAVE BEEN MADE PROGRAMMABLE, SO THAT EITHER A 0x6, | ||
96 | AN 0xE OR A 0xC CAN BE WRITTEN TO THEM TO SET THE COMMAND CODE USED DURING | ||
97 | DMA READ OPERATIONS. | ||
98 | */ | ||
99 | #define DMASCR_READ 0x60000000 | ||
100 | #define DMASCR_READLINE 0xE0000000 | ||
101 | #define DMASCR_READMULTI 0xC0000000 | ||
102 | |||
103 | |||
104 | #define DMASCR_ERROR_MASK (DMASCR_MASTER_ABT | DMASCR_TARGET_ABT | DMASCR_SYSTEM_ERR_SIG | DMASCR_PARITY_ERR_DET | DMASCR_MBE_ERR | DMASCR_ANY_ERR) | ||
105 | #define DMASCR_HARD_ERROR (DMASCR_MASTER_ABT | DMASCR_TARGET_ABT | DMASCR_SYSTEM_ERR_SIG | DMASCR_PARITY_ERR_DET | DMASCR_MBE_ERR) | ||
106 | |||
107 | #define WINDOWMAP_WINNUM 0x7B | ||
108 | |||
109 | #define DMA_READ_FROM_HOST 0 | ||
110 | #define DMA_WRITE_TO_HOST 1 | ||
111 | |||
112 | struct mm_dma_desc { | ||
113 | __le64 pci_addr; | ||
114 | __le64 local_addr; | ||
115 | __le32 transfer_size; | ||
116 | u32 zero1; | ||
117 | __le64 next_desc_addr; | ||
118 | __le64 sem_addr; | ||
119 | __le32 control_bits; | ||
120 | u32 zero2; | ||
121 | |||
122 | dma_addr_t data_dma_handle; | ||
123 | |||
124 | /* Copy of the bits */ | ||
125 | __le64 sem_control_bits; | ||
126 | } __attribute__((aligned(8))); | ||
127 | |||
128 | #define PCI_VENDOR_ID_MICRO_MEMORY 0x1332 | ||
129 | #define PCI_DEVICE_ID_MICRO_MEMORY_5415CN 0x5415 | ||
130 | #define PCI_DEVICE_ID_MICRO_MEMORY_5425CN 0x5425 | ||
131 | #define PCI_DEVICE_ID_MICRO_MEMORY_6155 0x6155 | ||
132 | |||
133 | /* bits for card->flags */ | ||
134 | #define UM_FLAG_DMA_IN_REGS 1 | ||
135 | #define UM_FLAG_NO_BYTE_STATUS 2 | ||
136 | #define UM_FLAG_NO_BATTREG 4 | ||
137 | #define UM_FLAG_NO_BATT 8 | ||
138 | #endif | ||
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index ae9b24c12f6a..1f503e94eff1 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -271,6 +271,7 @@ struct v4l2_pix_format | |||
271 | 271 | ||
272 | /* Pixel format FOURCC depth Description */ | 272 | /* Pixel format FOURCC depth Description */ |
273 | #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R','G','B','1') /* 8 RGB-3-3-2 */ | 273 | #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R','G','B','1') /* 8 RGB-3-3-2 */ |
274 | #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R','4','4','4') /* 16 xxxxrrrr ggggbbbb */ | ||
274 | #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R','G','B','O') /* 16 RGB-5-5-5 */ | 275 | #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R','G','B','O') /* 16 RGB-5-5-5 */ |
275 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R','G','B','P') /* 16 RGB-5-6-5 */ | 276 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R','G','B','P') /* 16 RGB-5-6-5 */ |
276 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R','G','B','Q') /* 16 RGB-5-5-5 BE */ | 277 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R','G','B','Q') /* 16 RGB-5-5-5 BE */ |
@@ -280,6 +281,7 @@ struct v4l2_pix_format | |||
280 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B','G','R','4') /* 32 BGR-8-8-8-8 */ | 281 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B','G','R','4') /* 32 BGR-8-8-8-8 */ |
281 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R','G','B','4') /* 32 RGB-8-8-8-8 */ | 282 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R','G','B','4') /* 32 RGB-8-8-8-8 */ |
282 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G','R','E','Y') /* 8 Greyscale */ | 283 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G','R','E','Y') /* 8 Greyscale */ |
284 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P','A','L','8') /* 8 8-bit palette */ | ||
283 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y','V','U','9') /* 9 YVU 4:1:0 */ | 285 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y','V','U','9') /* 9 YVU 4:1:0 */ |
284 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y','V','1','2') /* 12 YVU 4:2:0 */ | 286 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y','V','1','2') /* 12 YVU 4:2:0 */ |
285 | #define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y','U','Y','V') /* 16 YUV 4:2:2 */ | 287 | #define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y','U','Y','V') /* 16 YUV 4:2:2 */ |
@@ -287,6 +289,10 @@ struct v4l2_pix_format | |||
287 | #define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4','2','2','P') /* 16 YVU422 planar */ | 289 | #define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4','2','2','P') /* 16 YVU422 planar */ |
288 | #define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4','1','1','P') /* 16 YVU411 planar */ | 290 | #define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4','1','1','P') /* 16 YVU411 planar */ |
289 | #define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y','4','1','P') /* 12 YUV 4:1:1 */ | 291 | #define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y','4','1','P') /* 12 YUV 4:1:1 */ |
292 | #define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y','4','4','4') /* 16 xxxxyyyy uuuuvvvv */ | ||
293 | #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y','U','V','O') /* 16 YUV-5-5-5 */ | ||
294 | #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y','U','V','P') /* 16 YUV-5-6-5 */ | ||
295 | #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y','U','V','4') /* 32 YUV-8-8-8-8 */ | ||
290 | 296 | ||
291 | /* two planes -- one Y, one Cr + Cb interleaved */ | 297 | /* two planes -- one Y, one Cr + Cb interleaved */ |
292 | #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N','V','1','2') /* 12 Y/CbCr 4:2:0 */ | 298 | #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N','V','1','2') /* 12 Y/CbCr 4:2:0 */ |
@@ -298,7 +304,6 @@ struct v4l2_pix_format | |||
298 | #define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y','Y','U','V') /* 16 YUV 4:2:2 */ | 304 | #define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y','Y','U','V') /* 16 YUV 4:2:2 */ |
299 | #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H','I','2','4') /* 8 8-bit color */ | 305 | #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H','I','2','4') /* 8 8-bit color */ |
300 | #define V4L2_PIX_FMT_HM12 v4l2_fourcc('H','M','1','2') /* 8 YUV 4:2:0 16x16 macroblocks */ | 306 | #define V4L2_PIX_FMT_HM12 v4l2_fourcc('H','M','1','2') /* 8 YUV 4:2:0 16x16 macroblocks */ |
301 | #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R','4','4','4') /* 16 xxxxrrrr ggggbbbb */ | ||
302 | 307 | ||
303 | /* see http://www.siliconimaging.com/RGB%20Bayer.htm */ | 308 | /* see http://www.siliconimaging.com/RGB%20Bayer.htm */ |
304 | #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1') /* 8 BGBG.. GRGR.. */ | 309 | #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1') /* 8 BGBG.. GRGR.. */ |
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 4ef4d22e5e43..c7c3337c3a88 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define WRITEBACK_H | 5 | #define WRITEBACK_H |
6 | 6 | ||
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
8 | #include <linux/fs.h> | ||
8 | 9 | ||
9 | struct backing_dev_info; | 10 | struct backing_dev_info; |
10 | 11 | ||
@@ -127,7 +128,7 @@ int sync_page_range(struct inode *inode, struct address_space *mapping, | |||
127 | loff_t pos, loff_t count); | 128 | loff_t pos, loff_t count); |
128 | int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, | 129 | int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, |
129 | loff_t pos, loff_t count); | 130 | loff_t pos, loff_t count); |
130 | void set_page_dirty_balance(struct page *page); | 131 | void set_page_dirty_balance(struct page *page, int page_mkwrite); |
131 | void writeback_set_ratelimit(void); | 132 | void writeback_set_ratelimit(void); |
132 | 133 | ||
133 | /* pdflush.c */ | 134 | /* pdflush.c */ |
diff --git a/include/linux/zlib.h b/include/linux/zlib.h index 9e3192a7dc6f..40c49cb3eb51 100644 --- a/include/linux/zlib.h +++ b/include/linux/zlib.h | |||
@@ -82,7 +82,7 @@ | |||
82 | struct internal_state; | 82 | struct internal_state; |
83 | 83 | ||
84 | typedef struct z_stream_s { | 84 | typedef struct z_stream_s { |
85 | Byte *next_in; /* next input byte */ | 85 | const Byte *next_in; /* next input byte */ |
86 | uInt avail_in; /* number of bytes available at next_in */ | 86 | uInt avail_in; /* number of bytes available at next_in */ |
87 | uLong total_in; /* total nb of input bytes read so far */ | 87 | uLong total_in; /* total nb of input bytes read so far */ |
88 | 88 | ||
@@ -699,4 +699,8 @@ extern int zlib_inflateInit2(z_streamp strm, int windowBits); | |||
699 | struct internal_state {int dummy;}; /* hack for buggy compilers */ | 699 | struct internal_state {int dummy;}; /* hack for buggy compilers */ |
700 | #endif | 700 | #endif |
701 | 701 | ||
702 | /* Utility function: initialize zlib, unpack binary blob, clean up zlib, | ||
703 | * return len or negative error code. */ | ||
704 | extern int zlib_inflate_blob(void *dst, unsigned dst_sz, const void *src, unsigned src_sz); | ||
705 | |||
702 | #endif /* _ZLIB_H */ | 706 | #endif /* _ZLIB_H */ |
diff --git a/include/media/cx2341x.h b/include/media/cx2341x.h index 38c12fed7535..af8071d7620d 100644 --- a/include/media/cx2341x.h +++ b/include/media/cx2341x.h | |||
@@ -91,7 +91,7 @@ int cx2341x_update(void *priv, cx2341x_mbox_func func, | |||
91 | int cx2341x_ctrl_query(struct cx2341x_mpeg_params *params, | 91 | int cx2341x_ctrl_query(struct cx2341x_mpeg_params *params, |
92 | struct v4l2_queryctrl *qctrl); | 92 | struct v4l2_queryctrl *qctrl); |
93 | const char **cx2341x_ctrl_get_menu(u32 id); | 93 | const char **cx2341x_ctrl_get_menu(u32 id); |
94 | int cx2341x_ext_ctrls(struct cx2341x_mpeg_params *params, | 94 | int cx2341x_ext_ctrls(struct cx2341x_mpeg_params *params, int busy, |
95 | struct v4l2_ext_controls *ctrls, unsigned int cmd); | 95 | struct v4l2_ext_controls *ctrls, unsigned int cmd); |
96 | void cx2341x_fill_defaults(struct cx2341x_mpeg_params *p); | 96 | void cx2341x_fill_defaults(struct cx2341x_mpeg_params *p); |
97 | void cx2341x_log_status(struct cx2341x_mpeg_params *p, const char *prefix); | 97 | void cx2341x_log_status(struct cx2341x_mpeg_params *p, const char *prefix); |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 9807a7c15830..7a785fa77212 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -140,6 +140,7 @@ extern IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE]; | |||
140 | extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE]; | 140 | extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE]; |
141 | extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE]; | 141 | extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE]; |
142 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; | 142 | extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; |
143 | extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; | ||
143 | 144 | ||
144 | #endif | 145 | #endif |
145 | 146 | ||
diff --git a/include/media/saa7146.h b/include/media/saa7146.h index 67703249b245..cd3ff2c29d5e 100644 --- a/include/media/saa7146.h +++ b/include/media/saa7146.h | |||
@@ -146,7 +146,6 @@ struct saa7146_dev | |||
146 | 146 | ||
147 | /* from saa7146_i2c.c */ | 147 | /* from saa7146_i2c.c */ |
148 | int saa7146_i2c_adapter_prepare(struct saa7146_dev *dev, struct i2c_adapter *i2c_adapter, u32 bitrate); | 148 | int saa7146_i2c_adapter_prepare(struct saa7146_dev *dev, struct i2c_adapter *i2c_adapter, u32 bitrate); |
149 | int saa7146_i2c_transfer(struct saa7146_dev *saa, const struct i2c_msg *msgs, int num, int retries); | ||
150 | 149 | ||
151 | /* from saa7146_core.c */ | 150 | /* from saa7146_core.c */ |
152 | extern struct list_head saa7146_devices; | 151 | extern struct list_head saa7146_devices; |
diff --git a/include/media/saa7146_vv.h b/include/media/saa7146_vv.h index cce20ed5cf6c..e49f7e156061 100644 --- a/include/media/saa7146_vv.h +++ b/include/media/saa7146_vv.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <linux/videodev.h> | 4 | #include <linux/videodev.h> |
5 | #include <media/v4l2-common.h> | 5 | #include <media/v4l2-common.h> |
6 | #include <media/saa7146.h> | 6 | #include <media/saa7146.h> |
7 | #include <media/video-buf.h> | 7 | #include <media/videobuf-dma-sg.h> |
8 | 8 | ||
9 | #define MAX_SAA7146_CAPTURE_BUFFERS 32 /* arbitrary */ | 9 | #define MAX_SAA7146_CAPTURE_BUFFERS 32 /* arbitrary */ |
10 | #define BUFFER_TIMEOUT (HZ/2) /* 0.5 seconds */ | 10 | #define BUFFER_TIMEOUT (HZ/2) /* 0.5 seconds */ |
diff --git a/include/media/tuner-types.h b/include/media/tuner-types.h index e5ad3fcfe984..b201371416a0 100644 --- a/include/media/tuner-types.h +++ b/include/media/tuner-types.h | |||
@@ -79,6 +79,10 @@ struct tuner_params { | |||
79 | /* Select 18% (or according to datasheet 0%) L standard PLL gating, | 79 | /* Select 18% (or according to datasheet 0%) L standard PLL gating, |
80 | vs the driver default of 36%. */ | 80 | vs the driver default of 36%. */ |
81 | unsigned int default_pll_gating_18:1; | 81 | unsigned int default_pll_gating_18:1; |
82 | /* IF to use in radio mode. Tuners with a separate radio IF filter | ||
83 | seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners | ||
84 | and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3 */ | ||
85 | unsigned int radio_if:2; | ||
82 | /* Default tda9887 TOP value in dB for the low band. Default is 0. | 86 | /* Default tda9887 TOP value in dB for the low band. Default is 0. |
83 | Range: -16:+15 */ | 87 | Range: -16:+15 */ |
84 | signed int default_top_low:5; | 88 | signed int default_top_low:5; |
diff --git a/include/media/tuner.h b/include/media/tuner.h index 160381c72e4b..c03dceb92605 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h | |||
@@ -146,6 +146,7 @@ extern int tuner_debug; | |||
146 | #define TDA9887_AUTOMUTE (1<<18) | 146 | #define TDA9887_AUTOMUTE (1<<18) |
147 | #define TDA9887_GATING_18 (1<<19) | 147 | #define TDA9887_GATING_18 (1<<19) |
148 | #define TDA9887_GAIN_NORMAL (1<<20) | 148 | #define TDA9887_GAIN_NORMAL (1<<20) |
149 | #define TDA9887_RIF_41_3 (1<<21) /* radio IF1 41.3 vs 33.3 */ | ||
149 | 150 | ||
150 | #ifdef __KERNEL__ | 151 | #ifdef __KERNEL__ |
151 | 152 | ||
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index 09d16c4f00f7..8ae42c41dd08 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h | |||
@@ -65,6 +65,9 @@ enum { | |||
65 | V4L2_IDENT_CX23415 = 415, | 65 | V4L2_IDENT_CX23415 = 415, |
66 | V4L2_IDENT_CX23416 = 416, | 66 | V4L2_IDENT_CX23416 = 416, |
67 | 67 | ||
68 | /* module vp27smpx: just ident 2700 */ | ||
69 | V4L2_IDENT_VP27SMPX = 2700, | ||
70 | |||
68 | /* module wm8739: just ident 8739 */ | 71 | /* module wm8739: just ident 8739 */ |
69 | V4L2_IDENT_WM8739 = 8739, | 72 | V4L2_IDENT_WM8739 = 8739, |
70 | 73 | ||
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 17f8f3a2f0a3..e75d5e6c4cea 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
@@ -23,8 +23,6 @@ | |||
23 | #include <linux/videodev2.h> | 23 | #include <linux/videodev2.h> |
24 | #endif | 24 | #endif |
25 | 25 | ||
26 | #include <linux/fs.h> | ||
27 | |||
28 | #define VIDEO_MAJOR 81 | 26 | #define VIDEO_MAJOR 81 |
29 | /* Minor device allocation */ | 27 | /* Minor device allocation */ |
30 | #define MINOR_VFL_TYPE_GRABBER_MIN 0 | 28 | #define MINOR_VFL_TYPE_GRABBER_MIN 0 |
@@ -88,8 +86,11 @@ struct video_device | |||
88 | /* device ops */ | 86 | /* device ops */ |
89 | const struct file_operations *fops; | 87 | const struct file_operations *fops; |
90 | 88 | ||
89 | /* sysfs */ | ||
90 | struct device class_dev; /* v4l device */ | ||
91 | struct device *dev; /* device parent */ | ||
92 | |||
91 | /* device info */ | 93 | /* device info */ |
92 | struct device *dev; | ||
93 | char name[32]; | 94 | char name[32]; |
94 | int type; /* v4l1 */ | 95 | int type; /* v4l1 */ |
95 | int type2; /* v4l2 */ | 96 | int type2; /* v4l2 */ |
@@ -334,7 +335,6 @@ void *priv; | |||
334 | /* for videodev.c intenal usage -- please don't touch */ | 335 | /* for videodev.c intenal usage -- please don't touch */ |
335 | int users; /* video_exclusive_{open|close} ... */ | 336 | int users; /* video_exclusive_{open|close} ... */ |
336 | struct mutex lock; /* ... helper function uses these */ | 337 | struct mutex lock; /* ... helper function uses these */ |
337 | struct class_device class_dev; /* sysfs */ | ||
338 | }; | 338 | }; |
339 | 339 | ||
340 | /* Class-dev to video-device */ | 340 | /* Class-dev to video-device */ |
@@ -362,18 +362,18 @@ extern int video_usercopy(struct inode *inode, struct file *file, | |||
362 | 362 | ||
363 | static inline int __must_check | 363 | static inline int __must_check |
364 | video_device_create_file(struct video_device *vfd, | 364 | video_device_create_file(struct video_device *vfd, |
365 | struct class_device_attribute *attr) | 365 | struct device_attribute *attr) |
366 | { | 366 | { |
367 | int ret = class_device_create_file(&vfd->class_dev, attr); | 367 | int ret = device_create_file(&vfd->class_dev, attr); |
368 | if (ret < 0) | 368 | if (ret < 0) |
369 | printk(KERN_WARNING "%s error: %d\n", __FUNCTION__, ret); | 369 | printk(KERN_WARNING "%s error: %d\n", __FUNCTION__, ret); |
370 | return ret; | 370 | return ret; |
371 | } | 371 | } |
372 | static inline void | 372 | static inline void |
373 | video_device_remove_file(struct video_device *vfd, | 373 | video_device_remove_file(struct video_device *vfd, |
374 | struct class_device_attribute *attr) | 374 | struct device_attribute *attr) |
375 | { | 375 | { |
376 | class_device_remove_file(&vfd->class_dev, attr); | 376 | device_remove_file(&vfd->class_dev, attr); |
377 | } | 377 | } |
378 | 378 | ||
379 | #endif /* CONFIG_VIDEO_V4L1_COMPAT */ | 379 | #endif /* CONFIG_VIDEO_V4L1_COMPAT */ |
diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h new file mode 100644 index 000000000000..066ebfc4f983 --- /dev/null +++ b/include/media/v4l2-int-device.h | |||
@@ -0,0 +1,278 @@ | |||
1 | /* | ||
2 | * include/media/v4l2-int-device.h | ||
3 | * | ||
4 | * V4L2 internal ioctl interface. | ||
5 | * | ||
6 | * Copyright (C) 2007 Nokia Corporation. | ||
7 | * | ||
8 | * Contact: Sakari Ailus <sakari.ailus@nokia.com> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License | ||
12 | * version 2 as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, but | ||
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
22 | * 02110-1301 USA | ||
23 | */ | ||
24 | |||
25 | #ifndef V4L2_INT_DEVICE_H | ||
26 | #define V4L2_INT_DEVICE_H | ||
27 | |||
28 | #include <linux/module.h> | ||
29 | #include <media/v4l2-common.h> | ||
30 | |||
31 | #define V4L2NAMESIZE 32 | ||
32 | |||
33 | /* | ||
34 | * | ||
35 | * The internal V4L2 device interface core. | ||
36 | * | ||
37 | */ | ||
38 | |||
39 | enum v4l2_int_type { | ||
40 | v4l2_int_type_master = 1, | ||
41 | v4l2_int_type_slave | ||
42 | }; | ||
43 | |||
44 | struct v4l2_int_device; | ||
45 | |||
46 | struct v4l2_int_master { | ||
47 | int (*attach)(struct v4l2_int_device *master, | ||
48 | struct v4l2_int_device *slave); | ||
49 | void (*detach)(struct v4l2_int_device *master); | ||
50 | }; | ||
51 | |||
52 | typedef int (v4l2_int_ioctl_func)(struct v4l2_int_device *); | ||
53 | typedef int (v4l2_int_ioctl_func_0)(struct v4l2_int_device *); | ||
54 | typedef int (v4l2_int_ioctl_func_1)(struct v4l2_int_device *, void *); | ||
55 | |||
56 | struct v4l2_int_ioctl_desc { | ||
57 | int num; | ||
58 | v4l2_int_ioctl_func *func; | ||
59 | }; | ||
60 | |||
61 | struct v4l2_int_slave { | ||
62 | /* Don't touch master. */ | ||
63 | struct v4l2_int_device *master; | ||
64 | |||
65 | char attach_to[V4L2NAMESIZE]; | ||
66 | |||
67 | int num_ioctls; | ||
68 | struct v4l2_int_ioctl_desc *ioctls; | ||
69 | }; | ||
70 | |||
71 | struct v4l2_int_device { | ||
72 | /* Don't touch head. */ | ||
73 | struct list_head head; | ||
74 | |||
75 | struct module *module; | ||
76 | |||
77 | char name[V4L2NAMESIZE]; | ||
78 | |||
79 | enum v4l2_int_type type; | ||
80 | union { | ||
81 | struct v4l2_int_master *master; | ||
82 | struct v4l2_int_slave *slave; | ||
83 | } u; | ||
84 | |||
85 | void *priv; | ||
86 | }; | ||
87 | |||
88 | int v4l2_int_device_register(struct v4l2_int_device *d); | ||
89 | void v4l2_int_device_unregister(struct v4l2_int_device *d); | ||
90 | |||
91 | int v4l2_int_ioctl_0(struct v4l2_int_device *d, int cmd); | ||
92 | int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg); | ||
93 | |||
94 | /* | ||
95 | * | ||
96 | * Types and definitions for IOCTL commands. | ||
97 | * | ||
98 | */ | ||
99 | |||
100 | /* Slave interface type. */ | ||
101 | enum v4l2_if_type { | ||
102 | /* | ||
103 | * Parallel 8-, 10- or 12-bit interface, used by for example | ||
104 | * on certain image sensors. | ||
105 | */ | ||
106 | V4L2_IF_TYPE_BT656, | ||
107 | }; | ||
108 | |||
109 | enum v4l2_if_type_bt656_mode { | ||
110 | /* | ||
111 | * Modes without Bt synchronisation codes. Separate | ||
112 | * synchronisation signal lines are used. | ||
113 | */ | ||
114 | V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT, | ||
115 | V4L2_IF_TYPE_BT656_MODE_NOBT_10BIT, | ||
116 | V4L2_IF_TYPE_BT656_MODE_NOBT_12BIT, | ||
117 | /* | ||
118 | * Use Bt synchronisation codes. The vertical and horizontal | ||
119 | * synchronisation is done based on synchronisation codes. | ||
120 | */ | ||
121 | V4L2_IF_TYPE_BT656_MODE_BT_8BIT, | ||
122 | V4L2_IF_TYPE_BT656_MODE_BT_10BIT, | ||
123 | }; | ||
124 | |||
125 | struct v4l2_if_type_bt656 { | ||
126 | /* | ||
127 | * 0: Frame begins when vsync is high. | ||
128 | * 1: Frame begins when vsync changes from low to high. | ||
129 | */ | ||
130 | unsigned frame_start_on_rising_vs:1; | ||
131 | /* Use Bt synchronisation codes for sync correction. */ | ||
132 | unsigned bt_sync_correct:1; | ||
133 | /* Swap every two adjacent image data elements. */ | ||
134 | unsigned swap:1; | ||
135 | /* Inverted latch clock polarity from slave. */ | ||
136 | unsigned latch_clk_inv:1; | ||
137 | /* Hs polarity. 0 is active high, 1 active low. */ | ||
138 | unsigned nobt_hs_inv:1; | ||
139 | /* Vs polarity. 0 is active high, 1 active low. */ | ||
140 | unsigned nobt_vs_inv:1; | ||
141 | enum v4l2_if_type_bt656_mode mode; | ||
142 | /* Minimum accepted bus clock for slave (in Hz). */ | ||
143 | u32 clock_min; | ||
144 | /* Maximum accepted bus clock for slave. */ | ||
145 | u32 clock_max; | ||
146 | /* | ||
147 | * Current wish of the slave. May only change in response to | ||
148 | * ioctls that affect image capture. | ||
149 | */ | ||
150 | u32 clock_curr; | ||
151 | }; | ||
152 | |||
153 | struct v4l2_ifparm { | ||
154 | enum v4l2_if_type if_type; | ||
155 | union { | ||
156 | struct v4l2_if_type_bt656 bt656; | ||
157 | } u; | ||
158 | }; | ||
159 | |||
160 | /* IOCTL command numbers. */ | ||
161 | enum v4l2_int_ioctl_num { | ||
162 | /* | ||
163 | * | ||
164 | * "Proper" V4L ioctls, as in struct video_device. | ||
165 | * | ||
166 | */ | ||
167 | vidioc_int_enum_fmt_cap_num = 1, | ||
168 | vidioc_int_g_fmt_cap_num, | ||
169 | vidioc_int_s_fmt_cap_num, | ||
170 | vidioc_int_try_fmt_cap_num, | ||
171 | vidioc_int_queryctrl_num, | ||
172 | vidioc_int_g_ctrl_num, | ||
173 | vidioc_int_s_ctrl_num, | ||
174 | vidioc_int_g_parm_num, | ||
175 | vidioc_int_s_parm_num, | ||
176 | |||
177 | /* | ||
178 | * | ||
179 | * Strictly internal ioctls. | ||
180 | * | ||
181 | */ | ||
182 | /* Initialise the device when slave attaches to the master. */ | ||
183 | vidioc_int_dev_init_num = 1000, | ||
184 | /* Delinitialise the device at slave detach. */ | ||
185 | vidioc_int_dev_exit_num, | ||
186 | /* Set device power state: 0 is off, non-zero is on. */ | ||
187 | vidioc_int_s_power_num, | ||
188 | /* Get slave interface parameters. */ | ||
189 | vidioc_int_g_ifparm_num, | ||
190 | /* Does the slave need to be reset after VIDIOC_DQBUF? */ | ||
191 | vidioc_int_g_needs_reset_num, | ||
192 | |||
193 | /* | ||
194 | * | ||
195 | * VIDIOC_INT_* ioctls. | ||
196 | * | ||
197 | */ | ||
198 | /* VIDIOC_INT_RESET */ | ||
199 | vidioc_int_reset_num, | ||
200 | /* VIDIOC_INT_INIT */ | ||
201 | vidioc_int_init_num, | ||
202 | /* VIDIOC_INT_G_CHIP_IDENT */ | ||
203 | vidioc_int_g_chip_ident_num, | ||
204 | |||
205 | /* | ||
206 | * | ||
207 | * Start of private ioctls. | ||
208 | * | ||
209 | */ | ||
210 | vidioc_int_priv_start_num = 2000, | ||
211 | }; | ||
212 | |||
213 | /* | ||
214 | * | ||
215 | * IOCTL wrapper functions for better type checking. | ||
216 | * | ||
217 | */ | ||
218 | |||
219 | #define V4L2_INT_WRAPPER_0(name) \ | ||
220 | static inline int vidioc_int_##name(struct v4l2_int_device *d) \ | ||
221 | { \ | ||
222 | return v4l2_int_ioctl_0(d, vidioc_int_##name##_num); \ | ||
223 | } \ | ||
224 | \ | ||
225 | static inline struct v4l2_int_ioctl_desc \ | ||
226 | vidioc_int_##name##_cb(int (*func) \ | ||
227 | (struct v4l2_int_device *)) \ | ||
228 | { \ | ||
229 | struct v4l2_int_ioctl_desc desc; \ | ||
230 | \ | ||
231 | desc.num = vidioc_int_##name##_num; \ | ||
232 | desc.func = (v4l2_int_ioctl_func *)func; \ | ||
233 | \ | ||
234 | return desc; \ | ||
235 | } | ||
236 | |||
237 | #define V4L2_INT_WRAPPER_1(name, arg_type, asterisk) \ | ||
238 | static inline int vidioc_int_##name(struct v4l2_int_device *d, \ | ||
239 | arg_type asterisk arg) \ | ||
240 | { \ | ||
241 | return v4l2_int_ioctl_1(d, vidioc_int_##name##_num, \ | ||
242 | (void *)(unsigned long)arg); \ | ||
243 | } \ | ||
244 | \ | ||
245 | static inline struct v4l2_int_ioctl_desc \ | ||
246 | vidioc_int_##name##_cb(int (*func) \ | ||
247 | (struct v4l2_int_device *, \ | ||
248 | arg_type asterisk)) \ | ||
249 | { \ | ||
250 | struct v4l2_int_ioctl_desc desc; \ | ||
251 | \ | ||
252 | desc.num = vidioc_int_##name##_num; \ | ||
253 | desc.func = (v4l2_int_ioctl_func *)func; \ | ||
254 | \ | ||
255 | return desc; \ | ||
256 | } | ||
257 | |||
258 | V4L2_INT_WRAPPER_1(enum_fmt_cap, struct v4l2_fmtdesc, *); | ||
259 | V4L2_INT_WRAPPER_1(g_fmt_cap, struct v4l2_format, *); | ||
260 | V4L2_INT_WRAPPER_1(s_fmt_cap, struct v4l2_format, *); | ||
261 | V4L2_INT_WRAPPER_1(try_fmt_cap, struct v4l2_format, *); | ||
262 | V4L2_INT_WRAPPER_1(queryctrl, struct v4l2_queryctrl, *); | ||
263 | V4L2_INT_WRAPPER_1(g_ctrl, struct v4l2_control, *); | ||
264 | V4L2_INT_WRAPPER_1(s_ctrl, struct v4l2_control, *); | ||
265 | V4L2_INT_WRAPPER_1(g_parm, struct v4l2_streamparm, *); | ||
266 | V4L2_INT_WRAPPER_1(s_parm, struct v4l2_streamparm, *); | ||
267 | |||
268 | V4L2_INT_WRAPPER_0(dev_init); | ||
269 | V4L2_INT_WRAPPER_0(dev_exit); | ||
270 | V4L2_INT_WRAPPER_1(s_power, int, ); | ||
271 | V4L2_INT_WRAPPER_1(g_ifparm, struct v4l2_ifparm, *); | ||
272 | V4L2_INT_WRAPPER_1(g_needs_reset, void, *); | ||
273 | |||
274 | V4L2_INT_WRAPPER_0(reset); | ||
275 | V4L2_INT_WRAPPER_0(init); | ||
276 | V4L2_INT_WRAPPER_1(g_chip_ident, int, *); | ||
277 | |||
278 | #endif | ||
diff --git a/include/media/video-buf.h b/include/media/videobuf-core.h index d6f079476db3..9fa09fb800a1 100644 --- a/include/media/video-buf.h +++ b/include/media/videobuf-core.h | |||
@@ -1,48 +1,26 @@ | |||
1 | /* | 1 | /* |
2 | * generic helper functions for handling video4linux capture buffers | ||
2 | * | 3 | * |
3 | * generic helper functions for video4linux capture buffers, to handle | 4 | * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org> |
4 | * memory management and PCI DMA. | ||
5 | * Right now, bttv, saa7134, saa7146 and cx88 use it. | ||
6 | * | ||
7 | * The functions expect the hardware being able to scatter gatter | ||
8 | * (i.e. the buffers are not linear in physical memory, but fragmented | ||
9 | * into PAGE_SIZE chunks). They also assume the driver does not need | ||
10 | * to touch the video data. | ||
11 | * | ||
12 | * device specific map/unmap/sync stuff now are mapped as file operations | ||
13 | * to allow its usage by USB and virtual devices. | ||
14 | * | 5 | * |
6 | * Highly based on video-buf written originally by: | ||
15 | * (c) 2001,02 Gerd Knorr <kraxel@bytesex.org> | 7 | * (c) 2001,02 Gerd Knorr <kraxel@bytesex.org> |
16 | * (c) 2006 Mauro Carvalho Chehab, <mchehab@infradead.org> | 8 | * (c) 2006 Mauro Carvalho Chehab, <mchehab@infradead.org> |
17 | * (c) 2006 Ted Walther and John Sokol | 9 | * (c) 2006 Ted Walther and John Sokol |
18 | * | 10 | * |
19 | * This program is free software; you can redistribute it and/or modify | 11 | * This program is free software; you can redistribute it and/or modify |
20 | * it under the terms of the GNU General Public License as published by | 12 | * it under the terms of the GNU General Public License as published by |
21 | * the Free Software Foundation; either version 2 of the License, or | 13 | * the Free Software Foundation; either version 2 |
22 | * (at your option) any later version. | ||
23 | */ | 14 | */ |
24 | 15 | ||
25 | #include <linux/videodev2.h> | ||
26 | #include <linux/poll.h> | 16 | #include <linux/poll.h> |
17 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | ||
18 | #include <linux/videodev.h> | ||
19 | #endif | ||
20 | #include <linux/videodev2.h> | ||
27 | 21 | ||
28 | #define UNSET (-1U) | 22 | #define UNSET (-1U) |
29 | 23 | ||
30 | /* --------------------------------------------------------------------- */ | ||
31 | |||
32 | /* | ||
33 | * Return a scatterlist for some page-aligned vmalloc()'ed memory | ||
34 | * block (NULL on errors). Memory for the scatterlist is allocated | ||
35 | * using kmalloc. The caller must free the memory. | ||
36 | */ | ||
37 | struct scatterlist* videobuf_vmalloc_to_sg(unsigned char *virt, int nr_pages); | ||
38 | |||
39 | /* | ||
40 | * Return a scatterlist for a an array of userpages (NULL on errors). | ||
41 | * Memory for the scatterlist is allocated using kmalloc. The caller | ||
42 | * must free the memory. | ||
43 | */ | ||
44 | struct scatterlist* videobuf_pages_to_sg(struct page **pages, int nr_pages, | ||
45 | int offset); | ||
46 | 24 | ||
47 | struct videobuf_buffer; | 25 | struct videobuf_buffer; |
48 | struct videobuf_queue; | 26 | struct videobuf_queue; |
@@ -50,69 +28,6 @@ struct videobuf_queue; | |||
50 | /* --------------------------------------------------------------------- */ | 28 | /* --------------------------------------------------------------------- */ |
51 | 29 | ||
52 | /* | 30 | /* |
53 | * A small set of helper functions to manage buffers (both userland | ||
54 | * and kernel) for DMA. | ||
55 | * | ||
56 | * videobuf_dma_init_*() | ||
57 | * creates a buffer. The userland version takes a userspace | ||
58 | * pointer + length. The kernel version just wants the size and | ||
59 | * does memory allocation too using vmalloc_32(). | ||
60 | * | ||
61 | * videobuf_dma_*() | ||
62 | * see Documentation/DMA-mapping.txt, these functions to | ||
63 | * basically the same. The map function does also build a | ||
64 | * scatterlist for the buffer (and unmap frees it ...) | ||
65 | * | ||
66 | * videobuf_dma_free() | ||
67 | * no comment ... | ||
68 | * | ||
69 | */ | ||
70 | |||
71 | struct videobuf_dmabuf { | ||
72 | u32 magic; | ||
73 | |||
74 | /* for userland buffer */ | ||
75 | int offset; | ||
76 | struct page **pages; | ||
77 | |||
78 | /* for kernel buffers */ | ||
79 | void *vmalloc; | ||
80 | |||
81 | /* Stores the userspace pointer to vmalloc area */ | ||
82 | void *varea; | ||
83 | |||
84 | /* for overlay buffers (pci-pci dma) */ | ||
85 | dma_addr_t bus_addr; | ||
86 | |||
87 | /* common */ | ||
88 | struct scatterlist *sglist; | ||
89 | int sglen; | ||
90 | int nr_pages; | ||
91 | int direction; | ||
92 | }; | ||
93 | |||
94 | void videobuf_dma_init(struct videobuf_dmabuf *dma); | ||
95 | int videobuf_dma_init_user(struct videobuf_dmabuf *dma, int direction, | ||
96 | unsigned long data, unsigned long size); | ||
97 | int videobuf_dma_init_kernel(struct videobuf_dmabuf *dma, int direction, | ||
98 | int nr_pages); | ||
99 | int videobuf_dma_init_overlay(struct videobuf_dmabuf *dma, int direction, | ||
100 | dma_addr_t addr, int nr_pages); | ||
101 | int videobuf_dma_free(struct videobuf_dmabuf *dma); | ||
102 | |||
103 | int videobuf_dma_map(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
104 | int videobuf_dma_sync(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
105 | int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
106 | |||
107 | /*FIXME: these variants are used only on *-alsa code, where videobuf is | ||
108 | * used without queue | ||
109 | */ | ||
110 | int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma); | ||
111 | int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma); | ||
112 | |||
113 | /* --------------------------------------------------------------------- */ | ||
114 | |||
115 | /* | ||
116 | * A small set of helper functions to manage video4linux buffers. | 31 | * A small set of helper functions to manage video4linux buffers. |
117 | * | 32 | * |
118 | * struct videobuf_buffer holds the data structures used by the helper | 33 | * struct videobuf_buffer holds the data structures used by the helper |
@@ -162,26 +77,33 @@ struct videobuf_buffer { | |||
162 | unsigned int input; | 77 | unsigned int input; |
163 | enum v4l2_field field; | 78 | enum v4l2_field field; |
164 | enum videobuf_state state; | 79 | enum videobuf_state state; |
165 | struct videobuf_dmabuf dma; | ||
166 | struct list_head stream; /* QBUF/DQBUF list */ | 80 | struct list_head stream; /* QBUF/DQBUF list */ |
167 | 81 | ||
168 | /* for mmap'ed buffers */ | ||
169 | enum v4l2_memory memory; | ||
170 | size_t boff; /* buffer offset (mmap + overlay) */ | ||
171 | size_t bsize; /* buffer size */ | ||
172 | unsigned long baddr; /* buffer addr (userland ptr!) */ | ||
173 | struct videobuf_mapping *map; | ||
174 | |||
175 | /* touched by irq handler */ | 82 | /* touched by irq handler */ |
176 | struct list_head queue; | 83 | struct list_head queue; |
177 | wait_queue_head_t done; | 84 | wait_queue_head_t done; |
178 | unsigned int field_count; | 85 | unsigned int field_count; |
179 | struct timeval ts; | 86 | struct timeval ts; |
180 | }; | ||
181 | 87 | ||
182 | typedef int (vb_map_sg_t)(void *dev,struct scatterlist *sglist,int nr_pages, | 88 | /* Memory type */ |
183 | int direction); | 89 | enum v4l2_memory memory; |
90 | |||
91 | /* buffer size */ | ||
92 | size_t bsize; | ||
93 | |||
94 | /* buffer offset (mmap + overlay) */ | ||
95 | size_t boff; | ||
184 | 96 | ||
97 | /* buffer addr (userland ptr!) */ | ||
98 | unsigned long baddr; | ||
99 | |||
100 | /* for mmap'ed buffers */ | ||
101 | struct videobuf_mapping *map; | ||
102 | |||
103 | /* Private pointer to allow specific methods to store their data */ | ||
104 | int privsize; | ||
105 | void *priv; | ||
106 | }; | ||
185 | 107 | ||
186 | struct videobuf_queue_ops { | 108 | struct videobuf_queue_ops { |
187 | int (*buf_setup)(struct videobuf_queue *q, | 109 | int (*buf_setup)(struct videobuf_queue *q, |
@@ -193,14 +115,37 @@ struct videobuf_queue_ops { | |||
193 | struct videobuf_buffer *vb); | 115 | struct videobuf_buffer *vb); |
194 | void (*buf_release)(struct videobuf_queue *q, | 116 | void (*buf_release)(struct videobuf_queue *q, |
195 | struct videobuf_buffer *vb); | 117 | struct videobuf_buffer *vb); |
118 | }; | ||
196 | 119 | ||
197 | /* Helper operations - device dependent. | 120 | #define MAGIC_QTYPE_OPS 0x12261003 |
198 | * If null, videobuf_init defaults all to PCI handling | 121 | |
199 | */ | 122 | /* Helper operations - device type dependent */ |
123 | struct videobuf_qtype_ops { | ||
124 | u32 magic; | ||
200 | 125 | ||
201 | vb_map_sg_t *vb_map_sg; | 126 | void* (*alloc) (size_t size); |
202 | vb_map_sg_t *vb_dma_sync_sg; | 127 | int (*iolock) (struct videobuf_queue* q, |
203 | vb_map_sg_t *vb_unmap_sg; | 128 | struct videobuf_buffer *vb, |
129 | struct v4l2_framebuffer *fbuf); | ||
130 | int (*mmap) (struct videobuf_queue *q, | ||
131 | unsigned int *count, | ||
132 | unsigned int *size, | ||
133 | enum v4l2_memory memory); | ||
134 | int (*sync) (struct videobuf_queue* q, | ||
135 | struct videobuf_buffer *buf); | ||
136 | int (*copy_to_user) (struct videobuf_queue *q, | ||
137 | char __user *data, | ||
138 | size_t count, | ||
139 | int nonblocking); | ||
140 | int (*copy_stream) (struct videobuf_queue *q, | ||
141 | char __user *data, | ||
142 | size_t count, | ||
143 | size_t pos, | ||
144 | int vbihack, | ||
145 | int nonblocking); | ||
146 | int (*mmap_free) (struct videobuf_queue *q); | ||
147 | int (*mmap_mapper) (struct videobuf_queue *q, | ||
148 | struct vm_area_struct *vma); | ||
204 | }; | 149 | }; |
205 | 150 | ||
206 | struct videobuf_queue { | 151 | struct videobuf_queue { |
@@ -215,6 +160,7 @@ struct videobuf_queue { | |||
215 | enum v4l2_field last; /* for field=V4L2_FIELD_ALTERNATE */ | 160 | enum v4l2_field last; /* for field=V4L2_FIELD_ALTERNATE */ |
216 | struct videobuf_buffer *bufs[VIDEO_MAX_FRAME]; | 161 | struct videobuf_buffer *bufs[VIDEO_MAX_FRAME]; |
217 | struct videobuf_queue_ops *ops; | 162 | struct videobuf_queue_ops *ops; |
163 | struct videobuf_qtype_ops *int_ops; | ||
218 | 164 | ||
219 | /* capture via mmap() + ioctl(QBUF/DQBUF) */ | 165 | /* capture via mmap() + ioctl(QBUF/DQBUF) */ |
220 | unsigned int streaming; | 166 | unsigned int streaming; |
@@ -229,28 +175,25 @@ struct videobuf_queue { | |||
229 | void *priv_data; | 175 | void *priv_data; |
230 | }; | 176 | }; |
231 | 177 | ||
232 | void* videobuf_alloc(unsigned int size); | ||
233 | int videobuf_waiton(struct videobuf_buffer *vb, int non_blocking, int intr); | 178 | int videobuf_waiton(struct videobuf_buffer *vb, int non_blocking, int intr); |
234 | int videobuf_iolock(struct videobuf_queue* q, struct videobuf_buffer *vb, | 179 | int videobuf_iolock(struct videobuf_queue* q, struct videobuf_buffer *vb, |
235 | struct v4l2_framebuffer *fbuf); | 180 | struct v4l2_framebuffer *fbuf); |
236 | 181 | ||
237 | /* Maps fops to PCI stuff */ | 182 | void *videobuf_alloc(struct videobuf_queue* q); |
238 | void videobuf_queue_pci(struct videobuf_queue* q); | ||
239 | 183 | ||
240 | void videobuf_queue_init(struct videobuf_queue *q, | 184 | void videobuf_queue_core_init(struct videobuf_queue *q, |
241 | struct videobuf_queue_ops *ops, | 185 | struct videobuf_queue_ops *ops, |
242 | void *dev, | 186 | void *dev, |
243 | spinlock_t *irqlock, | 187 | spinlock_t *irqlock, |
244 | enum v4l2_buf_type type, | 188 | enum v4l2_buf_type type, |
245 | enum v4l2_field field, | 189 | enum v4l2_field field, |
246 | unsigned int msize, | 190 | unsigned int msize, |
247 | void *priv); | 191 | void *priv, |
192 | struct videobuf_qtype_ops *int_ops); | ||
248 | int videobuf_queue_is_busy(struct videobuf_queue *q); | 193 | int videobuf_queue_is_busy(struct videobuf_queue *q); |
249 | void videobuf_queue_cancel(struct videobuf_queue *q); | 194 | void videobuf_queue_cancel(struct videobuf_queue *q); |
250 | 195 | ||
251 | enum v4l2_field videobuf_next_field(struct videobuf_queue *q); | 196 | enum v4l2_field videobuf_next_field(struct videobuf_queue *q); |
252 | void videobuf_status(struct v4l2_buffer *b, struct videobuf_buffer *vb, | ||
253 | enum v4l2_buf_type type); | ||
254 | int videobuf_reqbufs(struct videobuf_queue *q, | 197 | int videobuf_reqbufs(struct videobuf_queue *q, |
255 | struct v4l2_requestbuffers *req); | 198 | struct v4l2_requestbuffers *req); |
256 | int videobuf_querybuf(struct videobuf_queue *q, struct v4l2_buffer *b); | 199 | int videobuf_querybuf(struct videobuf_queue *q, struct v4l2_buffer *b); |
@@ -258,6 +201,10 @@ int videobuf_qbuf(struct videobuf_queue *q, | |||
258 | struct v4l2_buffer *b); | 201 | struct v4l2_buffer *b); |
259 | int videobuf_dqbuf(struct videobuf_queue *q, | 202 | int videobuf_dqbuf(struct videobuf_queue *q, |
260 | struct v4l2_buffer *b, int nonblocking); | 203 | struct v4l2_buffer *b, int nonblocking); |
204 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | ||
205 | int videobuf_cgmbuf(struct videobuf_queue *q, | ||
206 | struct video_mbuf *mbuf, int count); | ||
207 | #endif | ||
261 | int videobuf_streamon(struct videobuf_queue *q); | 208 | int videobuf_streamon(struct videobuf_queue *q); |
262 | int videobuf_streamoff(struct videobuf_queue *q); | 209 | int videobuf_streamoff(struct videobuf_queue *q); |
263 | 210 | ||
diff --git a/include/media/videobuf-dma-sg.h b/include/media/videobuf-dma-sg.h new file mode 100644 index 000000000000..38105031db23 --- /dev/null +++ b/include/media/videobuf-dma-sg.h | |||
@@ -0,0 +1,122 @@ | |||
1 | /* | ||
2 | * helper functions for PCI DMA video4linux capture buffers | ||
3 | * | ||
4 | * The functions expect the hardware being able to scatter gatter | ||
5 | * (i.e. the buffers are not linear in physical memory, but fragmented | ||
6 | * into PAGE_SIZE chunks). They also assume the driver does not need | ||
7 | * to touch the video data. | ||
8 | * | ||
9 | * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org> | ||
10 | * | ||
11 | * Highly based on video-buf written originally by: | ||
12 | * (c) 2001,02 Gerd Knorr <kraxel@bytesex.org> | ||
13 | * (c) 2006 Mauro Carvalho Chehab, <mchehab@infradead.org> | ||
14 | * (c) 2006 Ted Walther and John Sokol | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2 | ||
19 | */ | ||
20 | |||
21 | #include <media/videobuf-core.h> | ||
22 | |||
23 | /* --------------------------------------------------------------------- */ | ||
24 | |||
25 | /* | ||
26 | * Return a scatterlist for some page-aligned vmalloc()'ed memory | ||
27 | * block (NULL on errors). Memory for the scatterlist is allocated | ||
28 | * using kmalloc. The caller must free the memory. | ||
29 | */ | ||
30 | struct scatterlist* videobuf_vmalloc_to_sg(unsigned char *virt, int nr_pages); | ||
31 | |||
32 | /* | ||
33 | * Return a scatterlist for a an array of userpages (NULL on errors). | ||
34 | * Memory for the scatterlist is allocated using kmalloc. The caller | ||
35 | * must free the memory. | ||
36 | */ | ||
37 | struct scatterlist* videobuf_pages_to_sg(struct page **pages, int nr_pages, | ||
38 | int offset); | ||
39 | |||
40 | /* --------------------------------------------------------------------- */ | ||
41 | |||
42 | /* | ||
43 | * A small set of helper functions to manage buffers (both userland | ||
44 | * and kernel) for DMA. | ||
45 | * | ||
46 | * videobuf_dma_init_*() | ||
47 | * creates a buffer. The userland version takes a userspace | ||
48 | * pointer + length. The kernel version just wants the size and | ||
49 | * does memory allocation too using vmalloc_32(). | ||
50 | * | ||
51 | * videobuf_dma_*() | ||
52 | * see Documentation/DMA-mapping.txt, these functions to | ||
53 | * basically the same. The map function does also build a | ||
54 | * scatterlist for the buffer (and unmap frees it ...) | ||
55 | * | ||
56 | * videobuf_dma_free() | ||
57 | * no comment ... | ||
58 | * | ||
59 | */ | ||
60 | |||
61 | struct videobuf_dmabuf { | ||
62 | u32 magic; | ||
63 | |||
64 | /* for userland buffer */ | ||
65 | int offset; | ||
66 | struct page **pages; | ||
67 | |||
68 | /* for kernel buffers */ | ||
69 | void *vmalloc; | ||
70 | |||
71 | /* Stores the userspace pointer to vmalloc area */ | ||
72 | void *varea; | ||
73 | |||
74 | /* for overlay buffers (pci-pci dma) */ | ||
75 | dma_addr_t bus_addr; | ||
76 | |||
77 | /* common */ | ||
78 | struct scatterlist *sglist; | ||
79 | int sglen; | ||
80 | int nr_pages; | ||
81 | int direction; | ||
82 | }; | ||
83 | |||
84 | struct videbuf_pci_sg_memory | ||
85 | { | ||
86 | u32 magic; | ||
87 | |||
88 | /* for mmap'ed buffers */ | ||
89 | struct videobuf_dmabuf dma; | ||
90 | }; | ||
91 | |||
92 | void videobuf_dma_init(struct videobuf_dmabuf *dma); | ||
93 | int videobuf_dma_init_user(struct videobuf_dmabuf *dma, int direction, | ||
94 | unsigned long data, unsigned long size); | ||
95 | int videobuf_dma_init_kernel(struct videobuf_dmabuf *dma, int direction, | ||
96 | int nr_pages); | ||
97 | int videobuf_dma_init_overlay(struct videobuf_dmabuf *dma, int direction, | ||
98 | dma_addr_t addr, int nr_pages); | ||
99 | int videobuf_dma_free(struct videobuf_dmabuf *dma); | ||
100 | |||
101 | int videobuf_dma_map(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
102 | int videobuf_dma_sync(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
103 | int videobuf_dma_unmap(struct videobuf_queue* q,struct videobuf_dmabuf *dma); | ||
104 | struct videobuf_dmabuf *videobuf_to_dma (struct videobuf_buffer *buf); | ||
105 | |||
106 | void *videobuf_pci_alloc (size_t size); | ||
107 | |||
108 | void videobuf_queue_pci_init(struct videobuf_queue* q, | ||
109 | struct videobuf_queue_ops *ops, | ||
110 | void *dev, | ||
111 | spinlock_t *irqlock, | ||
112 | enum v4l2_buf_type type, | ||
113 | enum v4l2_field field, | ||
114 | unsigned int msize, | ||
115 | void *priv); | ||
116 | |||
117 | /*FIXME: these variants are used only on *-alsa code, where videobuf is | ||
118 | * used without queue | ||
119 | */ | ||
120 | int videobuf_pci_dma_map(struct pci_dev *pci,struct videobuf_dmabuf *dma); | ||
121 | int videobuf_pci_dma_unmap(struct pci_dev *pci,struct videobuf_dmabuf *dma); | ||
122 | |||
diff --git a/include/media/video-buf-dvb.h b/include/media/videobuf-dvb.h index 8233cafdeef6..8233cafdeef6 100644 --- a/include/media/video-buf-dvb.h +++ b/include/media/videobuf-dvb.h | |||
diff --git a/include/media/videobuf-vmalloc.h b/include/media/videobuf-vmalloc.h new file mode 100644 index 000000000000..26a8958d23d1 --- /dev/null +++ b/include/media/videobuf-vmalloc.h | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | * helper functions for vmalloc capture buffers | ||
3 | * | ||
4 | * The functions expect the hardware being able to scatter gatter | ||
5 | * (i.e. the buffers are not linear in physical memory, but fragmented | ||
6 | * into PAGE_SIZE chunks). They also assume the driver does not need | ||
7 | * to touch the video data. | ||
8 | * | ||
9 | * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License as published by | ||
13 | * the Free Software Foundation; either version 2 | ||
14 | */ | ||
15 | |||
16 | #include <media/videobuf-core.h> | ||
17 | |||
18 | /* --------------------------------------------------------------------- */ | ||
19 | |||
20 | struct videbuf_vmalloc_memory | ||
21 | { | ||
22 | u32 magic; | ||
23 | |||
24 | void *vmalloc; | ||
25 | |||
26 | /* remap_vmalloc_range seems to need to run after mmap() on some cases */ | ||
27 | struct vm_area_struct *vma; | ||
28 | }; | ||
29 | |||
30 | void videobuf_queue_vmalloc_init(struct videobuf_queue* q, | ||
31 | struct videobuf_queue_ops *ops, | ||
32 | void *dev, | ||
33 | spinlock_t *irqlock, | ||
34 | enum v4l2_buf_type type, | ||
35 | enum v4l2_field field, | ||
36 | unsigned int msize, | ||
37 | void *priv); | ||
38 | |||
39 | void *videobuf_to_vmalloc (struct videobuf_buffer *buf); | ||
40 | |||
41 | void videobuf_vmalloc_free (struct videobuf_buffer *buf); | ||
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 88884d39f28f..7726ff41c3e6 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
@@ -412,6 +412,18 @@ int p9_idpool_check(int id, struct p9_idpool *p); | |||
412 | 412 | ||
413 | int p9_error_init(void); | 413 | int p9_error_init(void); |
414 | int p9_errstr2errno(char *, int); | 414 | int p9_errstr2errno(char *, int); |
415 | |||
416 | #ifdef CONFIG_SYSCTL | ||
415 | int __init p9_sysctl_register(void); | 417 | int __init p9_sysctl_register(void); |
416 | void __exit p9_sysctl_unregister(void); | 418 | void __exit p9_sysctl_unregister(void); |
419 | #else | ||
420 | static inline int p9_sysctl_register(void) | ||
421 | { | ||
422 | return 0; | ||
423 | } | ||
424 | static inline void p9_sysctl_unregister(void) | ||
425 | { | ||
426 | } | ||
427 | #endif | ||
428 | |||
417 | #endif /* NET_9P_H */ | 429 | #endif /* NET_9P_H */ |
diff --git a/include/net/ah.h b/include/net/ah.h index 8f257c159902..ae1c322f4242 100644 --- a/include/net/ah.h +++ b/include/net/ah.h | |||
@@ -9,8 +9,6 @@ | |||
9 | 9 | ||
10 | struct ah_data | 10 | struct ah_data |
11 | { | 11 | { |
12 | u8 *key; | ||
13 | int key_len; | ||
14 | u8 *work_icv; | 12 | u8 *work_icv; |
15 | int icv_full_len; | 13 | int icv_full_len; |
16 | int icv_trunc_len; | 14 | int icv_trunc_len; |
@@ -40,4 +38,11 @@ out: | |||
40 | return err; | 38 | return err; |
41 | } | 39 | } |
42 | 40 | ||
41 | struct ip_auth_hdr; | ||
42 | |||
43 | static inline struct ip_auth_hdr *ip_auth_hdr(const struct sk_buff *skb) | ||
44 | { | ||
45 | return (struct ip_auth_hdr *)skb_transport_header(skb); | ||
46 | } | ||
47 | |||
43 | #endif | 48 | #endif |
diff --git a/include/net/ax25.h b/include/net/ax25.h index 99a4e364c74a..4e3cd93f81fc 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h | |||
@@ -363,8 +363,11 @@ extern int ax25_rx_iframe(ax25_cb *, struct sk_buff *); | |||
363 | extern int ax25_kiss_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); | 363 | extern int ax25_kiss_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); |
364 | 364 | ||
365 | /* ax25_ip.c */ | 365 | /* ax25_ip.c */ |
366 | extern int ax25_hard_header(struct sk_buff *, struct net_device *, unsigned short, void *, void *, unsigned int); | 366 | extern int ax25_hard_header(struct sk_buff *, struct net_device *, |
367 | unsigned short, const void *, | ||
368 | const void *, unsigned int); | ||
367 | extern int ax25_rebuild_header(struct sk_buff *); | 369 | extern int ax25_rebuild_header(struct sk_buff *); |
370 | extern const struct header_ops ax25_header_ops; | ||
368 | 371 | ||
369 | /* ax25_out.c */ | 372 | /* ax25_out.c */ |
370 | extern ax25_cb *ax25_send_frame(struct sk_buff *, int, ax25_address *, ax25_address *, ax25_digi *, struct net_device *); | 373 | extern ax25_cb *ax25_send_frame(struct sk_buff *, int, ax25_address *, ax25_address *, ax25_digi *, struct net_device *); |
diff --git a/include/net/ax88796.h b/include/net/ax88796.h index ee786a043b3d..51329dae44e6 100644 --- a/include/net/ax88796.h +++ b/include/net/ax88796.h | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #define AXFLG_HAS_EEPROM (1<<0) | 15 | #define AXFLG_HAS_EEPROM (1<<0) |
16 | #define AXFLG_MAC_FROMDEV (1<<1) /* device already has MAC */ | 16 | #define AXFLG_MAC_FROMDEV (1<<1) /* device already has MAC */ |
17 | #define AXFLG_HAS_93CX6 (1<<2) /* use eeprom_93cx6 driver */ | ||
17 | 18 | ||
18 | struct ax_plat_data { | 19 | struct ax_plat_data { |
19 | unsigned int flags; | 20 | unsigned int flags; |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 7edaef6b29d6..d30960e1755c 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -3,15 +3,15 @@ | |||
3 | 3 | ||
4 | #include <linux/netlink.h> | 4 | #include <linux/netlink.h> |
5 | #include <linux/skbuff.h> | 5 | #include <linux/skbuff.h> |
6 | #include <linux/nl80211.h> | ||
6 | #include <net/genetlink.h> | 7 | #include <net/genetlink.h> |
7 | 8 | ||
8 | /* | 9 | /* |
9 | * 802.11 configuration in-kernel interface | 10 | * 802.11 configuration in-kernel interface |
10 | * | 11 | * |
11 | * Copyright 2006 Johannes Berg <johannes@sipsolutions.net> | 12 | * Copyright 2006, 2007 Johannes Berg <johannes@sipsolutions.net> |
12 | */ | 13 | */ |
13 | 14 | ||
14 | |||
15 | /* Radiotap header iteration | 15 | /* Radiotap header iteration |
16 | * implemented in net/wireless/radiotap.c | 16 | * implemented in net/wireless/radiotap.c |
17 | * docs in Documentation/networking/radiotap-headers.txt | 17 | * docs in Documentation/networking/radiotap-headers.txt |
@@ -68,11 +68,16 @@ struct wiphy; | |||
68 | * @add_virtual_intf: create a new virtual interface with the given name | 68 | * @add_virtual_intf: create a new virtual interface with the given name |
69 | * | 69 | * |
70 | * @del_virtual_intf: remove the virtual interface determined by ifindex. | 70 | * @del_virtual_intf: remove the virtual interface determined by ifindex. |
71 | * | ||
72 | * @change_virtual_intf: change type of virtual interface | ||
73 | * | ||
71 | */ | 74 | */ |
72 | struct cfg80211_ops { | 75 | struct cfg80211_ops { |
73 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, | 76 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, |
74 | unsigned int type); | 77 | enum nl80211_iftype type); |
75 | int (*del_virtual_intf)(struct wiphy *wiphy, int ifindex); | 78 | int (*del_virtual_intf)(struct wiphy *wiphy, int ifindex); |
79 | int (*change_virtual_intf)(struct wiphy *wiphy, int ifindex, | ||
80 | enum nl80211_iftype type); | ||
76 | }; | 81 | }; |
77 | 82 | ||
78 | #endif /* __NET_CFG80211_H */ | 83 | #endif /* __NET_CFG80211_H */ |
diff --git a/include/net/dn_route.h b/include/net/dn_route.h index c10e8e7e59a7..60c9f22d8694 100644 --- a/include/net/dn_route.h +++ b/include/net/dn_route.h | |||
@@ -100,8 +100,7 @@ static inline void dn_rt_finish_output(struct sk_buff *skb, char *dst, char *src | |||
100 | if ((dev->type != ARPHRD_ETHER) && (dev->type != ARPHRD_LOOPBACK)) | 100 | if ((dev->type != ARPHRD_ETHER) && (dev->type != ARPHRD_LOOPBACK)) |
101 | dst = NULL; | 101 | dst = NULL; |
102 | 102 | ||
103 | if (!dev->hard_header || (dev->hard_header(skb, dev, ETH_P_DNA_RT, | 103 | if (dev_hard_header(skb, dev, ETH_P_DNA_RT, dst, src, skb->len) >= 0) |
104 | dst, src, skb->len) >= 0)) | ||
105 | dn_rt_send(skb); | 104 | dn_rt_send(skb); |
106 | else | 105 | else |
107 | kfree_skb(skb); | 106 | kfree_skb(skb); |
diff --git a/include/net/esp.h b/include/net/esp.h index d05d8d2c78f4..c1bc529809da 100644 --- a/include/net/esp.h +++ b/include/net/esp.h | |||
@@ -13,8 +13,6 @@ struct esp_data | |||
13 | 13 | ||
14 | /* Confidentiality */ | 14 | /* Confidentiality */ |
15 | struct { | 15 | struct { |
16 | u8 *key; /* Key */ | ||
17 | int key_len; /* Key length */ | ||
18 | int padlen; /* 0..255 */ | 16 | int padlen; /* 0..255 */ |
19 | /* ivlen is offset from enc_data, where encrypted data start. | 17 | /* ivlen is offset from enc_data, where encrypted data start. |
20 | * It is logically different of crypto_tfm_alg_ivsize(tfm). | 18 | * It is logically different of crypto_tfm_alg_ivsize(tfm). |
@@ -28,14 +26,9 @@ struct esp_data | |||
28 | 26 | ||
29 | /* Integrity. It is active when icv_full_len != 0 */ | 27 | /* Integrity. It is active when icv_full_len != 0 */ |
30 | struct { | 28 | struct { |
31 | u8 *key; /* Key */ | ||
32 | int key_len; /* Length of the key */ | ||
33 | u8 *work_icv; | 29 | u8 *work_icv; |
34 | int icv_full_len; | 30 | int icv_full_len; |
35 | int icv_trunc_len; | 31 | int icv_trunc_len; |
36 | void (*icv)(struct esp_data*, | ||
37 | struct sk_buff *skb, | ||
38 | int offset, int len, u8 *icv); | ||
39 | struct crypto_hash *tfm; | 32 | struct crypto_hash *tfm; |
40 | } auth; | 33 | } auth; |
41 | }; | 34 | }; |
@@ -60,4 +53,11 @@ static inline int esp_mac_digest(struct esp_data *esp, struct sk_buff *skb, | |||
60 | return crypto_hash_final(&desc, esp->auth.work_icv); | 53 | return crypto_hash_final(&desc, esp->auth.work_icv); |
61 | } | 54 | } |
62 | 55 | ||
56 | struct ip_esp_hdr; | ||
57 | |||
58 | static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb) | ||
59 | { | ||
60 | return (struct ip_esp_hdr *)skb_transport_header(skb); | ||
61 | } | ||
62 | |||
63 | #endif | 63 | #endif |
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h index 83e41dd15ccd..017aebd90683 100644 --- a/include/net/fib_rules.h +++ b/include/net/fib_rules.h | |||
@@ -65,7 +65,7 @@ struct fib_rules_ops | |||
65 | 65 | ||
66 | int nlgroup; | 66 | int nlgroup; |
67 | const struct nla_policy *policy; | 67 | const struct nla_policy *policy; |
68 | struct list_head *rules_list; | 68 | struct list_head rules_list; |
69 | struct module *owner; | 69 | struct module *owner; |
70 | }; | 70 | }; |
71 | 71 | ||
diff --git a/include/net/icmp.h b/include/net/icmp.h index dc09474efcf3..9f7ef3c8baef 100644 --- a/include/net/icmp.h +++ b/include/net/icmp.h | |||
@@ -30,9 +30,16 @@ struct icmp_err { | |||
30 | 30 | ||
31 | extern struct icmp_err icmp_err_convert[]; | 31 | extern struct icmp_err icmp_err_convert[]; |
32 | DECLARE_SNMP_STAT(struct icmp_mib, icmp_statistics); | 32 | DECLARE_SNMP_STAT(struct icmp_mib, icmp_statistics); |
33 | DECLARE_SNMP_STAT(struct icmpmsg_mib, icmpmsg_statistics); | ||
33 | #define ICMP_INC_STATS(field) SNMP_INC_STATS(icmp_statistics, field) | 34 | #define ICMP_INC_STATS(field) SNMP_INC_STATS(icmp_statistics, field) |
34 | #define ICMP_INC_STATS_BH(field) SNMP_INC_STATS_BH(icmp_statistics, field) | 35 | #define ICMP_INC_STATS_BH(field) SNMP_INC_STATS_BH(icmp_statistics, field) |
35 | #define ICMP_INC_STATS_USER(field) SNMP_INC_STATS_USER(icmp_statistics, field) | 36 | #define ICMP_INC_STATS_USER(field) SNMP_INC_STATS_USER(icmp_statistics, field) |
37 | #define ICMPMSGOUT_INC_STATS(field) SNMP_INC_STATS(icmpmsg_statistics, field+256) | ||
38 | #define ICMPMSGOUT_INC_STATS_BH(field) SNMP_INC_STATS_BH(icmpmsg_statistics, field+256) | ||
39 | #define ICMPMSGOUT_INC_STATS_USER(field) SNMP_INC_STATS_USER(icmpmsg_statistics, field+256) | ||
40 | #define ICMPMSGIN_INC_STATS(field) SNMP_INC_STATS(icmpmsg_statistics, field) | ||
41 | #define ICMPMSGIN_INC_STATS_BH(field) SNMP_INC_STATS_BH(icmpmsg_statistics, field) | ||
42 | #define ICMPMSGIN_INC_STATS_USER(field) SNMP_INC_STATS_USER(icmpmsg_statistics, field) | ||
36 | 43 | ||
37 | struct dst_entry; | 44 | struct dst_entry; |
38 | struct net_proto_family; | 45 | struct net_proto_family; |
@@ -42,6 +49,7 @@ extern void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info); | |||
42 | extern int icmp_rcv(struct sk_buff *skb); | 49 | extern int icmp_rcv(struct sk_buff *skb); |
43 | extern int icmp_ioctl(struct sock *sk, int cmd, unsigned long arg); | 50 | extern int icmp_ioctl(struct sock *sk, int cmd, unsigned long arg); |
44 | extern void icmp_init(struct net_proto_family *ops); | 51 | extern void icmp_init(struct net_proto_family *ops); |
52 | extern void icmp_out_count(unsigned char type); | ||
45 | 53 | ||
46 | /* Move into dst.h ? */ | 54 | /* Move into dst.h ? */ |
47 | extern int xrlim_allow(struct dst_entry *dst, int timeout); | 55 | extern int xrlim_allow(struct dst_entry *dst, int timeout); |
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index bbd85cd61ed5..164d13211165 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -119,11 +119,6 @@ do { if (ieee80211_debug_level & (level)) \ | |||
119 | #define IEEE80211_DEBUG(level, fmt, args...) do {} while (0) | 119 | #define IEEE80211_DEBUG(level, fmt, args...) do {} while (0) |
120 | #endif /* CONFIG_IEEE80211_DEBUG */ | 120 | #endif /* CONFIG_IEEE80211_DEBUG */ |
121 | 121 | ||
122 | /* debug macros not dependent on CONFIG_IEEE80211_DEBUG */ | ||
123 | |||
124 | #define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" | ||
125 | #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] | ||
126 | |||
127 | /* escape_essid() is intended to be used in debug (and possibly error) | 122 | /* escape_essid() is intended to be used in debug (and possibly error) |
128 | * messages. It should never be used for passing essid to user space. */ | 123 | * messages. It should never be used for passing essid to user space. */ |
129 | const char *escape_essid(const char *essid, u8 essid_len); | 124 | const char *escape_essid(const char *essid, u8 essid_len); |
diff --git a/include/net/ieee80211_radiotap.h b/include/net/ieee80211_radiotap.h index a0c2b41a24d7..dfd8bf66ce27 100644 --- a/include/net/ieee80211_radiotap.h +++ b/include/net/ieee80211_radiotap.h | |||
@@ -40,6 +40,7 @@ | |||
40 | 40 | ||
41 | #include <linux/if_ether.h> | 41 | #include <linux/if_ether.h> |
42 | #include <linux/kernel.h> | 42 | #include <linux/kernel.h> |
43 | #include <asm/unaligned.h> | ||
43 | 44 | ||
44 | /* Radiotap header version (from official NetBSD feed) */ | 45 | /* Radiotap header version (from official NetBSD feed) */ |
45 | #define IEEE80211RADIOTAP_VERSION "1.5" | 46 | #define IEEE80211RADIOTAP_VERSION "1.5" |
@@ -255,4 +256,13 @@ enum ieee80211_radiotap_type { | |||
255 | (((x) == 14) ? 2484 : ((x) * 5) + 2407) : \ | 256 | (((x) == 14) ? 2484 : ((x) * 5) + 2407) : \ |
256 | ((x) + 1000) * 5) | 257 | ((x) + 1000) * 5) |
257 | 258 | ||
259 | /* helpers */ | ||
260 | static inline int ieee80211_get_radiotap_len(unsigned char *data) | ||
261 | { | ||
262 | struct ieee80211_radiotap_header *hdr = | ||
263 | (struct ieee80211_radiotap_header *)data; | ||
264 | |||
265 | return le16_to_cpu(get_unaligned(&hdr->it_len)); | ||
266 | } | ||
267 | |||
258 | #endif /* IEEE80211_RADIOTAP_H */ | 268 | #endif /* IEEE80211_RADIOTAP_H */ |
diff --git a/include/net/ieee80211softmac.h b/include/net/ieee80211softmac.h index 89119277553d..1ef6282fdded 100644 --- a/include/net/ieee80211softmac.h +++ b/include/net/ieee80211softmac.h | |||
@@ -229,6 +229,8 @@ struct ieee80211softmac_device { | |||
229 | /* this lock protects this structure */ | 229 | /* this lock protects this structure */ |
230 | spinlock_t lock; | 230 | spinlock_t lock; |
231 | 231 | ||
232 | struct workqueue_struct *wq; | ||
233 | |||
232 | u8 running; /* SoftMAC started? */ | 234 | u8 running; /* SoftMAC started? */ |
233 | u8 scanning; | 235 | u8 scanning; |
234 | 236 | ||
diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h index 3ec7d07346d6..448eccb20638 100644 --- a/include/net/if_inet6.h +++ b/include/net/if_inet6.h | |||
@@ -154,6 +154,7 @@ struct ipv6_devstat { | |||
154 | struct proc_dir_entry *proc_dir_entry; | 154 | struct proc_dir_entry *proc_dir_entry; |
155 | DEFINE_SNMP_STAT(struct ipstats_mib, ipv6); | 155 | DEFINE_SNMP_STAT(struct ipstats_mib, ipv6); |
156 | DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6); | 156 | DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6); |
157 | DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg); | ||
157 | }; | 158 | }; |
158 | 159 | ||
159 | struct inet6_dev | 160 | struct inet6_dev |
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index d27ee8c0da3f..8228b57eb18f 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h | |||
@@ -107,7 +107,7 @@ struct inet_hashinfo { | |||
107 | */ | 107 | */ |
108 | struct inet_bind_hashbucket *bhash; | 108 | struct inet_bind_hashbucket *bhash; |
109 | 109 | ||
110 | int bhash_size; | 110 | unsigned int bhash_size; |
111 | unsigned int ehash_size; | 111 | unsigned int ehash_size; |
112 | 112 | ||
113 | /* All sockets in TCP_LISTEN state will be in here. This is the only | 113 | /* All sockets in TCP_LISTEN state will be in here. This is the only |
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index 47d52b2414db..abaff0597270 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
@@ -115,6 +115,7 @@ struct inet_timewait_sock { | |||
115 | #define tw_refcnt __tw_common.skc_refcnt | 115 | #define tw_refcnt __tw_common.skc_refcnt |
116 | #define tw_hash __tw_common.skc_hash | 116 | #define tw_hash __tw_common.skc_hash |
117 | #define tw_prot __tw_common.skc_prot | 117 | #define tw_prot __tw_common.skc_prot |
118 | #define tw_net __tw_common.skc_net | ||
118 | volatile unsigned char tw_substate; | 119 | volatile unsigned char tw_substate; |
119 | /* 3 bits hole, try to pack */ | 120 | /* 3 bits hole, try to pack */ |
120 | unsigned char tw_rcv_wscale; | 121 | unsigned char tw_rcv_wscale; |
diff --git a/include/net/ip.h b/include/net/ip.h index abf2820a1125..3af3ed9d320b 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
@@ -171,7 +171,8 @@ extern unsigned long snmp_fold_field(void *mib[], int offt); | |||
171 | extern int snmp_mib_init(void *ptr[2], size_t mibsize, size_t mibalign); | 171 | extern int snmp_mib_init(void *ptr[2], size_t mibsize, size_t mibalign); |
172 | extern void snmp_mib_free(void *ptr[2]); | 172 | extern void snmp_mib_free(void *ptr[2]); |
173 | 173 | ||
174 | extern int sysctl_local_port_range[2]; | 174 | extern void inet_get_local_port_range(int *low, int *high); |
175 | |||
175 | extern int sysctl_ip_default_ttl; | 176 | extern int sysctl_ip_default_ttl; |
176 | extern int sysctl_ip_nonlocal_bind; | 177 | extern int sysctl_ip_nonlocal_bind; |
177 | 178 | ||
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index c48ea873f1e0..857821360bb6 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h | |||
@@ -105,6 +105,10 @@ struct rt6_info | |||
105 | struct rt6key rt6i_src; | 105 | struct rt6key rt6i_src; |
106 | 106 | ||
107 | u8 rt6i_protocol; | 107 | u8 rt6i_protocol; |
108 | |||
109 | #ifdef CONFIG_XFRM | ||
110 | u32 rt6i_flow_cache_genid; | ||
111 | #endif | ||
108 | }; | 112 | }; |
109 | 113 | ||
110 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) | 114 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) |
diff --git a/include/net/ipcomp.h b/include/net/ipcomp.h index 87c1af3e5e82..330b74e813a9 100644 --- a/include/net/ipcomp.h +++ b/include/net/ipcomp.h | |||
@@ -1,14 +1,23 @@ | |||
1 | #ifndef _NET_IPCOMP_H | 1 | #ifndef _NET_IPCOMP_H |
2 | #define _NET_IPCOMP_H | 2 | #define _NET_IPCOMP_H |
3 | 3 | ||
4 | #include <linux/crypto.h> | ||
5 | #include <linux/types.h> | 4 | #include <linux/types.h> |
6 | 5 | ||
7 | #define IPCOMP_SCRATCH_SIZE 65400 | 6 | #define IPCOMP_SCRATCH_SIZE 65400 |
8 | 7 | ||
8 | struct crypto_comp; | ||
9 | |||
9 | struct ipcomp_data { | 10 | struct ipcomp_data { |
10 | u16 threshold; | 11 | u16 threshold; |
11 | struct crypto_comp **tfms; | 12 | struct crypto_comp **tfms; |
12 | }; | 13 | }; |
13 | 14 | ||
15 | struct ip_comp_hdr; | ||
16 | struct sk_buff; | ||
17 | |||
18 | static inline struct ip_comp_hdr *ip_comp_hdr(const struct sk_buff *skb) | ||
19 | { | ||
20 | return (struct ip_comp_hdr *)skb_transport_header(skb); | ||
21 | } | ||
22 | |||
14 | #endif | 23 | #endif |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 9059e0ed7fe3..31b3f1b45a2b 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -112,45 +112,28 @@ struct frag_hdr { | |||
112 | extern int sysctl_ipv6_bindv6only; | 112 | extern int sysctl_ipv6_bindv6only; |
113 | extern int sysctl_mld_max_msf; | 113 | extern int sysctl_mld_max_msf; |
114 | 114 | ||
115 | /* MIBs */ | 115 | #define _DEVINC(statname, modifier, idev, field) \ |
116 | DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics); | 116 | ({ \ |
117 | #define IP6_INC_STATS(idev,field) ({ \ | ||
118 | struct inet6_dev *_idev = (idev); \ | ||
119 | if (likely(_idev != NULL)) \ | ||
120 | SNMP_INC_STATS(_idev->stats.ipv6, field); \ | ||
121 | SNMP_INC_STATS(ipv6_statistics, field); \ | ||
122 | }) | ||
123 | #define IP6_INC_STATS_BH(idev,field) ({ \ | ||
124 | struct inet6_dev *_idev = (idev); \ | ||
125 | if (likely(_idev != NULL)) \ | ||
126 | SNMP_INC_STATS_BH(_idev->stats.ipv6, field); \ | ||
127 | SNMP_INC_STATS_BH(ipv6_statistics, field); \ | ||
128 | }) | ||
129 | #define IP6_INC_STATS_USER(idev,field) ({ \ | ||
130 | struct inet6_dev *_idev = (idev); \ | 117 | struct inet6_dev *_idev = (idev); \ |
131 | if (likely(_idev != NULL)) \ | 118 | if (likely(_idev != NULL)) \ |
132 | SNMP_INC_STATS_USER(_idev->stats.ipv6, field); \ | 119 | SNMP_INC_STATS##modifier((_idev)->stats.statname, (field)); \ |
133 | SNMP_INC_STATS_USER(ipv6_statistics, field); \ | 120 | SNMP_INC_STATS##modifier(statname##_statistics, (field)); \ |
134 | }) | 121 | }) |
122 | |||
123 | /* MIBs */ | ||
124 | DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics); | ||
125 | |||
126 | #define IP6_INC_STATS(idev,field) _DEVINC(ipv6, , idev, field) | ||
127 | #define IP6_INC_STATS_BH(idev,field) _DEVINC(ipv6, _BH, idev, field) | ||
128 | #define IP6_INC_STATS_USER(idev,field) _DEVINC(ipv6, _USER, idev, field) | ||
129 | |||
135 | DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics); | 130 | DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics); |
136 | #define ICMP6_INC_STATS(idev, field) ({ \ | 131 | DECLARE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics); |
137 | struct inet6_dev *_idev = (idev); \ | 132 | |
138 | if (likely(_idev != NULL)) \ | 133 | #define ICMP6_INC_STATS(idev, field) _DEVINC(icmpv6, , idev, field) |
139 | SNMP_INC_STATS(idev->stats.icmpv6, field); \ | 134 | #define ICMP6_INC_STATS_BH(idev, field) _DEVINC(icmpv6, _BH, idev, field) |
140 | SNMP_INC_STATS(icmpv6_statistics, field); \ | 135 | #define ICMP6_INC_STATS_USER(idev, field) _DEVINC(icmpv6, _USER, idev, field) |
141 | }) | 136 | |
142 | #define ICMP6_INC_STATS_BH(idev, field) ({ \ | ||
143 | struct inet6_dev *_idev = (idev); \ | ||
144 | if (likely(_idev != NULL)) \ | ||
145 | SNMP_INC_STATS_BH((_idev)->stats.icmpv6, field); \ | ||
146 | SNMP_INC_STATS_BH(icmpv6_statistics, field); \ | ||
147 | }) | ||
148 | #define ICMP6_INC_STATS_USER(idev, field) ({ \ | ||
149 | struct inet6_dev *_idev = (idev); \ | ||
150 | if (likely(_idev != NULL)) \ | ||
151 | SNMP_INC_STATS_USER(_idev->stats.icmpv6, field); \ | ||
152 | SNMP_INC_STATS_USER(icmpv6_statistics, field); \ | ||
153 | }) | ||
154 | #define ICMP6_INC_STATS_OFFSET_BH(idev, field, offset) ({ \ | 137 | #define ICMP6_INC_STATS_OFFSET_BH(idev, field, offset) ({ \ |
155 | struct inet6_dev *_idev = idev; \ | 138 | struct inet6_dev *_idev = idev; \ |
156 | __typeof__(offset) _offset = (offset); \ | 139 | __typeof__(offset) _offset = (offset); \ |
@@ -158,6 +141,20 @@ DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics); | |||
158 | SNMP_INC_STATS_OFFSET_BH(_idev->stats.icmpv6, field, _offset); \ | 141 | SNMP_INC_STATS_OFFSET_BH(_idev->stats.icmpv6, field, _offset); \ |
159 | SNMP_INC_STATS_OFFSET_BH(icmpv6_statistics, field, _offset); \ | 142 | SNMP_INC_STATS_OFFSET_BH(icmpv6_statistics, field, _offset); \ |
160 | }) | 143 | }) |
144 | |||
145 | #define ICMP6MSGOUT_INC_STATS(idev, field) \ | ||
146 | _DEVINC(icmpv6msg, , idev, field +256) | ||
147 | #define ICMP6MSGOUT_INC_STATS_BH(idev, field) \ | ||
148 | _DEVINC(icmpv6msg, _BH, idev, field +256) | ||
149 | #define ICMP6MSGOUT_INC_STATS_USER(idev, field) \ | ||
150 | _DEVINC(icmpv6msg, _USER, idev, field +256) | ||
151 | #define ICMP6MSGIN_INC_STATS(idev, field) \ | ||
152 | _DEVINC(icmpv6msg, , idev, field) | ||
153 | #define ICMP6MSGIN_INC_STATS_BH(idev, field) \ | ||
154 | _DEVINC(icmpv6msg, _BH, idev, field) | ||
155 | #define ICMP6MSGIN_INC_STATS_USER(idev, field) \ | ||
156 | _DEVINC(icmpv6msg, _USER, idev, field) | ||
157 | |||
161 | DECLARE_SNMP_STAT(struct udp_mib, udp_stats_in6); | 158 | DECLARE_SNMP_STAT(struct udp_mib, udp_stats_in6); |
162 | DECLARE_SNMP_STAT(struct udp_mib, udplite_stats_in6); | 159 | DECLARE_SNMP_STAT(struct udp_mib, udplite_stats_in6); |
163 | #define UDP6_INC_STATS_BH(field, is_udplite) do { \ | 160 | #define UDP6_INC_STATS_BH(field, is_udplite) do { \ |
@@ -377,6 +374,12 @@ static inline int ipv6_addr_any(const struct in6_addr *a) | |||
377 | a->s6_addr32[2] | a->s6_addr32[3] ) == 0); | 374 | a->s6_addr32[2] | a->s6_addr32[3] ) == 0); |
378 | } | 375 | } |
379 | 376 | ||
377 | static inline int ipv6_addr_v4mapped(const struct in6_addr *a) | ||
378 | { | ||
379 | return ((a->s6_addr32[0] | a->s6_addr32[1]) == 0 && | ||
380 | a->s6_addr32[2] == htonl(0x0000ffff)); | ||
381 | } | ||
382 | |||
380 | /* | 383 | /* |
381 | * find the first different bit between two addresses | 384 | * find the first different bit between two addresses |
382 | * length of address must be a multiple of 32bits | 385 | * length of address must be a multiple of 32bits |
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index b6c468cd7f5b..85f80eadfa35 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h | |||
@@ -50,6 +50,12 @@ struct sockaddr_iucv { | |||
50 | 50 | ||
51 | 51 | ||
52 | /* Common socket structures and functions */ | 52 | /* Common socket structures and functions */ |
53 | struct sock_msg_q { | ||
54 | struct iucv_path *path; | ||
55 | struct iucv_message msg; | ||
56 | struct list_head list; | ||
57 | spinlock_t lock; | ||
58 | }; | ||
53 | 59 | ||
54 | #define iucv_sk(__sk) ((struct iucv_sock *) __sk) | 60 | #define iucv_sk(__sk) ((struct iucv_sock *) __sk) |
55 | 61 | ||
@@ -65,6 +71,7 @@ struct iucv_sock { | |||
65 | struct iucv_path *path; | 71 | struct iucv_path *path; |
66 | struct sk_buff_head send_skb_q; | 72 | struct sk_buff_head send_skb_q; |
67 | struct sk_buff_head backlog_skb_q; | 73 | struct sk_buff_head backlog_skb_q; |
74 | struct sock_msg_q message_q; | ||
68 | unsigned int send_tag; | 75 | unsigned int send_tag; |
69 | }; | 76 | }; |
70 | 77 | ||
@@ -74,29 +81,8 @@ struct iucv_sock_list { | |||
74 | atomic_t autobind_name; | 81 | atomic_t autobind_name; |
75 | }; | 82 | }; |
76 | 83 | ||
77 | static void iucv_sock_destruct(struct sock *sk); | ||
78 | static void iucv_sock_cleanup_listen(struct sock *parent); | ||
79 | static void iucv_sock_kill(struct sock *sk); | ||
80 | static void iucv_sock_close(struct sock *sk); | ||
81 | static int iucv_sock_create(struct socket *sock, int proto); | ||
82 | static int iucv_sock_bind(struct socket *sock, struct sockaddr *addr, | ||
83 | int addr_len); | ||
84 | static int iucv_sock_connect(struct socket *sock, struct sockaddr *addr, | ||
85 | int alen, int flags); | ||
86 | static int iucv_sock_listen(struct socket *sock, int backlog); | ||
87 | static int iucv_sock_accept(struct socket *sock, struct socket *newsock, | ||
88 | int flags); | ||
89 | static int iucv_sock_getname(struct socket *sock, struct sockaddr *addr, | ||
90 | int *len, int peer); | ||
91 | static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | ||
92 | struct msghdr *msg, size_t len); | ||
93 | static int iucv_sock_recvmsg(struct kiocb *iocb, struct socket *sock, | ||
94 | struct msghdr *msg, size_t len, int flags); | ||
95 | unsigned int iucv_sock_poll(struct file *file, struct socket *sock, | 84 | unsigned int iucv_sock_poll(struct file *file, struct socket *sock, |
96 | poll_table *wait); | 85 | poll_table *wait); |
97 | static int iucv_sock_release(struct socket *sock); | ||
98 | static int iucv_sock_shutdown(struct socket *sock, int how); | ||
99 | |||
100 | void iucv_sock_link(struct iucv_sock_list *l, struct sock *s); | 86 | void iucv_sock_link(struct iucv_sock_list *l, struct sock *s); |
101 | void iucv_sock_unlink(struct iucv_sock_list *l, struct sock *s); | 87 | void iucv_sock_unlink(struct iucv_sock_list *l, struct sock *s); |
102 | int iucv_sock_wait_state(struct sock *sk, int state, int state2, | 88 | int iucv_sock_wait_state(struct sock *sk, int state, int state2, |
diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h index f23d07ca7c59..369d50e08b99 100644 --- a/include/net/iw_handler.h +++ b/include/net/iw_handler.h | |||
@@ -431,7 +431,13 @@ struct iw_public_data { | |||
431 | * Those may be called only within the kernel. | 431 | * Those may be called only within the kernel. |
432 | */ | 432 | */ |
433 | 433 | ||
434 | /* functions that may be called by driver modules */ | 434 | /* First : function strictly used inside the kernel */ |
435 | |||
436 | /* Handle /proc/net/wireless, called in net/code/dev.c */ | ||
437 | extern int dev_get_wireless_info(char * buffer, char **start, off_t offset, | ||
438 | int length); | ||
439 | |||
440 | /* Second : functions that may be called by driver modules */ | ||
435 | 441 | ||
436 | /* Send a single event to user space */ | 442 | /* Send a single event to user space */ |
437 | extern void wireless_send_event(struct net_device * dev, | 443 | extern void wireless_send_event(struct net_device * dev, |
diff --git a/include/net/llc_conn.h b/include/net/llc_conn.h index 00730d21b522..e2374e34989f 100644 --- a/include/net/llc_conn.h +++ b/include/net/llc_conn.h | |||
@@ -93,7 +93,7 @@ static __inline__ char llc_backlog_type(struct sk_buff *skb) | |||
93 | return skb->cb[sizeof(skb->cb) - 1]; | 93 | return skb->cb[sizeof(skb->cb) - 1]; |
94 | } | 94 | } |
95 | 95 | ||
96 | extern struct sock *llc_sk_alloc(int family, gfp_t priority, | 96 | extern struct sock *llc_sk_alloc(struct net *net, int family, gfp_t priority, |
97 | struct proto *prot); | 97 | struct proto *prot); |
98 | extern void llc_sk_free(struct sock *sk); | 98 | extern void llc_sk_free(struct sock *sk); |
99 | 99 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index c34fd9a6160a..5fcc4c104340 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1,7 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Low-level hardware driver -- IEEE 802.11 driver (80211.o) interface | 2 | * mac80211 <-> driver interface |
3 | * | ||
3 | * Copyright 2002-2005, Devicescape Software, Inc. | 4 | * Copyright 2002-2005, Devicescape Software, Inc. |
4 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 5 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
6 | * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | ||
5 | * | 7 | * |
6 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -20,29 +22,51 @@ | |||
20 | #include <net/wireless.h> | 22 | #include <net/wireless.h> |
21 | #include <net/cfg80211.h> | 23 | #include <net/cfg80211.h> |
22 | 24 | ||
23 | /* Note! Only ieee80211_tx_status_irqsafe() and ieee80211_rx_irqsafe() can be | 25 | /** |
26 | * DOC: Introduction | ||
27 | * | ||
28 | * mac80211 is the Linux stack for 802.11 hardware that implements | ||
29 | * only partial functionality in hard- or firmware. This document | ||
30 | * defines the interface between mac80211 and low-level hardware | ||
31 | * drivers. | ||
32 | */ | ||
33 | |||
34 | /** | ||
35 | * DOC: Calling mac80211 from interrupts | ||
36 | * | ||
37 | * Only ieee80211_tx_status_irqsafe() and ieee80211_rx_irqsafe() can be | ||
24 | * called in hardware interrupt context. The low-level driver must not call any | 38 | * called in hardware interrupt context. The low-level driver must not call any |
25 | * other functions in hardware interrupt context. If there is a need for such | 39 | * other functions in hardware interrupt context. If there is a need for such |
26 | * call, the low-level driver should first ACK the interrupt and perform the | 40 | * call, the low-level driver should first ACK the interrupt and perform the |
27 | * IEEE 802.11 code call after this, e.g., from a scheduled tasklet (in | 41 | * IEEE 802.11 code call after this, e.g. from a scheduled workqueue function. |
28 | * software interrupt context). | ||
29 | */ | 42 | */ |
30 | 43 | ||
31 | /* | 44 | /** |
32 | * Frame format used when passing frame between low-level hardware drivers | 45 | * DOC: Warning |
33 | * and IEEE 802.11 driver the same as used in the wireless media, i.e., | 46 | * |
34 | * buffers start with IEEE 802.11 header and include the same octets that | 47 | * If you're reading this document and not the header file itself, it will |
35 | * are sent over air. | 48 | * be incomplete because not all documentation has been converted yet. |
36 | * | 49 | */ |
37 | * If hardware uses IEEE 802.3 headers (and perform 802.3 <-> 802.11 | 50 | |
38 | * conversion in firmware), upper layer 802.11 code needs to be changed to | 51 | /** |
39 | * support this. | 52 | * DOC: Frame format |
40 | * | 53 | * |
41 | * If the receive frame format is not the same as the real frame sent | 54 | * As a general rule, when frames are passed between mac80211 and the driver, |
42 | * on the wireless media (e.g., due to padding etc.), upper layer 802.11 code | 55 | * they start with the IEEE 802.11 header and include the same octets that are |
43 | * could be updated to provide support for such format assuming this would | 56 | * sent over the air except for the FCS which should be calculated by the |
44 | * optimize the performance, e.g., by removing need to re-allocation and | 57 | * hardware. |
45 | * copying of the data. | 58 | * |
59 | * There are, however, various exceptions to this rule for advanced features: | ||
60 | * | ||
61 | * The first exception is for hardware encryption and decryption offload | ||
62 | * where the IV/ICV may or may not be generated in hardware. | ||
63 | * | ||
64 | * Secondly, when the hardware handles fragmentation, the frame handed to | ||
65 | * the driver from mac80211 is the MSDU, not the MPDU. | ||
66 | * | ||
67 | * Finally, for received frames, the driver is able to indicate that it has | ||
68 | * filled a radiotap header and put that in front of the frame; if it does | ||
69 | * not do so then mac80211 may add this under certain circumstances. | ||
46 | */ | 70 | */ |
47 | 71 | ||
48 | #define IEEE80211_CHAN_W_SCAN 0x00000001 | 72 | #define IEEE80211_CHAN_W_SCAN 0x00000001 |
@@ -71,14 +95,13 @@ struct ieee80211_channel { | |||
71 | #define IEEE80211_RATE_SUPPORTED 0x00000010 | 95 | #define IEEE80211_RATE_SUPPORTED 0x00000010 |
72 | #define IEEE80211_RATE_OFDM 0x00000020 | 96 | #define IEEE80211_RATE_OFDM 0x00000020 |
73 | #define IEEE80211_RATE_CCK 0x00000040 | 97 | #define IEEE80211_RATE_CCK 0x00000040 |
74 | #define IEEE80211_RATE_TURBO 0x00000080 | ||
75 | #define IEEE80211_RATE_MANDATORY 0x00000100 | 98 | #define IEEE80211_RATE_MANDATORY 0x00000100 |
76 | 99 | ||
77 | #define IEEE80211_RATE_CCK_2 (IEEE80211_RATE_CCK | IEEE80211_RATE_PREAMBLE2) | 100 | #define IEEE80211_RATE_CCK_2 (IEEE80211_RATE_CCK | IEEE80211_RATE_PREAMBLE2) |
78 | #define IEEE80211_RATE_MODULATION(f) \ | 101 | #define IEEE80211_RATE_MODULATION(f) \ |
79 | (f & (IEEE80211_RATE_CCK | IEEE80211_RATE_OFDM)) | 102 | (f & (IEEE80211_RATE_CCK | IEEE80211_RATE_OFDM)) |
80 | 103 | ||
81 | /* Low-level driver should set PREAMBLE2, OFDM, CCK, and TURBO flags. | 104 | /* Low-level driver should set PREAMBLE2, OFDM and CCK flags. |
82 | * BASIC, SUPPORTED, ERP, and MANDATORY flags are set in 80211.o based on the | 105 | * BASIC, SUPPORTED, ERP, and MANDATORY flags are set in 80211.o based on the |
83 | * configuration. */ | 106 | * configuration. */ |
84 | struct ieee80211_rate { | 107 | struct ieee80211_rate { |
@@ -97,44 +120,96 @@ struct ieee80211_rate { | |||
97 | * optimizing channel utilization estimates */ | 120 | * optimizing channel utilization estimates */ |
98 | }; | 121 | }; |
99 | 122 | ||
100 | /* 802.11g is backwards-compatible with 802.11b, so a wlan card can | 123 | /** |
101 | * actually be both in 11b and 11g modes at the same time. */ | 124 | * enum ieee80211_phymode - PHY modes |
102 | enum { | 125 | * |
103 | MODE_IEEE80211A, /* IEEE 802.11a */ | 126 | * @MODE_IEEE80211A: 5GHz as defined by 802.11a/802.11h |
104 | MODE_IEEE80211B, /* IEEE 802.11b only */ | 127 | * @MODE_IEEE80211B: 2.4 GHz as defined by 802.11b |
105 | MODE_ATHEROS_TURBO, /* Atheros Turbo mode (2x.11a at 5 GHz) */ | 128 | * @MODE_IEEE80211G: 2.4 GHz as defined by 802.11g (with OFDM), |
106 | MODE_IEEE80211G, /* IEEE 802.11g (and 802.11b compatibility) */ | 129 | * backwards compatible with 11b mode |
107 | MODE_ATHEROS_TURBOG, /* Atheros Turbo mode (2x.11g at 2.4 GHz) */ | 130 | * @NUM_IEEE80211_MODES: internal |
131 | */ | ||
132 | enum ieee80211_phymode { | ||
133 | MODE_IEEE80211A, | ||
134 | MODE_IEEE80211B, | ||
135 | MODE_IEEE80211G, | ||
108 | 136 | ||
109 | /* keep last */ | 137 | /* keep last */ |
110 | NUM_IEEE80211_MODES | 138 | NUM_IEEE80211_MODES |
111 | }; | 139 | }; |
112 | 140 | ||
141 | /** | ||
142 | * struct ieee80211_hw_mode - PHY mode definition | ||
143 | * | ||
144 | * This structure describes the capabilities supported by the device | ||
145 | * in a single PHY mode. | ||
146 | * | ||
147 | * @mode: the PHY mode for this definition | ||
148 | * @num_channels: number of supported channels | ||
149 | * @channels: pointer to array of supported channels | ||
150 | * @num_rates: number of supported bitrates | ||
151 | * @rates: pointer to array of supported bitrates | ||
152 | * @list: internal | ||
153 | */ | ||
113 | struct ieee80211_hw_mode { | 154 | struct ieee80211_hw_mode { |
114 | int mode; /* MODE_IEEE80211... */ | 155 | struct list_head list; |
115 | int num_channels; /* Number of channels (below) */ | 156 | struct ieee80211_channel *channels; |
116 | struct ieee80211_channel *channels; /* Array of supported channels */ | 157 | struct ieee80211_rate *rates; |
117 | int num_rates; /* Number of rates (below) */ | 158 | enum ieee80211_phymode mode; |
118 | struct ieee80211_rate *rates; /* Array of supported rates */ | 159 | int num_channels; |
119 | 160 | int num_rates; | |
120 | struct list_head list; /* Internal, don't touch */ | ||
121 | }; | 161 | }; |
122 | 162 | ||
163 | /** | ||
164 | * struct ieee80211_tx_queue_params - transmit queue configuration | ||
165 | * | ||
166 | * The information provided in this structure is required for QoS | ||
167 | * transmit queue configuration. | ||
168 | * | ||
169 | * @aifs: arbitration interface space [0..255, -1: use default] | ||
170 | * @cw_min: minimum contention window [will be a value of the form | ||
171 | * 2^n-1 in the range 1..1023; 0: use default] | ||
172 | * @cw_max: maximum contention window [like @cw_min] | ||
173 | * @burst_time: maximum burst time in units of 0.1ms, 0 meaning disabled | ||
174 | */ | ||
123 | struct ieee80211_tx_queue_params { | 175 | struct ieee80211_tx_queue_params { |
124 | int aifs; /* 0 .. 255; -1 = use default */ | 176 | int aifs; |
125 | int cw_min; /* 2^n-1: 1, 3, 7, .. , 1023; 0 = use default */ | 177 | int cw_min; |
126 | int cw_max; /* 2^n-1: 1, 3, 7, .. , 1023; 0 = use default */ | 178 | int cw_max; |
127 | int burst_time; /* maximum burst time in 0.1 ms (i.e., 10 = 1 ms); | 179 | int burst_time; |
128 | * 0 = disabled */ | ||
129 | }; | 180 | }; |
130 | 181 | ||
182 | /** | ||
183 | * struct ieee80211_tx_queue_stats_data - transmit queue statistics | ||
184 | * | ||
185 | * @len: number of packets in queue | ||
186 | * @limit: queue length limit | ||
187 | * @count: number of frames sent | ||
188 | */ | ||
131 | struct ieee80211_tx_queue_stats_data { | 189 | struct ieee80211_tx_queue_stats_data { |
132 | unsigned int len; /* num packets in queue */ | 190 | unsigned int len; |
133 | unsigned int limit; /* queue len (soft) limit */ | 191 | unsigned int limit; |
134 | unsigned int count; /* total num frames sent */ | 192 | unsigned int count; |
135 | }; | 193 | }; |
136 | 194 | ||
137 | enum { | 195 | /** |
196 | * enum ieee80211_tx_queue - transmit queue number | ||
197 | * | ||
198 | * These constants are used with some callbacks that take a | ||
199 | * queue number to set parameters for a queue. | ||
200 | * | ||
201 | * @IEEE80211_TX_QUEUE_DATA0: data queue 0 | ||
202 | * @IEEE80211_TX_QUEUE_DATA1: data queue 1 | ||
203 | * @IEEE80211_TX_QUEUE_DATA2: data queue 2 | ||
204 | * @IEEE80211_TX_QUEUE_DATA3: data queue 3 | ||
205 | * @IEEE80211_TX_QUEUE_DATA4: data queue 4 | ||
206 | * @IEEE80211_TX_QUEUE_SVP: ?? | ||
207 | * @NUM_TX_DATA_QUEUES: number of data queues | ||
208 | * @IEEE80211_TX_QUEUE_AFTER_BEACON: transmit queue for frames to be | ||
209 | * sent after a beacon | ||
210 | * @IEEE80211_TX_QUEUE_BEACON: transmit queue for beacon frames | ||
211 | */ | ||
212 | enum ieee80211_tx_queue { | ||
138 | IEEE80211_TX_QUEUE_DATA0, | 213 | IEEE80211_TX_QUEUE_DATA0, |
139 | IEEE80211_TX_QUEUE_DATA1, | 214 | IEEE80211_TX_QUEUE_DATA1, |
140 | IEEE80211_TX_QUEUE_DATA2, | 215 | IEEE80211_TX_QUEUE_DATA2, |
@@ -165,7 +240,6 @@ struct ieee80211_low_level_stats { | |||
165 | /* Transmit control fields. This data structure is passed to low-level driver | 240 | /* Transmit control fields. This data structure is passed to low-level driver |
166 | * with each TX frame. The low-level driver is responsible for configuring | 241 | * with each TX frame. The low-level driver is responsible for configuring |
167 | * the hardware to use given values (depending on what is supported). */ | 242 | * the hardware to use given values (depending on what is supported). */ |
168 | #define HW_KEY_IDX_INVALID -1 | ||
169 | 243 | ||
170 | struct ieee80211_tx_control { | 244 | struct ieee80211_tx_control { |
171 | int tx_rate; /* Transmit rate, given as the hw specific value for the | 245 | int tx_rate; /* Transmit rate, given as the hw specific value for the |
@@ -191,22 +265,23 @@ struct ieee80211_tx_control { | |||
191 | #define IEEE80211_TXCTL_REQUEUE (1<<7) | 265 | #define IEEE80211_TXCTL_REQUEUE (1<<7) |
192 | #define IEEE80211_TXCTL_FIRST_FRAGMENT (1<<8) /* this is a first fragment of | 266 | #define IEEE80211_TXCTL_FIRST_FRAGMENT (1<<8) /* this is a first fragment of |
193 | * the frame */ | 267 | * the frame */ |
194 | #define IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY (1<<9) | 268 | #define IEEE80211_TXCTL_LONG_RETRY_LIMIT (1<<10) /* this frame should be send |
269 | * using the through | ||
270 | * set_retry_limit configured | ||
271 | * long retry value */ | ||
195 | u32 flags; /* tx control flags defined | 272 | u32 flags; /* tx control flags defined |
196 | * above */ | 273 | * above */ |
197 | u8 retry_limit; /* 1 = only first attempt, 2 = one retry, .. */ | 274 | u8 key_idx; /* keyidx from hw->set_key(), undefined if |
275 | * IEEE80211_TXCTL_DO_NOT_ENCRYPT is set */ | ||
276 | u8 retry_limit; /* 1 = only first attempt, 2 = one retry, .. | ||
277 | * This could be used when set_retry_limit | ||
278 | * is not implemented by the driver */ | ||
198 | u8 power_level; /* per-packet transmit power level, in dBm */ | 279 | u8 power_level; /* per-packet transmit power level, in dBm */ |
199 | u8 antenna_sel_tx; /* 0 = default/diversity, 1 = Ant0, 2 = Ant1 */ | 280 | u8 antenna_sel_tx; /* 0 = default/diversity, 1 = Ant0, 2 = Ant1 */ |
200 | s8 key_idx; /* -1 = do not encrypt, >= 0 keyidx from | ||
201 | * hw->set_key() */ | ||
202 | u8 icv_len; /* length of the ICV/MIC field in octets */ | 281 | u8 icv_len; /* length of the ICV/MIC field in octets */ |
203 | u8 iv_len; /* length of the IV field in octets */ | 282 | u8 iv_len; /* length of the IV field in octets */ |
204 | u8 tkip_key[16]; /* generated phase2/phase1 key for hw TKIP */ | ||
205 | u8 queue; /* hardware queue to use for this frame; | 283 | u8 queue; /* hardware queue to use for this frame; |
206 | * 0 = highest, hw->queues-1 = lowest */ | 284 | * 0 = highest, hw->queues-1 = lowest */ |
207 | u8 sw_retry_attempt; /* number of times hw has tried to | ||
208 | * transmit frame (not incl. hw retries) */ | ||
209 | |||
210 | struct ieee80211_rate *rate; /* internal 80211.o rate */ | 285 | struct ieee80211_rate *rate; /* internal 80211.o rate */ |
211 | struct ieee80211_rate *rts_rate; /* internal 80211.o rate | 286 | struct ieee80211_rate *rts_rate; /* internal 80211.o rate |
212 | * for RTS/CTS */ | 287 | * for RTS/CTS */ |
@@ -219,44 +294,124 @@ struct ieee80211_tx_control { | |||
219 | int ifindex; /* internal */ | 294 | int ifindex; /* internal */ |
220 | }; | 295 | }; |
221 | 296 | ||
222 | /* Receive status. The low-level driver should provide this information | 297 | |
223 | * (the subset supported by hardware) to the 802.11 code with each received | 298 | /** |
224 | * frame. */ | 299 | * enum mac80211_rx_flags - receive flags |
300 | * | ||
301 | * These flags are used with the @flag member of &struct ieee80211_rx_status. | ||
302 | * @RX_FLAG_MMIC_ERROR: Michael MIC error was reported on this frame. | ||
303 | * Use together with %RX_FLAG_MMIC_STRIPPED. | ||
304 | * @RX_FLAG_DECRYPTED: This frame was decrypted in hardware. | ||
305 | * @RX_FLAG_RADIOTAP: This frame starts with a radiotap header. | ||
306 | * @RX_FLAG_MMIC_STRIPPED: the Michael MIC is stripped off this frame, | ||
307 | * verification has been done by the hardware. | ||
308 | * @RX_FLAG_IV_STRIPPED: The IV/ICV are stripped from this frame. | ||
309 | * If this flag is set, the stack cannot do any replay detection | ||
310 | * hence the driver or hardware will have to do that. | ||
311 | * @RX_FLAG_FAILED_FCS_CRC: Set this flag if the FCS check failed on | ||
312 | * the frame. | ||
313 | * @RX_FLAG_FAILED_PLCP_CRC: Set this flag if the PCLP check failed on | ||
314 | * the frame. | ||
315 | */ | ||
316 | enum mac80211_rx_flags { | ||
317 | RX_FLAG_MMIC_ERROR = 1<<0, | ||
318 | RX_FLAG_DECRYPTED = 1<<1, | ||
319 | RX_FLAG_RADIOTAP = 1<<2, | ||
320 | RX_FLAG_MMIC_STRIPPED = 1<<3, | ||
321 | RX_FLAG_IV_STRIPPED = 1<<4, | ||
322 | RX_FLAG_FAILED_FCS_CRC = 1<<5, | ||
323 | RX_FLAG_FAILED_PLCP_CRC = 1<<6, | ||
324 | }; | ||
325 | |||
326 | /** | ||
327 | * struct ieee80211_rx_status - receive status | ||
328 | * | ||
329 | * The low-level driver should provide this information (the subset | ||
330 | * supported by hardware) to the 802.11 code with each received | ||
331 | * frame. | ||
332 | * @mactime: MAC timestamp as defined by 802.11 | ||
333 | * @freq: frequency the radio was tuned to when receiving this frame, in MHz | ||
334 | * @channel: channel the radio was tuned to | ||
335 | * @phymode: active PHY mode | ||
336 | * @ssi: signal strength when receiving this frame | ||
337 | * @signal: used as 'qual' in statistics reporting | ||
338 | * @noise: PHY noise when receiving this frame | ||
339 | * @antenna: antenna used | ||
340 | * @rate: data rate | ||
341 | * @flag: %RX_FLAG_* | ||
342 | */ | ||
225 | struct ieee80211_rx_status { | 343 | struct ieee80211_rx_status { |
226 | u64 mactime; | 344 | u64 mactime; |
227 | int freq; /* receive frequency in Mhz */ | 345 | int freq; |
228 | int channel; | 346 | int channel; |
229 | int phymode; | 347 | enum ieee80211_phymode phymode; |
230 | int ssi; | 348 | int ssi; |
231 | int signal; /* used as qual in statistics reporting */ | 349 | int signal; |
232 | int noise; | 350 | int noise; |
233 | int antenna; | 351 | int antenna; |
234 | int rate; | 352 | int rate; |
235 | #define RX_FLAG_MMIC_ERROR (1<<0) | ||
236 | #define RX_FLAG_DECRYPTED (1<<1) | ||
237 | #define RX_FLAG_RADIOTAP (1<<2) | ||
238 | int flag; | 353 | int flag; |
239 | }; | 354 | }; |
240 | 355 | ||
241 | /* Transmit status. The low-level driver should provide this information | 356 | /** |
242 | * (the subset supported by hardware) to the 802.11 code for each transmit | 357 | * enum ieee80211_tx_status_flags - transmit status flags |
243 | * frame. */ | 358 | * |
359 | * Status flags to indicate various transmit conditions. | ||
360 | * | ||
361 | * @IEEE80211_TX_STATUS_TX_FILTERED: The frame was not transmitted | ||
362 | * because the destination STA was in powersave mode. | ||
363 | * | ||
364 | * @IEEE80211_TX_STATUS_ACK: Frame was acknowledged | ||
365 | */ | ||
366 | enum ieee80211_tx_status_flags { | ||
367 | IEEE80211_TX_STATUS_TX_FILTERED = 1<<0, | ||
368 | IEEE80211_TX_STATUS_ACK = 1<<1, | ||
369 | }; | ||
370 | |||
371 | /** | ||
372 | * struct ieee80211_tx_status - transmit status | ||
373 | * | ||
374 | * As much information as possible should be provided for each transmitted | ||
375 | * frame with ieee80211_tx_status(). | ||
376 | * | ||
377 | * @control: a copy of the &struct ieee80211_tx_control passed to the driver | ||
378 | * in the tx() callback. | ||
379 | * | ||
380 | * @flags: transmit status flags, defined above | ||
381 | * | ||
382 | * @ack_signal: signal strength of the ACK frame | ||
383 | * | ||
384 | * @excessive_retries: set to 1 if the frame was retried many times | ||
385 | * but not acknowledged | ||
386 | * | ||
387 | * @retry_count: number of retries | ||
388 | * | ||
389 | * @queue_length: ?? REMOVE | ||
390 | * @queue_number: ?? REMOVE | ||
391 | */ | ||
244 | struct ieee80211_tx_status { | 392 | struct ieee80211_tx_status { |
245 | /* copied ieee80211_tx_control structure */ | ||
246 | struct ieee80211_tx_control control; | 393 | struct ieee80211_tx_control control; |
247 | 394 | u8 flags; | |
248 | #define IEEE80211_TX_STATUS_TX_FILTERED (1<<0) | 395 | bool excessive_retries; |
249 | #define IEEE80211_TX_STATUS_ACK (1<<1) /* whether the TX frame was ACKed */ | 396 | u8 retry_count; |
250 | u32 flags; /* tx staus flags defined above */ | 397 | int ack_signal; |
251 | 398 | int queue_length; | |
252 | int ack_signal; /* measured signal strength of the ACK frame */ | ||
253 | int excessive_retries; | ||
254 | int retry_count; | ||
255 | |||
256 | int queue_length; /* information about TX queue */ | ||
257 | int queue_number; | 399 | int queue_number; |
258 | }; | 400 | }; |
259 | 401 | ||
402 | /** | ||
403 | * enum ieee80211_conf_flags - configuration flags | ||
404 | * | ||
405 | * Flags to define PHY configuration options | ||
406 | * | ||
407 | * @IEEE80211_CONF_SHORT_SLOT_TIME: use 802.11g short slot time | ||
408 | * @IEEE80211_CONF_RADIOTAP: add radiotap header at receive time (if supported) | ||
409 | * | ||
410 | */ | ||
411 | enum ieee80211_conf_flags { | ||
412 | IEEE80211_CONF_SHORT_SLOT_TIME = 1<<0, | ||
413 | IEEE80211_CONF_RADIOTAP = 1<<1, | ||
414 | }; | ||
260 | 415 | ||
261 | /** | 416 | /** |
262 | * struct ieee80211_conf - configuration of the device | 417 | * struct ieee80211_conf - configuration of the device |
@@ -264,57 +419,46 @@ struct ieee80211_tx_status { | |||
264 | * This struct indicates how the driver shall configure the hardware. | 419 | * This struct indicates how the driver shall configure the hardware. |
265 | * | 420 | * |
266 | * @radio_enabled: when zero, driver is required to switch off the radio. | 421 | * @radio_enabled: when zero, driver is required to switch off the radio. |
422 | * TODO make a flag | ||
423 | * @channel: IEEE 802.11 channel number | ||
424 | * @freq: frequency in MHz | ||
425 | * @channel_val: hardware specific channel value for the channel | ||
426 | * @phymode: PHY mode to activate (REMOVE) | ||
427 | * @chan: channel to switch to, pointer to the channel information | ||
428 | * @mode: pointer to mode definition | ||
429 | * @regulatory_domain: ?? | ||
430 | * @beacon_int: beacon interval (TODO make interface config) | ||
431 | * @flags: configuration flags defined above | ||
432 | * @power_level: transmit power limit for current regulatory domain in dBm | ||
433 | * @antenna_max: maximum antenna gain | ||
434 | * @antenna_sel_tx: transmit antenna selection, 0: default/diversity, | ||
435 | * 1/2: antenna 0/1 | ||
436 | * @antenna_sel_rx: receive antenna selection, like @antenna_sel_tx | ||
267 | */ | 437 | */ |
268 | struct ieee80211_conf { | 438 | struct ieee80211_conf { |
269 | int channel; /* IEEE 802.11 channel number */ | 439 | int channel; /* IEEE 802.11 channel number */ |
270 | int freq; /* MHz */ | 440 | int freq; /* MHz */ |
271 | int channel_val; /* hw specific value for the channel */ | 441 | int channel_val; /* hw specific value for the channel */ |
272 | 442 | ||
273 | int phymode; /* MODE_IEEE80211A, .. */ | 443 | enum ieee80211_phymode phymode; |
274 | struct ieee80211_channel *chan; | 444 | struct ieee80211_channel *chan; |
275 | struct ieee80211_hw_mode *mode; | 445 | struct ieee80211_hw_mode *mode; |
276 | unsigned int regulatory_domain; | 446 | unsigned int regulatory_domain; |
277 | int radio_enabled; | 447 | int radio_enabled; |
278 | 448 | ||
279 | int beacon_int; | 449 | int beacon_int; |
280 | 450 | u32 flags; | |
281 | #define IEEE80211_CONF_SHORT_SLOT_TIME (1<<0) /* use IEEE 802.11g Short Slot | 451 | u8 power_level; |
282 | * Time */ | 452 | u8 antenna_max; |
283 | #define IEEE80211_CONF_SSID_HIDDEN (1<<1) /* do not broadcast the ssid */ | ||
284 | #define IEEE80211_CONF_RADIOTAP (1<<2) /* use radiotap if supported | ||
285 | check this bit at RX time */ | ||
286 | u32 flags; /* configuration flags defined above */ | ||
287 | |||
288 | u8 power_level; /* transmit power limit for current | ||
289 | * regulatory domain; in dBm */ | ||
290 | u8 antenna_max; /* maximum antenna gain */ | ||
291 | short tx_power_reduction; /* in 0.1 dBm */ | ||
292 | |||
293 | /* 0 = default/diversity, 1 = Ant0, 2 = Ant1 */ | ||
294 | u8 antenna_sel_tx; | 453 | u8 antenna_sel_tx; |
295 | u8 antenna_sel_rx; | 454 | u8 antenna_sel_rx; |
296 | |||
297 | int antenna_def; | ||
298 | int antenna_mode; | ||
299 | |||
300 | /* Following five fields are used for IEEE 802.11H */ | ||
301 | unsigned int radar_detect; | ||
302 | unsigned int spect_mgmt; | ||
303 | /* All following fields are currently unused. */ | ||
304 | unsigned int quiet_duration; /* duration of quiet period */ | ||
305 | unsigned int quiet_offset; /* how far into the beacon is the quiet | ||
306 | * period */ | ||
307 | unsigned int quiet_period; | ||
308 | u8 radar_firpwr_threshold; | ||
309 | u8 radar_rssi_threshold; | ||
310 | u8 pulse_height_threshold; | ||
311 | u8 pulse_rssi_threshold; | ||
312 | u8 pulse_inband_threshold; | ||
313 | }; | 455 | }; |
314 | 456 | ||
315 | /** | 457 | /** |
316 | * enum ieee80211_if_types - types of 802.11 network interfaces | 458 | * enum ieee80211_if_types - types of 802.11 network interfaces |
317 | * | 459 | * |
460 | * @IEEE80211_IF_TYPE_INVALID: invalid interface type, not used | ||
461 | * by mac80211 itself | ||
318 | * @IEEE80211_IF_TYPE_AP: interface in AP mode. | 462 | * @IEEE80211_IF_TYPE_AP: interface in AP mode. |
319 | * @IEEE80211_IF_TYPE_MGMT: special interface for communication with hostap | 463 | * @IEEE80211_IF_TYPE_MGMT: special interface for communication with hostap |
320 | * daemon. Drivers should never see this type. | 464 | * daemon. Drivers should never see this type. |
@@ -322,16 +466,17 @@ struct ieee80211_conf { | |||
322 | * @IEEE80211_IF_TYPE_IBSS: interface in IBSS (ad-hoc) mode. | 466 | * @IEEE80211_IF_TYPE_IBSS: interface in IBSS (ad-hoc) mode. |
323 | * @IEEE80211_IF_TYPE_MNTR: interface in monitor (rfmon) mode. | 467 | * @IEEE80211_IF_TYPE_MNTR: interface in monitor (rfmon) mode. |
324 | * @IEEE80211_IF_TYPE_WDS: interface in WDS mode. | 468 | * @IEEE80211_IF_TYPE_WDS: interface in WDS mode. |
325 | * @IEEE80211_IF_TYPE_VLAN: not used. | 469 | * @IEEE80211_IF_TYPE_VLAN: VLAN interface bound to an AP, drivers |
470 | * will never see this type. | ||
326 | */ | 471 | */ |
327 | enum ieee80211_if_types { | 472 | enum ieee80211_if_types { |
328 | IEEE80211_IF_TYPE_AP = 0x00000000, | 473 | IEEE80211_IF_TYPE_INVALID, |
329 | IEEE80211_IF_TYPE_MGMT = 0x00000001, | 474 | IEEE80211_IF_TYPE_AP, |
330 | IEEE80211_IF_TYPE_STA = 0x00000002, | 475 | IEEE80211_IF_TYPE_STA, |
331 | IEEE80211_IF_TYPE_IBSS = 0x00000003, | 476 | IEEE80211_IF_TYPE_IBSS, |
332 | IEEE80211_IF_TYPE_MNTR = 0x00000004, | 477 | IEEE80211_IF_TYPE_MNTR, |
333 | IEEE80211_IF_TYPE_WDS = 0x5A580211, | 478 | IEEE80211_IF_TYPE_WDS, |
334 | IEEE80211_IF_TYPE_VLAN = 0x00080211, | 479 | IEEE80211_IF_TYPE_VLAN, |
335 | }; | 480 | }; |
336 | 481 | ||
337 | /** | 482 | /** |
@@ -347,7 +492,6 @@ enum ieee80211_if_types { | |||
347 | * @mac_addr: pointer to MAC address of the interface. This pointer is valid | 492 | * @mac_addr: pointer to MAC address of the interface. This pointer is valid |
348 | * until the interface is removed (i.e. it cannot be used after | 493 | * until the interface is removed (i.e. it cannot be used after |
349 | * remove_interface() callback was called for this interface). | 494 | * remove_interface() callback was called for this interface). |
350 | * This pointer will be %NULL for monitor interfaces, be careful. | ||
351 | * | 495 | * |
352 | * This structure is used in add_interface() and remove_interface() | 496 | * This structure is used in add_interface() and remove_interface() |
353 | * callbacks of &struct ieee80211_hw. | 497 | * callbacks of &struct ieee80211_hw. |
@@ -360,7 +504,7 @@ enum ieee80211_if_types { | |||
360 | */ | 504 | */ |
361 | struct ieee80211_if_init_conf { | 505 | struct ieee80211_if_init_conf { |
362 | int if_id; | 506 | int if_id; |
363 | int type; | 507 | enum ieee80211_if_types type; |
364 | void *mac_addr; | 508 | void *mac_addr; |
365 | }; | 509 | }; |
366 | 510 | ||
@@ -377,11 +521,6 @@ struct ieee80211_if_init_conf { | |||
377 | * config_interface() call, so copy the value somewhere if you need | 521 | * config_interface() call, so copy the value somewhere if you need |
378 | * it. | 522 | * it. |
379 | * @ssid_len: length of the @ssid field. | 523 | * @ssid_len: length of the @ssid field. |
380 | * @generic_elem: used (together with @generic_elem_len) by drivers for | ||
381 | * hardware that generate beacons independently. The pointer is valid | ||
382 | * only during the config_interface() call, so copy the value somewhere | ||
383 | * if you need it. | ||
384 | * @generic_elem_len: length of the generic element. | ||
385 | * @beacon: beacon template. Valid only if @host_gen_beacon_template in | 524 | * @beacon: beacon template. Valid only if @host_gen_beacon_template in |
386 | * &struct ieee80211_hw is set. The driver is responsible of freeing | 525 | * &struct ieee80211_hw is set. The driver is responsible of freeing |
387 | * the sk_buff. | 526 | * the sk_buff. |
@@ -396,368 +535,571 @@ struct ieee80211_if_conf { | |||
396 | u8 *bssid; | 535 | u8 *bssid; |
397 | u8 *ssid; | 536 | u8 *ssid; |
398 | size_t ssid_len; | 537 | size_t ssid_len; |
399 | u8 *generic_elem; | ||
400 | size_t generic_elem_len; | ||
401 | struct sk_buff *beacon; | 538 | struct sk_buff *beacon; |
402 | struct ieee80211_tx_control *beacon_control; | 539 | struct ieee80211_tx_control *beacon_control; |
403 | }; | 540 | }; |
404 | 541 | ||
405 | typedef enum { ALG_NONE, ALG_WEP, ALG_TKIP, ALG_CCMP, ALG_NULL } | 542 | /** |
406 | ieee80211_key_alg; | 543 | * enum ieee80211_key_alg - key algorithm |
544 | * @ALG_WEP: WEP40 or WEP104 | ||
545 | * @ALG_TKIP: TKIP | ||
546 | * @ALG_CCMP: CCMP (AES) | ||
547 | */ | ||
548 | enum ieee80211_key_alg { | ||
549 | ALG_WEP, | ||
550 | ALG_TKIP, | ||
551 | ALG_CCMP, | ||
552 | }; | ||
407 | 553 | ||
408 | 554 | ||
409 | struct ieee80211_key_conf { | 555 | /** |
556 | * enum ieee80211_key_flags - key flags | ||
557 | * | ||
558 | * These flags are used for communication about keys between the driver | ||
559 | * and mac80211, with the @flags parameter of &struct ieee80211_key_conf. | ||
560 | * | ||
561 | * @IEEE80211_KEY_FLAG_WMM_STA: Set by mac80211, this flag indicates | ||
562 | * that the STA this key will be used with could be using QoS. | ||
563 | * @IEEE80211_KEY_FLAG_GENERATE_IV: This flag should be set by the | ||
564 | * driver to indicate that it requires IV generation for this | ||
565 | * particular key. | ||
566 | * @IEEE80211_KEY_FLAG_GENERATE_MMIC: This flag should be set by | ||
567 | * the driver for a TKIP key if it requires Michael MIC | ||
568 | * generation in software. | ||
569 | */ | ||
570 | enum ieee80211_key_flags { | ||
571 | IEEE80211_KEY_FLAG_WMM_STA = 1<<0, | ||
572 | IEEE80211_KEY_FLAG_GENERATE_IV = 1<<1, | ||
573 | IEEE80211_KEY_FLAG_GENERATE_MMIC= 1<<2, | ||
574 | }; | ||
410 | 575 | ||
411 | int hw_key_idx; /* filled + used by low-level driver */ | 576 | /** |
412 | ieee80211_key_alg alg; | 577 | * struct ieee80211_key_conf - key information |
413 | int keylen; | 578 | * |
414 | 579 | * This key information is given by mac80211 to the driver by | |
415 | #define IEEE80211_KEY_FORCE_SW_ENCRYPT (1<<0) /* to be cleared by low-level | 580 | * the set_key() callback in &struct ieee80211_ops. |
416 | driver */ | 581 | * |
417 | #define IEEE80211_KEY_DEFAULT_TX_KEY (1<<1) /* This key is the new default TX | 582 | * @hw_key_idx: To be set by the driver, this is the key index the driver |
418 | key (used only for broadcast | 583 | * wants to be given when a frame is transmitted and needs to be |
419 | keys). */ | 584 | * encrypted in hardware. |
420 | #define IEEE80211_KEY_DEFAULT_WEP_ONLY (1<<2) /* static WEP is the only | 585 | * @alg: The key algorithm. |
421 | configured security policy; | 586 | * @flags: key flags, see &enum ieee80211_key_flags. |
422 | this allows some low-level | 587 | * @keyidx: the key index (0-3) |
423 | drivers to determine when | 588 | * @keylen: key material length |
424 | hwaccel can be used */ | 589 | * @key: key material |
425 | u32 flags; /* key configuration flags defined above */ | 590 | */ |
426 | 591 | struct ieee80211_key_conf { | |
427 | s8 keyidx; /* WEP key index */ | 592 | enum ieee80211_key_alg alg; |
593 | u8 hw_key_idx; | ||
594 | u8 flags; | ||
595 | s8 keyidx; | ||
596 | u8 keylen; | ||
428 | u8 key[0]; | 597 | u8 key[0]; |
429 | }; | 598 | }; |
430 | 599 | ||
431 | #define IEEE80211_SEQ_COUNTER_RX 0 | 600 | #define IEEE80211_SEQ_COUNTER_RX 0 |
432 | #define IEEE80211_SEQ_COUNTER_TX 1 | 601 | #define IEEE80211_SEQ_COUNTER_TX 1 |
433 | 602 | ||
434 | typedef enum { | 603 | /** |
435 | SET_KEY, DISABLE_KEY, REMOVE_ALL_KEYS, | 604 | * enum set_key_cmd - key command |
436 | } set_key_cmd; | 605 | * |
606 | * Used with the set_key() callback in &struct ieee80211_ops, this | ||
607 | * indicates whether a key is being removed or added. | ||
608 | * | ||
609 | * @SET_KEY: a key is set | ||
610 | * @DISABLE_KEY: a key must be disabled | ||
611 | */ | ||
612 | enum set_key_cmd { | ||
613 | SET_KEY, DISABLE_KEY, | ||
614 | }; | ||
437 | 615 | ||
438 | /* This is driver-visible part of the per-hw state the stack keeps. */ | 616 | /** |
439 | struct ieee80211_hw { | 617 | * enum sta_notify_cmd - sta notify command |
440 | /* points to the cfg80211 wiphy for this piece. Note | 618 | * |
441 | * that you must fill in the perm_addr and dev fields | 619 | * Used with the sta_notify() callback in &struct ieee80211_ops, this |
442 | * of this structure, use the macros provided below. */ | 620 | * indicates addition and removal of a station to station table |
443 | struct wiphy *wiphy; | 621 | * |
622 | * @STA_NOTIFY_ADD: a station was added to the station table | ||
623 | * @STA_NOTIFY_REMOVE: a station being removed from the station table | ||
624 | */ | ||
625 | enum sta_notify_cmd { | ||
626 | STA_NOTIFY_ADD, STA_NOTIFY_REMOVE | ||
627 | }; | ||
444 | 628 | ||
445 | /* assigned by mac80211, don't write */ | 629 | /** |
446 | struct ieee80211_conf conf; | 630 | * enum ieee80211_hw_flags - hardware flags |
631 | * | ||
632 | * These flags are used to indicate hardware capabilities to | ||
633 | * the stack. Generally, flags here should have their meaning | ||
634 | * done in a way that the simplest hardware doesn't need setting | ||
635 | * any particular flags. There are some exceptions to this rule, | ||
636 | * however, so you are advised to review these flags carefully. | ||
637 | * | ||
638 | * @IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE: | ||
639 | * The device only needs to be supplied with a beacon template. | ||
640 | * If you need the host to generate each beacon then don't use | ||
641 | * this flag and call ieee80211_beacon_get() when you need the | ||
642 | * next beacon frame. Note that if you set this flag, you must | ||
643 | * implement the set_tim() callback for powersave mode to work | ||
644 | * properly. | ||
645 | * This flag is only relevant for access-point mode. | ||
646 | * | ||
647 | * @IEEE80211_HW_RX_INCLUDES_FCS: | ||
648 | * Indicates that received frames passed to the stack include | ||
649 | * the FCS at the end. | ||
650 | * | ||
651 | * @IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING: | ||
652 | * Some wireless LAN chipsets buffer broadcast/multicast frames | ||
653 | * for power saving stations in the hardware/firmware and others | ||
654 | * rely on the host system for such buffering. This option is used | ||
655 | * to configure the IEEE 802.11 upper layer to buffer broadcast and | ||
656 | * multicast frames when there are power saving stations so that | ||
657 | * the driver can fetch them with ieee80211_get_buffered_bc(). Note | ||
658 | * that not setting this flag works properly only when the | ||
659 | * %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is also not set because | ||
660 | * otherwise the stack will not know when the DTIM beacon was sent. | ||
661 | * | ||
662 | * @IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED: | ||
663 | * Channels are already configured to the default regulatory domain | ||
664 | * specified in the device's EEPROM | ||
665 | */ | ||
666 | enum ieee80211_hw_flags { | ||
667 | IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE = 1<<0, | ||
668 | IEEE80211_HW_RX_INCLUDES_FCS = 1<<1, | ||
669 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING = 1<<2, | ||
670 | IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED = 1<<3, | ||
671 | }; | ||
447 | 672 | ||
448 | /* Single thread workqueue available for driver use | 673 | /** |
449 | * Allocated by mac80211 on registration */ | 674 | * struct ieee80211_hw - hardware information and state |
675 | * | ||
676 | * This structure contains the configuration and hardware | ||
677 | * information for an 802.11 PHY. | ||
678 | * | ||
679 | * @wiphy: This points to the &struct wiphy allocated for this | ||
680 | * 802.11 PHY. You must fill in the @perm_addr and @dev | ||
681 | * members of this structure using SET_IEEE80211_DEV() | ||
682 | * and SET_IEEE80211_PERM_ADDR(). | ||
683 | * | ||
684 | * @conf: &struct ieee80211_conf, device configuration, don't use. | ||
685 | * | ||
686 | * @workqueue: single threaded workqueue available for driver use, | ||
687 | * allocated by mac80211 on registration and flushed on | ||
688 | * unregistration. | ||
689 | * | ||
690 | * @priv: pointer to private area that was allocated for driver use | ||
691 | * along with this structure. | ||
692 | * | ||
693 | * @flags: hardware flags, see &enum ieee80211_hw_flags. | ||
694 | * | ||
695 | * @extra_tx_headroom: headroom to reserve in each transmit skb | ||
696 | * for use by the driver (e.g. for transmit headers.) | ||
697 | * | ||
698 | * @channel_change_time: time (in microseconds) it takes to change channels. | ||
699 | * | ||
700 | * @max_rssi: Maximum value for ssi in RX information, use | ||
701 | * negative numbers for dBm and 0 to indicate no support. | ||
702 | * | ||
703 | * @max_signal: like @max_rssi, but for the signal value. | ||
704 | * | ||
705 | * @max_noise: like @max_rssi, but for the noise value. | ||
706 | * | ||
707 | * @queues: number of available hardware transmit queues for | ||
708 | * data packets. WMM/QoS requires at least four. | ||
709 | */ | ||
710 | struct ieee80211_hw { | ||
711 | struct ieee80211_conf conf; | ||
712 | struct wiphy *wiphy; | ||
450 | struct workqueue_struct *workqueue; | 713 | struct workqueue_struct *workqueue; |
451 | |||
452 | /* Pointer to the private area that was | ||
453 | * allocated with this struct for you. */ | ||
454 | void *priv; | 714 | void *priv; |
455 | 715 | u32 flags; | |
456 | /* The rest is information about your hardware */ | ||
457 | |||
458 | /* TODO: frame_type 802.11/802.3, sw_encryption requirements */ | ||
459 | |||
460 | /* Some wireless LAN chipsets generate beacons in the hardware/firmware | ||
461 | * and others rely on host generated beacons. This option is used to | ||
462 | * configure the upper layer IEEE 802.11 module to generate beacons. | ||
463 | * The low-level driver can use ieee80211_beacon_get() to fetch the | ||
464 | * next beacon frame. */ | ||
465 | #define IEEE80211_HW_HOST_GEN_BEACON (1<<0) | ||
466 | |||
467 | /* The device needs to be supplied with a beacon template only. */ | ||
468 | #define IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE (1<<1) | ||
469 | |||
470 | /* Some devices handle decryption internally and do not | ||
471 | * indicate whether the frame was encrypted (unencrypted frames | ||
472 | * will be dropped by the hardware, unless specifically allowed | ||
473 | * through) */ | ||
474 | #define IEEE80211_HW_DEVICE_HIDES_WEP (1<<2) | ||
475 | |||
476 | /* Whether RX frames passed to ieee80211_rx() include FCS in the end */ | ||
477 | #define IEEE80211_HW_RX_INCLUDES_FCS (1<<3) | ||
478 | |||
479 | /* Some wireless LAN chipsets buffer broadcast/multicast frames for | ||
480 | * power saving stations in the hardware/firmware and others rely on | ||
481 | * the host system for such buffering. This option is used to | ||
482 | * configure the IEEE 802.11 upper layer to buffer broadcast/multicast | ||
483 | * frames when there are power saving stations so that low-level driver | ||
484 | * can fetch them with ieee80211_get_buffered_bc(). */ | ||
485 | #define IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING (1<<4) | ||
486 | |||
487 | #define IEEE80211_HW_WEP_INCLUDE_IV (1<<5) | ||
488 | |||
489 | /* will data nullfunc frames get proper TX status callback */ | ||
490 | #define IEEE80211_HW_DATA_NULLFUNC_ACK (1<<6) | ||
491 | |||
492 | /* Force software encryption for TKIP packets if WMM is enabled. */ | ||
493 | #define IEEE80211_HW_NO_TKIP_WMM_HWACCEL (1<<7) | ||
494 | |||
495 | /* Some devices handle Michael MIC internally and do not include MIC in | ||
496 | * the received packets passed up. device_strips_mic must be set | ||
497 | * for such devices. The 'encryption' frame control bit is expected to | ||
498 | * be still set in the IEEE 802.11 header with this option unlike with | ||
499 | * the device_hides_wep configuration option. | ||
500 | */ | ||
501 | #define IEEE80211_HW_DEVICE_STRIPS_MIC (1<<8) | ||
502 | |||
503 | /* Device is capable of performing full monitor mode even during | ||
504 | * normal operation. */ | ||
505 | #define IEEE80211_HW_MONITOR_DURING_OPER (1<<9) | ||
506 | |||
507 | /* Device does not need BSSID filter set to broadcast in order to | ||
508 | * receive all probe responses while scanning */ | ||
509 | #define IEEE80211_HW_NO_PROBE_FILTERING (1<<10) | ||
510 | |||
511 | /* Channels are already configured to the default regulatory domain | ||
512 | * specified in the device's EEPROM */ | ||
513 | #define IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED (1<<11) | ||
514 | |||
515 | /* calculate Michael MIC for an MSDU when doing hwcrypto */ | ||
516 | #define IEEE80211_HW_TKIP_INCLUDE_MMIC (1<<12) | ||
517 | /* Do TKIP phase1 key mixing in stack to support cards only do | ||
518 | * phase2 key mixing when doing hwcrypto */ | ||
519 | #define IEEE80211_HW_TKIP_REQ_PHASE1_KEY (1<<13) | ||
520 | /* Do TKIP phase1 and phase2 key mixing in stack and send the generated | ||
521 | * per-packet RC4 key with each TX frame when doing hwcrypto */ | ||
522 | #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14) | ||
523 | |||
524 | u32 flags; /* hardware flags defined above */ | ||
525 | |||
526 | /* Set to the size of a needed device specific skb headroom for TX skbs. */ | ||
527 | unsigned int extra_tx_headroom; | 716 | unsigned int extra_tx_headroom; |
528 | |||
529 | /* This is the time in us to change channels | ||
530 | */ | ||
531 | int channel_change_time; | 717 | int channel_change_time; |
532 | /* Maximum values for various statistics. | 718 | u8 queues; |
533 | * Leave at 0 to indicate no support. Use negative numbers for dBm. */ | ||
534 | s8 max_rssi; | 719 | s8 max_rssi; |
535 | s8 max_signal; | 720 | s8 max_signal; |
536 | s8 max_noise; | 721 | s8 max_noise; |
537 | |||
538 | /* Number of available hardware TX queues for data packets. | ||
539 | * WMM requires at least four queues. */ | ||
540 | int queues; | ||
541 | }; | 722 | }; |
542 | 723 | ||
724 | /** | ||
725 | * SET_IEEE80211_DEV - set device for 802.11 hardware | ||
726 | * | ||
727 | * @hw: the &struct ieee80211_hw to set the device for | ||
728 | * @dev: the &struct device of this 802.11 device | ||
729 | */ | ||
543 | static inline void SET_IEEE80211_DEV(struct ieee80211_hw *hw, struct device *dev) | 730 | static inline void SET_IEEE80211_DEV(struct ieee80211_hw *hw, struct device *dev) |
544 | { | 731 | { |
545 | set_wiphy_dev(hw->wiphy, dev); | 732 | set_wiphy_dev(hw->wiphy, dev); |
546 | } | 733 | } |
547 | 734 | ||
735 | /** | ||
736 | * SET_IEEE80211_PERM_ADDR - set the permanenet MAC address for 802.11 hardware | ||
737 | * | ||
738 | * @hw: the &struct ieee80211_hw to set the MAC address for | ||
739 | * @addr: the address to set | ||
740 | */ | ||
548 | static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, u8 *addr) | 741 | static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, u8 *addr) |
549 | { | 742 | { |
550 | memcpy(hw->wiphy->perm_addr, addr, ETH_ALEN); | 743 | memcpy(hw->wiphy->perm_addr, addr, ETH_ALEN); |
551 | } | 744 | } |
552 | 745 | ||
553 | /* Configuration block used by the low-level driver to tell the 802.11 code | 746 | /** |
554 | * about supported hardware features and to pass function pointers to callback | 747 | * DOC: Hardware crypto acceleration |
555 | * functions. */ | 748 | * |
749 | * mac80211 is capable of taking advantage of many hardware | ||
750 | * acceleration designs for encryption and decryption operations. | ||
751 | * | ||
752 | * The set_key() callback in the &struct ieee80211_ops for a given | ||
753 | * device is called to enable hardware acceleration of encryption and | ||
754 | * decryption. The callback takes an @address parameter that will be | ||
755 | * the broadcast address for default keys, the other station's hardware | ||
756 | * address for individual keys or the zero address for keys that will | ||
757 | * be used only for transmission. | ||
758 | * Multiple transmission keys with the same key index may be used when | ||
759 | * VLANs are configured for an access point. | ||
760 | * | ||
761 | * The @local_address parameter will always be set to our own address, | ||
762 | * this is only relevant if you support multiple local addresses. | ||
763 | * | ||
764 | * When transmitting, the TX control data will use the @hw_key_idx | ||
765 | * selected by the driver by modifying the &struct ieee80211_key_conf | ||
766 | * pointed to by the @key parameter to the set_key() function. | ||
767 | * | ||
768 | * The set_key() call for the %SET_KEY command should return 0 if | ||
769 | * the key is now in use, -%EOPNOTSUPP or -%ENOSPC if it couldn't be | ||
770 | * added; if you return 0 then hw_key_idx must be assigned to the | ||
771 | * hardware key index, you are free to use the full u8 range. | ||
772 | * | ||
773 | * When the cmd is %DISABLE_KEY then it must succeed. | ||
774 | * | ||
775 | * Note that it is permissible to not decrypt a frame even if a key | ||
776 | * for it has been uploaded to hardware, the stack will not make any | ||
777 | * decision based on whether a key has been uploaded or not but rather | ||
778 | * based on the receive flags. | ||
779 | * | ||
780 | * The &struct ieee80211_key_conf structure pointed to by the @key | ||
781 | * parameter is guaranteed to be valid until another call to set_key() | ||
782 | * removes it, but it can only be used as a cookie to differentiate | ||
783 | * keys. | ||
784 | */ | ||
785 | |||
786 | /** | ||
787 | * DOC: Frame filtering | ||
788 | * | ||
789 | * mac80211 requires to see many management frames for proper | ||
790 | * operation, and users may want to see many more frames when | ||
791 | * in monitor mode. However, for best CPU usage and power consumption, | ||
792 | * having as few frames as possible percolate through the stack is | ||
793 | * desirable. Hence, the hardware should filter as much as possible. | ||
794 | * | ||
795 | * To achieve this, mac80211 uses filter flags (see below) to tell | ||
796 | * the driver's configure_filter() function which frames should be | ||
797 | * passed to mac80211 and which should be filtered out. | ||
798 | * | ||
799 | * The configure_filter() callback is invoked with the parameters | ||
800 | * @mc_count and @mc_list for the combined multicast address list | ||
801 | * of all virtual interfaces, @changed_flags telling which flags | ||
802 | * were changed and @total_flags with the new flag states. | ||
803 | * | ||
804 | * If your device has no multicast address filters your driver will | ||
805 | * need to check both the %FIF_ALLMULTI flag and the @mc_count | ||
806 | * parameter to see whether multicast frames should be accepted | ||
807 | * or dropped. | ||
808 | * | ||
809 | * All unsupported flags in @total_flags must be cleared, i.e. you | ||
810 | * should clear all bits except those you honoured. | ||
811 | */ | ||
812 | |||
813 | /** | ||
814 | * enum ieee80211_filter_flags - hardware filter flags | ||
815 | * | ||
816 | * These flags determine what the filter in hardware should be | ||
817 | * programmed to let through and what should not be passed to the | ||
818 | * stack. It is always safe to pass more frames than requested, | ||
819 | * but this has negative impact on power consumption. | ||
820 | * | ||
821 | * @FIF_PROMISC_IN_BSS: promiscuous mode within your BSS, | ||
822 | * think of the BSS as your network segment and then this corresponds | ||
823 | * to the regular ethernet device promiscuous mode. | ||
824 | * | ||
825 | * @FIF_ALLMULTI: pass all multicast frames, this is used if requested | ||
826 | * by the user or if the hardware is not capable of filtering by | ||
827 | * multicast address. | ||
828 | * | ||
829 | * @FIF_FCSFAIL: pass frames with failed FCS (but you need to set the | ||
830 | * %RX_FLAG_FAILED_FCS_CRC for them) | ||
831 | * | ||
832 | * @FIF_PLCPFAIL: pass frames with failed PLCP CRC (but you need to set | ||
833 | * the %RX_FLAG_FAILED_PLCP_CRC for them | ||
834 | * | ||
835 | * @FIF_BCN_PRBRESP_PROMISC: This flag is set during scanning to indicate | ||
836 | * to the hardware that it should not filter beacons or probe responses | ||
837 | * by BSSID. Filtering them can greatly reduce the amount of processing | ||
838 | * mac80211 needs to do and the amount of CPU wakeups, so you should | ||
839 | * honour this flag if possible. | ||
840 | * | ||
841 | * @FIF_CONTROL: pass control frames, if PROMISC_IN_BSS is not set then | ||
842 | * only those addressed to this station | ||
843 | * | ||
844 | * @FIF_OTHER_BSS: pass frames destined to other BSSes | ||
845 | */ | ||
846 | enum ieee80211_filter_flags { | ||
847 | FIF_PROMISC_IN_BSS = 1<<0, | ||
848 | FIF_ALLMULTI = 1<<1, | ||
849 | FIF_FCSFAIL = 1<<2, | ||
850 | FIF_PLCPFAIL = 1<<3, | ||
851 | FIF_BCN_PRBRESP_PROMISC = 1<<4, | ||
852 | FIF_CONTROL = 1<<5, | ||
853 | FIF_OTHER_BSS = 1<<6, | ||
854 | }; | ||
855 | |||
856 | /** | ||
857 | * enum ieee80211_erp_change_flags - erp change flags | ||
858 | * | ||
859 | * These flags are used with the erp_ie_changed() callback in | ||
860 | * &struct ieee80211_ops to indicate which parameter(s) changed. | ||
861 | * @IEEE80211_ERP_CHANGE_PROTECTION: protection changed | ||
862 | * @IEEE80211_ERP_CHANGE_PREAMBLE: barker preamble mode changed | ||
863 | */ | ||
864 | enum ieee80211_erp_change_flags { | ||
865 | IEEE80211_ERP_CHANGE_PROTECTION = 1<<0, | ||
866 | IEEE80211_ERP_CHANGE_PREAMBLE = 1<<1, | ||
867 | }; | ||
868 | |||
869 | |||
870 | /** | ||
871 | * struct ieee80211_ops - callbacks from mac80211 to the driver | ||
872 | * | ||
873 | * This structure contains various callbacks that the driver may | ||
874 | * handle or, in some cases, must handle, for example to configure | ||
875 | * the hardware to a new channel or to transmit a frame. | ||
876 | * | ||
877 | * @tx: Handler that 802.11 module calls for each transmitted frame. | ||
878 | * skb contains the buffer starting from the IEEE 802.11 header. | ||
879 | * The low-level driver should send the frame out based on | ||
880 | * configuration in the TX control data. Must be implemented and | ||
881 | * atomic. | ||
882 | * | ||
883 | * @start: Called before the first netdevice attached to the hardware | ||
884 | * is enabled. This should turn on the hardware and must turn on | ||
885 | * frame reception (for possibly enabled monitor interfaces.) | ||
886 | * Returns negative error codes, these may be seen in userspace, | ||
887 | * or zero. | ||
888 | * When the device is started it should not have a MAC address | ||
889 | * to avoid acknowledging frames before a non-monitor device | ||
890 | * is added. | ||
891 | * Must be implemented. | ||
892 | * | ||
893 | * @stop: Called after last netdevice attached to the hardware | ||
894 | * is disabled. This should turn off the hardware (at least | ||
895 | * it must turn off frame reception.) | ||
896 | * May be called right after add_interface if that rejects | ||
897 | * an interface. | ||
898 | * Must be implemented. | ||
899 | * | ||
900 | * @add_interface: Called when a netdevice attached to the hardware is | ||
901 | * enabled. Because it is not called for monitor mode devices, @open | ||
902 | * and @stop must be implemented. | ||
903 | * The driver should perform any initialization it needs before | ||
904 | * the device can be enabled. The initial configuration for the | ||
905 | * interface is given in the conf parameter. | ||
906 | * The callback may refuse to add an interface by returning a | ||
907 | * negative error code (which will be seen in userspace.) | ||
908 | * Must be implemented. | ||
909 | * | ||
910 | * @remove_interface: Notifies a driver that an interface is going down. | ||
911 | * The @stop callback is called after this if it is the last interface | ||
912 | * and no monitor interfaces are present. | ||
913 | * When all interfaces are removed, the MAC address in the hardware | ||
914 | * must be cleared so the device no longer acknowledges packets, | ||
915 | * the mac_addr member of the conf structure is, however, set to the | ||
916 | * MAC address of the device going away. | ||
917 | * Hence, this callback must be implemented. | ||
918 | * | ||
919 | * @config: Handler for configuration requests. IEEE 802.11 code calls this | ||
920 | * function to change hardware configuration, e.g., channel. | ||
921 | * | ||
922 | * @config_interface: Handler for configuration requests related to interfaces | ||
923 | * (e.g. BSSID changes.) | ||
924 | * | ||
925 | * @configure_filter: Configure the device's RX filter. | ||
926 | * See the section "Frame filtering" for more information. | ||
927 | * This callback must be implemented and atomic. | ||
928 | * | ||
929 | * @set_tim: Set TIM bit. If the hardware/firmware takes care of beacon | ||
930 | * generation (that is, %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is set) | ||
931 | * mac80211 calls this function when a TIM bit must be set or cleared | ||
932 | * for a given AID. Must be atomic. | ||
933 | * | ||
934 | * @set_key: See the section "Hardware crypto acceleration" | ||
935 | * This callback can sleep, and is only called between add_interface | ||
936 | * and remove_interface calls, i.e. while the interface with the | ||
937 | * given local_address is enabled. | ||
938 | * | ||
939 | * @set_ieee8021x: Enable/disable IEEE 802.1X. This item requests wlan card | ||
940 | * to pass unencrypted EAPOL-Key frames even when encryption is | ||
941 | * configured. If the wlan card does not require such a configuration, | ||
942 | * this function pointer can be set to NULL. | ||
943 | * | ||
944 | * @set_port_auth: Set port authorization state (IEEE 802.1X PAE) to be | ||
945 | * authorized (@authorized=1) or unauthorized (=0). This function can be | ||
946 | * used if the wlan hardware or low-level driver implements PAE. | ||
947 | * mac80211 will filter frames based on authorization state in any case, | ||
948 | * so this function pointer can be NULL if low-level driver does not | ||
949 | * require event notification about port state changes. | ||
950 | * | ||
951 | * @hw_scan: Ask the hardware to service the scan request, no need to start | ||
952 | * the scan state machine in stack. | ||
953 | * | ||
954 | * @get_stats: return low-level statistics | ||
955 | * | ||
956 | * @set_privacy_invoked: For devices that generate their own beacons and probe | ||
957 | * response or association responses this updates the state of privacy_invoked | ||
958 | * returns 0 for success or an error number. | ||
959 | * | ||
960 | * @get_sequence_counter: For devices that have internal sequence counters this | ||
961 | * callback allows mac80211 to access the current value of a counter. | ||
962 | * This callback seems not well-defined, tell us if you need it. | ||
963 | * | ||
964 | * @set_rts_threshold: Configuration of RTS threshold (if device needs it) | ||
965 | * | ||
966 | * @set_frag_threshold: Configuration of fragmentation threshold. Assign this if | ||
967 | * the device does fragmentation by itself; if this method is assigned then | ||
968 | * the stack will not do fragmentation. | ||
969 | * | ||
970 | * @set_retry_limit: Configuration of retry limits (if device needs it) | ||
971 | * | ||
972 | * @sta_notify: Notifies low level driver about addition or removal | ||
973 | * of assocaited station or AP. | ||
974 | * | ||
975 | * @erp_ie_changed: Handle ERP IE change notifications. Must be atomic. | ||
976 | * | ||
977 | * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), | ||
978 | * bursting) for a hardware TX queue. The @queue parameter uses the | ||
979 | * %IEEE80211_TX_QUEUE_* constants. Must be atomic. | ||
980 | * | ||
981 | * @get_tx_stats: Get statistics of the current TX queue status. This is used | ||
982 | * to get number of currently queued packets (queue length), maximum queue | ||
983 | * size (limit), and total number of packets sent using each TX queue | ||
984 | * (count). This information is used for WMM to find out which TX | ||
985 | * queues have room for more packets and by hostapd to provide | ||
986 | * statistics about the current queueing state to external programs. | ||
987 | * | ||
988 | * @get_tsf: Get the current TSF timer value from firmware/hardware. Currently, | ||
989 | * this is only used for IBSS mode debugging and, as such, is not a | ||
990 | * required function. Must be atomic. | ||
991 | * | ||
992 | * @reset_tsf: Reset the TSF timer and allow firmware/hardware to synchronize | ||
993 | * with other STAs in the IBSS. This is only used in IBSS mode. This | ||
994 | * function is optional if the firmware/hardware takes full care of | ||
995 | * TSF synchronization. | ||
996 | * | ||
997 | * @beacon_update: Setup beacon data for IBSS beacons. Unlike access point, | ||
998 | * IBSS uses a fixed beacon frame which is configured using this | ||
999 | * function. | ||
1000 | * If the driver returns success (0) from this callback, it owns | ||
1001 | * the skb. That means the driver is responsible to kfree_skb() it. | ||
1002 | * The control structure is not dynamically allocated. That means the | ||
1003 | * driver does not own the pointer and if it needs it somewhere | ||
1004 | * outside of the context of this function, it must copy it | ||
1005 | * somewhere else. | ||
1006 | * This handler is required only for IBSS mode. | ||
1007 | * | ||
1008 | * @tx_last_beacon: Determine whether the last IBSS beacon was sent by us. | ||
1009 | * This is needed only for IBSS mode and the result of this function is | ||
1010 | * used to determine whether to reply to Probe Requests. | ||
1011 | */ | ||
556 | struct ieee80211_ops { | 1012 | struct ieee80211_ops { |
557 | /* Handler that 802.11 module calls for each transmitted frame. | ||
558 | * skb contains the buffer starting from the IEEE 802.11 header. | ||
559 | * The low-level driver should send the frame out based on | ||
560 | * configuration in the TX control data. | ||
561 | * Must be atomic. */ | ||
562 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb, | 1013 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb, |
563 | struct ieee80211_tx_control *control); | 1014 | struct ieee80211_tx_control *control); |
564 | 1015 | int (*start)(struct ieee80211_hw *hw); | |
565 | /* Handler for performing hardware reset. */ | 1016 | void (*stop)(struct ieee80211_hw *hw); |
566 | int (*reset)(struct ieee80211_hw *hw); | ||
567 | |||
568 | /* Handler that is called when any netdevice attached to the hardware | ||
569 | * device is set UP for the first time. This can be used, e.g., to | ||
570 | * enable interrupts and beacon sending. */ | ||
571 | int (*open)(struct ieee80211_hw *hw); | ||
572 | |||
573 | /* Handler that is called when the last netdevice attached to the | ||
574 | * hardware device is set DOWN. This can be used, e.g., to disable | ||
575 | * interrupts and beacon sending. */ | ||
576 | int (*stop)(struct ieee80211_hw *hw); | ||
577 | |||
578 | /* Handler for asking a driver if a new interface can be added (or, | ||
579 | * more exactly, set UP). If the handler returns zero, the interface | ||
580 | * is added. Driver should perform any initialization it needs prior | ||
581 | * to returning zero. By returning non-zero addition of the interface | ||
582 | * is inhibited. Unless monitor_during_oper is set, it is guaranteed | ||
583 | * that monitor interfaces and normal interfaces are mutually | ||
584 | * exclusive. If assigned, the open() handler is called after | ||
585 | * add_interface() if this is the first device added. The | ||
586 | * add_interface() callback has to be assigned because it is the only | ||
587 | * way to obtain the requested MAC address for any interface. | ||
588 | */ | ||
589 | int (*add_interface)(struct ieee80211_hw *hw, | 1017 | int (*add_interface)(struct ieee80211_hw *hw, |
590 | struct ieee80211_if_init_conf *conf); | 1018 | struct ieee80211_if_init_conf *conf); |
591 | |||
592 | /* Notify a driver that an interface is going down. The stop() handler | ||
593 | * is called prior to this if this is a last interface. */ | ||
594 | void (*remove_interface)(struct ieee80211_hw *hw, | 1019 | void (*remove_interface)(struct ieee80211_hw *hw, |
595 | struct ieee80211_if_init_conf *conf); | 1020 | struct ieee80211_if_init_conf *conf); |
596 | |||
597 | /* Handler for configuration requests. IEEE 802.11 code calls this | ||
598 | * function to change hardware configuration, e.g., channel. */ | ||
599 | int (*config)(struct ieee80211_hw *hw, struct ieee80211_conf *conf); | 1021 | int (*config)(struct ieee80211_hw *hw, struct ieee80211_conf *conf); |
600 | |||
601 | /* Handler for configuration requests related to interfaces (e.g. | ||
602 | * BSSID). */ | ||
603 | int (*config_interface)(struct ieee80211_hw *hw, | 1022 | int (*config_interface)(struct ieee80211_hw *hw, |
604 | int if_id, struct ieee80211_if_conf *conf); | 1023 | int if_id, struct ieee80211_if_conf *conf); |
605 | 1024 | void (*configure_filter)(struct ieee80211_hw *hw, | |
606 | /* ieee80211 drivers do not have access to the &struct net_device | 1025 | unsigned int changed_flags, |
607 | * that is (are) connected with their device. Hence (and because | 1026 | unsigned int *total_flags, |
608 | * we need to combine the multicast lists and flags for multiple | 1027 | int mc_count, struct dev_addr_list *mc_list); |
609 | * virtual interfaces), they cannot assign set_multicast_list. | ||
610 | * The parameters here replace dev->flags and dev->mc_count, | ||
611 | * dev->mc_list is replaced by calling ieee80211_get_mc_list_item. | ||
612 | * Must be atomic. */ | ||
613 | void (*set_multicast_list)(struct ieee80211_hw *hw, | ||
614 | unsigned short flags, int mc_count); | ||
615 | |||
616 | /* Set TIM bit handler. If the hardware/firmware takes care of beacon | ||
617 | * generation, IEEE 802.11 code uses this function to tell the | ||
618 | * low-level to set (or clear if set==0) TIM bit for the given aid. If | ||
619 | * host system is used to generate beacons, this handler is not used | ||
620 | * and low-level driver should set it to NULL. | ||
621 | * Must be atomic. */ | ||
622 | int (*set_tim)(struct ieee80211_hw *hw, int aid, int set); | 1028 | int (*set_tim)(struct ieee80211_hw *hw, int aid, int set); |
623 | 1029 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |
624 | /* Set encryption key. IEEE 802.11 module calls this function to set | 1030 | const u8 *local_address, const u8 *address, |
625 | * encryption keys. addr is ff:ff:ff:ff:ff:ff for default keys and | 1031 | struct ieee80211_key_conf *key); |
626 | * station hwaddr for individual keys. aid of the station is given | ||
627 | * to help low-level driver in selecting which key->hw_key_idx to use | ||
628 | * for this key. TX control data will use the hw_key_idx selected by | ||
629 | * the low-level driver. | ||
630 | * Must be atomic. */ | ||
631 | int (*set_key)(struct ieee80211_hw *hw, set_key_cmd cmd, | ||
632 | u8 *addr, struct ieee80211_key_conf *key, int aid); | ||
633 | |||
634 | /* Set TX key index for default/broadcast keys. This is needed in cases | ||
635 | * where wlan card is doing full WEP/TKIP encapsulation (wep_include_iv | ||
636 | * is not set), in other cases, this function pointer can be set to | ||
637 | * NULL since the IEEE 802. 11 module takes care of selecting the key | ||
638 | * index for each TX frame. */ | ||
639 | int (*set_key_idx)(struct ieee80211_hw *hw, int idx); | ||
640 | |||
641 | /* Enable/disable IEEE 802.1X. This item requests wlan card to pass | ||
642 | * unencrypted EAPOL-Key frames even when encryption is configured. | ||
643 | * If the wlan card does not require such a configuration, this | ||
644 | * function pointer can be set to NULL. */ | ||
645 | int (*set_ieee8021x)(struct ieee80211_hw *hw, int use_ieee8021x); | 1032 | int (*set_ieee8021x)(struct ieee80211_hw *hw, int use_ieee8021x); |
646 | |||
647 | /* Set port authorization state (IEEE 802.1X PAE) to be authorized | ||
648 | * (authorized=1) or unauthorized (authorized=0). This function can be | ||
649 | * used if the wlan hardware or low-level driver implements PAE. | ||
650 | * 80211.o module will anyway filter frames based on authorization | ||
651 | * state, so this function pointer can be NULL if low-level driver does | ||
652 | * not require event notification about port state changes. | ||
653 | * Currently unused. */ | ||
654 | int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, | 1033 | int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, |
655 | int authorized); | 1034 | int authorized); |
656 | |||
657 | /* Ask the hardware to service the scan request, no need to start | ||
658 | * the scan state machine in stack. */ | ||
659 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); | 1035 | int (*hw_scan)(struct ieee80211_hw *hw, u8 *ssid, size_t len); |
660 | |||
661 | /* return low-level statistics */ | ||
662 | int (*get_stats)(struct ieee80211_hw *hw, | 1036 | int (*get_stats)(struct ieee80211_hw *hw, |
663 | struct ieee80211_low_level_stats *stats); | 1037 | struct ieee80211_low_level_stats *stats); |
664 | |||
665 | /* For devices that generate their own beacons and probe response | ||
666 | * or association responses this updates the state of privacy_invoked | ||
667 | * returns 0 for success or an error number */ | ||
668 | int (*set_privacy_invoked)(struct ieee80211_hw *hw, | 1038 | int (*set_privacy_invoked)(struct ieee80211_hw *hw, |
669 | int privacy_invoked); | 1039 | int privacy_invoked); |
670 | |||
671 | /* For devices that have internal sequence counters, allow 802.11 | ||
672 | * code to access the current value of a counter */ | ||
673 | int (*get_sequence_counter)(struct ieee80211_hw *hw, | 1040 | int (*get_sequence_counter)(struct ieee80211_hw *hw, |
674 | u8* addr, u8 keyidx, u8 txrx, | 1041 | u8* addr, u8 keyidx, u8 txrx, |
675 | u32* iv32, u16* iv16); | 1042 | u32* iv32, u16* iv16); |
676 | |||
677 | /* Configuration of RTS threshold (if device needs it) */ | ||
678 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); | 1043 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); |
679 | |||
680 | /* Configuration of fragmentation threshold. | ||
681 | * Assign this if the device does fragmentation by itself, | ||
682 | * if this method is assigned then the stack will not do | ||
683 | * fragmentation. */ | ||
684 | int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); | 1044 | int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); |
685 | |||
686 | /* Configuration of retry limits (if device needs it) */ | ||
687 | int (*set_retry_limit)(struct ieee80211_hw *hw, | 1045 | int (*set_retry_limit)(struct ieee80211_hw *hw, |
688 | u32 short_retry, u32 long_retr); | 1046 | u32 short_retry, u32 long_retr); |
689 | 1047 | void (*sta_notify)(struct ieee80211_hw *hw, int if_id, | |
690 | /* Number of STAs in STA table notification (NULL = disabled). | 1048 | enum sta_notify_cmd, const u8 *addr); |
691 | * Must be atomic. */ | 1049 | void (*erp_ie_changed)(struct ieee80211_hw *hw, u8 changes, |
692 | void (*sta_table_notification)(struct ieee80211_hw *hw, | 1050 | int cts_protection, int preamble); |
693 | int num_sta); | ||
694 | |||
695 | /* Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), | ||
696 | * bursting) for a hardware TX queue. | ||
697 | * queue = IEEE80211_TX_QUEUE_*. | ||
698 | * Must be atomic. */ | ||
699 | int (*conf_tx)(struct ieee80211_hw *hw, int queue, | 1051 | int (*conf_tx)(struct ieee80211_hw *hw, int queue, |
700 | const struct ieee80211_tx_queue_params *params); | 1052 | const struct ieee80211_tx_queue_params *params); |
701 | |||
702 | /* Get statistics of the current TX queue status. This is used to get | ||
703 | * number of currently queued packets (queue length), maximum queue | ||
704 | * size (limit), and total number of packets sent using each TX queue | ||
705 | * (count). | ||
706 | * Currently unused. */ | ||
707 | int (*get_tx_stats)(struct ieee80211_hw *hw, | 1053 | int (*get_tx_stats)(struct ieee80211_hw *hw, |
708 | struct ieee80211_tx_queue_stats *stats); | 1054 | struct ieee80211_tx_queue_stats *stats); |
709 | |||
710 | /* Get the current TSF timer value from firmware/hardware. Currently, | ||
711 | * this is only used for IBSS mode debugging and, as such, is not a | ||
712 | * required function. | ||
713 | * Must be atomic. */ | ||
714 | u64 (*get_tsf)(struct ieee80211_hw *hw); | 1055 | u64 (*get_tsf)(struct ieee80211_hw *hw); |
715 | |||
716 | /* Reset the TSF timer and allow firmware/hardware to synchronize with | ||
717 | * other STAs in the IBSS. This is only used in IBSS mode. This | ||
718 | * function is optional if the firmware/hardware takes full care of | ||
719 | * TSF synchronization. */ | ||
720 | void (*reset_tsf)(struct ieee80211_hw *hw); | 1056 | void (*reset_tsf)(struct ieee80211_hw *hw); |
721 | |||
722 | /* Setup beacon data for IBSS beacons. Unlike access point (Master), | ||
723 | * IBSS uses a fixed beacon frame which is configured using this | ||
724 | * function. This handler is required only for IBSS mode. */ | ||
725 | int (*beacon_update)(struct ieee80211_hw *hw, | 1057 | int (*beacon_update)(struct ieee80211_hw *hw, |
726 | struct sk_buff *skb, | 1058 | struct sk_buff *skb, |
727 | struct ieee80211_tx_control *control); | 1059 | struct ieee80211_tx_control *control); |
728 | |||
729 | /* Determine whether the last IBSS beacon was sent by us. This is | ||
730 | * needed only for IBSS mode and the result of this function is used to | ||
731 | * determine whether to reply to Probe Requests. */ | ||
732 | int (*tx_last_beacon)(struct ieee80211_hw *hw); | 1060 | int (*tx_last_beacon)(struct ieee80211_hw *hw); |
733 | }; | 1061 | }; |
734 | 1062 | ||
735 | /* Allocate a new hardware device. This must be called once for each | 1063 | /** |
736 | * hardware device. The returned pointer must be used to refer to this | 1064 | * ieee80211_alloc_hw - Allocate a new hardware device |
737 | * device when calling other functions. 802.11 code allocates a private data | 1065 | * |
738 | * area for the low-level driver. The size of this area is given as | 1066 | * This must be called once for each hardware device. The returned pointer |
739 | * priv_data_len. | 1067 | * must be used to refer to this device when calling other functions. |
1068 | * mac80211 allocates a private data area for the driver pointed to by | ||
1069 | * @priv in &struct ieee80211_hw, the size of this area is given as | ||
1070 | * @priv_data_len. | ||
1071 | * | ||
1072 | * @priv_data_len: length of private data | ||
1073 | * @ops: callbacks for this device | ||
740 | */ | 1074 | */ |
741 | struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | 1075 | struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, |
742 | const struct ieee80211_ops *ops); | 1076 | const struct ieee80211_ops *ops); |
743 | 1077 | ||
744 | /* Register hardware device to the IEEE 802.11 code and kernel. Low-level | 1078 | /** |
745 | * drivers must call this function before using any other IEEE 802.11 | 1079 | * ieee80211_register_hw - Register hardware device |
746 | * function except ieee80211_register_hwmode. */ | 1080 | * |
1081 | * You must call this function before any other functions | ||
1082 | * except ieee80211_register_hwmode. | ||
1083 | * | ||
1084 | * @hw: the device to register as returned by ieee80211_alloc_hw() | ||
1085 | */ | ||
747 | int ieee80211_register_hw(struct ieee80211_hw *hw); | 1086 | int ieee80211_register_hw(struct ieee80211_hw *hw); |
748 | 1087 | ||
749 | /* driver can use this and ieee80211_get_rx_led_name to get the | ||
750 | * name of the registered LEDs after ieee80211_register_hw | ||
751 | * was called. | ||
752 | * This is useful to set the default trigger on the LED class | ||
753 | * device that your driver should export for each LED the device | ||
754 | * has, that way the default behaviour will be as expected but | ||
755 | * the user can still change it/turn off the LED etc. | ||
756 | */ | ||
757 | #ifdef CONFIG_MAC80211_LEDS | 1088 | #ifdef CONFIG_MAC80211_LEDS |
758 | extern char *__ieee80211_get_tx_led_name(struct ieee80211_hw *hw); | 1089 | extern char *__ieee80211_get_tx_led_name(struct ieee80211_hw *hw); |
759 | extern char *__ieee80211_get_rx_led_name(struct ieee80211_hw *hw); | 1090 | extern char *__ieee80211_get_rx_led_name(struct ieee80211_hw *hw); |
1091 | extern char *__ieee80211_get_assoc_led_name(struct ieee80211_hw *hw); | ||
760 | #endif | 1092 | #endif |
1093 | /** | ||
1094 | * ieee80211_get_tx_led_name - get name of TX LED | ||
1095 | * | ||
1096 | * mac80211 creates a transmit LED trigger for each wireless hardware | ||
1097 | * that can be used to drive LEDs if your driver registers a LED device. | ||
1098 | * This function returns the name (or %NULL if not configured for LEDs) | ||
1099 | * of the trigger so you can automatically link the LED device. | ||
1100 | * | ||
1101 | * @hw: the hardware to get the LED trigger name for | ||
1102 | */ | ||
761 | static inline char *ieee80211_get_tx_led_name(struct ieee80211_hw *hw) | 1103 | static inline char *ieee80211_get_tx_led_name(struct ieee80211_hw *hw) |
762 | { | 1104 | { |
763 | #ifdef CONFIG_MAC80211_LEDS | 1105 | #ifdef CONFIG_MAC80211_LEDS |
@@ -767,6 +1109,16 @@ static inline char *ieee80211_get_tx_led_name(struct ieee80211_hw *hw) | |||
767 | #endif | 1109 | #endif |
768 | } | 1110 | } |
769 | 1111 | ||
1112 | /** | ||
1113 | * ieee80211_get_rx_led_name - get name of RX LED | ||
1114 | * | ||
1115 | * mac80211 creates a receive LED trigger for each wireless hardware | ||
1116 | * that can be used to drive LEDs if your driver registers a LED device. | ||
1117 | * This function returns the name (or %NULL if not configured for LEDs) | ||
1118 | * of the trigger so you can automatically link the LED device. | ||
1119 | * | ||
1120 | * @hw: the hardware to get the LED trigger name for | ||
1121 | */ | ||
770 | static inline char *ieee80211_get_rx_led_name(struct ieee80211_hw *hw) | 1122 | static inline char *ieee80211_get_rx_led_name(struct ieee80211_hw *hw) |
771 | { | 1123 | { |
772 | #ifdef CONFIG_MAC80211_LEDS | 1124 | #ifdef CONFIG_MAC80211_LEDS |
@@ -776,33 +1128,94 @@ static inline char *ieee80211_get_rx_led_name(struct ieee80211_hw *hw) | |||
776 | #endif | 1128 | #endif |
777 | } | 1129 | } |
778 | 1130 | ||
1131 | static inline char *ieee80211_get_assoc_led_name(struct ieee80211_hw *hw) | ||
1132 | { | ||
1133 | #ifdef CONFIG_MAC80211_LEDS | ||
1134 | return __ieee80211_get_assoc_led_name(hw); | ||
1135 | #else | ||
1136 | return NULL; | ||
1137 | #endif | ||
1138 | } | ||
1139 | |||
1140 | |||
779 | /* Register a new hardware PHYMODE capability to the stack. */ | 1141 | /* Register a new hardware PHYMODE capability to the stack. */ |
780 | int ieee80211_register_hwmode(struct ieee80211_hw *hw, | 1142 | int ieee80211_register_hwmode(struct ieee80211_hw *hw, |
781 | struct ieee80211_hw_mode *mode); | 1143 | struct ieee80211_hw_mode *mode); |
782 | 1144 | ||
783 | /* Unregister a hardware device. This function instructs 802.11 code to free | 1145 | /** |
784 | * allocated resources and unregister netdevices from the kernel. */ | 1146 | * ieee80211_unregister_hw - Unregister a hardware device |
1147 | * | ||
1148 | * This function instructs mac80211 to free allocated resources | ||
1149 | * and unregister netdevices from the networking subsystem. | ||
1150 | * | ||
1151 | * @hw: the hardware to unregister | ||
1152 | */ | ||
785 | void ieee80211_unregister_hw(struct ieee80211_hw *hw); | 1153 | void ieee80211_unregister_hw(struct ieee80211_hw *hw); |
786 | 1154 | ||
787 | /* Free everything that was allocated including private data of a driver. */ | 1155 | /** |
1156 | * ieee80211_free_hw - free hardware descriptor | ||
1157 | * | ||
1158 | * This function frees everything that was allocated, including the | ||
1159 | * private data for the driver. You must call ieee80211_unregister_hw() | ||
1160 | * before calling this function | ||
1161 | * | ||
1162 | * @hw: the hardware to free | ||
1163 | */ | ||
788 | void ieee80211_free_hw(struct ieee80211_hw *hw); | 1164 | void ieee80211_free_hw(struct ieee80211_hw *hw); |
789 | 1165 | ||
790 | /* Receive frame callback function. The low-level driver uses this function to | 1166 | /* trick to avoid symbol clashes with the ieee80211 subsystem */ |
791 | * send received frames to the IEEE 802.11 code. Receive buffer (skb) must | ||
792 | * start with IEEE 802.11 header. */ | ||
793 | void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, | 1167 | void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, |
794 | struct ieee80211_rx_status *status); | 1168 | struct ieee80211_rx_status *status); |
1169 | |||
1170 | /** | ||
1171 | * ieee80211_rx - receive frame | ||
1172 | * | ||
1173 | * Use this function to hand received frames to mac80211. The receive | ||
1174 | * buffer in @skb must start with an IEEE 802.11 header or a radiotap | ||
1175 | * header if %RX_FLAG_RADIOTAP is set in the @status flags. | ||
1176 | * | ||
1177 | * This function may not be called in IRQ context. | ||
1178 | * | ||
1179 | * @hw: the hardware this frame came in on | ||
1180 | * @skb: the buffer to receive, owned by mac80211 after this call | ||
1181 | * @status: status of this frame; the status pointer need not be valid | ||
1182 | * after this function returns | ||
1183 | */ | ||
1184 | static inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, | ||
1185 | struct ieee80211_rx_status *status) | ||
1186 | { | ||
1187 | __ieee80211_rx(hw, skb, status); | ||
1188 | } | ||
1189 | |||
1190 | /** | ||
1191 | * ieee80211_rx_irqsafe - receive frame | ||
1192 | * | ||
1193 | * Like ieee80211_rx() but can be called in IRQ context | ||
1194 | * (internally defers to a workqueue.) | ||
1195 | * | ||
1196 | * @hw: the hardware this frame came in on | ||
1197 | * @skb: the buffer to receive, owned by mac80211 after this call | ||
1198 | * @status: status of this frame; the status pointer need not be valid | ||
1199 | * after this function returns and is not freed by mac80211, | ||
1200 | * it is recommended that it points to a stack area | ||
1201 | */ | ||
795 | void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, | 1202 | void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, |
796 | struct sk_buff *skb, | 1203 | struct sk_buff *skb, |
797 | struct ieee80211_rx_status *status); | 1204 | struct ieee80211_rx_status *status); |
798 | 1205 | ||
799 | /* Transmit status callback function. The low-level driver must call this | 1206 | /** |
800 | * function to report transmit status for all the TX frames that had | 1207 | * ieee80211_tx_status - transmit status callback |
801 | * req_tx_status set in the transmit control fields. In addition, this should | 1208 | * |
802 | * be called at least for all unicast frames to provide information for TX rate | 1209 | * Call this function for all transmitted frames after they have been |
803 | * control algorithm. In order to maintain all statistics, this function is | 1210 | * transmitted. It is permissible to not call this function for |
804 | * recommended to be called after each frame, including multicast/broadcast, is | 1211 | * multicast frames but this can affect statistics. |
805 | * sent. */ | 1212 | * |
1213 | * @hw: the hardware the frame was transmitted by | ||
1214 | * @skb: the frame that was transmitted, owned by mac80211 after this call | ||
1215 | * @status: status information for this frame; the status pointer need not | ||
1216 | * be valid after this function returns and is not freed by mac80211, | ||
1217 | * it is recommended that it points to a stack area | ||
1218 | */ | ||
806 | void ieee80211_tx_status(struct ieee80211_hw *hw, | 1219 | void ieee80211_tx_status(struct ieee80211_hw *hw, |
807 | struct sk_buff *skb, | 1220 | struct sk_buff *skb, |
808 | struct ieee80211_tx_status *status); | 1221 | struct ieee80211_tx_status *status); |
@@ -830,6 +1243,7 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
830 | /** | 1243 | /** |
831 | * ieee80211_rts_get - RTS frame generation function | 1244 | * ieee80211_rts_get - RTS frame generation function |
832 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 1245 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
1246 | * @if_id: interface ID from &struct ieee80211_if_init_conf. | ||
833 | * @frame: pointer to the frame that is going to be protected by the RTS. | 1247 | * @frame: pointer to the frame that is going to be protected by the RTS. |
834 | * @frame_len: the frame length (in octets). | 1248 | * @frame_len: the frame length (in octets). |
835 | * @frame_txctl: &struct ieee80211_tx_control of the frame. | 1249 | * @frame_txctl: &struct ieee80211_tx_control of the frame. |
@@ -840,7 +1254,7 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, | |||
840 | * the next RTS frame from the 802.11 code. The low-level is responsible | 1254 | * the next RTS frame from the 802.11 code. The low-level is responsible |
841 | * for calling this function before and RTS frame is needed. | 1255 | * for calling this function before and RTS frame is needed. |
842 | */ | 1256 | */ |
843 | void ieee80211_rts_get(struct ieee80211_hw *hw, | 1257 | void ieee80211_rts_get(struct ieee80211_hw *hw, int if_id, |
844 | const void *frame, size_t frame_len, | 1258 | const void *frame, size_t frame_len, |
845 | const struct ieee80211_tx_control *frame_txctl, | 1259 | const struct ieee80211_tx_control *frame_txctl, |
846 | struct ieee80211_rts *rts); | 1260 | struct ieee80211_rts *rts); |
@@ -848,6 +1262,7 @@ void ieee80211_rts_get(struct ieee80211_hw *hw, | |||
848 | /** | 1262 | /** |
849 | * ieee80211_rts_duration - Get the duration field for an RTS frame | 1263 | * ieee80211_rts_duration - Get the duration field for an RTS frame |
850 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 1264 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
1265 | * @if_id: interface ID from &struct ieee80211_if_init_conf. | ||
851 | * @frame_len: the length of the frame that is going to be protected by the RTS. | 1266 | * @frame_len: the length of the frame that is going to be protected by the RTS. |
852 | * @frame_txctl: &struct ieee80211_tx_control of the frame. | 1267 | * @frame_txctl: &struct ieee80211_tx_control of the frame. |
853 | * | 1268 | * |
@@ -855,13 +1270,14 @@ void ieee80211_rts_get(struct ieee80211_hw *hw, | |||
855 | * the duration field, the low-level driver uses this function to receive | 1270 | * the duration field, the low-level driver uses this function to receive |
856 | * the duration field value in little-endian byteorder. | 1271 | * the duration field value in little-endian byteorder. |
857 | */ | 1272 | */ |
858 | __le16 ieee80211_rts_duration(struct ieee80211_hw *hw, | 1273 | __le16 ieee80211_rts_duration(struct ieee80211_hw *hw, int if_id, |
859 | size_t frame_len, | 1274 | size_t frame_len, |
860 | const struct ieee80211_tx_control *frame_txctl); | 1275 | const struct ieee80211_tx_control *frame_txctl); |
861 | 1276 | ||
862 | /** | 1277 | /** |
863 | * ieee80211_ctstoself_get - CTS-to-self frame generation function | 1278 | * ieee80211_ctstoself_get - CTS-to-self frame generation function |
864 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 1279 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
1280 | * @if_id: interface ID from &struct ieee80211_if_init_conf. | ||
865 | * @frame: pointer to the frame that is going to be protected by the CTS-to-self. | 1281 | * @frame: pointer to the frame that is going to be protected by the CTS-to-self. |
866 | * @frame_len: the frame length (in octets). | 1282 | * @frame_len: the frame length (in octets). |
867 | * @frame_txctl: &struct ieee80211_tx_control of the frame. | 1283 | * @frame_txctl: &struct ieee80211_tx_control of the frame. |
@@ -872,7 +1288,7 @@ __le16 ieee80211_rts_duration(struct ieee80211_hw *hw, | |||
872 | * the next CTS-to-self frame from the 802.11 code. The low-level is responsible | 1288 | * the next CTS-to-self frame from the 802.11 code. The low-level is responsible |
873 | * for calling this function before and CTS-to-self frame is needed. | 1289 | * for calling this function before and CTS-to-self frame is needed. |
874 | */ | 1290 | */ |
875 | void ieee80211_ctstoself_get(struct ieee80211_hw *hw, | 1291 | void ieee80211_ctstoself_get(struct ieee80211_hw *hw, int if_id, |
876 | const void *frame, size_t frame_len, | 1292 | const void *frame, size_t frame_len, |
877 | const struct ieee80211_tx_control *frame_txctl, | 1293 | const struct ieee80211_tx_control *frame_txctl, |
878 | struct ieee80211_cts *cts); | 1294 | struct ieee80211_cts *cts); |
@@ -880,6 +1296,7 @@ void ieee80211_ctstoself_get(struct ieee80211_hw *hw, | |||
880 | /** | 1296 | /** |
881 | * ieee80211_ctstoself_duration - Get the duration field for a CTS-to-self frame | 1297 | * ieee80211_ctstoself_duration - Get the duration field for a CTS-to-self frame |
882 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 1298 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
1299 | * @if_id: interface ID from &struct ieee80211_if_init_conf. | ||
883 | * @frame_len: the length of the frame that is going to be protected by the CTS-to-self. | 1300 | * @frame_len: the length of the frame that is going to be protected by the CTS-to-self. |
884 | * @frame_txctl: &struct ieee80211_tx_control of the frame. | 1301 | * @frame_txctl: &struct ieee80211_tx_control of the frame. |
885 | * | 1302 | * |
@@ -887,20 +1304,21 @@ void ieee80211_ctstoself_get(struct ieee80211_hw *hw, | |||
887 | * the duration field, the low-level driver uses this function to receive | 1304 | * the duration field, the low-level driver uses this function to receive |
888 | * the duration field value in little-endian byteorder. | 1305 | * the duration field value in little-endian byteorder. |
889 | */ | 1306 | */ |
890 | __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw, | 1307 | __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw, int if_id, |
891 | size_t frame_len, | 1308 | size_t frame_len, |
892 | const struct ieee80211_tx_control *frame_txctl); | 1309 | const struct ieee80211_tx_control *frame_txctl); |
893 | 1310 | ||
894 | /** | 1311 | /** |
895 | * ieee80211_generic_frame_duration - Calculate the duration field for a frame | 1312 | * ieee80211_generic_frame_duration - Calculate the duration field for a frame |
896 | * @hw: pointer obtained from ieee80211_alloc_hw(). | 1313 | * @hw: pointer obtained from ieee80211_alloc_hw(). |
1314 | * @if_id: interface ID from &struct ieee80211_if_init_conf. | ||
897 | * @frame_len: the length of the frame. | 1315 | * @frame_len: the length of the frame. |
898 | * @rate: the rate (in 100kbps) at which the frame is going to be transmitted. | 1316 | * @rate: the rate (in 100kbps) at which the frame is going to be transmitted. |
899 | * | 1317 | * |
900 | * Calculate the duration field of some generic frame, given its | 1318 | * Calculate the duration field of some generic frame, given its |
901 | * length and transmission rate (in 100kbps). | 1319 | * length and transmission rate (in 100kbps). |
902 | */ | 1320 | */ |
903 | __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw, | 1321 | __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw, int if_id, |
904 | size_t frame_len, | 1322 | size_t frame_len, |
905 | int rate); | 1323 | int rate); |
906 | 1324 | ||
@@ -929,14 +1347,26 @@ struct sk_buff * | |||
929 | ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id, | 1347 | ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id, |
930 | struct ieee80211_tx_control *control); | 1348 | struct ieee80211_tx_control *control); |
931 | 1349 | ||
932 | /* Given an sk_buff with a raw 802.11 header at the data pointer this function | 1350 | /** |
1351 | * ieee80211_get_hdrlen_from_skb - get header length from data | ||
1352 | * | ||
1353 | * Given an skb with a raw 802.11 header at the data pointer this function | ||
933 | * returns the 802.11 header length in bytes (not including encryption | 1354 | * returns the 802.11 header length in bytes (not including encryption |
934 | * headers). If the data in the sk_buff is too short to contain a valid 802.11 | 1355 | * headers). If the data in the sk_buff is too short to contain a valid 802.11 |
935 | * header the function returns 0. | 1356 | * header the function returns 0. |
1357 | * | ||
1358 | * @skb: the frame | ||
936 | */ | 1359 | */ |
937 | int ieee80211_get_hdrlen_from_skb(const struct sk_buff *skb); | 1360 | int ieee80211_get_hdrlen_from_skb(const struct sk_buff *skb); |
938 | 1361 | ||
939 | /* Like ieee80211_get_hdrlen_from_skb() but takes a FC in CPU order. */ | 1362 | /** |
1363 | * ieee80211_get_hdrlen - get header length from frame control | ||
1364 | * | ||
1365 | * This function returns the 802.11 header length in bytes (not including | ||
1366 | * encryption headers.) | ||
1367 | * | ||
1368 | * @fc: the frame control field (in CPU endianness) | ||
1369 | */ | ||
940 | int ieee80211_get_hdrlen(u16 fc); | 1370 | int ieee80211_get_hdrlen(u16 fc); |
941 | 1371 | ||
942 | /** | 1372 | /** |
@@ -982,66 +1412,14 @@ void ieee80211_stop_queues(struct ieee80211_hw *hw); | |||
982 | void ieee80211_wake_queues(struct ieee80211_hw *hw); | 1412 | void ieee80211_wake_queues(struct ieee80211_hw *hw); |
983 | 1413 | ||
984 | /** | 1414 | /** |
985 | * ieee80211_get_mc_list_item - iteration over items in multicast list | 1415 | * ieee80211_scan_completed - completed hardware scan |
986 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1416 | * |
987 | * @prev: value returned by previous call to ieee80211_get_mc_list_item() or | 1417 | * When hardware scan offload is used (i.e. the hw_scan() callback is |
988 | * NULL to start a new iteration. | 1418 | * assigned) this function needs to be called by the driver to notify |
989 | * @ptr: pointer to buffer of void * type for internal usage of | 1419 | * mac80211 that the scan finished. |
990 | * ieee80211_get_mc_list_item(). | 1420 | * |
991 | * | 1421 | * @hw: the hardware that finished the scan |
992 | * Iterates over items in multicast list of given device. To get the first | ||
993 | * item, pass NULL in @prev and in *@ptr. In subsequent calls, pass the | ||
994 | * value returned by previous call in @prev. Don't alter *@ptr during | ||
995 | * iteration. When there are no more items, NULL is returned. | ||
996 | */ | 1422 | */ |
997 | struct dev_mc_list * | ||
998 | ieee80211_get_mc_list_item(struct ieee80211_hw *hw, | ||
999 | struct dev_mc_list *prev, | ||
1000 | void **ptr); | ||
1001 | |||
1002 | /* called by driver to notify scan status completed */ | ||
1003 | void ieee80211_scan_completed(struct ieee80211_hw *hw); | 1423 | void ieee80211_scan_completed(struct ieee80211_hw *hw); |
1004 | 1424 | ||
1005 | /* Function to indicate Radar Detection. The low level driver must call this | ||
1006 | * function to indicate the presence of radar in the current channel. | ||
1007 | * Additionally the radar type also could be sent */ | ||
1008 | int ieee80211_radar_status(struct ieee80211_hw *hw, int channel, | ||
1009 | int radar, int radar_type); | ||
1010 | |||
1011 | /* return a pointer to the source address (SA) */ | ||
1012 | static inline u8 *ieee80211_get_SA(struct ieee80211_hdr *hdr) | ||
1013 | { | ||
1014 | u8 *raw = (u8 *) hdr; | ||
1015 | u8 tofrom = (*(raw+1)) & 3; /* get the TODS and FROMDS bits */ | ||
1016 | |||
1017 | switch (tofrom) { | ||
1018 | case 2: | ||
1019 | return hdr->addr3; | ||
1020 | case 3: | ||
1021 | return hdr->addr4; | ||
1022 | } | ||
1023 | return hdr->addr2; | ||
1024 | } | ||
1025 | |||
1026 | /* return a pointer to the destination address (DA) */ | ||
1027 | static inline u8 *ieee80211_get_DA(struct ieee80211_hdr *hdr) | ||
1028 | { | ||
1029 | u8 *raw = (u8 *) hdr; | ||
1030 | u8 to_ds = (*(raw+1)) & 1; /* get the TODS bit */ | ||
1031 | |||
1032 | if (to_ds) | ||
1033 | return hdr->addr3; | ||
1034 | return hdr->addr1; | ||
1035 | } | ||
1036 | |||
1037 | static inline int ieee80211_get_morefrag(struct ieee80211_hdr *hdr) | ||
1038 | { | ||
1039 | return (le16_to_cpu(hdr->frame_control) & | ||
1040 | IEEE80211_FCTL_MOREFRAGS) != 0; | ||
1041 | } | ||
1042 | |||
1043 | #define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" | ||
1044 | #define MAC_ARG(x) ((u8*)(x))[0], ((u8*)(x))[1], ((u8*)(x))[2], \ | ||
1045 | ((u8*)(x))[3], ((u8*)(x))[4], ((u8*)(x))[5] | ||
1046 | |||
1047 | #endif /* MAC80211_H */ | 1425 | #endif /* MAC80211_H */ |
diff --git a/include/net/ndisc.h b/include/net/ndisc.h index 475b10c575b3..6684f7efbeeb 100644 --- a/include/net/ndisc.h +++ b/include/net/ndisc.h | |||
@@ -24,6 +24,7 @@ enum { | |||
24 | ND_OPT_MTU = 5, /* RFC2461 */ | 24 | ND_OPT_MTU = 5, /* RFC2461 */ |
25 | __ND_OPT_ARRAY_MAX, | 25 | __ND_OPT_ARRAY_MAX, |
26 | ND_OPT_ROUTE_INFO = 24, /* RFC4191 */ | 26 | ND_OPT_ROUTE_INFO = 24, /* RFC4191 */ |
27 | ND_OPT_RDNSS = 25, /* RFC5006 */ | ||
27 | __ND_OPT_MAX | 28 | __ND_OPT_MAX |
28 | }; | 29 | }; |
29 | 30 | ||
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h new file mode 100644 index 000000000000..93aa87d32804 --- /dev/null +++ b/include/net/net_namespace.h | |||
@@ -0,0 +1,123 @@ | |||
1 | /* | ||
2 | * Operations on the network namespace | ||
3 | */ | ||
4 | #ifndef __NET_NET_NAMESPACE_H | ||
5 | #define __NET_NET_NAMESPACE_H | ||
6 | |||
7 | #include <asm/atomic.h> | ||
8 | #include <linux/workqueue.h> | ||
9 | #include <linux/list.h> | ||
10 | |||
11 | struct proc_dir_entry; | ||
12 | struct net_device; | ||
13 | struct net { | ||
14 | atomic_t count; /* To decided when the network | ||
15 | * namespace should be freed. | ||
16 | */ | ||
17 | atomic_t use_count; /* To track references we | ||
18 | * destroy on demand | ||
19 | */ | ||
20 | struct list_head list; /* list of network namespaces */ | ||
21 | struct work_struct work; /* work struct for freeing */ | ||
22 | |||
23 | struct proc_dir_entry *proc_net; | ||
24 | struct proc_dir_entry *proc_net_stat; | ||
25 | struct proc_dir_entry *proc_net_root; | ||
26 | |||
27 | struct net_device *loopback_dev; /* The loopback */ | ||
28 | |||
29 | struct list_head dev_base_head; | ||
30 | struct hlist_head *dev_name_head; | ||
31 | struct hlist_head *dev_index_head; | ||
32 | }; | ||
33 | |||
34 | #ifdef CONFIG_NET | ||
35 | /* Init's network namespace */ | ||
36 | extern struct net init_net; | ||
37 | #define INIT_NET_NS(net_ns) .net_ns = &init_net, | ||
38 | #else | ||
39 | #define INIT_NET_NS(net_ns) | ||
40 | #endif | ||
41 | |||
42 | extern struct list_head net_namespace_list; | ||
43 | |||
44 | #ifdef CONFIG_NET | ||
45 | extern struct net *copy_net_ns(unsigned long flags, struct net *net_ns); | ||
46 | #else | ||
47 | static inline struct net *copy_net_ns(unsigned long flags, struct net *net_ns) | ||
48 | { | ||
49 | /* There is nothing to copy so this is a noop */ | ||
50 | return net_ns; | ||
51 | } | ||
52 | #endif | ||
53 | |||
54 | extern void __put_net(struct net *net); | ||
55 | |||
56 | static inline struct net *get_net(struct net *net) | ||
57 | { | ||
58 | #ifdef CONFIG_NET | ||
59 | atomic_inc(&net->count); | ||
60 | #endif | ||
61 | return net; | ||
62 | } | ||
63 | |||
64 | static inline struct net *maybe_get_net(struct net *net) | ||
65 | { | ||
66 | /* Used when we know struct net exists but we | ||
67 | * aren't guaranteed a previous reference count | ||
68 | * exists. If the reference count is zero this | ||
69 | * function fails and returns NULL. | ||
70 | */ | ||
71 | if (!atomic_inc_not_zero(&net->count)) | ||
72 | net = NULL; | ||
73 | return net; | ||
74 | } | ||
75 | |||
76 | static inline void put_net(struct net *net) | ||
77 | { | ||
78 | #ifdef CONFIG_NET | ||
79 | if (atomic_dec_and_test(&net->count)) | ||
80 | __put_net(net); | ||
81 | #endif | ||
82 | } | ||
83 | |||
84 | static inline struct net *hold_net(struct net *net) | ||
85 | { | ||
86 | #ifdef CONFIG_NET | ||
87 | atomic_inc(&net->use_count); | ||
88 | #endif | ||
89 | return net; | ||
90 | } | ||
91 | |||
92 | static inline void release_net(struct net *net) | ||
93 | { | ||
94 | #ifdef CONFIG_NET | ||
95 | atomic_dec(&net->use_count); | ||
96 | #endif | ||
97 | } | ||
98 | |||
99 | #define for_each_net(VAR) \ | ||
100 | list_for_each_entry(VAR, &net_namespace_list, list) | ||
101 | |||
102 | #ifdef CONFIG_NET_NS | ||
103 | #define __net_init | ||
104 | #define __net_exit | ||
105 | #define __net_initdata | ||
106 | #else | ||
107 | #define __net_init __init | ||
108 | #define __net_exit __exit_refok | ||
109 | #define __net_initdata __initdata | ||
110 | #endif | ||
111 | |||
112 | struct pernet_operations { | ||
113 | struct list_head list; | ||
114 | int (*init)(struct net *net); | ||
115 | void (*exit)(struct net *net); | ||
116 | }; | ||
117 | |||
118 | extern int register_pernet_subsys(struct pernet_operations *); | ||
119 | extern void unregister_pernet_subsys(struct pernet_operations *); | ||
120 | extern int register_pernet_device(struct pernet_operations *); | ||
121 | extern void unregister_pernet_device(struct pernet_operations *); | ||
122 | |||
123 | #endif /* __NET_NET_NAMESPACE_H */ | ||
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index 810020ec345d..90fb66d99d0c 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h | |||
@@ -116,9 +116,6 @@ struct nf_conn | |||
116 | struct ip_conntrack_counter counters[IP_CT_DIR_MAX]; | 116 | struct ip_conntrack_counter counters[IP_CT_DIR_MAX]; |
117 | #endif | 117 | #endif |
118 | 118 | ||
119 | /* Unique ID that identifies this conntrack*/ | ||
120 | unsigned int id; | ||
121 | |||
122 | #if defined(CONFIG_NF_CONNTRACK_MARK) | 119 | #if defined(CONFIG_NF_CONNTRACK_MARK) |
123 | u_int32_t mark; | 120 | u_int32_t mark; |
124 | #endif | 121 | #endif |
diff --git a/include/net/netfilter/nf_conntrack_expect.h b/include/net/netfilter/nf_conntrack_expect.h index cae1a0dce365..b47c04f12dbe 100644 --- a/include/net/netfilter/nf_conntrack_expect.h +++ b/include/net/netfilter/nf_conntrack_expect.h | |||
@@ -38,9 +38,6 @@ struct nf_conntrack_expect | |||
38 | /* Usage count. */ | 38 | /* Usage count. */ |
39 | atomic_t use; | 39 | atomic_t use; |
40 | 40 | ||
41 | /* Unique ID */ | ||
42 | unsigned int id; | ||
43 | |||
44 | /* Flags */ | 41 | /* Flags */ |
45 | unsigned int flags; | 42 | unsigned int flags; |
46 | 43 | ||
diff --git a/include/net/netfilter/nf_conntrack_helper.h b/include/net/netfilter/nf_conntrack_helper.h index d04f99964d94..0dcc4c828ce9 100644 --- a/include/net/netfilter/nf_conntrack_helper.h +++ b/include/net/netfilter/nf_conntrack_helper.h | |||
@@ -36,7 +36,7 @@ struct nf_conntrack_helper | |||
36 | 36 | ||
37 | void (*destroy)(struct nf_conn *ct); | 37 | void (*destroy)(struct nf_conn *ct); |
38 | 38 | ||
39 | int (*to_nfattr)(struct sk_buff *skb, const struct nf_conn *ct); | 39 | int (*to_nlattr)(struct sk_buff *skb, const struct nf_conn *ct); |
40 | }; | 40 | }; |
41 | 41 | ||
42 | extern struct nf_conntrack_helper * | 42 | extern struct nf_conntrack_helper * |
diff --git a/include/net/netfilter/nf_conntrack_l3proto.h b/include/net/netfilter/nf_conntrack_l3proto.h index 3c58a2c4df28..15888fc7b72d 100644 --- a/include/net/netfilter/nf_conntrack_l3proto.h +++ b/include/net/netfilter/nf_conntrack_l3proto.h | |||
@@ -11,11 +11,11 @@ | |||
11 | 11 | ||
12 | #ifndef _NF_CONNTRACK_L3PROTO_H | 12 | #ifndef _NF_CONNTRACK_L3PROTO_H |
13 | #define _NF_CONNTRACK_L3PROTO_H | 13 | #define _NF_CONNTRACK_L3PROTO_H |
14 | #include <linux/netlink.h> | ||
15 | #include <net/netlink.h> | ||
14 | #include <linux/seq_file.h> | 16 | #include <linux/seq_file.h> |
15 | #include <net/netfilter/nf_conntrack.h> | 17 | #include <net/netfilter/nf_conntrack.h> |
16 | 18 | ||
17 | struct nfattr; | ||
18 | |||
19 | struct nf_conntrack_l3proto | 19 | struct nf_conntrack_l3proto |
20 | { | 20 | { |
21 | /* L3 Protocol Family number. ex) PF_INET */ | 21 | /* L3 Protocol Family number. ex) PF_INET */ |
@@ -64,11 +64,12 @@ struct nf_conntrack_l3proto | |||
64 | int (*get_l4proto)(const struct sk_buff *skb, unsigned int nhoff, | 64 | int (*get_l4proto)(const struct sk_buff *skb, unsigned int nhoff, |
65 | unsigned int *dataoff, u_int8_t *protonum); | 65 | unsigned int *dataoff, u_int8_t *protonum); |
66 | 66 | ||
67 | int (*tuple_to_nfattr)(struct sk_buff *skb, | 67 | int (*tuple_to_nlattr)(struct sk_buff *skb, |
68 | const struct nf_conntrack_tuple *t); | 68 | const struct nf_conntrack_tuple *t); |
69 | 69 | ||
70 | int (*nfattr_to_tuple)(struct nfattr *tb[], | 70 | int (*nlattr_to_tuple)(struct nlattr *tb[], |
71 | struct nf_conntrack_tuple *t); | 71 | struct nf_conntrack_tuple *t); |
72 | const struct nla_policy *nla_policy; | ||
72 | 73 | ||
73 | #ifdef CONFIG_SYSCTL | 74 | #ifdef CONFIG_SYSCTL |
74 | struct ctl_table_header *ctl_table_header; | 75 | struct ctl_table_header *ctl_table_header; |
diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h index f46cb930414c..fb50c217ba0a 100644 --- a/include/net/netfilter/nf_conntrack_l4proto.h +++ b/include/net/netfilter/nf_conntrack_l4proto.h | |||
@@ -9,10 +9,11 @@ | |||
9 | 9 | ||
10 | #ifndef _NF_CONNTRACK_L4PROTO_H | 10 | #ifndef _NF_CONNTRACK_L4PROTO_H |
11 | #define _NF_CONNTRACK_L4PROTO_H | 11 | #define _NF_CONNTRACK_L4PROTO_H |
12 | #include <linux/netlink.h> | ||
13 | #include <net/netlink.h> | ||
12 | #include <net/netfilter/nf_conntrack.h> | 14 | #include <net/netfilter/nf_conntrack.h> |
13 | 15 | ||
14 | struct seq_file; | 16 | struct seq_file; |
15 | struct nfattr; | ||
16 | 17 | ||
17 | struct nf_conntrack_l4proto | 18 | struct nf_conntrack_l4proto |
18 | { | 19 | { |
@@ -65,16 +66,17 @@ struct nf_conntrack_l4proto | |||
65 | int pf, unsigned int hooknum); | 66 | int pf, unsigned int hooknum); |
66 | 67 | ||
67 | /* convert protoinfo to nfnetink attributes */ | 68 | /* convert protoinfo to nfnetink attributes */ |
68 | int (*to_nfattr)(struct sk_buff *skb, struct nfattr *nfa, | 69 | int (*to_nlattr)(struct sk_buff *skb, struct nlattr *nla, |
69 | const struct nf_conn *ct); | 70 | const struct nf_conn *ct); |
70 | 71 | ||
71 | /* convert nfnetlink attributes to protoinfo */ | 72 | /* convert nfnetlink attributes to protoinfo */ |
72 | int (*from_nfattr)(struct nfattr *tb[], struct nf_conn *ct); | 73 | int (*from_nlattr)(struct nlattr *tb[], struct nf_conn *ct); |
73 | 74 | ||
74 | int (*tuple_to_nfattr)(struct sk_buff *skb, | 75 | int (*tuple_to_nlattr)(struct sk_buff *skb, |
75 | const struct nf_conntrack_tuple *t); | 76 | const struct nf_conntrack_tuple *t); |
76 | int (*nfattr_to_tuple)(struct nfattr *tb[], | 77 | int (*nlattr_to_tuple)(struct nlattr *tb[], |
77 | struct nf_conntrack_tuple *t); | 78 | struct nf_conntrack_tuple *t); |
79 | const struct nla_policy *nla_policy; | ||
78 | 80 | ||
79 | #ifdef CONFIG_SYSCTL | 81 | #ifdef CONFIG_SYSCTL |
80 | struct ctl_table_header **ctl_table_header; | 82 | struct ctl_table_header **ctl_table_header; |
@@ -111,10 +113,11 @@ extern int nf_conntrack_l4proto_register(struct nf_conntrack_l4proto *proto); | |||
111 | extern void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *proto); | 113 | extern void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *proto); |
112 | 114 | ||
113 | /* Generic netlink helpers */ | 115 | /* Generic netlink helpers */ |
114 | extern int nf_ct_port_tuple_to_nfattr(struct sk_buff *skb, | 116 | extern int nf_ct_port_tuple_to_nlattr(struct sk_buff *skb, |
115 | const struct nf_conntrack_tuple *tuple); | 117 | const struct nf_conntrack_tuple *tuple); |
116 | extern int nf_ct_port_nfattr_to_tuple(struct nfattr *tb[], | 118 | extern int nf_ct_port_nlattr_to_tuple(struct nlattr *tb[], |
117 | struct nf_conntrack_tuple *t); | 119 | struct nf_conntrack_tuple *t); |
120 | extern const struct nla_policy nf_ct_port_nla_policy[]; | ||
118 | 121 | ||
119 | /* Log invalid packets */ | 122 | /* Log invalid packets */ |
120 | extern unsigned int nf_ct_log_invalid; | 123 | extern unsigned int nf_ct_log_invalid; |
diff --git a/include/net/netfilter/nf_nat_protocol.h b/include/net/netfilter/nf_nat_protocol.h index a9ec5ef61468..14c7b2d7263c 100644 --- a/include/net/netfilter/nf_nat_protocol.h +++ b/include/net/netfilter/nf_nat_protocol.h | |||
@@ -38,10 +38,10 @@ struct nf_nat_protocol | |||
38 | enum nf_nat_manip_type maniptype, | 38 | enum nf_nat_manip_type maniptype, |
39 | const struct nf_conn *ct); | 39 | const struct nf_conn *ct); |
40 | 40 | ||
41 | int (*range_to_nfattr)(struct sk_buff *skb, | 41 | int (*range_to_nlattr)(struct sk_buff *skb, |
42 | const struct nf_nat_range *range); | 42 | const struct nf_nat_range *range); |
43 | 43 | ||
44 | int (*nfattr_to_range)(struct nfattr *tb[], | 44 | int (*nlattr_to_range)(struct nlattr *tb[], |
45 | struct nf_nat_range *range); | 45 | struct nf_nat_range *range); |
46 | }; | 46 | }; |
47 | 47 | ||
@@ -62,9 +62,9 @@ extern int init_protocols(void) __init; | |||
62 | extern void cleanup_protocols(void); | 62 | extern void cleanup_protocols(void); |
63 | extern struct nf_nat_protocol *find_nat_proto(u_int16_t protonum); | 63 | extern struct nf_nat_protocol *find_nat_proto(u_int16_t protonum); |
64 | 64 | ||
65 | extern int nf_nat_port_range_to_nfattr(struct sk_buff *skb, | 65 | extern int nf_nat_port_range_to_nlattr(struct sk_buff *skb, |
66 | const struct nf_nat_range *range); | 66 | const struct nf_nat_range *range); |
67 | extern int nf_nat_port_nfattr_to_range(struct nfattr *tb[], | 67 | extern int nf_nat_port_nlattr_to_range(struct nlattr *tb[], |
68 | struct nf_nat_range *range); | 68 | struct nf_nat_range *range); |
69 | 69 | ||
70 | #endif /*_NF_NAT_PROTO_H*/ | 70 | #endif /*_NF_NAT_PROTO_H*/ |
diff --git a/include/net/netlink.h b/include/net/netlink.h index d7b824be5422..9298218c07f9 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h | |||
@@ -84,7 +84,7 @@ | |||
84 | * nla_next(nla)-----------------------------' | 84 | * nla_next(nla)-----------------------------' |
85 | * | 85 | * |
86 | * Data Structures: | 86 | * Data Structures: |
87 | * struct nlattr netlink attribtue header | 87 | * struct nlattr netlink attribute header |
88 | * | 88 | * |
89 | * Attribute Construction: | 89 | * Attribute Construction: |
90 | * nla_reserve(skb, type, len) reserve room for an attribute | 90 | * nla_reserve(skb, type, len) reserve room for an attribute |
@@ -220,9 +220,9 @@ struct nl_info { | |||
220 | u32 pid; | 220 | u32 pid; |
221 | }; | 221 | }; |
222 | 222 | ||
223 | extern void netlink_run_queue(struct sock *sk, unsigned int *qlen, | 223 | extern int netlink_rcv_skb(struct sk_buff *skb, |
224 | int (*cb)(struct sk_buff *, | 224 | int (*cb)(struct sk_buff *, |
225 | struct nlmsghdr *)); | 225 | struct nlmsghdr *)); |
226 | extern int nlmsg_notify(struct sock *sk, struct sk_buff *skb, | 226 | extern int nlmsg_notify(struct sock *sk, struct sk_buff *skb, |
227 | u32 pid, unsigned int group, int report, | 227 | u32 pid, unsigned int group, int report, |
228 | gfp_t flags); | 228 | gfp_t flags); |
@@ -667,6 +667,15 @@ static inline int nla_padlen(int payload) | |||
667 | } | 667 | } |
668 | 668 | ||
669 | /** | 669 | /** |
670 | * nla_type - attribute type | ||
671 | * @nla: netlink attribute | ||
672 | */ | ||
673 | static inline int nla_type(const struct nlattr *nla) | ||
674 | { | ||
675 | return nla->nla_type & NLA_TYPE_MASK; | ||
676 | } | ||
677 | |||
678 | /** | ||
670 | * nla_data - head of payload | 679 | * nla_data - head of payload |
671 | * @nla: netlink attribute | 680 | * @nla: netlink attribute |
672 | */ | 681 | */ |
@@ -697,7 +706,7 @@ static inline int nla_ok(const struct nlattr *nla, int remaining) | |||
697 | } | 706 | } |
698 | 707 | ||
699 | /** | 708 | /** |
700 | * nla_next - next netlink attribte in attribute stream | 709 | * nla_next - next netlink attribute in attribute stream |
701 | * @nla: netlink attribute | 710 | * @nla: netlink attribute |
702 | * @remaining: number of bytes remaining in attribute stream | 711 | * @remaining: number of bytes remaining in attribute stream |
703 | * | 712 | * |
@@ -773,7 +782,7 @@ static inline int __nla_parse_nested_compat(struct nlattr *tb[], int maxtype, | |||
773 | ({ data = nla_len(nla) >= len ? nla_data(nla) : NULL; \ | 782 | ({ data = nla_len(nla) >= len ? nla_data(nla) : NULL; \ |
774 | __nla_parse_nested_compat(tb, maxtype, nla, policy, len); }) | 783 | __nla_parse_nested_compat(tb, maxtype, nla, policy, len); }) |
775 | /** | 784 | /** |
776 | * nla_put_u8 - Add a u16 netlink attribute to a socket buffer | 785 | * nla_put_u8 - Add a u8 netlink attribute to a socket buffer |
777 | * @skb: socket buffer to add attribute to | 786 | * @skb: socket buffer to add attribute to |
778 | * @attrtype: attribute type | 787 | * @attrtype: attribute type |
779 | * @value: numeric value | 788 | * @value: numeric value |
@@ -989,7 +998,7 @@ static inline struct nlattr *nla_nest_start(struct sk_buff *skb, int attrtype) | |||
989 | 998 | ||
990 | /** | 999 | /** |
991 | * nla_nest_end - Finalize nesting of attributes | 1000 | * nla_nest_end - Finalize nesting of attributes |
992 | * @skb: socket buffer the attribtues are stored in | 1001 | * @skb: socket buffer the attributes are stored in |
993 | * @start: container attribute | 1002 | * @start: container attribute |
994 | * | 1003 | * |
995 | * Corrects the container attribute header to include the all | 1004 | * Corrects the container attribute header to include the all |
@@ -1032,7 +1041,7 @@ static inline struct nlattr *nla_nest_compat_start(struct sk_buff *skb, | |||
1032 | 1041 | ||
1033 | /** | 1042 | /** |
1034 | * nla_nest_compat_end - Finalize nesting of compat attributes | 1043 | * nla_nest_compat_end - Finalize nesting of compat attributes |
1035 | * @skb: socket buffer the attribtues are stored in | 1044 | * @skb: socket buffer the attributes are stored in |
1036 | * @start: container attribute | 1045 | * @start: container attribute |
1037 | * | 1046 | * |
1038 | * Corrects the container attribute header to include the all | 1047 | * Corrects the container attribute header to include the all |
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 7968b1d66369..f285de69c615 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __NET_PKT_CLS_H | 2 | #define __NET_PKT_CLS_H |
3 | 3 | ||
4 | #include <linux/pkt_cls.h> | 4 | #include <linux/pkt_cls.h> |
5 | #include <net/net_namespace.h> | ||
5 | #include <net/sch_generic.h> | 6 | #include <net/sch_generic.h> |
6 | #include <net/act_api.h> | 7 | #include <net/act_api.h> |
7 | 8 | ||
@@ -351,7 +352,7 @@ tcf_match_indev(struct sk_buff *skb, char *indev) | |||
351 | if (indev[0]) { | 352 | if (indev[0]) { |
352 | if (!skb->iif) | 353 | if (!skb->iif) |
353 | return 0; | 354 | return 0; |
354 | dev = __dev_get_by_index(skb->iif); | 355 | dev = __dev_get_by_index(&init_net, skb->iif); |
355 | if (!dev || strcmp(indev, dev->name)) | 356 | if (!dev || strcmp(indev, dev->name)) |
356 | return 0; | 357 | return 0; |
357 | } | 358 | } |
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 9e22526e80e7..ab61809a9616 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
@@ -97,10 +97,9 @@ extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp, | |||
97 | /* Calculate maximal size of packet seen by hard_start_xmit | 97 | /* Calculate maximal size of packet seen by hard_start_xmit |
98 | routine of this device. | 98 | routine of this device. |
99 | */ | 99 | */ |
100 | static inline unsigned psched_mtu(struct net_device *dev) | 100 | static inline unsigned psched_mtu(const struct net_device *dev) |
101 | { | 101 | { |
102 | unsigned mtu = dev->mtu; | 102 | return dev->mtu + dev->hard_header_len; |
103 | return dev->hard_header ? mtu + dev->hard_header_len : mtu; | ||
104 | } | 103 | } |
105 | 104 | ||
106 | #endif | 105 | #endif |
diff --git a/include/net/rose.h b/include/net/rose.h index a4047d3cf5dd..e5bb084d8754 100644 --- a/include/net/rose.h +++ b/include/net/rose.h | |||
@@ -188,7 +188,7 @@ extern void rose_kick(struct sock *); | |||
188 | extern void rose_enquiry_response(struct sock *); | 188 | extern void rose_enquiry_response(struct sock *); |
189 | 189 | ||
190 | /* rose_route.c */ | 190 | /* rose_route.c */ |
191 | extern struct rose_neigh rose_loopback_neigh; | 191 | extern struct rose_neigh *rose_loopback_neigh; |
192 | extern const struct file_operations rose_neigh_fops; | 192 | extern const struct file_operations rose_neigh_fops; |
193 | extern const struct file_operations rose_nodes_fops; | 193 | extern const struct file_operations rose_nodes_fops; |
194 | extern const struct file_operations rose_routes_fops; | 194 | extern const struct file_operations rose_routes_fops; |
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h index 3861c05cdf0f..793863e09c69 100644 --- a/include/net/rtnetlink.h +++ b/include/net/rtnetlink.h | |||
@@ -78,6 +78,10 @@ extern void __rtnl_link_unregister(struct rtnl_link_ops *ops); | |||
78 | extern int rtnl_link_register(struct rtnl_link_ops *ops); | 78 | extern int rtnl_link_register(struct rtnl_link_ops *ops); |
79 | extern void rtnl_link_unregister(struct rtnl_link_ops *ops); | 79 | extern void rtnl_link_unregister(struct rtnl_link_ops *ops); |
80 | 80 | ||
81 | extern struct net_device *rtnl_create_link(struct net *net, char *ifname, | ||
82 | const struct rtnl_link_ops *ops, struct nlattr *tb[]); | ||
83 | extern const struct nla_policy ifla_policy[IFLA_MAX+1]; | ||
84 | |||
81 | #define MODULE_ALIAS_RTNL_LINK(kind) MODULE_ALIAS("rtnl-link-" kind) | 85 | #define MODULE_ALIAS_RTNL_LINK(kind) MODULE_ALIAS("rtnl-link-" kind) |
82 | 86 | ||
83 | #endif | 87 | #endif |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 8a67f24cbe02..a02ec9e5fea5 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -302,4 +302,18 @@ drop: | |||
302 | return NET_XMIT_DROP; | 302 | return NET_XMIT_DROP; |
303 | } | 303 | } |
304 | 304 | ||
305 | /* Length to Time (L2T) lookup in a qdisc_rate_table, to determine how | ||
306 | long it will take to send a packet given its size. | ||
307 | */ | ||
308 | static inline u32 qdisc_l2t(struct qdisc_rate_table* rtab, unsigned int pktlen) | ||
309 | { | ||
310 | int slot = pktlen + rtab->rate.cell_align + rtab->rate.overhead; | ||
311 | if (slot < 0) | ||
312 | slot = 0; | ||
313 | slot >>= rtab->rate.cell_log; | ||
314 | if (slot > 255) | ||
315 | return (rtab->data[255]*(slot >> 8) + rtab->data[slot & 0xFF]); | ||
316 | return rtab->data[slot]; | ||
317 | } | ||
318 | |||
305 | #endif | 319 | #endif |
diff --git a/include/net/sctp/auth.h b/include/net/sctp/auth.h new file mode 100644 index 000000000000..4945954a16af --- /dev/null +++ b/include/net/sctp/auth.h | |||
@@ -0,0 +1,128 @@ | |||
1 | /* SCTP kernel reference Implementation | ||
2 | * (C) Copyright 2007 Hewlett-Packard Development Company, L.P. | ||
3 | * | ||
4 | * This file is part of the SCTP kernel reference Implementation | ||
5 | * | ||
6 | * The SCTP reference implementation is free software; | ||
7 | * you can redistribute it and/or modify it under the terms of | ||
8 | * the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2, or (at your option) | ||
10 | * any later version. | ||
11 | * | ||
12 | * The SCTP reference implementation is distributed in the hope that it | ||
13 | * will be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
14 | * ************************ | ||
15 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
16 | * See the GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with GNU CC; see the file COPYING. If not, write to | ||
20 | * the Free Software Foundation, 59 Temple Place - Suite 330, | ||
21 | * Boston, MA 02111-1307, USA. | ||
22 | * | ||
23 | * Please send any bug reports or fixes you make to the | ||
24 | * email address(es): | ||
25 | * lksctp developers <lksctp-developers@lists.sourceforge.net> | ||
26 | * | ||
27 | * Or submit a bug report through the following website: | ||
28 | * http://www.sf.net/projects/lksctp | ||
29 | * | ||
30 | * Written or modified by: | ||
31 | * Vlad Yasevich <vladislav.yasevich@hp.com> | ||
32 | * | ||
33 | * Any bugs reported given to us we will try to fix... any fixes shared will | ||
34 | * be incorporated into the next SCTP release. | ||
35 | */ | ||
36 | |||
37 | #ifndef __sctp_auth_h__ | ||
38 | #define __sctp_auth_h__ | ||
39 | |||
40 | #include <linux/list.h> | ||
41 | #include <linux/crypto.h> | ||
42 | |||
43 | struct sctp_endpoint; | ||
44 | struct sctp_association; | ||
45 | struct sctp_authkey; | ||
46 | struct sctp_hmacalgo; | ||
47 | |||
48 | /* | ||
49 | * Define a generic struct that will hold all the info | ||
50 | * necessary for an HMAC transform | ||
51 | */ | ||
52 | struct sctp_hmac { | ||
53 | __u16 hmac_id; /* one of the above ids */ | ||
54 | char *hmac_name; /* name for loading */ | ||
55 | __u16 hmac_len; /* length of the signature */ | ||
56 | }; | ||
57 | |||
58 | /* This is generic structure that containst authentication bytes used | ||
59 | * as keying material. It's a what is referred to as byte-vector all | ||
60 | * over SCTP-AUTH | ||
61 | */ | ||
62 | struct sctp_auth_bytes { | ||
63 | atomic_t refcnt; | ||
64 | __u32 len; | ||
65 | __u8 data[]; | ||
66 | }; | ||
67 | |||
68 | /* Definition for a shared key, weather endpoint or association */ | ||
69 | struct sctp_shared_key { | ||
70 | struct list_head key_list; | ||
71 | __u16 key_id; | ||
72 | struct sctp_auth_bytes *key; | ||
73 | }; | ||
74 | |||
75 | #define key_for_each(__key, __list_head) \ | ||
76 | list_for_each_entry(__key, __list_head, key_list) | ||
77 | |||
78 | #define key_for_each_safe(__key, __tmp, __list_head) \ | ||
79 | list_for_each_entry_safe(__key, __tmp, __list_head, key_list) | ||
80 | |||
81 | static inline void sctp_auth_key_hold(struct sctp_auth_bytes *key) | ||
82 | { | ||
83 | if (!key) | ||
84 | return; | ||
85 | |||
86 | atomic_inc(&key->refcnt); | ||
87 | } | ||
88 | |||
89 | void sctp_auth_key_put(struct sctp_auth_bytes *key); | ||
90 | struct sctp_shared_key *sctp_auth_shkey_create(__u16 key_id, gfp_t gfp); | ||
91 | void sctp_auth_shkey_free(struct sctp_shared_key *sh_key); | ||
92 | void sctp_auth_destroy_keys(struct list_head *keys); | ||
93 | int sctp_auth_asoc_init_active_key(struct sctp_association *asoc, gfp_t gfp); | ||
94 | struct sctp_shared_key *sctp_auth_get_shkey( | ||
95 | const struct sctp_association *asoc, | ||
96 | __u16 key_id); | ||
97 | int sctp_auth_asoc_copy_shkeys(const struct sctp_endpoint *ep, | ||
98 | struct sctp_association *asoc, | ||
99 | gfp_t gfp); | ||
100 | int sctp_auth_init_hmacs(struct sctp_endpoint *ep, gfp_t gfp); | ||
101 | void sctp_auth_destroy_hmacs(struct crypto_hash *auth_hmacs[]); | ||
102 | struct sctp_hmac *sctp_auth_get_hmac(__u16 hmac_id); | ||
103 | struct sctp_hmac *sctp_auth_asoc_get_hmac(const struct sctp_association *asoc); | ||
104 | void sctp_auth_asoc_set_default_hmac(struct sctp_association *asoc, | ||
105 | struct sctp_hmac_algo_param *hmacs); | ||
106 | int sctp_auth_asoc_verify_hmac_id(const struct sctp_association *asoc, | ||
107 | __u16 hmac_id); | ||
108 | int sctp_auth_send_cid(sctp_cid_t chunk, const struct sctp_association *asoc); | ||
109 | int sctp_auth_recv_cid(sctp_cid_t chunk, const struct sctp_association *asoc); | ||
110 | void sctp_auth_calculate_hmac(const struct sctp_association *asoc, | ||
111 | struct sk_buff *skb, | ||
112 | struct sctp_auth_chunk *auth, gfp_t gfp); | ||
113 | |||
114 | /* API Helpers */ | ||
115 | int sctp_auth_ep_add_chunkid(struct sctp_endpoint *ep, __u8 chunk_id); | ||
116 | int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep, | ||
117 | struct sctp_hmacalgo *hmacs); | ||
118 | int sctp_auth_set_key(struct sctp_endpoint *ep, | ||
119 | struct sctp_association *asoc, | ||
120 | struct sctp_authkey *auth_key); | ||
121 | int sctp_auth_set_active_key(struct sctp_endpoint *ep, | ||
122 | struct sctp_association *asoc, | ||
123 | __u16 key_id); | ||
124 | int sctp_auth_del_key_id(struct sctp_endpoint *ep, | ||
125 | struct sctp_association *asoc, | ||
126 | __u16 key_id); | ||
127 | |||
128 | #endif | ||
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index f56c8d695a82..b8733364557f 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
@@ -102,6 +102,7 @@ typedef enum { | |||
102 | SCTP_CMD_SET_SK_ERR, /* Set sk_err */ | 102 | SCTP_CMD_SET_SK_ERR, /* Set sk_err */ |
103 | SCTP_CMD_ASSOC_CHANGE, /* generate and send assoc_change event */ | 103 | SCTP_CMD_ASSOC_CHANGE, /* generate and send assoc_change event */ |
104 | SCTP_CMD_ADAPTATION_IND, /* generate and send adaptation event */ | 104 | SCTP_CMD_ADAPTATION_IND, /* generate and send adaptation event */ |
105 | SCTP_CMD_ASSOC_SHKEY, /* generate the association shared keys */ | ||
105 | SCTP_CMD_LAST | 106 | SCTP_CMD_LAST |
106 | } sctp_verb_t; | 107 | } sctp_verb_t; |
107 | 108 | ||
diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h index bb37724495a5..da8354e8e33c 100644 --- a/include/net/sctp/constants.h +++ b/include/net/sctp/constants.h | |||
@@ -64,12 +64,18 @@ enum { SCTP_DEFAULT_INSTREAMS = SCTP_MAX_STREAM }; | |||
64 | #define SCTP_CID_MAX SCTP_CID_ASCONF_ACK | 64 | #define SCTP_CID_MAX SCTP_CID_ASCONF_ACK |
65 | 65 | ||
66 | #define SCTP_NUM_BASE_CHUNK_TYPES (SCTP_CID_BASE_MAX + 1) | 66 | #define SCTP_NUM_BASE_CHUNK_TYPES (SCTP_CID_BASE_MAX + 1) |
67 | #define SCTP_NUM_CHUNK_TYPES (SCTP_NUM_BASE_CHUNKTYPES + 2) | ||
68 | 67 | ||
69 | #define SCTP_NUM_ADDIP_CHUNK_TYPES 2 | 68 | #define SCTP_NUM_ADDIP_CHUNK_TYPES 2 |
70 | 69 | ||
71 | #define SCTP_NUM_PRSCTP_CHUNK_TYPES 1 | 70 | #define SCTP_NUM_PRSCTP_CHUNK_TYPES 1 |
72 | 71 | ||
72 | #define SCTP_NUM_AUTH_CHUNK_TYPES 1 | ||
73 | |||
74 | #define SCTP_NUM_CHUNK_TYPES (SCTP_NUM_BASE_CHUNK_TYPES + \ | ||
75 | SCTP_NUM_ADDIP_CHUNK_TYPES +\ | ||
76 | SCTP_NUM_PRSCTP_CHUNK_TYPES +\ | ||
77 | SCTP_NUM_AUTH_CHUNK_TYPES) | ||
78 | |||
73 | /* These are the different flavours of event. */ | 79 | /* These are the different flavours of event. */ |
74 | typedef enum { | 80 | typedef enum { |
75 | 81 | ||
@@ -177,7 +183,9 @@ typedef enum { | |||
177 | SCTP_IERROR_NO_DATA, | 183 | SCTP_IERROR_NO_DATA, |
178 | SCTP_IERROR_BAD_STREAM, | 184 | SCTP_IERROR_BAD_STREAM, |
179 | SCTP_IERROR_BAD_PORTS, | 185 | SCTP_IERROR_BAD_PORTS, |
180 | 186 | SCTP_IERROR_AUTH_BAD_HMAC, | |
187 | SCTP_IERROR_AUTH_BAD_KEYID, | ||
188 | SCTP_IERROR_PROTO_VIOLATION, | ||
181 | } sctp_ierror_t; | 189 | } sctp_ierror_t; |
182 | 190 | ||
183 | 191 | ||
@@ -409,4 +417,45 @@ typedef enum { | |||
409 | SCTP_LOWER_CWND_INACTIVE, | 417 | SCTP_LOWER_CWND_INACTIVE, |
410 | } sctp_lower_cwnd_t; | 418 | } sctp_lower_cwnd_t; |
411 | 419 | ||
420 | |||
421 | /* SCTP-AUTH Necessary constants */ | ||
422 | |||
423 | /* SCTP-AUTH, Section 3.3 | ||
424 | * | ||
425 | * The following Table 2 shows the currently defined values for HMAC | ||
426 | * identifiers. | ||
427 | * | ||
428 | * +-----------------+--------------------------+ | ||
429 | * | HMAC Identifier | Message Digest Algorithm | | ||
430 | * +-----------------+--------------------------+ | ||
431 | * | 0 | Reserved | | ||
432 | * | 1 | SHA-1 defined in [8] | | ||
433 | * | 2 | Reserved | | ||
434 | * | 3 | SHA-256 defined in [8] | | ||
435 | * +-----------------+--------------------------+ | ||
436 | */ | ||
437 | enum { | ||
438 | SCTP_AUTH_HMAC_ID_RESERVED_0, | ||
439 | SCTP_AUTH_HMAC_ID_SHA1, | ||
440 | SCTP_AUTH_HMAC_ID_RESERVED_2, | ||
441 | SCTP_AUTH_HMAC_ID_SHA256 | ||
442 | }; | ||
443 | |||
444 | #define SCTP_AUTH_HMAC_ID_MAX SCTP_AUTH_HMAC_ID_SHA256 | ||
445 | #define SCTP_AUTH_NUM_HMACS (SCTP_AUTH_HMAC_ID_SHA256 + 1) | ||
446 | #define SCTP_SHA1_SIG_SIZE 20 | ||
447 | #define SCTP_SHA256_SIG_SIZE 32 | ||
448 | |||
449 | /* SCTP-AUTH, Section 3.2 | ||
450 | * The chunk types for INIT, INIT-ACK, SHUTDOWN-COMPLETE and AUTH chunks | ||
451 | * MUST NOT be listed in the CHUNKS parameter | ||
452 | */ | ||
453 | #define SCTP_NUM_NOAUTH_CHUNKS 4 | ||
454 | #define SCTP_AUTH_MAX_CHUNKS (SCTP_NUM_CHUNK_TYPES - SCTP_NUM_NOAUTH_CHUNKS) | ||
455 | |||
456 | /* SCTP-AUTH Section 6.1 | ||
457 | * The RANDOM parameter MUST contain a 32 byte random number. | ||
458 | */ | ||
459 | #define SCTP_AUTH_RANDOM_LENGTH 32 | ||
460 | |||
412 | #endif /* __sctp_constants_h__ */ | 461 | #endif /* __sctp_constants_h__ */ |
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index c9cc00c85782..119f5a1ed499 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -341,6 +341,7 @@ extern atomic_t sctp_dbg_objcnt_bind_bucket; | |||
341 | extern atomic_t sctp_dbg_objcnt_addr; | 341 | extern atomic_t sctp_dbg_objcnt_addr; |
342 | extern atomic_t sctp_dbg_objcnt_ssnmap; | 342 | extern atomic_t sctp_dbg_objcnt_ssnmap; |
343 | extern atomic_t sctp_dbg_objcnt_datamsg; | 343 | extern atomic_t sctp_dbg_objcnt_datamsg; |
344 | extern atomic_t sctp_dbg_objcnt_keys; | ||
344 | 345 | ||
345 | /* Macros to atomically increment/decrement objcnt counters. */ | 346 | /* Macros to atomically increment/decrement objcnt counters. */ |
346 | #define SCTP_DBG_OBJCNT_INC(name) \ | 347 | #define SCTP_DBG_OBJCNT_INC(name) \ |
@@ -469,6 +470,11 @@ static inline void sctp_skb_set_owner_r(struct sk_buff *skb, struct sock *sk) | |||
469 | skb->sk = sk; | 470 | skb->sk = sk; |
470 | skb->destructor = sctp_sock_rfree; | 471 | skb->destructor = sctp_sock_rfree; |
471 | atomic_add(event->rmem_len, &sk->sk_rmem_alloc); | 472 | atomic_add(event->rmem_len, &sk->sk_rmem_alloc); |
473 | /* | ||
474 | * This mimics the behavior of | ||
475 | * sk_stream_set_owner_r | ||
476 | */ | ||
477 | sk->sk_forward_alloc -= event->rmem_len; | ||
472 | } | 478 | } |
473 | 479 | ||
474 | /* Tests if the list has one and only one entry. */ | 480 | /* Tests if the list has one and only one entry. */ |
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index e8e3a64eb322..bf2f5ed69c15 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
@@ -143,6 +143,7 @@ sctp_state_fn_t sctp_sf_do_asconf_ack; | |||
143 | sctp_state_fn_t sctp_sf_do_9_2_reshutack; | 143 | sctp_state_fn_t sctp_sf_do_9_2_reshutack; |
144 | sctp_state_fn_t sctp_sf_eat_fwd_tsn; | 144 | sctp_state_fn_t sctp_sf_eat_fwd_tsn; |
145 | sctp_state_fn_t sctp_sf_eat_fwd_tsn_fast; | 145 | sctp_state_fn_t sctp_sf_eat_fwd_tsn_fast; |
146 | sctp_state_fn_t sctp_sf_eat_auth; | ||
146 | 147 | ||
147 | /* Prototypes for primitive event state functions. */ | 148 | /* Prototypes for primitive event state functions. */ |
148 | sctp_state_fn_t sctp_sf_do_prm_asoc; | 149 | sctp_state_fn_t sctp_sf_do_prm_asoc; |
@@ -256,6 +257,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc, | |||
256 | struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc, | 257 | struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc, |
257 | __u32 new_cum_tsn, size_t nstreams, | 258 | __u32 new_cum_tsn, size_t nstreams, |
258 | struct sctp_fwdtsn_skip *skiplist); | 259 | struct sctp_fwdtsn_skip *skiplist); |
260 | struct sctp_chunk *sctp_make_auth(const struct sctp_association *asoc); | ||
259 | 261 | ||
260 | void sctp_chunk_assign_tsn(struct sctp_chunk *); | 262 | void sctp_chunk_assign_tsn(struct sctp_chunk *); |
261 | void sctp_chunk_assign_ssn(struct sctp_chunk *); | 263 | void sctp_chunk_assign_ssn(struct sctp_chunk *); |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index baff49dfcdbd..ef892e00c833 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -64,6 +64,7 @@ | |||
64 | #include <linux/skbuff.h> /* We need sk_buff_head. */ | 64 | #include <linux/skbuff.h> /* We need sk_buff_head. */ |
65 | #include <linux/workqueue.h> /* We need tq_struct. */ | 65 | #include <linux/workqueue.h> /* We need tq_struct. */ |
66 | #include <linux/sctp.h> /* We need sctp* header structs. */ | 66 | #include <linux/sctp.h> /* We need sctp* header structs. */ |
67 | #include <net/sctp/auth.h> /* We need auth specific structs */ | ||
67 | 68 | ||
68 | /* A convenience structure for handling sockaddr structures. | 69 | /* A convenience structure for handling sockaddr structures. |
69 | * We should wean ourselves off this. | 70 | * We should wean ourselves off this. |
@@ -196,8 +197,6 @@ extern struct sctp_globals { | |||
196 | 197 | ||
197 | /* This is the sctp port control hash. */ | 198 | /* This is the sctp port control hash. */ |
198 | int port_hashsize; | 199 | int port_hashsize; |
199 | int port_rover; | ||
200 | spinlock_t port_alloc_lock; /* Protects port_rover. */ | ||
201 | struct sctp_bind_hashbucket *port_hashtable; | 200 | struct sctp_bind_hashbucket *port_hashtable; |
202 | 201 | ||
203 | /* This is the global local address list. | 202 | /* This is the global local address list. |
@@ -216,6 +215,9 @@ extern struct sctp_globals { | |||
216 | 215 | ||
217 | /* Flag to indicate if PR-SCTP is enabled. */ | 216 | /* Flag to indicate if PR-SCTP is enabled. */ |
218 | int prsctp_enable; | 217 | int prsctp_enable; |
218 | |||
219 | /* Flag to idicate if SCTP-AUTH is enabled */ | ||
220 | int auth_enable; | ||
219 | } sctp_globals; | 221 | } sctp_globals; |
220 | 222 | ||
221 | #define sctp_rto_initial (sctp_globals.rto_initial) | 223 | #define sctp_rto_initial (sctp_globals.rto_initial) |
@@ -248,6 +250,7 @@ extern struct sctp_globals { | |||
248 | #define sctp_local_addr_lock (sctp_globals.addr_list_lock) | 250 | #define sctp_local_addr_lock (sctp_globals.addr_list_lock) |
249 | #define sctp_addip_enable (sctp_globals.addip_enable) | 251 | #define sctp_addip_enable (sctp_globals.addip_enable) |
250 | #define sctp_prsctp_enable (sctp_globals.prsctp_enable) | 252 | #define sctp_prsctp_enable (sctp_globals.prsctp_enable) |
253 | #define sctp_auth_enable (sctp_globals.auth_enable) | ||
251 | 254 | ||
252 | /* SCTP Socket type: UDP or TCP style. */ | 255 | /* SCTP Socket type: UDP or TCP style. */ |
253 | typedef enum { | 256 | typedef enum { |
@@ -397,6 +400,9 @@ struct sctp_cookie { | |||
397 | 400 | ||
398 | __u32 adaptation_ind; | 401 | __u32 adaptation_ind; |
399 | 402 | ||
403 | __u8 auth_random[sizeof(sctp_paramhdr_t) + SCTP_AUTH_RANDOM_LENGTH]; | ||
404 | __u8 auth_hmacs[SCTP_AUTH_NUM_HMACS + 2]; | ||
405 | __u8 auth_chunks[sizeof(sctp_paramhdr_t) + SCTP_AUTH_MAX_CHUNKS]; | ||
400 | 406 | ||
401 | /* This is a shim for my peer's INIT packet, followed by | 407 | /* This is a shim for my peer's INIT packet, followed by |
402 | * a copy of the raw address list of the association. | 408 | * a copy of the raw address list of the association. |
@@ -440,6 +446,10 @@ union sctp_params { | |||
440 | struct sctp_ipv6addr_param *v6; | 446 | struct sctp_ipv6addr_param *v6; |
441 | union sctp_addr_param *addr; | 447 | union sctp_addr_param *addr; |
442 | struct sctp_adaptation_ind_param *aind; | 448 | struct sctp_adaptation_ind_param *aind; |
449 | struct sctp_supported_ext_param *ext; | ||
450 | struct sctp_random_param *random; | ||
451 | struct sctp_chunks_param *chunks; | ||
452 | struct sctp_hmac_algo_param *hmac_algo; | ||
443 | }; | 453 | }; |
444 | 454 | ||
445 | /* RFC 2960. Section 3.3.5 Heartbeat. | 455 | /* RFC 2960. Section 3.3.5 Heartbeat. |
@@ -678,6 +688,7 @@ struct sctp_chunk { | |||
678 | struct sctp_errhdr *err_hdr; | 688 | struct sctp_errhdr *err_hdr; |
679 | struct sctp_addiphdr *addip_hdr; | 689 | struct sctp_addiphdr *addip_hdr; |
680 | struct sctp_fwdtsn_hdr *fwdtsn_hdr; | 690 | struct sctp_fwdtsn_hdr *fwdtsn_hdr; |
691 | struct sctp_authhdr *auth_hdr; | ||
681 | } subh; | 692 | } subh; |
682 | 693 | ||
683 | __u8 *chunk_end; | 694 | __u8 *chunk_end; |
@@ -711,6 +722,13 @@ struct sctp_chunk { | |||
711 | */ | 722 | */ |
712 | struct sctp_transport *transport; | 723 | struct sctp_transport *transport; |
713 | 724 | ||
725 | /* SCTP-AUTH: For the special case inbound processing of COOKIE-ECHO | ||
726 | * we need save a pointer to the AUTH chunk, since the SCTP-AUTH | ||
727 | * spec violates the principle premis that all chunks are processed | ||
728 | * in order. | ||
729 | */ | ||
730 | struct sk_buff *auth_chunk; | ||
731 | |||
714 | __u8 rtt_in_progress; /* Is this chunk used for RTT calculation? */ | 732 | __u8 rtt_in_progress; /* Is this chunk used for RTT calculation? */ |
715 | __u8 resent; /* Has this chunk ever been retransmitted. */ | 733 | __u8 resent; /* Has this chunk ever been retransmitted. */ |
716 | __u8 has_tsn; /* Does this chunk have a TSN yet? */ | 734 | __u8 has_tsn; /* Does this chunk have a TSN yet? */ |
@@ -723,6 +741,7 @@ struct sctp_chunk { | |||
723 | __s8 fast_retransmit; /* Is this chunk fast retransmitted? */ | 741 | __s8 fast_retransmit; /* Is this chunk fast retransmitted? */ |
724 | __u8 tsn_missing_report; /* Data chunk missing counter. */ | 742 | __u8 tsn_missing_report; /* Data chunk missing counter. */ |
725 | __u8 data_accepted; /* At least 1 chunk in this packet accepted */ | 743 | __u8 data_accepted; /* At least 1 chunk in this packet accepted */ |
744 | __u8 auth; /* IN: was auth'ed | OUT: needs auth */ | ||
726 | }; | 745 | }; |
727 | 746 | ||
728 | void sctp_chunk_hold(struct sctp_chunk *); | 747 | void sctp_chunk_hold(struct sctp_chunk *); |
@@ -731,7 +750,6 @@ int sctp_user_addto_chunk(struct sctp_chunk *chunk, int off, int len, | |||
731 | struct iovec *data); | 750 | struct iovec *data); |
732 | void sctp_chunk_free(struct sctp_chunk *); | 751 | void sctp_chunk_free(struct sctp_chunk *); |
733 | void *sctp_addto_chunk(struct sctp_chunk *, int len, const void *data); | 752 | void *sctp_addto_chunk(struct sctp_chunk *, int len, const void *data); |
734 | void *sctp_addto_param(struct sctp_chunk *, int len, const void *data); | ||
735 | struct sctp_chunk *sctp_chunkify(struct sk_buff *, | 753 | struct sctp_chunk *sctp_chunkify(struct sk_buff *, |
736 | const struct sctp_association *, | 754 | const struct sctp_association *, |
737 | struct sock *); | 755 | struct sock *); |
@@ -773,16 +791,25 @@ struct sctp_packet { | |||
773 | */ | 791 | */ |
774 | struct sctp_transport *transport; | 792 | struct sctp_transport *transport; |
775 | 793 | ||
794 | /* pointer to the auth chunk for this packet */ | ||
795 | struct sctp_chunk *auth; | ||
796 | |||
776 | /* This packet contains a COOKIE-ECHO chunk. */ | 797 | /* This packet contains a COOKIE-ECHO chunk. */ |
777 | char has_cookie_echo; | 798 | __u8 has_cookie_echo; |
799 | |||
800 | /* This packet contains a SACK chunk. */ | ||
801 | __u8 has_sack; | ||
802 | |||
803 | /* This packet contains an AUTH chunk */ | ||
804 | __u8 has_auth; | ||
778 | 805 | ||
779 | /* This packet containsa SACK chunk. */ | 806 | /* This packet contains at least 1 DATA chunk */ |
780 | char has_sack; | 807 | __u8 has_data; |
781 | 808 | ||
782 | /* SCTP cannot fragment this packet. So let ip fragment it. */ | 809 | /* SCTP cannot fragment this packet. So let ip fragment it. */ |
783 | char ipfragok; | 810 | __u8 ipfragok; |
784 | 811 | ||
785 | int malloced; | 812 | __u8 malloced; |
786 | }; | 813 | }; |
787 | 814 | ||
788 | struct sctp_packet *sctp_packet_init(struct sctp_packet *, | 815 | struct sctp_packet *sctp_packet_init(struct sctp_packet *, |
@@ -1045,6 +1072,7 @@ void sctp_inq_init(struct sctp_inq *); | |||
1045 | void sctp_inq_free(struct sctp_inq *); | 1072 | void sctp_inq_free(struct sctp_inq *); |
1046 | void sctp_inq_push(struct sctp_inq *, struct sctp_chunk *packet); | 1073 | void sctp_inq_push(struct sctp_inq *, struct sctp_chunk *packet); |
1047 | struct sctp_chunk *sctp_inq_pop(struct sctp_inq *); | 1074 | struct sctp_chunk *sctp_inq_pop(struct sctp_inq *); |
1075 | struct sctp_chunkhdr *sctp_inq_peek(struct sctp_inq *); | ||
1048 | void sctp_inq_set_th_handler(struct sctp_inq *, work_func_t); | 1076 | void sctp_inq_set_th_handler(struct sctp_inq *, work_func_t); |
1049 | 1077 | ||
1050 | /* This is the structure we use to hold outbound chunks. You push | 1078 | /* This is the structure we use to hold outbound chunks. You push |
@@ -1291,6 +1319,21 @@ struct sctp_endpoint { | |||
1291 | 1319 | ||
1292 | /* rcvbuf acct. policy. */ | 1320 | /* rcvbuf acct. policy. */ |
1293 | __u32 rcvbuf_policy; | 1321 | __u32 rcvbuf_policy; |
1322 | |||
1323 | /* SCTP AUTH: array of the HMACs that will be allocated | ||
1324 | * we need this per association so that we don't serialize | ||
1325 | */ | ||
1326 | struct crypto_hash **auth_hmacs; | ||
1327 | |||
1328 | /* SCTP-AUTH: hmacs for the endpoint encoded into parameter */ | ||
1329 | struct sctp_hmac_algo_param *auth_hmacs_list; | ||
1330 | |||
1331 | /* SCTP-AUTH: chunks to authenticate encoded into parameter */ | ||
1332 | struct sctp_chunks_param *auth_chunk_list; | ||
1333 | |||
1334 | /* SCTP-AUTH: endpoint shared keys */ | ||
1335 | struct list_head endpoint_shared_keys; | ||
1336 | __u16 active_key_id; | ||
1294 | }; | 1337 | }; |
1295 | 1338 | ||
1296 | /* Recover the outter endpoint structure. */ | 1339 | /* Recover the outter endpoint structure. */ |
@@ -1497,6 +1540,8 @@ struct sctp_association { | |||
1497 | __u8 hostname_address;/* Peer understands DNS addresses? */ | 1540 | __u8 hostname_address;/* Peer understands DNS addresses? */ |
1498 | __u8 asconf_capable; /* Does peer support ADDIP? */ | 1541 | __u8 asconf_capable; /* Does peer support ADDIP? */ |
1499 | __u8 prsctp_capable; /* Can peer do PR-SCTP? */ | 1542 | __u8 prsctp_capable; /* Can peer do PR-SCTP? */ |
1543 | __u8 auth_capable; /* Is peer doing SCTP-AUTH? */ | ||
1544 | __u8 addip_capable; /* Can peer do ADD-IP */ | ||
1500 | 1545 | ||
1501 | __u32 adaptation_ind; /* Adaptation Code point. */ | 1546 | __u32 adaptation_ind; /* Adaptation Code point. */ |
1502 | 1547 | ||
@@ -1514,6 +1559,14 @@ struct sctp_association { | |||
1514 | * Initial TSN Value minus 1 | 1559 | * Initial TSN Value minus 1 |
1515 | */ | 1560 | */ |
1516 | __u32 addip_serial; | 1561 | __u32 addip_serial; |
1562 | |||
1563 | /* SCTP-AUTH: We need to know pears random number, hmac list | ||
1564 | * and authenticated chunk list. All that is part of the | ||
1565 | * cookie and these are just pointers to those locations | ||
1566 | */ | ||
1567 | sctp_random_param_t *peer_random; | ||
1568 | sctp_chunks_param_t *peer_chunks; | ||
1569 | sctp_hmac_algo_param_t *peer_hmacs; | ||
1517 | } peer; | 1570 | } peer; |
1518 | 1571 | ||
1519 | /* State : A state variable indicating what state the | 1572 | /* State : A state variable indicating what state the |
@@ -1797,6 +1850,24 @@ struct sctp_association { | |||
1797 | */ | 1850 | */ |
1798 | __u32 addip_serial; | 1851 | __u32 addip_serial; |
1799 | 1852 | ||
1853 | /* SCTP AUTH: list of the endpoint shared keys. These | ||
1854 | * keys are provided out of band by the user applicaton | ||
1855 | * and can't change during the lifetime of the association | ||
1856 | */ | ||
1857 | struct list_head endpoint_shared_keys; | ||
1858 | |||
1859 | /* SCTP AUTH: | ||
1860 | * The current generated assocaition shared key (secret) | ||
1861 | */ | ||
1862 | struct sctp_auth_bytes *asoc_shared_key; | ||
1863 | |||
1864 | /* SCTP AUTH: hmac id of the first peer requested algorithm | ||
1865 | * that we support. | ||
1866 | */ | ||
1867 | __u16 default_hmac_id; | ||
1868 | |||
1869 | __u16 active_key_id; | ||
1870 | |||
1800 | /* Need to send an ECNE Chunk? */ | 1871 | /* Need to send an ECNE Chunk? */ |
1801 | char need_ecne; | 1872 | char need_ecne; |
1802 | 1873 | ||
diff --git a/include/net/sctp/ulpevent.h b/include/net/sctp/ulpevent.h index de88ed5b0ba6..922a151eb93c 100644 --- a/include/net/sctp/ulpevent.h +++ b/include/net/sctp/ulpevent.h | |||
@@ -128,6 +128,10 @@ struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, | |||
128 | struct sctp_chunk *chunk, | 128 | struct sctp_chunk *chunk, |
129 | gfp_t gfp); | 129 | gfp_t gfp); |
130 | 130 | ||
131 | struct sctp_ulpevent *sctp_ulpevent_make_authkey( | ||
132 | const struct sctp_association *asoc, __u16 key_id, | ||
133 | __u32 indication, gfp_t gfp); | ||
134 | |||
131 | void sctp_ulpevent_read_sndrcvinfo(const struct sctp_ulpevent *event, | 135 | void sctp_ulpevent_read_sndrcvinfo(const struct sctp_ulpevent *event, |
132 | struct msghdr *); | 136 | struct msghdr *); |
133 | __u16 sctp_ulpevent_get_notification_type(const struct sctp_ulpevent *event); | 137 | __u16 sctp_ulpevent_get_notification_type(const struct sctp_ulpevent *event); |
diff --git a/include/net/sctp/user.h b/include/net/sctp/user.h index 6d2b57758cca..00848b641f59 100644 --- a/include/net/sctp/user.h +++ b/include/net/sctp/user.h | |||
@@ -103,6 +103,21 @@ enum sctp_optname { | |||
103 | #define SCTP_PARTIAL_DELIVERY_POINT SCTP_PARTIAL_DELIVERY_POINT | 103 | #define SCTP_PARTIAL_DELIVERY_POINT SCTP_PARTIAL_DELIVERY_POINT |
104 | SCTP_MAX_BURST, /* Set/Get max burst */ | 104 | SCTP_MAX_BURST, /* Set/Get max burst */ |
105 | #define SCTP_MAX_BURST SCTP_MAX_BURST | 105 | #define SCTP_MAX_BURST SCTP_MAX_BURST |
106 | SCTP_AUTH_CHUNK, /* Set only: add a chunk type to authenticat */ | ||
107 | #define SCTP_AUTH_CHUNK SCTP_AUTH_CHUNK | ||
108 | SCTP_HMAC_IDENT, | ||
109 | #define SCTP_HMAC_IDENT SCTP_HMAC_IDENT | ||
110 | SCTP_AUTH_KEY, | ||
111 | #define SCTP_AUTH_KEY SCTP_AUTH_KEY | ||
112 | SCTP_AUTH_ACTIVE_KEY, | ||
113 | #define SCTP_AUTH_ACTIVE_KEY SCTP_AUTH_ACTIVE_KEY | ||
114 | SCTP_AUTH_DELETE_KEY, | ||
115 | #define SCTP_AUTH_DELETE_KEY SCTP_AUTH_DELETE_KEY | ||
116 | SCTP_PEER_AUTH_CHUNKS, /* Read only */ | ||
117 | #define SCTP_PEER_AUTH_CHUNKS SCTP_PEER_AUTH_CHUNKS | ||
118 | SCTP_LOCAL_AUTH_CHUNKS, /* Read only */ | ||
119 | #define SCTP_LOCAL_AUTH_CHUNKS SCTP_LOCAL_AUTH_CHUNKS | ||
120 | |||
106 | 121 | ||
107 | /* Internal Socket Options. Some of the sctp library functions are | 122 | /* Internal Socket Options. Some of the sctp library functions are |
108 | * implemented using these socket options. | 123 | * implemented using these socket options. |
@@ -370,6 +385,19 @@ struct sctp_pdapi_event { | |||
370 | 385 | ||
371 | enum { SCTP_PARTIAL_DELIVERY_ABORTED=0, }; | 386 | enum { SCTP_PARTIAL_DELIVERY_ABORTED=0, }; |
372 | 387 | ||
388 | struct sctp_authkey_event { | ||
389 | __u16 auth_type; | ||
390 | __u16 auth_flags; | ||
391 | __u32 auth_length; | ||
392 | __u16 auth_keynumber; | ||
393 | __u16 auth_altkeynumber; | ||
394 | __u32 auth_indication; | ||
395 | sctp_assoc_t auth_assoc_id; | ||
396 | }; | ||
397 | |||
398 | enum { SCTP_AUTH_NEWKEY = 0, }; | ||
399 | |||
400 | |||
373 | /* | 401 | /* |
374 | * Described in Section 7.3 | 402 | * Described in Section 7.3 |
375 | * Ancillary Data and Notification Interest Options | 403 | * Ancillary Data and Notification Interest Options |
@@ -405,6 +433,7 @@ union sctp_notification { | |||
405 | struct sctp_shutdown_event sn_shutdown_event; | 433 | struct sctp_shutdown_event sn_shutdown_event; |
406 | struct sctp_adaptation_event sn_adaptation_event; | 434 | struct sctp_adaptation_event sn_adaptation_event; |
407 | struct sctp_pdapi_event sn_pdapi_event; | 435 | struct sctp_pdapi_event sn_pdapi_event; |
436 | struct sctp_authkey_event sn_authkey_event; | ||
408 | }; | 437 | }; |
409 | 438 | ||
410 | /* Section 5.3.1 | 439 | /* Section 5.3.1 |
@@ -421,6 +450,7 @@ enum sctp_sn_type { | |||
421 | SCTP_SHUTDOWN_EVENT, | 450 | SCTP_SHUTDOWN_EVENT, |
422 | SCTP_PARTIAL_DELIVERY_EVENT, | 451 | SCTP_PARTIAL_DELIVERY_EVENT, |
423 | SCTP_ADAPTATION_INDICATION, | 452 | SCTP_ADAPTATION_INDICATION, |
453 | SCTP_AUTHENTICATION_EVENT, | ||
424 | }; | 454 | }; |
425 | 455 | ||
426 | /* Notification error codes used to fill up the error fields in some | 456 | /* Notification error codes used to fill up the error fields in some |
@@ -539,6 +569,54 @@ struct sctp_paddrparams { | |||
539 | __u32 spp_flags; | 569 | __u32 spp_flags; |
540 | } __attribute__((packed, aligned(4))); | 570 | } __attribute__((packed, aligned(4))); |
541 | 571 | ||
572 | /* | ||
573 | * 7.1.18. Add a chunk that must be authenticated (SCTP_AUTH_CHUNK) | ||
574 | * | ||
575 | * This set option adds a chunk type that the user is requesting to be | ||
576 | * received only in an authenticated way. Changes to the list of chunks | ||
577 | * will only effect future associations on the socket. | ||
578 | */ | ||
579 | struct sctp_authchunk { | ||
580 | __u8 sauth_chunk; | ||
581 | }; | ||
582 | |||
583 | /* | ||
584 | * 7.1.19. Get or set the list of supported HMAC Identifiers (SCTP_HMAC_IDENT) | ||
585 | * | ||
586 | * This option gets or sets the list of HMAC algorithms that the local | ||
587 | * endpoint requires the peer to use. | ||
588 | */ | ||
589 | struct sctp_hmacalgo { | ||
590 | __u16 shmac_num_idents; | ||
591 | __u16 shmac_idents[]; | ||
592 | }; | ||
593 | |||
594 | /* | ||
595 | * 7.1.20. Set a shared key (SCTP_AUTH_KEY) | ||
596 | * | ||
597 | * This option will set a shared secret key which is used to build an | ||
598 | * association shared key. | ||
599 | */ | ||
600 | struct sctp_authkey { | ||
601 | sctp_assoc_t sca_assoc_id; | ||
602 | __u16 sca_keynumber; | ||
603 | __u16 sca_keylen; | ||
604 | __u8 sca_key[]; | ||
605 | }; | ||
606 | |||
607 | /* | ||
608 | * 7.1.21. Get or set the active shared key (SCTP_AUTH_ACTIVE_KEY) | ||
609 | * | ||
610 | * This option will get or set the active shared key to be used to build | ||
611 | * the association shared key. | ||
612 | */ | ||
613 | |||
614 | struct sctp_authkeyid { | ||
615 | sctp_assoc_t scact_assoc_id; | ||
616 | __u16 scact_keynumber; | ||
617 | }; | ||
618 | |||
619 | |||
542 | /* 7.1.23. Delayed Ack Timer (SCTP_DELAYED_ACK_TIME) | 620 | /* 7.1.23. Delayed Ack Timer (SCTP_DELAYED_ACK_TIME) |
543 | * | 621 | * |
544 | * This options will get or set the delayed ack timer. The time is set | 622 | * This options will get or set the delayed ack timer. The time is set |
@@ -608,6 +686,18 @@ struct sctp_status { | |||
608 | }; | 686 | }; |
609 | 687 | ||
610 | /* | 688 | /* |
689 | * 7.2.3. Get the list of chunks the peer requires to be authenticated | ||
690 | * (SCTP_PEER_AUTH_CHUNKS) | ||
691 | * | ||
692 | * This option gets a list of chunks for a specified association that | ||
693 | * the peer requires to be received authenticated only. | ||
694 | */ | ||
695 | struct sctp_authchunks { | ||
696 | sctp_assoc_t gauth_assoc_id; | ||
697 | uint8_t gauth_chunks[]; | ||
698 | }; | ||
699 | |||
700 | /* | ||
611 | * 8.3, 8.5 get all peer/local addresses in an association. | 701 | * 8.3, 8.5 get all peer/local addresses in an association. |
612 | * This parameter struct is used by SCTP_GET_PEER_ADDRS and | 702 | * This parameter struct is used by SCTP_GET_PEER_ADDRS and |
613 | * SCTP_GET_LOCAL_ADDRS socket options used internally to implement | 703 | * SCTP_GET_LOCAL_ADDRS socket options used internally to implement |
diff --git a/include/net/snmp.h b/include/net/snmp.h index 464970e39ec0..ea206bff0dc4 100644 --- a/include/net/snmp.h +++ b/include/net/snmp.h | |||
@@ -82,12 +82,23 @@ struct icmp_mib { | |||
82 | unsigned long mibs[ICMP_MIB_MAX]; | 82 | unsigned long mibs[ICMP_MIB_MAX]; |
83 | } __SNMP_MIB_ALIGN__; | 83 | } __SNMP_MIB_ALIGN__; |
84 | 84 | ||
85 | #define ICMPMSG_MIB_MAX __ICMPMSG_MIB_MAX | ||
86 | struct icmpmsg_mib { | ||
87 | unsigned long mibs[ICMPMSG_MIB_MAX]; | ||
88 | } __SNMP_MIB_ALIGN__; | ||
89 | |||
85 | /* ICMP6 (IPv6-ICMP) */ | 90 | /* ICMP6 (IPv6-ICMP) */ |
86 | #define ICMP6_MIB_MAX __ICMP6_MIB_MAX | 91 | #define ICMP6_MIB_MAX __ICMP6_MIB_MAX |
87 | struct icmpv6_mib { | 92 | struct icmpv6_mib { |
88 | unsigned long mibs[ICMP6_MIB_MAX]; | 93 | unsigned long mibs[ICMP6_MIB_MAX]; |
89 | } __SNMP_MIB_ALIGN__; | 94 | } __SNMP_MIB_ALIGN__; |
90 | 95 | ||
96 | #define ICMP6MSG_MIB_MAX __ICMP6MSG_MIB_MAX | ||
97 | struct icmpv6msg_mib { | ||
98 | unsigned long mibs[ICMP6MSG_MIB_MAX]; | ||
99 | } __SNMP_MIB_ALIGN__; | ||
100 | |||
101 | |||
91 | /* TCP */ | 102 | /* TCP */ |
92 | #define TCP_MIB_MAX __TCP_MIB_MAX | 103 | #define TCP_MIB_MAX __TCP_MIB_MAX |
93 | struct tcp_mib { | 104 | struct tcp_mib { |
diff --git a/include/net/sock.h b/include/net/sock.h index dfeb8b13024f..453c79d0915b 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -40,6 +40,7 @@ | |||
40 | #ifndef _SOCK_H | 40 | #ifndef _SOCK_H |
41 | #define _SOCK_H | 41 | #define _SOCK_H |
42 | 42 | ||
43 | #include <linux/kernel.h> | ||
43 | #include <linux/list.h> | 44 | #include <linux/list.h> |
44 | #include <linux/timer.h> | 45 | #include <linux/timer.h> |
45 | #include <linux/cache.h> | 46 | #include <linux/cache.h> |
@@ -55,6 +56,7 @@ | |||
55 | #include <asm/atomic.h> | 56 | #include <asm/atomic.h> |
56 | #include <net/dst.h> | 57 | #include <net/dst.h> |
57 | #include <net/checksum.h> | 58 | #include <net/checksum.h> |
59 | #include <net/net_namespace.h> | ||
58 | 60 | ||
59 | /* | 61 | /* |
60 | * This structure really needs to be cleaned up. | 62 | * This structure really needs to be cleaned up. |
@@ -75,10 +77,9 @@ | |||
75 | * between user contexts and software interrupt processing, whereas the | 77 | * between user contexts and software interrupt processing, whereas the |
76 | * mini-semaphore synchronizes multiple users amongst themselves. | 78 | * mini-semaphore synchronizes multiple users amongst themselves. |
77 | */ | 79 | */ |
78 | struct sock_iocb; | ||
79 | typedef struct { | 80 | typedef struct { |
80 | spinlock_t slock; | 81 | spinlock_t slock; |
81 | struct sock_iocb *owner; | 82 | int owned; |
82 | wait_queue_head_t wq; | 83 | wait_queue_head_t wq; |
83 | /* | 84 | /* |
84 | * We express the mutex-alike socket_lock semantics | 85 | * We express the mutex-alike socket_lock semantics |
@@ -105,6 +106,7 @@ struct proto; | |||
105 | * @skc_refcnt: reference count | 106 | * @skc_refcnt: reference count |
106 | * @skc_hash: hash value used with various protocol lookup tables | 107 | * @skc_hash: hash value used with various protocol lookup tables |
107 | * @skc_prot: protocol handlers inside a network family | 108 | * @skc_prot: protocol handlers inside a network family |
109 | * @skc_net: reference to the network namespace of this socket | ||
108 | * | 110 | * |
109 | * This is the minimal network layer representation of sockets, the header | 111 | * This is the minimal network layer representation of sockets, the header |
110 | * for struct sock and struct inet_timewait_sock. | 112 | * for struct sock and struct inet_timewait_sock. |
@@ -119,6 +121,7 @@ struct sock_common { | |||
119 | atomic_t skc_refcnt; | 121 | atomic_t skc_refcnt; |
120 | unsigned int skc_hash; | 122 | unsigned int skc_hash; |
121 | struct proto *skc_prot; | 123 | struct proto *skc_prot; |
124 | struct net *skc_net; | ||
122 | }; | 125 | }; |
123 | 126 | ||
124 | /** | 127 | /** |
@@ -195,6 +198,7 @@ struct sock { | |||
195 | #define sk_refcnt __sk_common.skc_refcnt | 198 | #define sk_refcnt __sk_common.skc_refcnt |
196 | #define sk_hash __sk_common.skc_hash | 199 | #define sk_hash __sk_common.skc_hash |
197 | #define sk_prot __sk_common.skc_prot | 200 | #define sk_prot __sk_common.skc_prot |
201 | #define sk_net __sk_common.skc_net | ||
198 | unsigned char sk_shutdown : 2, | 202 | unsigned char sk_shutdown : 2, |
199 | sk_no_check : 2, | 203 | sk_no_check : 2, |
200 | sk_userlocks : 4; | 204 | sk_userlocks : 4; |
@@ -481,17 +485,17 @@ static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) | |||
481 | skb->next = NULL; | 485 | skb->next = NULL; |
482 | } | 486 | } |
483 | 487 | ||
484 | #define sk_wait_event(__sk, __timeo, __condition) \ | 488 | #define sk_wait_event(__sk, __timeo, __condition) \ |
485 | ({ int rc; \ | 489 | ({ int __rc; \ |
486 | release_sock(__sk); \ | 490 | release_sock(__sk); \ |
487 | rc = __condition; \ | 491 | __rc = __condition; \ |
488 | if (!rc) { \ | 492 | if (!__rc) { \ |
489 | *(__timeo) = schedule_timeout(*(__timeo)); \ | 493 | *(__timeo) = schedule_timeout(*(__timeo)); \ |
490 | } \ | 494 | } \ |
491 | lock_sock(__sk); \ | 495 | lock_sock(__sk); \ |
492 | rc = __condition; \ | 496 | __rc = __condition; \ |
493 | rc; \ | 497 | __rc; \ |
494 | }) | 498 | }) |
495 | 499 | ||
496 | extern int sk_stream_wait_connect(struct sock *sk, long *timeo_p); | 500 | extern int sk_stream_wait_connect(struct sock *sk, long *timeo_p); |
497 | extern int sk_stream_wait_memory(struct sock *sk, long *timeo_p); | 501 | extern int sk_stream_wait_memory(struct sock *sk, long *timeo_p); |
@@ -702,7 +706,7 @@ extern int sk_stream_mem_schedule(struct sock *sk, int size, int kind); | |||
702 | 706 | ||
703 | static inline int sk_stream_pages(int amt) | 707 | static inline int sk_stream_pages(int amt) |
704 | { | 708 | { |
705 | return (amt + SK_STREAM_MEM_QUANTUM - 1) / SK_STREAM_MEM_QUANTUM; | 709 | return DIV_ROUND_UP(amt, SK_STREAM_MEM_QUANTUM); |
706 | } | 710 | } |
707 | 711 | ||
708 | static inline void sk_stream_mem_reclaim(struct sock *sk) | 712 | static inline void sk_stream_mem_reclaim(struct sock *sk) |
@@ -736,7 +740,7 @@ static inline int sk_stream_wmem_schedule(struct sock *sk, int size) | |||
736 | * Since ~2.3.5 it is also exclusive sleep lock serializing | 740 | * Since ~2.3.5 it is also exclusive sleep lock serializing |
737 | * accesses from user process context. | 741 | * accesses from user process context. |
738 | */ | 742 | */ |
739 | #define sock_owned_by_user(sk) ((sk)->sk_lock.owner) | 743 | #define sock_owned_by_user(sk) ((sk)->sk_lock.owned) |
740 | 744 | ||
741 | /* | 745 | /* |
742 | * Macro so as to not evaluate some arguments when | 746 | * Macro so as to not evaluate some arguments when |
@@ -747,7 +751,7 @@ static inline int sk_stream_wmem_schedule(struct sock *sk, int size) | |||
747 | */ | 751 | */ |
748 | #define sock_lock_init_class_and_name(sk, sname, skey, name, key) \ | 752 | #define sock_lock_init_class_and_name(sk, sname, skey, name, key) \ |
749 | do { \ | 753 | do { \ |
750 | sk->sk_lock.owner = NULL; \ | 754 | sk->sk_lock.owned = 0; \ |
751 | init_waitqueue_head(&sk->sk_lock.wq); \ | 755 | init_waitqueue_head(&sk->sk_lock.wq); \ |
752 | spin_lock_init(&(sk)->sk_lock.slock); \ | 756 | spin_lock_init(&(sk)->sk_lock.slock); \ |
753 | debug_check_no_locks_freed((void *)&(sk)->sk_lock, \ | 757 | debug_check_no_locks_freed((void *)&(sk)->sk_lock, \ |
@@ -773,7 +777,7 @@ extern void FASTCALL(release_sock(struct sock *sk)); | |||
773 | SINGLE_DEPTH_NESTING) | 777 | SINGLE_DEPTH_NESTING) |
774 | #define bh_unlock_sock(__sk) spin_unlock(&((__sk)->sk_lock.slock)) | 778 | #define bh_unlock_sock(__sk) spin_unlock(&((__sk)->sk_lock.slock)) |
775 | 779 | ||
776 | extern struct sock *sk_alloc(int family, | 780 | extern struct sock *sk_alloc(struct net *net, int family, |
777 | gfp_t priority, | 781 | gfp_t priority, |
778 | struct proto *prot, int zero_it); | 782 | struct proto *prot, int zero_it); |
779 | extern void sk_free(struct sock *sk); | 783 | extern void sk_free(struct sock *sk); |
@@ -1002,6 +1006,7 @@ static inline void sock_copy(struct sock *nsk, const struct sock *osk) | |||
1002 | #endif | 1006 | #endif |
1003 | 1007 | ||
1004 | memcpy(nsk, osk, osk->sk_prot->obj_size); | 1008 | memcpy(nsk, osk, osk->sk_prot->obj_size); |
1009 | get_net(nsk->sk_net); | ||
1005 | #ifdef CONFIG_SECURITY_NETWORK | 1010 | #ifdef CONFIG_SECURITY_NETWORK |
1006 | nsk->sk_security = sptr; | 1011 | nsk->sk_security = sptr; |
1007 | security_sk_clone(osk, nsk); | 1012 | security_sk_clone(osk, nsk); |
diff --git a/include/net/tc_act/tc_nat.h b/include/net/tc_act/tc_nat.h new file mode 100644 index 000000000000..4a691f34d703 --- /dev/null +++ b/include/net/tc_act/tc_nat.h | |||
@@ -0,0 +1,21 @@ | |||
1 | #ifndef __NET_TC_NAT_H | ||
2 | #define __NET_TC_NAT_H | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | #include <net/act_api.h> | ||
6 | |||
7 | struct tcf_nat { | ||
8 | struct tcf_common common; | ||
9 | |||
10 | __be32 old_addr; | ||
11 | __be32 new_addr; | ||
12 | __be32 mask; | ||
13 | u32 flags; | ||
14 | }; | ||
15 | |||
16 | static inline struct tcf_nat *to_tcf_nat(struct tcf_common *pc) | ||
17 | { | ||
18 | return container_of(pc, struct tcf_nat, common); | ||
19 | } | ||
20 | |||
21 | #endif /* __NET_TC_NAT_H */ | ||
diff --git a/include/net/tcp.h b/include/net/tcp.h index 54053de0bdd7..92049e681258 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <net/snmp.h> | 39 | #include <net/snmp.h> |
40 | #include <net/ip.h> | 40 | #include <net/ip.h> |
41 | #include <net/tcp_states.h> | 41 | #include <net/tcp_states.h> |
42 | #include <net/inet_ecn.h> | ||
42 | 43 | ||
43 | #include <linux/seq_file.h> | 44 | #include <linux/seq_file.h> |
44 | 45 | ||
@@ -330,6 +331,17 @@ static inline void tcp_clear_options(struct tcp_options_received *rx_opt) | |||
330 | rx_opt->tstamp_ok = rx_opt->sack_ok = rx_opt->wscale_ok = rx_opt->snd_wscale = 0; | 331 | rx_opt->tstamp_ok = rx_opt->sack_ok = rx_opt->wscale_ok = rx_opt->snd_wscale = 0; |
331 | } | 332 | } |
332 | 333 | ||
334 | #define TCP_ECN_OK 1 | ||
335 | #define TCP_ECN_QUEUE_CWR 2 | ||
336 | #define TCP_ECN_DEMAND_CWR 4 | ||
337 | |||
338 | static __inline__ void | ||
339 | TCP_ECN_create_request(struct request_sock *req, struct tcphdr *th) | ||
340 | { | ||
341 | if (sysctl_tcp_ecn && th->ece && th->cwr) | ||
342 | inet_rsk(req)->ecn_ok = 1; | ||
343 | } | ||
344 | |||
333 | enum tcp_tw_status | 345 | enum tcp_tw_status |
334 | { | 346 | { |
335 | TCP_TW_SUCCESS = 0, | 347 | TCP_TW_SUCCESS = 0, |
@@ -573,8 +585,6 @@ struct tcp_skb_cb { | |||
573 | 585 | ||
574 | #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0])) | 586 | #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0])) |
575 | 587 | ||
576 | #include <net/tcp_ecn.h> | ||
577 | |||
578 | /* Due to TSO, an SKB can be composed of multiple actual | 588 | /* Due to TSO, an SKB can be composed of multiple actual |
579 | * packets. To keep these tracked properly, we use this. | 589 | * packets. To keep these tracked properly, we use this. |
580 | */ | 590 | */ |
@@ -589,32 +599,19 @@ static inline int tcp_skb_mss(const struct sk_buff *skb) | |||
589 | return skb_shinfo(skb)->gso_size; | 599 | return skb_shinfo(skb)->gso_size; |
590 | } | 600 | } |
591 | 601 | ||
592 | static inline void tcp_dec_pcount_approx(__u32 *count, | 602 | static inline void tcp_dec_pcount_approx_int(__u32 *count, const int decr) |
593 | const struct sk_buff *skb) | ||
594 | { | 603 | { |
595 | if (*count) { | 604 | if (*count) { |
596 | *count -= tcp_skb_pcount(skb); | 605 | *count -= decr; |
597 | if ((int)*count < 0) | 606 | if ((int)*count < 0) |
598 | *count = 0; | 607 | *count = 0; |
599 | } | 608 | } |
600 | } | 609 | } |
601 | 610 | ||
602 | static inline void tcp_packets_out_inc(struct sock *sk, | 611 | static inline void tcp_dec_pcount_approx(__u32 *count, |
603 | const struct sk_buff *skb) | 612 | const struct sk_buff *skb) |
604 | { | ||
605 | struct tcp_sock *tp = tcp_sk(sk); | ||
606 | int orig = tp->packets_out; | ||
607 | |||
608 | tp->packets_out += tcp_skb_pcount(skb); | ||
609 | if (!orig) | ||
610 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, | ||
611 | inet_csk(sk)->icsk_rto, TCP_RTO_MAX); | ||
612 | } | ||
613 | |||
614 | static inline void tcp_packets_out_dec(struct tcp_sock *tp, | ||
615 | const struct sk_buff *skb) | ||
616 | { | 613 | { |
617 | tp->packets_out -= tcp_skb_pcount(skb); | 614 | tcp_dec_pcount_approx_int(count, tcp_skb_pcount(skb)); |
618 | } | 615 | } |
619 | 616 | ||
620 | /* Events passed to congestion control interface */ | 617 | /* Events passed to congestion control interface */ |
@@ -704,6 +701,39 @@ static inline void tcp_ca_event(struct sock *sk, const enum tcp_ca_event event) | |||
704 | icsk->icsk_ca_ops->cwnd_event(sk, event); | 701 | icsk->icsk_ca_ops->cwnd_event(sk, event); |
705 | } | 702 | } |
706 | 703 | ||
704 | /* These functions determine how the current flow behaves in respect of SACK | ||
705 | * handling. SACK is negotiated with the peer, and therefore it can vary | ||
706 | * between different flows. | ||
707 | * | ||
708 | * tcp_is_sack - SACK enabled | ||
709 | * tcp_is_reno - No SACK | ||
710 | * tcp_is_fack - FACK enabled, implies SACK enabled | ||
711 | */ | ||
712 | static inline int tcp_is_sack(const struct tcp_sock *tp) | ||
713 | { | ||
714 | return tp->rx_opt.sack_ok; | ||
715 | } | ||
716 | |||
717 | static inline int tcp_is_reno(const struct tcp_sock *tp) | ||
718 | { | ||
719 | return !tcp_is_sack(tp); | ||
720 | } | ||
721 | |||
722 | static inline int tcp_is_fack(const struct tcp_sock *tp) | ||
723 | { | ||
724 | return tp->rx_opt.sack_ok & 2; | ||
725 | } | ||
726 | |||
727 | static inline void tcp_enable_fack(struct tcp_sock *tp) | ||
728 | { | ||
729 | tp->rx_opt.sack_ok |= 2; | ||
730 | } | ||
731 | |||
732 | static inline unsigned int tcp_left_out(const struct tcp_sock *tp) | ||
733 | { | ||
734 | return tp->sacked_out + tp->lost_out; | ||
735 | } | ||
736 | |||
707 | /* This determines how many packets are "in the network" to the best | 737 | /* This determines how many packets are "in the network" to the best |
708 | * of our knowledge. In many cases it is conservative, but where | 738 | * of our knowledge. In many cases it is conservative, but where |
709 | * detailed information is available from the receiver (via SACK | 739 | * detailed information is available from the receiver (via SACK |
@@ -720,7 +750,7 @@ static inline void tcp_ca_event(struct sock *sk, const enum tcp_ca_event event) | |||
720 | */ | 750 | */ |
721 | static inline unsigned int tcp_packets_in_flight(const struct tcp_sock *tp) | 751 | static inline unsigned int tcp_packets_in_flight(const struct tcp_sock *tp) |
722 | { | 752 | { |
723 | return (tp->packets_out - tp->left_out + tp->retrans_out); | 753 | return tp->packets_out - tcp_left_out(tp) + tp->retrans_out; |
724 | } | 754 | } |
725 | 755 | ||
726 | /* If cwnd > ssthresh, we may raise ssthresh to be half-way to cwnd. | 756 | /* If cwnd > ssthresh, we may raise ssthresh to be half-way to cwnd. |
@@ -738,12 +768,8 @@ static inline __u32 tcp_current_ssthresh(const struct sock *sk) | |||
738 | (tp->snd_cwnd >> 2))); | 768 | (tp->snd_cwnd >> 2))); |
739 | } | 769 | } |
740 | 770 | ||
741 | static inline void tcp_sync_left_out(struct tcp_sock *tp) | 771 | /* Use define here intentionally to get WARN_ON location shown at the caller */ |
742 | { | 772 | #define tcp_verify_left_out(tp) WARN_ON(tcp_left_out(tp) > tp->packets_out) |
743 | BUG_ON(tp->rx_opt.sack_ok && | ||
744 | (tp->sacked_out + tp->lost_out > tp->packets_out)); | ||
745 | tp->left_out = tp->sacked_out + tp->lost_out; | ||
746 | } | ||
747 | 773 | ||
748 | extern void tcp_enter_cwr(struct sock *sk, const int set_ssthresh); | 774 | extern void tcp_enter_cwr(struct sock *sk, const int set_ssthresh); |
749 | extern __u32 tcp_init_cwnd(struct tcp_sock *tp, struct dst_entry *dst); | 775 | extern __u32 tcp_init_cwnd(struct tcp_sock *tp, struct dst_entry *dst); |
@@ -1040,12 +1066,18 @@ static inline void tcp_mib_init(void) | |||
1040 | TCP_ADD_STATS_USER(TCP_MIB_MAXCONN, -1); | 1066 | TCP_ADD_STATS_USER(TCP_MIB_MAXCONN, -1); |
1041 | } | 1067 | } |
1042 | 1068 | ||
1043 | /*from STCP */ | 1069 | /* from STCP */ |
1044 | static inline void clear_all_retrans_hints(struct tcp_sock *tp){ | 1070 | static inline void tcp_clear_retrans_hints_partial(struct tcp_sock *tp) |
1071 | { | ||
1045 | tp->lost_skb_hint = NULL; | 1072 | tp->lost_skb_hint = NULL; |
1046 | tp->scoreboard_skb_hint = NULL; | 1073 | tp->scoreboard_skb_hint = NULL; |
1047 | tp->retransmit_skb_hint = NULL; | 1074 | tp->retransmit_skb_hint = NULL; |
1048 | tp->forward_skb_hint = NULL; | 1075 | tp->forward_skb_hint = NULL; |
1076 | } | ||
1077 | |||
1078 | static inline void tcp_clear_all_retrans_hints(struct tcp_sock *tp) | ||
1079 | { | ||
1080 | tcp_clear_retrans_hints_partial(tp); | ||
1049 | tp->fastpath_skb_hint = NULL; | 1081 | tp->fastpath_skb_hint = NULL; |
1050 | } | 1082 | } |
1051 | 1083 | ||
diff --git a/include/net/tcp_ecn.h b/include/net/tcp_ecn.h deleted file mode 100644 index 89eb3e05116d..000000000000 --- a/include/net/tcp_ecn.h +++ /dev/null | |||
@@ -1,130 +0,0 @@ | |||
1 | #ifndef _NET_TCP_ECN_H_ | ||
2 | #define _NET_TCP_ECN_H_ 1 | ||
3 | |||
4 | #include <net/inet_ecn.h> | ||
5 | #include <net/request_sock.h> | ||
6 | |||
7 | #define TCP_HP_BITS (~(TCP_RESERVED_BITS|TCP_FLAG_PSH)) | ||
8 | |||
9 | #define TCP_ECN_OK 1 | ||
10 | #define TCP_ECN_QUEUE_CWR 2 | ||
11 | #define TCP_ECN_DEMAND_CWR 4 | ||
12 | |||
13 | static inline void TCP_ECN_queue_cwr(struct tcp_sock *tp) | ||
14 | { | ||
15 | if (tp->ecn_flags&TCP_ECN_OK) | ||
16 | tp->ecn_flags |= TCP_ECN_QUEUE_CWR; | ||
17 | } | ||
18 | |||
19 | |||
20 | /* Output functions */ | ||
21 | |||
22 | static inline void TCP_ECN_send_synack(struct tcp_sock *tp, | ||
23 | struct sk_buff *skb) | ||
24 | { | ||
25 | TCP_SKB_CB(skb)->flags &= ~TCPCB_FLAG_CWR; | ||
26 | if (!(tp->ecn_flags&TCP_ECN_OK)) | ||
27 | TCP_SKB_CB(skb)->flags &= ~TCPCB_FLAG_ECE; | ||
28 | } | ||
29 | |||
30 | static inline void TCP_ECN_send_syn(struct sock *sk, struct sk_buff *skb) | ||
31 | { | ||
32 | struct tcp_sock *tp = tcp_sk(sk); | ||
33 | |||
34 | tp->ecn_flags = 0; | ||
35 | if (sysctl_tcp_ecn) { | ||
36 | TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_ECE|TCPCB_FLAG_CWR; | ||
37 | tp->ecn_flags = TCP_ECN_OK; | ||
38 | } | ||
39 | } | ||
40 | |||
41 | static __inline__ void | ||
42 | TCP_ECN_make_synack(struct request_sock *req, struct tcphdr *th) | ||
43 | { | ||
44 | if (inet_rsk(req)->ecn_ok) | ||
45 | th->ece = 1; | ||
46 | } | ||
47 | |||
48 | static inline void TCP_ECN_send(struct sock *sk, struct sk_buff *skb, | ||
49 | int tcp_header_len) | ||
50 | { | ||
51 | struct tcp_sock *tp = tcp_sk(sk); | ||
52 | |||
53 | if (tp->ecn_flags & TCP_ECN_OK) { | ||
54 | /* Not-retransmitted data segment: set ECT and inject CWR. */ | ||
55 | if (skb->len != tcp_header_len && | ||
56 | !before(TCP_SKB_CB(skb)->seq, tp->snd_nxt)) { | ||
57 | INET_ECN_xmit(sk); | ||
58 | if (tp->ecn_flags&TCP_ECN_QUEUE_CWR) { | ||
59 | tp->ecn_flags &= ~TCP_ECN_QUEUE_CWR; | ||
60 | tcp_hdr(skb)->cwr = 1; | ||
61 | skb_shinfo(skb)->gso_type |= SKB_GSO_TCP_ECN; | ||
62 | } | ||
63 | } else { | ||
64 | /* ACK or retransmitted segment: clear ECT|CE */ | ||
65 | INET_ECN_dontxmit(sk); | ||
66 | } | ||
67 | if (tp->ecn_flags & TCP_ECN_DEMAND_CWR) | ||
68 | tcp_hdr(skb)->ece = 1; | ||
69 | } | ||
70 | } | ||
71 | |||
72 | /* Input functions */ | ||
73 | |||
74 | static inline void TCP_ECN_accept_cwr(struct tcp_sock *tp, struct sk_buff *skb) | ||
75 | { | ||
76 | if (tcp_hdr(skb)->cwr) | ||
77 | tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR; | ||
78 | } | ||
79 | |||
80 | static inline void TCP_ECN_withdraw_cwr(struct tcp_sock *tp) | ||
81 | { | ||
82 | tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR; | ||
83 | } | ||
84 | |||
85 | static inline void TCP_ECN_check_ce(struct tcp_sock *tp, struct sk_buff *skb) | ||
86 | { | ||
87 | if (tp->ecn_flags&TCP_ECN_OK) { | ||
88 | if (INET_ECN_is_ce(TCP_SKB_CB(skb)->flags)) | ||
89 | tp->ecn_flags |= TCP_ECN_DEMAND_CWR; | ||
90 | /* Funny extension: if ECT is not set on a segment, | ||
91 | * it is surely retransmit. It is not in ECN RFC, | ||
92 | * but Linux follows this rule. */ | ||
93 | else if (INET_ECN_is_not_ect((TCP_SKB_CB(skb)->flags))) | ||
94 | tcp_enter_quickack_mode((struct sock *)tp); | ||
95 | } | ||
96 | } | ||
97 | |||
98 | static inline void TCP_ECN_rcv_synack(struct tcp_sock *tp, struct tcphdr *th) | ||
99 | { | ||
100 | if ((tp->ecn_flags&TCP_ECN_OK) && (!th->ece || th->cwr)) | ||
101 | tp->ecn_flags &= ~TCP_ECN_OK; | ||
102 | } | ||
103 | |||
104 | static inline void TCP_ECN_rcv_syn(struct tcp_sock *tp, struct tcphdr *th) | ||
105 | { | ||
106 | if ((tp->ecn_flags&TCP_ECN_OK) && (!th->ece || !th->cwr)) | ||
107 | tp->ecn_flags &= ~TCP_ECN_OK; | ||
108 | } | ||
109 | |||
110 | static inline int TCP_ECN_rcv_ecn_echo(struct tcp_sock *tp, struct tcphdr *th) | ||
111 | { | ||
112 | if (th->ece && !th->syn && (tp->ecn_flags&TCP_ECN_OK)) | ||
113 | return 1; | ||
114 | return 0; | ||
115 | } | ||
116 | |||
117 | static inline void TCP_ECN_openreq_child(struct tcp_sock *tp, | ||
118 | struct request_sock *req) | ||
119 | { | ||
120 | tp->ecn_flags = inet_rsk(req)->ecn_ok ? TCP_ECN_OK : 0; | ||
121 | } | ||
122 | |||
123 | static __inline__ void | ||
124 | TCP_ECN_create_request(struct request_sock *req, struct tcphdr *th) | ||
125 | { | ||
126 | if (sysctl_tcp_ecn && th->ece && th->cwr) | ||
127 | inet_rsk(req)->ecn_ok = 1; | ||
128 | } | ||
129 | |||
130 | #endif | ||
diff --git a/include/net/veth.h b/include/net/veth.h new file mode 100644 index 000000000000..3354c1eb424e --- /dev/null +++ b/include/net/veth.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #ifndef __NET_VETH_H_ | ||
2 | #define __NET_VETH_H_ | ||
3 | |||
4 | enum { | ||
5 | VETH_INFO_UNSPEC, | ||
6 | VETH_INFO_PEER, | ||
7 | |||
8 | __VETH_INFO_MAX | ||
9 | #define VETH_INFO_MAX (__VETH_INFO_MAX - 1) | ||
10 | }; | ||
11 | |||
12 | #endif | ||
diff --git a/include/net/wext.h b/include/net/wext.h index c02b8decf3af..80b31d826b7a 100644 --- a/include/net/wext.h +++ b/include/net/wext.h | |||
@@ -5,16 +5,23 @@ | |||
5 | * wireless extensions interface to the core code | 5 | * wireless extensions interface to the core code |
6 | */ | 6 | */ |
7 | 7 | ||
8 | struct net; | ||
9 | |||
8 | #ifdef CONFIG_WIRELESS_EXT | 10 | #ifdef CONFIG_WIRELESS_EXT |
9 | extern int wext_proc_init(void); | 11 | extern int wext_proc_init(struct net *net); |
10 | extern int wext_handle_ioctl(struct ifreq *ifr, unsigned int cmd, | 12 | extern void wext_proc_exit(struct net *net); |
13 | extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd, | ||
11 | void __user *arg); | 14 | void __user *arg); |
12 | #else | 15 | #else |
13 | static inline int wext_proc_init(void) | 16 | static inline int wext_proc_init(struct net *net) |
14 | { | 17 | { |
15 | return 0; | 18 | return 0; |
16 | } | 19 | } |
17 | static inline int wext_handle_ioctl(struct ifreq *ifr, unsigned int cmd, | 20 | static inline void wext_proc_exit(struct net *net) |
21 | { | ||
22 | return; | ||
23 | } | ||
24 | static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd, | ||
18 | void __user *arg) | 25 | void __user *arg) |
19 | { | 26 | { |
20 | return -EINVAL; | 27 | return -EINVAL; |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index a5f80bfbaaa4..77be396ca633 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _NET_XFRM_H | 2 | #define _NET_XFRM_H |
3 | 3 | ||
4 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
5 | #include <linux/in.h> | ||
6 | #include <linux/xfrm.h> | 5 | #include <linux/xfrm.h> |
7 | #include <linux/spinlock.h> | 6 | #include <linux/spinlock.h> |
8 | #include <linux/list.h> | 7 | #include <linux/list.h> |
@@ -12,9 +11,11 @@ | |||
12 | #include <linux/ipsec.h> | 11 | #include <linux/ipsec.h> |
13 | #include <linux/in6.h> | 12 | #include <linux/in6.h> |
14 | #include <linux/mutex.h> | 13 | #include <linux/mutex.h> |
14 | #include <linux/audit.h> | ||
15 | 15 | ||
16 | #include <net/sock.h> | 16 | #include <net/sock.h> |
17 | #include <net/dst.h> | 17 | #include <net/dst.h> |
18 | #include <net/ip.h> | ||
18 | #include <net/route.h> | 19 | #include <net/route.h> |
19 | #include <net/ipv6.h> | 20 | #include <net/ipv6.h> |
20 | #include <net/ip6_fib.h> | 21 | #include <net/ip6_fib.h> |
@@ -278,6 +279,7 @@ struct xfrm_type | |||
278 | __u8 proto; | 279 | __u8 proto; |
279 | __u8 flags; | 280 | __u8 flags; |
280 | #define XFRM_TYPE_NON_FRAGMENT 1 | 281 | #define XFRM_TYPE_NON_FRAGMENT 1 |
282 | #define XFRM_TYPE_REPLAY_PROT 2 | ||
281 | 283 | ||
282 | int (*init_state)(struct xfrm_state *x); | 284 | int (*init_state)(struct xfrm_state *x); |
283 | void (*destructor)(struct xfrm_state *); | 285 | void (*destructor)(struct xfrm_state *); |
@@ -298,6 +300,18 @@ extern void xfrm_put_type(struct xfrm_type *type); | |||
298 | 300 | ||
299 | struct xfrm_mode { | 301 | struct xfrm_mode { |
300 | int (*input)(struct xfrm_state *x, struct sk_buff *skb); | 302 | int (*input)(struct xfrm_state *x, struct sk_buff *skb); |
303 | |||
304 | /* | ||
305 | * Add encapsulation header. | ||
306 | * | ||
307 | * On exit, the transport header will be set to the start of the | ||
308 | * encapsulation header to be filled in by x->type->output and | ||
309 | * the mac header will be set to the nextheader (protocol for | ||
310 | * IPv4) field of the extension header directly preceding the | ||
311 | * encapsulation header, or in its absence, that of the top IP | ||
312 | * header. The value of the network header will always point | ||
313 | * to the top IP header while skb->data will point to the payload. | ||
314 | */ | ||
301 | int (*output)(struct xfrm_state *x,struct sk_buff *skb); | 315 | int (*output)(struct xfrm_state *x,struct sk_buff *skb); |
302 | 316 | ||
303 | struct module *owner; | 317 | struct module *owner; |
@@ -418,18 +432,66 @@ extern int xfrm_unregister_km(struct xfrm_mgr *km); | |||
418 | 432 | ||
419 | extern unsigned int xfrm_policy_count[XFRM_POLICY_MAX*2]; | 433 | extern unsigned int xfrm_policy_count[XFRM_POLICY_MAX*2]; |
420 | 434 | ||
435 | /* | ||
436 | * This structure is used for the duration where packets are being | ||
437 | * transformed by IPsec. As soon as the packet leaves IPsec the | ||
438 | * area beyond the generic IP part may be overwritten. | ||
439 | */ | ||
440 | struct xfrm_skb_cb { | ||
441 | union { | ||
442 | struct inet_skb_parm h4; | ||
443 | struct inet6_skb_parm h6; | ||
444 | } header; | ||
445 | |||
446 | /* Sequence number for replay protection. */ | ||
447 | u64 seq; | ||
448 | }; | ||
449 | |||
450 | #define XFRM_SKB_CB(__skb) ((struct xfrm_skb_cb *)&((__skb)->cb[0])) | ||
451 | |||
421 | /* Audit Information */ | 452 | /* Audit Information */ |
422 | struct xfrm_audit | 453 | struct xfrm_audit |
423 | { | 454 | { |
424 | uid_t loginuid; | 455 | u32 loginuid; |
425 | u32 secid; | 456 | u32 secid; |
426 | }; | 457 | }; |
427 | 458 | ||
428 | #ifdef CONFIG_AUDITSYSCALL | 459 | #ifdef CONFIG_AUDITSYSCALL |
429 | extern void xfrm_audit_log(uid_t auid, u32 secid, int type, int result, | 460 | static inline struct audit_buffer *xfrm_audit_start(u32 auid, u32 sid) |
430 | struct xfrm_policy *xp, struct xfrm_state *x); | 461 | { |
462 | struct audit_buffer *audit_buf = NULL; | ||
463 | char *secctx; | ||
464 | u32 secctx_len; | ||
465 | |||
466 | audit_buf = audit_log_start(current->audit_context, GFP_ATOMIC, | ||
467 | AUDIT_MAC_IPSEC_EVENT); | ||
468 | if (audit_buf == NULL) | ||
469 | return NULL; | ||
470 | |||
471 | audit_log_format(audit_buf, "auid=%u", auid); | ||
472 | |||
473 | if (sid != 0 && | ||
474 | security_secid_to_secctx(sid, &secctx, &secctx_len) == 0) { | ||
475 | audit_log_format(audit_buf, " subj=%s", secctx); | ||
476 | security_release_secctx(secctx, secctx_len); | ||
477 | } else | ||
478 | audit_log_task_context(audit_buf); | ||
479 | return audit_buf; | ||
480 | } | ||
481 | |||
482 | extern void xfrm_audit_policy_add(struct xfrm_policy *xp, int result, | ||
483 | u32 auid, u32 sid); | ||
484 | extern void xfrm_audit_policy_delete(struct xfrm_policy *xp, int result, | ||
485 | u32 auid, u32 sid); | ||
486 | extern void xfrm_audit_state_add(struct xfrm_state *x, int result, | ||
487 | u32 auid, u32 sid); | ||
488 | extern void xfrm_audit_state_delete(struct xfrm_state *x, int result, | ||
489 | u32 auid, u32 sid); | ||
431 | #else | 490 | #else |
432 | #define xfrm_audit_log(a,s,t,r,p,x) do { ; } while (0) | 491 | #define xfrm_audit_policy_add(x, r, a, s) do { ; } while (0) |
492 | #define xfrm_audit_policy_delete(x, r, a, s) do { ; } while (0) | ||
493 | #define xfrm_audit_state_add(x, r, a, s) do { ; } while (0) | ||
494 | #define xfrm_audit_state_delete(x, r, a, s) do { ; } while (0) | ||
433 | #endif /* CONFIG_AUDITSYSCALL */ | 495 | #endif /* CONFIG_AUDITSYSCALL */ |
434 | 496 | ||
435 | static inline void xfrm_pol_hold(struct xfrm_policy *policy) | 497 | static inline void xfrm_pol_hold(struct xfrm_policy *policy) |
@@ -981,9 +1043,9 @@ extern void xfrm_spd_getinfo(struct xfrmk_spdinfo *si); | |||
981 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); | 1043 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); |
982 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); | 1044 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); |
983 | extern void xfrm_replay_notify(struct xfrm_state *x, int event); | 1045 | extern void xfrm_replay_notify(struct xfrm_state *x, int event); |
984 | extern int xfrm_state_check(struct xfrm_state *x, struct sk_buff *skb); | ||
985 | extern int xfrm_state_mtu(struct xfrm_state *x, int mtu); | 1046 | extern int xfrm_state_mtu(struct xfrm_state *x, int mtu); |
986 | extern int xfrm_init_state(struct xfrm_state *x); | 1047 | extern int xfrm_init_state(struct xfrm_state *x); |
1048 | extern int xfrm_output(struct sk_buff *skb); | ||
987 | extern int xfrm4_rcv(struct sk_buff *skb); | 1049 | extern int xfrm4_rcv(struct sk_buff *skb); |
988 | extern int xfrm4_output(struct sk_buff *skb); | 1050 | extern int xfrm4_output(struct sk_buff *skb); |
989 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); | 1051 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); |
@@ -1034,7 +1096,7 @@ struct xfrm_policy *xfrm_policy_bysel_ctx(u8 type, int dir, | |||
1034 | struct xfrm_policy *xfrm_policy_byid(u8, int dir, u32 id, int delete, int *err); | 1096 | struct xfrm_policy *xfrm_policy_byid(u8, int dir, u32 id, int delete, int *err); |
1035 | int xfrm_policy_flush(u8 type, struct xfrm_audit *audit_info); | 1097 | int xfrm_policy_flush(u8 type, struct xfrm_audit *audit_info); |
1036 | u32 xfrm_get_acqseq(void); | 1098 | u32 xfrm_get_acqseq(void); |
1037 | void xfrm_alloc_spi(struct xfrm_state *x, __be32 minspi, __be32 maxspi); | 1099 | extern int xfrm_alloc_spi(struct xfrm_state *x, u32 minspi, u32 maxspi); |
1038 | struct xfrm_state * xfrm_find_acq(u8 mode, u32 reqid, u8 proto, | 1100 | struct xfrm_state * xfrm_find_acq(u8 mode, u32 reqid, u8 proto, |
1039 | xfrm_address_t *daddr, xfrm_address_t *saddr, | 1101 | xfrm_address_t *daddr, xfrm_address_t *saddr, |
1040 | int create, unsigned short family); | 1102 | int create, unsigned short family); |
@@ -1113,12 +1175,6 @@ static inline int xfrm_aevent_is_on(void) | |||
1113 | return ret; | 1175 | return ret; |
1114 | } | 1176 | } |
1115 | 1177 | ||
1116 | static inline void xfrm_aevent_doreplay(struct xfrm_state *x) | ||
1117 | { | ||
1118 | if (xfrm_aevent_is_on()) | ||
1119 | xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); | ||
1120 | } | ||
1121 | |||
1122 | #ifdef CONFIG_XFRM_MIGRATE | 1178 | #ifdef CONFIG_XFRM_MIGRATE |
1123 | static inline struct xfrm_algo *xfrm_algo_clone(struct xfrm_algo *orig) | 1179 | static inline struct xfrm_algo *xfrm_algo_clone(struct xfrm_algo *orig) |
1124 | { | 1180 | { |
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h index 12243e80c706..a627c8682d2f 100644 --- a/include/rdma/ib_cm.h +++ b/include/rdma/ib_cm.h | |||
@@ -477,12 +477,15 @@ int ib_send_cm_rej(struct ib_cm_id *cm_id, | |||
477 | const void *private_data, | 477 | const void *private_data, |
478 | u8 private_data_len); | 478 | u8 private_data_len); |
479 | 479 | ||
480 | #define IB_CM_MRA_FLAG_DELAY 0x80 /* Send MRA only after a duplicate msg */ | ||
481 | |||
480 | /** | 482 | /** |
481 | * ib_send_cm_mra - Sends a message receipt acknowledgement to a connection | 483 | * ib_send_cm_mra - Sends a message receipt acknowledgement to a connection |
482 | * message. | 484 | * message. |
483 | * @cm_id: Connection identifier associated with the connection message. | 485 | * @cm_id: Connection identifier associated with the connection message. |
484 | * @service_timeout: The maximum time required for the sender to reply to | 486 | * @service_timeout: The lower 5-bits specify the maximum time required for |
485 | * to the connection message. | 487 | * the sender to reply to to the connection message. The upper 3-bits |
488 | * specify additional control flags. | ||
486 | * @private_data: Optional user-defined private data sent with the | 489 | * @private_data: Optional user-defined private data sent with the |
487 | * message receipt acknowledgement. | 490 | * message receipt acknowledgement. |
488 | * @private_data_len: Size of the private data buffer, in bytes. | 491 | * @private_data_len: Size of the private data buffer, in bytes. |
diff --git a/include/rdma/ib_sa.h b/include/rdma/ib_sa.h index 5e26b2f53f86..942692b0b92e 100644 --- a/include/rdma/ib_sa.h +++ b/include/rdma/ib_sa.h | |||
@@ -109,8 +109,8 @@ enum ib_sa_selector { | |||
109 | * Reserved rows are indicated with comments to help maintainability. | 109 | * Reserved rows are indicated with comments to help maintainability. |
110 | */ | 110 | */ |
111 | 111 | ||
112 | /* reserved: 0 */ | 112 | #define IB_SA_PATH_REC_SERVICE_ID (IB_SA_COMP_MASK( 0) |\ |
113 | /* reserved: 1 */ | 113 | IB_SA_COMP_MASK( 1)) |
114 | #define IB_SA_PATH_REC_DGID IB_SA_COMP_MASK( 2) | 114 | #define IB_SA_PATH_REC_DGID IB_SA_COMP_MASK( 2) |
115 | #define IB_SA_PATH_REC_SGID IB_SA_COMP_MASK( 3) | 115 | #define IB_SA_PATH_REC_SGID IB_SA_COMP_MASK( 3) |
116 | #define IB_SA_PATH_REC_DLID IB_SA_COMP_MASK( 4) | 116 | #define IB_SA_PATH_REC_DLID IB_SA_COMP_MASK( 4) |
@@ -123,7 +123,7 @@ enum ib_sa_selector { | |||
123 | #define IB_SA_PATH_REC_REVERSIBLE IB_SA_COMP_MASK(11) | 123 | #define IB_SA_PATH_REC_REVERSIBLE IB_SA_COMP_MASK(11) |
124 | #define IB_SA_PATH_REC_NUMB_PATH IB_SA_COMP_MASK(12) | 124 | #define IB_SA_PATH_REC_NUMB_PATH IB_SA_COMP_MASK(12) |
125 | #define IB_SA_PATH_REC_PKEY IB_SA_COMP_MASK(13) | 125 | #define IB_SA_PATH_REC_PKEY IB_SA_COMP_MASK(13) |
126 | /* reserved: 14 */ | 126 | #define IB_SA_PATH_REC_QOS_CLASS IB_SA_COMP_MASK(14) |
127 | #define IB_SA_PATH_REC_SL IB_SA_COMP_MASK(15) | 127 | #define IB_SA_PATH_REC_SL IB_SA_COMP_MASK(15) |
128 | #define IB_SA_PATH_REC_MTU_SELECTOR IB_SA_COMP_MASK(16) | 128 | #define IB_SA_PATH_REC_MTU_SELECTOR IB_SA_COMP_MASK(16) |
129 | #define IB_SA_PATH_REC_MTU IB_SA_COMP_MASK(17) | 129 | #define IB_SA_PATH_REC_MTU IB_SA_COMP_MASK(17) |
@@ -134,8 +134,7 @@ enum ib_sa_selector { | |||
134 | #define IB_SA_PATH_REC_PREFERENCE IB_SA_COMP_MASK(22) | 134 | #define IB_SA_PATH_REC_PREFERENCE IB_SA_COMP_MASK(22) |
135 | 135 | ||
136 | struct ib_sa_path_rec { | 136 | struct ib_sa_path_rec { |
137 | /* reserved */ | 137 | __be64 service_id; |
138 | /* reserved */ | ||
139 | union ib_gid dgid; | 138 | union ib_gid dgid; |
140 | union ib_gid sgid; | 139 | union ib_gid sgid; |
141 | __be16 dlid; | 140 | __be16 dlid; |
@@ -148,7 +147,7 @@ struct ib_sa_path_rec { | |||
148 | int reversible; | 147 | int reversible; |
149 | u8 numb_path; | 148 | u8 numb_path; |
150 | __be16 pkey; | 149 | __be16 pkey; |
151 | /* reserved */ | 150 | __be16 qos_class; |
152 | u8 sl; | 151 | u8 sl; |
153 | u8 mtu_selector; | 152 | u8 mtu_selector; |
154 | u8 mtu; | 153 | u8 mtu; |
diff --git a/include/rdma/ib_umem.h b/include/rdma/ib_umem.h index c533d6c7903f..22298423cf0b 100644 --- a/include/rdma/ib_umem.h +++ b/include/rdma/ib_umem.h | |||
@@ -45,6 +45,7 @@ struct ib_umem { | |||
45 | int offset; | 45 | int offset; |
46 | int page_size; | 46 | int page_size; |
47 | int writable; | 47 | int writable; |
48 | int hugetlb; | ||
48 | struct list_head chunk_list; | 49 | struct list_head chunk_list; |
49 | struct work_struct work; | 50 | struct work_struct work; |
50 | struct mm_struct *mm; | 51 | struct mm_struct *mm; |
diff --git a/include/rdma/ib_user_mad.h b/include/rdma/ib_user_mad.h index d66b15ea82c4..29d2c7205a90 100644 --- a/include/rdma/ib_user_mad.h +++ b/include/rdma/ib_user_mad.h | |||
@@ -52,7 +52,50 @@ | |||
52 | */ | 52 | */ |
53 | 53 | ||
54 | /** | 54 | /** |
55 | * ib_user_mad_hdr_old - Old version of MAD packet header without pkey_index | ||
56 | * @id - ID of agent MAD received with/to be sent with | ||
57 | * @status - 0 on successful receive, ETIMEDOUT if no response | ||
58 | * received (transaction ID in data[] will be set to TID of original | ||
59 | * request) (ignored on send) | ||
60 | * @timeout_ms - Milliseconds to wait for response (unset on receive) | ||
61 | * @retries - Number of automatic retries to attempt | ||
62 | * @qpn - Remote QP number received from/to be sent to | ||
63 | * @qkey - Remote Q_Key to be sent with (unset on receive) | ||
64 | * @lid - Remote lid received from/to be sent to | ||
65 | * @sl - Service level received with/to be sent with | ||
66 | * @path_bits - Local path bits received with/to be sent with | ||
67 | * @grh_present - If set, GRH was received/should be sent | ||
68 | * @gid_index - Local GID index to send with (unset on receive) | ||
69 | * @hop_limit - Hop limit in GRH | ||
70 | * @traffic_class - Traffic class in GRH | ||
71 | * @gid - Remote GID in GRH | ||
72 | * @flow_label - Flow label in GRH | ||
73 | */ | ||
74 | struct ib_user_mad_hdr_old { | ||
75 | __u32 id; | ||
76 | __u32 status; | ||
77 | __u32 timeout_ms; | ||
78 | __u32 retries; | ||
79 | __u32 length; | ||
80 | __be32 qpn; | ||
81 | __be32 qkey; | ||
82 | __be16 lid; | ||
83 | __u8 sl; | ||
84 | __u8 path_bits; | ||
85 | __u8 grh_present; | ||
86 | __u8 gid_index; | ||
87 | __u8 hop_limit; | ||
88 | __u8 traffic_class; | ||
89 | __u8 gid[16]; | ||
90 | __be32 flow_label; | ||
91 | }; | ||
92 | |||
93 | /** | ||
55 | * ib_user_mad_hdr - MAD packet header | 94 | * ib_user_mad_hdr - MAD packet header |
95 | * This layout allows specifying/receiving the P_Key index. To use | ||
96 | * this capability, an application must call the | ||
97 | * IB_USER_MAD_ENABLE_PKEY ioctl on the user MAD file handle before | ||
98 | * any other actions with the file handle. | ||
56 | * @id - ID of agent MAD received with/to be sent with | 99 | * @id - ID of agent MAD received with/to be sent with |
57 | * @status - 0 on successful receive, ETIMEDOUT if no response | 100 | * @status - 0 on successful receive, ETIMEDOUT if no response |
58 | * received (transaction ID in data[] will be set to TID of original | 101 | * received (transaction ID in data[] will be set to TID of original |
@@ -70,6 +113,7 @@ | |||
70 | * @traffic_class - Traffic class in GRH | 113 | * @traffic_class - Traffic class in GRH |
71 | * @gid - Remote GID in GRH | 114 | * @gid - Remote GID in GRH |
72 | * @flow_label - Flow label in GRH | 115 | * @flow_label - Flow label in GRH |
116 | * @pkey_index - P_Key index | ||
73 | */ | 117 | */ |
74 | struct ib_user_mad_hdr { | 118 | struct ib_user_mad_hdr { |
75 | __u32 id; | 119 | __u32 id; |
@@ -88,6 +132,8 @@ struct ib_user_mad_hdr { | |||
88 | __u8 traffic_class; | 132 | __u8 traffic_class; |
89 | __u8 gid[16]; | 133 | __u8 gid[16]; |
90 | __be32 flow_label; | 134 | __be32 flow_label; |
135 | __u16 pkey_index; | ||
136 | __u8 reserved[6]; | ||
91 | }; | 137 | }; |
92 | 138 | ||
93 | /** | 139 | /** |
@@ -101,6 +147,26 @@ struct ib_user_mad { | |||
101 | __u64 data[0]; | 147 | __u64 data[0]; |
102 | }; | 148 | }; |
103 | 149 | ||
150 | /* | ||
151 | * Earlier versions of this interface definition declared the | ||
152 | * method_mask[] member as an array of __u32 but treated it as a | ||
153 | * bitmap made up of longs in the kernel. This ambiguity meant that | ||
154 | * 32-bit big-endian applications that can run on both 32-bit and | ||
155 | * 64-bit kernels had no consistent ABI to rely on, and 64-bit | ||
156 | * big-endian applications that treated method_mask as being made up | ||
157 | * of 32-bit words would have their bitmap misinterpreted. | ||
158 | * | ||
159 | * To clear up this confusion, we change the declaration of | ||
160 | * method_mask[] to use unsigned long and handle the conversion from | ||
161 | * 32-bit userspace to 64-bit kernel for big-endian systems in the | ||
162 | * compat_ioctl method. Unfortunately, to keep the structure layout | ||
163 | * the same, we need the method_mask[] array to be aligned only to 4 | ||
164 | * bytes even when long is 64 bits, which forces us into this ugly | ||
165 | * typedef. | ||
166 | */ | ||
167 | typedef unsigned long __attribute__((aligned(4))) packed_ulong; | ||
168 | #define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) | ||
169 | |||
104 | /** | 170 | /** |
105 | * ib_user_mad_reg_req - MAD registration request | 171 | * ib_user_mad_reg_req - MAD registration request |
106 | * @id - Set by the kernel; used to identify agent in future requests. | 172 | * @id - Set by the kernel; used to identify agent in future requests. |
@@ -119,7 +185,7 @@ struct ib_user_mad { | |||
119 | */ | 185 | */ |
120 | struct ib_user_mad_reg_req { | 186 | struct ib_user_mad_reg_req { |
121 | __u32 id; | 187 | __u32 id; |
122 | __u32 method_mask[4]; | 188 | packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; |
123 | __u8 qpn; | 189 | __u8 qpn; |
124 | __u8 mgmt_class; | 190 | __u8 mgmt_class; |
125 | __u8 mgmt_class_version; | 191 | __u8 mgmt_class_version; |
@@ -134,4 +200,6 @@ struct ib_user_mad_reg_req { | |||
134 | 200 | ||
135 | #define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, __u32) | 201 | #define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, __u32) |
136 | 202 | ||
203 | #define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) | ||
204 | |||
137 | #endif /* IB_USER_MAD_H */ | 205 | #endif /* IB_USER_MAD_H */ |
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index 2d6a7705eae7..010f876f41d8 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h | |||
@@ -314,4 +314,18 @@ int rdma_join_multicast(struct rdma_cm_id *id, struct sockaddr *addr, | |||
314 | */ | 314 | */ |
315 | void rdma_leave_multicast(struct rdma_cm_id *id, struct sockaddr *addr); | 315 | void rdma_leave_multicast(struct rdma_cm_id *id, struct sockaddr *addr); |
316 | 316 | ||
317 | /** | ||
318 | * rdma_set_service_type - Set the type of service associated with a | ||
319 | * connection identifier. | ||
320 | * @id: Communication identifier to associated with service type. | ||
321 | * @tos: Type of service. | ||
322 | * | ||
323 | * The type of service is interpretted as a differentiated service | ||
324 | * field (RFC 2474). The service type should be specified before | ||
325 | * performing route resolution, as existing communication on the | ||
326 | * connection identifier may be unaffected. The type of service | ||
327 | * requested may not be supported by the network to all destinations. | ||
328 | */ | ||
329 | void rdma_set_service_type(struct rdma_cm_id *id, int tos); | ||
330 | |||
317 | #endif /* RDMA_CM_H */ | 331 | #endif /* RDMA_CM_H */ |
diff --git a/include/rdma/rdma_user_cm.h b/include/rdma/rdma_user_cm.h index f632b0c007c9..9749c1b34d00 100644 --- a/include/rdma/rdma_user_cm.h +++ b/include/rdma/rdma_user_cm.h | |||
@@ -212,4 +212,22 @@ struct rdma_ucm_event_resp { | |||
212 | } param; | 212 | } param; |
213 | }; | 213 | }; |
214 | 214 | ||
215 | /* Option levels */ | ||
216 | enum { | ||
217 | RDMA_OPTION_ID = 0 | ||
218 | }; | ||
219 | |||
220 | /* Option details */ | ||
221 | enum { | ||
222 | RDMA_OPTION_ID_TOS = 0 | ||
223 | }; | ||
224 | |||
225 | struct rdma_ucm_set_option { | ||
226 | __u64 optval; | ||
227 | __u32 id; | ||
228 | __u32 level; | ||
229 | __u32 optname; | ||
230 | __u32 optlen; | ||
231 | }; | ||
232 | |||
215 | #endif /* RDMA_USER_CM_H */ | 233 | #endif /* RDMA_USER_CM_H */ |