1. 25 Feb, 2009 11 commits
  2. 24 Feb, 2009 29 commits
    • Dave Airlie's avatar
      drm/i915: convert DRM_ERROR to DRM_DEBUG in phys object pwrite path · e08fb4f6
      Dave Airlie authored
      
      
      This snuck in when I wrote phys object support.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e08fb4f6
    • Dave Airlie's avatar
      drm/i915: make hw page ioremap use ioremap_wc · dd0910b3
      Dave Airlie authored
      
      
      However we still have another issue with ioremap_wc not falling back
      properly or somehow doing something else stupid, this probably needs
      to be tracked down.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      dd0910b3
    • Kyle McMartin's avatar
      drm: edid revision 0 is valid · d61e7380
      Kyle McMartin authored
      
      
      edid->revision == 0 should be valid (at least, so the error message
      indicates. :) and wikipedia seems to indicate that EDID 1.0 existed.
      
      We can dump the entire check, since edid->revision is a u8, so
      it can't ever be less than 0.
      
      Marko reports in RH bz#476735 that his monitor claims to be
      EDID 1.0, and therefore hits the check and is stuck at 800x600 because
      of it.
      Reported-by: default avatarMarko Ristola <marko.ristola@kolumbus.fi>
      Signed-off-by: default avatarKyle McMartin <kyle@redhat.com>
      Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      d61e7380
    • Chris Wilson's avatar
      drm: Correct unbalanced drm_vblank_put() during mode setting. · b3f5e732
      Chris Wilson authored
      
      
      The first time we install a mode, the vblank will be disabled for a pipe
      and so drm_vblank_get() in drm_vblank_pre_modeset() will fail. As we
      unconditionally call drm_vblank_put() afterwards, the vblank reference
      counter becomes unbalanced.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      b3f5e732
    • Jesse Barnes's avatar
      drm: disable encoders before re-routing them · 7bec756c
      Jesse Barnes authored
      
      
      In some cases we may receive a mode config that has a different
      CRTC<->encoder map that the current configuration.  In that case, we
      need to disable any re-routed encoders before setting the mode,
      otherwise they may not pick up the new CRTC (if the output types are
      incompatible for example).
      Tested-by: default avatarKristian Høgsberg <krh@bitplanet.net>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      7bec756c
    • Jesse Barnes's avatar
    • Linus Torvalds's avatar
    • Jesse Barnes's avatar
      drm/i915: handle bogus VBT panel timing · 37df9673
      Jesse Barnes authored
      
      
      We've seen cases in the wild where the VBT sync data is wrong, so add
      some code to fix it up in that case, taking care to make sure that the
      total is greater than the sync end.
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      37df9673
    • Jesse Barnes's avatar
      drm/i915: remove PLL debugging messages · 7c04d1d9
      Jesse Barnes authored
      
      
      These are normal; we walk through different values looking for the right
      one, so why flood the screen with messages?
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      7c04d1d9
    • NeilBrown's avatar
      md: avoid races when stopping resync. · 73d5c38a
      NeilBrown authored
      
      
      There has been a race in raid10 and raid1 for a long time
      which has only recently started showing up due to a scheduler changed.
      
      When a sync_read request finishes, as soon as reschedule_retry
      is called, another thread can mark the resync request as having
      completed, so md_do_sync can finish, ->stop can be called, and
      ->conf can be freed.  So using conf after reschedule_retry is not
      safe.
      
      Similarly, when finishing a sync_write, calling md_done_sync must be
      the last thing we do, as it allows a chain of events which will free
      conf and other data structures.
      
      The first of these requires action in raid10.c
      The second requires action in raid1.c and raid10.c
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      73d5c38a
    • NeilBrown's avatar
      md/raid10: Don't call bitmap_cond_end_sync when we are doing recovery. · 78200d45
      NeilBrown authored
      
      
      For raid1/4/5/6, resync (fixing inconsistencies between devices) is
      very similar to recovery (rebuilding a failed device onto a spare).
      The both walk through the device addresses in order.
      
      For raid10 it can be quite different.  resync follows the 'array'
      address, and makes sure all copies are the same.  Recover walks
      through 'device' addresses and recreates each missing block.
      
      The 'bitmap_cond_end_sync' function allows the write-intent-bitmap
      (When present) to be updated to reflect a partially completed resync.
      It makes assumptions which mean that it does not work correctly for
      raid10 recovery at all.
      
      In particularly, it can cause bitmap-directed recovery of a raid10 to
      not recovery some of the blocks that need to be recovered.
      
      So move the call to bitmap_cond_end_sync into the resync path, rather
      than being in the common "resync or recovery" path.
      
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      78200d45
    • NeilBrown's avatar
      md/raid10: Don't skip more than 1 bitmap-chunk at a time during recovery. · 09b4068a
      NeilBrown authored
      
      
      When doing recovery on a raid10 with a write-intent bitmap, we only
      need to recovery chunks that are flagged in the bitmap.
      
      However if we choose to skip a chunk as it isn't flag, the code
      currently skips the whole raid10-chunk, thus it might not recovery
      some blocks that need recovering.
      
      This patch fixes it.
      
      In case that is confusing, it might help to understand that there
      is a 'raid10 chunk size' which guides how data is distributed across
      the devices, and a 'bitmap chunk size' which says how much data
      corresponds to a single bit in the bitmap.
      
      This bug only affects cases where the bitmap chunk size is smaller
      than the raid10 chunk size.
      
      
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      09b4068a
    • Linus Torvalds's avatar
      694593e3
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · 21209b61
      Linus Torvalds authored
      * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
        Add i2c_board_info for RiscPC PCF8583
        i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent
        i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT
        i2c: Timeouts reach -1
        i2c: Fix misplaced parentheses
      21209b61
    • Linus Torvalds's avatar
      Merge branch 'firedtv-merge' of... · a792cd12
      Linus Torvalds authored
      Merge branch 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
      
      * 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firedtv: dvb_frontend_info for FireDTV S2, fix "frequency limits undefined" error
        firedtv: massive refactoring
        firedtv: rename files, variables, functions from firesat to firedtv
        firedtv: Use DEFINE_SPINLOCK
        firedtv: fix registration - adapter number could only be zero
        firedtv: use length_field() of PMT as length
        firedtv: fix returned struct for ca_info
        firedtv: cleanups and minor fixes
        ieee1394: remove superfluous assertions
        ieee1394: inherit ud vendor_id from node vendor_id
        ieee1394: add hpsb_node_read() and hpsb_node_lock()
        ieee1394: use correct barrier types between accesses of nodeid and generation
        firesat: copyrights, rename to firedtv, API conversions, fix remote control input
        firesat: avc resend
        firesat: update isochronous interface, add CI support
        firesat: add DVB-S support for DVB-S2 devices
        firesat: fix DVB-S2 device recognition
        DVB: add firesat driver
      a792cd12
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 4daa0682
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()
        ext4: Add fallback for find_group_flex
      4daa0682
    • Russell King's avatar
      Add i2c_board_info for RiscPC PCF8583 · 531660ef
      Russell King authored
      
      
      Add the necessary i2c_board_info structure to fix the lack of PCF8583
      RTC on RiscPC.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      531660ef
    • Jean Delvare's avatar
      i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent · 082a4cf8
      Jean Delvare authored
      
      
      i2c_algo_bit_data.timeout is supposed to be in jiffies, so drivers
      should use set this value in terms of HZ.
      
      Ultimately I think this field should be discarded in favor of
      i2c_adapter.timeout, but that's left for a future patch.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: default avatarLennert Buytenhek <kernel@wantstofly.org>
      Acked-by: default avatarLen Sorensen <lsorense@csclub.uwaterloo.ca>
      082a4cf8
    • Jean Delvare's avatar
      i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT · cd97f39b
      Jean Delvare authored
      
      
      The unit in which user-space can set the bus timeout value is jiffies
      for historical reasons (back when HZ was always 100.) This is however
      not good because user-space doesn't know how long a jiffy lasts. The
      timeout value should instead be set in a fixed time unit. Given the
      original value of HZ, this unit should be 10 ms, for compatibility.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      cd97f39b
    • Roel Kluin's avatar
      i2c: Timeouts reach -1 · a746b578
      Roel Kluin authored
      
      
      With a postfix decrement these timeouts reach -1 rather than 0, but
      after the loop it is tested whether they have become 0.
      
      As pointed out by Jean Delvare, the condition we are waiting for should
      also be tested before the timeout. With the current order, you could
      exit with a timeout error while the job is actually done.
      Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      a746b578
    • Roel Kluin's avatar
      i2c: Fix misplaced parentheses · f29d2e02
      Roel Kluin authored
      
      
      Fix misplaced parentheses.
      Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      f29d2e02
    • Helge Bahmann's avatar
      proc: fix PG_locked reporting in /proc/kpageflags · e07a4b92
      Helge Bahmann authored
      
      
      Expr always evaluates to zero.
      
      Cc: Matt Mackall <mpm@selenic.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      e07a4b92
    • Beat Michel Liechti's avatar
      firedtv: dvb_frontend_info for FireDTV S2, fix "frequency limits undefined" error · e73bf9f1
      Beat Michel Liechti authored
      
      
      I found that the function fdtv_frontend_init in the file firedtv-fe.c was
      missing a case for FIREDTV_DVB_S2 which resulted in "frequency limits
      undefined" errors in syslog.
      Signed-off-by: default avatarBeat Michel Liechti <bml303@gmail.com>
      
      Change by Stefan R: combine it with case case FIREDTV_DVB_S as
      originally suggested by Beat Michel.  This enables FE_CAN_FEC_AUTO also
      for FireDTV-S2 devices which is possible as long as only DVB-S channels
      are used.  FE_CAN_FEC_AUTO would be wrong for DVB-S2 channels, but those
      cannot be used yet since the driver is not yet converted to S2API.
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      e73bf9f1
    • Stefan Richter's avatar
      firedtv: massive refactoring · 15490795
      Stefan Richter authored
      
      
      Combination of the following changes:
      
      Mon, 23 Feb 2009 14:21:10 +0100 (CET)
      firedtv: reinstate debug logging option
      
          Henrik Kurelid tells me that FCP debug logging (which I removed during
          cleanups) is still useful when working on driver issues together with
          end users.  So bring it back in an updated form with only 60% of the
          original code footprint.
      
          Logging can be enabled with
          # echo -1 > /sys/module/firedtv/parameters/debug
      
          1 instead of -1 enables only FCP header logging,
          2 instead of -1 enables only hexdumps of the entire FCP frames.
          0 switches logging off again.
      
      Fri, 20 Feb 2009 20:54:27 +0100 (CET)
      firedtv: build fix for INPUT=m and DVB_FIREDTV=y
      
      Thu, 19 Feb 2009 20:40:39 +0100
      firedtv: use msecs_to_jiffies
      
          Pointed out by Mauro Carvalho Chehab.
      
      Sun Feb 15 20:50:46 CET 2009
      firedtv: some more housekeeping
      
          Fix an old checkpatch warning and a new compiler warning.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: rename a file once more
      
          At the moment, about a third of avc.c is specific to FireDTVs rather
          than generic AV/C code.  Rename it to firedtv-avc.c.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: more compact channels backing store
      
          Replace struct firedtv_channel { bool active; int pid; } channel[16];
          by unsigned long channel_active; u16 channel_pid[16];.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: some simplifications
      
          c->active was unnecessarily cleared twice.
      
          Also, by marking the channel inactive before the for loop,
          the loop becomes identical with fdtv_channel_collect().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: remove a bogus loop
      
          This loop is unnecessary because
            - only active channel[].pid's will be sent to the device,
            - when a channel is activated, its pid is set to dvbdmxfeed->pid.
      
          Perhaps the original code was there because it was initially not fully
          covered by the fdtv->demux_mutex.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix mutex protection
      
          fdtv_start_feed() accessed the channel list unsafely.
          Fully serialize it with itself and fdtv_stop_feed().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix missing braces
      
          Original code was:
                  ...
                  case DMX_TS_PES_OTHER:
                          //Dirty fix to keep firesat->channel pid-list up to date
                          for(k=0;k<16;k++){
                                  if(firesat->channel[k].active == 0)
                                          firesat->channel[k].pid =
                                                  dvbdmxfeed->pid;
                                          break;
                          }
                          channel = firesat_channel_allocate(firesat);
                          break;
                  default:
                  ...
      
          Looks bogus in several respects. For now let's just add braces to the if
          because that seems to be what the author meant.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: allow build without input subsystem
      
          !CONFIG_INPUT is very unlikely on systems on which firedtv is of
          interest.  But we can easily support it.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: replace EXTRA_CFLAGS by ccflags
      
          The former are deprecated.
          The latter can depend on Kconfig variables.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: concentrate ieee1394 dependencies
      
          Move the entire interface with drivers/ieee1394 to firedtv-1394.c.
          Move 1394-independent module initialization code to firedtv-dvb.c.
      
          This prepares interfacing with drivers/firewire.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: amend Kconfig menu prompt
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: remove kernel version compatibility macro
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: combine header files
      
          avc.h and firedtv-*.h are small and currently not shared with other
          drivers, hence concatenate them all into firedtv.h.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: misc style touch-ups
      
          Standardize on lower-case hexadecimal constants.  Adjust whitespace.
          Omit unnecessary pointer type casts and an unnecessary list head
          initialization.  Use dev_printk.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc, ci: remove unused constants
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from read descriptor response operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from DSD command operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: header file cleanup
      
          Remove unused constants and declarations.
          Move privately used constants into .c files.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from FCP frame types
      
          Don't use bitfields in struct types of on-the-wire data.
      
          Also move many privately used constants from avc.h to avc.c
          and remove some unused constants.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: fix offset in avc_tuner_get_ts
      
          The parentheses were wrong.  It didn't matter though because this code
          only writes a 0 into an area which is already initialized to 0.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: reduce stack usage, remove two typedefs
      
          It is safe to share a memory buffer for command frame and response frame
          because the response data come in after the command frame was last used.
      
          Even less stack would be required if only the actual required frame size
          instead of the entire FCP register size was allocated.
      
          Also, rename the defined types AVCCmdFrm and AVCRspFrm to
          struct avc_command_frame and struct avc_response_frame.
          TODO:  Remove the bitfields in these types.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: cmp: move code to avc
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: move code to firedtv-1394
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: remove unnecessary struct type definitions
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: style changes and fixlets
      
          Add cleanup after failure in setup_iso_channel.
          Replace printk() by dv_err().
          Decrease indentation level in rawiso_activity_cb().
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      15490795
    • Rambaldi's avatar
      firedtv: rename files, variables, functions from firesat to firedtv · a70f81c1
      Rambaldi authored
      
      
      Combination of the following changes:
      
      Sat, 17 Jan 2009 14:47:34 +0100
      firedtv: rename variables and functions from firesat to firedtv
      Signed-off-by: default avatarRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Renamed struct firedtv *firedtv to struct firedtv *fdtv and
          firedtv_foo_bar() to fdtv_foo_bar() for brevity.
      
      Sat, 17 Jan 2009 13:07:44 +0100
      firedtv: rename files from firesat to firedtv
      Signed-off-by: default avatarRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Name the directory "firewire" instead of "firedtv".
          Standardize on "-" instead of "_" in file names, because that's what
          drivers/firewire/ and drivers/media/dvb/dvb-usb/ use too.
          Build fix.
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      a70f81c1
    • Julia Lawall's avatar
      firedtv: Use DEFINE_SPINLOCK · 291f006e
      Julia Lawall authored
      
      
      SPIN_LOCK_UNLOCKED is deprecated.  The following makes the change suggested
      in Documentation/spinlocks.txt
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      291f006e
    • Henrik Kurelid's avatar
      firedtv: fix registration - adapter number could only be zero · a40bf559
      Henrik Kurelid authored
      
      
      There was a bug causing the initialization to fail if adapter number was
      greater than zero. The adapter was however registered which caused the driver
      to oops the second time initialization was tried.
      Signed-off-by: default avatarHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      a40bf559
    • Henrik Kurelid's avatar
      firedtv: use length_field() of PMT as length · 7199e523
      Henrik Kurelid authored
      
      
      Parsed and used the length_field() of the PMT message instead of using
      the length field of the message struct, which does not seem to be filled
      correctly by e.g. MythTV.
      Signed-off-by: default avatarHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      7199e523
    • Henrik Kurelid's avatar
      firedtv: fix returned struct for ca_info · 096edfbf
      Henrik Kurelid authored
      
      
      The SystemId of the ca_info message was filled with garbage.
      It now returns what the card returns.
      Signed-off-by: default avatarHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      096edfbf