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

diff --git a/N1/2.bin b/N1/2.bin
new file mode 100644
index 0000000..7bd5c59
--- /dev/null
+++ b/N1/2.bin
@@ -0,0 +1,182 @@
+<html><body><p>
+<pre>
+On&#32;Thu,&#32;2024-12-12&#32;at&#32;08:20&#32;+0100,&#32;Krzysztof&#32;Kozlowski&#32;wrote:
+&gt;&#32;External&#32;email&#32;:&#32;Please&#32;do&#32;not&#32;click&#32;links&#32;or&#32;open&#32;attachments&#32;until
+&gt;&#32;you&#32;have&#32;verified&#32;the&#32;sender&#32;or&#32;the&#32;content.
+&gt;&#32;
+&gt;&#32;
+&gt;&#32;On&#32;12/12/2024&#32;04:05,&#32;Jason-JH&#32;Lin&#32;(&#26519;&#30591;&#31077;)&#32;wrote:
+&gt;&#32;&gt;&#32;Hi&#32;Krzysztof,
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;Thanks&#32;for&#32;the&#32;reviews.
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;On&#32;Wed,&#32;2024-12-11&#32;at&#32;10:37&#32;+0100,&#32;Krzysztof&#32;Kozlowski&#32;wrote:
+&gt;&#32;&gt;&#32;&gt;&#32;External&#32;email&#32;:&#32;Please&#32;do&#32;not&#32;click&#32;links&#32;or&#32;open&#32;attachments
+&gt;&#32;&gt;&#32;&gt;&#32;until
+&gt;&#32;&gt;&#32;&gt;&#32;you&#32;have&#32;verified&#32;the&#32;sender&#32;or&#32;the&#32;content.
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;&gt;&#32;On&#32;Wed,&#32;Dec&#32;11,&#32;2024&#32;at&#32;11:22:49AM&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;Add&#32;the&#32;Global&#32;Command&#32;Engine&#32;(GCE)&#32;header&#32;file&#32;to&#32;define&#32;the
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;GCE
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;thread&#32;priority,&#32;GCE&#32;subsys&#32;ID&#32;and&#32;GCE&#32;events&#32;for&#32;MT8196.
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;&gt;&#32;This&#32;we&#32;see&#32;from&#32;the&#32;diff.&#32;What&#32;we&#32;do&#32;not&#32;see&#32;is&#32;why&#32;priority&#32;is
+&gt;&#32;&gt;&#32;&gt;&#32;a
+&gt;&#32;&gt;&#32;&gt;&#32;binding.&#32;Looking&#32;briefly&#32;at&#32;existing&#32;code:&#32;it&#32;is&#32;not&#32;a&#32;binding,
+&gt;&#32;&gt;&#32;&gt;&#32;there
+&gt;&#32;&gt;&#32;&gt;&#32;is
+&gt;&#32;&gt;&#32;&gt;&#32;no&#32;driver&#32;user.
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;This&#32;priority&#32;value&#32;is&#32;used&#32;to&#32;configure&#32;the&#32;priority&#32;level&#32;for
+&gt;&#32;&gt;&#32;each
+&gt;&#32;&gt;&#32;GCE&#32;hardware&#32;thread,&#32;so&#32;it&#32;is&#32;a&#32;necessary&#32;hardware&#32;attribute.
+&gt;&#32;
+&gt;&#32;I&#32;did&#32;not&#32;say&#32;these&#32;are&#32;not&#32;&quot;hardware&quot;.&#32;I&#32;said&#32;these&#32;are&#32;not
+&gt;&#32;bindings.
+&gt;&#32;Bring&#32;arguments&#32;why&#32;these&#32;are&#32;bindings.
+&gt;&#32;
+
+Not&#32;only&#32;bringing&#32;arguments,&#32;we&#32;use&#32;it&#32;to&#32;configure&#32;each&#32;GCE&#32;thread&#39;s
+priority.
+
+Please&#32;forgive&#32;me&#32;to&#32;ask&#32;a&#32;trivial&#32;question.
+Do&#32;you&#32;mean&#32;if&#32;there&#32;is&#32;no&#32;driver&#32;using&#32;it&#32;directly,&#32;then&#32;it&#32;can&#32;not&#32;be
+a&#32;binding&#63;
+Or&#32;could&#32;you&#32;give&#32;me&#32;an&#32;example&#32;for&#32;what&#32;should&#32;be&#32;binding&#32;and&#32;what
+should&#32;not&#32;be&#32;binding&#63;
+
+
+Considering&#32;to&#32;these&#32;3&#32;points,&#32;I&#32;think&#32;GCE&#32;thread&#32;priority&#32;is&#32;suitable
+to&#32;be&#32;part&#32;of&#32;the&#32;Device&#32;Tree&#32;Binding:
+
+1.&#32;Describing&#32;Hardware&#32;Properties
+-&#32;The&#32;Device&#32;Tree&#32;is&#32;a&#32;data&#32;structure&#32;for&#32;describing&#32;hardware,&#32;and&#32;GCE
+thread&#32;priority,&#32;as&#32;part&#32;of&#32;the&#32;hardware,&#32;should&#32;be&#32;described&#32;in&#32;the
+Device&#32;Tree.
+
+2.&#32;Driver&#32;Usage
+-&#32;Device&#32;Tree&#32;data&#32;is&#32;used&#32;by&#32;drivers&#32;to&#32;initialize&#32;and&#32;configure
+hardware,&#32;and&#32;GCE&#32;thread&#32;priority&#32;is&#32;necessary&#32;configuration&#32;data&#32;for
+the&#32;driver.&#32;After&#32;parsing&#32;the&#32;mboxes&#32;args&#32;from&#32;DTS,&#32;CMDQ&#32;driver&#32;use&#32;it
+to&#32;configure&#32;GCE&#32;thread.
+
+3.&#32;Standardization
+-&#32;Device&#32;Tree&#32;bindings&#32;should&#32;be&#32;standardized,&#32;and&#32;GCE&#32;thread&#32;priority
+should&#32;have&#32;consistent&#32;meaning&#32;and&#32;usage&#32;across&#32;different&#32;hardware
+platforms.&#32;Looking&#32;into&#32;the&#32;latest&#32;header:&#32;mediatek,mt8188-gce.h,
+mediatek,mt6795-gce.h&#32;and&#32;mt8195-gce.h,&#32;they&#32;all&#32;have&#32;defined&#32;GCE
+thread&#32;priority.
+
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;It&#39;s&#32;hard&#32;to&#32;find&#32;where&#32;the&#32;priority&#32;is&#32;used&#32;in&#32;existing&#32;driver
+&gt;&#32;&gt;&#32;code
+&gt;&#32;&gt;&#32;because&#32;we&#32;parsed&#32;it&#32;from&#32;DTS.
+&gt;&#32;
+&gt;&#32;So&#32;not&#32;a&#32;binding.
+&gt;&#32;
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;It&#32;is&#32;used&#32;in&#32;all&#32;mediaTeks&#39;&#32;DTS&#32;using&#32;the&#32;GCE.
+&gt;&#32;&gt;&#32;For&#32;example,&#32;in&#32;mt8195.dts:
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;vdosys0:&#32;syscon@1c01a000&#32;{
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;compatible&#32;=&#32;&quot;mediatek,mt8195-vdosys0&quot;,&#32;&quot;mediatek,mt8195-
+&gt;&#32;&gt;&#32;mmsys&quot;,
+&gt;&#32;&gt;&#32;&quot;syscon&quot;;
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;reg&#32;=&#32;&lt;0&#32;0x1c01a000&#32;0&#32;0x1000&gt;;
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;mboxes&#32;=&#32;&lt;&amp;gce0&#32;0&#32;CMDQ_THR_PRIO_4&gt;;
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;#clock-cells&#32;=&#32;&lt;1&gt;;
+&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;mediatek,gce-client-reg&#32;=&#32;&lt;&amp;gce0&#32;SUBSYS_1c01XXXX&#32;0xa000
+&gt;&#32;&gt;&#32;0x1000&gt;;
+&gt;&#32;&gt;&#32;}
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;CMDQ&#32;driver(mtk-cmdq-mailbox.c)&#32;will&#32;get&#32;the&#32;args&#32;parsed&#32;from
+&gt;&#32;&gt;&#32;mboxes
+&gt;&#32;&gt;&#32;property&#32;in&#32;cmdq_xlate()&#32;and&#32;then&#32;it&#32;will&#32;store&#32;CMDQ_THR_PRIO_4&#32;to
+&gt;&#32;&gt;&#32;the
+&gt;&#32;&gt;&#32;specific&#32;thread&#32;structure.
+&gt;&#32;
+&gt;&#32;So&#32;not&#32;a&#32;binding.
+&gt;&#32;
+&gt;&#32;&gt;&#32;The&#32;user&#32;of&#32;CMDQ&#32;driver&#32;will&#32;send&#32;command&#32;to&#32;CMDQ&#32;driver&#32;by
+&gt;&#32;&gt;&#32;cmdq_mbox_send_data(),&#32;and&#32;this&#32;priority&#32;setting&#32;will&#32;be&#32;configured
+&gt;&#32;&gt;&#32;to
+&gt;&#32;&gt;&#32;GCE&#32;hardware&#32;thread.
+&gt;&#32;
+&gt;&#32;And&#32;other&#32;things&#32;there&#32;are&#32;the&#32;same,&#32;we&#32;do&#32;not&#32;talk&#32;only&#32;about&#32;this
+&gt;&#32;one
+&gt;&#32;thing.&#32;I&#32;asked&#32;last&#32;time&#32;to&#32;drop&#32;which&#32;is&#32;not&#32;a&#32;binding.
+&gt;&#32;
+&gt;&#32;
+
+I&#32;just&#32;reference&#32;all&#32;the&#32;previous&#32;mediatek,mtXXXX-gce.h&#32;to&#32;add&#32;the&#32;same
+binding.&#32;Except&#32;for&#32;the&#32;GPR&#32;part&#32;I&#32;added&#32;this&#32;time,&#32;I&#32;don&#39;t&#32;know&#32;what
+else&#32;should&#32;be&#32;dropped.
+
+&gt;&#32;...
+&gt;&#32;
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+/*
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*&#32;GCE&#32;General&#32;Purpose&#32;Register&#32;(GPR)&#32;support
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*&#32;Leave&#32;note&#32;for&#32;scenario&#32;usage&#32;here
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*/
+&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+/*&#32;GCE:&#32;write&#32;mask&#32;*/
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;&gt;&#32;That&#39;s&#32;a&#32;definite&#32;no-go.&#32;Register&#32;masks&#32;are&#32;not&#32;bindings.
+&gt;&#32;&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;I&#39;m&#32;sorry&#32;to&#32;the&#32;confusion.
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;These&#32;defines&#32;are&#32;the&#32;index&#32;of&#32;GCE&#32;General&#32;Purpose&#32;Register&#32;for
+&gt;&#32;&gt;&#32;generating&#32;instructions,&#32;they&#32;are&#32;not&#32;register&#32;masks.
+&gt;&#32;
+&gt;&#32;Index&#32;of&#32;register&#32;is&#32;also&#32;sounding&#32;like&#32;register.
+&gt;&#32;
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;The&#32;comment&#32;&quot;/*&#32;GCE:&#32;write&#32;mask&#32;*/&quot;&#32;is&#32;briefly&#32;describe&#32;that&#32;the
+&gt;&#32;&gt;&#32;usage
+&gt;&#32;&gt;&#32;of&#32;GCE_GPR_R0&#32;and&#32;GCE_GPR_R01&#32;is&#32;used&#32;to&#32;store&#32;the&#32;register&#32;mask
+&gt;&#32;&gt;&#32;when
+&gt;&#32;&gt;&#32;GCE&#32;executing&#32;the&#32;WRITE&#32;instruction.&#32;And&#32;it&#32;can&#32;also&#32;store&#32;the
+&gt;&#32;&gt;&#32;register
+&gt;&#32;&gt;&#32;mask&#32;of&#32;POLL&#32;and&#32;READ&#32;instruction.
+&gt;&#32;&gt;&#32;
+&gt;&#32;&gt;&#32;I&#32;will&#32;add&#32;more&#32;words&#32;to&#32;make&#32;this&#32;comment&#32;clearer,&#32;like&#32;this:
+&gt;&#32;&gt;&#32;/*GCE:&#32;store&#32;the&#32;mask&#32;of&#32;instruction&#32;*/
+&gt;&#32;
+&gt;&#32;Not&#32;sure,&#32;because&#32;I&#32;feel&#32;you&#32;just&#32;avoid&#32;doing&#32;what&#32;is&#32;right&#32;and&#32;keep
+&gt;&#32;pushing&#32;your&#32;own&#32;narrative.&#32;Where&#32;is&#32;it&#32;used&#32;in&#32;the&#32;driver&#63;
+&gt;&#32;
+&gt;&#32;I&#32;just&#32;looked&#32;for&#32;&quot;GCE_GPR_R00&quot;&#32;-&#32;no&#32;usage&#32;at&#32;all.&#32;So&#32;not&#32;a&#32;binding.
+&gt;&#32;
+
+Currently,&#32;GCE_GPR_R15&#32;is&#32;used&#32;for&#32;generating&#32;POLL&#32;instruction&#32;and&#32;it
+has&#32;been&#32;defined&#32;as&#32;a&#32;MACRO&#32;&#96;#define&#32;CMDQ_POLL_ADDR_GPR&#32;(15)&#96;
+in&#32;mtk-cmdq-helper.c.
+
+Others&#32;GPRs&#32;are&#32;not&#32;used&#32;currently&#32;and&#32;they&#32;can&#32;be&#32;define&#32;as&#32;MACRO&#32;in
+the&#32;same&#32;way&#32;of&#32;GCE_GPR_R15,&#32;so&#32;I&#32;can&#32;drop&#32;these&#32;GPR&#32;define&#32;in&#32;the&#32;next
+version.&#32;Perhaps&#32;the&#32;SoCs&#32;in&#32;the&#32;future&#32;has&#32;changed&#32;the&#32;rules&#32;of&#32;GPR
+index,&#32;we&#32;can&#32;add&#32;it&#32;back&#32;and&#32;get&#32;them&#32;from&#32;DTS.
+
+Regards,
+Jason-JH.Lin
+
+&gt;&#32;Best&#32;regards,
+&gt;&#32;Krzysztof
+
+</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 231f2ce..89dec9d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -28,7 +28,7 @@
   jassisinghbrar@gmail.com <jassisinghbrar@gmail.com>
   krzk+dt@kernel.org <krzk+dt@kernel.org>
  " AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "On Thu, 2024-12-12 at 08:20 +0100, Krzysztof Kozlowski wrote:\n"
  "> External email : Please do not click links or open attachments until\n"
