[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99f482de-78f8-82da-e52b-7f76da67ff39@marek.ca>
Date: Tue, 25 May 2021 14:38:42 -0400
From: Jonathan Marek <jonathan@...ek.ca>
To: Andrey Konovalov <andrey.konovalov@...aro.org>,
linux-arm-msm@...r.kernel.org
Cc: robert.foss@...aro.org, Todor Tomov <todor.too@...il.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
"open list:QUALCOMM CAMERA SUBSYSTEM DRIVER"
<linux-media@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 04/17] media: camss: csid-170: fix non-10bit formats
On 5/25/21 2:15 PM, Andrey Konovalov wrote:
> Hi Jonathan,
>
> Thank you for your patch!
>
> On 11.05.2021 21:07, Jonathan Marek wrote:
>> Use the decode_format/data_type from the "format" struct instead of a
>> hardcoded 10-bit format.
>>
>> Fixes: eebe6d00e9bf ("media: camss: Add support for CSID hardware
>> version Titan 170")
>> Signed-off-by: Jonathan Marek <jonathan@...ek.ca>
>> ---
>> drivers/media/platform/qcom/camss/camss-csid-170.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/media/platform/qcom/camss/camss-csid-170.c
>> b/drivers/media/platform/qcom/camss/camss-csid-170.c
>> index ac22ff29d2a9..a81cc94c075f 100644
>> --- a/drivers/media/platform/qcom/camss/camss-csid-170.c
>> +++ b/drivers/media/platform/qcom/camss/camss-csid-170.c
>> @@ -366,7 +366,7 @@ static void csid_configure_stream(struct
>> csid_device *csid, u8 enable)
>> val |= input_format->width & 0x1fff <<
>> TPG_DT_n_CFG_0_FRAME_WIDTH;
>> writel_relaxed(val, csid->base + CSID_TPG_DT_n_CFG_0(0));
>> - val = DATA_TYPE_RAW_10BIT << TPG_DT_n_CFG_1_DATA_TYPE;
>> + val = format->data_type << TPG_DT_n_CFG_1_DATA_TYPE;
>> writel_relaxed(val, csid->base + CSID_TPG_DT_n_CFG_1(0));
>> val = tg->mode << TPG_DT_n_CFG_2_PAYLOAD_MODE;
>> @@ -382,8 +382,8 @@ static void csid_configure_stream(struct
>> csid_device *csid, u8 enable)
>> val = 1 << RDI_CFG0_BYTE_CNTR_EN;
>> val |= 1 << RDI_CFG0_FORMAT_MEASURE_EN;
>> val |= 1 << RDI_CFG0_TIMESTAMP_EN;
>> - val |= DECODE_FORMAT_PAYLOAD_ONLY << RDI_CFG0_DECODE_FORMAT;
>> - val |= DATA_TYPE_RAW_10BIT << RDI_CFG0_DATA_TYPE;
>> + val |= format->decode_format << RDI_CFG0_DECODE_FORMAT;
>> + val |= format->data_type << RDI_CFG0_DATA_TYPE;
>
> I've given it a try on RB3 board (aka db845c plus the navigation
> mezzanine), which uses ov8856 camera
> sensor (its output format is SGRBG10_1X10).
>
> The above change doesn't work for me because format->decode_format has
> the value of 0x02 (which is
> DECODE_FORMAT_UNCOMPRESSED_10_BIT). format->data_type has the expected
> value of 0x2b (DATA_TYPE_RAW_10BIT).
>
I will change it back to using DECODE_FORMAT_PAYLOAD_ONLY for the v2,
since it does seem like this is the correct value for the RDI path.
(but IIRC, using DECODE_FORMAT_UNCOMPRESSED_10_BIT worked on RB3 with
the ov8856 camera last year when I brought it up. maybe the VFE or
another register is configured differently)
> Thanks,
> Andrey
>
>> val |= vc << RDI_CFG0_VIRTUAL_CHANNEL;
>> val |= dt_id << RDI_CFG0_DT_ID;
>> writel_relaxed(val, csid->base + CSID_RDI_CFG0(0));
>>
Powered by blists - more mailing lists