[PATCH v2 1/2] dt-bindings: mailbox: arm,mhuv3: Add bindings

kernel test robot lkp at intel.com
Wed Apr 3 19:01:17 PDT 2024


Hi Cristian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on soc/for-next]
[also build test WARNING on robh/for-next linus/master v6.9-rc2 next-20240403]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Cristian-Marussi/dt-bindings-mailbox-arm-mhuv3-Add-bindings/20240404-012010
base:   https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link:    https://lore.kernel.org/r/20240403171346.3173843-2-cristian.marussi%40arm.com
patch subject: [PATCH v2 1/2] dt-bindings: mailbox: arm,mhuv3: Add bindings
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240404/202404040918.E8nkWuIn-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404040918.E8nkWuIn-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/mailbox/arm,mhuv3.yaml:86:1: [error] syntax error: found character '\t' that cannot start any token (syntax)
--
>> Documentation/devicetree/bindings/mailbox/arm,mhuv3.yaml:86:1: found a tab character where an indentation space is expected
--
>> Documentation/devicetree/bindings/mailbox/arm,mhuv3.yaml: ignoring, error parsing file

vim +86 Documentation/devicetree/bindings/mailbox/arm,mhuv3.yaml

     8	
     9	maintainers:
    10	  - Sudeep Holla <sudeep.holla at arm.com>
    11	  - Cristian Marussi <cristian.marussi at arm.com>
    12	
    13	description: |
    14	  The Arm Message Handling Unit (MHU) Version 3 is a mailbox controller that
    15	  enables unidirectional communications with remote processors through various
    16	  possible transport protocols.
    17	  The controller can optionally support a varying number of extensions that, in
    18	  turn, enable different kinds of transport to be used for communication.
    19	  Number, type and characteristics of each supported extension can be discovered
    20	  dynamically at runtime.
    21	
    22	  Given the unidirectional nature of the controller, an MHUv3 mailbox controller
    23	  is composed of a MHU Sender (MHUS) containing a PostBox (PBX) block and a MHU
    24	  Receiver (MHUR) containing a MailBox (MBX) block, where
    25	
    26	   PBX is used to
    27	      - Configure the MHU
    28	      - Send Transfers to the Receiver
    29	      - Optionally receive acknowledgment of a Transfer from the Receiver
    30	
    31	   MBX is used to
    32	      - Configure the MHU
    33	      - Receive Transfers from the Sender
    34	      - Optionally acknowledge Transfers sent by the Sender
    35	
    36	  Both PBX and MBX need to be present and defined in the DT description if you
    37	  need to establish a bidirectional communication, since you will have to
    38	  acquire two distinct unidirectional channels, one for each block.
    39	
    40	  As a consequence both blocks needs to be represented separately and specified
    41	  as distinct DT nodes in order to properly describe their resources.
    42	
    43	  Note that, though, thanks to the runtime discoverability, there is no need to
    44	  identify the type of blocks with distinct compatibles.
    45	
    46	  Following are the MHUv3 possible extensions.
    47	
    48	  - Doorbell Extension (DBE): DBE defines a type of channel called a Doorbell
    49	    Channel (DBCH). DBCH enables a single bit Transfer to be sent from the
    50	    Sender to Receiver. The Transfer indicates that an event has occurred.
    51	    When DBE is implemented, the number of DBCHs that an implementation of the
    52	    MHU can support is between 1 and 128, numbered starting from 0 in ascending
    53	    order and discoverable at run-time.
    54	    Each DBCH contains 32 individual fields, referred to as flags, each of which
    55	    can be used independently. It is possible for the Sender to send multiple
    56	    Transfers at once using a single DBCH, so long as each Transfer uses
    57	    a different flag in the DBCH.
    58	    Optionally, data may be transmitted through an out-of-band shared memory
    59	    region, wherein the MHU Doorbell is used strictly as an interrupt generation
    60	    mechanism, but this is out of the scope of these bindings.
    61	
    62	  - FastChannel Extension (FCE): FCE defines a type of channel called a Fast
    63	    Channel (FCH). FCH is intended for lower overhead communication between
    64	    Sender and Receiver at the expense of determinism. An FCH allows the Sender
    65	    to update the channel value at any time, regardless of whether the previous
    66	    value has been seen by the Receiver. When the Receiver reads the channel's
    67	    content it gets the last value written to the channel.
    68	    FCH is considered lossy in nature, and means that the Sender has no way of
    69	    knowing if, or when, the Receiver will act on the Transfer.
    70	    FCHs are expected to behave as RAM which generates interrupts when writes
    71	    occur to the locations within the RAM.
    72	    When FCE is implemented, the number of FCHs that an implementation of the
    73	    MHU can support is between 1-1024, if the FastChannel word-size is 32-bits,
    74	    or between 1-512, when the FastChannel word-size is 64-bits.
    75	    FCHs are numbered from 0 in ascending order.
    76	    Note that the number of FCHs and the word-size are implementation defined,
    77	    not configurable but discoverable at run-time.
    78	    Optionally, data may be transmitted through an out-of-band shared memory
    79	    region, wherein the MHU FastChannel is used as an interrupt generation
    80	    mechanism which carries also a pointer to such out-of-band data, but this
    81	    is out of the scope of these bindings.
    82	
    83	  - FIFO Extension (FE): FE defines a Channel type called a FIFO Channel (FFCH).
    84	    FFCH allows a Sender to send
    85	       - Multiple Transfers to the Receiver without having to wait for the
  > 86		 previous Transfer to be acknowledged by the Receiver, as long as the
    87		 FIFO has room for the Transfer.
    88	       - Transfers which require the Receiver to provide acknowledgment.
    89	       - Transfers which have in-band payload.
    90	    In all cases, the data is guaranteed to be observed by the Receiver in the
    91	    same order which the Sender sent it.
    92	    When FE is implemented, the number of FFCHs that an implementation of the
    93	    MHU can support is between 1 and 64, numbered starting from 0 in ascending
    94	    order. The number of FFCHs, their depth (same for all implemented FFCHs) and
    95	    the access-granularity are implementation defined, not configurable but
    96	    discoverable at run-time.
    97	    Optionally, additional data may be transmitted through an out-of-band shared
    98	    memory region, wherein the MHU FIFO is used to transmit, in order, a small
    99	    part of the payload (like a header) and a reference to the shared memory
   100	    area holding the remaining, bigger, chunk of the payload, but this is out of
   101	    the scope of these bindings.
   102	
   103	properties:
   104	  compatible:
   105	    const: arm,mhuv3
   106	
   107	  reg:
   108	    maxItems: 1
   109	
   110	  interrupts:
   111	    minItems: 1
   112	    maxItems: 74
   113	
   114	  interrupt-names:
   115	    description: |
   116	      The MHUv3 controller generates a number of events some of which are used
   117	      to generate interrupts; as a consequence it can expose a varying number of
   118	      optional PBX/MBX interrupts, representing the events generated during the
   119	      operation of the various transport protocols associated with different
   120	      extensions. All interrupts of the MHU are level-sensitive.
   121	      Some of these optional interrupts are defined per-channel, where the
   122	      number of channels effectively available is implementation defined and
   123	      run-time discoverable.
   124	      In the following names are enumerated using patterns, with per-channel
   125	      interrupts implicitly capped at the maximum channels allowed by the
   126	      specification for each extension type.
   127	      For the sake of simplicity maxItems is anyway capped to a most plausible
   128	      number, assuming way less channels would be implemented than actually
   129	      possible.
   130	
   131	      The only mandatory interrupts on the MHU are:
   132	        - combined
   133	        - mbx-fch-xfer-<N> but only if mbx-fcgrp-xfer-<N> is not implemented.
   134	
   135	    minItems: 1
   136	    maxItems: 74
   137	    items:
   138	      oneOf:
   139	        - const: combined
   140	          description: PBX/MBX Combined interrupt
   141	        - const: combined-ffch
   142	          description: PBX/MBX FIFO Combined interrupt
   143	        - pattern: '^ffch-low-tide-[0-9]+$'
   144	          description: PBX/MBX FIFO Channel <N> Low Tide interrupt
   145	        - pattern: '^ffch-high-tide-[0-9]+$'
   146	          description: PBX/MBX FIFO Channel <N> High Tide interrupt
   147	        - pattern: '^ffch-flush-[0-9]+$'
   148	          description: PBX/MBX FIFO Channel <N> Flush interrupt
   149	        - pattern: '^mbx-dbch-xfer-[0-9]+$'
   150	          description: MBX Doorbell Channel <N> Transfer interrupt
   151	        - pattern: '^mbx-fch-xfer-[0-9]+$'
   152	          description: MBX FastChannel <N> Transfer interrupt
   153	        - pattern: '^mbx-fchgrp-xfer-[0-9]+$'
   154	          description: MBX FastChannel <N> Group Transfer interrupt
   155	        - pattern: '^mbx-ffch-xfer-[0-9]+$'
   156	          description: MBX FIFO Channel <N> Transfer interrupt
   157	        - pattern: '^pbx-dbch-xfer-ack-[0-9]+$'
   158	          description: PBX Doorbell Channel <N> Transfer Ack interrupt
   159	        - pattern: '^pbx-ffch-xfer-ack-[0-9]+$'
   160	          description: PBX FIFO Channel <N> Transfer Ack interrupt
   161	
   162	  '#mbox-cells':
   163	    description: |
   164	      The first argument in the consumers 'mboxes' property represents the
   165	      extension type, the second is for the channel number while the third
   166	      depends on extension type.
   167	
   168	      Extension type for DBE is 0 and the third parameter represents the
   169	      doorbell flag number to use.
   170	      Extension type for FCE is 1, third parameter unused.
   171	      Extension type for FE is 2, third parameter unused.
   172	
   173	      mboxes = <&mhu 0 0 5>; // DBE, Doorbell Channel Window 0, doorbell flag 5.
   174	      mboxes = <&mhu 0 1 7>; // DBE, Doorbell Channel Window 1, doorbell flag 7.
   175	      mboxes = <&mhu 1 0 0>; // FCE, FastChannel Window 0.
   176	      mboxes = <&mhu 1 3 0>; // FCE, FastChannel Window 3.
   177	      mboxes = <&mhu 2 1 0>; // FE, FIFO Channel Window 1.
   178	      mboxes = <&mhu 2 7 0>; // FE, FIFO Channel Window 7.
   179	    const: 3
   180	
   181	  clocks:
   182	    maxItems: 1
   183	
   184	required:
   185	  - compatible
   186	  - reg
   187	  - interrupts
   188	  - interrupt-names
   189	  - '#mbox-cells'
   190	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the linux-arm-kernel mailing list