• Zhang Lixu's avatar
    HID: intel-ish-hid: ipc: set NO_D3 flag only when needed · c1ca58f6
    Zhang Lixu authored
    Currently, the NO_D3 flag is set in ish_probe(), and cleared in
    ish_remove(). So even if the system goes into S3, ISH is still
    in D0i3 state. It makes more sense that put ISH into D3 as system
    goes into S3 and put ISH into D0i3 as system goes into suspend-to-idle.
    I remove the NO_D3 setting in ish_probe(), so that ISH can enter
    D3 state when system enters S3. Only set N0_D3 flag when system
    enters the suspend-to-idle or platform specified, and clear it
    when system resume.
    
    When the ISH enters D3, the FW will check the DMA bit status.
    If the DMA bit is set, the FW will reset automatically. So the
    DMA bit need be clear before putting ISH into D3 state.
    Signed-off-by: default avatarZhang Lixu <lixu.zhang@intel.com>
    Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    c1ca58f6
ipc.c 22.9 KB