Hi Laurent and Palmer, > -----Original Message----- > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Sent: Wednesday, May 22, 2024 7:44 AM > To: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > Cc: tomi.valkeinen@xxxxxxxxxxxxxxxx; > maarten.lankhorst@xxxxxxxxxxxxxxx; mripard@xxxxxxxxxx; > tzimmermann@xxxxxxx; airlied@xxxxxxxxx; daniel@xxxxxxxx; Simek, > Michal <michal.simek@xxxxxxx>; dri-devel@xxxxxxxxxxxxxxxxxxxxx; > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > kernel test robot <lkp@xxxxxxxxx>; Klymenko, Anatoliy > <Anatoliy.Klymenko@xxxxxxx> > Subject: Re: [PATCH] drm: xlnx: zynqmp_disp: Fix WARN_ON build > warning > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > Hi Palmer, > > (CC'ing Anatoliy) > > Thank you for the patch. > > On Tue, May 21, 2024 at 07:28:15AM -0700, Palmer Dabbelt wrote: > > From: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > > > > Without this I get warnings along the lines of > > > > drivers/gpu/drm/xlnx/zynqmp_disp.c:949:14: error: logical not is > only applied to the left hand side of this comparison [-Werror,-Wlogical- > not-parentheses] > > 949 | if (WARN_ON(!layer->mode == > ZYNQMP_DPSUB_LAYER_NONLIVE)) { > > | ^ ~~ > > arch/s390/include/asm/bug.h:54:25: note: expanded from macro > 'WARN_ON' > > 54 | int __ret_warn_on = !!(x); \ > > | ^ > > drivers/gpu/drm/xlnx/zynqmp_disp.c:949:14: note: add parentheses > after the '!' to evaluate the comparison first > > drivers/gpu/drm/xlnx/zynqmp_disp.c:949:14: note: add parentheses > around left hand side expression to silence this warning > > > > which get promoted to errors in my test builds. Adding the suggested > > parens elides those warnings. > > I think this should have > > Fixes: b0f0469ab662 ("drm: xlnx: zynqmp_dpsub: Anounce supported > input formats") > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Closes: https://lore.kernel.org/oe-kbuild-all/202405080553.tfH9EmS8- > lkp@xxxxxxxxx/ > > Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > > --- > > I couldn't find a patch for this in Linus' tree or on the lists, sorry > > if someone's already fixed it. No rush on my end, I'll just stash this > > in a local branch for the tester. > > --- > > drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c > b/drivers/gpu/drm/xlnx/zynqmp_disp.c > > index 13157da0089e..d37b4a9c99ea 100644 > > --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c > > +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c > > @@ -981,7 +981,7 @@ u32 *zynqmp_disp_layer_drm_formats(struct > zynqmp_disp_layer *layer, > > unsigned int i; > > u32 *formats; > > > > - if (WARN_ON(!layer->mode == ZYNQMP_DPSUB_LAYER_NONLIVE)) { > > + if (WARN_ON((!layer->mode) == ZYNQMP_DPSUB_LAYER_NONLIVE)) > { > > That doesn't seem right. layer->mode isn't a boolean, it's an enum. The > right fix seems to be > > if (WARN_ON(layer->mode != ZYNQMP_DPSUB_LAYER_NONLIVE)) { > Yes, this is how it should be. > Anatoliy, could you check this ? Palmer, do you plan to submit a new > version of the patch, or should I send the right fix separately ? > Actually, this has been fixed here: https://cgit.freedesktop.org/drm/drm-misc/commit/?id=c72211751870ffa2cff5d91834059456cfa7cbd5. Looks like the fix just missed the merge window. > > *num_formats = 0; > > return NULL; > > } > > -- > Regards, > > Laurent Pinchart -- Thank you, Anatoliy