On Tue, Aug 13, 2019 at 10:35 AM 'Nathan Huckleberry' via Clang Built Linux <clang-built-linux@xxxxxxxxxxxxxxxx> wrote: > > Clang produces the following warning > > drivers/dma/mv_xor_v2.c:264:40: warning: shifting a negative signed value > is undefined [-Wshift-negative-value] > reg &= (~MV_XOR_V2_DMA_IMSG_THRD_MASK << > MV_XOR_V2_DMA_IMSG_THRD_SHIFT); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ > drivers/dma/mv_xor_v2.c:271:46: warning: shifting a negative signed value > is undefined [-Wshift-negative-value] > reg &= (~MV_XOR_V2_DMA_IMSG_TIMER_THRD_MASK << > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ > > Upon further investigation MV_XOR_V2_DMA_IMSG_THRD_SHIFT and > MV_XOR_V2_DMA_IMSG_TIMER_THRD_SHIFT are both 0. Since shifting by 0 does > nothing, these variables can be removed. > > Cc: clang-built-linux@xxxxxxxxxxxxxxxx > Link: https://github.com/ClangBuiltLinux/linux/issues/521 > Signed-off-by: Nathan Huckleberry <nhuck@xxxxxxxxxx> Thanks for sending a v2: Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > --- > drivers/dma/mv_xor_v2.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c > index fa5dab481203..e3850f04f676 100644 > --- a/drivers/dma/mv_xor_v2.c > +++ b/drivers/dma/mv_xor_v2.c > @@ -33,7 +33,6 @@ > #define MV_XOR_V2_DMA_IMSG_CDAT_OFF 0x014 > #define MV_XOR_V2_DMA_IMSG_THRD_OFF 0x018 > #define MV_XOR_V2_DMA_IMSG_THRD_MASK 0x7FFF > -#define MV_XOR_V2_DMA_IMSG_THRD_SHIFT 0x0 > #define MV_XOR_V2_DMA_IMSG_TIMER_EN BIT(18) > #define MV_XOR_V2_DMA_DESQ_AWATTR_OFF 0x01C > /* Same flags as MV_XOR_V2_DMA_DESQ_ARATTR_OFF */ > @@ -50,7 +49,6 @@ > #define MV_XOR_V2_DMA_DESQ_ADD_OFF 0x808 > #define MV_XOR_V2_DMA_IMSG_TMOT 0x810 > #define MV_XOR_V2_DMA_IMSG_TIMER_THRD_MASK 0x1FFF > -#define MV_XOR_V2_DMA_IMSG_TIMER_THRD_SHIFT 0 > > /* XOR Global registers */ > #define MV_XOR_V2_GLOB_BW_CTRL 0x4 > @@ -261,16 +259,15 @@ void mv_xor_v2_enable_imsg_thrd(struct mv_xor_v2_device *xor_dev) > > /* Configure threshold of number of descriptors, and enable timer */ > reg = readl(xor_dev->dma_base + MV_XOR_V2_DMA_IMSG_THRD_OFF); > - reg &= (~MV_XOR_V2_DMA_IMSG_THRD_MASK << MV_XOR_V2_DMA_IMSG_THRD_SHIFT); > - reg |= (MV_XOR_V2_DONE_IMSG_THRD << MV_XOR_V2_DMA_IMSG_THRD_SHIFT); > + reg &= ~MV_XOR_V2_DMA_IMSG_THRD_MASK; > + reg |= MV_XOR_V2_DONE_IMSG_THRD; > reg |= MV_XOR_V2_DMA_IMSG_TIMER_EN; > writel(reg, xor_dev->dma_base + MV_XOR_V2_DMA_IMSG_THRD_OFF); > > /* Configure Timer Threshold */ > reg = readl(xor_dev->dma_base + MV_XOR_V2_DMA_IMSG_TMOT); > - reg &= (~MV_XOR_V2_DMA_IMSG_TIMER_THRD_MASK << > - MV_XOR_V2_DMA_IMSG_TIMER_THRD_SHIFT); > - reg |= (MV_XOR_V2_TIMER_THRD << MV_XOR_V2_DMA_IMSG_TIMER_THRD_SHIFT); > + reg &= ~MV_XOR_V2_DMA_IMSG_TIMER_THRD_MASK; > + reg |= MV_XOR_V2_TIMER_THRD; > writel(reg, xor_dev->dma_base + MV_XOR_V2_DMA_IMSG_TMOT); > } > > -- > 2.23.0.rc1.153.gdeed80330f-goog > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20190813173448.109859-1-nhuck%40google.com. -- Thanks, ~Nick Desaulniers