Skip to content
Snippets Groups Projects
  1. Jan 17, 2023
    • Tao Zhang's avatar
      coresight-tpdm: Add nodes for timestamp request · 0126528b
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Add nodes to configure the timestamp request based on input
      pattern match. Each TPDM that support DSB subunit has maximum of
      n(n<7) TPR registers to configure value for timestamp request
      based on input pattern match. Eight 32 bit registers providing
      DSB interface timestamp request  pattern match comparison. And
      each TPDM that support DSB subunit has maximum of m(m<7) TPMR
      registers to configure pattern mask for timestamp request. Eight
      32 bit registers providing DSB interface timestamp request
      pattern match mask generation. Add nodes to enable/disable
      pattern timestamp and set pattern timestamp type.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      0126528b
    • Tao Zhang's avatar
      coresight-tpdm: Add nodes to configure pattern match output · 39ee7df3
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Add nodes to configure trigger pattern and trigger pattern mask.
      Each DSB subunit TPDM has maximum of n(n<7) XPR registers to
      configure trigger pattern match output. Eight 32 bit registers
      providing DSB interface trigger output pattern match comparison.
      And each DSB subunit TPDM has maximum of m(m<7) XPMR registers to
      configure trigger pattern mask match output. Eight 32 bit
      registers providing DSB interface trigger output pattern match
      mask.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      39ee7df3
    • Tao Zhang's avatar
      coresight-tpdm: Add nodes for dsb element creation · d867b1f1
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Add the nodes to set value for DSB edge control and DSB edge
      control mask. Each DSB subunit TPDM has maximum of n(n<16) EDCR
      resgisters to configure edge control. DSB edge detection control
      00: Rising edge detection
      01: Falling edge detection
      10: Rising and falling edge detection (toggle detection)
      And each DSB subunit TPDM has maximum of m(m<8) ECDMR registers to
      configure mask. Eight 32 bit registers providing DSB interface
      edge detection mask control.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      d867b1f1
    • Tao Zhang's avatar
      coresight-tpdm: Add node to set dsb programming mode · 68150793
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Add node to set and show programming mode for TPDM DSB subunit.
      Once the DSB programming mode is set, it will be written to the
      register DSB_CR. Bit[10:9] of the DSB_CR register is used to set
      the DSB test mode.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      68150793
    • Tao Zhang's avatar
      coresight-tpdm: Add nodes to set trigger timestamp and type · 8785d525
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      The nodes are needed to set or show the trigger timestamp and
      trigger type. This change is to add these nodes to achieve these
      function.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      8785d525
    • Tao Zhang's avatar
      coresight-tpdm: Add reset node to TPDM node · 796976fe
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      TPDM device need a node to reset the configurations and status of
      it. So as to avoid the previous configurations affecting the
      current use, the configurations need to be reset first. And in
      some scenarios, it may be necessary to reset the TPDM
      configurations to complete the verification of certain function.
      This change provides a node to reset the configurations and
      disable the TPDM if it has been enabled.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      796976fe
    • Tao Zhang's avatar
      coresight-tpdm: Initialize DSB subunit configuration · abbdc185
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      DSB subunit need to be configured in enablement and disablement.
      A struct that specifics associated to dsb dataset is needed. It
      saves the configuration and parameters of the dsb datasets. This
      change is to add this struct and initialize the configuration of
      DSB subunit.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      abbdc185
    • Tao Zhang's avatar
      coresight-tpda: Add DSB dataset support · 664b7ded
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Read the DSB element size from the device tree. Set the register
      bit that controls the DSB element size of the corresponding port.
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      664b7ded
    • Tao Zhang's avatar
      dt-bindings: arm: Add support for DSB element · c1ca5ed4
      Tao Zhang authored and Zhang, Tao's avatar Zhang, Tao committed
      
      Add property "qcom,dsb-elem-size" to support DSB(Discrete Single
      Bit) element for TPDA. Specifies the DSB element size supported
      by each monitor connected to the aggregator on each port. Should
      be specified in pairs (port, dsb element size).
      
      Signed-off-by: default avatarTao Zhang <quic_taozha@quicinc.com>
      c1ca5ed4
  2. Jan 03, 2023
  3. Dec 30, 2022
  4. Dec 25, 2022
    • Linus Torvalds's avatar
      Linux 6.2-rc1 · 1b929c02
      Linus Torvalds authored
      1b929c02
    • Steven Rostedt (Google)'s avatar
      treewide: Convert del_timer*() to timer_shutdown*() · 292a089d
      Steven Rostedt (Google) authored
      Due to several bugs caused by timers being re-armed after they are
      shutdown and just before they are freed, a new state of timers was added
      called "shutdown".  After a timer is set to this state, then it can no
      longer be re-armed.
      
      The following script was run to find all the trivial locations where
      del_timer() or del_timer_sync() is called in the same function that the
      object holding the timer is freed.  It also ignores any locations where
      the timer->function is modified between the del_timer*() and the free(),
      as that is not considered a "trivial" case.
      
      This was created by using a coccinelle script and the following
      commands:
      
          $ cat timer.cocci
          @@
          expression ptr, slab;
          identifier timer, rfield;
          @@
          (
          -       del_timer(&ptr->timer);
          +       timer_shutdown(&ptr->timer);
          |
          -       del_timer_sync(&ptr->timer);
          +       timer_shutdown_sync(&ptr->timer);
          )
            ... when strict
                when != ptr->timer
          (
                  kfree_rcu(ptr, rfield);
          |
                  kmem_cache_free(slab, ptr);
          |
                  kfree(ptr);
          )
      
          $ spatch timer.cocci . > /tmp/t.patch
          $ patch -p1 < /tmp/t.patch
      
      Link: https://lore.kernel.org/lkml/20221123201306.823305113@linutronix.de/
      
      
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Acked-by: Pavel Machek <pavel@ucw.cz> [ LED ]
      Acked-by: Kalle Valo <kvalo@kernel.org> [ wireless ]
      Acked-by: Paolo Abeni <pabeni@redhat.com> [ networking ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      292a089d
  5. Dec 23, 2022
Loading