diff mbox series

media: vsp1: tidyup VI6_HGT_LBn_H() macro

Message ID 87k173bp76.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
State Mainlined
Commit bd59f412d17f81a41e35c884d3caacf34c9e4940
Delegated to: Kieran Bingham
Headers show
Series media: vsp1: tidyup VI6_HGT_LBn_H() macro | expand

Commit Message

Kuninori Morimoto Dec. 11, 2019, 1:55 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

The address of VSP2_VI6_HGT_LBx_H are
	VSP2_VI6_HGT_LB0_H : 0x3428
	VSP2_VI6_HGT_LB1_H : 0x3430
	VSP2_VI6_HGT_LB2_H : 0x3438
	VSP2_VI6_HGT_LB3_H : 0x3440

Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
This patch fixup it.

Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 drivers/media/platform/vsp1/vsp1_regs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kieran Bingham Dec. 11, 2019, 12:59 p.m. UTC | #1
Hi Morimoto-san,

Thank you for the patch,

On 11/12/2019 01:55, Kuninori Morimoto wrote:
> 
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> The address of VSP2_VI6_HGT_LBx_H are
> 	VSP2_VI6_HGT_LB0_H : 0x3428
> 	VSP2_VI6_HGT_LB1_H : 0x3430
> 	VSP2_VI6_HGT_LB2_H : 0x3438
> 	VSP2_VI6_HGT_LB3_H : 0x3440
> 
> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> This patch fixup it.

I think this deserves a fixes tag:

Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")

> Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Otherwise,

Yes I can clearly see that this offset is marked as H'3428 at page 32-39
within the Gen3 datasheet.

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> ---
>  drivers/media/platform/vsp1/vsp1_regs.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
> index 5c67ff9..fe3130d 100644
> --- a/drivers/media/platform/vsp1/vsp1_regs.h
> +++ b/drivers/media/platform/vsp1/vsp1_regs.h
> @@ -706,7 +706,7 @@
>  #define VI6_HGT_HUE_AREA_LOWER_SHIFT	16
>  #define VI6_HGT_HUE_AREA_UPPER_SHIFT	0
>  #define VI6_HGT_LB_TH			0x3424
> -#define VI6_HGT_LBn_H(n)		(0x3438 + (n) * 8)
> +#define VI6_HGT_LBn_H(n)		(0x3428 + (n) * 8)
>  #define VI6_HGT_LBn_V(n)		(0x342c + (n) * 8)
>  #define VI6_HGT_HISTO(m, n)		(0x3450 + (m) * 128 + (n) * 4)
>  #define VI6_HGT_MAXMIN			0x3750
>
Laurent Pinchart Dec. 11, 2019, 5:58 p.m. UTC | #2
Hello,

On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
> Hi Morimoto-san,
> 
> Thank you for the patch,

Likewise :-)

> On 11/12/2019 01:55, Kuninori Morimoto wrote:
> > 
> > From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > 
> > The address of VSP2_VI6_HGT_LBx_H are
> > 	VSP2_VI6_HGT_LB0_H : 0x3428
> > 	VSP2_VI6_HGT_LB1_H : 0x3430
> > 	VSP2_VI6_HGT_LB2_H : 0x3438
> > 	VSP2_VI6_HGT_LB3_H : 0x3440
> > 
> > Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> > This patch fixup it.
> 
> I think this deserves a fixes tag:
> 
> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")

Given that this macro is not used, we could argue that it doesn't fix
anything yet :-) I'd rather avoid having this backported to stable
kernels as it's not useful to have it there, and thus not add a Fixes
tag. Kieran, would that be OK with you ?

> > Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Otherwise,
> 
> Yes I can clearly see that this offset is marked as H'3428 at page 32-39
> within the Gen3 datasheet.
> 
> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

and taken in my branch.

