From 119a5cf42228e3a059781087af8ba629eec95b3e Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Thu, 19 Feb 2009 16:48:14 -0500 Subject: [PATCH] --- yaml --- r: 131862 b: refs/heads/master c: 954a8b8162ecab1d5ddf6c5b993b2d4da3fcaef7 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/ABI/testing/sysfs-bus-pci | 43 - trunk/Documentation/dvb/README.flexcop | 205 ++ trunk/Documentation/dvb/technisat.txt | 34 +- trunk/Documentation/kernel-parameters.txt | 10 +- trunk/arch/arm/mach-rpc/riscpc.c | 6 - trunk/arch/ia64/Kconfig | 11 - trunk/arch/ia64/kernel/iosapic.c | 2 +- trunk/arch/ia64/kernel/unwind.c | 2 +- trunk/arch/powerpc/kernel/align.c | 29 +- trunk/arch/powerpc/lib/copyuser_64.S | 38 +- trunk/arch/powerpc/lib/memcpy_64.S | 26 +- trunk/arch/powerpc/sysdev/ppc4xx_pci.c | 17 - trunk/arch/sh/boards/board-ap325rxa.c | 53 +- trunk/arch/sh/kernel/cpu/sh2a/clock-sh7201.c | 4 +- trunk/arch/sparc/kernel/chmc.c | 1 - trunk/block/blk-merge.c | 94 +- trunk/block/genhd.c | 16 - trunk/crypto/ahash.c | 2 +- trunk/drivers/ata/pata_amd.c | 76 +- trunk/drivers/ata/pata_it821x.c | 3 - trunk/drivers/ata/pata_legacy.c | 7 +- trunk/drivers/ata/sata_mv.c | 20 +- trunk/drivers/atm/lanai.c | 2 +- trunk/drivers/block/cciss.c | 10 +- trunk/drivers/block/xen-blkfront.c | 30 +- trunk/drivers/gpu/drm/drm_crtc_helper.c | 76 +- trunk/drivers/gpu/drm/drm_edid.c | 6 +- trunk/drivers/gpu/drm/drm_irq.c | 14 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 2 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 10 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 5 +- trunk/drivers/gpu/drm/i915/intel_bios.c | 6 - trunk/drivers/gpu/drm/i915/intel_display.c | 2 +- trunk/drivers/i2c/busses/i2c-acorn.c | 5 +- trunk/drivers/i2c/busses/i2c-amd8111.c | 4 +- trunk/drivers/i2c/busses/i2c-ixp2000.c | 2 +- trunk/drivers/i2c/busses/i2c-pxa.c | 2 +- trunk/drivers/i2c/busses/scx200_i2c.c | 2 +- trunk/drivers/i2c/i2c-core.c | 3 +- trunk/drivers/i2c/i2c-dev.c | 6 +- trunk/drivers/ide/Kconfig | 2 +- trunk/drivers/ide/amd74xx.c | 2 +- trunk/drivers/ide/atiixp.c | 4 +- trunk/drivers/ide/ide-cd.c | 35 +- trunk/drivers/ide/ide-cd.h | 2 +- trunk/drivers/ide/ide-gd.c | 26 +- trunk/drivers/ide/ide-gd.h | 2 +- trunk/drivers/ide/ide-tape.c | 29 +- trunk/drivers/ide/ide.c | 11 +- trunk/drivers/ide/it821x.c | 5 +- trunk/drivers/ieee1394/dma.h | 1 - trunk/drivers/ieee1394/ieee1394_core.c | 3 +- .../drivers/ieee1394/ieee1394_transactions.c | 31 +- .../drivers/ieee1394/ieee1394_transactions.h | 2 - trunk/drivers/ieee1394/iso.h | 1 - trunk/drivers/ieee1394/nodemgr.c | 10 +- trunk/drivers/ieee1394/nodemgr.h | 18 - trunk/drivers/isdn/sc/shmem.c | 2 +- trunk/drivers/md/raid1.c | 3 +- trunk/drivers/md/raid10.c | 19 +- trunk/drivers/media/dvb/Kconfig | 4 - trunk/drivers/media/dvb/Makefile | 2 - .../media/dvb/b2c2/flexcop-hw-filter.c | 1 - trunk/drivers/media/dvb/b2c2/flexcop-pci.c | 65 +- trunk/drivers/media/dvb/b2c2/flexcop.c | 3 +- trunk/drivers/media/dvb/firewire/Kconfig | 22 - trunk/drivers/media/dvb/firewire/Makefile | 8 - .../drivers/media/dvb/firewire/firedtv-1394.c | 285 -- .../drivers/media/dvb/firewire/firedtv-avc.c | 1315 -------- trunk/drivers/media/dvb/firewire/firedtv-ci.c | 260 -- .../drivers/media/dvb/firewire/firedtv-dvb.c | 364 --- trunk/drivers/media/dvb/firewire/firedtv-fe.c | 247 -- trunk/drivers/media/dvb/firewire/firedtv-rc.c | 190 -- trunk/drivers/media/dvb/firewire/firedtv.h | 182 -- .../drivers/media/video/em28xx/em28xx-audio.c | 2 - trunk/drivers/media/video/pxa_camera.c | 26 +- .../media/video/sh_mobile_ceu_camera.c | 13 +- trunk/drivers/misc/hpilo.c | 3 +- trunk/drivers/mtd/chips/map_rom.c | 8 - trunk/drivers/mtd/devices/slram.c | 14 +- trunk/drivers/mtd/lpddr/Kconfig | 1 - trunk/drivers/mtd/maps/Kconfig | 2 +- trunk/drivers/mtd/maps/bfin-async-flash.c | 6 +- trunk/drivers/mtd/maps/ck804xrom.c | 2 +- trunk/drivers/mtd/maps/physmap.c | 38 +- trunk/drivers/net/Kconfig | 11 - trunk/drivers/net/Makefile | 1 - trunk/drivers/net/atl1c/Makefile | 2 - trunk/drivers/net/atl1c/atl1c.h | 606 ---- trunk/drivers/net/atl1c/atl1c_ethtool.c | 317 -- trunk/drivers/net/atl1c/atl1c_hw.c | 527 ---- trunk/drivers/net/atl1c/atl1c_hw.h | 859 ----- trunk/drivers/net/atl1c/atl1c_main.c | 2797 ----------------- trunk/drivers/net/cxgb3/cxgb3_main.c | 1 - trunk/drivers/net/cxgb3/t3_hw.c | 7 - trunk/drivers/net/forcedeth.c | 13 +- trunk/drivers/net/mv643xx_eth.c | 9 +- trunk/drivers/net/smsc911x.c | 2 +- trunk/drivers/net/smsc9420.c | 6 +- trunk/drivers/net/smsc9420.h | 1 - trunk/drivers/net/sundance.c | 2 +- trunk/drivers/net/sungem.c | 2 +- trunk/drivers/net/sunlance.c | 4 +- trunk/drivers/net/tg3.c | 4 +- trunk/drivers/net/veth.c | 9 +- trunk/drivers/net/wimax/i2400m/i2400m.h | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-tx.c | 8 +- trunk/drivers/pci/dmar.c | 73 +- trunk/drivers/pci/hotplug/pciehp.h | 2 - trunk/drivers/pci/hotplug/pciehp_core.c | 7 - trunk/drivers/pci/hotplug/pciehp_hpc.c | 15 +- trunk/drivers/pci/intr_remapping.c | 21 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 48 +- trunk/drivers/pci/pcie/portdrv_pci.c | 2 + trunk/drivers/pci/quirks.c | 122 +- trunk/drivers/serial/sh-sci.h | 2 +- trunk/drivers/w1/slaves/Kconfig | 6 - trunk/drivers/w1/slaves/Makefile | 1 - trunk/drivers/w1/slaves/w1_ds2433.c | 7 +- trunk/fs/bio.c | 2 +- trunk/fs/btrfs/btrfs_inode.h | 8 - trunk/fs/btrfs/ctree.h | 40 +- trunk/fs/btrfs/extent-tree.c | 252 +- trunk/fs/btrfs/file.c | 16 +- trunk/fs/btrfs/inode.c | 62 +- trunk/fs/btrfs/ioctl.c | 6 +- trunk/fs/compat_ioctl.c | 3 - trunk/fs/dcache.c | 2 +- trunk/fs/ext4/ialloc.c | 7 - trunk/fs/ext4/inode.c | 9 +- trunk/fs/jffs2/background.c | 18 +- trunk/fs/jffs2/readinode.c | 42 +- trunk/fs/ocfs2/alloc.c | 27 +- trunk/fs/ocfs2/dlm/dlmmaster.c | 12 +- trunk/fs/ocfs2/dlm/dlmthread.c | 3 +- trunk/fs/ocfs2/dlm/dlmunlock.c | 4 +- trunk/fs/ocfs2/dlmglue.c | 11 +- trunk/fs/ocfs2/ocfs2.h | 3 - trunk/fs/ocfs2/super.c | 8 - trunk/fs/ocfs2/xattr.c | 27 +- trunk/fs/proc/inode.c | 4 +- trunk/fs/proc/page.c | 2 +- trunk/include/drm/drm_crtc_helper.h | 1 - trunk/include/drm/drm_edid.h | 4 +- trunk/include/linux/blkdev.h | 2 - trunk/include/linux/i2c-dev.h | 2 +- trunk/include/linux/i2c.h | 2 +- trunk/include/linux/ide.h | 2 +- trunk/include/linux/if_vlan.h | 1 - trunk/include/linux/intel-iommu.h | 3 +- trunk/include/linux/skbuff.h | 9 + trunk/include/linux/user_namespace.h | 1 - trunk/include/net/sock.h | 1 + trunk/kernel/user_namespace.c | 21 +- trunk/mm/shmem.c | 43 +- trunk/mm/vmalloc.c | 10 +- trunk/net/core/net_namespace.c | 86 +- trunk/net/core/skbuff.c | 8 + trunk/net/core/sock.c | 3 +- trunk/net/ipv4/tcp_output.c | 1 + trunk/scripts/checkpatch.pl | 26 +- trunk/sound/core/oss/rate.c | 2 +- trunk/sound/pci/aw2/aw2-alsa.c | 2 +- trunk/sound/pci/emu10k1/emu10k1_main.c | 1 - trunk/sound/pci/hda/hda_hwdep.c | 15 +- trunk/sound/pci/hda/patch_realtek.c | 3 - trunk/sound/pci/pcxhr/pcxhr.h | 12 +- 168 files changed, 876 insertions(+), 9608 deletions(-) create mode 100644 trunk/Documentation/dvb/README.flexcop delete mode 100644 trunk/drivers/media/dvb/firewire/Kconfig delete mode 100644 trunk/drivers/media/dvb/firewire/Makefile delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-1394.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-avc.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-ci.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-dvb.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-fe.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv-rc.c delete mode 100644 trunk/drivers/media/dvb/firewire/firedtv.h delete mode 100644 trunk/drivers/net/atl1c/Makefile delete mode 100644 trunk/drivers/net/atl1c/atl1c.h delete mode 100644 trunk/drivers/net/atl1c/atl1c_ethtool.c delete mode 100644 trunk/drivers/net/atl1c/atl1c_hw.c delete mode 100644 trunk/drivers/net/atl1c/atl1c_hw.h delete mode 100644 trunk/drivers/net/atl1c/atl1c_main.c diff --git a/[refs] b/[refs] index 59310e935141..655aeaa98fad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6febf65b2965858507e4d55afad20b24b2ad9a91 +refs/heads/master: 954a8b8162ecab1d5ddf6c5b993b2d4da3fcaef7 diff --git a/trunk/Documentation/ABI/testing/sysfs-bus-pci b/trunk/Documentation/ABI/testing/sysfs-bus-pci index e638e15a8895..ceddcff4082a 100644 --- a/trunk/Documentation/ABI/testing/sysfs-bus-pci +++ b/trunk/Documentation/ABI/testing/sysfs-bus-pci @@ -1,46 +1,3 @@ -What: /sys/bus/pci/drivers/.../bind -Date: December 2003 -Contact: linux-pci@vger.kernel.org -Description: - Writing a device location to this file will cause - the driver to attempt to bind to the device found at - this location. This is useful for overriding default - bindings. The format for the location is: DDDD:BB:DD.F. - That is Domain:Bus:Device.Function and is the same as - found in /sys/bus/pci/devices/. For example: - # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind - (Note: kernels before 2.6.28 may require echo -n). - -What: /sys/bus/pci/drivers/.../unbind -Date: December 2003 -Contact: linux-pci@vger.kernel.org -Description: - Writing a device location to this file will cause the - driver to attempt to unbind from the device found at - this location. This may be useful when overriding default - bindings. The format for the location is: DDDD:BB:DD.F. - That is Domain:Bus:Device.Function and is the same as - found in /sys/bus/pci/devices/. For example: - # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind - (Note: kernels before 2.6.28 may require echo -n). - -What: /sys/bus/pci/drivers/.../new_id -Date: December 2003 -Contact: linux-pci@vger.kernel.org -Description: - Writing a device ID to this file will attempt to - dynamically add a new device ID to a PCI device driver. - This may allow the driver to support more hardware than - was included in the driver's static device ID support - table at compile time. The format for the device ID is: - VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, - Device ID, Subsystem Vendor ID, Subsystem Device ID, - Class, Class Mask, and Private Driver Data. The Vendor ID - and Device ID fields are required, the rest are optional. - Upon successfully adding an ID, the driver will probe - for the device and attempt to bind to it. For example: - # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id - What: /sys/bus/pci/devices/.../vpd Date: February 2008 Contact: Ben Hutchings diff --git a/trunk/Documentation/dvb/README.flexcop b/trunk/Documentation/dvb/README.flexcop new file mode 100644 index 000000000000..5515469de7cf --- /dev/null +++ b/trunk/Documentation/dvb/README.flexcop @@ -0,0 +1,205 @@ +This README escorted the skystar2-driver rewriting procedure. It describes the +state of the new flexcop-driver set and some internals are written down here +too. + +This document hopefully describes things about the flexcop and its +device-offsprings. Goal was to write an easy-to-write and easy-to-read set of +drivers based on the skystar2.c and other information. + +Remark: flexcop-pci.c was a copy of skystar2.c, but every line has been +touched and rewritten. + +History & News +============== + 2005-04-01 - correct USB ISOC transfers (thanks to Vadim Catana) + + + + +General coding processing +========================= + +We should proceed as follows (as long as no one complains): + +0) Think before start writing code! + +1) rewriting the skystar2.c with the help of the flexcop register descriptions +and splitting up the files to a pci-bus-part and a flexcop-part. +The new driver will be called b2c2-flexcop-pci.ko/b2c2-flexcop-usb.ko for the +device-specific part and b2c2-flexcop.ko for the common flexcop-functions. + +2) Search for errors in the leftover of flexcop-pci.c (compare with pluto2.c +and other pci drivers) + +3) make some beautification (see 'Improvements when rewriting (refactoring) is +done') + +4) Testing the new driver and maybe substitute the skystar2.c with it, to reach +a wider tester audience. + +5) creating an usb-bus-part using the already written flexcop code for the pci +card. + +Idea: create a kernel-object for the flexcop and export all important +functions. This option saves kernel-memory, but maybe a lot of functions have +to be exported to kernel namespace. + + +Current situation +================= + +0) Done :) +1) Done (some minor issues left) +2) Done +3) Not ready yet, more information is necessary +4) next to be done (see the table below) +5) USB driver is working (yes, there are some minor issues) + +What seems to be ready? +----------------------- + +1) Rewriting +1a) i2c is cut off from the flexcop-pci.c and seems to work +1b) moved tuner and demod stuff from flexcop-pci.c to flexcop-tuner-fe.c +1c) moved lnb and diseqc stuff from flexcop-pci.c to flexcop-tuner-fe.c +1e) eeprom (reading MAC address) +1d) sram (no dynamic sll size detection (commented out) (using default as JJ told me)) +1f) misc. register accesses for reading parameters (e.g. resetting, revision) +1g) pid/mac filter (flexcop-hw-filter.c) +1i) dvb-stuff initialization in flexcop.c (done) +1h) dma stuff (now just using the size-irq, instead of all-together, to be done) +1j) remove flexcop initialization from flexcop-pci.c completely (done) +1l) use a well working dma IRQ method (done, see 'Known bugs and problems and TODO') +1k) cleanup flexcop-files (remove unused EXPORT_SYMBOLs, make static from +non-static where possible, moved code to proper places) + +2) Search for errors in the leftover of flexcop-pci.c (partially done) +5a) add MAC address reading +5c) feeding of ISOC data to the software demux (format of the isochronous data +and speed optimization, no real error) (thanks to Vadim Catana) + +What to do in the near future? +-------------------------------------- +(no special order here) + +5) USB driver +5b) optimize isoc-transfer (submitting/killing isoc URBs when transfer is starting) + +Testing changes +--------------- + +O = item is working +P = item is partially working +X = item is not working +N = item does not apply here + = item need to be examined + + | PCI | USB +item | mt352 | nxt2002 | stv0299 | mt312 | mt352 | nxt2002 | stv0299 | mt312 +-------+-------+---------+---------+-------+-------+---------+---------+------- +1a) | O | | | | N | N | N | N +1b) | O | | | | | | O | +1c) | N | N | | | N | N | O | +1d) | O | O +1e) | O | O +1f) | P +1g) | O +1h) | P | +1i) | O | N +1j) | O | N +1l) | O | N +2) | O | N +5a) | N | O +5b)* | N | +5c) | N | O + +* - not done yet + +Known bugs and problems and TODO +-------------------------------- + +1g/h/l) when pid filtering is enabled on the pci card + +DMA usage currently: + The DMA is splitted in 2 equal-sized subbuffers. The Flexcop writes to first + address and triggers an IRQ when it's full and starts writing to the second + address. When the second address is full, the IRQ is triggered again, and + the flexcop writes to first address again, and so on. + The buffersize of each address is currently 640*188 bytes. + + Problem is, when using hw-pid-filtering and doing some low-bandwidth + operation (like scanning) the buffers won't be filled enough to trigger + the IRQ. That's why: + + When PID filtering is activated, the timer IRQ is used. Every 1.97 ms the IRQ + is triggered. Is the current write address of DMA1 different to the one + during the last IRQ, then the data is passed to the demuxer. + + There is an additional DMA-IRQ-method: packet count IRQ. This isn't + implemented correctly yet. + + The solution is to disable HW PID filtering, but I don't know how the DVB + API software demux behaves on slow systems with 45MBit/s TS. + +Solved bugs :) +-------------- +1g) pid-filtering (somehow pid index 4 and 5 (EMM_PID and ECM_PID) aren't +working) +SOLUTION: also index 0 was affected, because net_translation is done for +these indexes by default + +5b) isochronous transfer does only work in the first attempt (for the Sky2PC +USB, Air2PC is working) SOLUTION: the flexcop was going asleep and never really +woke up again (don't know if this need fixes, see +flexcop-fe-tuner.c:flexcop_sleep) + +NEWS: when the driver is loaded and unloaded and loaded again (w/o doing +anything in the while the driver is loaded the first time), no transfers take +place anymore. + +Improvements when rewriting (refactoring) is done +================================================= + +- split sleeping of the flexcop (misc_204.ACPI3_sig = 1;) from lnb_control + (enable sleeping for other demods than dvb-s) +- add support for CableStar (stv0297 Microtune 203x/ALPS) (almost done, incompatibilities with the Nexus-CA) + +Debugging +--------- +- add verbose debugging to skystar2.c (dump the reg_dw_data) and compare it + with this flexcop, this is important, because i2c is now using the + flexcop_ibi_value union from flexcop-reg.h (do you have a better idea for + that, please tell us so). + +Everything which is identical in the following table, can be put into a common +flexcop-module. + + PCI USB +------------------------------------------------------------------------------- +Different: +Register access: accessing IO memory USB control message +I2C bus: I2C bus of the FC USB control message +Data transfer: DMA isochronous transfer +EEPROM transfer: through i2c bus not clear yet + +Identical: +Streaming: accessing registers +PID Filtering: accessing registers +Sram destinations: accessing registers +Tuner/Demod: I2C bus +DVB-stuff: can be written for common use + +Acknowledgements (just for the rewriting part) +================ + +Bjarne Steinsbo thought a lot in the first place of the pci part for this code +sharing idea. + +Andreas Oberritter for providing a recent PCI initialization template +(pluto2.c). + +Boleslaw Ciesielski for pointing out a problem with firmware loader. + +Vadim Catana for correcting the USB transfer. + +comments, critics and ideas to linux-dvb@linuxtv.org. diff --git a/trunk/Documentation/dvb/technisat.txt b/trunk/Documentation/dvb/technisat.txt index 3f435ffb289c..cdf6ee4b2da1 100644 --- a/trunk/Documentation/dvb/technisat.txt +++ b/trunk/Documentation/dvb/technisat.txt @@ -1,5 +1,5 @@ -How to set up the Technisat/B2C2 Flexcop devices -================================================ +How to set up the Technisat devices +=================================== 1) Find out what device you have ================================ @@ -16,60 +16,54 @@ DVB: registering frontend 0 (Conexant CX24123/CX24109)... If the Technisat is the only TV device in your box get rid of unnecessary modules and check this one: "Multimedia devices" => "Customise analog and hybrid tuner modules to build" -In this directory uncheck every driver which is activated there (except "Simple tuner support" for case 9 only). +In this directory uncheck every driver which is activated there. Then please activate: 2a) Main module part: a.)"Multimedia devices" => "DVB/ATSC adapters" => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" -b.)"Multimedia devices" => "DVB/ATSC adapters" => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" => "Technisat/B2C2 Air/Sky/Cable2PC PCI" in case of a PCI card -OR +b.)"Multimedia devices" => "DVB/ATSC adapters" => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" => "Technisat/B2C2 Air/Sky/Cable2PC PCI" in case of a PCI card OR c.)"Multimedia devices" => "DVB/ATSC adapters" => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" => "Technisat/B2C2 Air/Sky/Cable2PC USB" in case of an USB 1.1 adapter d.)"Multimedia devices" => "DVB/ATSC adapters" => "Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters" => "Enable debug for the B2C2 FlexCop drivers" Notice: d.) is helpful for troubleshooting 2b) Frontend module part: -1.) SkyStar DVB-S Revision 2.3: +1.) Revision 2.3: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "Zarlink VP310/MT312/ZL10313 based" -2.) SkyStar DVB-S Revision 2.6: +2.) Revision 2.6: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "ST STV0299 based" -3.) SkyStar DVB-S Revision 2.7: +3.) Revision 2.7: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "Samsung S5H1420 based" c.)"Multimedia devices" => "Customise DVB frontends" => "Integrant ITD1000 Zero IF tuner for DVB-S/DSS" d.)"Multimedia devices" => "Customise DVB frontends" => "ISL6421 SEC controller" -4.) SkyStar DVB-S Revision 2.8: +4.) Revision 2.8: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "Conexant CX24113/CX24128 tuner for DVB-S/DSS" c.)"Multimedia devices" => "Customise DVB frontends" => "Conexant CX24123 based" d.)"Multimedia devices" => "Customise DVB frontends" => "ISL6421 SEC controller" -5.) AirStar DVB-T card: +5.) DVB-T card: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "Zarlink MT352 based" -6.) CableStar DVB-C card: +6.) DVB-C card: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "ST STV0297 based" -7.) AirStar ATSC card 1st generation: +7.) ATSC card 1st generation: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "Broadcom BCM3510" -8.) AirStar ATSC card 2nd generation: +8.) ATSC card 2nd generation: a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" b.)"Multimedia devices" => "Customise DVB frontends" => "NxtWave Communications NXT2002/NXT2004 based" -c.)"Multimedia devices" => "Customise DVB frontends" => "Generic I2C PLL based tuners" +c.)"Multimedia devices" => "Customise DVB frontends" => "LG Electronics LGDT3302/LGDT3303 based" -9.) AirStar ATSC card 3rd generation: -a.)"Multimedia devices" => "Customise DVB frontends" => "Customise the frontend modules to build" -b.)"Multimedia devices" => "Customise DVB frontends" => "LG Electronics LGDT3302/LGDT3303 based" -c.)"Multimedia devices" => "Customise analog and hybrid tuner modules to build" => "Simple tuner support" - -Author: Uwe Bugla February 2009 +Author: Uwe Bugla December 2008 diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 0ed3234125e3..f6d5d5b9b2b1 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -114,7 +114,7 @@ In addition, the following text indicates that the option: Parameters denoted with BOOT are actually interpreted by the boot loader, and have no meaning to the kernel directly. Do not modify the syntax of boot loader parameters without extreme -need or coordination with . +need or coordination with . There are also arch-specific kernel-parameters not documented here. See for example . @@ -868,10 +868,8 @@ and is between 256 and 4096 characters. It is defined in the file icn= [HW,ISDN] Format: [,[,[,]]] - ide-core.nodma= [HW] (E)IDE subsystem - Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc - .vlb_clock .pci_clock .noflush .noprobe .nowerr .cdrom - .chs .ignore_cable are additional options + ide= [HW] (E)IDE subsystem + Format: ide=nodma or ide=doubler See Documentation/ide/ide.txt. idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed @@ -2451,7 +2449,7 @@ and is between 256 and 4096 characters. It is defined in the file See Documentation/fb/modedb.txt. vga= [BOOT,X86-32] Select a particular video mode - See Documentation/x86/i386/boot.txt and + See Documentation/x86/boot.txt and Documentation/svga.txt. Use vga=ask for menu. This is actually a boot loader parameter; the value is diff --git a/trunk/arch/arm/mach-rpc/riscpc.c b/trunk/arch/arm/mach-rpc/riscpc.c index c7fc01e9d1f6..e88d417736af 100644 --- a/trunk/arch/arm/mach-rpc/riscpc.c +++ b/trunk/arch/arm/mach-rpc/riscpc.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include @@ -202,13 +201,8 @@ static struct platform_device *devs[] __initdata = { &pata_device, }; -static struct i2c_board_info i2c_rtc = { - I2C_BOARD_INFO("pcf8583", 0x50) -}; - static int __init rpc_init(void) { - i2c_register_board_info(0, &i2c_rtc, 1); return platform_add_devices(devs, ARRAY_SIZE(devs)); } diff --git a/trunk/arch/ia64/Kconfig b/trunk/arch/ia64/Kconfig index 153e727a6e8e..4eb45c012498 100644 --- a/trunk/arch/ia64/Kconfig +++ b/trunk/arch/ia64/Kconfig @@ -638,17 +638,6 @@ config DMAR and include PCI device scope covered by these DMA remapping devices. -config DMAR_DEFAULT_ON - def_bool y - prompt "Enable DMA Remapping Devices by default" - depends on DMAR - help - Selecting this option will enable a DMAR device at boot time if - one is found. If this option is not selected, DMAR support can - be enabled by passing intel_iommu=on to the kernel. It is - recommended you say N here while the DMAR code remains - experimental. - endmenu endif diff --git a/trunk/arch/ia64/kernel/iosapic.c b/trunk/arch/ia64/kernel/iosapic.c index e13125058bed..5cfd3d91001a 100644 --- a/trunk/arch/ia64/kernel/iosapic.c +++ b/trunk/arch/ia64/kernel/iosapic.c @@ -507,7 +507,7 @@ static int iosapic_find_sharable_irq(unsigned long trigger, unsigned long pol) if (trigger == IOSAPIC_EDGE) return -EINVAL; - for (i = 0; i < NR_IRQS; i++) { + for (i = 0; i <= NR_IRQS; i++) { info = &iosapic_intr_info[i]; if (info->trigger == trigger && info->polarity == pol && (info->dmode == IOSAPIC_FIXED || diff --git a/trunk/arch/ia64/kernel/unwind.c b/trunk/arch/ia64/kernel/unwind.c index b6c0e63a0bf6..67810b77d998 100644 --- a/trunk/arch/ia64/kernel/unwind.c +++ b/trunk/arch/ia64/kernel/unwind.c @@ -2149,7 +2149,7 @@ unw_remove_unwind_table (void *handle) /* next, remove hash table entries for this table */ - for (index = 0; index < UNW_HASH_SIZE; ++index) { + for (index = 0; index <= UNW_HASH_SIZE; ++index) { tmp = unw.cache + unw.hash[index]; if (unw.hash[index] >= UNW_CACHE_SIZE || tmp->ip < table->start || tmp->ip >= table->end) diff --git a/trunk/arch/powerpc/kernel/align.c b/trunk/arch/powerpc/kernel/align.c index 73cb6a3229ae..ada06924a423 100644 --- a/trunk/arch/powerpc/kernel/align.c +++ b/trunk/arch/powerpc/kernel/align.c @@ -367,24 +367,27 @@ static int emulate_multiple(struct pt_regs *regs, unsigned char __user *addr, static int emulate_fp_pair(unsigned char __user *addr, unsigned int reg, unsigned int flags) { - char *ptr0 = (char *) ¤t->thread.TS_FPR(reg); - char *ptr1 = (char *) ¤t->thread.TS_FPR(reg+1); - int i, ret, sw = 0; + char *ptr = (char *) ¤t->thread.TS_FPR(reg); + int i, ret; if (!(flags & F)) return 0; if (reg & 1) return 0; /* invalid form: FRS/FRT must be even */ - if (flags & SW) - sw = 7; - ret = 0; - for (i = 0; i < 8; ++i) { - if (!(flags & ST)) { - ret |= __get_user(ptr0[i^sw], addr + i); - ret |= __get_user(ptr1[i^sw], addr + i + 8); - } else { - ret |= __put_user(ptr0[i^sw], addr + i); - ret |= __put_user(ptr1[i^sw], addr + i + 8); + if (!(flags & SW)) { + /* not byte-swapped - easy */ + if (!(flags & ST)) + ret = __copy_from_user(ptr, addr, 16); + else + ret = __copy_to_user(addr, ptr, 16); + } else { + /* each FPR value is byte-swapped separately */ + ret = 0; + for (i = 0; i < 16; ++i) { + if (!(flags & ST)) + ret |= __get_user(ptr[i^7], addr + i); + else + ret |= __put_user(ptr[i^7], addr + i); } } if (ret) diff --git a/trunk/arch/powerpc/lib/copyuser_64.S b/trunk/arch/powerpc/lib/copyuser_64.S index 693b14a778fa..70693a5c12a1 100644 --- a/trunk/arch/powerpc/lib/copyuser_64.S +++ b/trunk/arch/powerpc/lib/copyuser_64.S @@ -62,19 +62,18 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 72: std r8,8(r3) beq+ 3f addi r3,r3,16 +23: ld r9,8(r4) .Ldo_tail: bf cr7*4+1,1f -23: lwz r9,8(r4) - addi r4,r4,4 + rotldi r9,r9,32 73: stw r9,0(r3) addi r3,r3,4 1: bf cr7*4+2,2f -44: lhz r9,8(r4) - addi r4,r4,2 + rotldi r9,r9,16 74: sth r9,0(r3) addi r3,r3,2 2: bf cr7*4+3,3f -45: lbz r9,8(r4) + rotldi r9,r9,8 75: stb r9,0(r3) 3: li r3,0 blr @@ -142,24 +141,11 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 6: cmpwi cr1,r5,8 addi r3,r3,32 sld r9,r9,r10 - ble cr1,7f + ble cr1,.Ldo_tail 34: ld r0,8(r4) srd r7,r0,r11 or r9,r7,r9 -7: - bf cr7*4+1,1f - rotldi r9,r9,32 -94: stw r9,0(r3) - addi r3,r3,4 -1: bf cr7*4+2,2f - rotldi r9,r9,16 -95: sth r9,0(r3) - addi r3,r3,2 -2: bf cr7*4+3,3f - rotldi r9,r9,8 -96: stb r9,0(r3) -3: li r3,0 - blr + b .Ldo_tail .Ldst_unaligned: PPC_MTOCRF 0x01,r6 /* put #bytes to 8B bdry into cr7 */ @@ -232,6 +218,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 121: 132: addi r3,r3,8 +123: 134: 135: 138: @@ -239,9 +226,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 140: 141: 142: -123: -144: -145: /* * here we have had a fault on a load and r3 points to the first @@ -325,9 +309,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 187: 188: 189: -194: -195: -196: 1: ld r6,-24(r1) ld r5,-8(r1) @@ -348,9 +329,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) .llong 72b,172b .llong 23b,123b .llong 73b,173b - .llong 44b,144b .llong 74b,174b - .llong 45b,145b .llong 75b,175b .llong 24b,124b .llong 25b,125b @@ -368,9 +347,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) .llong 79b,179b .llong 80b,180b .llong 34b,134b - .llong 94b,194b - .llong 95b,195b - .llong 96b,196b .llong 35b,135b .llong 81b,181b .llong 36b,136b diff --git a/trunk/arch/powerpc/lib/memcpy_64.S b/trunk/arch/powerpc/lib/memcpy_64.S index e178922b2c21..fe2d34e5332d 100644 --- a/trunk/arch/powerpc/lib/memcpy_64.S +++ b/trunk/arch/powerpc/lib/memcpy_64.S @@ -53,19 +53,18 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 3: std r8,8(r3) beq 3f addi r3,r3,16 + ld r9,8(r4) .Ldo_tail: bf cr7*4+1,1f - lwz r9,8(r4) - addi r4,r4,4 + rotldi r9,r9,32 stw r9,0(r3) addi r3,r3,4 1: bf cr7*4+2,2f - lhz r9,8(r4) - addi r4,r4,2 + rotldi r9,r9,16 sth r9,0(r3) addi r3,r3,2 2: bf cr7*4+3,3f - lbz r9,8(r4) + rotldi r9,r9,8 stb r9,0(r3) 3: ld r3,48(r1) /* return dest pointer */ blr @@ -134,24 +133,11 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) cmpwi cr1,r5,8 addi r3,r3,32 sld r9,r9,r10 - ble cr1,6f + ble cr1,.Ldo_tail ld r0,8(r4) srd r7,r0,r11 or r9,r7,r9 -6: - bf cr7*4+1,1f - rotldi r9,r9,32 - stw r9,0(r3) - addi r3,r3,4 -1: bf cr7*4+2,2f - rotldi r9,r9,16 - sth r9,0(r3) - addi r3,r3,2 -2: bf cr7*4+3,3f - rotldi r9,r9,8 - stb r9,0(r3) -3: ld r3,48(r1) /* return dest pointer */ - blr + b .Ldo_tail .Ldst_unaligned: PPC_MTOCRF 0x01,r6 # put #bytes to 8B bdry into cr7 diff --git a/trunk/arch/powerpc/sysdev/ppc4xx_pci.c b/trunk/arch/powerpc/sysdev/ppc4xx_pci.c index 5558d932b4d5..77fae5f64f2e 100644 --- a/trunk/arch/powerpc/sysdev/ppc4xx_pci.c +++ b/trunk/arch/powerpc/sysdev/ppc4xx_pci.c @@ -204,23 +204,6 @@ static int __init ppc4xx_setup_one_pci_PMM(struct pci_controller *hose, { u32 ma, pcila, pciha; - /* Hack warning ! The "old" PCI 2.x cell only let us configure the low - * 32-bit of incoming PLB addresses. The top 4 bits of the 36-bit - * address are actually hard wired to a value that appears to depend - * on the specific SoC. For example, it's 0 on 440EP and 1 on 440EPx. - * - * The trick here is we just crop those top bits and ignore them when - * programming the chip. That means the device-tree has to be right - * for the specific part used (we don't print a warning if it's wrong - * but on the other hand, you'll crash quickly enough), but at least - * this code should work whatever the hard coded value is - */ - plb_addr &= 0xffffffffull; - - /* Note: Due to the above hack, the test below doesn't actually test - * if you address is above 4G, but it tests that address and - * (address + size) are both contained in the same 4G - */ if ((plb_addr + size) > 0xffffffffull || !is_power_of_2(size) || size < 0x1000 || (plb_addr & (size - 1)) != 0) { printk(KERN_WARNING "%s: Resource out of range\n", diff --git a/trunk/arch/sh/boards/board-ap325rxa.c b/trunk/arch/sh/boards/board-ap325rxa.c index 72da416f6162..7c35787d29b4 100644 --- a/trunk/arch/sh/boards/board-ap325rxa.c +++ b/trunk/arch/sh/boards/board-ap325rxa.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include