linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Helen Koike <helen.koike@collabora.com>
To: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>,
	linux-media@vger.kernel.org, laurent.pinchart@ideasonboard.com
Cc: ezequiel@collabora.com, hverkuil@xs4all.nl, kernel@collabora.com,
	dafna3@gmail.com, sakari.ailus@linux.intel.com,
	linux-rockchip@lists.infradead.org, mchehab@kernel.org,
	tfiga@chromium.org
Subject: Re: [PATCH 1/2] media: staging: rkisp1: replace 9 coeff* fields with a 3x3 array
Date: Mon, 3 Aug 2020 16:38:34 -0300	[thread overview]
Message-ID: <93144f15-972d-3f59-786a-305c51614bea@collabora.com> (raw)
In-Reply-To: <fe401b07-bc96-928e-fc8d-59b166e66561@collabora.com>



On 7/31/20 6:33 AM, Dafna Hirschfeld wrote:
> 
> 
> On 27.07.20 19:50, Helen Koike wrote:
>> Hi Dafna,
>>
>> On 7/7/20 2:08 PM, Dafna Hirschfeld wrote:
>>> The struct rkisp1_cif_isp_ctk_config has 9 fields 'coeff*' for the
>>> 3x3 color correction matrix. Replace these fields with one 3x3
>>> array coeff[3][3] and document the field.
>>>
>>> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
>>> ---
>>>   drivers/staging/media/rkisp1/rkisp1-params.c      | 15 ++++++---------
>>>   drivers/staging/media/rkisp1/uapi/rkisp1-config.h | 14 ++++----------
>>>   2 files changed, 10 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/drivers/staging/media/rkisp1/rkisp1-params.c b/drivers/staging/media/rkisp1/rkisp1-params.c
>>> index 797e79de659c..00b102eb67b6 100644
>>> --- a/drivers/staging/media/rkisp1/rkisp1-params.c
>>> +++ b/drivers/staging/media/rkisp1/rkisp1-params.c
>>> @@ -402,15 +402,12 @@ static void rkisp1_goc_config(struct rkisp1_params *params,
>>>   static void rkisp1_ctk_config(struct rkisp1_params *params,
>>>                     const struct rkisp1_cif_isp_ctk_config *arg)
>>>   {
>>> -    rkisp1_write(params->rkisp1, arg->coeff0, RKISP1_CIF_ISP_CT_COEFF_0);
>>> -    rkisp1_write(params->rkisp1, arg->coeff1, RKISP1_CIF_ISP_CT_COEFF_1);
>>> -    rkisp1_write(params->rkisp1, arg->coeff2, RKISP1_CIF_ISP_CT_COEFF_2);
>>> -    rkisp1_write(params->rkisp1, arg->coeff3, RKISP1_CIF_ISP_CT_COEFF_3);
>>> -    rkisp1_write(params->rkisp1, arg->coeff4, RKISP1_CIF_ISP_CT_COEFF_4);
>>> -    rkisp1_write(params->rkisp1, arg->coeff5, RKISP1_CIF_ISP_CT_COEFF_5);
>>> -    rkisp1_write(params->rkisp1, arg->coeff6, RKISP1_CIF_ISP_CT_COEFF_6);
>>> -    rkisp1_write(params->rkisp1, arg->coeff7, RKISP1_CIF_ISP_CT_COEFF_7);
>>> -    rkisp1_write(params->rkisp1, arg->coeff8, RKISP1_CIF_ISP_CT_COEFF_8);
>>> +    unsigned int i, j, k = 0;
>>> +
>>> +    for (i = 0; i < 3; i++)
>>> +        for (j = 0; j < 3; j++)
>>> +            rkisp1_write(params->rkisp1, arg->coeff[i][j],
>>> +                     RKISP1_CIF_ISP_CT_COEFF_0 + 4 * k++);
>>>       rkisp1_write(params->rkisp1, arg->ct_offset_r,
>>>                RKISP1_CIF_ISP_CT_OFFSET_R);
>>>       rkisp1_write(params->rkisp1, arg->ct_offset_g,
>>> diff --git a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
>>> index ca0d031b14ac..a01711a668da 100644
>>> --- a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
>>> +++ b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
>>> @@ -417,19 +417,13 @@ struct rkisp1_cif_isp_bdm_config {
>>>   /**
>>>    * struct rkisp1_cif_isp_ctk_config - Configuration used by Cross Talk correction
>>>    *
>>> - * @coeff: color correction matrix
>>> + * @coeff: color correction matrix. Values are 11-bit signed fixed-point numbers with 4 bit integer
>>> + *        and 7 bit fractional part, ranging from -8 (0x400) to +7.992 (0x3FF). 0 is
>>> + *        represented by 0x000 and a coefficient value of 1 as 0x080.
>>>    * @ct_offset_b: offset for the crosstalk correction matrix
>>>    */
>>>   struct rkisp1_cif_isp_ctk_config {
>>> -    __u16 coeff0;
>>> -    __u16 coeff1;
>>> -    __u16 coeff2;
>>> -    __u16 coeff3;
>>> -    __u16 coeff4;
>>> -    __u16 coeff5;
>>> -    __u16 coeff6;
>>> -    __u16 coeff7;
>>> -    __u16 coeff8;
>>> +    __u16 coeff[3][3];
>>
>> Why not:
>>
>>     __u16 coeff[9];
> 
> Hi, since it represents a 3x3 matrix I think it is nicer as a 3x3 array.

Fair enough, let's make this clear in the uAPI then.

Acked-by: Helen Koike <helen.koike@collabora.com>

Regards,
Helen

> 
> Thanks,
> Dafna
> 
>>
>> ?
>>
>> Thanks,
>> Helen
>>
>>>       __u16 ct_offset_r;
>>>       __u16 ct_offset_g;
>>>       __u16 ct_offset_b;
>>>
> 

  reply	other threads:[~2020-08-03 19:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-07 17:08 [PATCH 0/2] change fields of uapi struct rkisp1_cif_isp_ctk_config Dafna Hirschfeld
2020-07-07 17:08 ` [PATCH 1/2] media: staging: rkisp1: replace 9 coeff* fields with a 3x3 array Dafna Hirschfeld
2020-07-27 17:50   ` Helen Koike
2020-07-31  9:33     ` Dafna Hirschfeld
2020-08-03 19:38       ` Helen Koike [this message]
2020-07-07 17:08 ` [PATCH 2/2] media: staging: rkisp1: replace 3 fields 'ct_offset_*' with one array Dafna Hirschfeld
2020-08-03 19:38   ` Helen Koike

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=93144f15-972d-3f59-786a-305c51614bea@collabora.com \
    --to=helen.koike@collabora.com \
    --cc=dafna.hirschfeld@collabora.com \
    --cc=dafna3@gmail.com \
    --cc=ezequiel@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=kernel@collabora.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mchehab@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tfiga@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).