Re: Question about implementation of __qbuf_dmabuf() in videobuf2-core.c
On 04/23/2014 02:18 AM, n179911 wrote: In __qbuf_dmabuf(), it check the length and size of the buffer being queued, like this: http://lxr.free-electrons.com/source/drivers/media/v4l2-core/videobuf2-core.c#L1158 My question is why the range check is liked this: 1158 if (planes[plane].length planes[plane].data_offset + 1159 q-plane_sizes[plane]) { It's a bug. It should be: if (planes[plane].length q-plane_sizes[plane]) { This has been fixed in our upstream code and will appear in 3.16. Regards, Hans . Isn't planes[plane].length + planes[plane].data_offset equals to q-plane_sizes[plane]? So the check should be? if (planes[plane].length q-plane_sizes[plane] - planes[plane].data_offset) Please tell me what am I missing? Thank you -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC PATCH 2/2 with seqcount v3] reservation: add suppport for read-only access using rcu
This adds 4 more functions to deal with rcu. reservation_object_get_fences_rcu() will obtain the list of shared and exclusive fences without obtaining the ww_mutex. reservation_object_wait_timeout_rcu() will wait on all fences of the reservation_object, without obtaining the ww_mutex. reservation_object_test_signaled_rcu() will test if all fences of the reservation_object are signaled without using the ww_mutex. reservation_object_get_excl() is added because touching the fence_excl member directly will trigger a sparse warning. Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com --- Using seqcount and fixing some lockdep bugs. Changes since v2: - Fix some crashes, remove some unneeded barriers when provided by seqcount writes - Fix code to work correctly with sparse's RCU annotations. - Create a global string for the seqcount lock to make lockdep happy. Can I get this version reviewed? If it looks correct I'll mail the full series because it's intertwined with the TTM conversion to use this code. See http://cgit.freedesktop.org/~mlankhorst/linux/log/?h=vmwgfx_wip --- diff --git a/drivers/base/dma-buf.c b/drivers/base/dma-buf.c index d89a98d2c37b..0df673f812eb 100644 --- a/drivers/base/dma-buf.c +++ b/drivers/base/dma-buf.c @@ -137,7 +137,7 @@ static unsigned int dma_buf_poll(struct file *file, poll_table *poll) struct reservation_object_list *fobj; struct fence *fence_excl; unsigned long events; - unsigned shared_count; + unsigned shared_count, seq; dmabuf = file-private_data; if (!dmabuf || !dmabuf-resv) @@ -151,14 +151,20 @@ static unsigned int dma_buf_poll(struct file *file, poll_table *poll) if (!events) return 0; - ww_mutex_lock(resv-lock, NULL); +retry: + seq = read_seqcount_begin(resv-seq); + rcu_read_lock(); - fobj = resv-fence; - if (!fobj) - goto out; - - shared_count = fobj-shared_count; - fence_excl = resv-fence_excl; + fobj = rcu_dereference(resv-fence); + if (fobj) + shared_count = fobj-shared_count; + else + shared_count = 0; + fence_excl = rcu_dereference(resv-fence_excl); + if (read_seqcount_retry(resv-seq, seq)) { + rcu_read_unlock(); + goto retry; + } if (fence_excl (!(events POLLOUT) || shared_count == 0)) { struct dma_buf_poll_cb_t *dcb = dmabuf-cb_excl; @@ -176,14 +182,20 @@ static unsigned int dma_buf_poll(struct file *file, poll_table *poll) spin_unlock_irq(dmabuf-poll.lock); if (events pevents) { - if (!fence_add_callback(fence_excl, dcb-cb, + if (!fence_get_rcu(fence_excl)) { + /* force a recheck */ + events = ~pevents; + dma_buf_poll_cb(NULL, dcb-cb); + } else if (!fence_add_callback(fence_excl, dcb-cb, dma_buf_poll_cb)) { events = ~pevents; + fence_put(fence_excl); } else { /* * No callback queued, wake up any additional * waiters. */ + fence_put(fence_excl); dma_buf_poll_cb(NULL, dcb-cb); } } @@ -205,13 +217,26 @@ static unsigned int dma_buf_poll(struct file *file, poll_table *poll) goto out; for (i = 0; i shared_count; ++i) { - struct fence *fence = fobj-shared[i]; + struct fence *fence = rcu_dereference(fobj-shared[i]); + if (!fence_get_rcu(fence)) { + /* +* fence refcount dropped to zero, this means +* that fobj has been freed +* +* call dma_buf_poll_cb and force a recheck! +*/ + events = ~POLLOUT; + dma_buf_poll_cb(NULL, dcb-cb); + break; + } if (!fence_add_callback(fence, dcb-cb, dma_buf_poll_cb)) { + fence_put(fence); events = ~POLLOUT; break; } + fence_put(fence); } /* No callback queued, wake up any additional waiters. */ @@ -220,7 +245,7 @@ static unsigned int dma_buf_poll(struct file *file, poll_table *poll) } out: -
[GIT PULL for v3.16] smiapp: small fixes and cleanups
Hi, This patchset contains small cleanups and fixes to the smiapp driver from the patchset smiapp and smiapp-pll quirk improvements, fixes. I'm sending just the driver patches now; the PLL patches are still pending. The PLL patches are dependent on the patches in this pull request. The following changes since commit 701b57ee3387b8e3749845b02310b5625fbd8da0: [media] vb2: Add videobuf2-dvb support (2014-04-16 18:59:29 -0300) are available in the git repository at: ssh://linuxtv.org/git/sailus/media_tree.git smiapp for you to fetch changes up to 1e350219b4c70ce7bfa0a8b26c58db38357168ac: smiapp: Use %u for printing u32 value (2014-04-22 20:42:16 +0300) Sakari Ailus (11): smiapp: Remove unused quirk register functionality smiapp: Rename SMIA_REG to SMIAPP_REG for consistency smiapp: Fix determining the need for 8-bit read access smiapp: Add a macro for constructing 8-bit quirk registers smiapp: Use I2C adapter ID and address in the sub-device name smiapp: Make PLL flags separate from regular quirk flags smiapp: Make PLL flags unsigned long smiapp: Make PLL (quirk) flags a function smiapp: Add register diversion quirk smiapp: Define macros for obtaining properties of register definitions smiapp: Use %u for printing u32 value drivers/media/i2c/smiapp-pll.h |2 +- drivers/media/i2c/smiapp/smiapp-core.c | 12 ++-- drivers/media/i2c/smiapp/smiapp-quirk.c| 55 +++-- drivers/media/i2c/smiapp/smiapp-quirk.h| 24 +--- drivers/media/i2c/smiapp/smiapp-reg-defs.h |8 +-- drivers/media/i2c/smiapp/smiapp-regs.c | 89 +++- drivers/media/i2c/smiapp/smiapp-regs.h | 19 +++--- 7 files changed, 105 insertions(+), 104 deletions(-) -- Kind regards, Sakari Ailus e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/3] [media] s5p-mfc: Core support to add v8 decoder
From: Kiran AVND avnd.ki...@samsung.com This patch adds variant data and core support for V8 decoder. This patch also adds the register definition file for new firmware version v8 for MFC. Signed-off-by: Kiran AVND avnd.ki...@samsung.com Signed-off-by: Pawel Osciak posc...@chromium.org Signed-off-by: Arun Kumar K arun...@samsung.com --- .../devicetree/bindings/media/s5p-mfc.txt |3 +- drivers/media/platform/s5p-mfc/regs-mfc-v8.h | 93 drivers/media/platform/s5p-mfc/s5p_mfc.c | 30 +++ drivers/media/platform/s5p-mfc/s5p_mfc_common.h|4 +- drivers/media/platform/s5p-mfc/s5p_mfc_dec.c |4 + drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c| 85 -- 6 files changed, 209 insertions(+), 10 deletions(-) create mode 100644 drivers/media/platform/s5p-mfc/regs-mfc-v8.h diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index f418168..3e3c5f3 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt @@ -10,7 +10,8 @@ Required properties: - compatible : value should be either one among the following (a) samsung,mfc-v5 for MFC v5 present in Exynos4 SoCs (b) samsung,mfc-v6 for MFC v6 present in Exynos5 SoCs - (b) samsung,mfc-v7 for MFC v7 present in Exynos5420 SoC + (c) samsung,mfc-v7 for MFC v7 present in Exynos5420 SoC + (d) samsung,mfc-v8 for MFC v8 present in Exynos5800 SoC - reg : Physical base address of the IP registers and length of memory mapped region. diff --git a/drivers/media/platform/s5p-mfc/regs-mfc-v8.h b/drivers/media/platform/s5p-mfc/regs-mfc-v8.h new file mode 100644 index 000..747907c --- /dev/null +++ b/drivers/media/platform/s5p-mfc/regs-mfc-v8.h @@ -0,0 +1,93 @@ +/* + * Register definition file for Samsung MFC V8.x Interface (FIMV) driver + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * http://www.samsung.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _REGS_MFC_V8_H +#define _REGS_MFC_V8_H + +#include regs-mfc-v7.h + +/* Additional registers for v8 */ +#define S5P_FIMV_D_MVC_NUM_VIEWS_V80xf104 +#define S5P_FIMV_D_FIRST_PLANE_DPB_SIZE_V8 0xf144 +#define S5P_FIMV_D_SECOND_PLANE_DPB_SIZE_V80xf148 +#define S5P_FIMV_D_MV_BUFFER_SIZE_V8 0xf150 + +#define S5P_FIMV_D_FIRST_PLANE_DPB_STRIDE_SIZE_V8 0xf138 +#define S5P_FIMV_D_SECOND_PLANE_DPB_STRIDE_SIZE_V8 0xf13c + +#define S5P_FIMV_D_FIRST_PLANE_DPB_V8 0xf160 +#define S5P_FIMV_D_SECOND_PLANE_DPB_V8 0xf260 +#define S5P_FIMV_D_MV_BUFFER_V80xf460 + +#define S5P_FIMV_D_NUM_MV_V8 0xf134 +#define S5P_FIMV_D_INIT_BUFFER_OPTIONS_V8 0xf154 + +#define S5P_FIMV_D_SCRATCH_BUFFER_ADDR_V8 0xf560 +#define S5P_FIMV_D_SCRATCH_BUFFER_SIZE_V8 0xf564 + +#define S5P_FIMV_D_CPB_BUFFER_ADDR_V8 0xf5b0 +#define S5P_FIMV_D_CPB_BUFFER_SIZE_V8 0xf5b4 +#define S5P_FIMV_D_AVAILABLE_DPB_FLAG_LOWER_V8 0xf5bc +#define S5P_FIMV_D_CPB_BUFFER_OFFSET_V80xf5c0 +#define S5P_FIMV_D_SLICE_IF_ENABLE_V8 0xf5c4 +#define S5P_FIMV_D_STREAM_DATA_SIZE_V8 0xf5d0 + +/* Display information register */ +#define S5P_FIMV_D_DISPLAY_FRAME_WIDTH_V8 0xf600 +#define S5P_FIMV_D_DISPLAY_FRAME_HEIGHT_V8 0xf604 + +/* Display status */ +#define S5P_FIMV_D_DISPLAY_STATUS_V8 0xf608 + +#define S5P_FIMV_D_DISPLAY_FIRST_PLANE_ADDR_V8 0xf60c +#define S5P_FIMV_D_DISPLAY_SECOND_PLANE_ADDR_V80xf610 + +#define S5P_FIMV_D_DISPLAY_FRAME_TYPE_V8 0xf618 +#define S5P_FIMV_D_DISPLAY_CROP_INFO1_V8 0xf61c +#define S5P_FIMV_D_DISPLAY_CROP_INFO2_V8 0xf620 +#define S5P_FIMV_D_DISPLAY_PICTURE_PROFILE_V8 0xf624 + +/* Decoded picture information register */ +#define S5P_FIMV_D_DECODED_STATUS_V8 0xf644 +#define S5P_FIMV_D_DECODED_FIRST_PLANE_ADDR_V8 0xf648 +#define S5P_FIMV_D_DECODED_SECOND_PLANE_ADDR_V80xf64c +#define S5P_FIMV_D_DECODED_THIRD_PLANE_ADDR_V8 0xf650 +#define S5P_FIMV_D_DECODED_FRAME_TYPE_V8 0xf654 +#define S5P_FIMV_D_DECODED_NAL_SIZE_V8 0xf664 + +/* Returned value register for specific setting */ +#define S5P_FIMV_D_RET_PICTURE_TAG_TOP_V8 0xf674 +#define S5P_FIMV_D_RET_PICTURE_TAG_BOT_V8 0xf678 +#define S5P_FIMV_D_MVC_VIEW_ID_V8 0xf6d8 + +/* SEI related information */ +#define S5P_FIMV_D_FRAME_PACK_SEI_AVAIL_V8 0xf6dc + +/* MFCv8 Context buffer sizes */ +#define MFC_CTX_BUF_SIZE_V8(30 * SZ_1K)/* 30KB */ +#define MFC_H264_DEC_CTX_BUF_SIZE_V8 (2 * SZ_1M) /* 2MB */ +#define MFC_OTHER_DEC_CTX_BUF_SIZE_V8 (20 * SZ_1K)/* 20KB */ + +/* Buffer size defines */
[PATCH 3/3] [media] s5p-mfc: Rename IS_MFCV7 macro
With the inclusion of MFCv8 which reuses the v7 code, the macro IS_MFCV7 is modified to IS_MFCV7_PLUS. Signed-off-by: Arun Kumar K arun...@samsung.com --- drivers/media/platform/s5p-mfc/s5p_mfc_common.h |2 +- drivers/media/platform/s5p-mfc/s5p_mfc_enc.c|2 +- drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c | 14 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h index f0e63f5..d64b680 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h @@ -703,7 +703,7 @@ void set_work_bit_irqsave(struct s5p_mfc_ctx *ctx); (dev-variant-port_num ? 1 : 0) : 0) : 0) #define IS_TWOPORT(dev)(dev-variant-port_num == 2 ? 1 : 0) #define IS_MFCV6_PLUS(dev) (dev-variant-version = 0x60 ? 1 : 0) -#define IS_MFCV7(dev) (dev-variant-version = 0x70 ? 1 : 0) +#define IS_MFCV7_PLUS(dev) (dev-variant-version = 0x70 ? 1 : 0) #define IS_MFCV8(dev) (dev-variant-version = 0x80 ? 1 : 0) #endif /* S5P_MFC_COMMON_H_ */ diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index f8c7053..a9a23e1 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -1045,7 +1045,7 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) return -EINVAL; } - if (!IS_MFCV7(dev) (fmt-fourcc == V4L2_PIX_FMT_VP8)) { + if (!IS_MFCV7_PLUS(dev) (fmt-fourcc == V4L2_PIX_FMT_VP8)) { mfc_err(VP8 is supported only in MFC v7\n); return -EINVAL; } diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c index 4324f2e..d0705b1 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c @@ -120,7 +120,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) (ctx-mv_count * ctx-mv_size); break; case S5P_MFC_CODEC_MPEG4_DEC: - if (IS_MFCV7(dev)) { + if (IS_MFCV7_PLUS(dev)) { ctx-scratch_buf_size = S5P_FIMV_SCRATCH_BUF_SIZE_MPEG4_DEC_V7( mb_width, @@ -373,7 +373,7 @@ static void s5p_mfc_enc_calc_src_size_v6(struct s5p_mfc_ctx *ctx) ctx-chroma_size = ALIGN((mb_width * mb_height) * 128, 256); /* MFCv7 needs pad bytes for Luma and Chroma */ - if (IS_MFCV7(ctx-dev)) { + if (IS_MFCV7_PLUS(ctx-dev)) { ctx-luma_size += MFC_LUMA_PAD_BYTES_V7; ctx-chroma_size += MFC_CHROMA_PAD_BYTES_V7; } @@ -1312,7 +1312,7 @@ static bool s5p_mfc_is_v6_new(struct s5p_mfc_dev *dev) unsigned long cur_fw, v6_new_fw; unsigned int y, m, d; - if (IS_MFCV7(dev)) + if (IS_MFCV7_PLUS(dev)) return false; y = bcd2bin((dev-ver 16) 0xFF) + 2000; @@ -1357,7 +1357,7 @@ static int s5p_mfc_init_decode_v6(struct s5p_mfc_ctx *ctx) WRITEL(ctx-display_delay, mfc_regs-d_display_delay); } - if (IS_MFCV7(dev) || s5p_mfc_is_v6_new(dev)) { + if (IS_MFCV7_PLUS(dev) || s5p_mfc_is_v6_new(dev)) { WRITEL(reg, mfc_regs-d_dec_options); reg = 0; } @@ -1372,7 +1372,7 @@ static int s5p_mfc_init_decode_v6(struct s5p_mfc_ctx *ctx) if (ctx-dst_fmt-fourcc == V4L2_PIX_FMT_NV12MT_16X16) reg |= (0x1 S5P_FIMV_D_OPT_TILE_MODE_SHIFT_V6); - if (IS_MFCV7(dev) || s5p_mfc_is_v6_new(dev)) + if (IS_MFCV7_PLUS(dev) || s5p_mfc_is_v6_new(dev)) WRITEL(reg, mfc_regs-d_init_buffer_options); else WRITEL(reg, mfc_regs-d_dec_options); @@ -1460,7 +1460,7 @@ static int s5p_mfc_init_encode_v6(struct s5p_mfc_ctx *ctx) } /* Set stride lengths for v7 above */ - if (IS_MFCV7(dev)) { + if (IS_MFCV7_PLUS(dev)) { WRITEL(ctx-img_width, mfc_regs-e_source_first_plane_stride); WRITEL(ctx-img_width, mfc_regs-e_source_second_plane_stride); } @@ -2202,7 +2202,7 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) R(e_h264_frame_packing_sei_info, S5P_FIMV_E_H264_FRAME_PACKING_SEI_INFO_V6); - if (!IS_MFCV7(dev)) + if (!IS_MFCV7_PLUS(dev)) goto done; /* Initialize registers used in MFC v7+ */ -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at
[PATCH 0/3] Add MFCv8 support
This patchset adds MFCv8 support to the s5p-mfc driver. MFCv8 has the same operation sequence as that of v6+, but there is some shuffling of the registers happened. So to re-use the exisiting code, register access uses context variables instead of macros. The patchset modifies opr_v6 file to use register variables and is tested on mfc v6, v7 and v8 based boards. The patchset is based on the following set of patches posted for MFC which are currently under review: [media] s5p-mfc: Add support for resolution change event v4l: Add resolution change event. [media] s5p-mfc: Don't allocate codec buffers on STREAMON. [media] s5p-mfc: Extract open/close MFC instance commands. [media] s5p-mfc: Fixes for decode REQBUFS. [media] s5p-mfc: Copy timestamps only when a frame is produced. [media] s5p-mfc: add init buffer cmd to MFCV6 [media] s5p-mfc: Don't try to resubmit VP8 bitstream buffer for decode. [media] s5p-mfc: Add a control for IVF format for VP8 encoder Arun Kumar K (1): [media] s5p-mfc: Rename IS_MFCV7 macro Kiran AVND (2): [media] s5p-mfc: Add variants to access mfc registers [media] s5p-mfc: Core support to add v8 decoder .../devicetree/bindings/media/s5p-mfc.txt |3 +- drivers/media/platform/s5p-mfc/regs-mfc-v8.h | 93 +++ drivers/media/platform/s5p-mfc/s5p_mfc.c | 31 + drivers/media/platform/s5p-mfc/s5p_mfc_common.h|7 +- drivers/media/platform/s5p-mfc/s5p_mfc_dec.c |4 + drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |2 +- drivers/media/platform/s5p-mfc/s5p_mfc_opr.c |6 + drivers/media/platform/s5p-mfc/s5p_mfc_opr.h | 254 +++ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c| 792 +--- drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.h|7 +- 10 files changed, 926 insertions(+), 273 deletions(-) create mode 100644 drivers/media/platform/s5p-mfc/regs-mfc-v8.h -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Documentation: Update cardlists
Two new devices were added, but the cardlists weren't updated. Signed-off-by: Mauro Carvalho Chehab m.che...@samsung.com --- Documentation/video4linux/CARDLIST.bttv | 1 + Documentation/video4linux/CARDLIST.em28xx | 1 + 2 files changed, 2 insertions(+) diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv index 2f6e93597ce0..b092c0a14df2 100644 --- a/Documentation/video4linux/CARDLIST.bttv +++ b/Documentation/video4linux/CARDLIST.bttv @@ -164,3 +164,4 @@ 163 - Bt848 Capture 14MHz 164 - CyberVision CV06 (SV) 165 - Kworld V-Stream Xpert TV PVR878 +166 - PCI-8604PW diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx index e085b1243b45..5a3ddcd340d3 100644 --- a/Documentation/video4linux/CARDLIST.em28xx +++ b/Documentation/video4linux/CARDLIST.em28xx @@ -92,3 +92,4 @@ 91 - SpeedLink Vicious And Devine Laplace webcam (em2765) [1ae7:9003,1ae7:9004] 92 - PCTV DVB-S2 Stick (461e) (em28178) 93 - KWorld USB ATSC TV Stick UB435-Q V3 (em2874)[1b80:e34c] + 94 - PCTV tripleStick (292e) (em28178) -- 1.9.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [GIT PULL 3.16] 2013:025f PCTV tripleStick (292e)
Em Wed, 23 Apr 2014 05:13:27 +0300 Antti Palosaari cr...@iki.fi escreveu: Hardware is Empia EM28178, Silicon Labs Si2168, Silicon Labs Si2157. There is on/off external LNA too. Two new drivers for Silicon Labs DTV chipset. Demod needs firmware, which could be found from driver CD version 6.4.8.984. /TVC 6.4.8/Driver/PCTV Empia/emOEM.sys dd if=emOEM.sys ibs=1 skip=1089416 count=2720 of=dvb-demod-si2168-01.fw md5sum dvb-demod-si2168-01.fw 87c317e0b75ad49c2f2cbf35572a8093 dvb-demod-si2168-01.fw Not sure if you did it already, but could you please put the above instructions on our Wiki page? It would be better to add it at the DVB get firmware script, but it seems that PCTV didn't put the driver yet on their website. Demod and tuner power-management is broken - chips are not put sleep at all. It is same for windows driver too. Fortunately device eats only around 200mA from USB when active. Will be fixed if and when windows drivers are fixed. Here is some internals from device. http://blog.palosaari.fi/2014/04/naked-hardware-15-pctv-triplestick-292e.html The following changes since commit a83b93a7480441a47856dc9104bea970e84cda87: [media] em28xx-dvb: fix PCTV 461e tuner I2C binding (2014-03-31 08:02:16 -0300) are available in the git repository at: git://linuxtv.org/anttip/media_tree.git pctv_292e for you to fetch changes up to 11c59dbb8a399558a2450a1cf64ff7b7e4157c45: em28xx: PCTV tripleStick (292e) LNA support (2014-04-23 04:56:54 +0300) Antti Palosaari (12): si2157: Silicon Labs Si2157 silicon tuner driver si2168: Silicon Labs Si2168 DVB-T/T2/C demod driver em28xx: add [2013:025f] PCTV tripleStick (292e) si2168: add support for DVB-T2 si2157: extend frequency range for DVB-C si2168: add support for DVB-C (annex A version) si2157: add copyright and license si2168: add copyright and license MAINTAINERS: add si2168 driver MAINTAINERS: add si2157 driver si2168: relax demod lock checks a little em28xx: PCTV tripleStick (292e) LNA support MAINTAINERS | 20 drivers/media/dvb-frontends/Kconfig | 7 ++ drivers/media/dvb-frontends/Makefile | 1 + drivers/media/dvb-frontends/si2168.c | 760 +++ drivers/media/dvb-frontends/si2168.h | 39 +++ drivers/media/dvb-frontends/si2168_priv.h | 46 + drivers/media/tuners/Kconfig | 7 ++ drivers/media/tuners/Makefile | 1 + drivers/media/tuners/si2157.c | 260 ++ drivers/media/tuners/si2157.h | 34 ++ drivers/media/tuners/si2157_priv.h| 37 +++ drivers/media/usb/em28xx/Kconfig | 2 + drivers/media/usb/em28xx/em28xx-cards.c | 25 + drivers/media/usb/em28xx/em28xx-dvb.c | 89 drivers/media/usb/em28xx/em28xx.h | 1 + 15 files changed, 1329 insertions(+) create mode 100644 drivers/media/dvb-frontends/si2168.c create mode 100644 drivers/media/dvb-frontends/si2168.h create mode 100644 drivers/media/dvb-frontends/si2168_priv.h create mode 100644 drivers/media/tuners/si2157.c create mode 100644 drivers/media/tuners/si2157.h create mode 100644 drivers/media/tuners/si2157_priv.h -- Regards, Mauro -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH ] fix mceusb endpoint type identification/handling
On Tue, Apr 22, 2014 at 05:49:03PM -0500, Matt DeVillier wrote: From: Matt DeVillier matt.devill...@gmail.com Change the I/O endpoint handling of the mceusb driver to respect the endpoint type reported by device (bulk/interrupt), rather than treating all endpoints as type interrupt, which breaks devices using bulk endpoints when connected to a xhci controller. Accordingly, change the function calls to initialize an endpoint's transfer pipe and urb handlers to use the correct function based on the endpoint type. Signed-off-by: Matt DeVillier matt.devill...@gmail.com --- This is a continuation of the work started in patch #21648 Patch compiled and tested against linux-media git master. Backported and tested against 3.14.1 stable as well. --- --- mceusb.c.orig2014-04-22 13:48:51.186259472 -0500 +++ mceusb.c2014-04-22 14:46:12.378347584 -0500 @@ -747,11 +747,17 @@ static void mce_request_packet(struct mc } /* outbound data */ -pipe = usb_sndintpipe(ir-usbdev, - ir-usb_ep_out-bEndpointAddress); -usb_fill_int_urb(async_urb, ir-usbdev, pipe, -async_buf, size, mce_async_callback, -ir, ir-usb_ep_out-bInterval); +if ((ir-usb_ep_out-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_INT) { +pipe = usb_sndintpipe(ir-usbdev, ir-usb_ep_out-bEndpointAddress); The lines are wrapped and tabs have been replaced with spaces; your mail client messed with your patch. See https://www.kernel.org/doc/Documentation/email-clients.txt +usb_fill_int_urb(async_urb, ir-usbdev, pipe, async_buf, + size, mce_async_callback, ir, ir-usb_ep_out-bInterval); +} else { +pipe = usb_sndbulkpipe(ir-usbdev, + ir-usb_ep_out-bEndpointAddress); +usb_fill_bulk_urb(async_urb, ir-usbdev, pipe, async_buf, + size, mce_async_callback, ir); +} memcpy(async_buf, data, size); } else if (urb_type == MCEUSB_RX) { @@ -1271,38 +1277,48 @@ static int mceusb_dev_probe(struct usb_i if ((ep_in == NULL) ((ep-bEndpointAddress USB_ENDPOINT_DIR_MASK) -== USB_DIR_IN) - (((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) -== USB_ENDPOINT_XFER_BULK) -|| ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) -== USB_ENDPOINT_XFER_INT))) { - -ep_in = ep; -ep_in-bmAttributes = USB_ENDPOINT_XFER_INT; -ep_in-bInterval = 1; -dev_dbg(intf-dev, acceptable inbound endpoint found); +== USB_DIR_IN)) { + +if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_BULK) { + +ep_in = ep; +mce_dbg(intf-dev, acceptable bulk inbound endpoint found\n); +} else if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_INT) { + +ep_in = ep; +ep_in-bInterval = 1; +mce_dbg(intf-dev, acceptable interrupt inbound endpoint found\n); +} } if ((ep_out == NULL) ((ep-bEndpointAddress USB_ENDPOINT_DIR_MASK) -== USB_DIR_OUT) - (((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) -== USB_ENDPOINT_XFER_BULK) -|| ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) -== USB_ENDPOINT_XFER_INT))) { - -ep_out = ep; -ep_out-bmAttributes = USB_ENDPOINT_XFER_INT; -ep_out-bInterval = 1; -dev_dbg(intf-dev, acceptable outbound endpoint found); +== USB_DIR_OUT)) { +if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_BULK) { +ep_out = ep; +mce_dbg(intf-dev, acceptable bulk outbound endpoint found\n); +} else if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_INT) { +ep_out = ep; +ep_out-bInterval = 1; +mce_dbg(intf-dev, acceptable interrupt outbound endpoint found\n); +} } } -if (ep_in == NULL) { +if (ep_in == NULL || ep_out == NULL) { Although I think this is correct this is unrelated to the rest of the patch. dev_dbg(intf-dev, inbound and/or endpoint not found); return -ENODEV; } -pipe = usb_rcvintpipe(dev, ep_in-bEndpointAddress); +if ((ep_in-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) +== USB_ENDPOINT_XFER_INT) { +pipe = usb_rcvintpipe(dev, ep_in-bEndpointAddress); +} else { +pipe = usb_rcvbulkpipe(dev, ep_in-bEndpointAddress); +} maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe)); ir =
[GIT PULL FOR v3.16] saa7134 fixes and vb2 conversion
Hi Mauro, I have attempted to split up the saa7134 vb2 conversion a bit more, but I don't see how I can reduce it further, except by disabling parts of the driver, then converting each part and enabling it again (i.e., disable dvb empress, convert just video/vbi to vb2, then empress, then dvb). But I think that's rather ugly since a bisect might end up with a partially crippled driver. It's the same as what I posted a week ago, except rebased to the latest master branch: http://www.spinics.net/lists/linux-media/msg75893.html If you still want more changes, then please see if you can at least merge the first 9 patches. Regards, Hans The following changes since commit ce9c22443e77594531be84ba8d523f4148ba09fe: [media] vb2: fix compiler warning (2014-04-23 10:13:57 -0300) are available in the git repository at: git://linuxtv.org/hverkuil/media_tree.git for-v3.16c for you to fetch changes up to e37d96689c22fd547ed4153ae8a67c26c54ae679: saa7134: add saa7134_userptr module option to enable USERPTR (2014-04-23 15:42:45 +0200) Hans Verkuil (11): saa7134: fix regression with tvtime saa7134: coding style cleanups. saa7134: drop abuse of low-level videobuf functions saa7134: swap ts_init_encoder and ts_reset_encoder saa7134: store VBI hlen/vlen globally saa7134: remove fmt from saa7134_buf saa7134: rename empress_tsq to empress_vbq saa7134: rename vbi/cap to vbi_vbq/cap_vbq saa7134: move saa7134_pgtable to saa7134_dmaqueue saa7134: convert to vb2 saa7134: add saa7134_userptr module option to enable USERPTR drivers/media/pci/saa7134/Kconfig | 4 +- drivers/media/pci/saa7134/saa7134-alsa.c| 106 +++-- drivers/media/pci/saa7134/saa7134-core.c| 130 drivers/media/pci/saa7134/saa7134-dvb.c | 50 --- drivers/media/pci/saa7134/saa7134-empress.c | 186 +-- drivers/media/pci/saa7134/saa7134-i2c.c | 7 - drivers/media/pci/saa7134/saa7134-reg.h | 7 - drivers/media/pci/saa7134/saa7134-ts.c | 191 +--- drivers/media/pci/saa7134/saa7134-tvaudio.c | 7 - drivers/media/pci/saa7134/saa7134-vbi.c | 175 ++ drivers/media/pci/saa7134/saa7134-video.c | 652 +--- drivers/media/pci/saa7134/saa7134.h | 107 +++-- 12 files changed, 732 insertions(+), 890 deletions(-) -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] v4l2-pci-skeleton: fix typo
Signed-off-by: Hans Verkuil hans.verk...@cisco.com diff --git a/Documentation/video4linux/v4l2-pci-skeleton.c b/Documentation/video4linux/v4l2-pci-skeleton.c index 53dd346..46904fe 100644 --- a/Documentation/video4linux/v4l2-pci-skeleton.c +++ b/Documentation/video4linux/v4l2-pci-skeleton.c @@ -174,7 +174,7 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, * You cannot use read() with FIELD_ALTERNATE since the field * information (TOP/BOTTOM) cannot be passed back to the user. */ - if (vb2_fileio_is_active(q)) + if (vb2_fileio_is_active(vq)) return -EINVAL; skel-field = V4L2_FIELD_TOP; } -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] fix mceusb endpoint type identification/handling
From: Matt DeVillier matt.devill...@gmail.com Change the I/O endpoint handling of the mceusb driver to respect the endpoint type reported by device (bulk/interrupt), rather than treating all endpoints as type interrupt, which breaks devices using bulk endpoints when connected to a xhci controller. Accordingly, change the function calls to initialize an endpoint's transfer pipe and urb handlers to use the correct function based on the endpoint type. Signed-off-by: Matt DeVillier matt.devill...@gmail.com Tested-by: Sean Young s...@mess.org --- This is a continuation of the work started in patch #21648 Patch compiled and tested against linux-media git master. Backported and tested against 3.14.1 stable as well. v2 corrects some formatting issues (both with the patch itself and MUA), and removes a small bug fix not relevant to the core patch functionality. --- diff -up mceusb.c{.orig,} --- mceusb.c.orig 2014-04-22 13:48:51.186259472 -0500 +++ mceusb.c2014-04-23 09:51:50.060107612 -0500 @@ -747,11 +747,19 @@ static void mce_request_packet(struct mc } /* outbound data */ - pipe = usb_sndintpipe(ir-usbdev, - ir-usb_ep_out-bEndpointAddress); - usb_fill_int_urb(async_urb, ir-usbdev, pipe, - async_buf, size, mce_async_callback, - ir, ir-usb_ep_out-bInterval); + if ((ir-usb_ep_out-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) + == USB_ENDPOINT_XFER_INT) { + pipe = usb_sndintpipe(ir-usbdev, +ir-usb_ep_out-bEndpointAddress); + usb_fill_int_urb(async_urb, ir-usbdev, pipe, async_buf, +size, mce_async_callback, ir, +ir-usb_ep_out-bInterval); + } else { + pipe = usb_sndbulkpipe(ir-usbdev, +ir-usb_ep_out-bEndpointAddress); + usb_fill_bulk_urb(async_urb, ir-usbdev, pipe, async_buf, +size, mce_async_callback, ir); + } memcpy(async_buf, data, size); } else if (urb_type == MCEUSB_RX) { @@ -1271,38 +1279,47 @@ static int mceusb_dev_probe(struct usb_i if ((ep_in == NULL) ((ep-bEndpointAddress USB_ENDPOINT_DIR_MASK) - == USB_DIR_IN) -(((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) - == USB_ENDPOINT_XFER_BULK) - || ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) - == USB_ENDPOINT_XFER_INT))) { - - ep_in = ep; - ep_in-bmAttributes = USB_ENDPOINT_XFER_INT; - ep_in-bInterval = 1; - dev_dbg(intf-dev, acceptable inbound endpoint found); + == USB_DIR_IN)) { + + if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) + == USB_ENDPOINT_XFER_BULK) { + + ep_in = ep; + mce_dbg(intf-dev, acceptable bulk inbound endpoint found\n); + } else if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) + == USB_ENDPOINT_XFER_INT) { + + ep_in = ep; + ep_in-bInterval = 1; + mce_dbg(intf-dev, acceptable interrupt inbound endpoint found\n); + } } if ((ep_out == NULL) ((ep-bEndpointAddress USB_ENDPOINT_DIR_MASK) - == USB_DIR_OUT) -(((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) - == USB_ENDPOINT_XFER_BULK) - || ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) - == USB_ENDPOINT_XFER_INT))) { - - ep_out = ep; - ep_out-bmAttributes = USB_ENDPOINT_XFER_INT; - ep_out-bInterval = 1; - dev_dbg(intf-dev, acceptable outbound endpoint found); + == USB_DIR_OUT)) { + if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) + == USB_ENDPOINT_XFER_BULK) { + ep_out = ep; + mce_dbg(intf-dev, acceptable bulk outbound endpoint found\n); + } else if ((ep-bmAttributes USB_ENDPOINT_XFERTYPE_MASK) + == USB_ENDPOINT_XFER_INT) { + ep_out = ep; + ep_out-bInterval = 1; + mce_dbg(intf-dev,
Re: [PATCH/RFC v3 5/5] media: Add registration helpers for V4L2 flash sub-devices
Hi Jacek, On Thu, Apr 17, 2014 at 10:26:44AM +0200, Jacek Anaszewski wrote: Hi Sakari, Thanks for the review. On 04/16/2014 08:21 PM, Sakari Ailus wrote: Hi Jacek, Thanks for the update! [...] +static inline enum led_brightness v4l2_flash_intensity_to_led_brightness( + struct led_ctrl *config, + u32 intensity) Fits on a single line. +{ + return intensity / config-step; Shouldn't you first decrement the minimum before the division? Brightness level 0 means that led is off. Let's consider following case: intensity - 15625 config-step - 15625 intensity / config-step = 1 (the lowest possible current level) In V4L2 controls the minimum is not off, and zero might not be a possible value since minimum isn't divisible by step. I wonder how to best take that into account. +} + +static inline u32 v4l2_flash_led_brightness_to_intensity( + struct led_ctrl *config, + enum led_brightness brightness) +{ + return brightness * config-step; And do the opposite here? .. + return -EINVAL; + return v4l2_call_flash_op(strobe_set, led_cdev, true); + case V4L2_CID_FLASH_STROBE_STOP: + return v4l2_call_flash_op(strobe_set, led_cdev, false); + case V4L2_CID_FLASH_TIMEOUT: + ret = v4l2_call_flash_op(timeout_set, led_cdev, c-val); + case V4L2_CID_FLASH_INTENSITY: + /* no conversion is needed */ + return v4l2_call_flash_op(flash_brightness_set, led_cdev, + c-val); + case V4L2_CID_FLASH_INDICATOR_INTENSITY: + /* no conversion is needed */ + return v4l2_call_flash_op(indicator_brightness_set, led_cdev, + c-val); + case V4L2_CID_FLASH_TORCH_INTENSITY: + if (ctrl-led_mode-val == V4L2_FLASH_LED_MODE_TORCH) { + torch_brightness = + v4l2_flash_intensity_to_led_brightness( + led_cdev-brightness_ctrl, + ctrl-torch_intensity-val); + v4l2_call_flash_op(brightness_set, led_cdev, + torch_brightness); I could be missing something but don't torch and indicator require similar handling? Why? Torch units need conversion whereas indicator units don't. Moreover they have different LED API. I missed it was already in micro-Amps. + } + return 0; + } + + return -EINVAL; +} + +static const struct v4l2_ctrl_ops v4l2_flash_ctrl_ops = { + .g_volatile_ctrl = v4l2_flash_g_volatile_ctrl, + .s_ctrl = v4l2_flash_s_ctrl, +}; + +static int v4l2_flash_init_controls(struct v4l2_flash *v4l2_flash) + +{ + struct led_classdev *led_cdev = v4l2_flash-led_cdev; + struct led_flash *flash = led_cdev-flash; + bool has_indicator = flash-indicator_brightness; + struct v4l2_ctrl *ctrl; + struct led_ctrl *ctrl_cfg; + unsigned int mask; + int ret, max, num_ctrls; + + num_ctrls = flash-has_flash_led ? 8 : 2; + if (flash-fault_flags) + ++num_ctrls; + if (has_indicator) + ++num_ctrls; + + v4l2_ctrl_handler_init(v4l2_flash-hdl, num_ctrls); + + mask = 1 V4L2_FLASH_LED_MODE_NONE | + 1 V4L2_FLASH_LED_MODE_TORCH; + if (flash-has_flash_led) + mask |= 1 V4L2_FLASH_LED_MODE_FLASH; + + /* Configure FLASH_LED_MODE ctrl */ + v4l2_flash-ctrl.led_mode = v4l2_ctrl_new_std_menu( + v4l2_flash-hdl, + v4l2_flash_ctrl_ops, V4L2_CID_FLASH_LED_MODE, + V4L2_FLASH_LED_MODE_TORCH, ~mask, + V4L2_FLASH_LED_MODE_NONE); + + /* Configure TORCH_INTENSITY ctrl */ + ctrl_cfg = led_cdev-brightness_ctrl; + ctrl = v4l2_ctrl_new_std(v4l2_flash-hdl, v4l2_flash_ctrl_ops, +V4L2_CID_FLASH_TORCH_INTENSITY, +ctrl_cfg-min, ctrl_cfg-max, +ctrl_cfg-step, ctrl_cfg-val); + if (ctrl) + ctrl-flags |= V4L2_CTRL_FLAG_VOLATILE; + v4l2_flash-ctrl.torch_intensity = ctrl; + + if (flash-has_flash_led) { + /* Configure FLASH_STROBE_SOURCE ctrl */ + mask = 1 V4L2_FLASH_STROBE_SOURCE_SOFTWARE; + + if (flash-has_external_strobe) { + mask |= 1 V4L2_FLASH_STROBE_SOURCE_EXTERNAL; + max = V4L2_FLASH_STROBE_SOURCE_EXTERNAL; + } else { + max = V4L2_FLASH_STROBE_SOURCE_SOFTWARE; + } + + v4l2_flash-ctrl.source = v4l2_ctrl_new_std_menu( + v4l2_flash-hdl, + v4l2_flash_ctrl_ops, +
Comparisons of images between Dazzle DVC100, EasyCap stk1160 and Hauppauge ImapctVCB-e in Linux.
Hi Guys, I would be interested in your views of the comparisons of these images. The still is the image of a duodenum taken during an endoscopy and recorded to a DVD player (via an s-video or composite cable). Although the endoscope is an HD endoscope, the DVD recorder isn't and the resulting video is 720x480i59.94. Here are further details of the video:- Format : MPEG Video v2 Format profile : Main@Main Format settings, BVOP : Yes, Matrix : Custom, GOP : M=3, N=15 Bit rate mode : Variable Bit rate : 4 566 Kbps Maximum bit rate : 10 000 Kbps Width : 720 pixels Height : 480 pixels Display aspect ratio : 4:3 Frame rate : 29.970 fps Standard : NTSC Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan order : Top Field First Compression mode : Lossy Bits/(Pixel*Frame) : 0.441 The video was played through Dragon Player and the video signal has exited through a mini-VGA port defined as 640x480 and passed through a VGA-S-Video converter to an s-video cable. The cable has in turn been connected in turn to a Dazzle DVC100, an EasyCap stk1160 and a Hauppauge ImapctVCB-e. Each setting (eg brightness and contrast etc) has as near as possible to mid-range and a screengrab taken. The results are shown here: Original: http://tinypic.com/usermedia.php?uo=fNkd6hpTbcMrgmD6gSf74Ih4l5k2TGxc Dazzle DVC100: http://tinypic.com/usermedia.php?uo=fNkd6hpTbcMaOf4QTsIefYh4l5k2TGxc ImpactVCB-e: http://tinypic.com/usermedia.php?uo=fNkd6hpTbcM7i72IqGujuIh4l5k2TGxc STK1160: http://tinypic.com/usermedia.php?uo=fNkd6hpTbcPO7kmQk/IS94h4l5k2TGxc I would be grateful for your views on the quality of the images. Is one of materially higher quality than the others, or can I adjust the settings to improve the quality of one of them more. It seems to me that the Hauppauge is marginally better than the others. What do you think? Can I improve the test? Regards Steve. -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH/RFC v3 3/5] leds: Add support for max77693 mfd flash cell
Hi Jacek, Thanks for the answers to my comments! :-) On Thu, Apr 17, 2014 at 11:23:06AM +0200, Jacek Anaszewski wrote: On 04/16/2014 07:26 PM, Sakari Ailus wrote: Hi Jacek, Thanks for the patch! Comments below. On Fri, Apr 11, 2014 at 04:56:54PM +0200, Jacek Anaszewski wrote: This patch adds led-flash support to Maxim max77693 chipset. A device can be exposed to user space through LED subsystem sysfs interface or through V4L2 subdevice when the support for V4L2 Flash sub-devices is enabled. Device supports up to two leds which can work in flash and torch mode. Leds can be triggered externally or by software. Signed-off-by: Andrzej Hajda a.ha...@samsung.com Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com Acked-by: Kyungmin Park kyungmin.p...@samsung.com Cc: Bryan Wu coolo...@gmail.com Cc: Richard Purdie rpur...@rpsys.net Cc: SangYoung Son hello@smasung.com Cc: Samuel Ortiz sa...@linux.intel.com Cc: Lee Jones lee.jo...@linaro.org --- drivers/leds/Kconfig | 10 + drivers/leds/Makefile|1 + drivers/leds/leds-max77693.c | 794 ++ drivers/mfd/max77693.c |2 +- include/linux/mfd/max77693.h | 38 ++ 5 files changed, 844 insertions(+), 1 deletion(-) create mode 100644 drivers/leds/leds-max77693.c diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig index 1e1c81f..b2152a6 100644 --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig @@ -462,6 +462,16 @@ config LEDS_TCA6507 LED driver chips accessed via the I2C bus. Driver support brightness control and hardware-assisted blinking. +config LEDS_MAX77693 + tristate LED support for MAX77693 Flash + depends on LEDS_CLASS_FLASH + depends on MFD_MAX77693 + depends on OF + help + This option enables support for the flash part of the MAX77693 + multifunction device. It has build in control for two leds in flash + and torch mode. + config LEDS_MAX8997 tristate LED support for MAX8997 PMIC depends on LEDS_CLASS MFD_MAX8997 diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile index 8861b86..64f6234 100644 --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile @@ -52,6 +52,7 @@ obj-$(CONFIG_LEDS_MC13783)+= leds-mc13783.o obj-$(CONFIG_LEDS_NS2)+= leds-ns2.o obj-$(CONFIG_LEDS_NETXBIG)+= leds-netxbig.o obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o +obj-$(CONFIG_LEDS_MAX77693)+= leds-max77693.o obj-$(CONFIG_LEDS_MAX8997)+= leds-max8997.o obj-$(CONFIG_LEDS_LM355x) += leds-lm355x.o obj-$(CONFIG_LEDS_BLINKM) += leds-blinkm.o diff --git a/drivers/leds/leds-max77693.c b/drivers/leds/leds-max77693.c new file mode 100644 index 000..979736c --- /dev/null +++ b/drivers/leds/leds-max77693.c @@ -0,0 +1,794 @@ +/* + * Copyright (C) 2014, Samsung Electronics Co., Ltd. + * + * Authors: Andrzej Hajda a.ha...@samsung.com + * Jacek Anaszewski j.anaszew...@samsung.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + */ + +#include asm/div64.h +#include linux/leds_flash.h +#include linux/module.h +#include linux/mutex.h +#include linux/platform_device.h +#include linux/slab.h +#include media/v4l2-flash.h I guess this should be last in the list. +#include linux/workqueue.h +#include linux/mfd/max77693.h +#include linux/mfd/max77693-private.h + +#define MAX77693_LED_NAME max77693-flash + +#define MAX77693_TORCH_IOUT_BITS 4 + +#define MAX77693_TORCH_NO_TIMER0x40 +#define MAX77693_FLASH_TIMER_LEVEL 0x80 + +#define MAX77693_FLASH_EN_OFF 0 +#define MAX77693_FLASH_EN_FLASH1 +#define MAX77693_FLASH_EN_TORCH2 +#define MAX77693_FLASH_EN_ON 3 + +#define MAX77693_FLASH_EN1_SHIFT 6 +#define MAX77693_FLASH_EN2_SHIFT 4 +#define MAX77693_TORCH_EN1_SHIFT 2 +#define MAX77693_TORCH_EN2_SHIFT 0 + +#define MAX77693_FLASH_LOW_BATTERY_EN 0x80 + +#define MAX77693_FLASH_BOOST_FIXED 0x04 +#define MAX77693_FLASH_BOOST_LEDNUM_2 0x80 + +#define MAX77693_FLASH_TIMEOUT_MIN 62500 +#define MAX77693_FLASH_TIMEOUT_MAX 100 +#define MAX77693_FLASH_TIMEOUT_STEP62500 + +#define MAX77693_TORCH_TIMEOUT_MIN 262000 +#define MAX77693_TORCH_TIMEOUT_MAX 15728000 + +#define MAX77693_FLASH_IOUT_MIN15625 +#define MAX77693_FLASH_IOUT_MAX_1LED 100 +#define MAX77693_FLASH_IOUT_MAX_2LEDS 625000 +#define MAX77693_FLASH_IOUT_STEP 15625 + +#define MAX77693_TORCH_IOUT_MIN15625 +#define MAX77693_TORCH_IOUT_MAX25 +#define MAX77693_TORCH_IOUT_STEP 15625 + +#define MAX77693_FLASH_VSYS_MIN2400 +#define
Re: [GIT PULL 3.16] 2013:025f PCTV tripleStick (292e)
On 23.04.2014 16:11, Mauro Carvalho Chehab wrote: Em Wed, 23 Apr 2014 05:13:27 +0300 Antti Palosaari cr...@iki.fi escreveu: Hardware is Empia EM28178, Silicon Labs Si2168, Silicon Labs Si2157. There is on/off external LNA too. Two new drivers for Silicon Labs DTV chipset. Demod needs firmware, which could be found from driver CD version 6.4.8.984. /TVC 6.4.8/Driver/PCTV Empia/emOEM.sys dd if=emOEM.sys ibs=1 skip=1089416 count=2720 of=dvb-demod-si2168-01.fw md5sum dvb-demod-si2168-01.fw 87c317e0b75ad49c2f2cbf35572a8093 dvb-demod-si2168-01.fw Not sure if you did it already, but could you please put the above instructions on our Wiki page? Will do. It would be better to add it at the DVB get firmware script, but it seems that PCTV didn't put the driver yet on their website. There is driver updates , but not that as it is very new device and no updates available. I will add it after driver is available online. regards Antti -- http://palosaari.fi/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] v4l: subdev: Move [gs]_std operation to video ops
Hi Laurent, Thanks for the patch. On Tue, Mar 11, 2014 at 3:44 PM, Laurent Pinchart laurent.pinch...@ideasonboard.com wrote: The g_std and s_std operations are video-related, move them to the video ops where they belong. Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com --- [snip] drivers/media/i2c/tvp514x.c | 2 +- drivers/media/platform/davinci/vpfe_capture.c | 2 +- drivers/media/platform/davinci/vpif_capture.c | 2 +- drivers/staging/media/davinci_vpfe/vpfe_video.c | 2 +- include/media/v4l2-subdev.h | 6 +++--- }; For the above: Acked-by: Lad, Prabhakar prabhakar.cse...@gmail.com Thanks, --Prabhakar Lad -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[GIT PULL for v3.16] Sub-device and Media device owner change, small fixes
Hi Mauro, This pull request contains ownership and module use count changes for the media device and V4L2 sub-devices, a missing check for the user space arguments in [gs]_frame_interval and a few comment improvements. Please pull. The following changes since commit 701b57ee3387b8e3749845b02310b5625fbd8da0: [media] vb2: Add videobuf2-dvb support (2014-04-16 18:59:29 -0300) are available in the git repository at: ssh://linuxtv.org/git/sailus/media_tree.git upstream for you to fetch changes up to 6544c39041d2e88c895110796c7db4cdb1f5d8e2: v4l: Remove documentation for nonexistend input field in v4l2_buffer (2014-04-23 22:14:34 +0300) Sakari Ailus (5): v4l: Check pad arguments for [gs]_frame_interval media: Use a better owner for the media device v4l: Only get module if it's different than the driver for v4l2_dev v4l: V4L2_MBUS_FRAME_DESC_FL_BLOB is about 1D DMA v4l: Remove documentation for nonexistend input field in v4l2_buffer drivers/media/media-device.c |7 --- drivers/media/media-devnode.c |5 +++-- drivers/media/v4l2-core/v4l2-device.c | 18 +++--- drivers/media/v4l2-core/v4l2-subdev.c | 16 ++-- include/media/media-device.h |4 +++- include/media/media-devnode.h |3 ++- include/media/v4l2-subdev.h | 10 +++--- include/uapi/linux/videodev2.h|1 - 8 files changed, 48 insertions(+), 16 deletions(-) -- Kind regards, Sakari Ailus e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/3] smiapp: Print the index of the format descriptor
This makes constructing quirks easier. Signed-off-by: Sakari Ailus sakari.ai...@linux.intel.com --- drivers/media/i2c/smiapp/smiapp-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index 3af8df8..da4422e 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -741,8 +741,8 @@ static int smiapp_get_mbus_formats(struct smiapp_sensor *sensor) if (rval) return rval; - dev_dbg(client-dev, bpp %d, compressed %d\n, - fmt 8, (u8)fmt); + dev_dbg(client-dev, %u: bpp %u, compressed %u\n, + i, fmt 8, (u8)fmt); for (j = 0; j ARRAY_SIZE(smiapp_csi_data_formats); j++) { const struct smiapp_csi_data_format *f = -- 1.8.3.2 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 0/3] Smiapp quirk call order and best scaling ratio fixes
Hi, The most important patch is the third one: wrong scaling ratio was selected in many (or most?) cases due to the wrong signedness of the variable. The other two have less effect on the functionality. -- Kind regards, Sakari -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 3/3] smiapp: Scaling goodness is signed
The best value was unsigned however, leading to signed-to-unsigned comparison and wrong results. Possibly only on a newer GCC. Fix this by making the best value signed as well. Signed-off-by: Sakari Ailus sakari.ai...@linux.intel.com --- drivers/media/i2c/smiapp/smiapp-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index 0a74e14..db3d5a6 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -1766,7 +1766,7 @@ static void smiapp_set_compose_binner(struct v4l2_subdev *subdev, struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); unsigned int i; unsigned int binh = 1, binv = 1; - unsigned int best = scaling_goodness( + int best = scaling_goodness( subdev, crops[SMIAPP_PAD_SINK]-width, sel-r.width, crops[SMIAPP_PAD_SINK]-height, sel-r.height, sel-flags); -- 1.8.3.2 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/3] smiapp: Call limits quirk immediately after retrieving the limits
Some of the limits are used before the limits quirk is called. Move the call immediately after obtaining the limits. Signed-off-by: Sakari Ailus sakari.ai...@linux.intel.com --- drivers/media/i2c/smiapp/smiapp-core.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index da4422e..0a74e14 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -2423,6 +2423,12 @@ static int smiapp_registered(struct v4l2_subdev *subdev) sensor-hvflip_inv_mask = SMIAPP_IMAGE_ORIENTATION_HFLIP | SMIAPP_IMAGE_ORIENTATION_VFLIP; + rval = smiapp_call_quirk(sensor, limits); + if (rval) { + dev_err(client-dev, limits quirks failed\n); + goto out_power_off; + } + rval = smiapp_get_mbus_formats(sensor); if (rval) { rval = -ENODEV; @@ -2483,12 +2489,6 @@ static int smiapp_registered(struct v4l2_subdev *subdev) } } - rval = smiapp_call_quirk(sensor, limits); - if (rval) { - dev_err(client-dev, limits quirks failed\n); - goto out_nvm_release; - } - /* We consider this as profile 0 sensor if any of these are zero. */ if (!sensor-limits[SMIAPP_LIMIT_MIN_OP_SYS_CLK_DIV] || !sensor-limits[SMIAPP_LIMIT_MAX_OP_SYS_CLK_DIV] || -- 1.8.3.2 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Terratec Cinergy T XS Firmware (Kernel 3.14.1)
Hi, (Please keep me in CC as I'm currently not subscribed to this Mailinglist) I happened to inherit one of those DVB-T Sticks ID 0ccd:0043 TerraTec Electronic GmbH Cinergy T XS and of course it isn't working as exspected. So far I extracted the firmware the tuner_xc2028 module was telling me (xc3028-v27.fw) and the module loaded. But no dvb device nodes where created. I tried connecting directly to it using xawtv and that gave me a load of Incorrect readback of firmware version. messages. Then I tried loading the module with debug=1 and now I see: Device is Xceive 34584 version 8.7, firmware version 1.8 So I guess the driver is trying to use the wrong firmware file. I extracted some file named merlinC.rom from the Terratec Windows Drivers that I suspect to contain the firmware. Now I need some help how to verify that and create a usable fw File for the driver. Greetings Daniel -- Daniel Exner Public-Key: https://www.dragonslave.de/pub_key.asc signature.asc Description: OpenPGP digital signature
Re: Terratec Cinergy T XS Firmware (Kernel 3.14.1)
On Wed, Apr 23, 2014 at 4:34 PM, Daniel Exner d...@dragonslave.de wrote: Hi, (Please keep me in CC as I'm currently not subscribed to this Mailinglist) I happened to inherit one of those DVB-T Sticks ID 0ccd:0043 TerraTec Electronic GmbH Cinergy T XS and of course it isn't working as exspected. So far I extracted the firmware the tuner_xc2028 module was telling me (xc3028-v27.fw) and the module loaded. But no dvb device nodes where created. I tried connecting directly to it using xawtv and that gave me a load of Incorrect readback of firmware version. messages. Then I tried loading the module with debug=1 and now I see: Device is Xceive 34584 version 8.7, firmware version 1.8 So I guess the driver is trying to use the wrong firmware file. I extracted some file named merlinC.rom from the Terratec Windows Drivers that I suspect to contain the firmware. Now I need some help how to verify that and create a usable fw File for the driver. You can get the firmware via the following procedure: http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028#How_to_Obtain_the_Firmware or if you're on Ubuntu it's already packaged in linux-firmware-nonfree. The file itself is 66220 bytes and has an MD5 checksum of 293dc5e915d9a0f74a368f8a2ce3cc10. Note that if you have that file in /lib/firmware, it's entirely possible that the driver is just broken (this happens quite often). The values read back by dmesg are from the device itself, so if the chip wasn't properly initialized fields such as the version will contain garbage values. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Terratec Cinergy T XS Firmware (Kernel 3.14.1)
Hi, Am 23.04.2014 22:42, schrieb Devin Heitmueller: On Wed, Apr 23, 2014 at 4:34 PM, Daniel Exner d...@dragonslave.de wrote: You can get the firmware via the following procedure: http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028#How_to_Obtain_the_Firmware or if you're on Ubuntu it's already packaged in linux-firmware-nonfree. The file itself is 66220 bytes and has an MD5 checksum of 293dc5e915d9a0f74a368f8a2ce3cc10. I used that procedure and have exactly that file in my /lib/firmware dir. Note that if you have that file in /lib/firmware, it's entirely possible that the driver is just broken (this happens quite often). The values read back by dmesg are from the device itself, so if the chip wasn't properly initialized fields such as the version will contain garbage values. On the page you linked above older firmware versions are mentions that should be supported by the driver. My Question is: how to get them? But you may be right, because Device is Xceive 34584 seems also wrong (didn't find any hint such a device exists..) I'm willing to invest some time to repair the driver. Anyone interested in helping me in getting this thing back to work? Greetings Daniel -- Daniel Exner Public-Key: https://www.dragonslave.de/pub_key.asc signature.asc Description: OpenPGP digital signature
Re: [PATCH] [media] V4L: s5c73m3: Fix build after v4l2_of_get_next_endpoint rename
On Wed, 9 Apr 2014, Krzysztof Kozlowski wrote: Fix build error after v4l2_of_get_next_endpoint rename (fd9fdb78a9bf: [media] of: move graph helpers from drivers/media/v4l2-core...): drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function ‘s5c73m3_get_platform_data’: drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:2: error: implicit declaration of function ‘v4l2_of_get_next_endpoint’ [-Werror=implicit-function-declaration] drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:10: warning: assignment makes pointer from integer without a cast [enabled by default] Signed-off-by: Krzysztof Kozlowski k.kozlow...@samsung.com --- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index a4459301b5f8..ee0f57e01b56 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c @@ -1616,7 +1616,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) if (ret 0) return -EINVAL; - node_ep = v4l2_of_get_next_endpoint(node, NULL); + node_ep = of_graph_get_next_endpoint(node, NULL); if (!node_ep) { dev_warn(dev, no endpoint defined for node: %s\n, node-full_name); Acked-by: David Rientjes rient...@google.com The build error that this patch fixes is still present in Linus's tree, and there's been no response to it in two weeks. Any chance of this getting merged?
Re: [PATCH] [media] V4L: s5c73m3: Fix build after v4l2_of_get_next_endpoint rename
On 04/23/2014 10:57 PM, David Rientjes wrote: On Wed, 9 Apr 2014, Krzysztof Kozlowski wrote: Fix build error after v4l2_of_get_next_endpoint rename (fd9fdb78a9bf: [media] of: move graph helpers from drivers/media/v4l2-core...): drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function ‘s5c73m3_get_platform_data’: drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:2: error: implicit declaration of function ‘v4l2_of_get_next_endpoint’ [-Werror=implicit-function-declaration] drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:10: warning: assignment makes pointer from integer without a cast [enabled by default] Signed-off-by: Krzysztof Kozlowski k.kozlow...@samsung.com --- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index a4459301b5f8..ee0f57e01b56 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c @@ -1616,7 +1616,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) if (ret 0) return -EINVAL; - node_ep = v4l2_of_get_next_endpoint(node, NULL); + node_ep = of_graph_get_next_endpoint(node, NULL); if (!node_ep) { dev_warn(dev, no endpoint defined for node: %s\n, node-full_name); Acked-by: David Rientjes rient...@google.com The build error that this patch fixes is still present in Linus's tree, and there's been no response to it in two weeks. Any chance of this getting merged? I expect a patch fixing this issue to be sent in next batch of the media fixes from Mauro. It has been queued in the media tree: http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?h=fixesid=41f484d12c0105ce01ea79acdc094fff9124491b Thanks, Sylwester -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
cron job: media_tree daily build: ERRORS
This message is generated daily by a cron job that builds media_tree for the kernels and architectures in the list below. Results of the daily build of media_tree: date: Thu Apr 24 04:00:28 CEST 2014 git branch: test git hash: 393cbd8dc532c1ebed60719da8d379f50d445f28 gcc version:i686-linux-gcc (GCC) 4.8.2 sparse version: v0.5.0-11-g38d1124 host hardware: x86_64 host os:3.14-1.slh.1-amd64 linux-git-arm-at91: OK linux-git-arm-davinci: OK linux-git-arm-exynos: OK linux-git-arm-mx: OK linux-git-arm-omap: OK linux-git-arm-omap1: OK linux-git-arm-pxa: OK linux-git-blackfin: OK linux-git-i686: OK linux-git-m32r: OK linux-git-mips: ERRORS linux-git-powerpc64: OK linux-git-sh: OK linux-git-x86_64: OK linux-2.6.31.14-i686: OK linux-2.6.32.27-i686: OK linux-2.6.33.7-i686: OK linux-2.6.34.7-i686: OK linux-2.6.35.9-i686: OK linux-2.6.36.4-i686: ERRORS linux-2.6.37.6-i686: ERRORS linux-2.6.38.8-i686: ERRORS linux-2.6.39.4-i686: ERRORS linux-3.0.60-i686: ERRORS linux-3.1.10-i686: ERRORS linux-3.2.37-i686: ERRORS linux-3.3.8-i686: ERRORS linux-3.4.27-i686: ERRORS linux-3.5.7-i686: ERRORS linux-3.6.11-i686: ERRORS linux-3.7.4-i686: OK linux-3.8-i686: OK linux-3.9.2-i686: OK linux-3.10.1-i686: OK linux-3.11.1-i686: OK linux-3.12-i686: OK linux-3.13-i686: OK linux-3.14-i686: OK linux-3.15-rc1-i686: OK linux-2.6.31.14-x86_64: OK linux-2.6.32.27-x86_64: OK linux-2.6.33.7-x86_64: OK linux-2.6.34.7-x86_64: OK linux-2.6.35.9-x86_64: OK linux-2.6.36.4-x86_64: ERRORS linux-2.6.37.6-x86_64: ERRORS linux-2.6.38.8-x86_64: ERRORS linux-2.6.39.4-x86_64: ERRORS linux-3.0.60-x86_64: ERRORS linux-3.1.10-x86_64: ERRORS linux-3.2.37-x86_64: ERRORS linux-3.3.8-x86_64: ERRORS linux-3.4.27-x86_64: ERRORS linux-3.5.7-x86_64: ERRORS linux-3.6.11-x86_64: ERRORS linux-3.7.4-x86_64: OK linux-3.8-x86_64: OK linux-3.9.2-x86_64: OK linux-3.10.1-x86_64: OK linux-3.11.1-x86_64: OK linux-3.12-x86_64: OK linux-3.13-x86_64: OK linux-3.14-x86_64: OK linux-3.15-rc1-x86_64: OK apps: OK spec-git: OK sparse version: v0.5.0-11-g38d1124 sparse: ERRORS Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Thursday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Thursday.tar.bz2 The Media Infrastructure API from this daily build is here: http://www.xs4all.nl/~hverkuil/spec/media.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html