drm/i915/pxp: Add plane decryption support
Add support to enable/disable PLANE_SURF Decryption Request bit. It requires only to enable plane decryption support when following condition met. 1. PXP session is enabled. 2. Buffer object is protected. v2: - Used gen fb obj user_flags instead gem_object_metadata. [Krishna] v3: - intel_pxp_gem_object_status() API changes. v4: use intel_pxp_is_active (Daniele) v5: rebase and use the new protected object status checker (Daniele) v6: used plane state for plane_decryption to handle async flip as suggested by Ville. v7: check pxp session while plane decrypt state computation. [Ville] removed pointless code. [Ville] v8 (Daniele): update PXP check v9: move decrypt check after icl_check_nv12_planes() when overlays have fb set (Juston) v10 (Daniele): update PXP check again to match rework in earlier patches and don't consider protection valid if the object has not been used in an execbuf beforehand. Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com> Cc: Huang Sean Z <sean.z.huang@intel.com> Cc: Gaurav Kumar <kumar.gaurav@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by:Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by:
Juston Li <juston.li@intel.com> Reviewed-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> #v9 Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210924191452.1539378-14-alan.previn.teres.alexis@intel.com
Showing
- drivers/gpu/drm/i915/display/intel_display.c 26 additions, 0 deletionsdrivers/gpu/drm/i915/display/intel_display.c
- drivers/gpu/drm/i915/display/intel_display_types.h 3 additions, 0 deletionsdrivers/gpu/drm/i915/display/intel_display_types.h
- drivers/gpu/drm/i915/display/skl_universal_plane.c 12 additions, 3 deletionsdrivers/gpu/drm/i915/display/skl_universal_plane.c
- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 1 addition, 1 deletiondrivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
- drivers/gpu/drm/i915/i915_reg.h 1 addition, 0 deletionsdrivers/gpu/drm/i915/i915_reg.h
- drivers/gpu/drm/i915/pxp/intel_pxp.c 6 additions, 3 deletionsdrivers/gpu/drm/i915/pxp/intel_pxp.c
- drivers/gpu/drm/i915/pxp/intel_pxp.h 5 additions, 2 deletionsdrivers/gpu/drm/i915/pxp/intel_pxp.h
Loading
Please register or sign in to comment