> > ---
> >  drivers/media/platform/vsp1/vsp1_regs.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
> > index 5c67ff9..fe3130d 100644
> > --- a/drivers/media/platform/vsp1/vsp1_regs.h
> > +++ b/drivers/media/platform/vsp1/vsp1_regs.h
> > @@ -706,7 +706,7 @@
> >  #define VI6_HGT_HUE_AREA_LOWER_SHIFT	16
> >  #define VI6_HGT_HUE_AREA_UPPER_SHIFT	0
> >  #define VI6_HGT_LB_TH			0x3424
> > -#define VI6_HGT_LBn_H(n)		(0x3438 + (n) * 8)
> > +#define VI6_HGT_LBn_H(n)		(0x3428 + (n) * 8)
> >  #define VI6_HGT_LBn_V(n)		(0x342c + (n) * 8)
> >  #define VI6_HGT_HISTO(m, n)		(0x3450 + (m) * 128 + (n) * 4)
> >  #define VI6_HGT_MAXMIN			0x3750
Kieran Bingham Dec. 11, 2019, 9:58 p.m. UTC | #3
Hi Laurent,

+Greg, +Sasha to opine on the merit of whether this should go to stable
trees (for my future learning and understanding more so than this
specific case)

On 11/12/2019 17:58, Laurent Pinchart wrote:
> Hello,
> 
> On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
>> Hi Morimoto-san,
>>
>> Thank you for the patch,
> 
> Likewise :-)
> 
>> On 11/12/2019 01:55, Kuninori Morimoto wrote:
>>>
>>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>>>
>>> The address of VSP2_VI6_HGT_LBx_H are
>>> 	VSP2_VI6_HGT_LB0_H : 0x3428
>>> 	VSP2_VI6_HGT_LB1_H : 0x3430
>>> 	VSP2_VI6_HGT_LB2_H : 0x3438
>>> 	VSP2_VI6_HGT_LB3_H : 0x3440
>>>
>>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
>>> This patch fixup it.

s/fixup/fixes/


>> I think this deserves a fixes tag:
>>
>> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> 
> Given that this macro is not used, we could argue that it doesn't fix
> anything yet :-) I'd rather avoid having this backported to stable
> kernels as it's not useful to have it there, and thus not add a Fixes

I'm sorry - I'm not sure I can agree here, Do you know that no one will
use this macro when they back port the HGT functionality to an LTSI kernel?

We know the Renesas BSP uses LTSI kernels, and the very nature of the
fact that this typo has been spotted by the Renesas BSP team suggests
that they are indeed looking at/using this functionality ...

(Ok, so maybe they will thus apply the fix themselves, but that's not my
point, and if they 'have' to apply the fix - it should be in stable?)

It feels a bit presumptuous to state that we shouldn't fix this because
/we/ don't utilise it yet, when this issue is in mainline regardless ...


> tag. Kieran, would that be OK with you ?

I would suspect that the work Sasha does would potentially pick this up
anyway; automatically even without the tag?
 (Especially with the keyword fixup/fixes in the commit message)

If I've misunderstood the purpose of the stable trees here, then please
let me know.

Maybe it's more pragmatic to only fix features that are used, but it
seems to me like a bug is a bug ... and if it's there, it should be fixed?

And I don't think that this is a particularly high 'expense' to the
stable trees?

--
Kieran



>>> Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>>> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>>
>> Otherwise,
>>
>> Yes I can clearly see that this offset is marked as H'3428 at page 32-39
>> within the Gen3 datasheet.
>>
>> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> and taken in my branch.
> 
>>> ---
>>>  drivers/media/platform/vsp1/vsp1_regs.h | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
>>> index 5c67ff9..fe3130d 100644
>>> --- a/drivers/media/platform/vsp1/vsp1_regs.h
>>> +++ b/drivers/media/platform/vsp1/vsp1_regs.h
>>> @@ -706,7 +706,7 @@
>>>  #define VI6_HGT_HUE_AREA_LOWER_SHIFT	16
>>>  #define VI6_HGT_HUE_AREA_UPPER_SHIFT	0
>>>  #define VI6_HGT_LB_TH			0x3424
>>> -#define VI6_HGT_LBn_H(n)		(0x3438 + (n) * 8)
>>> +#define VI6_HGT_LBn_H(n)		(0x3428 + (n) * 8)
>>>  #define VI6_HGT_LBn_V(n)		(0x342c + (n) * 8)
>>>  #define VI6_HGT_HISTO(m, n)		(0x3450 + (m) * 128 + (n) * 4)
>>>  #define VI6_HGT_MAXMIN			0x3750
Laurent Pinchart Dec. 11, 2019, 11:45 p.m. UTC | #4
Hi Kieran,

