25 May, 2012

1 commit

  • Pull KVM changes from Avi Kivity:
    "Changes include additional instruction emulation, page-crossing MMIO,
    faster dirty logging, preventing the watchdog from killing a stopped
    guest, module autoload, a new MSI ABI, and some minor optimizations
    and fixes. Outside x86 we have a small s390 and a very large ppc
    update.

    Regarding the new (for kvm) rebaseless workflow, some of the patches
    that were merged before we switch trees had to be rebased, while
    others are true pulls. In either case the signoffs should be correct
    now."

    Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
    arch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.

    I suspect the kvm_para.h resolution ends up doing the "do I have cpuid"
    check effectively twice (it was done differently in two different
    commits), but better safe than sorry ;)

    * 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)
    KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block
    KVM: s390: onereg for timer related registers
    KVM: s390: epoch difference and TOD programmable field
    KVM: s390: KVM_GET/SET_ONEREG for s390
    KVM: s390: add capability indicating COW support
    KVM: Fix mmu_reload() clash with nested vmx event injection
    KVM: MMU: Don't use RCU for lockless shadow walking
    KVM: VMX: Optimize %ds, %es reload
    KVM: VMX: Fix %ds/%es clobber
    KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()
    KVM: VMX: unlike vmcs on fail path
    KVM: PPC: Emulator: clean up SPR reads and writes
    KVM: PPC: Emulator: clean up instruction parsing
    kvm/powerpc: Add new ioctl to retreive server MMU infos
    kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM
    KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
    KVM: PPC: Book3S: Enable IRQs during exit handling
    KVM: PPC: Fix PR KVM on POWER7 bare metal
    KVM: PPC: Fix stbux emulation
    KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields
    ...

    Linus Torvalds
     

23 May, 2012

1 commit

  • Pull TTY updates from Greg Kroah-Hartman:
    "Here's the big TTY/serial driver pull request for the 3.5-rc1 merge
    window.

    Nothing major in here, just lots of incremental changes from Alan and
    Jiri reworking some tty core things to behave better and to get a more
    solid grasp on some of the nasty tty locking issues.

    There are a few tty and serial driver updates in here as well.

    All of this has been in the linux-next releases for a while with no
    problems.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'tty-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (115 commits)
    serial: bfin_uart: Make MMR access compatible with 32 bits bf609 style controller.
    serial: bfin_uart: RTS and CTS MMRs can be either 16-bit width or 32-bit width.
    serial: bfin_uart: narrow the reboot condition in DMA tx interrupt
    serial: bfin_uart: Adapt bf5xx serial driver to bf60x serial4 controller.
    Revert "serial_core: Update buffer overrun statistics."
    tty: hvc_xen: NULL dereference on allocation failure
    tty: Fix LED error return
    tty: Allow uart_register/unregister/register
    tty: move global ldisc idle waitqueue to the individual ldisc
    serial8250-em: Add DT support
    serial8250-em: clk_get() IS_ERR() error handling fix
    serial_core: Update buffer overrun statistics.
    tty: drop the pty lock during hangup
    cris: fix missing tty arg in wait_event_interruptible_tty call
    tty/amiserial: Add missing argument for tty_unlock()
    tty_lock: Localise the lock
    pty: Lock the devpts bits privately
    tty_lock: undo the old tty_lock use on the ctty
    serial8250-em: Emma Mobile UART driver V2
    Add missing call to uart_update_timeout()
    ...

    Linus Torvalds
     

22 May, 2012

1 commit

  • Pull s390 updates from Martin Schwidefsky:
    "Just a random collection of bug-fixes and cleanups, nothing new in
    this merge request."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (46 commits)
    s390/ap: Fix wrong or missing comments
    s390/ap: move receive callback to message struct
    s390/dasd: re-prioritize partition detection message
    s390/qeth: reshuffle initialization
    s390/qeth: cleanup drv attr usage
    s390/claw: cleanup drv attr usage
    s390/lcs: cleanup drv attr usage
    s390/ctc: cleanup drv attr usage
    s390/ccwgroup: remove ccwgroup_create_from_string
    s390/qeth: stop using struct ccwgroup driver for discipline callbacks
    s390/qeth: switch to ccwgroup_create_dev
    s390/claw: switch to ccwgroup_create_dev
    s390/lcs: switch to ccwgroup_create_dev
    s390/ctcm: switch to ccwgroup_create_dev
    s390/ccwgroup: exploit ccwdev_by_dev_id
    s390/ccwgroup: introduce ccwgroup_create_dev
    s390: fix race on TIF_MCCK_PENDING
    s390/barrier: make use of fast-bcr facility
    s390/barrier: cleanup barrier functions
    s390/claw: remove "eieio" calls
    ...

    Linus Torvalds
     

18 May, 2012

1 commit

  • Currently qemu/kvm on s390 uses a guest mapping that does not
    allow the guest backing page table to be write-protected to
    support older systems. On those older systems a host write
    protection fault will be delivered to the guest.

    Newer systems allow to write-protect the guest backing memory
    and let the fault be delivered to the host, thus allowing COW.

    Use a capability bit to tell qemu if that is possible.

    Signed-off-by: Christian Borntraeger
    Acked-by: Heiko Carstens
    Signed-off-by: Marcelo Tosatti

    Christian Borntraeger
     

17 May, 2012

2 commits

  • The qeth layer3 driver is notified about IP address changes.
    Changes concerning qeth driven network interfaces have to be
    forwarded to the OSA-card. This includes IP addresses of VLAN
    interfaces with a qeth device as base device. Function
    qeth_l3_verify_vlan_dev() determines if the net_device of the
    IP event belongs to a vlan device belonging to a qeth device
    as real device. This function is broken starting with commit
    7ff0bcf676f7ed224ce21b58c7858c8e527068b2 , which means IP
    addresses of VLAN devices are no longer set at the base qeth
    device. The patch repairs function qeth_l3_verify_vlan_dev().

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     
  • Commit 1abd2296b4a1ee7b6a883541c3ede52042a09521 starts removing
    token ring from qeth_l3. This patch removes the rest of token
    ring related code from the driver.

    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Frank Blaschka
     

16 May, 2012

22 commits

  • Fix wrong or missing comments of ap inline assemblies.

    Signed-off-by: Holger Dengler
    Signed-off-by: Martin Schwidefsky

    Holger Dengler
     
  • Move the receive callback from zdev_driver to ap_message structure to
    get a more flexible asynchronous ap message handling.

    Signed-off-by: Holger Dengler
    Signed-off-by: Martin Schwidefsky

    Holger Dengler
     
  • Reshuffle the init function of the qeth driver to ensure
    that the driver is usable at the time it is registered.

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

    Sebastian Ott
     
  • Cleanup attributes of the qeth ccwgroup driver. Ensure availability
    of driver attributes by the time the driver is registered.

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

    Sebastian Ott
     
  • Rename attributes of the claw_group_driver. Also get rid of
    the call to driver_remove_file.

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

    Sebastian Ott
     
  • Rename attributes of the lcs_group_driver. Also get rid of
    the call to driver_remove_file.

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

    Sebastian Ott
     
  • Rename attributes of the ctcm_group_driver. Also get rid of
    the call to driver_remove_file.

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

    Sebastian Ott
     
  • Remove the old ccwgroup_create_from_string interface since all
    drivers have been converted to ccwgroup_create_dev. Also remove
    now unused members of ccwgroup_driver.

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

    Sebastian Ott
     
  • The interface between qeth and its disciplines should not depend on
    struct ccwgroup_driver, as a qeth discipline is not a ccwgroup
    driver on its own. Instead provide the particular callbacks in struct
    qeth_discipline.

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

    Sebastian Ott
     
  • Switch to the new ccwgroup_create_dev interface. Also wrap device
    attributes in a struct device_type and let the driver core create
    these attributes automagically.

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

    Sebastian Ott
     
  • Switch to the new ccwgroup_create_dev interface. Also wrap device
    attributes in a struct device_type and let the driver core create
    these attributes automagically.

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

    Sebastian Ott
     
  • Switch to the new ccwgroup_create_dev interface. Also wrap device
    attributes in a struct device_type and let the driver core create
    these attributes automagically.

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

    Sebastian Ott
     
  • Switch to the new ccwgroup_create_dev interface. Also wrap device
    attributes in a struct device_type and let the driver core create
    these attributes automagically.

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

    Sebastian Ott
     
  • Instead of finding devices via driver_find_device use the bus_find_device
    wrapper get_ccwdev_by_dev_id. This allows us to get rid of the ccw_driver
    argument of ccwgroup_create_dev and thus simplify the interface.

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

    Sebastian Ott
     
  • Add a new interface for drivers to create a group device. Via the old
    interface ccwgroup_create_from_string we would create a virtual device
    in a way that only the caller of this function would match and bind to.

    Via the new ccwgroup_create_dev we stop playing games with the driver
    core and directly set the driver of the new group device. For drivers
    which have todo additional setup steps (like setting driver_data)
    provide a new setup driver callback.

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

    Sebastian Ott
     
  • If the code really depends on ordering it's already racy. The additional
    memory barriers (eieio) don't help with that.
    If the code is not racy the memory barriers also aren't needed.

    In any case, just remove them.

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

    Heiko Carstens
     
  • Add missing storage key initialization when memory comes online.
    Didn't hurt until now, since the kernel always uses access key 0.

    However for debugging purposes we sometimes use a different key
    and it might be good if everything is properly initialized...

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

    Heiko Carstens
     
  • The store clock fast instruction saves a couple of instructions compared
    to the store clock instruction. Always use stckf instead of stck if it
    is available.

    Signed-off-by: Heiko Carstens
    Reviewed-by: Martin Schwidefsky
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • wait_cons_dev waits for a particular subchannel to complete an I/O.
    It is not necessary to use tpi to get the subchannel id as it is
    already known. This avoids changes to the interrupt subclass mask
    and allows to remove the lock & unlock of the subchannel lock.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Various improvements of qdio error reporting to the
    upper-layer drivers (qeth, zfcp):

    - Split QDIO_ERROR_ACTIVATE_CHECK_CONDITION into:

    QDIO_ERROR_ACTIVATE: qdio termination interrupt
    QDIO_ERROR_GET_BUF_STATE: QIOASSIST eqbs error
    QDIO_ERROR_SET_BUF_STATE: QIOASSIST sqbs error

    Add QDIO_ERROR_FATAL / QDIO_ERROR_TEMPORARY masks
    to ease recovery decision in upper-layer drivers.

    - Don't (ab-)use qdio handler errors as return codes
    for do_QDIO but use standard error codes:

    -ENOBUFS: temporary target CC=2 condition
    -EBUSY: unresolved SIGA-W CC=2 busy condition
    -EIO: I/O error (CC=1, CC=3)

    - Remove unneeded memory clobber from SIGA-R
    - Remove EX_TABLE entry on SIGA-W, we want to see these errors

    Reviewed-by: Ursula Braun
    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Jan Glauber
     
  • The token ring support is going away from the core kernel.
    Divorce the S390 drivers from it in advance.

    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

24 Apr, 2012

3 commits

  • The previous blkt defaults for OSA Express 4 cards produced inadequate
    performance for streaming workloads. The present patch will apply a
    set of more appropriate defaults.

    Signed-off-by: Stefan Raspl
    Reviewed-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Stefan Raspl
     
  • There exist qeth sysfs blkt attributes to change the default blkt
    values. But blkt changes are reset during online setting due to a 2nd
    invocation of qeth_determine_capabilites(). This patch makes sure
    blkt default values are configured during 1st run of
    qeth_determine_capabilities() only. Thus blkt changes are kept
    during online setting.

    Signed-off-by: Ursula Braun
    Reported-by: Horst Hartmann
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • This resolves the merge problem with:
    drivers/tty/serial/pch_uart.c

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

18 Apr, 2012

1 commit

  • Fix compile error caused by "TTY: con3215, use tty from tty_port":

    CC drivers/s390/char/con3215.o
    drivers/s390/char/con3215.c: In function 'raw3215_wakeup':
    drivers/s390/char/con3215.c:339:16: error: 'struct raw3215_info' has no member named 'tty'
    make[1]: *** [drivers/s390/char/con3215.o] Error 1
    make: *** [drivers/s390/char/] Error 2

    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Acked-by: Jiri Slaby
    Signed-off-by: Greg Kroah-Hartman

    Heiko Carstens
     

14 Apr, 2012

2 commits

  • Obtain tty_struct only once in ISR and pass it down to
    raw3215_next_io. Other than that, we just use the tty with raised
    reference. And set it properly in open and close.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • And use flags from that. But first we have to get rid of duplicated
    flag names. From now on, for the standard ones that are stored in
    tty_port->flags, we use ASYNC_* ones.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     

11 Apr, 2012

2 commits


10 Apr, 2012

4 commits

  • And use tty from that. This means, we convert most of the users to
    accept tty_port instead. This is not racy and ensures the tty to be
    properly refcounted.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • So that we do not need to access tp->tty there. It is going away.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • Blah, do not assume that raw3270_view is at the beginning of tty3270.
    Use proper types and container_of wherever needed.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • Let us initialize all the tty3270's members at the place where the
    structure is allocated.

    It cleans up tty->ops->open a bit.

    Signed-off-by: Jiri Slaby
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby