07 Jul, 2009

18 commits

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: fix usage of bios intcall()
    x86: Remove unused function lapic_watchdog_ok()
    x86: Remove unused variable disable_x2apic
    x86, kvm: Fix section mismatches in kvm.c
    x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user
    x86: Fix fixmap page order for FIX_TEXT_POKE0,1
    amd-iommu: set evt_buf_size correctly
    amd-iommu: handle alias entries correctly in init code
    x86: Fix printk call in print_local_apic()
    x86: Declare check_efer() before it gets used
    x86: Mark device_nb as static and fix NULL noise
    x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1
    xen: Use kcalloc() in xen_init_IRQ()
    x86: Fix fixmap ordering
    x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] amba: fix amba device resources
    [ARM] pgtable: file pte layout documentation
    [ARM] pgtable: swp pte layout documentation, definitions, and check
    [ARM] export __cpu_flush_dcache_page
    [ARM] 5576/1: Update kb9202_defconfig
    [ARM] 5581/1: U300 clock updates
    [ARM] 5579/1: Updated U300 defconfig

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
    Revert "ide: improve handling of Power Management requests"

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits)
    Revert "p54: Use SKB list handling helpers instead of by-hand code."
    sctp: fix warning at inet_sock_destruct() while release sctp socket
    tun/tap: Fix crashes if open() /dev/net/tun and then poll() it.
    dsa: fix 88e6xxx statistics counter snapshotting
    forcedeth: Fix NAPI race.
    drivers/net/smsc911x.c: Fix resource size off by 1 error
    pcnet_cs: add new id
    bnx2x: Fix the maximal values of coalescing timeouts.
    bnx2x: Disable HC coalescing when setting timeout to zero.
    tun: Fix device unregister race
    be2net: fix spurious interrupt handling in intx mode
    e1000e: disable K1 at 1000Mbps for 82577/82578
    e1000e: delay second read of PHY_STATUS register on failure of first read
    e1000e: prevent NVM corruption on sectors larger than 4K
    e1000e: do not write SmartSpeed register bits on parts without support
    e1000e: delay after LCD reset and proper checks for PHY configuration done
    e1000e: PHY loopback broken on 82578
    ixgbe: Not allow 8259x unsupported wol options change from ethtool
    ixgbe: fix inconsistent SFP/SFP+ failure results.
    ixgbe: fix regression on some 82598 adapters
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: Fix IRQ swizzling for ARI-enabled devices
    ia64/PCI: adjust section annotation for pcibios_setup()
    x86/PCI: get root CRS before scanning children
    x86/PCI: fix boundary checking when using root CRS
    PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume
    PCI MSI: Unmask MSI if setup failed
    PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names
    PCI: make pci_name() take const argument
    PCI: More PATA quirks for not entering D3
    PCI: fix kernel-doc warnings
    PCI: check if bus has a proper bridge device before triggering SBR
    PCI: remove pci_dac_dma_... APIs on mn10300
    PCI ECRC: Remove unnecessary semicolons
    PCI MSI: Return if alloc_msi_entry for MSI-X failed

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (25 commits)
    V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic
    V4L/DVB (12203): radio-si470x: fix lock imbalance
    V4L/DVB (12202): em28xx, fix lock imbalance
    V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix
    V4L/DVB (12171): em28xx: fix webcam usage with different output formats
    V4L/DVB (12169): em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcams
    V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version)
    V4L/DVB (12139): em28xx: add other video formats
    V4L/DVB (12138): em28xx: add support for Silvercrest Webcam
    V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works
    V4L/DVB (12173): mt9v011: properly calculate image resolution registers
    V4L/DVB (12137): mt9v011: CodingStyle fixes
    V4L/DVB (12136): mt9v011: Some fixes at the register initialization table
    V4L/DVB (12135): Add a driver for mt9v011 sensor
    V4L/DVB (12166): cx23885: add FIXME comment above set_frontend override
    V4L/DVB (12165): cx23885: override set_frontend to allow rf input path switching on the HVR1275
    V4L/DVB (12148): move V4L2_PIX_FMT_SGRBG8 to the proper place
    V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353
    V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction
    V4L/DVB (12180): cx18: Update Yuan MPC-718 card entry with better information and guesses
    ...

    Linus Torvalds
     
  • * git://git.infradead.org/iommu-2.6:
    intel-iommu: Don't use identity mapping for PCI devices behind bridges
    intel-iommu: Use iommu_should_identity_map() at startup time too.
    intel-iommu: No mapping for non-PCI devices
    intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers
    intel-iommu: Add iommu_should_identity_map() function
    intel-iommu: Fix reattaching of devices to identity mapping domain
    intel-iommu: Don't set identity mapping for bypassed graphics devices
    intel-iommu: Fix dma vs. mm page confusion with aligned_nrpages()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
    firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
    firewire: core: do not DMA-map stack addresses

    Linus Torvalds
     
  • This way they'll be properly initialized early enough for users that may
    touch them before the framebuffer has been registered.

    Drivers that allocate their fb_info structure some other way (like
    matrocfb's broken static allocation) need to be fixed up appropriately.

    Signed-off-by: Paul Mundt
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • Correct the CLKVAL_F field value of VIDEO MAIN CONTROLLER 0 REGITSTER.

    Frame Rate is 1 / [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1)
    } x {(HSPW+1) + (HBPD +1)
    + (HFPD+1) + (HOZVAL + 1) } x { ( CLKVAL+1 ) / ( Frequency of Clock
    source ) } ] and VCLK = Video Clock Source / (CLKVAL +1).

    therefore CLKVAL_F should be "CLKVAL_F = Frequency of Clock source / pixel
    clock * refresh".

    for this, I added refresh value in platform data like below.

    static struct s3c_fb_pd_win xxx_fb_win0 = {
    /* this is to ensure we use win0 */
    .win_mode = {
    .refresh = 60,
    .pixclock = (66+4+2+480)*(15+5+3+800),
    .left_margin = 66,
    .right_margin = 2,
    .upper_margin = 15,
    .lower_margin = 3,
    .hsync_len = 4,
    .vsync_len = 5,
    .xres = 480,
    .yres = 800,
    },
    .max_bpp = 32,
    .default_bpp = 24,
    };

    static struct s3c_fb_platdata xxx_lcd_pdata __initdata = {
    .win[0] = &xxx_fb_win0,
    .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
    .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC
    | VIDCON1_INV_VCLK | VIDCON1_INV_VDEN,
    .setup_gpio = s5pc1xx_fb_gpio_setup_24bpp,
    };

    xxx_machine_init()
    {
    .
    .
    .
    s3c_fb_set_platdata(&xxx_lcd_pdata);
    }

    platform data defined in machine code should be setting using
    s3c_fb_set_platdata().

    Signed-off-by: InKi Dae
    Cc: Kyungmin Park
    Cc: Krzysztof Helt
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    InKi Dae
     
  • These warnings were observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:

    mm/page_alloc.c: In function 'alloc_pages_exact':
    mm/page_alloc.c:1986: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast

    drivers/usb/mon/mon_bin.c: In function 'mon_alloc_buff':
    drivers/usb/mon/mon_bin.c:1264: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast

    [akpm@linux-foundation.org: fix kernel/perf_counter.c too]
    Signed-off-by: Kevin Cernekee
    Cc: Andi Kleen
    Cc: Ralf Baechle
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kevin Cernekee
     
  • When i2c_smbus_read_byte_data fails in ds1374_work, we forgot to unlock
    the held lock. Fix that.

    Signed-off-by: Jiri Slaby
    Cc: Alessandro Zummo
    Cc: Scott Wood
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Fix a typo in the VLYNQ bus driver Kconfig which prevented to turn on
    VLYNQ bus debugging.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Fainelli
     
  • Fix a typo in the vlynq bus driver which was missing the CONFIG_ prefix to
    turn on debugging code.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Florian Fainelli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Remove redundant call to the sisfb_get_fix() before sis frambuffer is
    registered.

    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"

    Signed-off-by: Krzysztof Helt
    Tested-by: Wu Zhangjin
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • This reverts commit a1091aae19b1d9c85d91c86915a611387f67a26b.

    David S. Miller
     
  • Fix NULL pointer dereference in tun_chr_pool() introduced by commit
    33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554 ("tun: Limit amount of queued
    packets per device") and triggered by this code:

    int fd;
    struct pollfd pfd;
    fd = open("/dev/net/tun", O_RDWR);
    pfd.fd = fd;
    pfd.events = POLLIN | POLLOUT;
    poll(&pfd, 1, 0);

    Reported-by: Eugene Kapun
    Signed-off-by: Mariusz Kozlowski
    Signed-off-by: David S. Miller

    Mariusz Kozlowski
     
  • This reverts commit a1317f714af7aed60ddc182d0122477cbe36ee9b.

    David S. Miller
     

06 Jul, 2009

22 commits

  • Eric Dumazet a écrit :
    > Ingo Molnar a écrit :
    >>> The following changes since commit 52989765629e7d182b4f146050ebba0abf2cb0b7:
    >>> Linus Torvalds (1):
    >>> Merge git://git.kernel.org/.../davem/net-2.6
    >>>
    >>> are available in the git repository at:
    >>>
    >>> master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master
    >> Hm, something in this lot quickly wrecked networking here - see the
    >> tx timeout dump below. It starts with:
    >>
    >> [ 351.004596] WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x10b/0x19c()
    >> [ 351.011815] Hardware name: System Product Name
    >> [ 351.016220] NETDEV WATCHDOG: eth0 (forcedeth): transmit queue 0 timed out
    >>
    >> Config attached. Unfortunately i've got no time to do bisection
    >> today.
    >
    >
    >
    > forcedeth might have a problem, in its netif_wake_queue() logic, but
    > I could not see why a recent patch could make this problem visible now.
    >
    > CPU0/1: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
    > is not a new cpu either :)
    >
    > forcedeth uses an internal tx_stop without appropriate barrier.
    >
    > Could you try following patch ?
    >
    > (random guess as I dont have much time right now)

    We might have a race in napi_schedule(), leaving interrupts disabled forever.
    I cannot test this patch, I dont have the hardware...

    Tested-by: Ingo Molnar

    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • The call resource_size(res) returns res->end - res->start + 1 and thus the
    second change is semantics-preserving. res_size is then used as the second
    argument of a call to request_mem_region, and the memory allocated by this
    call appears to be the same as what is released in the two calls to
    release_mem_region. So the size argument for those calls should be
    resource_size(size) as well. Alternatively, in the second call to
    release_mem_region, the second argument could be res_size, as that variable
    has already been initialized at the point of this call.

    The problem was found using the following semantic patch:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    struct resource *res;
    @@

    - (res->end - res->start) + 1
    + resource_size(res)

    @@
    struct resource *res;
    @@

    - res->end - res->start
    + BAD(resource_size(res))
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • add new id (RIOS System PC CARD3 ETHERNET).

    Signed-off-by: Ken Kawasaki
    Signed-off-by: David S. Miller

    Ken Kawasaki
     
  • This patch properly defines the maximum values for rx/tx coalescing timeouts.

    Signed-off-by: Vlad Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Eilon Greenstein
     
  • Problem reported by Flavio Leitner :
    When setting rx/tx coalescing timeout to the values less than 12 traffic was
    stopped.

    The FW supports coalescing in 12us granularity, and so value of less then 12
    should be interpreted as disabling coalescing

    Signed-off-by: Vlad Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Eilon Greenstein
     
  • It is currently possible for an asynchronous device unregister
    to cause the same tun device to be unregistered twice. This
    is because the unregister in tun_chr_close only checks whether
    __tun_get(tfile) != NULL. This however has nothing to do with
    whether the device has already been unregistered. All it tells
    you is whether __tun_detach has been called.

    This patch fixes this by using the most obvious thing to test
    whether the device has been unregistered.

    It also moves __tun_detach outside of rtnl_unlock since nothing
    that it does requires that lock.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • There is one path with omitted unlock in si470x_fops_release. Fix that.

    Cc: Tobias Lorenz
    Signed-off-by: Jiri Slaby
    Signed-off-by: Douglas Schilling Landgraf
    Signed-off-by: Mauro Carvalho Chehab

    Jiri Slaby
     
  • There is one omitted unlock in em28xx_usb_probe. Fix that.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Douglas Schilling Landgraf
    Signed-off-by: Mauro Carvalho Chehab

    Jiri Slaby
     
  • Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Discovered the bug that were limiting the output format to just RGB565.
    Now, it is possible to output image at Bayer format (the original one,
    as generated by Silvercrest sensor, and two others), and also on YUY.

    Adds Bayer formats also to the driver.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • AMBA device resources were being reported as:

    10004000-10004fff :

    This is because dev_name() was returning NULL prior to device_register.
    Ensure that the struct device is properly initialized, and the name is
    set before adding it to the device tree.

    Signed-off-by: Russell King

    Russell King
     
  • Webcams have different constraints than other v4l devices. This patch
    makes the format ioctls to behave better. It also fixes a bug at open()
    handler, that were always reseting resolution to the maximum available
    one.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Fix the code so that the zl10353 version of the Terratec Cinergy T XS USB
    starts working again. This includes fixing what must have been a typo in the
    GPIO definition for the digital side of the board, and setting of the
    disable_i2c_gate_ctrl property for the zl10353 config, so that the i2c bus
    doesn't get wedged the first time something tries to close the gate.

    Also, add a printk() making clear that the mt352 version still isn't
    supported. This issue is still being actively debugged, but in the meantime
    at least the dmesg output will show a very clear error...

    Thanks to Jelle de Jong for providing sample hardware to test with.

    Thanks to Simon Kenyon for testing various patches and providing SSH access to
    his environment so I could debug with access to a valid signal source.

    Cc: Jelle de Jong
    Cc: Simon Kenyon
    Signed-off-by: Devin Heitmueller
    Signed-off-by: Mauro Carvalho Chehab

    Devin Heitmueller
     
  • Add suppport for the teste RGB565 format (16 bits/pixel).
    Currently, webcam support works only at RGB565, at 640x480.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • This webcam uses a em2710 chipset, that identifies itself as em2820,
    plus a mt9v011 sensor, and a DY-301P lens.

    It needs a few different initializations than a normal em28xx device.

    Thanks to Hans de Goede and Douglas Landgraf
    for providing the acces for the webcam during
    this weekend, I could make a patch for it while returning back from
    FISL/Fudcom LATAM 2009.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The original driver for Silvercrest cameras were using some values that
    are different from what datasheet says. As result, it was taken very
    less snapshots per second than expected.

    A test with the datasheet values showed that they work fine and give a
    better frame rate. So, let's stick with datasheet values.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Instead of working with a table of precalculated values, fill them with
    the proper values. Also, adds format functions that allow changing the
    resolution, by cropping the image to the center of the sensor.

    While here, move the sensor version check to the probe routine, to
    indicate to the caller if the sensor is not supported by this driver.

    Also, fixes a stupid bug where we're using &buffer[] instead of
    buffer[].

    Signed-off-by: Mauro Carvalho Chehab

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

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

    Mauro Carvalho Chehab
     
  • Adds driver for mt9v011 based on its datasheet, available at:
    http://download.micron.com/pdf/datasheets/imaging/MT9V011.pdf

    The driver was tested with a webcam that will be added on a next patch.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • add FIXME comment to indicate that the set_frontend override is a
    temporary hack. This will be done a better way in the next kernel.

    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Michael Krufky
     
  • Use separate RF input spigots for Antennae and Cable.

    Reviewed-by: Steven Toth
    Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Michael Krufky