On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
> Hi Laurent,
> 
> +Greg, +Sasha to opine on the merit of whether this should go to stable
> trees (for my future learning and understanding more so than this
> specific case)

Good idea, I can learn too :-)

> On 11/12/2019 17:58, Laurent Pinchart wrote:
> > On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
> >> Hi Morimoto-san,
> >>
> >> Thank you for the patch,
> > 
> > Likewise :-)
> > 
> >> On 11/12/2019 01:55, Kuninori Morimoto wrote:
> >>>
> >>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> >>>
> >>> The address of VSP2_VI6_HGT_LBx_H are
> >>> 	VSP2_VI6_HGT_LB0_H : 0x3428
> >>> 	VSP2_VI6_HGT_LB1_H : 0x3430
> >>> 	VSP2_VI6_HGT_LB2_H : 0x3438
> >>> 	VSP2_VI6_HGT_LB3_H : 0x3440
> >>>
> >>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> >>> This patch fixup it.
> 
> s/fixup/fixes/
> 
> >> I think this deserves a fixes tag:
> >>
> >> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> > 
> > Given that this macro is not used, we could argue that it doesn't fix
> > anything yet :-) I'd rather avoid having this backported to stable
> > kernels as it's not useful to have it there, and thus not add a Fixes
> 
> I'm sorry - I'm not sure I can agree here, Do you know that no one will
> use this macro when they back port the HGT functionality to an LTSI kernel?

Before backporting it, it would have to be implemented :-) HGT support
is in mainline, but not support for the HGT LB (Letter Box) isn't.
There's no plan I'm aware of to implement this feature at the moment. I
assume that, if and when that feature will be implemented and
backported, this patch could be backported as well.

