Config: enable techpack display driver compilation for lahaina

This change enables display drivers code compilation
for lahaina target and current location of header files
is replacing the header files in usr/include/drm directory
before installing display specific header files. This change
ensures both the drm and msm_drv header files are exported
to user mode clients.

Change-Id: If6fc347598b902e670b7206dbcb82fe0740b3984
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
This commit is contained in:
Narendra Muppalla
2019-12-12 10:50:17 -08:00
父節點 beb705e598
當前提交 a0b168f7b3
共有 20 個文件被更改,包括 1466 次插入48 次删除

查看文件

@@ -9,6 +9,15 @@ ifeq ($(CONFIG_ARCH_KONA), y)
LINUXINCLUDE += -include $(srctree)/techpack/display/config/konadispconf.h LINUXINCLUDE += -include $(srctree)/techpack/display/config/konadispconf.h
endif endif
ifeq ($(CONFIG_ARCH_LAHAINA), y)
include $(srctree)/techpack/display/config/lahainadisp.conf
LINUXINCLUDE += -include $(srctree)/techpack/display/config/lahainadispconf.h
LINUXINCLUDE += \
-I$(srctree)/techpack/display/include/uapi/display \
-I$(srctree)/techpack/display/include
USERINCLUDE += -I$(srctree)/techpack/display/include/uapi/display
endif
ifeq ($(CONFIG_ARCH_LITO), y) ifeq ($(CONFIG_ARCH_LITO), y)
include $(srctree)/techpack/display/config/saipdisp.conf include $(srctree)/techpack/display/config/saipdisp.conf
endif endif

8
config/lahainadisp.conf Normal file
查看文件

@@ -0,0 +1,8 @@
export CONFIG_DRM_MSM=y
export CONFIG_DRM_MSM_SDE=y
export CONFIG_SYNC_FILE=y
export CONFIG_DRM_MSM_DSI=y
export CONFIG_DSI_PARSER=y
export CONFIG_DRM_SDE_WB=y
export CONFIG_DRM_MSM_REGISTER_LOGGING=y
export CONFIG_QCOM_MDSS_PLL=y

15
config/lahainadispconf.h Normal file
查看文件

@@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*/
#define CONFIG_DRM_MSM 1
#define CONFIG_DRM_MSM_SDE 1
#define CONFIG_SYNC_FILE 1
#define CONFIG_DRM_MSM_DSI 1
#define CONFIG_DSI_PARSER 1
#define CONFIG_DRM_SDE_WB 1
#define CONFIG_DRM_MSM_REGISTER_LOGGING 1
#define CONFIG_DRM_SDE_EVTLOG_DEBUG 1
#define CONFIG_QCOM_MDSS_PLL 1

查看文件

@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note # SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note
header-y += media/ # Top-level Makefile calls into asm-$(ARCH)
header-y += drm/ # List only non-arch directories below

查看文件

@@ -0,0 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note
header-y += media/
header-y += drm/

查看文件

@@ -1,3 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note # SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note
header-y += msm_sde_rotator.h header-y += msm_sde_rotator.h
header-y += mmm_color_fmt.h

文件差異過大導致無法顯示 Load Diff

查看文件

@@ -22,6 +22,8 @@ msm_drm-$(CONFIG_DRM_MSM_DP) += dp/dp_usbpd.o \
dp/dp_drm.o \ dp/dp_drm.o \
dp/dp_hdcp2p2.o \ dp/dp_hdcp2p2.o \
dp/dp_mst_drm.o \ dp/dp_mst_drm.o \
sde_hdcp_1x.o \
sde_hdcp_2x.o \
msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \ msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \
sde/sde_encoder.o \ sde/sde_encoder.o \
@@ -45,8 +47,6 @@ msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \
sde/sde_hw_ad4.o \ sde/sde_hw_ad4.o \
sde/sde_hw_uidle.o \ sde/sde_hw_uidle.o \
sde_edid_parser.o \ sde_edid_parser.o \
sde_hdcp_1x.o \
sde_hdcp_2x.o \
sde/sde_hw_catalog.o \ sde/sde_hw_catalog.o \
sde/sde_hw_cdm.o \ sde/sde_hw_cdm.o \
sde/sde_hw_dspp.o \ sde/sde_hw_dspp.o \

查看文件

@@ -1,12 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
*/ */
#ifndef _SDE_CONNECTOR_H_ #ifndef _SDE_CONNECTOR_H_
#define _SDE_CONNECTOR_H_ #define _SDE_CONNECTOR_H_
#include <uapi/drm/msm_drm_pp.h> #include <drm/msm_drm_pp.h>
#include <drm/drmP.h> #include <drm/drmP.h>
#include <drm/drm_atomic.h> #include <drm/drm_atomic.h>
#include <drm/drm_panel.h> #include <drm/drm_panel.h>

