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

diff --git a/N1/2.bin b/N1/2.bin
new file mode 100644
index 0000000..a156153
--- /dev/null
+++ b/N1/2.bin
@@ -0,0 +1,130 @@
+<html><body><p>
+<pre>
+On&#32;Wed,&#32;2024-12-11&#32;at&#32;11:46&#32;+0800,&#32;CK&#32;Hu&#32;wrote:
+&gt;&#32;Hi,&#32;Jason:
+&gt;&#32;
+&gt;&#32;On&#32;Wed,&#32;2024-12-11&#32;at&#32;11:22&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:
+&gt;&#32;&gt;&#32;To&#32;support&#32;hardware&#32;without&#32;subsys&#32;IDs&#32;on&#32;new&#32;SoCs,&#32;add&#32;a&#32;programming
+&gt;&#32;&gt;&#32;flow&#32;that&#32;checks&#32;whether&#32;the&#32;subsys&#32;ID&#32;is&#32;valid.&#32;If&#32;the&#32;subsys&#32;ID&#32;is
+&gt;&#32;&gt;&#32;invalid,&#32;the&#32;flow&#32;will&#32;call&#32;2&#32;alternative&#32;CMDQ&#32;APIs:
+&gt;&#32;&gt;&#32;cmdq_pkt_assign()&#32;and&#32;cmdq_pkt_write_s_value()&#32;to&#32;achieve&#32;the&#32;same
+&gt;&#32;&gt;&#32;functionality.
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;Signed-off-by:&#32;Jason-JH.Lin&#32;&lt;jason-jh.lin@mediatek.com&gt;
+&gt;&#32;&gt;&#32;---
+&gt;&#32;&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;|&#32;34&#32;++++++++++++++++++++-----
+&gt;&#32;&gt;&#32;&#32;1&#32;file&#32;changed,&#32;28&#32;insertions(+),&#32;6&#32;deletions(-)
+&gt;&#32;&gt;&#32;
+&gt;&#32;&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;&gt;&#32;index&#32;edc6417639e6..0792c895526f&#32;100644
+&gt;&#32;&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c
+&gt;&#32;&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c
+&gt;&#32;&gt;&#32;@@&#32;-66,14&#32;+66,38&#32;@@&#32;struct&#32;mtk_ddp_comp_dev&#32;{
+&gt;&#32;&gt;&#32;&#32;struct&#32;cmdq_client_reg&#32;cmdq_reg;
+&gt;&#32;&gt;&#32;&#32;};
+&gt;&#32;&gt;&#32;&#32;
+&gt;&#32;&gt;&#32;+#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)
+&gt;&#32;&gt;&#32;+static&#32;void&#32;mtk_ddp_write_cmdq_pkt(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;struct&#32;cmdq_client_reg&#32;*cmdq_reg,
+&gt;&#32;&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;offset,&#32;unsigned&#32;int&#32;value,&#32;unsigned&#32;int&#32;mask)
+&gt;&#32;
+&gt;&#32;Drop&#32;this&#32;function.
+
+Sorry,&#32;it&#32;seems&#32;cmdq_subsys_is_valid()&#32;is&#32;used&#32;to&#32;check&#32;the&#32;SoC&#32;support&#32;new&#32;API&#32;or&#32;not.
+But&#32;I&#32;would&#32;try&#32;to&#32;find&#32;out&#32;a&#32;way&#32;not&#32;to&#32;always&#32;check&#32;using&#32;new&#32;API&#32;or&#32;not.
+
+Regards,
+CK
+
+&gt;&#32;
+&gt;&#32;&gt;&#32;+{
+&gt;&#32;&gt;&#32;+struct&#32;cmdq_client&#32;*cl&#32;=&#32;(struct&#32;cmdq_client&#32;*)cmdq_pkt-&gt;cl;
+&gt;&#32;&gt;&#32;+
+&gt;&#32;&gt;&#32;+offset&#32;+=&#32;cmdq_reg-&gt;offset;
+&gt;&#32;&gt;&#32;+
+&gt;&#32;&gt;&#32;+if&#32;(cmdq_subsys_is_valid(cl-&gt;chan,&#32;cmdq_reg-&gt;subsys))&#32;{
+&gt;&#32;&gt;&#32;+if&#32;(mask&#32;==&#32;GENMASK(31,&#32;0))
+&gt;&#32;&gt;&#32;+cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,&#32;offset,&#32;value);
+&gt;&#32;&gt;&#32;+else
+&gt;&#32;&gt;&#32;+cmdq_pkt_write_mask(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,&#32;offset,&#32;value,&#32;mask);
+&gt;&#32;&gt;&#32;+}&#32;else&#32;{
+&gt;&#32;&gt;&#32;+/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/
+&gt;&#32;&gt;&#32;+cmdq_pkt_assign(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));
+&gt;&#32;&gt;&#32;+if&#32;(mask&#32;==&#32;GENMASK(31,&#32;0))
+&gt;&#32;&gt;&#32;+cmdq_pkt_write_s_value(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);
+&gt;&#32;&gt;&#32;+else
+&gt;&#32;&gt;&#32;+cmdq_pkt_write_s_mask_value(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_LOW(offset),
+&gt;&#32;&gt;&#32;+&#32;&#32;&#32;&#32;value,&#32;mask);
+&gt;&#32;&gt;&#32;+}
+&gt;&#32;&gt;&#32;+}
+&gt;&#32;&gt;&#32;+#endif
+&gt;&#32;&gt;&#32;+
+&gt;&#32;&gt;&#32;&#32;void&#32;mtk_ddp_write(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_client_reg&#32;*cmdq_reg,&#32;void&#32;__iomem&#32;*regs,
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;offset)
+&gt;&#32;&gt;&#32;&#32;{
+&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)
+&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)
+&gt;&#32;&gt;&#32;-cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,
+&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value);
+&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;GENMASK(31,&#32;0));
+&gt;&#32;
+&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/
+&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));
+&gt;&#32;cmdq_pkt_write_s_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);
+&gt;&#32;
+&gt;&#32;&gt;&#32;&#32;else
+&gt;&#32;&gt;&#32;&#32;#endif
+&gt;&#32;&gt;&#32;&#32;writel(value,&#32;regs&#32;+&#32;offset);
+&gt;&#32;&gt;&#32;@@&#32;-85,8&#32;+109,7&#32;@@&#32;void&#32;mtk_ddp_write_relaxed(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,
+&gt;&#32;&gt;&#32;&#32;{
+&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)
+&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)
+&gt;&#32;&gt;&#32;-cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,
+&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value);
+&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;GENMASK(31,&#32;0));
+&gt;&#32;
+&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/
+&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));
+&gt;&#32;cmdq_pkt_write_s_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);
+&gt;&#32;
+&gt;&#32;&gt;&#32;&#32;else
+&gt;&#32;&gt;&#32;&#32;#endif
+&gt;&#32;&gt;&#32;&#32;writel_relaxed(value,&#32;regs&#32;+&#32;offset);
+&gt;&#32;&gt;&#32;@@&#32;-98,8&#32;+121,7&#32;@@&#32;void&#32;mtk_ddp_write_mask(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,
+&gt;&#32;&gt;&#32;&#32;{
+&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)
+&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)&#32;{
+&gt;&#32;&gt;&#32;-cmdq_pkt_write_mask(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,
+&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value,&#32;mask);
+&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;mask);
+&gt;&#32;
+&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/
+&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));
+&gt;&#32;cmdq_pkt_write_s_mask_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),
+&gt;&#32;&#32;&#32;&#32;&#32;value,&#32;mask);
+&gt;&#32;
+&gt;&#32;CMDQ_XXXREG_0&#32;is&#32;defined&#32;in&#32;cmdq&#32;header&#32;file.
+&gt;&#32;
+&gt;&#32;Regards,
+&gt;&#32;CK
+&gt;&#32;
+&gt;&#32;&gt;&#32;&#32;}&#32;else&#32;{
+&gt;&#32;&gt;&#32;&#32;#endif
+&gt;&#32;&gt;&#32;&#32;u32&#32;tmp&#32;=&#32;readl(regs&#32;+&#32;offset);
+&gt;&#32;
+
+
+</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 31c2138..1173b19 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -26,7 +26,7 @@
   linux-mediatek@lists.infradead.org <linux-mediatek@lists.infradead.org>
  " Nancy Lin (\346\236\227\346\254\243\350\236\242) <Nancy.Lin@mediatek.com>"
  " Project_Global_Chrome_Upstream_Group <Project_Global_Chrome_Upstream_Group@mediatek.com>\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "On Wed, 2024-12-11 at 11:46 +0800, CK Hu wrote:\n"
  "> Hi, Jason:\n"