> We know the Renesas BSP uses LTSI kernels, and the very nature of the
> fact that this typo has been spotted by the Renesas BSP team suggests
> that they are indeed looking at/using this functionality ...
> 
> (Ok, so maybe they will thus apply the fix themselves, but that's not my
> point, and if they 'have' to apply the fix - it should be in stable?)
> 
> It feels a bit presumptuous to state that we shouldn't fix this because
> /we/ don't utilise it yet, when this issue is in mainline regardless ...
> 
> > tag. Kieran, would that be OK with you ?
> 
> I would suspect that the work Sasha does would potentially pick this up
> anyway; automatically even without the tag?
>  (Especially with the keyword fixup/fixes in the commit message)
> 
> If I've misunderstood the purpose of the stable trees here, then please
> let me know.
> 
> Maybe it's more pragmatic to only fix features that are used, but it
> seems to me like a bug is a bug ... and if it's there, it should be fixed?
> 
> And I don't think that this is a particularly high 'expense' to the
> stable trees?
> 
> >>> Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> >>> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> >>
> >> Otherwise,
> >>
> >> Yes I can clearly see that this offset is marked as H'3428 at page 32-39
> >> within the Gen3 datasheet.
> >>
> >> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > 
> > and taken in my branch.
> > 
> >>> ---
> >>>  drivers/media/platform/vsp1/vsp1_regs.h | 2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
> >>> index 5c67ff9..fe3130d 100644
> >>> --- a/drivers/media/platform/vsp1/vsp1_regs.h
> >>> +++ b/drivers/media/platform/vsp1/vsp1_regs.h
> >>> @@ -706,7 +706,7 @@
> >>>  #define VI6_HGT_HUE_AREA_LOWER_SHIFT	16
> >>>  #define VI6_HGT_HUE_AREA_UPPER_SHIFT	0
> >>>  #define VI6_HGT_LB_TH			0x3424
> >>> -#define VI6_HGT_LBn_H(n)		(0x3438 + (n) * 8)
> >>> +#define VI6_HGT_LBn_H(n)		(0x3428 + (n) * 8)
> >>>  #define VI6_HGT_LBn_V(n)		(0x342c + (n) * 8)
> >>>  #define VI6_HGT_HISTO(m, n)		(0x3450 + (m) * 128 + (n) * 4)
> >>>  #define VI6_HGT_MAXMIN			0x3750
Greg Kroah-Hartman Dec. 12, 2019, 7:33 a.m. UTC | #5
On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
> Hi Laurent,
> 
> +Greg, +Sasha to opine on the merit of whether this should go to stable
> trees (for my future learning and understanding more so than this
> specific case)
> 
> On 11/12/2019 17:58, Laurent Pinchart wrote:
> > Hello,
> > 
> > On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
> >> Hi Morimoto-san,
> >>
> >> Thank you for the patch,
> > 
> > Likewise :-)
> > 
> >> On 11/12/2019 01:55, Kuninori Morimoto wrote:
> >>>
> >>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> >>>
> >>> The address of VSP2_VI6_HGT_LBx_H are
> >>> 	VSP2_VI6_HGT_LB0_H : 0x3428
> >>> 	VSP2_VI6_HGT_LB1_H : 0x3430
> >>> 	VSP2_VI6_HGT_LB2_H : 0x3438
> >>> 	VSP2_VI6_HGT_LB3_H : 0x3440
> >>>
> >>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> >>> This patch fixup it.
> 
> s/fixup/fixes/
> 
> 
> >> I think this deserves a fixes tag:
> >>
> >> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> > 
> > Given that this macro is not used, we could argue that it doesn't fix
> > anything yet :-) I'd rather avoid having this backported to stable
> > kernels as it's not useful to have it there, and thus not add a Fixes
> 
> I'm sorry - I'm not sure I can agree here, Do you know that no one will
> use this macro when they back port the HGT functionality to an LTSI kernel?
> 
> We know the Renesas BSP uses LTSI kernels, and the very nature of the
> fact that this typo has been spotted by the Renesas BSP team suggests
> that they are indeed looking at/using this functionality ...
> 
> (Ok, so maybe they will thus apply the fix themselves, but that's not my
> point, and if they 'have' to apply the fix - it should be in stable?)
> 
> It feels a bit presumptuous to state that we shouldn't fix this because
> /we/ don't utilise it yet, when this issue is in mainline regardless ...

Nothing should be in the kernel tree that is not already used by
something in that specific kernel tree.  We don't care about out-of-tree
code, and especially for stable kernel patches, it does not matter in
the least.

If you have out-of-tree code, you are on your own here, sorry.

So no, no backporting of stuff that no one actually uses in the codebase
itself.

thanks,

greg k-h
Kieran Bingham Dec. 13, 2019, 11:55 a.m. UTC | #6
Hi Greg, Laurent, Sasha,

On 12/12/2019 07:33, Greg Kroah-Hartman wrote:
> On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
>> Hi Laurent,
>>
>> +Greg, +Sasha to opine on the merit of whether this should go to stable
>> trees (for my future learning and understanding more so than this
>> specific case)
>>
>> On 11/12/2019 17:58, Laurent Pinchart wrote:
>>> Hello,
>>>
>>> On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
>>>> Hi Morimoto-san,
>>>>
>>>> Thank you for the patch,
>>>
>>> Likewise :-)
>>>
>>>> On 11/12/2019 01:55, Kuninori Morimoto wrote:
>>>>>
>>>>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>>>>>
>>>>> The address of VSP2_VI6_HGT_LBx_H are
>>>>> 	VSP2_VI6_HGT_LB0_H : 0x3428
>>>>> 	VSP2_VI6_HGT_LB1_H : 0x3430
>>>>> 	VSP2_VI6_HGT_LB2_H : 0x3438
>>>>> 	VSP2_VI6_HGT_LB3_H : 0x3440
>>>>>
>>>>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
>>>>> This patch fixup it.
>>
>> s/fixup/fixes/
>>
>>
>>>> I think this deserves a fixes tag:
>>>>
>>>> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
>>>
>>> Given that this macro is not used, we could argue that it doesn't fix
>>> anything yet :-) I'd rather avoid having this backported to stable
>>> kernels as it's not useful to have it there, and thus not add a Fixes
>>
>> I'm sorry - I'm not sure I can agree here, Do you know that no one will
>> use this macro when they back port the HGT functionality to an LTSI kernel?
>>
>> We know the Renesas BSP uses LTSI kernels, and the very nature of the
>> fact that this typo has been spotted by the Renesas BSP team suggests
>> that they are indeed looking at/using this functionality ...
>>
>> (Ok, so maybe they will thus apply the fix themselves, but that's not my
>> point, and if they 'have' to apply the fix - it should be in stable?)
>>
>> It feels a bit presumptuous to state that we shouldn't fix this because
>> /we/ don't utilise it yet, when this issue is in mainline regardless ...
> 
> Nothing should be in the kernel tree that is not already used by
> something in that specific kernel tree.  We don't care about out-of-tree
> code, and especially for stable kernel patches, it does not matter in
> the least.

