30 Aug, 2013

2 commits


22 Aug, 2013

3 commits

  • With the introduction of PCI it became apparent that s390 should
    convert to generic hardirqs as too many drivers do not have the
    correct dependency for GENERIC_HARDIRQS. On the architecture
    level s390 does not have irq lines. It has external interrupts,
    I/O interrupts and adapter interrupts. This patch hard-codes all
    external interrupts as irq #1, all I/O interrupts as irq #2 and
    all adapter interrupts as irq #3. The additional information from
    the lowcore associated with the interrupt is stored in the
    pt_regs of the interrupt frame, where the interrupt handler can
    pick it up. For PCI/MSI interrupts the adapter interrupt handler
    scans the relevant bit fields and calls generic_handle_irq with
    the virtual irq number for the MSI interrupt.

    Reviewed-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The PCI code is the first user of adapter interrupts vectors.
    Add a set of helpers to airq.c to separate the adatper interrupt
    code from the PCI bits. The helpers allow for adapter interrupt
    vectors of any size.

    Reviewed-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The usage of strict_strtoul() is not preferred, because
    strict_strtoul() is obsolete. Thus, kstrtoul() should be
    used.

    Signed-off-by: Jingoo Han
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Jingoo Han
     

16 Jul, 2013

1 commit


27 Jun, 2013

9 commits


15 May, 2013

1 commit


02 May, 2013

3 commits

  • Provide a 'condev' keyword to cio_ignore to (un)ignore the
    CCW console device.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Provide an 'ipldev' keyword to cio_ignore to (un)ignore the
    CCW or FCP based boot device.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Pull VFS updates from Al Viro,

    Misc cleanups all over the place, mainly wrt /proc interfaces (switch
    create_proc_entry to proc_create(), get rid of the deprecated
    create_proc_read_entry() in favor of using proc_create_data() and
    seq_file etc).

    7kloc removed.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
    don't bother with deferred freeing of fdtables
    proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
    proc: Make the PROC_I() and PDE() macros internal to procfs
    proc: Supply a function to remove a proc entry by PDE
    take cgroup_open() and cpuset_open() to fs/proc/base.c
    ppc: Clean up scanlog
    ppc: Clean up rtas_flash driver somewhat
    hostap: proc: Use remove_proc_subtree()
    drm: proc: Use remove_proc_subtree()
    drm: proc: Use minor->index to label things, not PDE->name
    drm: Constify drm_proc_list[]
    zoran: Don't print proc_dir_entry data in debug
    reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
    proc: Supply an accessor for getting the data from a PDE's parent
    airo: Use remove_proc_subtree()
    rtl8192u: Don't need to save device proc dir PDE
    rtl8187se: Use a dir under /proc/net/r8180/
    proc: Add proc_mkdir_data()
    proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
    proc: Move PDE_NET() to fs/proc/proc_net.c
    ...

    Linus Torvalds
     

26 Apr, 2013

1 commit

  • When we fetch an interrupt on the CCW console using tsch (via
    ccw_device_wait_idle formerly known as wait_cons_dev) we increment
    the irq count for the affected interruption class but it is not
    accounted as an IO interrupt.

    This is broken since commit b603d258a43b4e7339660bdd3b5c25eacd603e54
    "s390: remove superfluous tpi from wait_cons_dev"

    Fix it so that the sum of the individual interrupts per class matches
    the number of IO interrupts again.

    Reported-by: Gerald Schaefer
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     

17 Apr, 2013

12 commits

  • cio_validate_subchannel is used to do some basic checks to find out
    if it's worth to further investigate a subchannel. Move the allocation
    and initialization of the subchannels locks to css_alloc_subchannel.

    Clean up the functions involved while at it.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Via ccw_device_init_count we keep track of how many devices are in
    asynchronous device recognition/initialization. For early devices this
    variable was not only used prior to its initialization but used
    incorrectly (incremented but never decremented). Fix this by using static
    initialization for this variable (and friends), make them visible to
    device.c only, and decrement the counter after recognition of early
    devices is finished.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Make css_probe_device static and remove an unimplemented prototype.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Use cio_register_early_subchannels to register early subchannels
    which are already in use. Call this function before we do the
    actual subchannel scanning loop. This helps us to get rid of some
    more special cases regarding the console subchannel.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Remove the static console ccw device (and friends) and use dynamic
    allocation for these structures. With this change the console
    device is treated (mostly) like any other ccw device and we can
    remove some special cases.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Remove the static console subchannel (and friends) and use dynamic
    allocation for these structures. With this change the console
    subchanel is treated (mostly) like any other subchannel and we can
    remove some special cases.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Split the subchannel registration in device_initialize and device_add
    and move the initialization part inside the allocation function. With
    this change we can use refcounting during the complete lifespan of a
    subchannel which is important for devices where we do the actually
    registration at a later time.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • force_console is used to wake up the CCW based console device to
    print a panic message in case something goes wrong in a suspend
    or resume cycle. Stop using the static console_subchannel and add
    a parameter to this function to specify which ccw device we have
    to wake up.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • wait_cons_dev is used to busy wait for an interrupt on the console
    ccw device. Stop using the static console_subchannel and add a
    parameter to this function to specify on which ccw device/subchannel
    we have to do the polling.

    While at it rename the function to ccw_device_wait_idle and
    move it to device.c

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Use BITS_TO_LONGS() instead of __BITOPS_WORDS() that is considered
    to be private macro in asm/bitops.h for s390.

    Signed-off-by: Akinobu Mita
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Akinobu Mita
     
  • Make use of the stored copy of format 1 channel-path data instead
    of querying the information every time the corresponding function
    is called.

    Reviewed-by: Sebastian Ott
    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • Collect format 1 channel-path description data for each CHPID
    and update the information in one place.

    Reviewed-by: Sebastian Ott
    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     

10 Apr, 2013

1 commit


07 Mar, 2013

2 commits

  • Let the bus code process scm availability information and
    notify scm device drivers about the new state.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Extend the notify callback of scm_driver by an event parameter
    to allow to distinguish between different notifications.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     

28 Feb, 2013

1 commit


27 Feb, 2013

1 commit

  • Pull vfs pile (part one) from Al Viro:
    "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
    locking violations, etc.

    The most visible changes here are death of FS_REVAL_DOT (replaced with
    "has ->d_weak_revalidate()") and a new helper getting from struct file
    to inode. Some bits of preparation to xattr method interface changes.

    Misc patches by various people sent this cycle *and* ocfs2 fixes from
    several cycles ago that should've been upstream right then.

    PS: the next vfs pile will be xattr stuff."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
    saner proc_get_inode() calling conventions
    proc: avoid extra pde_put() in proc_fill_super()
    fs: change return values from -EACCES to -EPERM
    fs/exec.c: make bprm_mm_init() static
    ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
    ocfs2: fix possible use-after-free with AIO
    ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
    get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
    target: writev() on single-element vector is pointless
    export kernel_write(), convert open-coded instances
    fs: encode_fh: return FILEID_INVALID if invalid fid_type
    kill f_vfsmnt
    vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
    nfsd: handle vfs_getattr errors in acl protocol
    switch vfs_getattr() to struct path
    default SET_PERSONALITY() in linux/elf.h
    ceph: prepopulate inodes only when request is aborted
    d_hash_and_lookup(): export, switch open-coded instances
    9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
    9p: split dropping the acls from v9fs_set_create_acl()
    ...

    Linus Torvalds
     

23 Feb, 2013

1 commit


14 Feb, 2013

2 commits