Show a cover letter.

GET /api/covers/26279/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 26279,
    "url": "https://patchwork.libcamera.org/api/covers/26279/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/26279/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260312231616.3590215-1-faizel.kb@gmail.com>",
    "date": "2026-03-12T23:16:13",
    "name": "[RESEND,v3,0/3] media: vimc: Add timing controls for fps config",
    "submitter": {
        "id": 258,
        "url": "https://patchwork.libcamera.org/api/people/258/?format=api",
        "name": "Faizel K B",
        "email": "faizel.kb@gmail.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/26279/mbox/",
    "series": [
        {
            "id": 5828,
            "url": "https://patchwork.libcamera.org/api/series/5828/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5828",
            "date": "2026-03-12T23:16:13",
            "name": "media: vimc: Add timing controls for fps config",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/5828/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/26279/comments/",
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2BE37BDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 12 Mar 2026 23:17:16 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6508462675;\n\tFri, 13 Mar 2026 00:17:15 +0100 (CET)",
            "from mail-pl1-x635.google.com (mail-pl1-x635.google.com\n\t[IPv6:2607:f8b0:4864:20::635])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 052E8620FA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 13 Mar 2026 00:17:12 +0100 (CET)",
            "by mail-pl1-x635.google.com with SMTP id\n\td9443c01a7336-2ae4e8dfaf8so855305ad.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 12 Mar 2026 16:17:12 -0700 (PDT)",
            "from FAIZEL-KB.. ([2001:569:5b64:e100:3685:315:53bf:61fc])\n\tby smtp.googlemail.com with ESMTPSA id\n\td9443c01a7336-2aece81cde8sm619395ad.70.2026.03.12.16.17.05\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 12 Mar 2026 16:17:10 -0700 (PDT)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"k7i6eh03\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1773357431; x=1773962231;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=jurnWtA9StuzZVJhN53xyykHE0SNK77Z7bUoT00rjeA=;\n\tb=k7i6eh035jC/lfPTgw6QK6arytXvhyCTdNz/9qOIGZlbzsp9I+CTaQCug99IGZX96n\n\tvpDU3ifb+GXNmCNL1qivv0euqoZZY4atT4JJhB4tCA5U8WkSdZOIiPyyLxWiNd6/Diuk\n\tm12a2ixHKN7BZW/aWZuxuF4SAccU9/9Wwg6svuI8n8woPI56AC7E6VTyYa5y8KAeHnSE\n\tsUXk24OjKZ9dA/51ZyCm9IOgwcwy3NaahHRYEwltpNwDxKSIrkf739DfTh6PbgqvhDK5\n\toH472YMgSbWy70OTtNWumLLgONj3pkYYmOw9KVyhVhA0CyciyC+KZaov/uWwRC6Bp7k1\n\tL5LQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1773357431; x=1773962231;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=jurnWtA9StuzZVJhN53xyykHE0SNK77Z7bUoT00rjeA=;\n\tb=tA/FlGZyv2AHfMBPWk0TsVV8GTbl5wOqTz75mV8el5Ol/RQCMZxl7kuEC4y7zVv3PT\n\tKX3NwnkQCJxKJGGFQVeZNzLuw35xDSPbmfuOWsz3Vf4GW4RR4Z3rBdK7PfVG1E6P6ySs\n\t5wXxjDb8q4U2TTKUcDfSpTH0Naa3gR1XOuHsTrH+Oo5ZmOlHj/82PRgQRYoRgPwHHQko\n\tK/vIgCuKibnmPaxcXJ3MwXYVtCITsqMo0EUoKoAUdUkiHLHbNT+oqk7TGbsHE1BzRfDY\n\txrDhUPcBm/se3obBKL9cYMtZK7QaEGA+V86t0rDSmE8YdxF8X381plh260C899x95++i\n\tbvqw==",
        "X-Forwarded-Encrypted": "i=1;\n\tAJvYcCXYsuWAZwVz1kCsLcfLM4rOJ+g91x4vYjbET6ZEgpDcIR3vgaNfDX6JEctVQ5rVGpocRdneMTmLUj++5+gJoEA=@lists.libcamera.org",
        "X-Gm-Message-State": "AOJu0Yw7aBmAE69/Yu6+gcvFSqedbBrWjns6BlsZEpcDy18wi2h9JJX9\n\tz08AGS0RQIvfynpOUqGwwyQpHq/MIuXxAIP1ogBT5f7HECs8KDchdBIa",
        "X-Gm-Gg": "ATEYQzwJBC2Y28HimwBXDoYzFSYP+ED5FxCjOxLl5l7DA2+394fAifZ6/gNovf79SnR\n\tCrBZ8VJMOloCD9GAV7XxzGgDYuiEs9idsRzG2K/SUXqpODXTKSPMa9AMNlD9OpNPhRfdmYposwA\n\tW4hUu5KQjZdKN0gBXAEhiaUzJ5/wiCFr4Ugy2GEy5iJsHhmJCqRqvCB7PzpUBe6PJb32LQpSNbJ\n\tu03Yh+gG1T7Ws8yuB/pPZIMKSK/YLiEyt8iDyvbrNU4YBBSE1C1ijH3/GUwDHFF6wytKUZlokJd\n\txye6xekccYMRy7PYB5JSVhKqRVUv4IthuaacnPOjGuPlvHT1PV1ZLKX27cyr3uXkypTpf4e4HMu\n\tKwhySRTwJaQPdS7F7bcLQCe2iKUq/qeNsJk/0iZRRY6dojBU2EM4OgXmeM23ZY4vYM+ODeE9oO0\n\tY7vb0MZlIhbTNhEwO5T6M8sP1I0Z1jm8MViv9nyPld1Ehj2LK+AYOg+K4=",
        "X-Received": "by 2002:a17:902:f546:b0:2ae:3b4f:e5b3 with SMTP id\n\td9443c01a7336-2aecaa3f126mr7188265ad.4.1773357431134; \n\tThu, 12 Mar 2026 16:17:11 -0700 (PDT)",
        "From": "Faizel K B <faizel.kb@gmail.com>",
        "To": "Shuah Khan <skhan@linuxfoundation.org>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlinux-media@vger.kernel.org",
        "Cc": "Mauro Carvalho Chehab <mchehab@kernel.org>,\n\tlibcamera-devel@lists.libcamera.org, Faizel K B <faizel.kb@gmail.com>",
        "Subject": "[PATCH RESEND v3 0/3] media: vimc: Add timing controls for fps\n\tconfig",
        "Date": "Thu, 12 Mar 2026 16:16:13 -0700",
        "Message-ID": "<20260312231616.3590215-1-faizel.kb@gmail.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Control frame timing of vimc sensor by adding support for V4L2 timing\ncontrols (VBLANK, HBLANK, PIXEL_RATE). PIXEL_RATE and HBLANK are fixed as\nreadonly with default values. VBLANK is configurable.\n\nFirst version patch attempted to implement direct frame rate control as\nfraction. vimc sensor should have controls like real sensor to control the\nframerate.\n\nChanges in v3:\n- Fixed 64-bit division on 32-bit architectures in vimc_calc_vblank()\n  Reported-by: kernel test robot <lkp@intel.com>\n  Closes: https://lore.kernel.org/oe-kbuild-all/202602031319.6Nd13RwV-lkp@intel.com/\n  Closes: https://lore.kernel.org/oe-kbuild-all/202602031452.JzAaJ8BU-lkp@intel.com/\n- Used do_div() for portable 64-bit division\n- Link to v2: https://lore.kernel.org/linux-media/20260202194645.1287757-1-faizel.kb@gmail.com/\n\nChanges in v2:\n- Changed the patch subject to indicate timing control.\n- Removed 'v4l2_fract' element from sensor struct\n- Removed frameinterval functions for vimc_sensor_pad_ops\n- Added PIXEL_RATE,HBLANK,VBLANK V4L2 Controls\n- Added fps delay calculation based on timing controls\n- Default PIXEL_RATE as 160 MHz. HBLANK as 800\n- Default fps 30 for resolution up to 1920 * 1080 (2,073,600 pixels)\n  above which the fps is 10 (PIXEL_RATE must be changed to support\n  higher resolutions).\n- Link to v1: https://lore.kernel.org/linux-media/cr4tjjlq53ezux7lzrusy4wb7ji26trwkipfkjl33kwv6z4ut7@r6hvuzki66bj/\n\nExample usage:\n  # Set vblank as 1000\n  v4l2-ctl -d /dev/v4l-subdev0 --set-ctrl=vertical_blanking=1000\n\n  # Capture and verify frame rate.\n  # Real framerate depends on the CPU performance\n\n  yavta /dev/video2 --capture=100\n\nFaizel K B (3):\n  media: vimc: sensor: Move vimc_sensor_device to common header\n  media: vimc: sensor: Add pixel_rate,vblank and hblank configuration\n  media: vimc: streamer: Apply sensor frame rate in streamer thread\n\n drivers/media/test-drivers/vimc/vimc-common.h |  41 +++++++\n drivers/media/test-drivers/vimc/vimc-sensor.c | 114 ++++++++++++++----\n .../media/test-drivers/vimc/vimc-streamer.c   |  33 ++++-\n 3 files changed, 160 insertions(+), 28 deletions(-)\n\n\nbase-commit: f505e978d1a0442adbbde48aed38c084ddea6d6e"
}