27 Jun, 2013

2 commits

  • Move the code to issue the set adapter device controls command to
    chsc.c and make it accessible for the qdio code via the wrapper
    chsc_sadc.

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

    Sebastian Ott
     
  • Cleanup the function qdio_setup_get_ssqd. Fix some possible
    memleaks and an unchecked allocation and create a wrapper
    for SSQD in chsc.c .

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

    Sebastian Ott
     

17 Apr, 2013

1 commit


07 Mar, 2013

1 commit

  • 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
     

14 Feb, 2013

1 commit


16 Jan, 2013

1 commit

  • cbc0dd1 "s390/pci: CHSC PCI support for error and availability events"
    introduced a new SEI notification type as part of pci support.
    The way SEI was called with nt2 and nt0 consecutive broke the nt0
    stuff used for channel subsystem notifications.

    The reason why this was broken with the mentioned patch is that you
    cannot selectively disable type 0 notifications (so even when asked
    for type 2 only, type 0 could be presented).

    The way to do it is to tell SEI which types of notification you can
    process and -this is the important part- look at the SEI result which
    notification type you actually received.

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

    Sebastian Ott
     

01 Dec, 2012

1 commit


26 Sep, 2012

2 commits


20 Jul, 2012

1 commit

  • Remove the file name from the comment at top of many files. In most
    cases the file name was wrong anyway, so it's rather pointless.

    Also unify the IBM copyright statement. We did have a lot of sightly
    different statements and wanted to change them one after another
    whenever a file gets touched. However that never happened. Instead
    people start to take the old/"wrong" statements to use as a template
    for new files.
    So unify all of them in one go.

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     

01 Dec, 2011

1 commit

  • The functions called by chsc_chp_vary operate on pointers to channel
    path ids not channel path links. (This worked by chance since the id
    is the first member of the link structure)

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

    Sebastian Ott
     

23 May, 2011

1 commit


05 Jan, 2011

1 commit


25 Oct, 2010

5 commits

  • Update the channel path descriptors after hibernation.
    This is done unlocked, since we are the only active
    task at this time.

    Note: chsc_determine_base_channel_path_desc is changed
    to use spin_lock_irqsave, since it's called with
    interrupts disabled in this case.

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

    Sebastian Ott
     
  • Update the channel path descriptor at the beginning of to the
    vary_on operation.

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

    Sebastian Ott
     
  • chsc_determine_channel_path_desc is called by a wrapper
    who allocates a response struct. The response data
    is then memcpy'ed to this response struct by
    chsc_determine_channel_path_desc.

    Change chsc_determine_base_channel_path_desc to use the
    global chsc_page and deliver it to the function doing
    the actual chsc call. The channel path desriptor is
    then directly read from the response data.

    As a result we get rid of the additional allocation
    for the response struct.

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

    Sebastian Ott
     
  • Most wrappers around the channel subsystem call have their own logic
    to allocate memory (with proper alignment) or use preallocated or
    static memory. This patch converts most users of the channel
    subsystem call to use the same preallocated page (proteced by a
    spinlock).

    Note: The sei_page which is used in our crw handler to call
    "store event information" has to coexist, since
    a) in crw context, while accessing the sei_page, sleeping is allowed
    (which will conflict with the spinlock protection of the chsc_page)
    b) in crw context, while accessing the sei_page, channel subsystem
    calls are allowed (which itself would require the page).

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

    Sebastian Ott
     
  • This patch fixes:
    * kfree vs. free_page usage
    * structure definition for determine_css_characteristics
    * naming convention for the chsc init function
    * deregistration of crw handlers in the cleanup path

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

    Sebastian Ott
     

10 Aug, 2010

1 commit

  • A Linux interface for the CHSC command
    store-I/O-operation-status-and-initiate-logging (SIOSL).
    Model-dependent logging within the channel subsystem can be invoked
    via a helper function or a writable subchannel device attribute.

    Signed-off-by: Michael Ernst
    Signed-off-by: Martin Schwidefsky

    Michael Ernst
     

19 Jul, 2010

1 commit

  • The length filed in the chsc response block (if valid)
    has a value of n*(sizeof(chp_desc))+8 (for the response
    block header). When we memcopied from the response block
    to the actual descriptor we copied 8 bytes too much.
    The bug was not revealed since the descriptor is embedded
    in struct channel_path.
    Since we only write one descriptor at a time ignore the
    length value and use sizeof(*desc).

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

    Sebastian Ott
     

22 Apr, 2010

1 commit


27 Feb, 2010

1 commit

  • Some parts of cio do not shift PAGE_DEFAULT_KEY correctly and end up
    with an incorrect key in their data structures.
    Since the default key is zero this doesn't really matter. However if
    somebody would use key-controlled protection for debugging purposes
    it would be quite helpful if all of this would work as expected.

    Also remove a stale declaration.

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

    Heiko Carstens
     

16 Jun, 2009

1 commit


26 Mar, 2009

2 commits


25 Dec, 2008

1 commit


17 Jul, 2008

1 commit


14 Jul, 2008

5 commits

  • This patch adds a driver for subchannels of type chsc.

    A device /dev/chsc is created which may be used to issue ioctls to:
    - obtain information about the machine's I/O configuration
    - dynamically change the machine's I/O configuration via
    asynchronous chsc commands

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

    Cornelia Huck
     
  • Passing the affected chpid in chp_event() worked only by
    chance since chpid is the first element in res_acc_data.
    Make it work properly by generalizing res_acc_data as
    chp_link and always passing around a properly filled out
    chp_link structure in chp_event().

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

    Cornelia Huck
     
  • Add support for clock synchronization with the server time protocol.

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

    Martin Schwidefsky
     
  • Eliminate the need for the machine check handler to call into
    the common I/O layer directly by introducing an interface to
    register handlers for crws per rsc.

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

    Cornelia Huck
     
  • Rework the css driver methods to provide sane callbacks for
    subchannels of all types.

    As a bonus, this cleans up and simplyfies the machine check
    handling for I/O subchannels a lot.

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

    Cornelia Huck
     

17 Apr, 2008

2 commits


05 Feb, 2008

1 commit


26 Jan, 2008

4 commits


27 Jul, 2007

1 commit