mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
drm/i915/display: convert skl_universal_plane.c to struct drm_gem_object
Prefer the driver agnostic struct drm_gem_object over i915 specific struct drm_i915_gem_object. Add new intel_bo_* functions as needed. Convert intel_pxp_key_check() to struct drm_gem_object. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/0a6d2bec50764efaae4322c9cfa33eefbfe1c054.1726589119.git.jani.nikula@intel.com
This commit is contained in:
parent
baa46d1bdd
commit
ad36a32261
|
|
@ -20,6 +20,11 @@ bool intel_bo_is_shmem(struct drm_gem_object *obj)
|
|||
return i915_gem_object_is_shmem(to_intel_bo(obj));
|
||||
}
|
||||
|
||||
bool intel_bo_is_protected(struct drm_gem_object *obj)
|
||||
{
|
||||
return i915_gem_object_is_protected(to_intel_bo(obj));
|
||||
}
|
||||
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj)
|
||||
{
|
||||
i915_gem_object_flush_if_display(to_intel_bo(obj));
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ struct vm_area_struct;
|
|||
bool intel_bo_is_tiled(struct drm_gem_object *obj);
|
||||
bool intel_bo_is_userptr(struct drm_gem_object *obj);
|
||||
bool intel_bo_is_shmem(struct drm_gem_object *obj);
|
||||
bool intel_bo_is_protected(struct drm_gem_object *obj);
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj);
|
||||
int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "i915_drv.h"
|
||||
#include "i915_reg.h"
|
||||
#include "intel_atomic_plane.h"
|
||||
#include "intel_bo.h"
|
||||
#include "intel_de.h"
|
||||
#include "intel_display_irq.h"
|
||||
#include "intel_display_types.h"
|
||||
|
|
@ -2084,13 +2085,13 @@ static void check_protection(struct intel_plane_state *plane_state)
|
|||
struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
|
||||
struct drm_i915_private *i915 = to_i915(plane->base.dev);
|
||||
const struct drm_framebuffer *fb = plane_state->hw.fb;
|
||||
struct drm_i915_gem_object *obj = intel_fb_obj(fb);
|
||||
struct drm_gem_object *obj = intel_fb_bo(fb);
|
||||
|
||||
if (DISPLAY_VER(i915) < 11)
|
||||
return;
|
||||
|
||||
plane_state->decrypt = intel_pxp_key_check(i915->pxp, obj, false) == 0;
|
||||
plane_state->force_black = i915_gem_object_is_protected(obj) &&
|
||||
plane_state->force_black = intel_bo_is_protected(obj) &&
|
||||
!plane_state->decrypt;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -915,7 +915,7 @@ static struct i915_vma *eb_lookup_vma(struct i915_execbuffer *eb, u32 handle)
|
|||
*/
|
||||
if (i915_gem_context_uses_protected_content(eb->gem_context) &&
|
||||
i915_gem_object_is_protected(obj)) {
|
||||
err = intel_pxp_key_check(eb->i915->pxp, obj, true);
|
||||
err = intel_pxp_key_check(eb->i915->pxp, intel_bo_to_drm_bo(obj), true);
|
||||
if (err) {
|
||||
i915_gem_object_put(obj);
|
||||
return ERR_PTR(err);
|
||||
|
|
|
|||
|
|
@ -461,9 +461,11 @@ void intel_pxp_fini_hw(struct intel_pxp *pxp)
|
|||
}
|
||||
|
||||
int intel_pxp_key_check(struct intel_pxp *pxp,
|
||||
struct drm_i915_gem_object *obj,
|
||||
struct drm_gem_object *_obj,
|
||||
bool assign)
|
||||
{
|
||||
struct drm_i915_gem_object *obj = to_intel_bo(_obj);
|
||||
|
||||
if (!intel_pxp_is_active(pxp))
|
||||
return -ENODEV;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct drm_i915_gem_object;
|
||||
struct drm_gem_object;
|
||||
struct drm_i915_private;
|
||||
struct intel_pxp;
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ int intel_pxp_start(struct intel_pxp *pxp);
|
|||
void intel_pxp_end(struct intel_pxp *pxp);
|
||||
|
||||
int intel_pxp_key_check(struct intel_pxp *pxp,
|
||||
struct drm_i915_gem_object *obj,
|
||||
struct drm_gem_object *obj,
|
||||
bool assign);
|
||||
|
||||
void intel_pxp_invalidate(struct intel_pxp *pxp);
|
||||
|
|
|
|||
|
|
@ -9,20 +9,14 @@
|
|||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct drm_i915_gem_object;
|
||||
struct drm_gem_object;
|
||||
struct intel_pxp;
|
||||
|
||||
static inline int intel_pxp_key_check(struct intel_pxp *pxp,
|
||||
struct drm_i915_gem_object *obj,
|
||||
struct drm_gem_object *obj,
|
||||
bool assign)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
i915_gem_object_is_protected(const struct drm_i915_gem_object *obj)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -23,6 +23,11 @@ bool intel_bo_is_shmem(struct drm_gem_object *obj)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool intel_bo_is_protected(struct drm_gem_object *obj)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user