1. 21 Nov, 2022 30 commits
  2. 15 Nov, 2022 2 commits
    • Mauro Carvalho Chehab's avatar
      Merge tag 'br-v6.2e' of git://linuxtv.org/hverkuil/media_tree into media_stage · a7bab6f8
      Mauro Carvalho Chehab authored
      Tag branch
      
      * tag 'br-v6.2e' of git://linuxtv.org/hverkuil/media_tree: (29 commits)
        media: davinci/vpbe: Fix a typo ("defualt_mode")
        media: sun6i-csi: Remove unnecessary print function dev_err()
        media: Documentation: Drop deprecated bytesused == 0
        media: platform: exynos4-is: fix return value check in fimc_md_probe()
        media: dvb-core: remove variable n, turn for-loop to while-loop
        media: vivid: fix compose size exceed boundary
        media: rkisp1: make const arrays ae_wnd_num and hist_wnd_num static
        media: dvb-core: Fix UAF due to refcount races at releasing
        media: rkvdec: Add required padding
        media: aspeed: Extend debug message
        media: aspeed: Support aspeed mode to reduce compressed data
        media: Documentation: aspeed-video: Add user documentation for the aspeed-video driver
        media: v4l2-ctrls: Reserve controls for ASPEED
        media: v4l: Add definition for the Aspeed JPEG format
        staging: media: tegra-video: fix device_node use after free
        staging: media: tegra-video: fix chan->mipi value on error
        media: cedrus: initialize controls a bit later
        media: cedrus: prefer untiled capture format
        media: cedrus: Remove cedrus_codec enum
        media: cedrus: set codec ops immediately
        ...
      a7bab6f8
    • Mauro Carvalho Chehab's avatar
      Merge tag 'tag-venus-for-v6.2' of git://linuxtv.org/svarbanov/media_tree into media_stage · 997149b8
      Mauro Carvalho Chehab authored
      Venus updates for v6.2
      
      * tag 'tag-venus-for-v6.2' of git://linuxtv.org/svarbanov/media_tree:
        venus: pm_helpers: Fix error check in vcodec_domains_get()
        venus: firmware: Correct assertion of reset bit on remote processor
        venus: firmware: Correct non-pix start and end addresses
        venus: firmware: Correct reset bit
        MAINTAINERS: Change email for Venus driver
        MAINTAINERS: Add Vikash as VENUS video driver co-maintainer
      997149b8
  3. 08 Nov, 2022 7 commits
    • Mauro Carvalho Chehab's avatar
      Merge git://linuxtv.org/sailus/media_tree into media_stage · 1e284ea9
      Mauro Carvalho Chehab authored
      * git://linuxtv.org/sailus/media_tree: (47 commits)
        media: i2c: ov4689: code cleanup
        media: ov9650: Drop platform data code path
        media: ov7670: Drop unused include
        media: ov2640: Drop legacy includes
        media: tc358746: add Toshiba TC358746 Parallel to CSI-2 bridge driver
        media: dt-bindings: add bindings for Toshiba TC358746
        phy: dphy: add support to calculate the timing based on hs_clk_rate
        phy: dphy: refactor get_default_config
        v4l: subdev: Warn if disabling streaming failed, return success
        dw9768: Enable low-power probe on ACPI
        media: i2c: imx290: Replace GAIN control with ANALOGUE_GAIN
        media: i2c: imx290: Add crop selection targets support
        media: i2c: imx290: Factor out format retrieval to separate function
        media: i2c: imx290: Move registers with fixed value to init array
        media: i2c: imx290: Create controls for fwnode properties
        media: i2c: imx290: Implement HBLANK and VBLANK controls
        media: i2c: imx290: Split control initialization to separate function
        media: i2c: imx290: Fix max gain value
        media: i2c: imx290: Add exposure time control
        media: i2c: imx290: Define more register macros
        ...
      1e284ea9
    • Mauro Carvalho Chehab's avatar
      Merge tag 'br-v6.2b' of git://linuxtv.org/hverkuil/media_tree into media_stage · dbc1fdcb
      Mauro Carvalho Chehab authored
      Tag branch
      
      * tag 'br-v6.2b' of git://linuxtv.org/hverkuil/media_tree: (24 commits)
        media: imx-jpeg: Lock on ioctl encoder/decoder stop cmd
        media: imx-jpeg: Support contiguous and non contiguous format
        media: imx-jpeg: Implement g_selection and s_selection
        mtk-jpegdec: add stop cmd interface for jpgdec
        media: mtk-jpegdec: refactor jpegdec func interface
        media: mtk-jpegdec: add output pic reorder interface
        media: mtk-jpegdec: add jpeg decode worker interface
        media: mtk-jpegdec: add jpegdec timeout func interface
        media: mtk-jpegdec: support jpegdec multi-hardware
        media: mtk-jpegdec: export jpeg decoder functions
        dt-bindings: mediatek: Add mediatek,mt8195-jpgdec compatible
        mtk-jpegenc: add stop cmd interface for jpgenc
        mtk-jpegenc: add output pic reorder interface
        mtk-jpegenc: add jpeg encode worker interface
        mtk-jpegenc: add jpegenc timeout func interface
        mtk-jpegenc: support jpegenc multi-hardware
        mtk-jpegenc: export jpeg encoder functions
        dt-bindings: mediatek: Add mediatek, mt8195-jpgenc compatible
        media: imx-jpeg: Disable useless interrupt to avoid kernel panic
        media: imx-jpeg: Don't clear stop state in handling dynamic resolution change
        ...
      dbc1fdcb
    • Dafna Hirschfeld's avatar
      media: vimc: Update device configuration in the documentation · e0eee57e
      Dafna Hirschfeld authored
      Current configuration in the document is outdated and doesn't work. Update
      it to match the configuration described in the following commit:
      
      commit 9b4a9b31 ("media: vimc: Enable set resolution at the scaler src pad")
      
      Fixed commit description:
      Shuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarDafna Hirschfeld <dafna@fastmail.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      e0eee57e
    • Vladimir Zapolskiy's avatar
      media: camss: Split power domain management · 46cc0317
      Vladimir Zapolskiy authored
      There are three cases of power domain management on supported platforms:
      1) CAMSS on MSM8916, where a single VFE power domain is operated outside
         of the camss device driver,
      2) CAMSS on MSM8996 and SDM630/SDM660, where two VFE power domains are
         managed separately by the camss device driver, the power domains are
         linked and unlinked on demand by their functions vfe_pm_domain_on()
         and vfe_pm_domain_off() respectively,
      3) CAMSS on SDM845 and SM8250 platforms, and there are two VFE power
         domains and their parent power domain TITAN_TOP, the latter one
         shall be turned on prior to turning on any of VFE power domains.
      
      Due to a previously missing link between TITAN_TOP and VFEx power domains
      in the latter case, which is now fixed by [1], it was decided always to
      turn on all found VFE power domains and TITAN_TOP power domain, even if
      just one particular VFE is needed to be enabled or none of VFE power
      domains are required, for instance the latter case is when vfe_lite is in
      use. This misusage becomes more incovenient and clumsy, if next generations
      are to be supported, for instance CAMSS on SM8450 has three VFE power
      domains.
      
      The change splits the power management support for platforms with TITAN_TOP
      parent power domain, and, since 'power-domain-names' property is not
      present in camss device tree nodes, the assumption is that the first
      N power domains from the 'power-domains' list correspond to VFE power
      domains, and, if the number of power domains is greater than number of
      non-lite VFEs, then the last power domain from the list is the TITAN_TOP
      power domain.
      Signed-off-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
      Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      46cc0317
    • Vladimir Zapolskiy's avatar
      media: camss: Collect information about a number of lite VFEs · be11096d
      Vladimir Zapolskiy authored
      VFE lite IPs are found on CAMSS with TITAN_TOP power domains, and in
      some aspects these types of VFEs are different, in particular there
      is no need to enable VFE power domains to operate over VFE lite IPs.
      Signed-off-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
      Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      be11096d
    • Vladimir Zapolskiy's avatar
      media: camss: Do not attach an already attached power domain on MSM8916 platform · 3d658980
      Vladimir Zapolskiy authored
      The change to dynamically allocated power domains neglected a case of
      CAMSS on MSM8916 platform, where a single VFE power domain is neither
      attached, linked or managed in runtime in any way explicitly.
      
      This is a special case and it shall be kept as is, because the power
      domain management is done outside of the driver, and it's very different
      in comparison to all other platforms supported by CAMSS.
      
      Fixes: 6b1814e2 ("media: camss: Allocate power domain resources dynamically")
      Signed-off-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
      Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      3d658980
    • Vladimir Zapolskiy's avatar
      media: camss: Clean up received buffers on failed start of streaming · c8f35823
      Vladimir Zapolskiy authored
      It is required to return the received buffers, if streaming can not be
      started. For instance media_pipeline_start() may fail with EPIPE, if
      a link validation between entities is not passed, and in such a case
      a user gets a kernel warning:
      
        WARNING: CPU: 1 PID: 520 at drivers/media/common/videobuf2/videobuf2-core.c:1592 vb2_start_streaming+0xec/0x160
        <snip>
        Call trace:
         vb2_start_streaming+0xec/0x160
         vb2_core_streamon+0x9c/0x1a0
         vb2_ioctl_streamon+0x68/0xbc
         v4l_streamon+0x30/0x3c
         __video_do_ioctl+0x184/0x3e0
         video_usercopy+0x37c/0x7b0
         video_ioctl2+0x24/0x40
         v4l2_ioctl+0x4c/0x70
      
      The fix is to correct the error path in video_start_streaming() of camss.
      
      Fixes: 0ac2586c ("media: camss: Add files which handle the video device nodes")
      Signed-off-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
      Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
      Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      c8f35823
  4. 06 Nov, 2022 1 commit