So perhaps this patch should actually remove this macro rather than fix it?

> If you have out-of-tree code, you are on your own here, sorry.
> 
> So no, no backporting of stuff that no one actually uses in the codebase
> itself.

Ok understood, It was really the 'the macro exists in the kernel, but is
wrong' part that got me.

Along with the fact that we now have various automated machinery that
would likely pick this patch up and backport it anyway?

(Sasha, is that assumption accurate? Or would you/your system have
identified that this macro is not used?)

--
Kieran


> 
> thanks,
> 
> greg k-h
>
Geert Uytterhoeven Dec. 13, 2019, 1:22 p.m. UTC | #7
Hi Kieran,

On Fri, Dec 13, 2019 at 12:55 PM Kieran Bingham
<kieran.bingham+renesas@ideasonboard.com> wrote:
> On 12/12/2019 07:33, Greg Kroah-Hartman wrote:
> > On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
> >> +Greg, +Sasha to opine on the merit of whether this should go to stable
> >> trees (for my future learning and understanding more so than this
> >> specific case)
> >>
> >> On 11/12/2019 17:58, Laurent Pinchart wrote:
> >>> On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
> >>>> On 11/12/2019 01:55, Kuninori Morimoto wrote:
> >>>>>
> >>>>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> >>>>>
> >>>>> The address of VSP2_VI6_HGT_LBx_H are
> >>>>>   VSP2_VI6_HGT_LB0_H : 0x3428
> >>>>>   VSP2_VI6_HGT_LB1_H : 0x3430
> >>>>>   VSP2_VI6_HGT_LB2_H : 0x3438
> >>>>>   VSP2_VI6_HGT_LB3_H : 0x3440
> >>>>>
> >>>>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> >>>>> This patch fixup it.
> >>
> >> s/fixup/fixes/
> >>
> >>
> >>>> I think this deserves a fixes tag:
> >>>>
> >>>> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> >>>
> >>> Given that this macro is not used, we could argue that it doesn't fix
> >>> anything yet :-) I'd rather avoid having this backported to stable
> >>> kernels as it's not useful to have it there, and thus not add a Fixes
> >>
> >> I'm sorry - I'm not sure I can agree here, Do you know that no one will
> >> use this macro when they back port the HGT functionality to an LTSI kernel?
> >>
> >> We know the Renesas BSP uses LTSI kernels, and the very nature of the
> >> fact that this typo has been spotted by the Renesas BSP team suggests
> >> that they are indeed looking at/using this functionality ...
> >>
> >> (Ok, so maybe they will thus apply the fix themselves, but that's not my
> >> point, and if they 'have' to apply the fix - it should be in stable?)
> >>
> >> It feels a bit presumptuous to state that we shouldn't fix this because
> >> /we/ don't utilise it yet, when this issue is in mainline regardless ...
> >
> > Nothing should be in the kernel tree that is not already used by
> > something in that specific kernel tree.  We don't care about out-of-tree
> > code, and especially for stable kernel patches, it does not matter in
> > the least.
>
> So perhaps this patch should actually remove this macro rather than fix it?

IMHO removing all unused register and register bit definitions from drivers
would not improve them. On the contrary.
These also serve as a kind of documentation, as low-level documentation
about the hardware is not always available publicly.

> > If you have out-of-tree code, you are on your own here, sorry.
> >
> > So no, no backporting of stuff that no one actually uses in the codebase
> > itself.
>
> Ok understood, It was really the 'the macro exists in the kernel, but is
> wrong' part that got me.

There is a difference between code that is not used, and register definitions.

> Along with the fact that we now have various automated machinery that
> would likely pick this patch up and backport it anyway?
>
> (Sasha, is that assumption accurate? Or would you/your system have
> identified that this macro is not used?)

IMHO the real danger lies in not backporting this, and forgetting to
backport this fix when future code that does use this definition is
backported.
This may happen +5 years from now, and the feature may be backported to
a 10-year old LTS(i) kernel, causing subtle issues in your 8 year old car...

Basically we can do 4 things:
  1. Fix the buggy definition, and not backport the fix,
      => may trigger the issue above.
  2. idem, but backport the fix,
  3. Remove the buggy definition, and not backport the removal,
      => may trigger the issue above, if people miss-backport the re-addition.
      => people may just revert the removal when they need the definition.
  4. idem, but backport the removal.
      => same as 3.

So I am in favor of fixing the buggy definition, with a Fixes tag, so
stable will pick it up, and anyone else (if any not using LTS) can look
for Fixes tags and know what fixes to backport.

Of course, all of this can be avoided by using the One Way Of Linux ;-)
https://society.oftrolls.com/@geert/102984898449908163

Just my 2€c.

Gr{oetje,eeting}s,

                        Geert
Laurent Pinchart Dec. 13, 2019, 10:43 p.m. UTC | #8
Hello,

On Fri, Dec 13, 2019 at 02:22:56PM +0100, Geert Uytterhoeven wrote:
> On Fri, Dec 13, 2019 at 12:55 PM Kieran Bingham wrote:
> > On 12/12/2019 07:33, Greg Kroah-Hartman wrote:
> > > On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
> > >> +Greg, +Sasha to opine on the merit of whether this should go to stable
> > >> trees (for my future learning and understanding more so than this
> > >> specific case)
> > >>
> > >> On 11/12/2019 17:58, Laurent Pinchart wrote:
> > >>> On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
> > >>>> On 11/12/2019 01:55, Kuninori Morimoto wrote:
> > >>>>>
> > >>>>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > >>>>>
> > >>>>> The address of VSP2_VI6_HGT_LBx_H are
> > >>>>>   VSP2_VI6_HGT_LB0_H : 0x3428
> > >>>>>   VSP2_VI6_HGT_LB1_H : 0x3430
> > >>>>>   VSP2_VI6_HGT_LB2_H : 0x3438
> > >>>>>   VSP2_VI6_HGT_LB3_H : 0x3440
> > >>>>>
> > >>>>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> > >>>>> This patch fixup it.
> > >>
> > >> s/fixup/fixes/
> > >>
> > >>>> I think this deserves a fixes tag:
> > >>>>
> > >>>> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> > >>>
> > >>> Given that this macro is not used, we could argue that it doesn't fix
> > >>> anything yet :-) I'd rather avoid having this backported to stable
> > >>> kernels as it's not useful to have it there, and thus not add a Fixes
> > >>
> > >> I'm sorry - I'm not sure I can agree here, Do you know that no one will
> > >> use this macro when they back port the HGT functionality to an LTSI kernel?
> > >>
> > >> We know the Renesas BSP uses LTSI kernels, and the very nature of the
> > >> fact that this typo has been spotted by the Renesas BSP team suggests
> > >> that they are indeed looking at/using this functionality ...
> > >>
> > >> (Ok, so maybe they will thus apply the fix themselves, but that's not my
> > >> point, and if they 'have' to apply the fix - it should be in stable?)
> > >>
> > >> It feels a bit presumptuous to state that we shouldn't fix this because
> > >> /we/ don't utilise it yet, when this issue is in mainline regardless ...
> > >
> > > Nothing should be in the kernel tree that is not already used by
> > > something in that specific kernel tree.  We don't care about out-of-tree
> > > code, and especially for stable kernel patches, it does not matter in
> > > the least.
> >
> > So perhaps this patch should actually remove this macro rather than fix it?
> 
> IMHO removing all unused register and register bit definitions from drivers
> would not improve them. On the contrary.
> These also serve as a kind of documentation, as low-level documentation
> about the hardware is not always available publicly.
> 
> > > If you have out-of-tree code, you are on your own here, sorry.
> > >
> > > So no, no backporting of stuff that no one actually uses in the codebase
> > > itself.
> >
> > Ok understood, It was really the 'the macro exists in the kernel, but is
> > wrong' part that got me.
> 
> There is a difference between code that is not used, and register definitions.
> 
> > Along with the fact that we now have various automated machinery that
> > would likely pick this patch up and backport it anyway?
> >
> > (Sasha, is that assumption accurate? Or would you/your system have
> > identified that this macro is not used?)
> 
> IMHO the real danger lies in not backporting this, and forgetting to
> backport this fix when future code that does use this definition is
> backported.
> This may happen +5 years from now, and the feature may be backported to
> a 10-year old LTS(i) kernel, causing subtle issues in your 8 year old car...
> 
> Basically we can do 4 things:
>   1. Fix the buggy definition, and not backport the fix,
>       => may trigger the issue above.
>   2. idem, but backport the fix,
>   3. Remove the buggy definition, and not backport the removal,
>       => may trigger the issue above, if people miss-backport the re-addition.
>       => people may just revert the removal when they need the definition.
>   4. idem, but backport the removal.
>       => same as 3.
> 
> So I am in favor of fixing the buggy definition, with a Fixes tag, so
> stable will pick it up, and anyone else (if any not using LTS) can look
> for Fixes tags and know what fixes to backport.
> 
> Of course, all of this can be avoided by using the One Way Of Linux ;-)
> https://society.oftrolls.com/@geert/102984898449908163
> 
> Just my 2€c.