@@ -195,5 +195,189 @@
  "\n"
  "> Best regards,\n"
  > Krzysztof
+ "\01:2\0"
+ "b\0"
+ "<html><body><p>\r\n"
+ "<pre>\r\n"
+ "On&#32;Thu,&#32;2024-12-12&#32;at&#32;08:20&#32;+0100,&#32;Krzysztof&#32;Kozlowski&#32;wrote:\r\n"
+ "&gt;&#32;External&#32;email&#32;:&#32;Please&#32;do&#32;not&#32;click&#32;links&#32;or&#32;open&#32;attachments&#32;until\r\n"
+ "&gt;&#32;you&#32;have&#32;verified&#32;the&#32;sender&#32;or&#32;the&#32;content.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;On&#32;12/12/2024&#32;04:05,&#32;Jason-JH&#32;Lin&#32;(&#26519;&#30591;&#31077;)&#32;wrote:\r\n"
+ "&gt;&#32;&gt;&#32;Hi&#32;Krzysztof,\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;Thanks&#32;for&#32;the&#32;reviews.\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;On&#32;Wed,&#32;2024-12-11&#32;at&#32;10:37&#32;+0100,&#32;Krzysztof&#32;Kozlowski&#32;wrote:\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;External&#32;email&#32;:&#32;Please&#32;do&#32;not&#32;click&#32;links&#32;or&#32;open&#32;attachments\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;until\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;you&#32;have&#32;verified&#32;the&#32;sender&#32;or&#32;the&#32;content.\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;On&#32;Wed,&#32;Dec&#32;11,&#32;2024&#32;at&#32;11:22:49AM&#32;+0800,&#32;Jason-JH.Lin&#32;wrote:\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;Add&#32;the&#32;Global&#32;Command&#32;Engine&#32;(GCE)&#32;header&#32;file&#32;to&#32;define&#32;the\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;GCE\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;thread&#32;priority,&#32;GCE&#32;subsys&#32;ID&#32;and&#32;GCE&#32;events&#32;for&#32;MT8196.\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;This&#32;we&#32;see&#32;from&#32;the&#32;diff.&#32;What&#32;we&#32;do&#32;not&#32;see&#32;is&#32;why&#32;priority&#32;is\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;a\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;binding.&#32;Looking&#32;briefly&#32;at&#32;existing&#32;code:&#32;it&#32;is&#32;not&#32;a&#32;binding,\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;there\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;is\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;no&#32;driver&#32;user.\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;This&#32;priority&#32;value&#32;is&#32;used&#32;to&#32;configure&#32;the&#32;priority&#32;level&#32;for\r\n"
+ "&gt;&#32;&gt;&#32;each\r\n"
+ "&gt;&#32;&gt;&#32;GCE&#32;hardware&#32;thread,&#32;so&#32;it&#32;is&#32;a&#32;necessary&#32;hardware&#32;attribute.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;I&#32;did&#32;not&#32;say&#32;these&#32;are&#32;not&#32;&quot;hardware&quot;.&#32;I&#32;said&#32;these&#32;are&#32;not\r\n"
+ "&gt;&#32;bindings.\r\n"
+ "&gt;&#32;Bring&#32;arguments&#32;why&#32;these&#32;are&#32;bindings.\r\n"
+ "&gt;&#32;\r\n"
+ "\r\n"
+ "Not&#32;only&#32;bringing&#32;arguments,&#32;we&#32;use&#32;it&#32;to&#32;configure&#32;each&#32;GCE&#32;thread&#39;s\r\n"
+ "priority.\r\n"
+ "\r\n"
+ "Please&#32;forgive&#32;me&#32;to&#32;ask&#32;a&#32;trivial&#32;question.\r\n"
+ "Do&#32;you&#32;mean&#32;if&#32;there&#32;is&#32;no&#32;driver&#32;using&#32;it&#32;directly,&#32;then&#32;it&#32;can&#32;not&#32;be\r\n"
+ "a&#32;binding&#63;\r\n"
+ "Or&#32;could&#32;you&#32;give&#32;me&#32;an&#32;example&#32;for&#32;what&#32;should&#32;be&#32;binding&#32;and&#32;what\r\n"
+ "should&#32;not&#32;be&#32;binding&#63;\r\n"
+ "\r\n"
+ "\r\n"
+ "Considering&#32;to&#32;these&#32;3&#32;points,&#32;I&#32;think&#32;GCE&#32;thread&#32;priority&#32;is&#32;suitable\r\n"
+ "to&#32;be&#32;part&#32;of&#32;the&#32;Device&#32;Tree&#32;Binding:\r\n"
+ "\r\n"
+ "1.&#32;Describing&#32;Hardware&#32;Properties\r\n"
+ "-&#32;The&#32;Device&#32;Tree&#32;is&#32;a&#32;data&#32;structure&#32;for&#32;describing&#32;hardware,&#32;and&#32;GCE\r\n"
+ "thread&#32;priority,&#32;as&#32;part&#32;of&#32;the&#32;hardware,&#32;should&#32;be&#32;described&#32;in&#32;the\r\n"
+ "Device&#32;Tree.\r\n"
+ "\r\n"
+ "2.&#32;Driver&#32;Usage\r\n"
+ "-&#32;Device&#32;Tree&#32;data&#32;is&#32;used&#32;by&#32;drivers&#32;to&#32;initialize&#32;and&#32;configure\r\n"
+ "hardware,&#32;and&#32;GCE&#32;thread&#32;priority&#32;is&#32;necessary&#32;configuration&#32;data&#32;for\r\n"
+ "the&#32;driver.&#32;After&#32;parsing&#32;the&#32;mboxes&#32;args&#32;from&#32;DTS,&#32;CMDQ&#32;driver&#32;use&#32;it\r\n"
+ "to&#32;configure&#32;GCE&#32;thread.\r\n"
+ "\r\n"
+ "3.&#32;Standardization\r\n"
+ "-&#32;Device&#32;Tree&#32;bindings&#32;should&#32;be&#32;standardized,&#32;and&#32;GCE&#32;thread&#32;priority\r\n"
+ "should&#32;have&#32;consistent&#32;meaning&#32;and&#32;usage&#32;across&#32;different&#32;hardware\r\n"
+ "platforms.&#32;Looking&#32;into&#32;the&#32;latest&#32;header:&#32;mediatek,mt8188-gce.h,\r\n"
+ "mediatek,mt6795-gce.h&#32;and&#32;mt8195-gce.h,&#32;they&#32;all&#32;have&#32;defined&#32;GCE\r\n"
+ "thread&#32;priority.\r\n"
+ "\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;It&#39;s&#32;hard&#32;to&#32;find&#32;where&#32;the&#32;priority&#32;is&#32;used&#32;in&#32;existing&#32;driver\r\n"
+ "&gt;&#32;&gt;&#32;code\r\n"
+ "&gt;&#32;&gt;&#32;because&#32;we&#32;parsed&#32;it&#32;from&#32;DTS.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;So&#32;not&#32;a&#32;binding.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;It&#32;is&#32;used&#32;in&#32;all&#32;mediaTeks&#39;&#32;DTS&#32;using&#32;the&#32;GCE.\r\n"
+ "&gt;&#32;&gt;&#32;For&#32;example,&#32;in&#32;mt8195.dts:\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;vdosys0:&#32;syscon@1c01a000&#32;{\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;compatible&#32;=&#32;&quot;mediatek,mt8195-vdosys0&quot;,&#32;&quot;mediatek,mt8195-\r\n"
+ "&gt;&#32;&gt;&#32;mmsys&quot;,\r\n"
+ "&gt;&#32;&gt;&#32;&quot;syscon&quot;;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;reg&#32;=&#32;&lt;0&#32;0x1c01a000&#32;0&#32;0x1000&gt;;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;mboxes&#32;=&#32;&lt;&amp;gce0&#32;0&#32;CMDQ_THR_PRIO_4&gt;;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;#clock-cells&#32;=&#32;&lt;1&gt;;\r\n"
+ "&gt;&#32;&gt;&#32;&#32;&#32;&#32;&#32;mediatek,gce-client-reg&#32;=&#32;&lt;&amp;gce0&#32;SUBSYS_1c01XXXX&#32;0xa000\r\n"
+ "&gt;&#32;&gt;&#32;0x1000&gt;;\r\n"
+ "&gt;&#32;&gt;&#32;}\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;CMDQ&#32;driver(mtk-cmdq-mailbox.c)&#32;will&#32;get&#32;the&#32;args&#32;parsed&#32;from\r\n"
+ "&gt;&#32;&gt;&#32;mboxes\r\n"
+ "&gt;&#32;&gt;&#32;property&#32;in&#32;cmdq_xlate()&#32;and&#32;then&#32;it&#32;will&#32;store&#32;CMDQ_THR_PRIO_4&#32;to\r\n"
+ "&gt;&#32;&gt;&#32;the\r\n"
+ "&gt;&#32;&gt;&#32;specific&#32;thread&#32;structure.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;So&#32;not&#32;a&#32;binding.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;The&#32;user&#32;of&#32;CMDQ&#32;driver&#32;will&#32;send&#32;command&#32;to&#32;CMDQ&#32;driver&#32;by\r\n"
+ "&gt;&#32;&gt;&#32;cmdq_mbox_send_data(),&#32;and&#32;this&#32;priority&#32;setting&#32;will&#32;be&#32;configured\r\n"
+ "&gt;&#32;&gt;&#32;to\r\n"
+ "&gt;&#32;&gt;&#32;GCE&#32;hardware&#32;thread.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;And&#32;other&#32;things&#32;there&#32;are&#32;the&#32;same,&#32;we&#32;do&#32;not&#32;talk&#32;only&#32;about&#32;this\r\n"
+ "&gt;&#32;one\r\n"
+ "&gt;&#32;thing.&#32;I&#32;asked&#32;last&#32;time&#32;to&#32;drop&#32;which&#32;is&#32;not&#32;a&#32;binding.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;\r\n"
+ "\r\n"
+ "I&#32;just&#32;reference&#32;all&#32;the&#32;previous&#32;mediatek,mtXXXX-gce.h&#32;to&#32;add&#32;the&#32;same\r\n"
+ "binding.&#32;Except&#32;for&#32;the&#32;GPR&#32;part&#32;I&#32;added&#32;this&#32;time,&#32;I&#32;don&#39;t&#32;know&#32;what\r\n"
+ "else&#32;should&#32;be&#32;dropped.\r\n"
+ "\r\n"
+ "&gt;&#32;...\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+/*\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*&#32;GCE&#32;General&#32;Purpose&#32;Register&#32;(GPR)&#32;support\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*&#32;Leave&#32;note&#32;for&#32;scenario&#32;usage&#32;here\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+&#32;*/\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;&gt;&#32;+/*&#32;GCE:&#32;write&#32;mask&#32;*/\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;That&#39;s&#32;a&#32;definite&#32;no-go.&#32;Register&#32;masks&#32;are&#32;not&#32;bindings.\r\n"
+ "&gt;&#32;&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;I&#39;m&#32;sorry&#32;to&#32;the&#32;confusion.\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;These&#32;defines&#32;are&#32;the&#32;index&#32;of&#32;GCE&#32;General&#32;Purpose&#32;Register&#32;for\r\n"
+ "&gt;&#32;&gt;&#32;generating&#32;instructions,&#32;they&#32;are&#32;not&#32;register&#32;masks.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;Index&#32;of&#32;register&#32;is&#32;also&#32;sounding&#32;like&#32;register.\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;The&#32;comment&#32;&quot;/*&#32;GCE:&#32;write&#32;mask&#32;*/&quot;&#32;is&#32;briefly&#32;describe&#32;that&#32;the\r\n"
+ "&gt;&#32;&gt;&#32;usage\r\n"
+ "&gt;&#32;&gt;&#32;of&#32;GCE_GPR_R0&#32;and&#32;GCE_GPR_R01&#32;is&#32;used&#32;to&#32;store&#32;the&#32;register&#32;mask\r\n"
+ "&gt;&#32;&gt;&#32;when\r\n"
+ "&gt;&#32;&gt;&#32;GCE&#32;executing&#32;the&#32;WRITE&#32;instruction.&#32;And&#32;it&#32;can&#32;also&#32;store&#32;the\r\n"
+ "&gt;&#32;&gt;&#32;register\r\n"
+ "&gt;&#32;&gt;&#32;mask&#32;of&#32;POLL&#32;and&#32;READ&#32;instruction.\r\n"
+ "&gt;&#32;&gt;&#32;\r\n"
+ "&gt;&#32;&gt;&#32;I&#32;will&#32;add&#32;more&#32;words&#32;to&#32;make&#32;this&#32;comment&#32;clearer,&#32;like&#32;this:\r\n"
+ "&gt;&#32;&gt;&#32;/*GCE:&#32;store&#32;the&#32;mask&#32;of&#32;instruction&#32;*/\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;Not&#32;sure,&#32;because&#32;I&#32;feel&#32;you&#32;just&#32;avoid&#32;doing&#32;what&#32;is&#32;right&#32;and&#32;keep\r\n"
+ "&gt;&#32;pushing&#32;your&#32;own&#32;narrative.&#32;Where&#32;is&#32;it&#32;used&#32;in&#32;the&#32;driver&#63;\r\n"
+ "&gt;&#32;\r\n"
+ "&gt;&#32;I&#32;just&#32;looked&#32;for&#32;&quot;GCE_GPR_R00&quot;&#32;-&#32;no&#32;usage&#32;at&#32;all.&#32;So&#32;not&#32;a&#32;binding.\r\n"
+ "&gt;&#32;\r\n"
+ "\r\n"
+ "Currently,&#32;GCE_GPR_R15&#32;is&#32;used&#32;for&#32;generating&#32;POLL&#32;instruction&#32;and&#32;it\r\n"
+ "has&#32;been&#32;defined&#32;as&#32;a&#32;MACRO&#32;&#96;#define&#32;CMDQ_POLL_ADDR_GPR&#32;(15)&#96;\r\n"
+ "in&#32;mtk-cmdq-helper.c.\r\n"
+ "\r\n"
+ "Others&#32;GPRs&#32;are&#32;not&#32;used&#32;currently&#32;and&#32;they&#32;can&#32;be&#32;define&#32;as&#32;MACRO&#32;in\r\n"
+ "the&#32;same&#32;way&#32;of&#32;GCE_GPR_R15,&#32;so&#32;I&#32;can&#32;drop&#32;these&#32;GPR&#32;define&#32;in&#32;the&#32;next\r\n"
+ "version.&#32;Perhaps&#32;the&#32;SoCs&#32;in&#32;the&#32;future&#32;has&#32;changed&#32;the&#32;rules&#32;of&#32;GPR\r\n"
+ "index,&#32;we&#32;can&#32;add&#32;it&#32;back&#32;and&#32;get&#32;them&#32;from&#32;DTS.\r\n"
+ "\r\n"
+ "Regards,\r\n"
+ "Jason-JH.Lin\r\n"
+ "\r\n"
+ "&gt;&#32;Best&#32;regards,\r\n"
+ "&gt;&#32;Krzysztof\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><!--}-->
 
-d42b3e91e75808a0cfc0a448597c21ba57a3fe459900408398503c868f2b85aa
+8894e750c9c99b0a6b1e4f114fc6175c2dbcd73f2799ce285cb6dbbf5a1d8e49

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.