Skip to content
Snippets Groups Projects
  1. Apr 06, 2022
    • Hans Verkuil's avatar
      cec: add optional adap_configured callback · 7ebdf1f2
      Hans Verkuil authored
      
      This new optional callback is called when the adapter is fully configured
      or fully unconfigured. Some drivers may have to take action when this
      happens.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      br-v5.19b
      7ebdf1f2
    • Hans Verkuil's avatar
      cec: add xfer_timeout_ms field · 63bfef28
      Hans Verkuil authored
      
      Allow drivers to change the transmit timeout value, i.e. after how
      long should a transmit be considered 'lost', i.e. the corresponding
      cec_transmit_done_ts was never called.
      
      Some CEC devices have their own timeout, and so this timeout value must be
      longer than that hardware timeout value. If it is shorter then the
      framework would consider the transmit lost, even though it is effectively
      still in progress at the hardware level.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      63bfef28
    • Hans Verkuil's avatar
      cec: use call_op and check for !unregistered · 2ecb34cc
      Hans Verkuil authored
      
      Use call_(void_)op consistently in the CEC core framework. Ditto
      for the cec pin ops. And check if !adap->devnode.unregistered before
      calling each op. This avoids calls to ops when the device has been
      unregistered and the underlying hardware may be gone.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      2ecb34cc
    • Hans Verkuil's avatar
      cec.h: add cec_msg_recv_is_rx/tx_result helpers · 9bc0efa4
      Hans Verkuil authored
      
      These two helper functions return true if the received message
      contains the result of a previous non-blocking transmit. Either
      the tx_status result (cec_msg_recv_is_tx_result) of the transmit,
      or the rx_status result (cec_msg_recv_is_rx_result) of the reply
      to the original transmit.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      9bc0efa4
    • Hans Verkuil's avatar
      cec: correctly pass on reply results · 09cfdf42
      Hans Verkuil authored
      
      The results of non-blocking transmits were not correctly communicated
      to userspace.
      
      Specifically:
      
      1) if a non-blocking transmit was canceled, then rx_status wasn't set to 0
         as it should.
      2) if the non-blocking transmit succeeded, but the corresponding reply
         never arrived (aborted or timed out), then tx_status wasn't set to 0
         as it should, and rx_status was hardcoded to ABORTED instead of the
         actual reason, such as TIMEOUT. In addition, adap->ops->received() was
         never called, so drivers that want to do message processing themselves
         would not be informed of the failed reply.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      09cfdf42
    • Hans Verkuil's avatar
      cec: abort if the current transmit was canceled · 38c1b596
      Hans Verkuil authored
      
      If a transmit-in-progress was canceled, then, once the transmit
      is done, mark it as aborted and refrain from retrying the transmit.
      
      To signal this situation the new transmit_in_progress_aborted field is
      set to true.
      
      The old implementation would just set adap->transmitting to NULL and
      set adap->transmit_in_progress to false, but on the hardware level
      the transmit was still ongoing. However, the framework would think
      the transmit was aborted, and if a new transmit was issued, then
      it could overwrite the HW buffer containing the old transmit with the
      new transmit, leading to garbled data on the CEC bus.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      38c1b596
    • Hans Verkuil's avatar
      cec: call enable_adap on s_log_addrs · fb8fe578
      Hans Verkuil authored
      
      Don't enable/disable the adapter if the first fh is opened or the
      last fh is closed, instead do this when the adapter is configured
      or unconfigured, and also when we enter Monitor All or Monitor Pin
      mode for the first time or we exit the Monitor All/Pin mode for the
      last time.
      
      However, if needs_hpd is true, then do this when the physical
      address is set or cleared: in that case the adapter typically is
      powered by the HPD, so it really is disabled when the HPD is low.
      This case (needs_hpd is true) was already handled in this way, so
      this wasn't changed.
      
      The problem with the old behavior was that if the HPD goes low when
      no fh is open, and a transmit was in progress, then the adapter would
      be disabled, typically stopping the transmit immediately which
      leaves a partial message on the bus, which isn't nice and can confuse
      some adapters.
      
      It makes much more sense to disable it only when the adapter is
      unconfigured and we're not monitoring the bus, since then you really
      won't be using it anymore.
      
      To keep track of this store a CEC activation count and call adap_enable
      only when it goes from 0 to 1 or back to 0.
      
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      fb8fe578
  2. Apr 05, 2022
  3. Apr 04, 2022
  4. Apr 03, 2022
    • Linus Torvalds's avatar
      Linux 5.18-rc1 · 31231092
      Linus Torvalds authored
      v5.18-rc1
      31231092
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 09bb8856
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - Rename the staging files to give them some meaning. Just
         stage1,stag2,etc, does not show what they are for
      
       - Check for NULL from allocation in bootconfig
      
       - Hold event mutex for dyn_event call in user events
      
       - Mark user events to broken (to work on the API)
      
       - Remove eBPF updates from user events
      
       - Remove user events from uapi header to keep it from being installed.
      
       - Move ftrace_graph_is_dead() into inline as it is called from hot
         paths and also convert it into a static branch.
      
      * tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Move user_events.h temporarily out of include/uapi
        ftrace: Make ftrace_graph_is_dead() a static branch
        tracing: Set user_events to BROKEN
        tracing/user_events: Remove eBPF interfaces
        tracing/user_events: Hold event_mutex during dyn_event_add
        proc: bootconfig: Add null pointer check
        tracing: Rename the staging files for trace_events
      09bb8856
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 34a53ff9
      Linus Torvalds authored
      Pull clk fix from Stephen Boyd:
       "A single revert to fix a boot regression seen when clk_put() started
        dropping rate range requests. It's best to keep various systems
        booting so we'll kick this out and try again next time"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        Revert "clk: Drop the rate range on clk_put()"
      34a53ff9
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b5656bc
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 fixes and updates:
      
         - Make the prctl() for enabling dynamic XSTATE components correct so
           it adds the newly requested feature to the permission bitmap
           instead of overwriting it. Add a selftest which validates that.
      
         - Unroll string MMIO for encrypted SEV guests as the hypervisor
           cannot emulate it.
      
         - Handle supervisor states correctly in the FPU/XSTATE code so it
           takes the feature set of the fpstate buffer into account. The
           feature sets can differ between host and guest buffers. Guest
           buffers do not contain supervisor states. So far this was not an
           issue, but with enabling PASID it needs to be handled in the buffer
           offset calculation and in the permission bitmaps.
      
         - Avoid a gazillion of repeated CPUID invocations in by caching the
           values early in the FPU/XSTATE code.
      
         - Enable CONFIG_WERROR in x86 defconfig.
      
         - Make the X86 defconfigs more useful by adapting them to Y2022
           reality"
      
      * tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu/xstate: Consolidate size calculations
        x86/fpu/xstate: Handle supervisor states in XSTATE permissions
        x86/fpu/xsave: Handle compacted offsets correctly with supervisor states
        x86/fpu: Cache xfeature flags from CPUID
        x86/fpu/xsave: Initialize offset/size cache early
        x86/fpu: Remove unused supervisor only offsets
        x86/fpu: Remove redundant XCOMP_BV initialization
        x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO
        x86/config: Make the x86 defconfigs a bit more usable
        x86/defconfig: Enable WERROR
        selftests/x86/amx: Update the ARCH_REQ_XCOMP_PERM test
        x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation
      8b5656bc
    • Linus Torvalds's avatar
      Merge tag 'core-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e235f419
      Linus Torvalds authored
      Pull RT signal fix from Thomas Gleixner:
       "Revert the RT related signal changes. They need to be reworked and
        generalized"
      
      * tag 'core-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "signal, x86: Delay calling signals in atomic on RT enabled kernels"
      e235f419
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.18-1' of git://git.infradead.org/users/hch/dma-mapping · 63d12cc3
      Linus Torvalds authored
      Pull more dma-mapping updates from Christoph Hellwig:
      
       - fix a regression in dma remap handling vs AMD memory encryption (me)
      
       - finally kill off the legacy PCI DMA API (Christophe JAILLET)
      
      * tag 'dma-mapping-5.18-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: move pgprot_decrypted out of dma_pgprot
        PCI/doc: cleanup references to the legacy PCI DMA API
        PCI: Remove the deprecated "pci-dma-compat.h" API
      63d12cc3
Loading