19 Jul, 2007

40 commits

  • This patch implements the driver necessary use the Analog Devices
    Blackfin processor's on-chip ethernet MAC controller.

    [try#2]
    - add timeout control
    - kill dma_config_reg bitfields
    - some trivial cleanup

    [try#3]
    - add endianess check
    - add DRV_NAME, DRV_VERSION... driver information string
    - add some comments for silicon anomaly and dma API confusion
    - some code trivial cleanup

    [try#4]
    - add Blackfin latest GPIO pin mux opertion with Michael Hennerich's
    help and Dan's review
    - rewrite the DMA descriptor list operation in a more readable way
    by Joe's review

    [try#5]
    - cleanup some coding style by Joe's review.

    [try#6]
    - 1.1 version fix a bug when set up multicast list pointed by Mr. yoshfuji
    - rearrange the desc_list_free function.

    Signed-off-by: Michael Hennerich
    Signed-off-by: Bryan Wu
    Cc: Michael Buesch
    Cc: Mike Frysinger
    Cc: Jeff Garzik
    Cc: Christoph Hellwig
    Cc: Dan Williams
    Cc: Joe Perches
    Cc: YOSHIFUJI Hideaki
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Bryan Wu
     
  • Fix wrong argument of tc35815_read_plat_dev_addr()

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Jeff Garzik

    Yoichi Yuasa
     
  • …/linville/wireless-2.6 into upstream

    Jeff Garzik
     
  • Signed-off-by: YOSHIFUJI Hideaki

    --
    Signed-off-by: Jeff Garzik

    YOSHIFUJI Hideaki / 吉藤英明
     
  • Signed-off-by: YOSHIFUJI Hideaki

    --
    Signed-off-by: Jeff Garzik

    YOSHIFUJI Hideaki / 吉藤英明
     
  • Signed-off-by: YOSHIFUJI Hideaki

    --
    Signed-off-by: Jeff Garzik

    YOSHIFUJI Hideaki / 吉藤英明
     
  • Signed-off-by: YOSHIFUJI Hideaki

    --
    Signed-off-by: Jeff Garzik

    YOSHIFUJI Hideaki / 吉藤英明
     
  • The TSEC/eTSEC can detect the interface to the PHY automatically,
    but it isn't able to detect whether the RGMII connection needs internal
    delay. So we need to detect that change in the device tree, propagate
    it to the platform data, and then check it if we're in RGMII. This fixes
    a bug on the 8641D HPCN board where the Vitesse PHY doesn't use the delay
    for RGMII.

    Signed-off-by: Andy Fleming

    Andy Fleming
     
  • The Vitesse PHY on the 8641D needs to be set up with internal delay to
    work in RGMII mode. So we add skew when it is set to RGMII_ID mode.

    Signed-off-by: Andy Fleming
    Signed-off-by: Haruki Dai
    Signed-off-by: Haiying Wang

    Andy Fleming
     
  • The TSEC/eTSEC automatically detect their PHY interface type, unless
    the type is RGMII-ID (RGMII with internal delay). In that situation,
    it just detects RGMII. In order to fix this, we need to pass in rgmii-id
    if that is the connection type.

    Signed-off-by: Andy Fleming

    Andy Fleming
     
  • The Vitesse 824x PHY doesn't allow an interrupt to be cleared if
    the mask bit for that interrupt isn't set. This means that the PHY
    Lib's order of handling interrupts (disable, then clear) breaks on this
    PHY. However, clearing then disabling the interrupt opens up the code
    for a silly race condition. So rather than change the PHY Lib, we change
    the Vitesse driver so it always clears interrupts before disabling them.
    Further, the ack function only clears the interrupt if interrupts are
    enabled.

    Signed-off-by: Andy Fleming
    Signed-off-by: York Sun
    Acked-by: Haiying Wang

    Andy Fleming
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    [AVR32] Initialize phy_mask for both macb devices
    [AVR32] Fix atomic_add_unless() and atomic_sub_unless()
    [AVR32] Correct misspelled CONFIG_BLK_DEV_INITRD variable.
    [AVR32] Fix build error in parse_tag_rdimg()
    [AVR32] Don't wire up macb0 unless SW6 is in default position
    [AVR32] Wire up SSC platform device 0 as TX on ATSTK1000 board
    [AVR32] Add Atmel SSC driver platform device to AT32AP architecture
    [AVR32] Remove optimization of unaligned word loads
    [AVR32] Make STK1000 mux settings configurable
    [AVR32] CPU frequency scaling for AT32AP
    [AVR32] Split SM device into PM, RTC, WDT and EIC
    [AVR32] faster avr32 unaligned access

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
    [PATCH] x86: do not recompile boot for each build
    [x86 setup] Save/restore DS around invocations of INT 10h
    [x86 setup] VGA: Clear the Protect bit before setting the vertical height
    [x86 setup] Fix assembly constraints
    [x86 setup] build/tools.c: fix comment
    [x86 setup] MAINTAINERS: document x86 setup code git tree

    Linus Torvalds
     
  • The TRACE_IRQS_ON function in iret_exc: calls a C function without
    ensuring that the segments are set properly. Move the trace function and
    the enabling of interrupt into the C stub.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • The code for LDT segment selectors was not robust in the face of a bogus
    selector set in %cs via ptrace before the single-step was done.

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • The STK1000 uses pullups on the MDIO lines to the PHY, but they are
    too weak. This causes the PHY layer to detect PHYs on all possible MII
    addresses. Mask out all but the correct address to prevent this from
    happening.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • These functions depend on "result" being initalized to 0, but "result"
    is not included as an input constraint to the inline assembly block
    following its initialization, only as an output constraint. Thus gcc
    thinks it doesn't need to initialize it, so result ends up undefined
    if the "unless" condition is true.

    This fixes an oops in sunrpc where the faulty atomics caused
    rpciod_up() to not start the workqueue as it should.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Haavard Skinnemoen

    Robert P. J. Day
     
  • This code is inside an #ifdef with a misspelled config symbol, so it
    hasn't been used for a long time. Fix it before fixing the config
    symbol to keep bisection working.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • If the user wants to sacrifice macb0 for more GPIOs, let him.

    Signed-off-by: Haavard Skinnemoen

    Kristoffer Nyborg Gregertsen
     
  • Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This patch adds register definitions, clocks and IRQs to the platform devices.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • If we let unaligned word loads bypass the generic unaligned handling,
    gcc may combine it with a swap.b instruction and turn it into a ldwsp
    instruction, which does not work with unaligned addresses.

    Revert the optimization to prevent the RNDIS driver from crashing.
    Hopefully we'll figure something out later (it may be better to do the
    optimization in gcc.)

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • This adds some STK1002-specific config options covering the jumper settings,
    so the kernel can automatically be configured to include the relevant devices.

    One of them replaces the previous internal SW2_DEFAULT setting; SPI config
    is affected by two of the jumpers; and a fourth one switches between LCD and
    the second Ethernet connector. (There's more that to be done.)

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • This patch enables CPU frequency scaling for AT32AP devices. This will
    enable the CPU to scale between the speed of the high speed bus and
    the master clock and thus save some power.

    The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to
    enable changing the CPU clock divider in a sane way.

    The driver does not check if the given rate is 0, thus resulting in a
    div by 0. I think this check should be go into the clk_set_rate
    framework, and not here.

    Tested on AT32AP7000/ATSTK1000.

    Hardware documentation can be found in the AT32AP7000 datasheet.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • Split the SM platform device into separate platform devices for PM,
    RTC, WDT and EIC. This is more correct according to the documentation
    and allows us to simplify the code a little.

    Also turn the EIC driver into a real platform driver.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Hans-Christian Egtvedt

    Haavard Skinnemoen
     
  • Use a more conventional implementation for unaligned access, and include
    an AT32AP-specific optimization: the CPU will handle unaligned words.

    The result is always faster and smaller for 8, 16, and 32 bit values.
    For 64 bit quantities, it's presumably larger.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • Keep the arch/i386/boot directory from being rebuilt every time.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: H. Peter Anvin

    Sam Ravnborg
     
  • There exists at least one card, Trident TVGA8900CL (BIOS dated 1992/9/8)
    which clobbers DS when "scrolling in an SVGA text mode of more than
    800x600 pixels." Although we are extremely unlikely to run into that
    situation, it is cheap insurance to save and restore DS, and it only adds
    a grand total of 50 bytes to the total output.

    Pointed out by Etienne Lorrain.

    Cc: Etienne Lorrain
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • If the user has asked for the vertical height registers to be recomputed
    by setting bit 15 in the video mode number, we do so without clearing the
    Protect bit in the Vertical Retrace Register before setting the Overflow
    register. As a result, if the VGA BIOS had set the Protect bit, the
    write to the Overflow register will be dropped, and bits [9:8] of the
    vertical height will be left unchanged.

    This is a bug imported from the assembly version of this code. It was
    pointed out by Etienne Lorrain.

    Cc: Etienne Lorrain
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Fix incorrect assembly constraints. In particular, fix memory
    constraints used inside push..pop, which can cause invalid operation
    since gcc may generate %esp-relative references.

    Additionally:

    outl() should have "dN" not "dn".

    query_mca() shouldn't listen 16/32-bit registers in an 8-bit only
    context.

    has_eflag(): the "mask" is only used well after both the stack pointer
    and the output registers have been touched; this requires the output
    registers to be earlyclobbers (=&) and the input to exclude memory (so
    "ri", not "g").

    Thanks to Etienne Lorrain and Chuck Ebbert for prompting this review.

    Cc: Etienne Lorrain
    Cc: Chuck Ebbert
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Correct a comment in arch/i386/boot/build/tools.c; we now build the
    kernel from only two components instead of three, since the boot
    sector has been integrated in the setup code.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Document the existence of a published git tree for the x86 setup code.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • * 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (126 commits)
    V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv code
    V4L/DVB (5846): Clean up setting state and scheduling timeouts
    V4L/DVB (5844): ivtv: add high volume debugging flag
    V4L/DVB (5843): ivtv: fix missing signal_pending check.
    V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic.
    V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner.
    V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delay
    V4L/DVB (5838): dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)
    V4L/DVB (5837): stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22)
    V4L/DVB (5836): dvb-ttpci: re-initialize aspect ratio and pan scan after arm crash
    V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)
    V4L/DVB (5834): dvb-core: fix signedness warnings and const stripping
    V4L/DVB (5832): ir-common: optimize bit extract function
    V4L/DVB (5831): stradis: use ARRAY_SIZE
    V4L/DVB (5829): Firmware extract and loading for opera dvb-usb update
    V4L/DVB (5828): Kconfig: Added GemTek USB radio and removed experimental dependency.
    V4L/DVB (5826): Usbvision: video mux cleanup
    V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model.
    V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fix
    V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: extent macros cleanup
    Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions.
    ext4: remove extra IS_RDONLY() check
    ext4: Use is_power_of_2()
    Use zero_user_page() in ext4 where possible
    ext4: Remove 65000 subdirectory limit
    ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields
    ext4: Add nanosecond timestamps
    jbd2: Move jbd2-debug file to debugfs
    jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG
    ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices
    ext4: Make extents code sanely handle on-disk corruption
    ext4: copy i_flags to inode flags on write
    ext4: Enable extents by default
    Change on-disk format to support 2^15 uninitialized extents
    write support for preallocated blocks
    fallocate support in ext4
    sys_fallocate() implementation on i386, x86_64 and powerpc

    Linus Torvalds
     
  • * 'upstream' of git://git.infradead.org/~dedekind/ubi-2.6: (28 commits)
    UBI: fix compile warning
    UBI: fix error handling in erase worker
    UBI: fix comments
    UBI: remove unneeded error checks
    UBI: cleanup usage of try_module_get
    UBI: fix overflow bug
    UBI: bugfix in max_sqnum calculation
    UBI: bugfix in sqnum calculation
    UBI: fix signed-unsigned multiplication
    UBI: fix bug in atomic_leb_change()
    UBI: fix message
    UBI: fix debugging stuff
    UBI: bugfix in error path
    UBI: use is_power_of_2()
    UBI: fix freeing ubi->vtbl while unloading
    UBI: fix MAINTAINERS
    UBI: bugfix in ubi_leb_change()
    UBI: kill homegrown endian macros
    UBI: cleanup ioctl handling
    UBI: error path bugfix
    ...

    Linus Torvalds
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Robert P. J. Day
     
  • Replace assignments to "current->state" with the preferred calls to
    schedule_timeout_interruptible().

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Mauro Carvalho Chehab

    Robert P. J. Day
     
  • Add support for high volume debug messages, allowing them to be turned
    on selectively.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil