30 Jul, 2009

2 commits


22 Jul, 2009

1 commit

  • There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
    he loop counter is of type 'unsigned char' and it should count to 128.

    The compiler will incorrectly decide that a trivial loop like this:

    unsigned char i, ...

    for (i = 0; i < 128; i++) {
    ..

    is endless, and will compile it to a single instruction that just
    branches to itself.

    This was triggered by the addition of '-fno-strict-overflow', and we
    could play games with compiler versions and go back to '-fwrapv'
    instead, but the trivial way to avoid it is to just make the loop
    induction variable be an 'int' instead.

    Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
    for digging through assembler differences and finding it.

    Reported-and-tested-by: Krzysztof Oledzki
    Found-by: Troy Moure
    Gcc-bug-acked-by: Ian Lance Taylor
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

19 Jul, 2009

1 commit

  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: Realview & Versatile: Fix i2c_board_info definitions
    [ARM] 5608/1: Updated U300 defconfig
    [ARM] 5606/1: Fix ep93xx watchdog driver headers
    [ARM] 5594/1: Correct U300 VIC init PM setting
    [ARM] 5595/1: ep93xx: missing header in dma-m2p.c
    [ARM] Kirkwood: Correct header define
    [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines
    backlight: fix pwm_bl.c to notify platform code when suspending
    [ARM] pxa: use kzalloc() in pxa_init_gpio_chip()
    [ARM] pxa: correct I2CPWR clock for pxa3xx
    pxamci: correct DMA flow control
    ARM: add support for the EET board, based on the i.MX31 pcm037 module
    pcm037: add MT9T031 camera support
    Armadillo 500 add NAND flash device support (resend).
    ARM MXC: Armadillo 500 add NOR flash device support (resend).
    mx31: remove duplicated #include

    Linus Torvalds
     

15 Jul, 2009

1 commit

  • Users get confused by this driver. It's really a special purpose
    embedded driver, and causes a lot of problems if enabled. So hide it
    under EMBEDDED by default, and make sure it doesn't get enabled with
    the i915 DRM driver.

    Dave, I'm hoping you can feed this to Linus through your tree. It's
    appropriate for 2.6.31 I think.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Dave Airlie

    Jesse Barnes
     

14 Jul, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    wm97xx_batery: replace driver_data with dev_get_drvdata()
    omap: video: remove direct access of driver_data
    Sound: remove direct access of driver_data
    driver model: fix show/store prototypes in doc.
    Firmware: firmware_class, fix lock imbalance
    Driver Core: remove BUS_ID_SIZE
    sparc: remove driver-core BUS_ID_SIZE
    partitions: fix broken uevent_suppress conversion
    devres: WARN() and return, don't crash on device_del() of uninitialized device

    Linus Torvalds
     

13 Jul, 2009

2 commits

  • dev_set/get_drvdata() should be used instead, as driver_data is going
    away.

    Cc: Imre Deak
    Cc: Russell King
    Cc: Andrew Morton
    Acked-by: Trilok Soni
    Cc: Tony Lindgren
    Cc: Felipe Contreras
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

10 Jul, 2009

2 commits


09 Jul, 2009

11 commits


07 Jul, 2009

7 commits

  • …linux-2.6 into sh/for-2.6.31

    Paul Mundt
     
  • A trivial update to move hitfb over to dev_pm_ops.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Follows the sh_mobile_lcdcfb change.

    Also fixes up a memory leak with cmap allocation.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • All fb_info structures need to be allocated with framebuffer_alloc() due
    to special initialization. Switch over to it.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • 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
     
  • 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
     

05 Jul, 2009

2 commits

  • Commit 537a1bf059fa312355696fa6db80726e655e7f17 (fbdev: add mutex for
    fb_mmap locking) introduces a ->mm_lock mutex for protecting smem
    assignments. Unfortunately in the case of sm501fb these happen quite
    early in the initialization code, well before the mutex_init() that takes
    place in register_framebuffer(), leading to:

    Badness at kernel/mutex.c:207

    Pid : 1, Comm: swapper
    CPU : 0 Not tainted (2.6.31-rc1-00284-g529ba0d-dirty #2273)

    PC is at __mutex_lock_slowpath+0x72/0x1bc
    PR is at __mutex_lock_slowpath+0x66/0x1bc
    ...

    matroxfb appears to have the same issue and has solved it with an early
    mutex_init(), so we do the same for sm501fb.

    Signed-off-by: Paul Mundt
    Cc: Krzysztof Helt
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: (27 commits)
    parisc: use generic atomic64 on 32-bit
    parisc: superio: fix build breakage
    parisc: Fix PCI resource allocation on non-PAT SBA machines
    parisc: perf: wire up sys_perf_counter_open
    parisc: add task_pt_regs macro
    parisc: wire sys_perf_counter_open to sys_ni_syscall
    parisc: inventory.c, fix bloated stack frame
    parisc: processor.c, fix bloated stack frame
    parisc: fix compile warning in mm/init.c
    parisc: remove dead code from sys_parisc32.c
    parisc: wire up rt_tgsigqueueinfo
    parisc: ensure broadcast tlb purge runs single threaded
    parisc: fix "delay!" timer handling
    parisc: fix mismatched parenthesis in memcpy.c
    parisc: Fix gcc 4.4 warning in lba_pci.c
    parisc: add parameter to read_cr16()
    parisc: decode_exc.c should include kernel.h
    parisc: remove obsolete hw_interrupt_type
    parisc: fix irq compile bugs in arch/parisc/kernel/irq.c
    parisc: advertise PCI devs after "assign_resources"
    ...

    Manually fixed up trivial conflicts in tools/perf/perf.h due to addition
    of SH vs HPPA perf-counter support.

    Linus Torvalds
     

03 Jul, 2009

3 commits


02 Jul, 2009

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
    sh: LCDC dcache flush for deferred io
    sh: Fix compiler error and include the definition of IS_ERR_VALUE
    sh: re-add LCDC fbdev support to the Migo-R defconfig
    sh: fix se7724 ceu names
    sh: ms7724se: Enable sh_eth in defconfig.
    arch/sh/boards/mach-se/7206/io.c: Remove unnecessary semicolons
    sh: ms7724se: Add sh_eth support
    nommu: provide follow_pfn().
    sh: Kill off unused DEBUG_BOOTMEM symbol.
    perf_counter tools: add cpu_relax()/rmb() definitions for sh.
    sh64: Hook up page fault events for software perf counters.
    sh: Hook up page fault events for software perf counters.
    sh: make set_perf_counter_pending() static inline.
    clocksource: sh_tmu: Make undefined TCOR behaviour less undefined.

    Linus Torvalds
     
  • Since writenotify on uncached vmas is unsupported in 2.6.31,
    live with cached framebuffer memory in the deferred io
    case for now and flush the dcache before forcing refresh.

    Signed-off-by: Paul Mundt
    Acked-by: Magnus damm

    Paul Mundt
     

01 Jul, 2009

3 commits

  • Block writes require 64 byte alignment. Since block writes could be used
    with SGRAM or WRAM also refine the memory type detection to check for
    either type before deciding to use the 64 byte alignment.

    Signed-off-by: Ville Syrjala
    Tested-by: Mikulas Patocka
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Apparently HP OmniBook 500's BIOS doesn't like the way atyfb reprograms
    the hardware. The BIOS will simply hang after a reboot. Fix the problem
    by restoring the hardware to it's original state on reboot.

    Signed-off-by: Ville Syrjala
    Cc: Mikulas Patocka
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Add a mutex to avoid a circular locking problem between the mm layer
    semaphore and fbdev ioctl mutex through the fb_mmap() call.

    Also, add mutex to all places where smem_start and smem_len fields change
    so the mutex inside the fb_mmap() is actually used. Changing of these
    fields before calling the framebuffer_register() are not mutexed.

    This is 2.6.31 material. It removes one lockdep (fb_mmap() and
    register_framebuffer()) but there is still another one (fb_release() and
    register_framebuffer()). It also cleans up handling of the smem_start and
    smem_len fields used by mutexed section of the fb_mmap().

    Signed-off-by: Krzysztof Helt
    Cc: Peter Zijlstra
    Cc: "Rafael J. Wysocki"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     

30 Jun, 2009

1 commit


24 Jun, 2009

1 commit

  • On bootup nvidiafb prints the following on my Apple G5:

    nvidiafb: CRTC 1appears to have a CRT attached

    There should be a space between the '1' and the 'appears'. Add it.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mikael Pettersson