Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49ef6d7e authored by Dhaval Patel's avatar Dhaval Patel Committed by Gerrit - the friendly Code Review server
Browse files

drm/msm: move sde rsc header to linux include path



SDE rsc driver manages the display core power resources.
V4L2, power handle, sde kickoff path, etc. should request
for active state to sde rsc module before using display
core. Their active vote avoids sde core power collapse
form sde rsc driver. This patch moves the rsc header to
linux path to allow api access to all clients.

Change-Id: I2dc446f4416023056f299420f7a1aaf6fdf12a09
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent 436b4a5f
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -113,3 +113,13 @@ config DRM_SDE_EVTLOG_DEBUG
          driver during fatal errors and enable some display-driver logging
          into an internal buffer (this avoids logging overhead).

config DRM_SDE_RSC
	bool "Enable sde resource state coordinator(rsc) driver"
	depends on DRM_MSM
	help
          The SDE DRM RSC provides display Resource State Coordinator support
          to vote the ab/ib bandwidth for primary display. Each rsc client
          can vote their active state. Any active request from any client
          avoids the display core power collapse. A client can also register
          for display core power collapse events on rsc.
+3 −2
Original line number Diff line number Diff line
@@ -50,10 +50,11 @@ msm_drm-y := \
	sde_io_util.o \
	sde/sde_hw_reg_dma_v1_color_proc.o \
	sde/sde_hw_color_proc_v4.o \
	sde_rsc.o \
	sde_rsc_hw.o \
	sde/sde_hw_ad4.o \

msm_drm-$(CONFIG_DRM_SDE_RSC) += sde_rsc.o \
	sde_rsc_hw.o \

# use drm gpu driver only if qcom_kgsl driver not available
ifneq ($(CONFIG_QCOM_KGSL),y)
msm_drm-y += adreno/adreno_device.o \
+1 −1
Original line number Diff line number Diff line
@@ -18,13 +18,13 @@
#include <linux/sort.h>
#include <linux/clk.h>
#include <linux/bitmap.h>
#include <linux/sde_rsc.h>

#include "msm_prop.h"

#include "sde_kms.h"
#include "sde_trace.h"
#include "sde_crtc.h"
#include "sde_rsc.h"
#include "sde_core_perf.h"

static struct sde_kms *_sde_crtc_get_kms(struct drm_crtc *crtc)
+2 −2
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#define pr_fmt(fmt)	"[drm:%s:%d] " fmt, __func__, __LINE__
#include <linux/debugfs.h>
#include <linux/seq_file.h>
#include <linux/sde_rsc.h>

#include "msm_drv.h"
#include "sde_kms.h"
@@ -32,7 +33,6 @@
#include "sde_formats.h"
#include "sde_encoder_phys.h"
#include "sde_color_processing.h"
#include "sde_rsc.h"
#include "sde_power_handle.h"
#include "sde_hw_dsc.h"

@@ -1857,7 +1857,7 @@ struct drm_encoder *sde_encoder_init(
	sde_enc->rsc_client = sde_rsc_client_create(SDE_RSC_INDEX, name,
					disp_info->is_primary);
	if (IS_ERR_OR_NULL(sde_enc->rsc_client)) {
		SDE_ERROR("sde rsc client create failed :%ld\n",
		SDE_DEBUG("sde rsc client create failed :%ld\n",
						PTR_ERR(sde_enc->rsc_client));
		sde_enc->rsc_client = NULL;
	}
+1 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#define __SDE_ENCODER_PHYS_H__

#include <linux/jiffies.h>
#include <linux/sde_rsc.h>

#include "sde_kms.h"
#include "sde_hw_intf.h"
@@ -27,8 +28,6 @@
#include "sde_encoder.h"
#include "sde_connector.h"

#include "sde_rsc.h"

#define SDE_ENCODER_NAME_MAX	16

/* wait for at most 2 vsync for lowest refresh rate (24hz) */
Loading