You 2¢ resulted in the Fixed: line being added to the patch in my tree
:-)
Sasha Levin Dec. 15, 2019, 3:45 p.m. UTC | #9
On Fri, Dec 13, 2019 at 11:55:14AM +0000, Kieran Bingham wrote:
>Hi Greg, Laurent, Sasha,
>
>On 12/12/2019 07:33, Greg Kroah-Hartman wrote:
>> On Wed, Dec 11, 2019 at 09:58:11PM +0000, Kieran Bingham wrote:
>>> Hi Laurent,
>>>
>>> +Greg, +Sasha to opine on the merit of whether this should go to stable
>>> trees (for my future learning and understanding more so than this
>>> specific case)
>>>
>>> On 11/12/2019 17:58, Laurent Pinchart wrote:
>>>> Hello,
>>>>
>>>> On Wed, Dec 11, 2019 at 12:59:57PM +0000, Kieran Bingham wrote:
>>>>> Hi Morimoto-san,
>>>>>
>>>>> Thank you for the patch,
>>>>
>>>> Likewise :-)
>>>>
>>>>> On 11/12/2019 01:55, Kuninori Morimoto wrote:
>>>>>>
>>>>>> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>>>>>>
>>>>>> The address of VSP2_VI6_HGT_LBx_H are
>>>>>> 	VSP2_VI6_HGT_LB0_H : 0x3428
>>>>>> 	VSP2_VI6_HGT_LB1_H : 0x3430
>>>>>> 	VSP2_VI6_HGT_LB2_H : 0x3438
>>>>>> 	VSP2_VI6_HGT_LB3_H : 0x3440
>>>>>>
>>>>>> Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
>>>>>> This patch fixup it.
>>>
>>> s/fixup/fixes/
>>>
>>>
>>>>> I think this deserves a fixes tag:
>>>>>
>>>>> Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
>>>>
>>>> Given that this macro is not used, we could argue that it doesn't fix
>>>> anything yet :-) I'd rather avoid having this backported to stable
>>>> kernels as it's not useful to have it there, and thus not add a Fixes
>>>
>>> I'm sorry - I'm not sure I can agree here, Do you know that no one will
>>> use this macro when they back port the HGT functionality to an LTSI kernel?
>>>
>>> We know the Renesas BSP uses LTSI kernels, and the very nature of the
>>> fact that this typo has been spotted by the Renesas BSP team suggests
>>> that they are indeed looking at/using this functionality ...
>>>
>>> (Ok, so maybe they will thus apply the fix themselves, but that's not my
>>> point, and if they 'have' to apply the fix - it should be in stable?)
>>>
>>> It feels a bit presumptuous to state that we shouldn't fix this because
>>> /we/ don't utilise it yet, when this issue is in mainline regardless ...
>>
>> Nothing should be in the kernel tree that is not already used by
>> something in that specific kernel tree.  We don't care about out-of-tree
>> code, and especially for stable kernel patches, it does not matter in
>> the least.
>
>So perhaps this patch should actually remove this macro rather than fix it?
>
>> If you have out-of-tree code, you are on your own here, sorry.
>>
>> So no, no backporting of stuff that no one actually uses in the codebase
>> itself.
>
>Ok understood, It was really the 'the macro exists in the kernel, but is
>wrong' part that got me.
>
>Along with the fact that we now have various automated machinery that
>would likely pick this patch up and backport it anyway?
>
>(Sasha, is that assumption accurate? Or would you/your system have
>identified that this macro is not used?)

