From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D5A9377003 for ; Tue, 17 Mar 2026 20:17:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773778649; cv=none; b=os5iCU8r/O+XL/CV1MP6wOvAd9bedXOlH9gu7Bg65HqvQefE302RLd3az9DAM41tsOqsf6s0LUanRTP2DOKTneDxGVVgUq0KWWmxw3Tq7D6X1/h1BvxarA5ke4DKGVA2SEeWN1FgnndZGQlysA9NC0DIBzM2oIjuobDlzQbq2As= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773778649; c=relaxed/simple; bh=DSGod8/rbwUuy+7Fk5iG2SYiUUonGdHh2WmqwytyRJs=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=fGz1ejjBi2wkIbwBhS0U7VP/56pYUgGWwCnUZfHO+Ap39Wu4y4uAoeUycd5SOGuf9XGsipstnTxP7wFPdn77ofmlM7jlN68xYeqJtIuE4vC5o5xC8AfVNTlMmQrPlnQMRgYu8rdqnT7mcBSF6qdpp/RBXdGZHHk0rgbQnyoY1OA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OwdEvHUG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T36YvJ9G; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OwdEvHUG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T36YvJ9G" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62HIJKfB1894546 for ; Tue, 17 Mar 2026 20:17:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= zvhvaggR3xBuBneqrzNZa/q8kTsAXME3AY8AiUv2AIM=; b=OwdEvHUGWV3t6gd6 eqJ9sm86EtT821tQcL8HsA33/PRkCPW6h2FcsRaV/Q3AzbsUxeBxeHdcGuvstOQs yKQc9M9tamDuTIBFDFeud/Mi75nthbK0qi5rZb2GpgciXNw4hH8Fu7n3Tfj4nKNT Uw2Y7vp7mNnvd5ugmyfua/ORldIR0KkEmOgQmcqL0QzLk+wxels7ODsTtxkaOKqD n1Gqzp19ozkKxOjVxiDkfnAyGJXv9oiGWZ72NLVdwZWi+5Im5Nls8atn7I4lsYli LMTOvHdzF3UdmILc3peghFB5dGojmIE4E1snZvUI9soOiLffH+ruIttiU1wUw3jC 8c5ezQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cy6d6hvnm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 20:17:27 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd77e5e187so3433771085a.1 for ; Tue, 17 Mar 2026 13:17:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773778646; x=1774383446; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=zvhvaggR3xBuBneqrzNZa/q8kTsAXME3AY8AiUv2AIM=; b=T36YvJ9GUdiLlwU1V3p1KSnsMRfSnFZ8gtDdwmevhDNu8jBCizVVi8yzPmDHM1KdlC CNEBva2UM40ZcaiWA+QSAw8Ilvu7u5nTi/sgg8Qbksvogix9xuKVz6Iyb8aMRHwjkBju pdF9qS2K0U/E32l024BvyLrCpDvIv2NHoCRl1VXm92zMB/dCPsETLwbjv0WECWutzXSM +C0R8LmWR1K9HJooJhj0djZcm4fNVjpaKsO6YLI5jFj0OyX6QMNeat0H4Nlvfh3eBKJM qKkspy2AY8DBxFE/LDfqqfB8VB7bxc6nMRA3j7lRYszKb0f9IhW7OnBXUc96BHuRyPlu Zy7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773778646; x=1774383446; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zvhvaggR3xBuBneqrzNZa/q8kTsAXME3AY8AiUv2AIM=; b=U48vzhLIPOibPNq8WE21XmPBlyGJHVHzvqNwCvMBe2uIS1hkRRGojPptjLkTvST521 zhO33v7wZqfNPyDPPw5UPRCqjbOuMtvFEil87k2YNjGwqW7Uhe1c/6gY/2hMV9OIfstA jH7K6LIDLCAAlP8Y7CH/rJoocKfyYWmV0SUQGi6m+3iN+JkaYRnFoLmchysWLXfSN9Q5 dfe9JjmfhJYRIPJETAHlkmGJVWeTlqBJXN4FToCSVd7RL0Gj0jLSwLtVBwgeMWwJxQdg 6t4rGSezcvgtHh+siHs/rXELn0PRxufa33lDa2LjeNL6ikfzoVjucMMhlfbFiGhUVRoO z7Ig== X-Forwarded-Encrypted: i=1; AJvYcCX+1xy+vyeIVp68dxqbOqppfX7CfYphex2sMAa8DdytT6++95XT3Dmr0SbxyfaUQ3rOkHGtsGiQZ9KI6+4=@vger.kernel.org X-Gm-Message-State: AOJu0YzxYmOt+oSTzhq/5u+ZbOMZn8cf3r26lKgO+YeArUNO91eZk3tE ohMZb/tyCJ5lIFBq/bVpQlbOLOUT264zNq/gTdtJVDSYV5RWOqod2Pw5Oq+ZaDzRtEa/WGuUo27 x1EJdQcf2ffU4g6v00WvLauDvsu9UfcmrlnB3sD9D0ROi/gextnhi7dnjVTq/+wCQsjg= X-Gm-Gg: ATEYQzzu+LimHHfQwxdD0+7jqbC+/2k621zFU6+14UxxHO1hCiflXV8Ad928ygoTgYe A1KRaoFUUTp/Z8eKLOEbFmjXFxsPVzHP5ASFKsC4M3WDd20klY+AdlSbyjEkdyo+lCcUqdPuH7e QFbGXDP+YlbD4SqACndTkKG0yQCuhPwuNIejuswRDxpXyTbYbcmi5gptuF/lsRloD6bXaj5LXg+ hFvtnQbmynTlrb4PV+Qd0J1ewOP0GgEWO8bUrAjnwPyVTe3hB3XP9O9r6WDHbno9DOXOqxs83aK LmqcrvJp2KmfFH0SxWXBJGRpUlMUuOVVVb0oaH1+osjNwojsnrX4YAIVi7/wuttzddLxudJV22K STdpYYQGwHEqrsww/OawGrvtk35gED1SwNZNhdqdKAvAs8kIbXPrDJ6t4oYvJwVysy+Qs9K4d+B q8aa6HijA49aOkBY7/Qq3EjLSmMmXVEMPXVLVwfqybFCVS0JvZLjkiKZfQrd96fJeHVcESyPMZi YV90kZPcTpMPXS8 X-Received: by 2002:a05:620a:4045:b0:8c6:f414:3ba8 with SMTP id af79cd13be357-8cfad341877mr128720985a.49.1773778645997; Tue, 17 Mar 2026 13:17:25 -0700 (PDT) X-Received: by 2002:a05:620a:4045:b0:8c6:f414:3ba8 with SMTP id af79cd13be357-8cfad341877mr128715885a.49.1773778645342; Tue, 17 Mar 2026 13:17:25 -0700 (PDT) Received: from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec? (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-667b0eb986esm440356a12.17.2026.03.17.13.17.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Mar 2026 13:17:23 -0700 (PDT) Message-ID: <8b849d79-0248-471d-beed-b774b6cf218b@oss.qualcomm.com> Date: Tue, 17 Mar 2026 21:17:22 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Hans de Goede Subject: Re: [PATCH v11] media: Add t4ka3 camera sensor driver To: Sakari Ailus , Kate Hsuan Cc: Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Hans de Goede References: <20260316085704.352669-1-hpa@redhat.com> Content-Language: en-US, nl In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDE3OSBTYWx0ZWRfX/M5/apdP0UUm cu6/nrvj9YSsvUeYHDbyRnXIqOmSGzPcA5q7K0HGCH50WXVDQiWT71HKnhiyWaEi2yE4sGyTRgI aDzC5m6/xOekKp8bYbfguK1RW0/bQ4BUYeTujmVVYGhJ1bVYx934k0rJbIb524p+TOxCh6U7GEJ r2ChMBAsR1MN1Xp+l9vmlX1sBYINb8HdMNnwhvS6xQPseZNKkKD5Dkqz2PFMhgTbwzYC7ebHiQD I1ZPTj6T6F/0HbQEQWU5ZGprEYg9rPkPWLi9xGfYTaY5KnJn7aq58uLQ2BgK8N2YpODXCVdt4dE ZzHU0Pf3rG+Lf+vmpm/99lcMlAqkmTk2IWPCvD38M4l/WClKL0LQJSDjDAFXnP6rR9S6ms1cPkY i/83oYQrl+ugkWWShpnZZ4HJgqM4rQVy0ZoqKMQg/oe3CFoak5b+/Eu8ieQwqfl+mNEsLmmrvcQ GjN549+Bb07S4HKQNzA== X-Proofpoint-GUID: 32fb56XcRgF2nKapKZmAuTcznQcm-nNq X-Authority-Analysis: v=2.4 cv=IqMTsb/g c=1 sm=1 tr=0 ts=69b9b6d7 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=9AaU9RWykodHtLtZMSsA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: 32fb56XcRgF2nKapKZmAuTcznQcm-nNq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-17_04,2026-03-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 malwarescore=0 phishscore=0 impostorscore=0 clxscore=1015 adultscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170179 Hi Sakari, On 17-Mar-26 18:53, Sakari Ailus wrote: ... >>>> +static struct v4l2_mbus_framefmt *t4ka3_get_active_format(struct t4ka3_data *sensor) >>>> +{ >>>> + struct v4l2_subdev_state *active_state = >>>> + v4l2_subdev_get_locked_active_state(&sensor->sd); >>>> + >>>> + return v4l2_subdev_state_get_format(active_state, 0); >>>> +} >>>> + >>>> +static struct v4l2_rect *t4ka3_get_active_crop(struct t4ka3_data *sensor) >>>> +{ >>>> + struct v4l2_subdev_state *active_state = >>>> + v4l2_subdev_get_locked_active_state(&sensor->sd); >>>> + >>>> + return v4l2_subdev_state_get_crop(active_state, 0); >>> >>> Please avoid adding such helpers. >> As Hans mentioned, we can put active format and crop in the t4ka3_data >> or keep the helpers. > > What prevents you doing: > > struct v4l2_subdev_state *active_state = > v4l2_subdev_get_locked_active_state(&sensor->sd); > struct v4l2_rect *r = v4l2_subdev_state_get_crop(active_state, 0); > > in the code? In a lot of the cases you could simply pass the state to the > function using it as the caller already has it. Ok, I've done a quick audit of the code and it indeed seems that in some cases, especially in t4ka3_set_pad_format() these helpers are used unnecessary (and even buggy in case of the crop in t4ka3_set_pad_format()). So I agree it is probably better to avoid these and in functions where we have a sd_state pass the result of: v4l2_subdev_state_get_format(sd_state, [0|sel->pad]) and: v4l2_subdev_state_get_crop(sd_state, [0|sel->pad]) to helpers which currently rely on t4ka3_get_active_[format|crop]() such as t4ka3_calc_mode(). E.g. all callers of t4ka3_calc_mode() already get sd_state passed in; and both callers also already both should get crop and fmt from the sd_state (t4ka3_set_pad_format() wrongly uses the functions to get the active fmt/crop for this). So we can simply pass the already retrieved fmt + crop into t4ka3_calc_mode(). As for other calles of t4ka3_get_active_[format|crop]() if they really do not have sd_state access then lets just write out the code as suggested by Sakari. Kate, let me know if you need any help with this. Regards, Hans