1. 13 8月, 2008 7 次提交
    • H
      byteorder: add a new include/linux/swab.h to define byteswapping functions · 40c9f222
      Harvey Harrison 提交于
      Collect the implementations from include/linux/byteorder/swab.h, swabb.h
      in swab.h
      
      The functionality provided covers:
      u16 swab16(u16 val) - return a byteswapped 16 bit value
      u32 swab32(u32 val) - return a byteswapped 32 bit value
      u64 swab64(u64 val) - return a byteswapped 64 bit value
      u32 swahw32(u32 val) - return a wordswapped 32 bit value
      u32 swahb32(u32 val) - return a high/low byteswapped 32 bit value
      
      Similar to above, but return swapped value from a naturally-aligned pointer
      u16 swab16p(u16 *p)
      u32 swab32p(u32 *p)
      u64 swab64p(u64 *p)
      u32 swahw32p(u32 *p)
      u32 swahb32p(u32 *p)
      
      Similar to above, but swap the value in-place (in-situ)
      void swab16s(u16 *p)
      void swab32s(u32 *p)
      void swab64s(u64 *p)
      void swahw32s(u32 *p)
      void swahb32s(u32 *p)
      
      Arches can override any of these with an optimized version by defining an
      inline in their asm/byteorder.h (example given for swab16()):
      
      u16 __arch_swab16() {}
       #define __arch_swab16 __arch_swab16
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      40c9f222
    • A
      seq_file: add seq_cpumask(), seq_nodemask() · 50ac2d69
      Alexey Dobriyan 提交于
      Short enough reads from /proc/irq/*/smp_affinity return -EINVAL for no
      good reason.
      
      This became noticed with NR_CPUS=4096 patches, when length of printed
      representation of cpumask becase 1152, but cat(1) continued to read with
      1024-byte chunks.  bitmap_scnprintf() in good faith fills buffer, returns
      1023, check returns -EINVAL.
      
      Fix it by switching to seq_file, so handler will just fill buffer and
      doesn't care about offsets, length, filling EOF and all this crap.
      
      For that add seq_bitmap(), and wrappers around it -- seq_cpumask() and
      seq_nodemask().
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Reviewed-by: NPaul Jackson <pj@sgi.com>
      Cc: Mike Travis <travis@sgi.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      50ac2d69
    • U
      move kernel-doc comment for might_sleep directly before its defining block · 070cb065
      Uwe Kleine-König 提交于
      Signed-off-by: NUwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      070cb065
    • H
      atmel_lcdfb: add board parameter specify framebuffer memory size · ea757aca
      Haavard Skinnemoen 提交于
      Specify how much physically continuous, DMA capable memory will be
      allocated at driver initialization time.  This allow to create framebuffer
      device with larger virtual resolution.  Combine with y-panning this can be
      used to implement double buffering acceleration method.
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Acked-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ea757aca
    • J
      matrox maven: convert to a new-style i2c driver · 10546355
      Jean Delvare 提交于
      The legacy i2c model is going away soon, so switch to the new model.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Acked-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
      Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      10546355
    • D
      radeonfb: fix accel engine hangs · 969830b2
      David Miller 提交于
      Some chips appear to have the 2D engine hang during screen redraw,
      typically in a sequence of copyarea operations. This appear to be
      solved by adding a flush of the engine destination pixel cache
      and waiting for the engine to be idle before issuing the accel
      operation. The performance impact seems to be fairly small.
      
      Here is a trace on an RV370 (PCI device ID 0x5b64), it records the
      RBBM_STATUS register, then the source x/y, destination x/y, and
      width/height used for the copy:
      
      ----------------------------------------
      radeonfb_prim_copyarea: STATUS[00000140] src[210:70] dst[210:60] wh[a0:10]
      radeonfb_prim_copyarea: STATUS[00000140] src[2b8:70] dst[2b8:60] wh[88:10]
      radeonfb_prim_copyarea: STATUS[00000140] src[348:70] dst[348:60] wh[40:10]
      radeonfb_prim_copyarea: STATUS[80020140] src[390:70] dst[390:60] wh[88:10]
      radeonfb_prim_copyarea: STATUS[8002613f] src[40:80] dst[40:70] wh[28:10]
      radeonfb_prim_copyarea: STATUS[80026139] src[a8:80] dst[a8:70] wh[38:10]
      radeonfb_prim_copyarea: STATUS[80026133] src[e8:80] dst[e8:70] wh[80:10]
      radeonfb_prim_copyarea: STATUS[8002612d] src[170:80] dst[170:70] wh[30:10]
      radeonfb_prim_copyarea: STATUS[80026127] src[1a8:80] dst[1a8:70] wh[8:10]
      radeonfb_prim_copyarea: STATUS[80026121] src[1b8:80] dst[1b8:70] wh[88:10]
      radeonfb_prim_copyarea: STATUS[8002611b] src[248:80] dst[248:70] wh[68:10]
      ----------------------------------------
      
      When things are going fine the copies complete before the next ROP is
      even issued, but all of a sudden the 2D unit becomes active (bit 17 in
      RBBM_STATUS) and the FIFO retry (bit 13) and FIFO pipeline busy (bit
      14) are set as well.  The FIFO begins to backup until it becomes full.
      
      What happens next is the radeon_fifo_wait() times out, and we access
      the chip illegally leading to a bus error which usually wedges the
      box.  None of this makes it to the console screen, of course :-)
      radeon_fifo_wait() should be modified to reset the accelerator when
      this timeout happens instead of programming the chip anyways.
      
      ----------------------------------------
      radeonfb: FIFO Timeout !
      ERROR(0): Cheetah error trap taken afsr[0010080005000000] afar[000007f900800e40] TL1(0)
      ERROR(0): TPC[595114] TNPC[595118] O7[459788] TSTATE[11009601]
      ERROR(0): TPC<radeonfb_copyarea+0xfc/0x248>
      ERROR(0): M_SYND(0),  E_SYND(0), Privileged
      ERROR(0): Highest priority error (0000080000000000) "Bus error response from system bus"
      ERROR(0): D-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000]
      ERROR(0): D-cache data0[0000000000000000] data1[0000000000000000] data2[0000000000000000] data3[0000000000000000]
      ERROR(0): I-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000] u[0000000000000000] l[00\
      
      ERROR(0): I-cache INSN0[0000000000000000] INSN1[0000000000000000] INSN2[0000000000000000] INSN3[0000000000000000]
      ERROR(0): I-cache INSN4[0000000000000000] INSN5[0000000000000000] INSN6[0000000000000000] INSN7[0000000000000000]
      ERROR(0): E-cache idx[800e40] tag[000000000e049f4c]
      ERROR(0): E-cache data0[fffff8127d300180] data1[00000000004b5384] data2[0000000000000000] data3[0000000000000000]
      Ker:xnel panic - not syncing: Irrecoverable deferred error trap.
      ----------------------------------------
      
      Another quirk is that these copyarea calls will not happen until the
      first drivers/char/vt.c:redraw_screen() occurs.  This will only happen
      if you 1) VC switch or 2) run "consolechars" or 3) unblank the screen.
      
      This seems to happen because until a redraw_screen() the screen scrolling
      method used by fbcon is not finalized yet.  I've seen this with other fb
      drivers too.
      
      So if all you do is boot straight into X you will never see this bug on
      the relevant chips.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      969830b2
    • J
      page allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash() · 74768ed8
      Jan Beulich 提交于
      ..  since a failed allocation is being (initially) handled gracefully, and
      panic()-ed upon failure explicitly in the function if retries with smaller
      sizes failed.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      74768ed8
  2. 12 8月, 2008 6 次提交
  3. 11 8月, 2008 16 次提交
  4. 09 8月, 2008 1 次提交
  5. 08 8月, 2008 5 次提交
  6. 07 8月, 2008 5 次提交