[Intel-xe] [v9, 1/6] Revert "FIXME: drm/i915: xe dpt integration"
Hogander, Jouni
jouni.hogander at intel.com
Wed Nov 15 09:32:41 UTC 2023
On Tue, 2023-11-14 at 10:40 +0200, Hogander, Jouni wrote:
> Hello Juha-Pekka,
>
> Some of these patches already sent to intel-gfx as discussed
> offline:
>
> https://patchwork.freedesktop.org/series/126352/
>
> To my opinion we could already merge this and then do backport when
> i915 patches are merged. For the whole set:
>
> Reviewed-by: Jouni Högander <jouni.hogander at intel.com>
Thank you Juha-Pekka for your patches. These are now merged.
BR,
Jouni Högander
>
> BR,
>
> Jouni Högander
>
> On Mon, 2023-11-13 at 21:56 +0200, Juha-Pekka Heikkila wrote:
> > This reverts commit e417510409165b44ad59bfdbc59cd90316e91dc1.
> > ---
> > .../gpu/drm/i915/display/intel_atomic_plane.c | 4 ---
> > .../drm/i915/display/intel_display_types.h | 6 ----
> > drivers/gpu/drm/i915/display/intel_dpt.c | 14 +++-----
> > drivers/gpu/drm/i915/display/intel_fb.c | 36 +++------------
> > --
> > --
> > .../drm/i915/display/skl_universal_plane.c | 6 +---
> > 5 files changed, 11 insertions(+), 55 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > index 77e281bf4cb5..a8f36ca11e2e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > @@ -111,9 +111,7 @@ intel_plane_duplicate_state(struct drm_plane
> > *plane)
> > __drm_atomic_helper_plane_duplicate_state(plane,
> > &intel_state->uapi);
> >
> > intel_state->ggtt_vma = NULL;
> > -#ifdef I915
> > intel_state->dpt_vma = NULL;
> > -#endif
> > intel_state->flags = 0;
> >
> > /* add reference to fb */
> > @@ -138,9 +136,7 @@ intel_plane_destroy_state(struct drm_plane
> > *plane,
> > struct intel_plane_state *plane_state =
> > to_intel_plane_state(state);
> >
> > drm_WARN_ON(plane->dev, plane_state->ggtt_vma);
> > -#ifdef I915
> > drm_WARN_ON(plane->dev, plane_state->dpt_vma);
> > -#endif
> >
> > __drm_atomic_helper_plane_destroy_state(&plane_state-
> > >uapi);
> > if (plane_state->hw.fb)
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index b5e4b94c129b..db20dd7e5c0d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -143,9 +143,7 @@ struct intel_framebuffer {
> > struct intel_fb_view remapped_view;
> > };
> >
> > -#ifdef I915
> > struct i915_address_space *dpt_vm;
> > -#endif
> > };
> >
> > enum intel_hotplug_state {
> > @@ -696,11 +694,7 @@ struct intel_plane_state {
> > } hw;
> >
> > struct i915_vma *ggtt_vma;
> > -#ifdef I915
> > struct i915_vma *dpt_vma;
> > -#else
> > - struct i915_vma embed_vma;
> > -#endif
> > unsigned long flags;
> > #define PLANE_HAS_FENCE BIT(0)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_dpt.c
> > b/drivers/gpu/drm/i915/display/intel_dpt.c
> > index 6e73c7a15942..2b067cb952f0 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dpt.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dpt.c
> > @@ -3,6 +3,11 @@
> > * Copyright © 2021 Intel Corporation
> > */
> >
> > +#include "gem/i915_gem_domain.h"
> > +#include "gem/i915_gem_internal.h"
> > +#include "gem/i915_gem_lmem.h"
> > +#include "gt/gen8_ppgtt.h"
> > +
> > #include "i915_drv.h"
> > #include "i915_reg.h"
> > #include "intel_de.h"
> > @@ -10,13 +15,6 @@
> > #include "intel_dpt.h"
> > #include "intel_fb.h"
> >
> > -#ifdef I915
> > -
> > -#include "gem/i915_gem_domain.h"
> > -#include "gem/i915_gem_internal.h"
> > -#include "gem/i915_gem_lmem.h"
> > -#include "gt/gen8_ppgtt.h"
> > -
> > struct i915_dpt {
> > struct i915_address_space vm;
> >
> > @@ -320,8 +318,6 @@ void intel_dpt_destroy(struct
> > i915_address_space
> > *vm)
> > i915_vm_put(&dpt->vm);
> > }
> >
> > -#endif
> > -
> > void intel_dpt_configure(struct intel_crtc *crtc)
> > {
> > struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c
> > b/drivers/gpu/drm/i915/display/intel_fb.c
> > index 1ce61245728a..3862e55e8980 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fb.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> > @@ -1885,34 +1885,16 @@ int intel_plane_compute_gtt(struct
> > intel_plane_state *plane_state)
> > return intel_plane_check_stride(plane_state);
> > }
> >
> > -static void intel_user_framebuffer_destroy_vm(struct
> > drm_framebuffer
> > *fb)
> > -{
> > -#ifdef I915
> > - struct intel_framebuffer *intel_fb =
> > to_intel_framebuffer(fb);
> > - if (intel_fb_uses_dpt(fb))
> > - intel_dpt_destroy(intel_fb->dpt_vm);
> > -#else
> > - if (intel_fb_obj(fb)->flags & XE_BO_CREATE_PINNED_BIT) {
> > - struct xe_bo *bo = intel_fb_obj(fb);
> > -
> > - /* Unpin our kernel fb first */
> > - xe_bo_lock(bo, false);
> > - xe_bo_unpin(bo);
> > - xe_bo_unlock(bo);
> > - }
> > - xe_bo_put(intel_fb_obj(fb));
> > -#endif
> > -}
> > -
> > static void intel_user_framebuffer_destroy(struct drm_framebuffer
> > *fb)
> > {
> > struct intel_framebuffer *intel_fb =
> > to_intel_framebuffer(fb);
> >
> > drm_framebuffer_cleanup(fb);
> >
> > - intel_frontbuffer_put(intel_fb->frontbuffer);
> > + if (intel_fb_uses_dpt(fb))
> > + intel_dpt_destroy(intel_fb->dpt_vm);
> >
> > - intel_user_framebuffer_destroy_vm(fb);
> > + intel_frontbuffer_put(intel_fb->frontbuffer);
> >
> > kfree(intel_fb);
> > }
> > @@ -2155,18 +2137,13 @@ int intel_framebuffer_init(struct
> > intel_framebuffer *intel_fb,
> > }
> > }
> >
> > -#ifdef I915
> > fb->obj[i] = &obj->base;
> > -#else
> > - fb->obj[i] = &obj->ttm.base;
> > -#endif
> > }
> >
> > ret = intel_fill_fb_info(dev_priv, intel_fb);
> > if (ret)
> > goto err;
> >
> > -#ifdef I915
> > if (intel_fb_uses_dpt(fb)) {
> > struct i915_address_space *vm;
> >
> > @@ -2179,10 +2156,6 @@ int intel_framebuffer_init(struct
> > intel_framebuffer *intel_fb,
> >
> > intel_fb->dpt_vm = vm;
> > }
> > -#else
> > - /* Hold a reference to object while fb is alive */
> > - xe_bo_get(obj);
> > -#endif
> >
> > ret = drm_framebuffer_init(&dev_priv->drm, fb,
> > &intel_fb_funcs);
> > if (ret) {
> > @@ -2193,7 +2166,8 @@ int intel_framebuffer_init(struct
> > intel_framebuffer *intel_fb,
> > return 0;
> >
> > err_free_dpt:
> > - intel_user_framebuffer_destroy_vm(fb);
> > + if (intel_fb_uses_dpt(fb))
> > + intel_dpt_destroy(intel_fb->dpt_vm);
> > err:
> > intel_frontbuffer_put(intel_fb->frontbuffer);
> > return ret;
> > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > index 68eabe089aaf..4553dd6bfbbd 100644
> > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > @@ -1010,13 +1010,9 @@ static u32 skl_surf_address(const struct
> > intel_plane_state *plane_state,
> > * The DPT object contains only one vma, so the
> > VMA's
> > offset
> > * within the DPT is always 0.
> > */
> > - drm_WARN_ON(&i915->drm, offset & 0x1fffff);
> > -#ifdef I915
> > drm_WARN_ON(&i915->drm, plane_state->dpt_vma-
> > > node.start);
> > + drm_WARN_ON(&i915->drm, offset & 0x1fffff);
> > return offset >> 9;
> > -#else
> > - return 0;
> > -#endif
> > } else {
> > drm_WARN_ON(&i915->drm, offset & 0xfff);
> > return offset;
>
More information about the Intel-xe
mailing list