• Jani Nikula's avatar
    drm/i915: refactor VLV IOSF sideband accessors to use one helper · 5a09ae9f
    Jani Nikula authored
    Both the intel_dpio_{read,write} and valleyview_{punit,nc}_{read,write}
    use the IOSF sideband interface. They access the same registers and do
    mostly the same stuff, but no shared code. There are even duplicate
    register defines for the same registers. Both have locking, but the
    former use dpio_lock and the latter rps.hw_lock. It's racy.
    
    This patch refactors the sideband access to a single function that
    expects dpio_lock to be held. The dpio_lock is only used for sideband
    stuff, so it's a better match than rps.hw_lock for the purpose. The rps
    stuff still needs rps.hw_lock, since it's used to protect more than just
    the register access, so rps code will need to hold both locks.
    
    Based on the work by Shobhit Kumar <shobhit.kumar@intel.com> and Yogesh
    Mohan Marimuthu <yogesh.mohan.marimuthu@intel.com>.
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    5a09ae9f
i915_reg.h 185 KB