14 Aug, 2015

1 commit

  • Provide a kernel API and a sysfs entry which allow a user to specify
    that when a card is PERSTed, it's image will stay the same, allowing
    it to participate in EEH.

    cxl_reset is used to reflash the card. In that case, we cannot safely
    assert that the image will not change. Therefore, disallow cxl_reset
    if the flag is set.

    Signed-off-by: Daniel Axtens
    Signed-off-by: Michael Ellerman

    Daniel Axtens
     

03 Jun, 2015

2 commits

  • This patch does two things.

    Firstly it presents the Accelerator Function Unit (AFUs) behind the POWER
    Service Layer (PSL) as PCI devices on a virtual PCI Host Bridge (vPHB). This
    in in addition to the PSL being a PCI device itself.

    As part of the Coherent Accelerator Interface Architecture (CAIA) AFUs can
    provide an AFU configuration. This AFU configuration recored is architected to
    be the same as a PCI config space.

    This patch sets discovers the AFU configuration records, provides AFU config
    space read/write functions to these configuration records. It then enumerates
    the PCI bus. It also hooks in PCI ops where appropriate. It also destroys the
    vPHB when the physical card is removed.

    Secondly, it add an in kernel API for AFU to use CXL. AFUs must present a
    driver that firstly binds as a PCI device. This PCI device can then be using
    to do CXL specific operations (that can't sit in the PCI ops) using this API.

    Signed-off-by: Michael Neuling
    Acked-by: Ian Munsie
    Signed-off-by: Michael Ellerman

    Michael Neuling
     
  • This moves the current include file from cxl.h -> cxl-base.h. This current
    include file is used only to pass information between the base driver that
    needs to be built into the kernel and the cxl module.

    This is to make way for a new include/misc/cxl.h which will
    contain just the kernel API for other driver to use

    Signed-off-by: Michael Neuling
    Acked-by: Ian Munsie
    Signed-off-by: Michael Ellerman

    Michael Neuling
     

08 Oct, 2014

1 commit

  • This new header adds callbacks and structs needed by the rest of the kernel to
    hook into the cxl infrastructure.

    This adds the cxl_ctx_in_use() function for use in the mm code to see if any
    cxl contexts are currently in use. This is used by the tlbie() to determine if
    it can do local TLB invalidations or not. This also adds get/put calls for the
    cxl driver module to refcount the active cxl contexts.

    cxl_ctx_get/put/in_use are static inlined here as they are called in tlbie
    which we want to be fast (mpe's suggestion).

    Empty functions are provided when CONFIG_CXL_BASE is not enabled.

    Signed-off-by: Ian Munsie
    Signed-off-by: Michael Neuling
    Signed-off-by: Michael Ellerman

    Ian Munsie
     

24 Sep, 2011

1 commit