@@ -140,5 +140,137 @@
  "> >  #endif\n"
  "> >  \t\tu32 tmp = readl(regs + offset);\n"
  >
+ "\01:2\0"
+ "b\0"
+ "<html><body><p>\r\n"
+ "<pre>\r\n"
+ "On&#32;Wed,&#32;2024-12-11&#32;at&#32;11:46&#32;+0800,&#32;CK&#32;Hu&#32;wrote:\r\n"
+ "&gt;&#32;Hi,&#32;Jason:\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;On&#32;Wed,&#32;2024-12-11&#32;at&#32;11:22&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:\r\n"
+ "&gt;&#32;&gt;&#32;To&#32;support&#32;hardware&#32;without&#32;subsys&#32;IDs&#32;on&#32;new&#32;SoCs,&#32;add&#32;a&#32;programming\r\n"
+ "&gt;&#32;&gt;&#32;flow&#32;that&#32;checks&#32;whether&#32;the&#32;subsys&#32;ID&#32;is&#32;valid.&#32;If&#32;the&#32;subsys&#32;ID&#32;is\r\n"
+ "&gt;&#32;&gt;&#32;invalid,&#32;the&#32;flow&#32;will&#32;call&#32;2&#32;alternative&#32;CMDQ&#32;APIs:\r\n"
+ "&gt;&#32;&gt;&#32;cmdq_pkt_assign()&#32;and&#32;cmdq_pkt_write_s_value()&#32;to&#32;achieve&#32;the&#32;same\r\n"
+ "&gt;&#32;&gt;&#32;functionality.\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;Signed-off-by:&#32;Jason-JH.Lin&#32;&lt;jason-jh.lin@mediatek.com&gt;\r\n"
+ "&gt;&#32;&gt;&#32;---\r\n"
+ "&gt;&#32;&gt;&#32;&#32;drivers/gpu/drm/mediatek/mtk_ddp_comp.c&#32;|&#32;34&#32;++++++++++++++++++++-----\r\n"
+ "&gt;&#32;&gt;&#32;&#32;1&#32;file&#32;changed,&#32;28&#32;insertions(+),&#32;6&#32;deletions(-)\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&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;&gt;&#32;index&#32;edc6417639e6..0792c895526f&#32;100644\r\n"
+ "&gt;&#32;&gt;&#32;---&#32;a/drivers/gpu/drm/mediatek/mtk_ddp_comp.c\r\n"
+ "&gt;&#32;&gt;&#32;+++&#32;b/drivers/gpu/drm/mediatek/mtk_ddp_comp.c\r\n"
+ "&gt;&#32;&gt;&#32;@@&#32;-66,14&#32;+66,38&#32;@@&#32;struct&#32;mtk_ddp_comp_dev&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;struct&#32;cmdq_client_reg&#32;cmdq_reg;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;};\r\n"
+ "&gt;&#32;&gt;&#32;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;+#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)\r\n"
+ "&gt;&#32;&gt;&#32;+static&#32;void&#32;mtk_ddp_write_cmdq_pkt(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;struct&#32;cmdq_client_reg&#32;*cmdq_reg,\r\n"
+ "&gt;&#32;&gt;&#32;+&#32;&#32;&#32;unsigned&#32;int&#32;offset,&#32;unsigned&#32;int&#32;value,&#32;unsigned&#32;int&#32;mask)\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;Drop&#32;this&#32;function.\r\n"
+ "\r\n"
+ "Sorry,&#32;it&#32;seems&#32;cmdq_subsys_is_valid()&#32;is&#32;used&#32;to&#32;check&#32;the&#32;SoC&#32;support&#32;new&#32;API&#32;or&#32;not.\r\n"
+ "But&#32;I&#32;would&#32;try&#32;to&#32;find&#32;out&#32;a&#32;way&#32;not&#32;to&#32;always&#32;check&#32;using&#32;new&#32;API&#32;or&#32;not.\r\n"
+ "\r\n"
+ "Regards,\r\n"
+ "CK\r\n"
+ "\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;+{\r\n"
+ "&gt;&#32;&gt;&#32;+struct&#32;cmdq_client&#32;*cl&#32;=&#32;(struct&#32;cmdq_client&#32;*)cmdq_pkt-&gt;cl;\r\n"
+ "&gt;&#32;&gt;&#32;+\r\n"
+ "&gt;&#32;&gt;&#32;+offset&#32;+=&#32;cmdq_reg-&gt;offset;\r\n"
+ "&gt;&#32;&gt;&#32;+\r\n"
+ "&gt;&#32;&gt;&#32;+if&#32;(cmdq_subsys_is_valid(cl-&gt;chan,&#32;cmdq_reg-&gt;subsys))&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;+if&#32;(mask&#32;==&#32;GENMASK(31,&#32;0))\r\n"
+ "&gt;&#32;&gt;&#32;+cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,&#32;offset,&#32;value);\r\n"
+ "&gt;&#32;&gt;&#32;+else\r\n"
+ "&gt;&#32;&gt;&#32;+cmdq_pkt_write_mask(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,&#32;offset,&#32;value,&#32;mask);\r\n"
+ "&gt;&#32;&gt;&#32;+}&#32;else&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;+/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/\r\n"
+ "&gt;&#32;&gt;&#32;+cmdq_pkt_assign(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));\r\n"
+ "&gt;&#32;&gt;&#32;+if&#32;(mask&#32;==&#32;GENMASK(31,&#32;0))\r\n"
+ "&gt;&#32;&gt;&#32;+cmdq_pkt_write_s_value(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);\r\n"
+ "&gt;&#32;&gt;&#32;+else\r\n"
+ "&gt;&#32;&gt;&#32;+cmdq_pkt_write_s_mask_value(cmdq_pkt,&#32;0,&#32;CMDQ_ADDR_LOW(offset),\r\n"
+ "&gt;&#32;&gt;&#32;+&#32;&#32;&#32;&#32;value,&#32;mask);\r\n"
+ "&gt;&#32;&gt;&#32;+}\r\n"
+ "&gt;&#32;&gt;&#32;+}\r\n"
+ "&gt;&#32;&gt;&#32;+#endif\r\n"
+ "&gt;&#32;&gt;&#32;+\r\n"
+ "&gt;&#32;&gt;&#32;&#32;void&#32;mtk_ddp_write(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;struct&#32;cmdq_client_reg&#32;*cmdq_reg,&#32;void&#32;__iomem&#32;*regs,\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;unsigned&#32;int&#32;offset)\r\n"
+ "&gt;&#32;&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)\r\n"
+ "&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)\r\n"
+ "&gt;&#32;&gt;&#32;-cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,\r\n"
+ "&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value);\r\n"
+ "&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;GENMASK(31,&#32;0));\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/\r\n"
+ "&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));\r\n"
+ "&gt;&#32;cmdq_pkt_write_s_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;else\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#endif\r\n"
+ "&gt;&#32;&gt;&#32;&#32;writel(value,&#32;regs&#32;+&#32;offset);\r\n"
+ "&gt;&#32;&gt;&#32;@@&#32;-85,8&#32;+109,7&#32;@@&#32;void&#32;mtk_ddp_write_relaxed(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,\r\n"
+ "&gt;&#32;&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)\r\n"
+ "&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)\r\n"
+ "&gt;&#32;&gt;&#32;-cmdq_pkt_write(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,\r\n"
+ "&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value);\r\n"
+ "&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;GENMASK(31,&#32;0));\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/\r\n"
+ "&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));\r\n"
+ "&gt;&#32;cmdq_pkt_write_s_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),&#32;value);\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;else\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#endif\r\n"
+ "&gt;&#32;&gt;&#32;&#32;writel_relaxed(value,&#32;regs&#32;+&#32;offset);\r\n"
+ "&gt;&#32;&gt;&#32;@@&#32;-98,8&#32;+121,7&#32;@@&#32;void&#32;mtk_ddp_write_mask(struct&#32;cmdq_pkt&#32;*cmdq_pkt,&#32;unsigned&#32;int&#32;value,\r\n"
+ "&gt;&#32;&gt;&#32;&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#if&#32;IS_REACHABLE(CONFIG_MTK_CMDQ)\r\n"
+ "&gt;&#32;&gt;&#32;&#32;if&#32;(cmdq_pkt)&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;-cmdq_pkt_write_mask(cmdq_pkt,&#32;cmdq_reg-&gt;subsys,\r\n"
+ "&gt;&#32;&gt;&#32;-&#32;&#32;&#32;&#32;cmdq_reg-&gt;offset&#32;+&#32;offset,&#32;value,&#32;mask);\r\n"
+ "&gt;&#32;&gt;&#32;+mtk_ddp_write_cmdq_pkt(cmdq_pkt,&#32;cmdq_reg,&#32;offset,&#32;value,&#32;mask);\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;/*&#32;only&#32;MMIO&#32;access,&#32;no&#32;need&#32;to&#32;check&#32;mminfro_offset&#32;*/\r\n"
+ "&gt;&#32;cmdq_pkt_assign(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_HIGH(cmdq_reg-&gt;pa_base));\r\n"
+ "&gt;&#32;cmdq_pkt_write_s_mask_value(cmdq_pkt,&#32;CMDQ_XXXREG_0,&#32;CMDQ_ADDR_LOW(offset),\r\n"
+ "&gt;&#32;&#32;&#32;&#32;&#32;value,&#32;mask);\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;CMDQ_XXXREG_0&#32;is&#32;defined&#32;in&#32;cmdq&#32;header&#32;file.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;Regards,\r\n"
+ "&gt;&#32;CK\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;}&#32;else&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;#endif\r\n"
+ "&gt;&#32;&gt;&#32;&#32;u32&#32;tmp&#32;=&#32;readl(regs&#32;+&#32;offset);\r\n"
+ "&gt;&#32;\r\n"
+ "\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************\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"
+ "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><!--}-->
 
-8d846739009185fa736ac872c0b1745e9dcbd3fd955e20091d00697e8db4e9aa
+3d3c9c7bacf0fea6708f5f860ca50fe47f511ac6e63a0e34eef2ec9cd791cab3

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.