[PATCH v8 4/6] media: rockchip: rkisp1: reduce number of histogram grid elements in uapi
Heiko Stübner
heiko at sntech.de
Thu Jan 21 12:12:38 EST 2021
Hi Helen,
Am Donnerstag, 21. Januar 2021, 18:04:49 CET schrieb Helen Koike:
> Hi Dafna,
>
> On 1/21/21 11:44 AM, Dafna Hirschfeld wrote:
> > From: Heiko Stuebner <heiko.stuebner at theobroma-systems.com>
> >
> > The uapi right now specifies an array size of 28 but the actual number
> > of elements is only 25 with the last 3 being unused.
> >
> > Reduce the array size to the correct number of elements and change
> > the params code to iterate the array 25 times.
> >
> > Signed-off-by: Heiko Stuebner <heiko.stuebner at theobroma-systems.com>
> > Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld at collabora.com>
> > ---
> > drivers/media/platform/rockchip/rkisp1/rkisp1-params.c | 3 ++-
> > include/uapi/linux/rkisp1-config.h | 3 +--
> > 2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > index 6af4d551ffb5..021939466b24 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > @@ -589,7 +589,6 @@ static void rkisp1_hst_config(struct rkisp1_params *params,
> > RKISP1_CIF_ISP_HIST_WEIGHT_22TO03,
> > RKISP1_CIF_ISP_HIST_WEIGHT_13TO43,
> > RKISP1_CIF_ISP_HIST_WEIGHT_04TO34,
> > - RKISP1_CIF_ISP_HIST_WEIGHT_44,
> > };
> > const u8 *weight;
> > unsigned int i;
> > @@ -622,6 +621,8 @@ static void rkisp1_hst_config(struct rkisp1_params *params,
> > weight[2],
> > weight[3]),
> > hist_weight_regs[i]);
> > +
> > + rkisp1_write(params->rkisp1, weight[0] & 0x1F, RKISP1_CIF_ISP_HIST_WEIGHT_44);
>
> I just noticed that the default value to arg->hist_weight was:
>
> memset(hst.hist_weight, 0x01, sizeof(hst.hist_weight));
>
> Shouldn't the value be RKISP1_CIF_ISP_HIST_WEIGHT_SET(weight[0], 0x01, 0x01, 0x01) ?
> Or am I missing something?
The last register only has that one value from weight[24];
I.e. before we were writing the 4 values into that last register as well
from indices 24, 25, 26, 27 ... hence the 3 unused values in the weight array.
But that was merely a crutch to make that fit into the write loop.
Heiko
> > }
> >
> > static void
> > diff --git a/include/uapi/linux/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h
> > index 24f05d6d258f..35aa82d5f6dd 100644
> > --- a/include/uapi/linux/rkisp1-config.h
> > +++ b/include/uapi/linux/rkisp1-config.h
> > @@ -102,8 +102,7 @@
> > /*
> > * Histogram calculation
> > */
> > -/* Last 3 values unused. */
> > -#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 28
> > +#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 25
> >
> > /*
> > * Defect Pixel Cluster Correction
> >
>
More information about the Linux-rockchip
mailing list