No, it would have likely just backported it.

The right thing to do is to just remove the macro if no one is using it.
Kuninori Morimoto Feb. 12, 2020, 12:43 a.m. UTC | #10
Hi Laurent

> > > From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > 
> > > The address of VSP2_VI6_HGT_LBx_H are
> > > 	VSP2_VI6_HGT_LB0_H : 0x3428
> > > 	VSP2_VI6_HGT_LB1_H : 0x3430
> > > 	VSP2_VI6_HGT_LB2_H : 0x3438
> > > 	VSP2_VI6_HGT_LB3_H : 0x3440
> > > 
> > > Thus, VI6_HGT_LBn_H() macro should start from 0x3420 instead of 0x3430.
> > > This patch fixup it.
> > 
> > I think this deserves a fixes tag:
> > 
> > Fixes: 26e0ca22c3b8 ("[media] v4l: Renesas R-Car VSP1 driver")
> 
> Given that this macro is not used, we could argue that it doesn't fix
> anything yet :-) I'd rather avoid having this backported to stable
> kernels as it's not useful to have it there, and thus not add a Fixes
> tag. Kieran, would that be OK with you ?
> 
> > > Reported-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > 
> > Otherwise,
> > 
> > Yes I can clearly see that this offset is marked as H'3428 at page 32-39
> > within the Gen3 datasheet.
> > 
> > Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> and taken in my branch.

My understanding is that this patch is applied to your branch,
but, is it correct ?
I still can't find it at linus/master and/or linux-next/master

Thank you for your help !!
Best regards
---
Kuninori Morimoto
diff mbox series

Patch

diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
index 5c67ff9..fe3130d 100644
--- a/drivers/media/platform/vsp1/vsp1_regs.h
+++ b/drivers/media/platform/vsp1/vsp1_regs.h
@@ -706,7 +706,7 @@ 
 #define VI6_HGT_HUE_AREA_LOWER_SHIFT	16
 #define VI6_HGT_HUE_AREA_UPPER_SHIFT	0
 #define VI6_HGT_LB_TH			0x3424
-#define VI6_HGT_LBn_H(n)		(0x3438 + (n) * 8)
+#define VI6_HGT_LBn_H(n)		(0x3428 + (n) * 8)
 #define VI6_HGT_LBn_V(n)		(0x342c + (n) * 8)
 #define VI6_HGT_HISTO(m, n)		(0x3450 + (m) * 128 + (n) * 4)
 #define VI6_HGT_MAXMIN			0x3750