查看文件

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
* Copyright (C) 2013 Red Hat * Copyright (C) 2013 Red Hat
* Author: Rob Clark <robdclark@gmail.com> * Author: Rob Clark <robdclark@gmail.com>
* *
@@ -20,7 +20,7 @@
#include <linux/sort.h> #include <linux/sort.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/ktime.h> #include <linux/ktime.h>
#include <uapi/drm/sde_drm.h> #include <drm/sde_drm.h>
#include <drm/drm_mode.h> #include <drm/drm_mode.h>
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>

查看文件

@@ -1,11 +1,11 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/ */
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__ #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <uapi/drm/sde_drm.h> #include <drm/sde_drm.h>
#include "sde_encoder_phys.h" #include "sde_encoder_phys.h"
#include "sde_formats.h" #include "sde_formats.h"

查看文件

@@ -1,12 +1,12 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/ */
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__ #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
#include <uapi/drm/drm_fourcc.h> #include <drm/drm_fourcc.h>
#include <uapi/media/msm_media_info.h> #include <media/mmm_color_fmt.h>
#include "sde_kms.h" #include "sde_kms.h"
#include "sde_formats.h" #include "sde_formats.h"
@@ -686,11 +686,11 @@ static void _sde_get_v_h_subsample_rate(
static int _sde_format_get_media_color_ubwc(const struct sde_format *fmt) static int _sde_format_get_media_color_ubwc(const struct sde_format *fmt)
{ {
static const struct sde_media_color_map sde_media_ubwc_map[] = { static const struct sde_media_color_map sde_media_ubwc_map[] = {
{DRM_FORMAT_ABGR8888, COLOR_FMT_RGBA8888_UBWC}, {DRM_FORMAT_ABGR8888, MMM_COLOR_FMT_RGBA8888_UBWC},
{DRM_FORMAT_XBGR8888, COLOR_FMT_RGBA8888_UBWC}, {DRM_FORMAT_XBGR8888, MMM_COLOR_FMT_RGBA8888_UBWC},
{DRM_FORMAT_ABGR2101010, COLOR_FMT_RGBA1010102_UBWC}, {DRM_FORMAT_ABGR2101010, MMM_COLOR_FMT_RGBA1010102_UBWC},
{DRM_FORMAT_XBGR2101010, COLOR_FMT_RGBA1010102_UBWC}, {DRM_FORMAT_XBGR2101010, MMM_COLOR_FMT_RGBA1010102_UBWC},
{DRM_FORMAT_BGR565, COLOR_FMT_RGB565_UBWC}, {DRM_FORMAT_BGR565, MMM_COLOR_FMT_RGB565_UBWC},
}; };
int color_fmt = -1; int color_fmt = -1;
int i; int i;
@@ -698,11 +698,11 @@ static int _sde_format_get_media_color_ubwc(const struct sde_format *fmt)
if (fmt->base.pixel_format == DRM_FORMAT_NV12) { if (fmt->base.pixel_format == DRM_FORMAT_NV12) {
if (SDE_FORMAT_IS_DX(fmt)) { if (SDE_FORMAT_IS_DX(fmt)) {
if (fmt->unpack_tight) if (fmt->unpack_tight)
color_fmt = COLOR_FMT_NV12_BPP10_UBWC; color_fmt = MMM_COLOR_FMT_NV12_BPP10_UBWC;
else else
color_fmt = COLOR_FMT_P010_UBWC; color_fmt = MMM_COLOR_FMT_P010_UBWC;
} else } else
color_fmt = COLOR_FMT_NV12_UBWC; color_fmt = MMM_COLOR_FMT_NV12_UBWC;
return color_fmt; return color_fmt;
} }
@@ -743,28 +743,36 @@ static int _sde_format_get_plane_sizes_ubwc(
uint32_t uv_meta_scanlines = 0; uint32_t uv_meta_scanlines = 0;
layout->num_planes = 2; layout->num_planes = 2;
layout->plane_pitch[0] = VENUS_Y_STRIDE(color, width); layout->plane_pitch[0] = MMM_COLOR_FMT_Y_STRIDE(color, width);
y_sclines = VENUS_Y_SCANLINES(color, height); y_sclines = MMM_COLOR_FMT_Y_SCANLINES(color, height);
layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * layout->plane_size[0] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[0] *
y_sclines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); y_sclines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
layout->plane_pitch[1] = VENUS_UV_STRIDE(color, width); layout->plane_pitch[1] = MMM_COLOR_FMT_UV_STRIDE(color, width);
uv_sclines = VENUS_UV_SCANLINES(color, height); uv_sclines = MMM_COLOR_FMT_UV_SCANLINES(color, height);
layout->plane_size[1] = MSM_MEDIA_ALIGN(layout->plane_pitch[1] * layout->plane_size[1] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[1] *
uv_sclines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); uv_sclines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
if (!meta) if (!meta)
goto done; goto done;
layout->num_planes += 2; layout->num_planes += 2;
layout->plane_pitch[2] = VENUS_Y_META_STRIDE(color, width); layout->plane_pitch[2] =
y_meta_scanlines = VENUS_Y_META_SCANLINES(color, height); MMM_COLOR_FMT_Y_META_STRIDE(color, width);
layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * y_meta_scanlines =
MMM_COLOR_FMT_Y_META_SCANLINES(color, height);
layout->plane_size[2] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[2] *
y_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); y_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
layout->plane_pitch[3] = VENUS_UV_META_STRIDE(color, width); layout->plane_pitch[3] =
uv_meta_scanlines = VENUS_UV_META_SCANLINES(color, height); MMM_COLOR_FMT_UV_META_STRIDE(color, width);
layout->plane_size[3] = MSM_MEDIA_ALIGN(layout->plane_pitch[3] * uv_meta_scanlines =
MMM_COLOR_FMT_UV_META_SCANLINES(color, height);
layout->plane_size[3] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[3] *
uv_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); uv_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
} else { } else {
@@ -772,17 +780,22 @@ static int _sde_format_get_plane_sizes_ubwc(
layout->num_planes = 1; layout->num_planes = 1;
layout->plane_pitch[0] = VENUS_RGB_STRIDE(color, width); layout->plane_pitch[0] =
rgb_scanlines = VENUS_RGB_SCANLINES(color, height); MMM_COLOR_FMT_RGB_STRIDE(color, width);
layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * rgb_scanlines = MMM_COLOR_FMT_RGB_SCANLINES(color, height);
layout->plane_size[0] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[0] *
rgb_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); rgb_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
if (!meta) if (!meta)
goto done; goto done;
layout->num_planes += 2; layout->num_planes += 2;
layout->plane_pitch[2] = VENUS_RGB_META_STRIDE(color, width); layout->plane_pitch[2] =
rgb_meta_scanlines = VENUS_RGB_META_SCANLINES(color, height); MMM_COLOR_FMT_RGB_META_STRIDE(color, width);
layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * rgb_meta_scanlines =
MMM_COLOR_FMT_RGB_META_SCANLINES(color, height);
layout->plane_size[2] =
MMM_COLOR_FMT_ALIGN(layout->plane_pitch[2] *
rgb_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT); rgb_meta_scanlines, SDE_UBWC_PLANE_SIZE_ALIGNMENT);
} }

查看文件

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/ */
#ifndef _SDE_HW_PINGPONG_H #ifndef _SDE_HW_PINGPONG_H
@@ -10,7 +10,7 @@
#include "sde_hw_mdss.h" #include "sde_hw_mdss.h"
#include "sde_hw_util.h" #include "sde_hw_util.h"
#include "sde_hw_blk.h" #include "sde_hw_blk.h"
#include <uapi/drm/msm_drm_pp.h> #include <drm/msm_drm_pp.h>
struct sde_hw_pingpong; struct sde_hw_pingpong;
struct sde_hw_merge_3d; struct sde_hw_merge_3d;

查看文件

@@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/ */
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__ #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
#include <uapi/drm/sde_drm.h> #include <drm/sde_drm.h>
#include "msm_drv.h" #include "msm_drv.h"
#include "sde_kms.h" #include "sde_kms.h"
#include "sde_hw_mdss.h" #include "sde_hw_mdss.h"

查看文件

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2014-2019 The Linux Foundation. All rights reserved. * Copyright (C) 2014-2020 The Linux Foundation. All rights reserved.
* Copyright (C) 2013 Red Hat * Copyright (C) 2013 Red Hat
* Author: Rob Clark <robdclark@gmail.com> * Author: Rob Clark <robdclark@gmail.com>
* *
@@ -20,8 +20,8 @@
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/dma-buf.h> #include <linux/dma-buf.h>
#include <uapi/drm/sde_drm.h> #include <drm/sde_drm.h>
#include <uapi/drm/msm_drm_pp.h> #include <drm/msm_drm_pp.h>
#include "msm_prop.h" #include "msm_prop.h"
#include "msm_drv.h" #include "msm_drv.h"

查看文件

@@ -1,11 +1,11 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/ */
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__ #define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
#include <uapi/drm/sde_drm.h> #include <drm/sde_drm.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>
#include "msm_kms.h" #include "msm_kms.h"