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

Commit 1f53aadc authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: sde: add base support for mdss 4.x rotator" into msm-4.9

parents 18a9c5d0 8365a58a
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -24,6 +24,22 @@
#include "sde_rotator_smmu.h"
#include "sde_rotator_formats.h"

/* HW Revisions for different targets */
#define SDE_GET_MAJOR_REV(rev)	((rev) >> 28)
#define SDE_GET_MAJOR_MINOR(rev)	((rev) >> 16)
#define IS_SDE_MAJOR_MINOR_SAME(rev1, rev2) \
	(SDE_GET_MAJOR_MINOR(rev1) == SDE_GET_MAJOR_MINOR(rev2))

#define SDE_MDP_REV(major, minor, step) \
	((((major) & 0x000F) << 28) | \
	 (((minor) & 0x0FFF) << 16) | \
	  ((step)  & 0xFFFF))

#define SDE_MDP_HW_REV_107	SDE_MDP_REV(1, 0, 7)	/* 8996 v1.0 */
#define SDE_MDP_HW_REV_300	SDE_MDP_REV(3, 0, 0)	/* 8998 v1.0 */
#define SDE_MDP_HW_REV_301	SDE_MDP_REV(3, 0, 1)	/* 8998 v1.1 */
#define SDE_MDP_HW_REV_400	SDE_MDP_REV(4, 0, 0)	/* sdm845 v1.0 */

struct sde_mult_factor {
	uint32_t numer;
	uint32_t denom;
+6 −2
Original line number Diff line number Diff line
@@ -2755,9 +2755,13 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr,
	mdata->mdss_version = SDE_REG_READ(mdata, SDE_REG_HW_VERSION);
	SDEROT_DBG("mdss revision %x\n", mdata->mdss_version);

	if ((mdata->mdss_version & 0xFFFF0000) == 0x10070000) {
	if (IS_SDE_MAJOR_MINOR_SAME(mdata->mdss_version,
			SDE_MDP_HW_REV_107)) {
		mgr->ops_hw_init = sde_rotator_r1_init;
	} else if ((mdata->mdss_version & 0xF0000000) == 0x30000000) {
	} else if (IS_SDE_MAJOR_MINOR_SAME(mdata->mdss_version,
			SDE_MDP_HW_REV_300) ||
		IS_SDE_MAJOR_MINOR_SAME(mdata->mdss_version,
			SDE_MDP_HW_REV_400)) {
		mgr->ops_hw_init = sde_rotator_r3_init;
	} else {
		ret = -ENODEV;