All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <8653f4f97da4ec5033d93485339ac3d56b8bb3f1.camel@mediatek.com>

diff --git a/N1/2.bin b/N1/2.bin
new file mode 100644
index 0000000..e3fdb78
--- /dev/null
+++ b/N1/2.bin
@@ -0,0 +1,239 @@
+<html><body><p>
+<pre>
+Hi,&#32;Jason:
+
+On&#32;Thu,&#32;2024-09-26&#32;at&#32;16:35&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:
+&gt;&#32;Since&#32;some&#32;SoCs&#32;support&#32;premultiplied&#32;pixel&#32;formats&#32;but&#32;some&#32;do&#32;not,
+&gt;&#32;the&#32;blend_modes&#32;parameter&#32;is&#32;added&#32;to&#32;mtk_plane_init(),&#32;which&#32;is
+&gt;&#32;obtained&#32;from&#32;the&#32;mtk_ddp_comp_get_blend_modes&#32;function&#32;implemented
+&gt;&#32;in&#32;different&#32;blending&#32;supported&#32;components.
+&gt;&#32;
+&gt;&#32;The&#32;blending&#32;supported&#32;components&#32;can&#32;use&#32;driver&#32;data&#32;to&#32;set&#32;the
+&gt;&#32;blend&#32;mode&#32;capabilities&#32;for&#32;different&#32;SoCs.
+
+Reviewed-by:&#32;CK&#32;Hu&#32;&lt;ck.hu@mediatek.com&gt;
+
+&gt;&#32;
+&gt;&#32;Signed-off-by:&#32;Jason-JH.Lin&#32;&lt;jason-jh.lin@mediatek.com&gt;
+&gt;&#32;---
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_crtc.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;1&#32;+
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;2&#32;++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;10&#32;++++++++++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_drv.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;2&#32;++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_ovl.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;7&#32;+++++++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c&#32;|&#32;&#32;7&#32;+++++++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ethdr.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;7&#32;+++++++
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ethdr.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;1&#32;+
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_plane.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;15&#32;+++++++--------
+&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_plane.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;4&#32;++--
+&gt;&#32;&#32;10&#32;files&#32;changed,&#32;46&#32;insertions(+),&#32;10&#32;deletions(-)
+&gt;&#32;
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_crtc.c&#32;b/drivers/gpu/drm/mediatek/mtk_crtc.c
+&gt;&#32;index&#32;175b00e5a253..b65f196f2015&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_crtc.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_crtc.c
+&gt;&#32;@@&#32;-913,6&#32;+913,7&#32;@@&#32;static&#32;int&#32;mtk_crtc_init_comp_planes(struct&#32;drm_device&#32;*drm_dev,
+&gt;&#32;&#32;BIT(pipe),
+&gt;&#32;&#32;mtk_crtc_plane_type(mtk_crtc-&gt;layer_nr,&#32;num_planes),
+&gt;&#32;&#32;mtk_ddp_comp_supported_rotations(comp),
+&gt;&#32;+mtk_ddp_comp_get_blend_modes(comp),
+&gt;&#32;&#32;mtk_ddp_comp_get_formats(comp),
+&gt;&#32;&#32;mtk_ddp_comp_get_num_formats(comp),&#32;i);
+&gt;&#32;&#32;if&#32;(ret)
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c
+&gt;&#32;index&#32;be66d94be361..edc6417639e6&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c
+&gt;&#32;@@&#32;-363,6&#32;+363,7&#32;@@&#32;static&#32;const&#32;struct&#32;mtk_ddp_comp_funcs&#32;ddp_ovl&#32;=&#32;{
+&gt;&#32;&#32;.layer_config&#32;=&#32;mtk_ovl_layer_config,
+&gt;&#32;&#32;.bgclr_in_on&#32;=&#32;mtk_ovl_bgclr_in_on,
+&gt;&#32;&#32;.bgclr_in_off&#32;=&#32;mtk_ovl_bgclr_in_off,
+&gt;&#32;+.get_blend_modes&#32;=&#32;mtk_ovl_get_blend_modes,
+&gt;&#32;&#32;.get_formats&#32;=&#32;mtk_ovl_get_formats,
+&gt;&#32;&#32;.get_num_formats&#32;=&#32;mtk_ovl_get_num_formats,
+&gt;&#32;&#32;};
+&gt;&#32;@@&#32;-416,6&#32;+417,7&#32;@@&#32;static&#32;const&#32;struct&#32;mtk_ddp_comp_funcs&#32;ddp_ovl_adaptor&#32;=&#32;{
+&gt;&#32;&#32;.disconnect&#32;=&#32;mtk_ovl_adaptor_disconnect,
+&gt;&#32;&#32;.add&#32;=&#32;mtk_ovl_adaptor_add_comp,
+&gt;&#32;&#32;.remove&#32;=&#32;mtk_ovl_adaptor_remove_comp,
+&gt;&#32;+.get_blend_modes&#32;=&#32;mtk_ovl_adaptor_get_blend_modes,
+&gt;&#32;&#32;.get_formats&#32;=&#32;mtk_ovl_adaptor_get_formats,
+&gt;&#32;&#32;.get_num_formats&#32;=&#32;mtk_ovl_adaptor_get_num_formats,
+&gt;&#32;&#32;.mode_valid&#32;=&#32;mtk_ovl_adaptor_mode_valid,
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.h&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.h
+&gt;&#32;index&#32;ecf6dc283cd7..79562af1180f&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.h
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.h
+&gt;&#32;@@&#32;-80,6&#32;+80,7&#32;@@&#32;struct&#32;mtk_ddp_comp_funcs&#32;{
+&gt;&#32;&#32;void&#32;(*ctm_set)(struct&#32;device&#32;*dev,
+&gt;&#32;&#32;struct&#32;drm_crtc_state&#32;*state);
+&gt;&#32;&#32;struct&#32;device&#32;*&#32;(*dma_dev_get)(struct&#32;device&#32;*dev);
+&gt;&#32;+const&#32;u32&#32;(*get_blend_modes)(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;const&#32;u32&#32;*(*get_formats)(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;size_t&#32;(*get_num_formats)(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;(*connect)(struct&#32;device&#32;*dev,&#32;struct&#32;device&#32;*mmsys_dev,&#32;unsigned&#32;int&#32;next);
+&gt;&#32;@@&#32;-266,6&#32;+267,15&#32;@@&#32;static&#32;inline&#32;struct&#32;device&#32;*mtk_ddp_comp_dma_dev_get(struct&#32;mtk_ddp_comp&#32;*comp)
+&gt;&#32;&#32;return&#32;comp-&gt;dev;
+&gt;&#32;&#32;}
+&gt;&#32;&#32;
+&gt;&#32;+static&#32;inline
+&gt;&#32;+const&#32;u32&#32;mtk_ddp_comp_get_blend_modes(struct&#32;mtk_ddp_comp&#32;*comp)
+&gt;&#32;+{
+&gt;&#32;+if&#32;(comp-&gt;funcs&#32;&amp;&amp;&#32;comp-&gt;funcs-&gt;get_blend_modes)
+&gt;&#32;+return&#32;comp-&gt;funcs-&gt;get_blend_modes(comp-&gt;dev);
+&gt;&#32;+
+&gt;&#32;+return&#32;0;
+&gt;&#32;+}
+&gt;&#32;+
+&gt;&#32;&#32;static&#32;inline
+&gt;&#32;&#32;const&#32;u32&#32;*mtk_ddp_comp_get_formats(struct&#32;mtk_ddp_comp&#32;*comp)
+&gt;&#32;&#32;{
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_drv.h&#32;b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+&gt;&#32;index&#32;082ac18fe04a..defa500cd64f&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
+&gt;&#32;@@&#32;-103,6&#32;+103,7&#32;@@&#32;void&#32;mtk_ovl_register_vblank_cb(struct&#32;device&#32;*dev,
+&gt;&#32;&#32;void&#32;mtk_ovl_unregister_vblank_cb(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;mtk_ovl_enable_vblank(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;mtk_ovl_disable_vblank(struct&#32;device&#32;*dev);
+&gt;&#32;+const&#32;u32&#32;mtk_ovl_get_blend_modes(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_get_formats(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;size_t&#32;mtk_ovl_get_num_formats(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;
+&gt;&#32;@@&#32;-131,6&#32;+132,7&#32;@@&#32;void&#32;mtk_ovl_adaptor_start(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;mtk_ovl_adaptor_stop(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;unsigned&#32;int&#32;mtk_ovl_adaptor_layer_nr(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;struct&#32;device&#32;*mtk_ovl_adaptor_dma_dev_get(struct&#32;device&#32;*dev);
+&gt;&#32;+const&#32;u32&#32;mtk_ovl_adaptor_get_blend_modes(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_adaptor_get_formats(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;size_t&#32;mtk_ovl_adaptor_get_num_formats(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;enum&#32;drm_mode_status&#32;mtk_ovl_adaptor_mode_valid(struct&#32;device&#32;*dev,
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+&gt;&#32;index&#32;0cf7b80f612e..8592c6078bb1&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+&gt;&#32;@@&#32;-215,6&#32;+215,13&#32;@@&#32;void&#32;mtk_ovl_disable_vblank(struct&#32;device&#32;*dev)
+&gt;&#32;&#32;writel_relaxed(0x0,&#32;ovl-&gt;regs&#32;+&#32;DISP_REG_OVL_INTEN);
+&gt;&#32;&#32;}
+&gt;&#32;&#32;
+&gt;&#32;+const&#32;u32&#32;mtk_ovl_get_blend_modes(struct&#32;device&#32;*dev)
+&gt;&#32;+{
+&gt;&#32;+struct&#32;mtk_disp_ovl&#32;*ovl&#32;=&#32;dev_get_drvdata(dev);
+&gt;&#32;+
+&gt;&#32;+return&#32;ovl-&gt;data-&gt;blend_modes;
+&gt;&#32;+}
+&gt;&#32;+
+&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_get_formats(struct&#32;device&#32;*dev)
+&gt;&#32;&#32;{
+&gt;&#32;&#32;struct&#32;mtk_disp_ovl&#32;*ovl&#32;=&#32;dev_get_drvdata(dev);
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+&gt;&#32;index&#32;c6768210b08b..93dc9c200705&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+&gt;&#32;@@&#32;-400,6&#32;+400,13&#32;@@&#32;void&#32;mtk_ovl_adaptor_disable_vblank(struct&#32;device&#32;*dev)
+&gt;&#32;&#32;mtk_ethdr_disable_vblank(ovl_adaptor-&gt;ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
+&gt;&#32;&#32;}
+&gt;&#32;&#32;
+&gt;&#32;+const&#32;u32&#32;mtk_ovl_adaptor_get_blend_modes(struct&#32;device&#32;*dev)
+&gt;&#32;+{
+&gt;&#32;+struct&#32;mtk_disp_ovl_adaptor&#32;*ovl_adaptor&#32;=&#32;dev_get_drvdata(dev);
+&gt;&#32;+
+&gt;&#32;+return&#32;mtk_ethdr_get_blend_modes(ovl_adaptor-&gt;ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);
+&gt;&#32;+}
+&gt;&#32;+
+&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_adaptor_get_formats(struct&#32;device&#32;*dev)
+&gt;&#32;&#32;{
+&gt;&#32;&#32;struct&#32;mtk_disp_ovl_adaptor&#32;*ovl_adaptor&#32;=&#32;dev_get_drvdata(dev);
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.c&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.c
+&gt;&#32;index&#32;d1d9cf8b10e1..5532740e17ba&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.c
+&gt;&#32;@@&#32;-145,6&#32;+145,13&#32;@@&#32;static&#32;irqreturn_t&#32;mtk_ethdr_irq_handler(int&#32;irq,&#32;void&#32;*dev_id)
+&gt;&#32;&#32;return&#32;IRQ_HANDLED;
+&gt;&#32;&#32;}
+&gt;&#32;&#32;
+&gt;&#32;+const&#32;u32&#32;mtk_ethdr_get_blend_modes(struct&#32;device&#32;*dev)
+&gt;&#32;+{
+&gt;&#32;+return&#32;BIT(DRM_MODE_BLEND_PREMULTI)&#32;|
+&gt;&#32;+&#32;&#32;&#32;&#32;&#32;&#32;&#32;BIT(DRM_MODE_BLEND_COVERAGE)&#32;|
+&gt;&#32;+&#32;&#32;&#32;&#32;&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PIXEL_NONE);
+&gt;&#32;+}
+&gt;&#32;+
+&gt;&#32;&#32;void&#32;mtk_ethdr_layer_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;idx,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;mtk_plane_state&#32;*state,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt)
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.h&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.h
+&gt;&#32;index&#32;81af9edea3f7..c2c7d56fb429&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.h
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.h
+&gt;&#32;@@&#32;-13,6&#32;+13,7&#32;@@&#32;void&#32;mtk_ethdr_clk_disable(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;mtk_ethdr_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;w,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;h,&#32;unsigned&#32;int&#32;vrefresh,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;bpc,&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt);
+&gt;&#32;+const&#32;u32&#32;mtk_ethdr_get_blend_modes(struct&#32;device&#32;*dev);
+&gt;&#32;&#32;void&#32;mtk_ethdr_layer_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;idx,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;mtk_plane_state&#32;*state,
+&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt);
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_plane.c&#32;b/drivers/gpu/drm/mediatek/mtk_plane.c
+&gt;&#32;index&#32;7d2cb4e0fafa..8a48b3b0a956&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_plane.c
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_plane.c
+&gt;&#32;@@&#32;-320,8&#32;+320,8&#32;@@&#32;static&#32;const&#32;struct&#32;drm_plane_helper_funcs&#32;mtk_plane_helper_funcs&#32;=&#32;{
+&gt;&#32;&#32;
+&gt;&#32;&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,
+&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;long&#32;possible_crtcs,&#32;enum&#32;drm_plane_type&#32;type,
+&gt;&#32;-&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;*formats,
+&gt;&#32;-&#32;&#32;&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx)
+&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;blend_modes,
+&gt;&#32;+&#32;&#32;&#32;const&#32;u32&#32;*formats,&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx)
+&gt;&#32;&#32;{
+&gt;&#32;&#32;int&#32;err;
+&gt;&#32;&#32;
+&gt;&#32;@@&#32;-366,12&#32;+366,11&#32;@@&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,
+&gt;&#32;&#32;if&#32;(err)
+&gt;&#32;&#32;DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;alpha&#92;n&quot;);
+&gt;&#32;&#32;
+&gt;&#32;-err&#32;=&#32;drm_plane_create_blend_mode_property(plane,
+&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PREMULTI)&#32;|
+&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_COVERAGE)&#32;|
+&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PIXEL_NONE));
+&gt;&#32;-if&#32;(err)
+&gt;&#32;-DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;blend_mode&#92;n&quot;);
+&gt;&#32;+if&#32;(blend_modes)&#32;{
+&gt;&#32;+err&#32;=&#32;drm_plane_create_blend_mode_property(plane,&#32;blend_modes);
+&gt;&#32;+if&#32;(err)
+&gt;&#32;+DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;blend_mode&#92;n&quot;);
+&gt;&#32;+}
+&gt;&#32;&#32;
+&gt;&#32;&#32;drm_plane_helper_add(plane,&#32;&amp;mtk_plane_helper_funcs);
+&gt;&#32;&#32;
+&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_plane.h&#32;b/drivers/gpu/drm/mediatek/mtk_plane.h
+&gt;&#32;index&#32;5b177eac67b7..3b13b89989c7&#32;100644
+&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_plane.h
+&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_plane.h
+&gt;&#32;@@&#32;-48,6&#32;+48,6&#32;@@&#32;to_mtk_plane_state(struct&#32;drm_plane_state&#32;*state)
+&gt;&#32;&#32;
+&gt;&#32;&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,
+&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;long&#32;possible_crtcs,&#32;enum&#32;drm_plane_type&#32;type,
+&gt;&#32;-&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;*formats,
+&gt;&#32;-&#32;&#32;&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx);
+&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;blend_modes,
+&gt;&#32;+&#32;&#32;&#32;const&#32;u32&#32;*formats,&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx);
+&gt;&#32;&#32;#endif
+
+</pre>
+</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice
+ ********************
+The information contained in this e-mail message (including any 
+attachments) may be confidential, proprietary, privileged, or otherwise
+exempt from disclosure under applicable laws. It is intended to be 
+conveyed only to the designated recipient(s). Any use, dissemination, 
+distribution, printing, retaining or copying of this e-mail (including its 
+attachments) by unintended recipient(s) is strictly prohibited and may 
+be unlawful. If you are not an intended recipient of this e-mail, or believe
+ 
+that you have received this e-mail in error, please notify the sender 
+immediately (by replying to this e-mail), delete any and all copies of 
+this e-mail (including any attachments) from your system, and do not
+disclose the content of this e-mail to any other person. Thank you!
+</pre><!--}-->
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..da1f671
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,3 @@
+Content-Type: text/html;
+	charset="utf-8"
+Content-Transfer-Encoding: base64
diff --git a/a/content_digest b/N1/content_digest
index 09606e2..c2abb72 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -15,7 +15,7 @@
   dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>
   Project_Global_Chrome_Upstream_Group <Project_Global_Chrome_Upstream_Group@mediatek.com>
  " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "Hi, Jason:\n"
  "\n"
