Re: [PATCH v2 2/3] media: qcom: camss: Add link support for TPG common

From: Konrad Dybcio
Date: Thu Jul 17 2025 - 08:52:58 EST


On 7/17/25 5:20 AM, Wenmeng Liu wrote:
> TPG is connected to the csid as an entity, the link
> needs to be adapted.
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@xxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/camss/camss-csid.c | 44 +++++++++++++++++-----
> drivers/media/platform/qcom/camss/camss.c | 52 ++++++++++++++++++++++++++
> 2 files changed, 87 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
> index 5284b5857368c37c202cd89dad6ae8042b637537..1ee4c4cc61cb32ce731dd8123522cc729d1ae3bb 100644
> --- a/drivers/media/platform/qcom/camss/camss-csid.c
> +++ b/drivers/media/platform/qcom/camss/camss-csid.c
> @@ -1226,6 +1226,23 @@ void msm_csid_get_csid_id(struct media_entity *entity, u8 *id)
> *id = csid->id;
> }
>
> +/*
> + * csid_get_csiphy_tpg_lane_assign - Calculate lane assign by tpg lane num
> + * @num - tpg lane num
> + *
> + * Return lane assign
> + */
> +static u32 csid_get_csiphy_tpg_lane_assign(int num)
> +{
> + u32 lane_assign = 0;
> + int i;
> +
> + for (i = (num - 1); i >= 0; i--)
> + lane_assign |= i << (i * 4);

for (lane_idx = 0; lane_idx < lane_num: i++)
u32_encode_bits(idx, 4 * idx)

should be equivalent and a little more comprehensible

although it would be nice to know where the 4 comes from (some register
bitwidth perhaps?)

Konrad