Commit 1aba6713 authored by Juha-Pekka Heikkila's avatar Juha-Pekka Heikkila Committed by Jouni Högander
Browse files

drm/i915/display: Separate xe and i915 common dpt code into own file



Here created intel_dpt_common.c to hold intel_dpt_configure which is
needed for both xe and i915.

Signed-off-by: default avatarJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: default avatarJouni Högander <jouni.hogander@intel.com>
Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231116150225.204233-1-juhapekka.heikkila@gmail.com
parent 07e823c0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -275,6 +275,7 @@ i915-y += \
	display/intel_dpll.o \
	display/intel_dpll_mgr.o \
	display/intel_dpt.o \
	display/intel_dpt_common.o \
	display/intel_drrs.o \
	display/intel_dsb.o \
	display/intel_dsb_buffer.o \
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@
#include "intel_dpll.h"
#include "intel_dpll_mgr.h"
#include "intel_dpt.h"
#include "intel_dpt_common.h"
#include "intel_drrs.h"
#include "intel_dsb.h"
#include "intel_dsi.h"
+0 −26
Original line number Diff line number Diff line
@@ -9,8 +9,6 @@
#include "gt/gen8_ppgtt.h"

#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_de.h"
#include "intel_display_types.h"
#include "intel_dpt.h"
#include "intel_fb.h"
@@ -318,27 +316,3 @@ void intel_dpt_destroy(struct i915_address_space *vm)
	i915_vm_put(&dpt->vm);
}
void intel_dpt_configure(struct intel_crtc *crtc)
{
	struct drm_i915_private *i915 = to_i915(crtc->base.dev);

	if (DISPLAY_VER(i915) == 14) {
		enum pipe pipe = crtc->pipe;
		enum plane_id plane_id;

		for_each_plane_id_on_crtc(crtc, plane_id) {
			if (plane_id == PLANE_CURSOR)
				continue;

			intel_de_rmw(i915, PLANE_CHICKEN(pipe, plane_id),
				     PLANE_CHICKEN_DISABLE_DPT,
				     i915->display.params.enable_dpt ? 0 :
				     PLANE_CHICKEN_DISABLE_DPT);
		}
	} else if (DISPLAY_VER(i915) == 13) {
		intel_de_rmw(i915, CHICKEN_MISC_2,
			     CHICKEN_MISC_DISABLE_DPT,
			     i915->display.params.enable_dpt ? 0 :
			     CHICKEN_MISC_DISABLE_DPT);
	}
}
+0 −2
Original line number Diff line number Diff line
@@ -10,7 +10,6 @@ struct drm_i915_private;

struct i915_address_space;
struct i915_vma;
struct intel_crtc;
struct intel_framebuffer;

void intel_dpt_destroy(struct i915_address_space *vm);
@@ -20,6 +19,5 @@ 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);
void intel_dpt_configure(struct intel_crtc *crtc);

#endif /* __INTEL_DPT_H__ */
+34 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: MIT
/*
 * Copyright © 2023 Intel Corporation
 */

#include "i915_reg.h"
#include "intel_de.h"
#include "intel_display_types.h"
#include "intel_dpt_common.h"

void intel_dpt_configure(struct intel_crtc *crtc)
{
	struct drm_i915_private *i915 = to_i915(crtc->base.dev);

	if (DISPLAY_VER(i915) == 14) {
		enum pipe pipe = crtc->pipe;
		enum plane_id plane_id;

		for_each_plane_id_on_crtc(crtc, plane_id) {
			if (plane_id == PLANE_CURSOR)
				continue;

			intel_de_rmw(i915, PLANE_CHICKEN(pipe, plane_id),
				     PLANE_CHICKEN_DISABLE_DPT,
				     i915->display.params.enable_dpt ? 0 :
				     PLANE_CHICKEN_DISABLE_DPT);
		}
	} else if (DISPLAY_VER(i915) == 13) {
		intel_de_rmw(i915, CHICKEN_MISC_2,
			     CHICKEN_MISC_DISABLE_DPT,
			     i915->display.params.enable_dpt ? 0 :
			     CHICKEN_MISC_DISABLE_DPT);
	}
}
Loading