• Dan Williams's avatar
    cxl/hdm: Commit decoder state to hardware · 176baefb
    Dan Williams authored
    After all the soft validation of the region has completed, convey the
    region configuration to hardware while being careful to commit decoders
    in specification mandated order. In addition to programming the endpoint
    decoder base-address, interleave ways and granularity, the switch
    decoder target lists are also established.
    
    While the kernel can enforce spec-mandated commit order, it can not
    enforce spec-mandated reset order. For example, the kernel can't stop
    someone from removing an endpoint device that is occupying decoderN in a
    switch decoder where decoderN+1 is also committed. To reset decoderN,
    decoderN+1 must be torn down first. That "tear down the world"
    implementation is saved for a follow-on patch.
    
    Callback operations are provided for the 'commit' and 'reset'
    operations. While those callbacks may prove useful for CXL accelerators
    (Type-2 devices with memory) the primary motivation is to enable a
    simple way for cxl_test to intercept those operations.
    Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Link: https://lore.kernel.org/r/165784338418.1758207.14659830845389904356.stgit@dwillia2-xfh.jf.intel.comSigned-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    176baefb
region.c 39.5 KB