* [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 1:59 ` Nancy.Lin
0 siblings, 0 replies; 12+ messages in thread
From: Nancy.Lin @ 2023-03-29 1:59 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: shawn.sung, singo.chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Nancy.Lin, linux-mediatek,
linux-arm-kernel
Add ovl_adaptor get_format and get_num_formats component function.
The two functions are need for getting the supported format in
mtk_plane_init().
Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
---
drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24 +++++++++++++++++++
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
3 files changed, 28 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
index 0d28b2e2069c..da2de17b84e9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
@@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
void mtk_ovl_adaptor_stop(struct device *dev);
unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
void mtk_rdma_bypass_shadow(struct device *dev);
int mtk_rdma_clk_enable(struct device *dev);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 046217828ab3..b5d28c392c57 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -25,6 +25,20 @@
#define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
#define MTK_OVL_ADAPTOR_LAYER_NUM 4
+static const u32 formats[] = {
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_BGRX8888,
+ DRM_FORMAT_BGRA8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_RGB888,
+ DRM_FORMAT_BGR888,
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_UYVY,
+ DRM_FORMAT_YUYV,
+};
+
enum mtk_ovl_adaptor_comp_type {
OVL_ADAPTOR_TYPE_RDMA = 0,
OVL_ADAPTOR_TYPE_MERGE,
@@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct device *dev)
mtk_ethdr_disable_vblank(ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
}
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
+{
+ return formats;
+}
+
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
+{
+ return ARRAY_SIZE(formats);
+}
+
void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex)
{
mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
index 1a0c4f7e352a..f114da4d36a9 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
@@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs ddp_ovl_adaptor = {
.disconnect = mtk_ovl_adaptor_disconnect,
.add = mtk_ovl_adaptor_add_comp,
.remove = mtk_ovl_adaptor_remove_comp,
+ .get_formats = mtk_ovl_adaptor_get_formats,
+ .get_num_formats = mtk_ovl_adaptor_get_num_formats,
};
static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] = {
--
2.18.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 1:59 ` Nancy.Lin
0 siblings, 0 replies; 12+ messages in thread
From: Nancy.Lin @ 2023-03-29 1:59 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: David Airlie, Daniel Vetter, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel,
Project_Global_Chrome_Upstream_Group, singo.chang, shawn.sung,
Nancy.Lin
Add ovl_adaptor get_format and get_num_formats component function.
The two functions are need for getting the supported format in
mtk_plane_init().
Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
---
drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24 +++++++++++++++++++
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
3 files changed, 28 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
index 0d28b2e2069c..da2de17b84e9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
@@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
void mtk_ovl_adaptor_stop(struct device *dev);
unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
void mtk_rdma_bypass_shadow(struct device *dev);
int mtk_rdma_clk_enable(struct device *dev);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 046217828ab3..b5d28c392c57 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -25,6 +25,20 @@
#define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
#define MTK_OVL_ADAPTOR_LAYER_NUM 4
+static const u32 formats[] = {
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_BGRX8888,
+ DRM_FORMAT_BGRA8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_RGB888,
+ DRM_FORMAT_BGR888,
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_UYVY,
+ DRM_FORMAT_YUYV,
+};
+
enum mtk_ovl_adaptor_comp_type {
OVL_ADAPTOR_TYPE_RDMA = 0,
OVL_ADAPTOR_TYPE_MERGE,
@@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct device *dev)
mtk_ethdr_disable_vblank(ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
}
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
+{
+ return formats;
+}
+
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
+{
+ return ARRAY_SIZE(formats);
+}
+
void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex)
{
mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
index 1a0c4f7e352a..f114da4d36a9 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
@@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs ddp_ovl_adaptor = {
.disconnect = mtk_ovl_adaptor_disconnect,
.add = mtk_ovl_adaptor_add_comp,
.remove = mtk_ovl_adaptor_remove_comp,
+ .get_formats = mtk_ovl_adaptor_get_formats,
+ .get_num_formats = mtk_ovl_adaptor_get_num_formats,
};
static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] = {
--
2.18.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 1:59 ` Nancy.Lin
0 siblings, 0 replies; 12+ messages in thread
From: Nancy.Lin @ 2023-03-29 1:59 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: David Airlie, Daniel Vetter, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel,
Project_Global_Chrome_Upstream_Group, singo.chang, shawn.sung,
Nancy.Lin
Add ovl_adaptor get_format and get_num_formats component function.
The two functions are need for getting the supported format in
mtk_plane_init().
Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
---
drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24 +++++++++++++++++++
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
3 files changed, 28 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
index 0d28b2e2069c..da2de17b84e9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
@@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
void mtk_ovl_adaptor_stop(struct device *dev);
unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
void mtk_rdma_bypass_shadow(struct device *dev);
int mtk_rdma_clk_enable(struct device *dev);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 046217828ab3..b5d28c392c57 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -25,6 +25,20 @@
#define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
#define MTK_OVL_ADAPTOR_LAYER_NUM 4
+static const u32 formats[] = {
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_BGRX8888,
+ DRM_FORMAT_BGRA8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_RGB888,
+ DRM_FORMAT_BGR888,
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_UYVY,
+ DRM_FORMAT_YUYV,
+};
+
enum mtk_ovl_adaptor_comp_type {
OVL_ADAPTOR_TYPE_RDMA = 0,
OVL_ADAPTOR_TYPE_MERGE,
@@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct device *dev)
mtk_ethdr_disable_vblank(ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
}
+const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
+{
+ return formats;
+}
+
+size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
+{
+ return ARRAY_SIZE(formats);
+}
+
void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex)
{
mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
index 1a0c4f7e352a..f114da4d36a9 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
@@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs ddp_ovl_adaptor = {
.disconnect = mtk_ovl_adaptor_disconnect,
.add = mtk_ovl_adaptor_add_comp,
.remove = mtk_ovl_adaptor_remove_comp,
+ .get_formats = mtk_ovl_adaptor_get_formats,
+ .get_num_formats = mtk_ovl_adaptor_get_num_formats,
};
static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] = {
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
2023-03-29 1:59 ` Nancy.Lin
(?)
@ 2023-03-29 8:15 ` CK Hu (胡俊光)
-1 siblings, 0 replies; 12+ messages in thread
From: CK Hu (胡俊光) @ 2023-03-29 8:15 UTC (permalink / raw)
To: p.zabel, Nancy Lin (林欣螢),
matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: dri-devel, Shawn Sung (宋孝謙),
linux-kernel, linux-mediatek,
Singo Chang (張興國),
Project_Global_Chrome_Upstream_Group, linux-arm-kernel
Hi, Nancy:
On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> +++++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> 3 files changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> index 0d28b2e2069c..da2de17b84e9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> void mtk_ovl_adaptor_stop(struct device *dev);
> unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
>
> void mtk_rdma_bypass_shadow(struct device *dev);
> int mtk_rdma_clk_enable(struct device *dev);
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index 046217828ab3..b5d28c392c57 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -25,6 +25,20 @@
> #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> #define MTK_OVL_ADAPTOR_LAYER_NUM 4
>
> +static const u32 formats[] = {
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_ARGB8888,
> + DRM_FORMAT_BGRX8888,
> + DRM_FORMAT_BGRA8888,
> + DRM_FORMAT_ABGR8888,
> + DRM_FORMAT_XBGR8888,
> + DRM_FORMAT_RGB888,
> + DRM_FORMAT_BGR888,
> + DRM_FORMAT_RGB565,
> + DRM_FORMAT_UYVY,
> + DRM_FORMAT_YUYV,
> +};
> +
> enum mtk_ovl_adaptor_comp_type {
> OVL_ADAPTOR_TYPE_RDMA = 0,
> OVL_ADAPTOR_TYPE_MERGE,
> @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> device *dev)
> mtk_ethdr_disable_vblank(ovl_adaptor-
> >ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> }
>
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> +{
> + return formats;
The supported formats depend on the mdp-rdma hardware capability, so
get formats from mdp-rdma driver.
Regards,
CK
> +}
> +
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> +{
> + return ARRAY_SIZE(formats);
> +}
> +
> void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> *mutex)
> {
> mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> index 1a0c4f7e352a..f114da4d36a9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> ddp_ovl_adaptor = {
> .disconnect = mtk_ovl_adaptor_disconnect,
> .add = mtk_ovl_adaptor_add_comp,
> .remove = mtk_ovl_adaptor_remove_comp,
> + .get_formats = mtk_ovl_adaptor_get_formats,
> + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> };
>
> static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] =
> {
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 8:15 ` CK Hu (胡俊光)
0 siblings, 0 replies; 12+ messages in thread
From: CK Hu (胡俊光) @ 2023-03-29 8:15 UTC (permalink / raw)
To: p.zabel, Nancy Lin (林欣螢),
matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: Singo Chang (張興國),
linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group,
linux-mediatek, Shawn Sung (宋孝謙),
linux-arm-kernel
[-- Attachment #1: Type: text/html, Size: 5722 bytes --]
[-- Attachment #2: Type: text/plain, Size: 3392 bytes --]
Hi, Nancy:
On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> +++++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> 3 files changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> index 0d28b2e2069c..da2de17b84e9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> void mtk_ovl_adaptor_stop(struct device *dev);
> unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
>
> void mtk_rdma_bypass_shadow(struct device *dev);
> int mtk_rdma_clk_enable(struct device *dev);
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index 046217828ab3..b5d28c392c57 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -25,6 +25,20 @@
> #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> #define MTK_OVL_ADAPTOR_LAYER_NUM 4
>
> +static const u32 formats[] = {
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_ARGB8888,
> + DRM_FORMAT_BGRX8888,
> + DRM_FORMAT_BGRA8888,
> + DRM_FORMAT_ABGR8888,
> + DRM_FORMAT_XBGR8888,
> + DRM_FORMAT_RGB888,
> + DRM_FORMAT_BGR888,
> + DRM_FORMAT_RGB565,
> + DRM_FORMAT_UYVY,
> + DRM_FORMAT_YUYV,
> +};
> +
> enum mtk_ovl_adaptor_comp_type {
> OVL_ADAPTOR_TYPE_RDMA = 0,
> OVL_ADAPTOR_TYPE_MERGE,
> @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> device *dev)
> mtk_ethdr_disable_vblank(ovl_adaptor-
> >ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> }
>
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> +{
> + return formats;
The supported formats depend on the mdp-rdma hardware capability, so
get formats from mdp-rdma driver.
Regards,
CK
> +}
> +
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> +{
> + return ARRAY_SIZE(formats);
> +}
> +
> void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> *mutex)
> {
> mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> index 1a0c4f7e352a..f114da4d36a9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> ddp_ovl_adaptor = {
> .disconnect = mtk_ovl_adaptor_disconnect,
> .add = mtk_ovl_adaptor_add_comp,
> .remove = mtk_ovl_adaptor_remove_comp,
> + .get_formats = mtk_ovl_adaptor_get_formats,
> + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> };
>
> static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] =
> {
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 8:15 ` CK Hu (胡俊光)
0 siblings, 0 replies; 12+ messages in thread
From: CK Hu (胡俊光) @ 2023-03-29 8:15 UTC (permalink / raw)
To: p.zabel, Nancy Lin (林欣螢),
matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: dri-devel, Shawn Sung (宋孝謙),
linux-kernel, linux-mediatek,
Singo Chang (張興國),
Project_Global_Chrome_Upstream_Group, linux-arm-kernel
Hi, Nancy:
On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> +++++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> 3 files changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> index 0d28b2e2069c..da2de17b84e9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> void mtk_ovl_adaptor_stop(struct device *dev);
> unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
>
> void mtk_rdma_bypass_shadow(struct device *dev);
> int mtk_rdma_clk_enable(struct device *dev);
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index 046217828ab3..b5d28c392c57 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -25,6 +25,20 @@
> #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> #define MTK_OVL_ADAPTOR_LAYER_NUM 4
>
> +static const u32 formats[] = {
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_ARGB8888,
> + DRM_FORMAT_BGRX8888,
> + DRM_FORMAT_BGRA8888,
> + DRM_FORMAT_ABGR8888,
> + DRM_FORMAT_XBGR8888,
> + DRM_FORMAT_RGB888,
> + DRM_FORMAT_BGR888,
> + DRM_FORMAT_RGB565,
> + DRM_FORMAT_UYVY,
> + DRM_FORMAT_YUYV,
> +};
> +
> enum mtk_ovl_adaptor_comp_type {
> OVL_ADAPTOR_TYPE_RDMA = 0,
> OVL_ADAPTOR_TYPE_MERGE,
> @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> device *dev)
> mtk_ethdr_disable_vblank(ovl_adaptor-
> >ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> }
>
> +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> +{
> + return formats;
The supported formats depend on the mdp-rdma hardware capability, so
get formats from mdp-rdma driver.
Regards,
CK
> +}
> +
> +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> +{
> + return ARRAY_SIZE(formats);
> +}
> +
> void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> *mutex)
> {
> mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> index 1a0c4f7e352a..f114da4d36a9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> ddp_ovl_adaptor = {
> .disconnect = mtk_ovl_adaptor_disconnect,
> .add = mtk_ovl_adaptor_add_comp,
> .remove = mtk_ovl_adaptor_remove_comp,
> + .get_formats = mtk_ovl_adaptor_get_formats,
> + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> };
>
> static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] =
> {
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
2023-03-29 1:59 ` Nancy.Lin
(?)
@ 2023-03-29 13:07 ` AngeloGioacchino Del Regno
-1 siblings, 0 replies; 12+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-03-29 13:07 UTC (permalink / raw)
To: Nancy.Lin, Chun-Kuang Hu, Philipp Zabel, Matthias Brugger
Cc: David Airlie, Daniel Vetter, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel,
Project_Global_Chrome_Upstream_Group, singo.chang, shawn.sung
Il 29/03/23 03:59, Nancy.Lin ha scritto:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
Small note:
This commit depends on
f287c66a6064 ("drm/mediatek: Refactor pixel format logic")
...that was already applied in the maintainer's tree.
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
[On MT8195 Cherry Tomato]
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Regards,
Angelo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 13:07 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 12+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-03-29 13:07 UTC (permalink / raw)
To: Nancy.Lin, Chun-Kuang Hu, Philipp Zabel, Matthias Brugger
Cc: shawn.sung, singo.chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, linux-mediatek,
linux-arm-kernel
Il 29/03/23 03:59, Nancy.Lin ha scritto:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
Small note:
This commit depends on
f287c66a6064 ("drm/mediatek: Refactor pixel format logic")
...that was already applied in the maintainer's tree.
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
[On MT8195 Cherry Tomato]
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Regards,
Angelo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-29 13:07 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 12+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-03-29 13:07 UTC (permalink / raw)
To: Nancy.Lin, Chun-Kuang Hu, Philipp Zabel, Matthias Brugger
Cc: David Airlie, Daniel Vetter, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel,
Project_Global_Chrome_Upstream_Group, singo.chang, shawn.sung
Il 29/03/23 03:59, Nancy.Lin ha scritto:
> Add ovl_adaptor get_format and get_num_formats component function.
> The two functions are need for getting the supported format in
> mtk_plane_init().
>
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
Small note:
This commit depends on
f287c66a6064 ("drm/mediatek: Refactor pixel format logic")
...that was already applied in the maintainer's tree.
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
[On MT8195 Cherry Tomato]
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Regards,
Angelo
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
2023-03-29 8:15 ` CK Hu (胡俊光)
(?)
@ 2023-03-30 1:48 ` Nancy Lin (林欣螢)
-1 siblings, 0 replies; 12+ messages in thread
From: Nancy Lin (林欣螢) @ 2023-03-30 1:48 UTC (permalink / raw)
To: CK Hu (胡俊光),
p.zabel, matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: dri-devel, Shawn Sung (宋孝謙),
linux-kernel, linux-mediatek,
Singo Chang (張興國),
Project_Global_Chrome_Upstream_Group, linux-arm-kernel
Hi CK,
Thanks for the review.
On Wed, 2023-03-29 at 08:15 +0000, CK Hu (胡俊光) wrote:
> Hi, Nancy:
>
> On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> > Add ovl_adaptor get_format and get_num_formats component function.
> > The two functions are need for getting the supported format in
> > mtk_plane_init().
> >
> > Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> > ---
> > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> > +++++++++++++++++++
> > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> > 3 files changed, 28 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > index 0d28b2e2069c..da2de17b84e9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> > void mtk_ovl_adaptor_stop(struct device *dev);
> > unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> > struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
> >
> > void mtk_rdma_bypass_shadow(struct device *dev);
> > int mtk_rdma_clk_enable(struct device *dev);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > index 046217828ab3..b5d28c392c57 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > @@ -25,6 +25,20 @@
> > #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> > #define MTK_OVL_ADAPTOR_LAYER_NUM 4
> >
> > +static const u32 formats[] = {
> > + DRM_FORMAT_XRGB8888,
> > + DRM_FORMAT_ARGB8888,
> > + DRM_FORMAT_BGRX8888,
> > + DRM_FORMAT_BGRA8888,
> > + DRM_FORMAT_ABGR8888,
> > + DRM_FORMAT_XBGR8888,
> > + DRM_FORMAT_RGB888,
> > + DRM_FORMAT_BGR888,
> > + DRM_FORMAT_RGB565,
> > + DRM_FORMAT_UYVY,
> > + DRM_FORMAT_YUYV,
> > +};
> > +
> > enum mtk_ovl_adaptor_comp_type {
> > OVL_ADAPTOR_TYPE_RDMA = 0,
> > OVL_ADAPTOR_TYPE_MERGE,
> > @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> > device *dev)
> > mtk_ethdr_disable_vblank(ovl_adaptor-
> > > ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> >
> > }
> >
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> > +{
> > + return formats;
>
> The supported formats depend on the mdp-rdma hardware capability, so
> get formats from mdp-rdma driver.
>
> Regards,
> CK
>
OK, I will add mdp-rdma supported format api for ovl_adaptor.
Regards,
Nancy
> > +}
> > +
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> > +{
> > + return ARRAY_SIZE(formats);
> > +}
> > +
> > void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> > *mutex)
> > {
> > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > index 1a0c4f7e352a..f114da4d36a9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> > ddp_ovl_adaptor = {
> > .disconnect = mtk_ovl_adaptor_disconnect,
> > .add = mtk_ovl_adaptor_add_comp,
> > .remove = mtk_ovl_adaptor_remove_comp,
> > + .get_formats = mtk_ovl_adaptor_get_formats,
> > + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> > };
> >
> > static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX]
> > =
> > {
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-30 1:48 ` Nancy Lin (林欣螢)
0 siblings, 0 replies; 12+ messages in thread
From: Nancy Lin (林欣螢) @ 2023-03-30 1:48 UTC (permalink / raw)
To: CK Hu (胡俊光),
p.zabel, matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: Singo Chang (張興國),
linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group,
linux-mediatek, Shawn Sung (宋孝謙),
linux-arm-kernel
[-- Attachment #1: Type: text/html, Size: 6928 bytes --]
[-- Attachment #2: Type: text/plain, Size: 3781 bytes --]
Hi CK,
Thanks for the review.
On Wed, 2023-03-29 at 08:15 +0000, CK Hu (胡俊光) wrote:
> Hi, Nancy:
>
> On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> > Add ovl_adaptor get_format and get_num_formats component function.
> > The two functions are need for getting the supported format in
> > mtk_plane_init().
> >
> > Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> > ---
> > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> > +++++++++++++++++++
> > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> > 3 files changed, 28 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > index 0d28b2e2069c..da2de17b84e9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> > void mtk_ovl_adaptor_stop(struct device *dev);
> > unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> > struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
> >
> > void mtk_rdma_bypass_shadow(struct device *dev);
> > int mtk_rdma_clk_enable(struct device *dev);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > index 046217828ab3..b5d28c392c57 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > @@ -25,6 +25,20 @@
> > #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> > #define MTK_OVL_ADAPTOR_LAYER_NUM 4
> >
> > +static const u32 formats[] = {
> > + DRM_FORMAT_XRGB8888,
> > + DRM_FORMAT_ARGB8888,
> > + DRM_FORMAT_BGRX8888,
> > + DRM_FORMAT_BGRA8888,
> > + DRM_FORMAT_ABGR8888,
> > + DRM_FORMAT_XBGR8888,
> > + DRM_FORMAT_RGB888,
> > + DRM_FORMAT_BGR888,
> > + DRM_FORMAT_RGB565,
> > + DRM_FORMAT_UYVY,
> > + DRM_FORMAT_YUYV,
> > +};
> > +
> > enum mtk_ovl_adaptor_comp_type {
> > OVL_ADAPTOR_TYPE_RDMA = 0,
> > OVL_ADAPTOR_TYPE_MERGE,
> > @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> > device *dev)
> > mtk_ethdr_disable_vblank(ovl_adaptor-
> > > ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> >
> > }
> >
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> > +{
> > + return formats;
>
> The supported formats depend on the mdp-rdma hardware capability, so
> get formats from mdp-rdma driver.
>
> Regards,
> CK
>
OK, I will add mdp-rdma supported format api for ovl_adaptor.
Regards,
Nancy
> > +}
> > +
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> > +{
> > + return ARRAY_SIZE(formats);
> > +}
> > +
> > void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> > *mutex)
> > {
> > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > index 1a0c4f7e352a..f114da4d36a9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> > ddp_ovl_adaptor = {
> > .disconnect = mtk_ovl_adaptor_disconnect,
> > .add = mtk_ovl_adaptor_add_comp,
> > .remove = mtk_ovl_adaptor_remove_comp,
> > + .get_formats = mtk_ovl_adaptor_get_formats,
> > + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> > };
> >
> > static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX]
> > =
> > {
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] drm/mediatek: Add ovl_adaptor get format function
@ 2023-03-30 1:48 ` Nancy Lin (林欣螢)
0 siblings, 0 replies; 12+ messages in thread
From: Nancy Lin (林欣螢) @ 2023-03-30 1:48 UTC (permalink / raw)
To: CK Hu (胡俊光),
p.zabel, matthias.bgg, chunkuang.hu, angelogioacchino.delregno
Cc: dri-devel, Shawn Sung (宋孝謙),
linux-kernel, linux-mediatek,
Singo Chang (張興國),
Project_Global_Chrome_Upstream_Group, linux-arm-kernel
Hi CK,
Thanks for the review.
On Wed, 2023-03-29 at 08:15 +0000, CK Hu (胡俊光) wrote:
> Hi, Nancy:
>
> On Wed, 2023-03-29 at 09:59 +0800, Nancy.Lin wrote:
> > Add ovl_adaptor get_format and get_num_formats component function.
> > The two functions are need for getting the supported format in
> > mtk_plane_init().
> >
> > Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> > ---
> > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 ++
> > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 24
> > +++++++++++++++++++
> > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 2 ++
> > 3 files changed, 28 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > index 0d28b2e2069c..da2de17b84e9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > @@ -124,6 +124,8 @@ void mtk_ovl_adaptor_start(struct device *dev);
> > void mtk_ovl_adaptor_stop(struct device *dev);
> > unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> > struct device *mtk_ovl_adaptor_dma_dev_get(struct device *dev);
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev);
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev);
> >
> > void mtk_rdma_bypass_shadow(struct device *dev);
> > int mtk_rdma_clk_enable(struct device *dev);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > index 046217828ab3..b5d28c392c57 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> > @@ -25,6 +25,20 @@
> > #define MTK_OVL_ADAPTOR_RDMA_MAX_WIDTH 1920
> > #define MTK_OVL_ADAPTOR_LAYER_NUM 4
> >
> > +static const u32 formats[] = {
> > + DRM_FORMAT_XRGB8888,
> > + DRM_FORMAT_ARGB8888,
> > + DRM_FORMAT_BGRX8888,
> > + DRM_FORMAT_BGRA8888,
> > + DRM_FORMAT_ABGR8888,
> > + DRM_FORMAT_XBGR8888,
> > + DRM_FORMAT_RGB888,
> > + DRM_FORMAT_BGR888,
> > + DRM_FORMAT_RGB565,
> > + DRM_FORMAT_UYVY,
> > + DRM_FORMAT_YUYV,
> > +};
> > +
> > enum mtk_ovl_adaptor_comp_type {
> > OVL_ADAPTOR_TYPE_RDMA = 0,
> > OVL_ADAPTOR_TYPE_MERGE,
> > @@ -297,6 +311,16 @@ void mtk_ovl_adaptor_disable_vblank(struct
> > device *dev)
> > mtk_ethdr_disable_vblank(ovl_adaptor-
> > > ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
> >
> > }
> >
> > +const u32 *mtk_ovl_adaptor_get_formats(struct device *dev)
> > +{
> > + return formats;
>
> The supported formats depend on the mdp-rdma hardware capability, so
> get formats from mdp-rdma driver.
>
> Regards,
> CK
>
OK, I will add mdp-rdma supported format api for ovl_adaptor.
Regards,
Nancy
> > +}
> > +
> > +size_t mtk_ovl_adaptor_get_num_formats(struct device *dev)
> > +{
> > + return ARRAY_SIZE(formats);
> > +}
> > +
> > void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex
> > *mutex)
> > {
> > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0);
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > index 1a0c4f7e352a..f114da4d36a9 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
> > @@ -410,6 +410,8 @@ static const struct mtk_ddp_comp_funcs
> > ddp_ovl_adaptor = {
> > .disconnect = mtk_ovl_adaptor_disconnect,
> > .add = mtk_ovl_adaptor_add_comp,
> > .remove = mtk_ovl_adaptor_remove_comp,
> > + .get_formats = mtk_ovl_adaptor_get_formats,
> > + .get_num_formats = mtk_ovl_adaptor_get_num_formats,
> > };
> >
> > static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX]
> > =
> > {
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-03-30 2:12 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-29 1:59 [PATCH v2] drm/mediatek: Add ovl_adaptor get format function Nancy.Lin
2023-03-29 1:59 ` Nancy.Lin
2023-03-29 1:59 ` Nancy.Lin
2023-03-29 8:15 ` CK Hu (胡俊光)
2023-03-29 8:15 ` CK Hu (胡俊光)
2023-03-29 8:15 ` CK Hu (胡俊光)
2023-03-30 1:48 ` Nancy Lin (林欣螢)
2023-03-30 1:48 ` Nancy Lin (林欣螢)
2023-03-30 1:48 ` Nancy Lin (林欣螢)
2023-03-29 13:07 ` AngeloGioacchino Del Regno
2023-03-29 13:07 ` AngeloGioacchino Del Regno
2023-03-29 13:07 ` AngeloGioacchino Del Regno
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.