mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
drm/{i915, xe}: Avoid direct inspection of dpt_vma from outside dpt
DPT code is so dependent on i915 vma implementation and it is not ported yet to Xe. This patch limits inspection to DPT's VMA struct to intel_dpt component only, so the Xe GGTT code can evolve. Cc: Matthew Brost <matthew.brost@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240821193842.352557-4-rodrigo.vivi@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
df99acc7ba
commit
6dbd43dced
@ -317,3 +317,7 @@ void intel_dpt_destroy(struct i915_address_space *vm)
|
||||
i915_vm_put(&dpt->vm);
|
||||
}
|
||||
|
||||
u64 intel_dpt_offset(struct i915_vma *dpt_vma)
|
||||
{
|
||||
return dpt_vma->node.start;
|
||||
}
|
||||
|
@ -6,6 +6,8 @@
|
||||
#ifndef __INTEL_DPT_H__
|
||||
#define __INTEL_DPT_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct drm_i915_private;
|
||||
|
||||
struct i915_address_space;
|
||||
@ -20,5 +22,6 @@ void intel_dpt_suspend(struct drm_i915_private *i915);
|
||||
void intel_dpt_resume(struct drm_i915_private *i915);
|
||||
struct i915_address_space *
|
||||
intel_dpt_create(struct intel_framebuffer *fb);
|
||||
u64 intel_dpt_offset(struct i915_vma *dpt_vma);
|
||||
|
||||
#endif /* __INTEL_DPT_H__ */
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "intel_de.h"
|
||||
#include "intel_display_irq.h"
|
||||
#include "intel_display_types.h"
|
||||
#include "intel_dpt.h"
|
||||
#include "intel_fb.h"
|
||||
#include "intel_fbc.h"
|
||||
#include "intel_frontbuffer.h"
|
||||
@ -1162,7 +1163,7 @@ static u32 skl_surf_address(const struct intel_plane_state *plane_state,
|
||||
* within the DPT is always 0.
|
||||
*/
|
||||
drm_WARN_ON(&i915->drm, plane_state->dpt_vma &&
|
||||
plane_state->dpt_vma->node.start);
|
||||
intel_dpt_offset(plane_state->dpt_vma));
|
||||
drm_WARN_ON(&i915->drm, offset & 0x1fffff);
|
||||
return offset >> 9;
|
||||
} else {
|
||||
|
@ -377,8 +377,8 @@ void intel_plane_unpin_fb(struct intel_plane_state *old_plane_state)
|
||||
}
|
||||
|
||||
/*
|
||||
* For Xe introduce dummy intel_dpt_create which just return NULL and
|
||||
* intel_dpt_destroy which does nothing.
|
||||
* For Xe introduce dummy intel_dpt_create which just return NULL,
|
||||
* intel_dpt_destroy which does nothing, and fake intel_dpt_ofsset returning 0;
|
||||
*/
|
||||
struct i915_address_space *intel_dpt_create(struct intel_framebuffer *fb)
|
||||
{
|
||||
@ -389,3 +389,8 @@ void intel_dpt_destroy(struct i915_address_space *vm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
u64 intel_dpt_offset(struct i915_vma *dpt_vma)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user