CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Michael Tretter CC: Lucas Stach tree: https://git.pengutronix.de/git/lst/linux imx8m-power-domains-testing head: 806f331eb4f3b9043254048430c8e1eba469f0d3 commit: 0ce8e59076392e581e9b82892a973b17d55f136b [44/58] drm/exynos: move bridge driver to bridges :::::: branch date: 8 hours ago :::::: commit date: 24 hours ago compiler: csky-linux-gcc (GCC) 10.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> drivers/gpu/drm/bridge/samsung-dsim.c:866:6: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition] if (NEQV(xfer->flags & MIPI_DSI_MSG_USE_LPM, ^ vim +866 drivers/gpu/drm/bridge/samsung-dsim.c 0ce8e59076392e Michael Tretter 2020-09-11 815 0ce8e59076392e Michael Tretter 2020-09-11 816 static void samsung_dsim_send_to_fifo(struct samsung_dsim *dsi, 0ce8e59076392e Michael Tretter 2020-09-11 817 struct samsung_dsim_transfer *xfer) 0ce8e59076392e Michael Tretter 2020-09-11 818 { 0ce8e59076392e Michael Tretter 2020-09-11 819 struct device *dev = dsi->dev; 0ce8e59076392e Michael Tretter 2020-09-11 820 struct mipi_dsi_packet *pkt = &xfer->packet; 0ce8e59076392e Michael Tretter 2020-09-11 821 const u8 *payload = pkt->payload + xfer->tx_done; 0ce8e59076392e Michael Tretter 2020-09-11 822 u16 length = pkt->payload_length - xfer->tx_done; 0ce8e59076392e Michael Tretter 2020-09-11 823 bool first = !xfer->tx_done; 0ce8e59076392e Michael Tretter 2020-09-11 824 u32 reg; 0ce8e59076392e Michael Tretter 2020-09-11 825 0ce8e59076392e Michael Tretter 2020-09-11 826 dev_dbg(dev, "< xfer %pK: tx len %u, done %u, rx len %u, done %u\n", 0ce8e59076392e Michael Tretter 2020-09-11 827 xfer, length, xfer->tx_done, xfer->rx_len, xfer->rx_done); 0ce8e59076392e Michael Tretter 2020-09-11 828 0ce8e59076392e Michael Tretter 2020-09-11 829 if (length > DSI_TX_FIFO_SIZE) 0ce8e59076392e Michael Tretter 2020-09-11 830 length = DSI_TX_FIFO_SIZE; 0ce8e59076392e Michael Tretter 2020-09-11 831 0ce8e59076392e Michael Tretter 2020-09-11 832 xfer->tx_done += length; 0ce8e59076392e Michael Tretter 2020-09-11 833 0ce8e59076392e Michael Tretter 2020-09-11 834 /* Send payload */ 0ce8e59076392e Michael Tretter 2020-09-11 835 while (length >= 4) { 0ce8e59076392e Michael Tretter 2020-09-11 836 reg = get_unaligned_le32(payload); 0ce8e59076392e Michael Tretter 2020-09-11 837 samsung_dsim_write(dsi, DSIM_PAYLOAD_REG, reg); 0ce8e59076392e Michael Tretter 2020-09-11 838 payload += 4; 0ce8e59076392e Michael Tretter 2020-09-11 839 length -= 4; 0ce8e59076392e Michael Tretter 2020-09-11 840 } 0ce8e59076392e Michael Tretter 2020-09-11 841 0ce8e59076392e Michael Tretter 2020-09-11 842 reg = 0; 0ce8e59076392e Michael Tretter 2020-09-11 843 switch (length) { 0ce8e59076392e Michael Tretter 2020-09-11 844 case 3: 0ce8e59076392e Michael Tretter 2020-09-11 845 reg |= payload[2] << 16; 0ce8e59076392e Michael Tretter 2020-09-11 846 fallthrough; 0ce8e59076392e Michael Tretter 2020-09-11 847 case 2: 0ce8e59076392e Michael Tretter 2020-09-11 848 reg |= payload[1] << 8; 0ce8e59076392e Michael Tretter 2020-09-11 849 fallthrough; 0ce8e59076392e Michael Tretter 2020-09-11 850 case 1: 0ce8e59076392e Michael Tretter 2020-09-11 851 reg |= payload[0]; 0ce8e59076392e Michael Tretter 2020-09-11 852 samsung_dsim_write(dsi, DSIM_PAYLOAD_REG, reg); 0ce8e59076392e Michael Tretter 2020-09-11 853 break; 0ce8e59076392e Michael Tretter 2020-09-11 854 } 0ce8e59076392e Michael Tretter 2020-09-11 855 0ce8e59076392e Michael Tretter 2020-09-11 856 /* Send packet header */ 0ce8e59076392e Michael Tretter 2020-09-11 857 if (!first) 0ce8e59076392e Michael Tretter 2020-09-11 858 return; 0ce8e59076392e Michael Tretter 2020-09-11 859 0ce8e59076392e Michael Tretter 2020-09-11 860 reg = get_unaligned_le32(pkt->header); 0ce8e59076392e Michael Tretter 2020-09-11 861 if (samsung_dsim_wait_for_hdr_fifo(dsi)) { 0ce8e59076392e Michael Tretter 2020-09-11 862 dev_err(dev, "waiting for header FIFO timed out\n"); 0ce8e59076392e Michael Tretter 2020-09-11 863 return; 0ce8e59076392e Michael Tretter 2020-09-11 864 } 0ce8e59076392e Michael Tretter 2020-09-11 865 0ce8e59076392e Michael Tretter 2020-09-11 @866 if (NEQV(xfer->flags & MIPI_DSI_MSG_USE_LPM, 0ce8e59076392e Michael Tretter 2020-09-11 867 dsi->state & DSIM_STATE_CMD_LPM)) { 0ce8e59076392e Michael Tretter 2020-09-11 868 samsung_dsim_set_cmd_lpm(dsi, xfer->flags & MIPI_DSI_MSG_USE_LPM); 0ce8e59076392e Michael Tretter 2020-09-11 869 dsi->state ^= DSIM_STATE_CMD_LPM; 0ce8e59076392e Michael Tretter 2020-09-11 870 } 0ce8e59076392e Michael Tretter 2020-09-11 871 0ce8e59076392e Michael Tretter 2020-09-11 872 samsung_dsim_write(dsi, DSIM_PKTHDR_REG, reg); 0ce8e59076392e Michael Tretter 2020-09-11 873 0ce8e59076392e Michael Tretter 2020-09-11 874 if (xfer->flags & MIPI_DSI_MSG_REQ_ACK) 0ce8e59076392e Michael Tretter 2020-09-11 875 samsung_dsim_force_bta(dsi); 0ce8e59076392e Michael Tretter 2020-09-11 876 } 0ce8e59076392e Michael Tretter 2020-09-11 877 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org