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

Commit 04c7e8e4 authored by Dhaval Patel's avatar Dhaval Patel
Browse files

drm/msm: fix compilation issues for "msm" on 4.9



The "msm/sde" driver is porting from "4.4" kernel
to "4.9". The "msm/sde" compilation is failing on
on this kernel branch due to upstream changes. This
patch fixes all compilation issues due to upstream
API changes, mdp4/5 driver changes, driver probe
changes, etc.

Change-Id: Id76a31ea9fa7c06c63a5eaa78e69642b938cb4bf
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent 6a5bd8b1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ msm_drm-$(CONFIG_DRM_MSM_MDP4) += mdp/mdp4/mdp4_crtc.o \
	mdp/mdp4/mdp4_lvds_connector.o \
	mdp/mdp4/mdp4_irq.o \
	mdp/mdp4/mdp4_kms.o \
	mdp/mdp4/mdp4_dsi_encoder.o \
	mdp/mdp4/mdp4_plane.o

msm_drm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o
@@ -133,12 +134,15 @@ msm_drm-$(CONFIG_DRM_MSM) += \
	msm_gem.o \
	msm_gem_prime.o \
	msm_gem_submit.o \
	msm_gem_shrinker.o \
	msm_gpu.o \
	msm_iommu.o \
	msm_smmu.o \
	msm_perf.o \
	msm_rd.o \
	msm_ringbuffer.o \
	msm_prop.o
	msm_prop.o \
	msm_fence.o \
	msm_debugfs.o

obj-$(CONFIG_DRM_MSM)	+= msm_drm.o
+6 −6
Original line number Diff line number Diff line
/* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1438,24 +1438,24 @@ void msm_hdmi_hdcp_destroy(struct hdmi *hdmi)
}

#else
struct hdmi_hdcp_ctrl *hdmi_hdcp_ctrl_init(struct hdmi *hdmi)
struct hdmi_hdcp_ctrl *msm_hdmi_hdcp_init(struct hdmi *hdmi)
{
	return NULL;
}

void hdmi_hdcp_ctrl_destroy(struct hdmi *hdmi)
void msm_hdmi_hdcp_destroy(struct hdmi *hdmi)
{
}

void hdmi_hdcp_ctrl_on(struct hdmi_hdcp_ctrl *hdcp_ctrl)
void msm_hdmi_hdcp_on(struct hdmi_hdcp_ctrl *hdcp_ctrl)
{
}

void hdmi_hdcp_ctrl_off(struct hdmi_hdcp_ctrl *hdcp_ctrl)
void msm_hdmi_hdcp_off(struct hdmi_hdcp_ctrl *hdcp_ctrl)
{
}

void hdmi_hdcp_ctrl_irq(struct hdmi_hdcp_ctrl *hdcp_ctrl)
void msm_hdmi_hdcp_irq(struct hdmi_hdcp_ctrl *hdcp_ctrl)
{
}
#endif
+11 −0
Original line number Diff line number Diff line
@@ -200,8 +200,19 @@ struct drm_plane *mdp4_plane_init(struct drm_device *dev,
		enum mdp4_pipe pipe_id, bool private_plane);

uint32_t mdp4_crtc_vblank(struct drm_crtc *crtc);
#ifdef CONFIG_DRM_MSM_MDP4
void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config);
void mdp4_crtc_set_intf(struct drm_crtc *crtc, enum mdp4_intf intf, int mixer);
#else
static inline void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config)
{
}

static inline void mdp4_crtc_set_intf(struct drm_crtc *crtc,
						enum mdp4_intf intf, int mixer)
{
}
#endif
void mdp4_crtc_wait_for_commit_done(struct drm_crtc *crtc);
struct drm_crtc *mdp4_crtc_init(struct drm_device *dev,
		struct drm_plane *plane, int id, int ovlp_id,
+5 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
 * Copyright (C) 2014 Red Hat
 * Author: Rob Clark <robdclark@gmail.com>
 *
@@ -93,6 +93,8 @@ static void msm_atomic_wait_for_commit_done(
	int i;

	for_each_crtc_in_state(old_state, crtc, crtc_state, i) {
		int private_flags;

		if (!crtc->state->enable)
			continue;

@@ -133,7 +135,8 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
			continue;

		crtc_idx = drm_crtc_index(old_conn_state->crtc);
		old_crtc_state = old_state->crtc_states[crtc_idx];
		old_crtc_state = drm_atomic_get_existing_crtc_state(old_state,
						    old_conn_state->crtc);

		if (!old_crtc_state->active ||
		    !drm_atomic_crtc_needs_modeset(old_conn_state->crtc->state))
+2 −0
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ static inline
struct msm_kms *mdp4_kms_init(struct drm_device *dev) { return NULL; };
#endif
struct msm_kms *mdp5_kms_init(struct drm_device *dev);
int msm_mdss_init(struct drm_device *dev);
void msm_mdss_destroy(struct drm_device *dev);
struct msm_kms *sde_kms_init(struct drm_device *dev);

/**
Loading