• Kenji Kaneshige's avatar
    PCI ASPM: support partial aspm enablement · b7206cbf
    Kenji Kaneshige authored
    In the current implementation, ASPM L0s/L1 is disabled for all links
    in the hierarchy if one of the link doesn't meet latency requirement.
    But we can partially enable ASPM L0s/L1 on sub-tree in the hierarchy.
    This patch allows partial L0s/L1 enablement in the hierarchy. And it
    also reduce the calculation cost of ASPM configuration very much.
    
    In the previous implementation, all links were enabled with the same
    state. With this patch, enabled state for each link is determined
    simply as follows (the 'requested' is from policy_to_aspm_state()).
    
        enabled = requested & (link->aspm_capable & link->aspm_disable)
    Acked-by: default avatarShaohua Li <shaohua.li@intel.com>
    Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    b7206cbf
aspm.c 23.5 KB