1. 28 May, 2020 5 commits
    • Alexandra Winter's avatar
      s390/cio, s390/qeth: cleanup PNSO CHSC · a0138f59
      Alexandra Winter authored
      CHSC3D (PNSO - perform network subchannel operation) is used for
      OC0 (Store-network-bridging-information) as well as for
      OC3 (Store-network-address-information). So common fields are renamed
      from *brinfo* to *pnso*.
      Also *_bridge_host_* is changed into *_addr_change_*, e.g.
      qeth_bridge_host_event to qeth_addr_change_event, for the
      same reasons.
      The keywords in the card traces are changed accordingly.
      
      Remove unused L3 types, as PNSO will only return Layer2 entries.
      
      Make PNSO CHSC implementation more consistent with existing API usage:
      Add new function ccw_device_pnso() to drivers/s390/cio/device_ops.c and
      the function declaration to arch/s390/include/asm/ccwdev.h, which takes
      a struct ccw_device * as parameter instead of schid and calls
      chsc_pnso().
      
      PNSO CHSC has no strict relationship to qdio. So move the calling
      function from qdio to qeth_l2 and move the necessary structures to a
      new file arch/s390/include/asm/chsc.h.
      
      Do response code evaluation only in chsc_error_from_response() and
      use return code in all other places. qeth_anset_makerc() was meant to
      evaluate the PNSO response code, but never did, because pnso_rc was
      already non-zero.
      
      Indentation was corrected in some places.
      Signed-off-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
      Reviewed-by: default avatarPeter Oberparleiter <oberpar@linux.ibm.com>
      Reviewed-by: default avatarVineeth Vijayan <vneethv@linux.ibm.com>
      Reviewed-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      a0138f59
    • Julian Wiedmann's avatar
      s390/qdio: remove q->first_to_kick · cafebf86
      Julian Wiedmann authored
      q->first_to_kick is obsolete, and can be replaced by q->first_to_check.
      
      Both cursors start off at 0. Out of the three code paths that update
      first_to_check, the qdio_inspect_queue() path is irrelevant as it
      doesn't even touch first_to_kick anymore.
      This leaves us with the two tasklet-driven code paths. Here any update
      to first_to_check is followed by a call to qdio_kick_handler(), which
      advances first_to_kick by the same amount.
      
      So the two cursors will differ only for a tiny moment. Drivers have no
      way of deterministically observing this difference, and thus it doesn't
      matter which of the cursors we use for reporting an error to q->handler.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      cafebf86
    • Julian Wiedmann's avatar
      s390/qdio: fix up qdio_start_irq() kerneldoc · 0623b7dd
      Julian Wiedmann authored
      Document the actual semantics, correcting an old copy & paste mistake.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      0623b7dd
    • Sven Schnelle's avatar
      s390: remove critical section cleanup from entry.S · 0b0ed657
      Sven Schnelle authored
      The current code is rather complex and caused a lot of subtle
      and hard to debug bugs in the past. Simplify the code by calling
      the system_call handler with interrupts disabled, save
      machine state, and re-enable them later.
      
      This requires significant changes to the machine check handling code
      as well. When the machine check interrupt arrived while being in kernel
      mode the new code will signal pending machine checks with a SIGP external
      call. When userspace was interrupted, the handler will switch to the
      kernel stack and directly execute s390_handle_mcck().
      Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      0b0ed657
    • Sven Schnelle's avatar
      s390: add machine check SIGP · 11886c19
      Sven Schnelle authored
      This will be used with the upcoming entry.S changes to signal
      that there's a machine check pending that cannot be handled in
      the Machine check handler itself.
      Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      11886c19
  2. 20 May, 2020 11 commits
  3. 06 May, 2020 5 commits
  4. 28 Apr, 2020 19 commits