@@ -237,5 +237,246 @@
  "> +\t\t   unsigned int supported_rotations, const u32 blend_modes,\n"
  "> +\t\t   const u32 *formats, size_t num_formats, unsigned int plane_idx);\n"
  >  #endif
+ "\01:2\0"
+ "b\0"
+ "<html><body><p>\r\n"
+ "<pre>\r\n"
+ "Hi,&#32;Jason:\r\n"
+ "\r\n"
+ "On&#32;Thu,&#32;2024-09-26&#32;at&#32;16:35&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:\r\n"
+ "&gt;&#32;Since&#32;some&#32;SoCs&#32;support&#32;premultiplied&#32;pixel&#32;formats&#32;but&#32;some&#32;do&#32;not,\r\n"
+ "&gt;&#32;the&#32;blend_modes&#32;parameter&#32;is&#32;added&#32;to&#32;mtk_plane_init(),&#32;which&#32;is\r\n"
+ "&gt;&#32;obtained&#32;from&#32;the&#32;mtk_ddp_comp_get_blend_modes&#32;function&#32;implemented\r\n"
+ "&gt;&#32;in&#32;different&#32;blending&#32;supported&#32;components.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;The&#32;blending&#32;supported&#32;components&#32;can&#32;use&#32;driver&#32;data&#32;to&#32;set&#32;the\r\n"
+ "&gt;&#32;blend&#32;mode&#32;capabilities&#32;for&#32;different&#32;SoCs.\r\n"
+ "\r\n"
+ "Reviewed-by:&#32;CK&#32;Hu&#32;&lt;ck.hu@mediatek.com&gt;\r\n"
+ "\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;Signed-off-by:&#32;Jason-JH.Lin&#32;&lt;jason-jh.lin@mediatek.com&gt;\r\n"
+ "&gt;&#32;---\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_crtc.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;1&#32;+\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;2&#32;++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;10&#32;++++++++++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_drv.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;2&#32;++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_ovl.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;7&#32;+++++++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c&#32;|&#32;&#32;7&#32;+++++++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ethdr.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;7&#32;+++++++\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ethdr.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;1&#32;+\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_plane.c&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;15&#32;+++++++--------\r\n"
+ "&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_plane.h&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;|&#32;&#32;4&#32;++--\r\n"
+ "&gt;&#32;&#32;10&#32;files&#32;changed,&#32;46&#32;insertions(+),&#32;10&#32;deletions(-)\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_crtc.c&#32;b/drivers/gpu/drm/mediatek/mtk_crtc.c\r\n"
+ "&gt;&#32;index&#32;175b00e5a253..b65f196f2015&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_crtc.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_crtc.c\r\n"
+ "&gt;&#32;@@&#32;-913,6&#32;+913,7&#32;@@&#32;static&#32;int&#32;mtk_crtc_init_comp_planes(struct&#32;drm_device&#32;*drm_dev,\r\n"
+ "&gt;&#32;&#32;BIT(pipe),\r\n"
+ "&gt;&#32;&#32;mtk_crtc_plane_type(mtk_crtc-&gt;layer_nr,&#32;num_planes),\r\n"
+ "&gt;&#32;&#32;mtk_ddp_comp_supported_rotations(comp),\r\n"
+ "&gt;&#32;+mtk_ddp_comp_get_blend_modes(comp),\r\n"
+ "&gt;&#32;&#32;mtk_ddp_comp_get_formats(comp),\r\n"
+ "&gt;&#32;&#32;mtk_ddp_comp_get_num_formats(comp),&#32;i);\r\n"
+ "&gt;&#32;&#32;if&#32;(ret)\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c\r\n"
+ "&gt;&#32;index&#32;be66d94be361..edc6417639e6&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c\r\n"
+ "&gt;&#32;@@&#32;-363,6&#32;+363,7&#32;@@&#32;static&#32;const&#32;struct&#32;mtk_ddp_comp_funcs&#32;ddp_ovl&#32;=&#32;{\r\n"
+ "&gt;&#32;&#32;.layer_config&#32;=&#32;mtk_ovl_layer_config,\r\n"
+ "&gt;&#32;&#32;.bgclr_in_on&#32;=&#32;mtk_ovl_bgclr_in_on,\r\n"
+ "&gt;&#32;&#32;.bgclr_in_off&#32;=&#32;mtk_ovl_bgclr_in_off,\r\n"
+ "&gt;&#32;+.get_blend_modes&#32;=&#32;mtk_ovl_get_blend_modes,\r\n"
+ "&gt;&#32;&#32;.get_formats&#32;=&#32;mtk_ovl_get_formats,\r\n"
+ "&gt;&#32;&#32;.get_num_formats&#32;=&#32;mtk_ovl_get_num_formats,\r\n"
+ "&gt;&#32;&#32;};\r\n"
+ "&gt;&#32;@@&#32;-416,6&#32;+417,7&#32;@@&#32;static&#32;const&#32;struct&#32;mtk_ddp_comp_funcs&#32;ddp_ovl_adaptor&#32;=&#32;{\r\n"
+ "&gt;&#32;&#32;.disconnect&#32;=&#32;mtk_ovl_adaptor_disconnect,\r\n"
+ "&gt;&#32;&#32;.add&#32;=&#32;mtk_ovl_adaptor_add_comp,\r\n"
+ "&gt;&#32;&#32;.remove&#32;=&#32;mtk_ovl_adaptor_remove_comp,\r\n"
+ "&gt;&#32;+.get_blend_modes&#32;=&#32;mtk_ovl_adaptor_get_blend_modes,\r\n"
+ "&gt;&#32;&#32;.get_formats&#32;=&#32;mtk_ovl_adaptor_get_formats,\r\n"
+ "&gt;&#32;&#32;.get_num_formats&#32;=&#32;mtk_ovl_adaptor_get_num_formats,\r\n"
+ "&gt;&#32;&#32;.mode_valid&#32;=&#32;mtk_ovl_adaptor_mode_valid,\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.h&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.h\r\n"
+ "&gt;&#32;index&#32;ecf6dc283cd7..79562af1180f&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.h\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.h\r\n"
+ "&gt;&#32;@@&#32;-80,6&#32;+80,7&#32;@@&#32;struct&#32;mtk_ddp_comp_funcs&#32;{\r\n"
+ "&gt;&#32;&#32;void&#32;(*ctm_set)(struct&#32;device&#32;*dev,\r\n"
+ "&gt;&#32;&#32;struct&#32;drm_crtc_state&#32;*state);\r\n"
+ "&gt;&#32;&#32;struct&#32;device&#32;*&#32;(*dma_dev_get)(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;+const&#32;u32&#32;(*get_blend_modes)(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*(*get_formats)(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;size_t&#32;(*get_num_formats)(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;(*connect)(struct&#32;device&#32;*dev,&#32;struct&#32;device&#32;*mmsys_dev,&#32;unsigned&#32;int&#32;next);\r\n"
+ "&gt;&#32;@@&#32;-266,6&#32;+267,15&#32;@@&#32;static&#32;inline&#32;struct&#32;device&#32;*mtk_ddp_comp_dma_dev_get(struct&#32;mtk_ddp_comp&#32;*comp)\r\n"
+ "&gt;&#32;&#32;return&#32;comp-&gt;dev;\r\n"
+ "&gt;&#32;&#32;}\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;+static&#32;inline\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ddp_comp_get_blend_modes(struct&#32;mtk_ddp_comp&#32;*comp)\r\n"
+ "&gt;&#32;+{\r\n"
+ "&gt;&#32;+if&#32;(comp-&gt;funcs&#32;&amp;&amp;&#32;comp-&gt;funcs-&gt;get_blend_modes)\r\n"
+ "&gt;&#32;+return&#32;comp-&gt;funcs-&gt;get_blend_modes(comp-&gt;dev);\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;+return&#32;0;\r\n"
+ "&gt;&#32;+}\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;&#32;static&#32;inline\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*mtk_ddp_comp_get_formats(struct&#32;mtk_ddp_comp&#32;*comp)\r\n"
+ "&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_drv.h&#32;b/drivers/gpu/drm/mediatek/mtk_disp_drv.h\r\n"
+ "&gt;&#32;index&#32;082ac18fe04a..defa500cd64f&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_drv.h\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_drv.h\r\n"
+ "&gt;&#32;@@&#32;-103,6&#32;+103,7&#32;@@&#32;void&#32;mtk_ovl_register_vblank_cb(struct&#32;device&#32;*dev,\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ovl_unregister_vblank_cb(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ovl_enable_vblank(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ovl_disable_vblank(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ovl_get_blend_modes(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_get_formats(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;size_t&#32;mtk_ovl_get_num_formats(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;@@&#32;-131,6&#32;+132,7&#32;@@&#32;void&#32;mtk_ovl_adaptor_start(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ovl_adaptor_stop(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;unsigned&#32;int&#32;mtk_ovl_adaptor_layer_nr(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;struct&#32;device&#32;*mtk_ovl_adaptor_dma_dev_get(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ovl_adaptor_get_blend_modes(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_adaptor_get_formats(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;size_t&#32;mtk_ovl_adaptor_get_num_formats(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;enum&#32;drm_mode_status&#32;mtk_ovl_adaptor_mode_valid(struct&#32;device&#32;*dev,\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c\r\n"
+ "&gt;&#32;index&#32;0cf7b80f612e..8592c6078bb1&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c\r\n"
+ "&gt;&#32;@@&#32;-215,6&#32;+215,13&#32;@@&#32;void&#32;mtk_ovl_disable_vblank(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;&#32;writel_relaxed(0x0,&#32;ovl-&gt;regs&#32;+&#32;DISP_REG_OVL_INTEN);\r\n"
+ "&gt;&#32;&#32;}\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ovl_get_blend_modes(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;+{\r\n"
+ "&gt;&#32;+struct&#32;mtk_disp_ovl&#32;*ovl&#32;=&#32;dev_get_drvdata(dev);\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;+return&#32;ovl-&gt;data-&gt;blend_modes;\r\n"
+ "&gt;&#32;+}\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_get_formats(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&#32;struct&#32;mtk_disp_ovl&#32;*ovl&#32;=&#32;dev_get_drvdata(dev);\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c\r\n"
+ "&gt;&#32;index&#32;c6768210b08b..93dc9c200705&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c\r\n"
+ "&gt;&#32;@@&#32;-400,6&#32;+400,13&#32;@@&#32;void&#32;mtk_ovl_adaptor_disable_vblank(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;&#32;mtk_ethdr_disable_vblank(ovl_adaptor-&gt;ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);\r\n"
+ "&gt;&#32;&#32;}\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ovl_adaptor_get_blend_modes(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;+{\r\n"
+ "&gt;&#32;+struct&#32;mtk_disp_ovl_adaptor&#32;*ovl_adaptor&#32;=&#32;dev_get_drvdata(dev);\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;+return&#32;mtk_ethdr_get_blend_modes(ovl_adaptor-&gt;ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]);\r\n"
+ "&gt;&#32;+}\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;&#32;const&#32;u32&#32;*mtk_ovl_adaptor_get_formats(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&#32;struct&#32;mtk_disp_ovl_adaptor&#32;*ovl_adaptor&#32;=&#32;dev_get_drvdata(dev);\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.c&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.c\r\n"
+ "&gt;&#32;index&#32;d1d9cf8b10e1..5532740e17ba&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.c\r\n"
+ "&gt;&#32;@@&#32;-145,6&#32;+145,13&#32;@@&#32;static&#32;irqreturn_t&#32;mtk_ethdr_irq_handler(int&#32;irq,&#32;void&#32;*dev_id)\r\n"
+ "&gt;&#32;&#32;return&#32;IRQ_HANDLED;\r\n"
+ "&gt;&#32;&#32;}\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ethdr_get_blend_modes(struct&#32;device&#32;*dev)\r\n"
+ "&gt;&#32;+{\r\n"
+ "&gt;&#32;+return&#32;BIT(DRM_MODE_BLEND_PREMULTI)&#32;|\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;&#32;&#32;&#32;&#32;BIT(DRM_MODE_BLEND_COVERAGE)&#32;|\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;&#32;&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PIXEL_NONE);\r\n"
+ "&gt;&#32;+}\r\n"
+ "&gt;&#32;+\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ethdr_layer_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;idx,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;mtk_plane_state&#32;*state,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt)\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.h&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.h\r\n"
+ "&gt;&#32;index&#32;81af9edea3f7..c2c7d56fb429&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ethdr.h\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ethdr.h\r\n"
+ "&gt;&#32;@@&#32;-13,6&#32;+13,7&#32;@@&#32;void&#32;mtk_ethdr_clk_disable(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ethdr_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;w,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;h,&#32;unsigned&#32;int&#32;vrefresh,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;bpc,&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt);\r\n"
+ "&gt;&#32;+const&#32;u32&#32;mtk_ethdr_get_blend_modes(struct&#32;device&#32;*dev);\r\n"
+ "&gt;&#32;&#32;void&#32;mtk_ethdr_layer_config(struct&#32;device&#32;*dev,&#32;unsigned&#32;int&#32;idx,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;mtk_plane_state&#32;*state,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_pkt&#32;*cmdq_pkt);\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_plane.c&#32;b/drivers/gpu/drm/mediatek/mtk_plane.c\r\n"
+ "&gt;&#32;index&#32;7d2cb4e0fafa..8a48b3b0a956&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_plane.c\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_plane.c\r\n"
+ "&gt;&#32;@@&#32;-320,8&#32;+320,8&#32;@@&#32;static&#32;const&#32;struct&#32;drm_plane_helper_funcs&#32;mtk_plane_helper_funcs&#32;=&#32;{\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;long&#32;possible_crtcs,&#32;enum&#32;drm_plane_type&#32;type,\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;*formats,\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx)\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;blend_modes,\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;const&#32;u32&#32;*formats,&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx)\r\n"
+ "&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&#32;int&#32;err;\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;@@&#32;-366,12&#32;+366,11&#32;@@&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,\r\n"
+ "&gt;&#32;&#32;if&#32;(err)\r\n"
+ "&gt;&#32;&#32;DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;alpha&#92;n&quot;);\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;-err&#32;=&#32;drm_plane_create_blend_mode_property(plane,\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PREMULTI)&#32;|\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_COVERAGE)&#32;|\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;BIT(DRM_MODE_BLEND_PIXEL_NONE));\r\n"
+ "&gt;&#32;-if&#32;(err)\r\n"
+ "&gt;&#32;-DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;blend_mode&#92;n&quot;);\r\n"
+ "&gt;&#32;+if&#32;(blend_modes)&#32;{\r\n"
+ "&gt;&#32;+err&#32;=&#32;drm_plane_create_blend_mode_property(plane,&#32;blend_modes);\r\n"
+ "&gt;&#32;+if&#32;(err)\r\n"
+ "&gt;&#32;+DRM_ERROR(&quot;failed&#32;to&#32;create&#32;property:&#32;blend_mode&#92;n&quot;);\r\n"
+ "&gt;&#32;+}\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;&#32;drm_plane_helper_add(plane,&#32;&amp;mtk_plane_helper_funcs);\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;diff&#32;--git&#32;a/drivers/gpu/drm/mediatek/mtk_plane.h&#32;b/drivers/gpu/drm/mediatek/mtk_plane.h\r\n"
+ "&gt;&#32;index&#32;5b177eac67b7..3b13b89989c7&#32;100644\r\n"
+ "&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_plane.h\r\n"
+ "&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_plane.h\r\n"
+ "&gt;&#32;@@&#32;-48,6&#32;+48,6&#32;@@&#32;to_mtk_plane_state(struct&#32;drm_plane_state&#32;*state)\r\n"
+ "&gt;&#32;&#32;\r\n"
+ "&gt;&#32;&#32;int&#32;mtk_plane_init(struct&#32;drm_device&#32;*dev,&#32;struct&#32;drm_plane&#32;*plane,\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;long&#32;possible_crtcs,&#32;enum&#32;drm_plane_type&#32;type,\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;*formats,\r\n"
+ "&gt;&#32;-&#32;&#32;&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx);\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;supported_rotations,&#32;const&#32;u32&#32;blend_modes,\r\n"
+ "&gt;&#32;+&#32;&#32;&#32;const&#32;u32&#32;*formats,&#32;size_t&#32;num_formats,&#32;unsigned&#32;int&#32;plane_idx);\r\n"
+ "&gt;&#32;&#32;#endif\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice\r\n"
+ " ********************\r\n"
+ "The information contained in this e-mail message (including any \r\n"
+ "attachments) may be confidential, proprietary, privileged, or otherwise\r\n"
+ "exempt from disclosure under applicable laws. It is intended to be \r\n"
+ "conveyed only to the designated recipient(s). Any use, dissemination, \r\n"
+ "distribution, printing, retaining or copying of this e-mail (including its \r\n"
+ "attachments) by unintended recipient(s) is strictly prohibited and may \r\n"
+ "be unlawful. If you are not an intended recipient of this e-mail, or believe\r\n"
+ " \r\n"
+ "that you have received this e-mail in error, please notify the sender \r\n"
+ "immediately (by replying to this e-mail), delete any and all copies of \r\n"
+ "this e-mail (including any attachments) from your system, and do not\r\n"
+ "disclose the content of this e-mail to any other person. Thank you!\r\n"
+ </pre><!--}-->
 
-621858935ba067762aa278f06b656695a31986bb39b3ba4b878ba9fd5c5e8d4d
+948607627aed2c7857c7dff1150314dd3ebb8d73a7826846073a470adc2b14be

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.