All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
To: Hans Verkuil <hverkuil@xs4all.nl>,
	linux-media@vger.kernel.org, laurent.pinchart@ideasonboard.com,
	heiko@sntech.de
Cc: helen.koike@collabora.com, ezequiel@collabora.com,
	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] media: rkisp1: uapi: change hist_bins array type from __u16 to __u32
Date: Tue, 19 Jan 2021 16:32:22 +0100	[thread overview]
Message-ID: <fbe57350-f319-dbc7-f093-d3c1c76feb89@collabora.com> (raw)
In-Reply-To: <a8f8d9e9-30b1-b594-a9bc-f4a11924bf56@xs4all.nl>



Am 19.01.21 um 16:00 schrieb Hans Verkuil:
> On 19/01/2021 15:53, Dafna Hirschfeld wrote:
>> Each entry in the array is a 20 bits value composed of 16
>> bits unsigned integer and 4 bits fractional part. So the
>> type should change to __u32.
>>
>> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
>> ---
>> This patch is applied on top of v6 of the patchset
>> "Fix the rkisp1 userspace API for later IP versions"
>>
>>   include/uapi/linux/rkisp1-config.h | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/uapi/linux/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h
>> index 57ca3eea985f..47f6b84d7c56 100644
>> --- a/include/uapi/linux/rkisp1-config.h
>> +++ b/include/uapi/linux/rkisp1-config.h
>> @@ -895,7 +895,8 @@ struct rkisp1_cif_isp_af_stat {
>>   /**
>>    * struct rkisp1_cif_isp_hist_stat - statistics histogram data
>>    *
>> - * @hist_bins: measured bin counters
>> + * @hist_bins: measured bin counters. Each bin is a 20 bits value
>> + *	       composed of a 16-bit unsigned integer and 4 bits fractional part.
> 
> So bits 0-3 are the fractional part and bits 4-19 contain the integer part?
> What goes where should be defined!

Actually I don't know, I just copied the docs in the datasheet.
I can try figure it out. I can meanwhile send a patch without the doc until
we are sure. Is that OK?

> 
> Looking at rkisp1_stats_get_hst_meas() I see this:
> 
>          for (i = 0; i < RKISP1_CIF_ISP_HIST_BIN_N_MAX; i++)
>                  pbuf->params.hist.hist_bins[i] =
>                          (u8)rkisp1_read(rkisp1,
>                                          RKISP1_CIF_ISP_HIST_BIN_0 + i * 4);
> 
> Here this is cast to a u8, so how does this work?

This seems to be a bug. I see that this cast is introduced in v12 of the patch
"media: staging: rkisp1: add capture device for statistics".
This cast does not exist in any of the downstream versions.

Thanks,
Dafna

> 
> There is something fishy here...
> 
> Regards,
> 
> 	Hans
> 
>>    *
>>    * The histogram values divided into 16 bins for V10/V11 and 32 bins
>>    * for V12/V13. It is configured within the struct rkisp1_cif_isp_hst_config.
>> @@ -909,7 +910,7 @@ struct rkisp1_cif_isp_af_stat {
>>    * RKISP1_CIF_ISP_HIST_BIN_N_MAX is equal to the maximum of the two.
>>    */
>>   struct rkisp1_cif_isp_hist_stat {
>> -	__u16 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
>> +	__u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
>>   };
>>   
>>   /**
>>
> 

WARNING: multiple messages have this Message-ID (diff)
From: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
To: Hans Verkuil <hverkuil@xs4all.nl>,
	linux-media@vger.kernel.org, laurent.pinchart@ideasonboard.com,
	heiko@sntech.de
Cc: mchehab@kernel.org, dafna3@gmail.com, tfiga@chromium.org,
	linux-rockchip@lists.infradead.org, helen.koike@collabora.com,
	sakari.ailus@linux.intel.com, kernel@collabora.com,
	ezequiel@collabora.com
Subject: Re: [PATCH] media: rkisp1: uapi: change hist_bins array type from __u16 to __u32
Date: Tue, 19 Jan 2021 16:32:22 +0100	[thread overview]
Message-ID: <fbe57350-f319-dbc7-f093-d3c1c76feb89@collabora.com> (raw)
In-Reply-To: <a8f8d9e9-30b1-b594-a9bc-f4a11924bf56@xs4all.nl>



Am 19.01.21 um 16:00 schrieb Hans Verkuil:
> On 19/01/2021 15:53, Dafna Hirschfeld wrote:
>> Each entry in the array is a 20 bits value composed of 16
>> bits unsigned integer and 4 bits fractional part. So the
>> type should change to __u32.
>>
>> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
>> ---
>> This patch is applied on top of v6 of the patchset
>> "Fix the rkisp1 userspace API for later IP versions"
>>
>>   include/uapi/linux/rkisp1-config.h | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/uapi/linux/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h
>> index 57ca3eea985f..47f6b84d7c56 100644
>> --- a/include/uapi/linux/rkisp1-config.h
>> +++ b/include/uapi/linux/rkisp1-config.h
>> @@ -895,7 +895,8 @@ struct rkisp1_cif_isp_af_stat {
>>   /**
>>    * struct rkisp1_cif_isp_hist_stat - statistics histogram data
>>    *
>> - * @hist_bins: measured bin counters
>> + * @hist_bins: measured bin counters. Each bin is a 20 bits value
>> + *	       composed of a 16-bit unsigned integer and 4 bits fractional part.
> 
> So bits 0-3 are the fractional part and bits 4-19 contain the integer part?
> What goes where should be defined!

Actually I don't know, I just copied the docs in the datasheet.
I can try figure it out. I can meanwhile send a patch without the doc until
we are sure. Is that OK?

> 
> Looking at rkisp1_stats_get_hst_meas() I see this:
> 
>          for (i = 0; i < RKISP1_CIF_ISP_HIST_BIN_N_MAX; i++)
>                  pbuf->params.hist.hist_bins[i] =
>                          (u8)rkisp1_read(rkisp1,
>                                          RKISP1_CIF_ISP_HIST_BIN_0 + i * 4);
> 
> Here this is cast to a u8, so how does this work?

This seems to be a bug. I see that this cast is introduced in v12 of the patch
"media: staging: rkisp1: add capture device for statistics".
This cast does not exist in any of the downstream versions.

Thanks,
Dafna

> 
> There is something fishy here...
> 
> Regards,
> 
> 	Hans
> 
>>    *
>>    * The histogram values divided into 16 bins for V10/V11 and 32 bins
>>    * for V12/V13. It is configured within the struct rkisp1_cif_isp_hst_config.
>> @@ -909,7 +910,7 @@ struct rkisp1_cif_isp_af_stat {
>>    * RKISP1_CIF_ISP_HIST_BIN_N_MAX is equal to the maximum of the two.
>>    */
>>   struct rkisp1_cif_isp_hist_stat {
>> -	__u16 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
>> +	__u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
>>   };
>>   
>>   /**
>>
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2021-01-19 15:33 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-19 14:53 [PATCH] media: rkisp1: uapi: change hist_bins array type from __u16 to __u32 Dafna Hirschfeld
2021-01-19 14:53 ` Dafna Hirschfeld
2021-01-19 15:00 ` Hans Verkuil
2021-01-19 15:00   ` Hans Verkuil
2021-01-19 15:32   ` Dafna Hirschfeld [this message]
2021-01-19 15:32     ` Dafna Hirschfeld
2021-01-19 16:32     ` Hans Verkuil
2021-01-19 16:32       ` Hans Verkuil
2021-01-19 17:47       ` Dafna Hirschfeld
2021-01-19 17:47         ` Dafna Hirschfeld
2021-01-20  9:58         ` Hans Verkuil
2021-01-20  9:58           ` Hans Verkuil
2021-01-20 10:37           ` Dafna Hirschfeld
2021-01-20 10:37             ` Dafna Hirschfeld
2021-01-20 10:49             ` Hans Verkuil
2021-01-20 10:49               ` Hans Verkuil
2021-01-20 11:32               ` Dafna Hirschfeld
2021-01-20 11:32                 ` Dafna Hirschfeld
2021-01-20 11:37                 ` Hans Verkuil
2021-01-20 11:37                   ` Hans Verkuil

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=fbe57350-f319-dbc7-f093-d3c1c76feb89@collabora.com \
    --to=dafna.hirschfeld@collabora.com \
    --cc=dafna3@gmail.com \
    --cc=ezequiel@collabora.com \
    --cc=heiko@sntech.de \
    --cc=helen.koike@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.