• Kumar, Mahesh's avatar
    drm/i915/bxt+: Enable IPC support · 2503a0fe
    Kumar, Mahesh authored
    This patch adds IPC support. This patch also enables IPC in all supported
    platforms based on has_ipc flag.
    IPC (Isochronous Priority Control) is the hardware feature, which
    dynamically controls the memory read priority of Display.
    
    When IPC is enabled, plane read requests are sent at high priority until
    filling above the transition watermark, then the requests are sent at
    lower priority until dropping below the level 0 watermark.
    The lower priority requests allow other memory clients to have better
    memory access. When IPC is disabled, all plane read requests are sent at
    high priority.
    
    Changes since V1:
     - Remove commandline parameter to disable ipc
     - Address Paulo's comments
    Changes since V2:
     - Address review comments
     - Set ipc_enabled flag
    Changes since V3:
     - move ipc_enabled flag assignment inside intel_ipc_enable function
    Changes since V4:
     - Re-enable IPC after suspend/resume
    Changes since V5:
     - Enable IPC for all gen >=9 except SKL
    Changes since V6:
     - fix commit msg
     - after resume program IPC based on SW state.
    Changes since V7:
     - Modify IPC support check based on HAS_IPC macro (suggested by Chris)
    Signed-off-by: default avatarMahesh Kumar <mahesh1.kumar@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20170817134529.2839-8-mahesh1.kumar@intel.com
    2503a0fe
intel_pm.c 266 KB